From 0529b6b95b59ca26227b5c9d9583eb23e063fa78 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Fri, 13 Jan 2023 09:49:43 +0100
Subject: [PATCH] use ReSample::m_relayouts

---
 Resample/Processed/ReSample.h       |  2 ++
 Sim/Computation/DWBAComputation.cpp | 21 +--------------------
 Sim/Computation/DWBAComputation.h   |  2 --
 Sim/Contrib/DWBAContribution.cpp    |  4 +---
 4 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/Resample/Processed/ReSample.h b/Resample/Processed/ReSample.h
index aab3bbcde97..9a482ba90e3 100644
--- a/Resample/Processed/ReSample.h
+++ b/Resample/Processed/ReSample.h
@@ -58,6 +58,8 @@ public:
     Fluxes fluxesIn(const R3& k) const;
     Fluxes fluxesOut(const R3& k) const;
 
+    const OwningVector<const ParticleLayoutContribution>& relayouts() const { return m_relayouts; }
+
     //! Fourier transform of the correlation function of roughnesses between the interfaces
     double crossCorrSpectralFun(R3 kvec, size_t j, size_t k) const;
 
diff --git a/Sim/Computation/DWBAComputation.cpp b/Sim/Computation/DWBAComputation.cpp
index ad138bb85e6..508bb778a1d 100644
--- a/Sim/Computation/DWBAComputation.cpp
+++ b/Sim/Computation/DWBAComputation.cpp
@@ -23,23 +23,6 @@
 #include "Sim/Contrib/GISASSpecularContribution.h"
 #include "Sim/Contrib/RoughMultiLayerContribution.h"
 
-namespace {
-
-OwningVector<const ParticleLayoutContribution>
-makeLayoutComputation(const std::vector<ReLayout>& layouts, const SimulationOptions& options,
-                      bool polarized)
-{
-    OwningVector<const ParticleLayoutContribution> result;
-
-    for (const ReLayout& layout : layouts)
-        result.emplace_back(new ParticleLayoutContribution(layout, options, polarized));
-
-    return result;
-}
-
-} // namespace
-
-
 DWBAComputation::DWBAComputation(const ReSample& re_sample, const SimulationOptions& options,
                                  ProgressHandler& progress,
                                  std::vector<DiffuseElement>::iterator begin_it,
@@ -47,8 +30,6 @@ DWBAComputation::DWBAComputation(const ReSample& re_sample, const SimulationOpti
     : IComputation(re_sample, options, progress)
     , m_begin_it(begin_it)
     , m_end_it(end_it)
-    , m_layout_contribs(makeLayoutComputation(m_re_sample.layouts(), options,
-                                              m_re_sample.containsMagneticMaterial()))
 {
 }
 
@@ -70,7 +51,7 @@ void DWBAComputation::runProtected()
         const Fluxes fluxes_out = m_re_sample.fluxesOut(ele.meanKf());
         ele.setFluxes(&fluxes_in, &fluxes_out);
 
-        for (const auto& contrib : m_layout_contribs)
+        for (const auto& contrib : m_re_sample.relayouts())
             contrib->compute(ele);
 
         if (m_re_sample.hasRoughness())
diff --git a/Sim/Computation/DWBAComputation.h b/Sim/Computation/DWBAComputation.h
index b594bbee17d..aafa7c0a56a 100644
--- a/Sim/Computation/DWBAComputation.h
+++ b/Sim/Computation/DWBAComputation.h
@@ -23,7 +23,6 @@
 #include <vector>
 
 class DiffuseElement;
-class ParticleLayoutContribution;
 class ReSample;
 class SimulationOptions;
 
@@ -48,7 +47,6 @@ private:
     void runProtected() override;
 
     std::vector<DiffuseElement>::iterator m_begin_it, m_end_it;
-    const OwningVector<const ParticleLayoutContribution> m_layout_contribs;
 };
 
 #endif // BORNAGAIN_SIM_COMPUTATION_DWBACOMPUTATION_H
diff --git a/Sim/Contrib/DWBAContribution.cpp b/Sim/Contrib/DWBAContribution.cpp
index 31b45b841c4..c89fa8ad944 100644
--- a/Sim/Contrib/DWBAContribution.cpp
+++ b/Sim/Contrib/DWBAContribution.cpp
@@ -23,6 +23,4 @@
 #include "Sample/Multilayer/Layer.h"
 #include "Sample/Multilayer/MultiLayer.h"
 
-void compute::dwbaContribution(const ReSample& re_sample, DiffuseElement& ele)
-{
-}
+void compute::dwbaContribution(const ReSample& re_sample, DiffuseElement& ele) {}
-- 
GitLab