From 7dcbbe1d55d0a894026e6a295b0b3b98b863a8dd Mon Sep 17 00:00:00 2001
From: Walter Van Herck <w.van.herck@fz-juelich.de>
Date: Fri, 3 Feb 2017 16:10:46 +0100
Subject: [PATCH] Rename: ILayerSpecularInfo -> IFresnelMap

---
 Core/Aggregate/FormFactorCoherentPart.cpp     |  4 +-
 Core/Aggregate/FormFactorCoherentPart.h       |  6 +-
 Core/Aggregate/FormFactorCoherentSum.cpp      |  4 +-
 Core/Aggregate/FormFactorCoherentSum.h        |  4 +-
 Core/Computation/IComputationTerm.cpp         |  2 +-
 Core/Computation/IComputationTerm.h           |  6 +-
 Core/Computation/MainComputation.cpp          |  4 +-
 Core/Computation/MainComputation.h            |  6 +-
 .../Computation/ParticleLayoutComputation.cpp |  4 +-
 Core/Computation/ParticleLayoutComputation.h  |  2 +-
 .../RoughMultiLayerComputation.cpp            |  4 +-
 Core/Computation/RoughMultiLayerComputation.h |  2 +-
 Core/Computation/SpecularComputation.cpp      |  4 +-
 Core/Computation/SpecularComputation.h        |  2 +-
 ...ILayerSpecularInfo.cpp => IFresnelMap.cpp} | 10 +--
 .../{ILayerSpecularInfo.h => IFresnelMap.h}   | 18 ++---
 .../IInterferenceFunctionStrategy.cpp         |  2 +-
 .../IInterferenceFunctionStrategy.h           |  2 +-
 Core/Multilayer/LayerStrategyBuilder.cpp      |  4 +-
 Core/Multilayer/LayerStrategyBuilder.h        |  6 +-
 Core/Multilayer/MatrixSpecularInfoMap.h       |  4 +-
 Core/Multilayer/ScalarSpecularInfoMap.h       |  4 +-
 auto/Wrap/doxygen_core.i                      | 79 +++++++++----------
 23 files changed, 89 insertions(+), 94 deletions(-)
 rename Core/Multilayer/{ILayerSpecularInfo.cpp => IFresnelMap.cpp} (70%)
 rename Core/Multilayer/{ILayerSpecularInfo.h => IFresnelMap.h} (80%)

diff --git a/Core/Aggregate/FormFactorCoherentPart.cpp b/Core/Aggregate/FormFactorCoherentPart.cpp
index a717668f046..b2e1550b492 100644
--- a/Core/Aggregate/FormFactorCoherentPart.cpp
+++ b/Core/Aggregate/FormFactorCoherentPart.cpp
@@ -14,7 +14,7 @@
 // ************************************************************************** //
 
 #include "FormFactorCoherentPart.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "IFormFactor.h"
 #include "SimulationElement.h"
 #include "WavevectorInfo.h"
@@ -61,7 +61,7 @@ Eigen::Matrix2cd FormFactorCoherentPart::evaluatePol(const SimulationElement& si
     return mP_ff->evaluatePol(wavevectors);
 }
 
-void FormFactorCoherentPart::setSpecularInfo(const ILayerSpecularInfo* p_fresnel_map, size_t layer_index)
+void FormFactorCoherentPart::setSpecularInfo(const IFresnelMap* p_fresnel_map, size_t layer_index)
 {
     mp_fresnel_map = p_fresnel_map;
     m_layer_index = layer_index;
diff --git a/Core/Aggregate/FormFactorCoherentPart.h b/Core/Aggregate/FormFactorCoherentPart.h
index 9166434a7a5..bfff22b6fa2 100644
--- a/Core/Aggregate/FormFactorCoherentPart.h
+++ b/Core/Aggregate/FormFactorCoherentPart.h
@@ -21,7 +21,7 @@
 #include "WinDllMacros.h"
 #include <memory>
 
-class ILayerSpecularInfo;
+class IFresnelMap;
 class IFormFactor;
 class SimulationElement;
 
@@ -40,11 +40,11 @@ public:
     Eigen::Matrix2cd evaluatePol(const SimulationElement& sim_element) const;
 #endif
 
-    void setSpecularInfo(const ILayerSpecularInfo* p_fresnel_map, size_t layer_index);
+    void setSpecularInfo(const IFresnelMap* p_fresnel_map, size_t layer_index);
     double radialExtension() const;
 private:
     std::unique_ptr<IFormFactor> mP_ff;
-    const ILayerSpecularInfo* mp_fresnel_map;
+    const IFresnelMap* mp_fresnel_map;
     size_t m_layer_index;
 };
 
diff --git a/Core/Aggregate/FormFactorCoherentSum.cpp b/Core/Aggregate/FormFactorCoherentSum.cpp
index b004d49dc5e..d7da22ee4fe 100644
--- a/Core/Aggregate/FormFactorCoherentSum.cpp
+++ b/Core/Aggregate/FormFactorCoherentSum.cpp
@@ -17,7 +17,7 @@
 #include "IFormFactor.h"
 #include "SimulationElement.h"
 #include "WavevectorInfo.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "ILayerRTCoefficients.h"
 #include "Exceptions.h"
 
@@ -52,7 +52,7 @@ Eigen::Matrix2cd FormFactorCoherentSum::evaluatePol(const SimulationElement& sim
     return result;
 }
 
-void FormFactorCoherentSum::setSpecularInfo(const ILayerSpecularInfo* p_fresnel_map, size_t layer_index)
+void FormFactorCoherentSum::setSpecularInfo(const IFresnelMap* p_fresnel_map, size_t layer_index)
 {
     m_parts[0].setSpecularInfo(p_fresnel_map, layer_index);
 }
diff --git a/Core/Aggregate/FormFactorCoherentSum.h b/Core/Aggregate/FormFactorCoherentSum.h
index e1799691110..d34e44e315a 100644
--- a/Core/Aggregate/FormFactorCoherentSum.h
+++ b/Core/Aggregate/FormFactorCoherentSum.h
@@ -22,7 +22,7 @@
 #include "FormFactorCoherentPart.h"
 #include <vector>
 
-class ILayerSpecularInfo;
+class IFresnelMap;
 class IFormFactor;
 class SimulationElement;
 
@@ -41,7 +41,7 @@ public:
     Eigen::Matrix2cd evaluatePol(const SimulationElement& sim_element) const;
 #endif
 
-    void setSpecularInfo(const ILayerSpecularInfo* p_fresnel_map, size_t layer_index);
+    void setSpecularInfo(const IFresnelMap* p_fresnel_map, size_t layer_index);
 
     double relativeAbundance() const { return m_abundance; }
     void scaleRelativeAbundance(double total_abundance);
diff --git a/Core/Computation/IComputationTerm.cpp b/Core/Computation/IComputationTerm.cpp
index 8cc7196a709..079de3deb67 100644
--- a/Core/Computation/IComputationTerm.cpp
+++ b/Core/Computation/IComputationTerm.cpp
@@ -17,7 +17,7 @@
 
 
 IComputationTerm::IComputationTerm(const MultiLayer* p_multilayer,
-                                   const ILayerSpecularInfo* p_fresnel_map)
+                                   const IFresnelMap* p_fresnel_map)
     : mp_multilayer(p_multilayer)
     , mp_fresnel_map(p_fresnel_map)
 {}
diff --git a/Core/Computation/IComputationTerm.h b/Core/Computation/IComputationTerm.h
index 14b6d4b510e..e3ad3594a40 100644
--- a/Core/Computation/IComputationTerm.h
+++ b/Core/Computation/IComputationTerm.h
@@ -18,7 +18,7 @@
 
 #include <vector>
 
-class ILayerSpecularInfo;
+class IFresnelMap;
 class MultiLayer;
 class ProgressHandler;
 class SimulationElement;
@@ -32,7 +32,7 @@ class SimulationOptions;
 class IComputationTerm
 {
 public:
-    IComputationTerm(const MultiLayer* p_multilayer, const ILayerSpecularInfo* p_fresnel_map);
+    IComputationTerm(const MultiLayer* p_multilayer, const IFresnelMap* p_fresnel_map);
     virtual ~IComputationTerm();
 
     //! Calculate scattering intensity for each SimulationElement
@@ -45,7 +45,7 @@ public:
 
 protected:
     const MultiLayer* mp_multilayer;
-    const ILayerSpecularInfo* mp_fresnel_map;
+    const IFresnelMap* mp_fresnel_map;
 };
 
 #endif // ICOMPUTATIONTERM_H
diff --git a/Core/Computation/MainComputation.cpp b/Core/Computation/MainComputation.cpp
index ee14f38d6eb..71c635437f3 100644
--- a/Core/Computation/MainComputation.cpp
+++ b/Core/Computation/MainComputation.cpp
@@ -16,7 +16,7 @@
 #include "MainComputation.h"
 #include "ParticleLayoutComputation.h"
 #include "Layer.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "MatrixSpecularInfoMap.h"
 #include "MultiLayer.h"
 #include "RoughMultiLayerComputation.h"
@@ -97,7 +97,7 @@ void MainComputation::runProtected()
     }
 }
 
-ILayerSpecularInfo* MainComputation::createFresnelMap(const MultiLayer* p_multilayer,
+IFresnelMap* MainComputation::createFresnelMap(const MultiLayer* p_multilayer,
                                                       const MultiLayer* p_inverted_multilayer)
 {
         if (!p_multilayer->requiresMatrixRTCoefficients())
diff --git a/Core/Computation/MainComputation.h b/Core/Computation/MainComputation.h
index 8c055a286f3..f7959257c38 100644
--- a/Core/Computation/MainComputation.h
+++ b/Core/Computation/MainComputation.h
@@ -23,7 +23,7 @@
 #include <memory>
 #include <vector>
 
-class ILayerSpecularInfo;
+class IFresnelMap;
 class MultiLayer;
 class IComputationTerm;
 class ProgressHandler;
@@ -54,7 +54,7 @@ public:
 
 private:
     void runProtected();
-    static ILayerSpecularInfo* createFresnelMap(const MultiLayer* p_multilayer,
+    static IFresnelMap* createFresnelMap(const MultiLayer* p_multilayer,
                                                 const MultiLayer* p_inverted_multilayer);
 
     std::unique_ptr<MultiLayer> mP_multi_layer;
@@ -65,7 +65,7 @@ private:
     std::vector<SimulationElement>::iterator m_begin_it, m_end_it;
 
     //! contains the information, necessary to calculate the Fresnel coefficients
-    std::unique_ptr<ILayerSpecularInfo> mP_fresnel_map;
+    std::unique_ptr<IFresnelMap> mP_fresnel_map;
 
     std::vector<IComputationTerm*> m_computation_terms;
     ComputationStatus m_status;
diff --git a/Core/Computation/ParticleLayoutComputation.cpp b/Core/Computation/ParticleLayoutComputation.cpp
index aa39fee13dc..194e62c1baf 100644
--- a/Core/Computation/ParticleLayoutComputation.cpp
+++ b/Core/Computation/ParticleLayoutComputation.cpp
@@ -17,7 +17,7 @@
 #include "DelayedProgressCounter.h"
 #include "Exceptions.h"
 #include "IInterferenceFunctionStrategy.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "ILayout.h"
 #include "LayerStrategyBuilder.h"
 #include "MultiLayer.h"
@@ -25,7 +25,7 @@
 #include "SimulationElement.h"
 
 ParticleLayoutComputation::ParticleLayoutComputation(const MultiLayer* p_multilayer,
-                                                     const ILayerSpecularInfo* p_fresnel_map,
+                                                     const IFresnelMap* p_fresnel_map,
                                                      const ILayout* p_layout, size_t layer_index)
     : IComputationTerm(p_multilayer, p_fresnel_map)
     , mp_layout(p_layout)
diff --git a/Core/Computation/ParticleLayoutComputation.h b/Core/Computation/ParticleLayoutComputation.h
index 35f94b8d37a..9d545efc7a7 100644
--- a/Core/Computation/ParticleLayoutComputation.h
+++ b/Core/Computation/ParticleLayoutComputation.h
@@ -30,7 +30,7 @@ class ParticleLayoutComputation final : public IComputationTerm
 {
 public:
     ParticleLayoutComputation(
-        const MultiLayer* p_multilayer, const ILayerSpecularInfo* p_fresnel_map,
+        const MultiLayer* p_multilayer, const IFresnelMap* p_fresnel_map,
         const ILayout* p_layout, size_t layer_index);
 
     bool eval(const SimulationOptions& options,
diff --git a/Core/Computation/RoughMultiLayerComputation.cpp b/Core/Computation/RoughMultiLayerComputation.cpp
index 3820f3cd87d..b0e8c80b292 100644
--- a/Core/Computation/RoughMultiLayerComputation.cpp
+++ b/Core/Computation/RoughMultiLayerComputation.cpp
@@ -16,7 +16,7 @@
 #include "RoughMultiLayerComputation.h"
 #include "DelayedProgressCounter.h"
 #include "ILayerRTCoefficients.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "Faddeeva.hh"
 #include "Layer.h"
 #include "LayerInterface.h"
@@ -41,7 +41,7 @@ namespace {
 }
 
 RoughMultiLayerComputation::RoughMultiLayerComputation(const MultiLayer *p_multi_layer,
-                                                       const ILayerSpecularInfo* p_fresnel_map)
+                                                       const IFresnelMap* p_fresnel_map)
     : IComputationTerm(p_multi_layer, p_fresnel_map)
 {}
 
diff --git a/Core/Computation/RoughMultiLayerComputation.h b/Core/Computation/RoughMultiLayerComputation.h
index 7bc027302b4..45055761950 100644
--- a/Core/Computation/RoughMultiLayerComputation.h
+++ b/Core/Computation/RoughMultiLayerComputation.h
@@ -31,7 +31,7 @@ class RoughMultiLayerComputation final : public IComputationTerm
 {
 public:
     RoughMultiLayerComputation(const MultiLayer* p_multi_layer,
-                               const ILayerSpecularInfo* p_fresnel_map);
+                               const IFresnelMap* p_fresnel_map);
     ~RoughMultiLayerComputation();
 
     bool eval(const SimulationOptions& options,
diff --git a/Core/Computation/SpecularComputation.cpp b/Core/Computation/SpecularComputation.cpp
index 250372351bc..723a28ca734 100644
--- a/Core/Computation/SpecularComputation.cpp
+++ b/Core/Computation/SpecularComputation.cpp
@@ -15,12 +15,12 @@
 
 #include "SpecularComputation.h"
 #include "SimulationElement.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "ILayerRTCoefficients.h"
 #include "MultiLayer.h"
 
 SpecularComputation::SpecularComputation(const MultiLayer* p_multi_layer,
-                                         const ILayerSpecularInfo* p_fresnel_map)
+                                         const IFresnelMap* p_fresnel_map)
     : IComputationTerm(p_multi_layer, p_fresnel_map)
 {}
 
diff --git a/Core/Computation/SpecularComputation.h b/Core/Computation/SpecularComputation.h
index e74ac0cb219..bba8bdc8f2c 100644
--- a/Core/Computation/SpecularComputation.h
+++ b/Core/Computation/SpecularComputation.h
@@ -25,7 +25,7 @@
 class SpecularComputation final : public IComputationTerm
 {
 public:
-    SpecularComputation(const MultiLayer* p_multi_layer, const ILayerSpecularInfo* p_fresnel_map);
+    SpecularComputation(const MultiLayer* p_multi_layer, const IFresnelMap* p_fresnel_map);
 
     bool eval(const SimulationOptions& options,
               ProgressHandler* progress,
diff --git a/Core/Multilayer/ILayerSpecularInfo.cpp b/Core/Multilayer/IFresnelMap.cpp
similarity index 70%
rename from Core/Multilayer/ILayerSpecularInfo.cpp
rename to Core/Multilayer/IFresnelMap.cpp
index 0befcdb582e..8d38597ccab 100644
--- a/Core/Multilayer/ILayerSpecularInfo.cpp
+++ b/Core/Multilayer/IFresnelMap.cpp
@@ -2,8 +2,8 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Multilayer/ILayerSpecularInfo.cpp
-//! @brief     Implements class ILayerSpecularInfo.
+//! @file      Core/Multilayer/IFresnelMap.cpp
+//! @brief     Implements class IFresnelMap.
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -13,7 +13,7 @@
 //
 // ************************************************************************** //
 
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 
-ILayerSpecularInfo::ILayerSpecularInfo() {}
-ILayerSpecularInfo::~ILayerSpecularInfo() {}
+IFresnelMap::IFresnelMap() {}
+IFresnelMap::~IFresnelMap() {}
diff --git a/Core/Multilayer/ILayerSpecularInfo.h b/Core/Multilayer/IFresnelMap.h
similarity index 80%
rename from Core/Multilayer/ILayerSpecularInfo.h
rename to Core/Multilayer/IFresnelMap.h
index cb1f5be52a6..67171969996 100644
--- a/Core/Multilayer/ILayerSpecularInfo.h
+++ b/Core/Multilayer/IFresnelMap.h
@@ -2,8 +2,8 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Multilayer/ILayerSpecularInfo.h
-//! @brief     Defines class ILayerSpecularInfo.
+//! @file      Core/Multilayer/IFresnelMap.h
+//! @brief     Defines class IFresnelMap.
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#ifndef ILAYERSPECULARINFO_H
-#define ILAYERSPECULARINFO_H
+#ifndef IFRESNELMAP_H
+#define IFRESNELMAP_H
 
 #include "INoncopyable.h"
 #include <cstddef>
@@ -22,16 +22,16 @@
 class ILayerRTCoefficients;
 class SimulationElement;
 
-//! Holds the necessary information to calculate the radiation wavefunction in a specific layer
+//! Holds the necessary information to calculate the radiation wavefunction in every layer
 //! for different incoming (outgoing) angles of the beam in the top layer
 //! (these amplitudes correspond to the specular part of the wavefunction).
 //! @ingroup algorithms_internal
 
-class BA_CORE_API_ ILayerSpecularInfo : public INoncopyable
+class BA_CORE_API_ IFresnelMap : public INoncopyable
 {
 public:
-    ILayerSpecularInfo();
-    ~ILayerSpecularInfo();
+    IFresnelMap();
+    ~IFresnelMap();
 
     //! Retrieves the amplitude coefficients for a (time-reversed) outgoing wavevector.
     virtual const ILayerRTCoefficients* getOutCoefficients(
@@ -42,4 +42,4 @@ public:
             const SimulationElement& sim_element, size_t layer_index) const =0;
 };
 
-#endif // ILAYERSPECULARINFO_H
+#endif // IFRESNELMAP_H
diff --git a/Core/Multilayer/IInterferenceFunctionStrategy.cpp b/Core/Multilayer/IInterferenceFunctionStrategy.cpp
index 62365c21754..f814e588a36 100644
--- a/Core/Multilayer/IInterferenceFunctionStrategy.cpp
+++ b/Core/Multilayer/IInterferenceFunctionStrategy.cpp
@@ -20,7 +20,7 @@
 #include "IFormFactor.h"
 #include "IInterferenceFunction.h"
 #include "IntegratorMCMiser.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "MathConstants.h"
 #include "RealParameter.h"
 #include "ScalarRTCoefficients.h"
diff --git a/Core/Multilayer/IInterferenceFunctionStrategy.h b/Core/Multilayer/IInterferenceFunctionStrategy.h
index 02990ebd862..3ee1c7a8ee6 100644
--- a/Core/Multilayer/IInterferenceFunctionStrategy.h
+++ b/Core/Multilayer/IInterferenceFunctionStrategy.h
@@ -29,7 +29,7 @@ template <class T> class IntegratorMCMiser;
 class Bin1DCVector;
 class FormFactorCoherentSum;
 class IInterferenceFunction;
-class ILayerSpecularInfo;
+class IFresnelMap;
 class SimulationElement;
 
 //! Pure virtual base class of all interference function strategy classes.
diff --git a/Core/Multilayer/LayerStrategyBuilder.cpp b/Core/Multilayer/LayerStrategyBuilder.cpp
index 7b750b841b9..5065115fde2 100644
--- a/Core/Multilayer/LayerStrategyBuilder.cpp
+++ b/Core/Multilayer/LayerStrategyBuilder.cpp
@@ -23,13 +23,13 @@
 #include "InterferenceFunctionNone.h"
 #include "MultiLayer.h"
 #include "Layer.h"
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "DecouplingApproximationStrategy.h"
 #include "SSCApproximationStrategy.h"
 
 LayerStrategyBuilder::LayerStrategyBuilder(
     const MultiLayer* p_multilayer, const ILayout* p_layout,
-    const ILayerSpecularInfo* p_fresnel_map, bool polarized,
+    const IFresnelMap* p_fresnel_map, bool polarized,
     const SimulationOptions& sim_params, size_t layer_index)
     : mp_multilayer(p_multilayer)
     , mp_layout(p_layout)
diff --git a/Core/Multilayer/LayerStrategyBuilder.h b/Core/Multilayer/LayerStrategyBuilder.h
index 080015ac584..24f67278ee6 100644
--- a/Core/Multilayer/LayerStrategyBuilder.h
+++ b/Core/Multilayer/LayerStrategyBuilder.h
@@ -25,7 +25,7 @@ class IInterferenceFunctionStrategy;
 class ILayout;
 class IMaterial;
 class IParticle;
-class ILayerSpecularInfo;
+class IFresnelMap;
 class MultiLayer;
 
 //! Methods to generate a simulation strategy for a ParticleLayoutComputation.
@@ -36,7 +36,7 @@ class BA_CORE_API_ LayerStrategyBuilder
 public:
     LayerStrategyBuilder(
         const MultiLayer* p_multilayer, const ILayout* p_layout,
-        const ILayerSpecularInfo* p_fresnel_map, bool polarized,
+        const IFresnelMap* p_fresnel_map, bool polarized,
         const SimulationOptions& sim_params, size_t layer_index);
 
     ~LayerStrategyBuilder();
@@ -51,7 +51,7 @@ private:
     const MultiLayer* mp_multilayer;
     const ILayout* mp_layout;
     //! R and T coefficients for DWBA
-    const ILayerSpecularInfo* mp_fresnel_map;
+    const IFresnelMap* mp_fresnel_map;
     bool m_polarized;  //!< polarized computation required?
     SimulationOptions m_sim_params;
     size_t m_layer_index;
diff --git a/Core/Multilayer/MatrixSpecularInfoMap.h b/Core/Multilayer/MatrixSpecularInfoMap.h
index dfa2f17fe85..9234f7e2fae 100644
--- a/Core/Multilayer/MatrixSpecularInfoMap.h
+++ b/Core/Multilayer/MatrixSpecularInfoMap.h
@@ -16,7 +16,7 @@
 #ifndef MATRIXSPECULARINFOMAP_H
 #define MATRIXSPECULARINFOMAP_H
 
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include <cstddef>
 
 class ILayerRTCoefficients;
@@ -26,7 +26,7 @@ class SimulationElement;
 //! Implementation of ISpecularInfoMap for matrix valued reflection/transmission coefficients.
 //! @ingroup algorithms_internal
 
-class BA_CORE_API_ MatrixSpecularInfoMap : public ILayerSpecularInfo
+class BA_CORE_API_ MatrixSpecularInfoMap : public IFresnelMap
 {
 public:
     MatrixSpecularInfoMap(const MultiLayer* p_multilayer, const MultiLayer* p_inverted_multilayer);
diff --git a/Core/Multilayer/ScalarSpecularInfoMap.h b/Core/Multilayer/ScalarSpecularInfoMap.h
index ff034ad7ad3..28f8eb42e72 100644
--- a/Core/Multilayer/ScalarSpecularInfoMap.h
+++ b/Core/Multilayer/ScalarSpecularInfoMap.h
@@ -16,7 +16,7 @@
 #ifndef SCALARSPECULARINFOMAP_H
 #define SCALARSPECULARINFOMAP_H
 
-#include "ILayerSpecularInfo.h"
+#include "IFresnelMap.h"
 #include "Vectors3D.h"
 
 class MultiLayer;
@@ -27,7 +27,7 @@ class SimulationElement;
 //! Implementation of ISpecularInfoMap for scalar valued reflection/transmission coefficients.
 //! @ingroup algorithms_internal
 
-class BA_CORE_API_ ScalarSpecularInfoMap : public ILayerSpecularInfo
+class BA_CORE_API_ ScalarSpecularInfoMap : public IFresnelMap
 {
 public:
     ScalarSpecularInfoMap(const MultiLayer* multilayer);
diff --git a/auto/Wrap/doxygen_core.i b/auto/Wrap/doxygen_core.i
index 53e0a11916f..3e5daba6547 100644
--- a/auto/Wrap/doxygen_core.i
+++ b/auto/Wrap/doxygen_core.i
@@ -2615,7 +2615,7 @@ C++ includes: FormFactorCoherentPart.h
 %feature("docstring")  FormFactorCoherentPart::evaluatePol "Eigen::Matrix2cd FormFactorCoherentPart::evaluatePol(const SimulationElement &sim_element) const 
 ";
 
-%feature("docstring")  FormFactorCoherentPart::setSpecularInfo "void FormFactorCoherentPart::setSpecularInfo(const ILayerSpecularInfo *p_fresnel_map, size_t layer_index)
+%feature("docstring")  FormFactorCoherentPart::setSpecularInfo "void FormFactorCoherentPart::setSpecularInfo(const IFresnelMap *p_fresnel_map, size_t layer_index)
 ";
 
 %feature("docstring")  FormFactorCoherentPart::radialExtension "double FormFactorCoherentPart::radialExtension() const 
@@ -2645,7 +2645,7 @@ C++ includes: FormFactorCoherentSum.h
 %feature("docstring")  FormFactorCoherentSum::evaluatePol "Eigen::Matrix2cd FormFactorCoherentSum::evaluatePol(const SimulationElement &sim_element) const 
 ";
 
-%feature("docstring")  FormFactorCoherentSum::setSpecularInfo "void FormFactorCoherentSum::setSpecularInfo(const ILayerSpecularInfo *p_fresnel_map, size_t layer_index)
+%feature("docstring")  FormFactorCoherentSum::setSpecularInfo "void FormFactorCoherentSum::setSpecularInfo(const IFresnelMap *p_fresnel_map, size_t layer_index)
 ";
 
 %feature("docstring")  FormFactorCoherentSum::relativeAbundance "double FormFactorCoherentSum::relativeAbundance() const 
@@ -5759,17 +5759,12 @@ Computes an independent term of the scattering intensity. Controlled by  MainCom
 C++ includes: IComputationTerm.h
 ";
 
-%feature("docstring")  IComputationTerm::IComputationTerm "IComputationTerm::IComputationTerm(const MultiLayer *p_multilayer)
+%feature("docstring")  IComputationTerm::IComputationTerm "IComputationTerm::IComputationTerm(const MultiLayer *p_multilayer, const IFresnelMap *p_fresnel_map)
 ";
 
 %feature("docstring")  IComputationTerm::~IComputationTerm "IComputationTerm::~IComputationTerm()
 ";
 
-%feature("docstring")  IComputationTerm::setSpecularInfo "void IComputationTerm::setSpecularInfo(const ILayerSpecularInfo *p_full_map)
-
-Sets magnetic reflection/transmission info for all layers. 
-";
-
 %feature("docstring")  IComputationTerm::eval "virtual bool IComputationTerm::eval(const SimulationOptions &options, ProgressHandler *progress, bool polarized, const std::vector< SimulationElement >::iterator &begin_it, const std::vector< SimulationElement >::iterator &end_it) const =0
 
 Calculate scattering intensity for each  SimulationElement returns false if nothing needed to be calculated 
@@ -6266,6 +6261,31 @@ Returns the (approximate in some cases) radial size of the particle of this form
 ";
 
 
+// File: classIFresnelMap.xml
+%feature("docstring") IFresnelMap "
+
+Holds the necessary information to calculate the radiation wavefunction in a specific layer for different incoming (outgoing) angles of the beam in the top layer (these amplitudes correspond to the specular part of the wavefunction).
+
+C++ includes: IFresnelMap.h
+";
+
+%feature("docstring")  IFresnelMap::IFresnelMap "IFresnelMap::IFresnelMap()
+";
+
+%feature("docstring")  IFresnelMap::~IFresnelMap "IFresnelMap::~IFresnelMap()
+";
+
+%feature("docstring")  IFresnelMap::getOutCoefficients "virtual const ILayerRTCoefficients* IFresnelMap::getOutCoefficients(const SimulationElement &sim_element, size_t layer_index) const =0
+
+Retrieves the amplitude coefficients for a (time-reversed) outgoing wavevector. 
+";
+
+%feature("docstring")  IFresnelMap::getInCoefficients "virtual const ILayerRTCoefficients* IFresnelMap::getInCoefficients(const SimulationElement &sim_element, size_t layer_index) const =0
+
+Retrieves the amplitude coefficients for an incoming wavevector. 
+";
+
+
 // File: classIFTDecayFunction1D.xml
 %feature("docstring") IFTDecayFunction1D "
 
@@ -6872,31 +6892,6 @@ Scalar value getters; these throw errors by default as they should only be used
 ";
 
 
-// File: classILayerSpecularInfo.xml
-%feature("docstring") ILayerSpecularInfo "
-
-Holds the necessary information to calculate the radiation wavefunction in a specific layer for different incoming (outgoing) angles of the beam in the top layer (these amplitudes correspond to the specular part of the wavefunction).
-
-C++ includes: ILayerSpecularInfo.h
-";
-
-%feature("docstring")  ILayerSpecularInfo::ILayerSpecularInfo "ILayerSpecularInfo::ILayerSpecularInfo()
-";
-
-%feature("docstring")  ILayerSpecularInfo::~ILayerSpecularInfo "ILayerSpecularInfo::~ILayerSpecularInfo()
-";
-
-%feature("docstring")  ILayerSpecularInfo::getOutCoefficients "virtual const ILayerRTCoefficients* ILayerSpecularInfo::getOutCoefficients(const SimulationElement &sim_element, size_t layer_index) const =0
-
-Retrieves the amplitude coefficients for a (time-reversed) outgoing wavevector. 
-";
-
-%feature("docstring")  ILayerSpecularInfo::getInCoefficients "virtual const ILayerRTCoefficients* ILayerSpecularInfo::getInCoefficients(const SimulationElement &sim_element, size_t layer_index) const =0
-
-Retrieves the amplitude coefficients for an incoming wavevector. 
-";
-
-
 // File: classILayout.xml
 %feature("docstring") ILayout "
 
@@ -9162,7 +9157,7 @@ Methods to generate a simulation strategy for a  ParticleLayoutComputation.
 C++ includes: LayerStrategyBuilder.h
 ";
 
-%feature("docstring")  LayerStrategyBuilder::LayerStrategyBuilder "LayerStrategyBuilder::LayerStrategyBuilder(const MultiLayer *p_multilayer, const ILayout *p_layout, const ILayerSpecularInfo *p_fresnel_map, bool polarized, const SimulationOptions &sim_params, size_t layer_index)
+%feature("docstring")  LayerStrategyBuilder::LayerStrategyBuilder "LayerStrategyBuilder::LayerStrategyBuilder(const MultiLayer *p_multilayer, const ILayout *p_layout, const IFresnelMap *p_fresnel_map, bool polarized, const SimulationOptions &sim_params, size_t layer_index)
 ";
 
 %feature("docstring")  LayerStrategyBuilder::~LayerStrategyBuilder "LayerStrategyBuilder::~LayerStrategyBuilder()
@@ -10846,7 +10841,7 @@ Computes the scattering contribution from one particle layout. Controlled by  Ma
 C++ includes: ParticleLayoutComputation.h
 ";
 
-%feature("docstring")  ParticleLayoutComputation::ParticleLayoutComputation "ParticleLayoutComputation::ParticleLayoutComputation(const MultiLayer *p_multilayer, const ILayout *p_layout, size_t layer_index)
+%feature("docstring")  ParticleLayoutComputation::ParticleLayoutComputation "ParticleLayoutComputation::ParticleLayoutComputation(const MultiLayer *p_multilayer, const IFresnelMap *p_fresnel_map, const ILayout *p_layout, size_t layer_index)
 ";
 
 %feature("docstring")  ParticleLayoutComputation::eval "bool ParticleLayoutComputation::eval(const SimulationOptions &options, ProgressHandler *progress, bool polarized, const std::vector< SimulationElement >::iterator &begin_it, const std::vector< SimulationElement >::iterator &end_it) const override
@@ -11586,7 +11581,7 @@ Computes the diffuse reflection from the rough interfaces of a multilayer. Contr
 C++ includes: RoughMultiLayerComputation.h
 ";
 
-%feature("docstring")  RoughMultiLayerComputation::RoughMultiLayerComputation "RoughMultiLayerComputation::RoughMultiLayerComputation(const MultiLayer *p_multi_layer)
+%feature("docstring")  RoughMultiLayerComputation::RoughMultiLayerComputation "RoughMultiLayerComputation::RoughMultiLayerComputation(const MultiLayer *p_multi_layer, const IFresnelMap *p_fresnel_map)
 ";
 
 %feature("docstring")  RoughMultiLayerComputation::~RoughMultiLayerComputation "RoughMultiLayerComputation::~RoughMultiLayerComputation()
@@ -12437,7 +12432,7 @@ Computes the specular scattering. Controlled by  MainComputation.
 C++ includes: SpecularComputation.h
 ";
 
-%feature("docstring")  SpecularComputation::SpecularComputation "SpecularComputation::SpecularComputation(const MultiLayer *p_multi_layer)
+%feature("docstring")  SpecularComputation::SpecularComputation "SpecularComputation::SpecularComputation(const MultiLayer *p_multi_layer, const IFresnelMap *p_fresnel_map)
 ";
 
 %feature("docstring")  SpecularComputation::eval "bool SpecularComputation::eval(const SimulationOptions &options, ProgressHandler *progress, bool polarized, const std::vector< SimulationElement >::iterator &begin_it, const std::vector< SimulationElement >::iterator &end_it) const override
@@ -14607,19 +14602,19 @@ make Swappable
 // File: FormFactorDWBAPol_8h.xml
 
 
-// File: IInterferenceFunctionStrategy_8cpp.xml
+// File: IFresnelMap_8cpp.xml
 
 
-// File: IInterferenceFunctionStrategy_8h.xml
+// File: IFresnelMap_8h.xml
 
 
-// File: ILayerRTCoefficients_8h.xml
+// File: IInterferenceFunctionStrategy_8cpp.xml
 
 
-// File: ILayerSpecularInfo_8cpp.xml
+// File: IInterferenceFunctionStrategy_8h.xml
 
 
-// File: ILayerSpecularInfo_8h.xml
+// File: ILayerRTCoefficients_8h.xml
 
 
 // File: IMultiLayerBuilder_8cpp.xml
-- 
GitLab