From 09bd2b3fbab7a34a81a34ce2b008300af134903a Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Fri, 13 Jan 2023 11:46:07 +0100
Subject: [PATCH] rm class and source pair ParticleLayoutContribution

---
 .../Interparticle/IInterparticleStrategy.h    |  6 +--
 .../Processed/ParticleLayoutContribution.cpp  | 48 -------------------
 .../Processed/ParticleLayoutContribution.h    | 42 ----------------
 Resample/Processed/ReSample.h                 |  1 -
 Sim/Computation/DWBAComputation.cpp           |  1 -
 Sim/Contrib/DWBAContribution.cpp              |  9 ----
 6 files changed, 1 insertion(+), 106 deletions(-)
 delete mode 100644 Resample/Processed/ParticleLayoutContribution.cpp
 delete mode 100644 Resample/Processed/ParticleLayoutContribution.h

diff --git a/Resample/Interparticle/IInterparticleStrategy.h b/Resample/Interparticle/IInterparticleStrategy.h
index bf3f69f7382..6fb7a986bce 100644
--- a/Resample/Interparticle/IInterparticleStrategy.h
+++ b/Resample/Interparticle/IInterparticleStrategy.h
@@ -31,11 +31,7 @@ class IInterference;
 class DiffuseElement;
 
 //! Abstract base class of DecouplingApproximationStrategy, SSCAStrategy.
-//! Provides function 'evaluate' that computes the total scattering intensity
-//! from a decorated layer.
-//!
-//! Instantiation of child classes takes place in LayoutStrategyBuilder::createStrategy,
-//! which is called from ParticleLayoutContribution::eval.
+//! Provides function 'evaluate' that computes the scattering from a decorated layer.
 
 class IInterparticleStrategy {
 public:
diff --git a/Resample/Processed/ParticleLayoutContribution.cpp b/Resample/Processed/ParticleLayoutContribution.cpp
deleted file mode 100644
index 2946959a12a..00000000000
--- a/Resample/Processed/ParticleLayoutContribution.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//  ************************************************************************************************
-//
-//  BornAgain: simulate and fit reflection and scattering
-//
-//! @file      Resample/Processed/ParticleLayoutContribution.cpp
-//! @brief     Implements class ParticleLayoutContribution.
-//!
-//! @homepage  http://www.bornagainproject.org
-//! @license   GNU General Public License v3 or higher (see COPYING)
-//! @copyright Forschungszentrum Jülich GmbH 2018
-//! @authors   Scientific Computing Group at MLZ (see CITATION, AUTHORS)
-//
-//  ************************************************************************************************
-
-#include "Resample/Processed/ParticleLayoutContribution.h"
-#include "Resample/Element/DiffuseElement.h"
-#include "Resample/Interparticle/DecouplingApproximationStrategy.h"
-#include "Resample/Interparticle/SSCAStrategy.h"
-#include "Resample/Processed/ReLayout.h"
-#include "Sample/Aggregate/InterferenceRadialParacrystal.h"
-
-namespace {
-
-std::unique_ptr<IInterparticleStrategy>
-processedInterference(const OwningVector<const CoheringSubparticles>& particles,
-                      const IInterference* iff, const SimulationOptions& options, bool polarized)
-{
-    if (const auto* radial_para = dynamic_cast<const InterferenceRadialParacrystal*>(iff))
-        if (double kappa = radial_para->kappa(); kappa > 0.0)
-            return std::make_unique<SSCAStrategy>(particles, radial_para, options, polarized,
-                                                  kappa);
-
-    return std::make_unique<DecouplingApproximationStrategy>(particles, iff, options, polarized);
-}
-
-} // namespace
-
-
-ParticleLayoutContribution::ParticleLayoutContribution(const ReLayout& layout,
-                                                       const SimulationOptions& options,
-                                                       bool polarized)
-    : m_layout(layout)
-    , m_interparticle_strategy(processedInterference(
-          layout.subparticles(), layout.interferenceFunction(), options, polarized))
-{
-}
-
-ParticleLayoutContribution::~ParticleLayoutContribution() = default;
diff --git a/Resample/Processed/ParticleLayoutContribution.h b/Resample/Processed/ParticleLayoutContribution.h
deleted file mode 100644
index 469ebba3ec3..00000000000
--- a/Resample/Processed/ParticleLayoutContribution.h
+++ /dev/null
@@ -1,42 +0,0 @@
-//  ************************************************************************************************
-//
-//  BornAgain: simulate and fit reflection and scattering
-//
-//! @file      Resample/Processed/ParticleLayoutContribution.h
-//! @brief     Defines class ParticleLayoutContribution.
-//!
-//! @homepage  http://www.bornagainproject.org
-//! @license   GNU General Public License v3 or higher (see COPYING)
-//! @copyright Forschungszentrum Jülich GmbH 2018
-//! @authors   Scientific Computing Group at MLZ (see CITATION, AUTHORS)
-//
-//  ************************************************************************************************
-
-#ifdef SWIG
-#error no need to expose this header to Swig
-#endif // SWIG
-#ifndef BORNAGAIN_RESAMPLE_PROCESSED_PARTICLELAYOUTCONTRIBUTION_H
-#define BORNAGAIN_RESAMPLE_PROCESSED_PARTICLELAYOUTCONTRIBUTION_H
-
-#include <memory>
-
-class IInterparticleStrategy;
-class ReLayout;
-class DiffuseElement;
-class SimulationOptions;
-
-//! Computes the scattering contribution from one particle layout.
-//! Instances are created and used by DWBAComputation.
-
-class ParticleLayoutContribution final {
-public:
-    ParticleLayoutContribution(const ReLayout& re_layout, const SimulationOptions& options,
-                               bool polarized);
-    ~ParticleLayoutContribution();
-
-    // private:
-    const ReLayout& m_layout;
-    const std::unique_ptr<const IInterparticleStrategy> m_interparticle_strategy;
-};
-
-#endif // BORNAGAIN_RESAMPLE_PROCESSED_PARTICLELAYOUTCONTRIBUTION_H
diff --git a/Resample/Processed/ReSample.h b/Resample/Processed/ReSample.h
index 4212e2fd013..d3c5755e12f 100644
--- a/Resample/Processed/ReSample.h
+++ b/Resample/Processed/ReSample.h
@@ -25,7 +25,6 @@
 class Fluxes;
 class Material;
 class MultiLayer;
-class ParticleLayoutContribution;
 class ReLayout;
 class SimulationOptions;
 
diff --git a/Sim/Computation/DWBAComputation.cpp b/Sim/Computation/DWBAComputation.cpp
index 218fede06fc..a04acc56263 100644
--- a/Sim/Computation/DWBAComputation.cpp
+++ b/Sim/Computation/DWBAComputation.cpp
@@ -17,7 +17,6 @@
 #include "Resample/Element/DiffuseElement.h"
 #include "Resample/Flux/IFlux.h"
 #include "Resample/Options/SimulationOptions.h"
-#include "Resample/Processed/ParticleLayoutContribution.h"
 #include "Resample/Processed/ReLayout.h"
 #include "Resample/Processed/ReSample.h"
 #include "Sim/Contrib/DWBAContribution.h"
diff --git a/Sim/Contrib/DWBAContribution.cpp b/Sim/Contrib/DWBAContribution.cpp
index 6b7ad2a0cca..692e0627124 100644
--- a/Sim/Contrib/DWBAContribution.cpp
+++ b/Sim/Contrib/DWBAContribution.cpp
@@ -13,18 +13,9 @@
 //  ************************************************************************************************
 
 #include "Sim/Contrib/DWBAContribution.h"
-#include "Base/Math/Constants.h"
-#include "Base/Util/Assert.h"
 #include "Resample/Element/DiffuseElement.h"
-#include "Resample/Flux/ScalarFlux.h"
 #include "Resample/Interparticle/IInterparticleStrategy.h"
-#include "Resample/Processed/ParticleLayoutContribution.h"
 #include "Resample/Processed/ReLayout.h"
-#include "Resample/Processed/ReSample.h"
-#include "Sample/Interface/LayerInterface.h"
-#include "Sample/Interface/LayerRoughness.h"
-#include "Sample/Multilayer/Layer.h"
-#include "Sample/Multilayer/MultiLayer.h"
 
 void compute::dwbaContribution(const ReLayout& relayout, DiffuseElement& ele)
 {
-- 
GitLab