From 634d6890b1f9ad8276f1be203fb11e84d3dae068 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Thu, 14 Jul 2016 14:15:54 +0200
Subject: [PATCH] sorted all of Core, some manual editing

---
 Core/Algorithms/DetectorMask.h                |   2 +-
 Core/FormFactors/FormFactorRipple1.cpp        |   6 +-
 Core/FormFactors/FormFactorRipple1.h          |   6 +-
 Core/Geometry/Ellipse.cpp                     |   2 +-
 Core/Geometry/Rectangle.cpp                   |   2 +-
 Core/Geometry/Transform3D.h                   |   2 +-
 Core/InputOutput/IntensityDataIOFactory.cpp   |   4 +-
 Core/InputOutput/OutputDataIOHelper.cpp       |   4 +-
 Core/InputOutput/OutputDataReadFactory.cpp    |   4 +-
 Core/InputOutput/OutputDataReader.cpp         |   2 +-
 Core/InputOutput/OutputDataWriteFactory.cpp   |   2 +-
 Core/InputOutput/OutputDataWriteStrategy.cpp  |   4 +-
 Core/InputOutput/OutputDataWriter.cpp         |   4 +-
 Core/InputOutput/TiffHandler.cpp              |   2 +-
 Core/InputOutput/TiffHandler.h                |   2 +-
 Core/Samples/Crystal.h                        |   2 +-
 Core/Samples/IClusteredParticles.h            |   2 +-
 Core/Samples/IInterferenceFunction.h          |   2 +-
 Core/Samples/IMaterial.h                      |   2 +-
 Core/Samples/IParticle.cpp                    |   2 +-
 Core/Samples/ISampleIteratorStrategy.cpp      |   2 +-
 Core/Samples/ISampleVisitor.cpp               |   2 +-
 .../Samples/InterferenceFunction1DLattice.cpp |   2 +-
 Core/Samples/InterferenceFunction1DLattice.h  |   2 +-
 Core/Samples/InterferenceFunction2DLattice.h  |   2 +-
 .../InterferenceFunction2DParaCrystal.cpp     |   2 +-
 .../InterferenceFunction2DParaCrystal.h       |   4 +-
 Core/Samples/InterferenceFunctionNone.cpp     |   2 +-
 .../InterferenceFunctionRadialParaCrystal.cpp |   2 +-
 .../InterferenceFunctionRadialParaCrystal.h   |   4 +-
 Core/Samples/InterferenceFunctions.h          |   4 +-
 Core/Samples/Lattice.h                        |   4 +-
 Core/Samples/Layer.h                          |   2 +-
 Core/Samples/LayerInterface.cpp               |   2 +-
 Core/Samples/LayerRoughness.cpp               |   2 +-
 Core/Samples/LayerRoughness.h                 |   2 +-
 Core/Samples/MesoCrystal.cpp                  |   2 +-
 Core/Samples/MultiLayer.cpp                   |   2 +-
 Core/Samples/Particle.cpp                     |   4 +-
 Core/Samples/Particle.h                       |   2 +-
 Core/Samples/ParticleCoreShell.cpp            |   2 +-
 Core/Samples/ParticleDistribution.cpp         |   2 +-
 Core/Samples/ParticleLayout.cpp               |   4 +-
 Core/Samples/Rotations.cpp                    |   2 +-
 Core/Samples/Samples.h                        |   2 +-
 .../StandardSamples/BoxCompositionBuilder.cpp |   6 +-
 .../CoreShellParticleBuilder.cpp              |   4 +-
 .../CustomMorphologyBuilder.cpp               |   4 +-
 .../CylindersAndPrismsBuilder.cpp             |   4 +-
 Core/StandardSamples/CylindersBuilder.cpp     |   4 +-
 Core/StandardSamples/LatticeBuilder.cpp       |   2 +-
 .../MagneticParticlesBuilder.cpp              |   4 +-
 Core/StandardSamples/MesoCrystalBuilder.cpp   |   6 +-
 .../MultiLayerWithRoughnessBuilder.cpp        |   2 +-
 .../StandardSamples/MultipleLayoutBuilder.cpp |   4 +-
 Core/StandardSamples/ParaCrystalBuilder.cpp   |   6 +-
 .../ParticleCompositionBuilder.cpp            |   4 +-
 .../ParticleDistributionsBuilder.cpp          |   6 +-
 .../ParticleInTheAirBuilder.cpp               |   2 +-
 Core/StandardSamples/RipplesBuilder.cpp       |   4 +-
 .../RotatedPyramidsBuilder.cpp                |   2 +-
 Core/StandardSamples/SampleBuilderFactory.cpp |  20 ++--
 Core/StandardSamples/SimulationFactory.h      |   2 +-
 .../SizeDistributionModelsBuilder.cpp         |   8 +-
 Core/StandardSamples/StandardSimulations.cpp  |  14 +--
 .../TransformationsBuilder.cpp                |   2 +-
 Core/StandardSamples/TwoDimLatticeBuilder.cpp |   6 +-
 Core/TestMachinery/CoreTest.cpp               |   6 +-
 Core/TestMachinery/CoreTest.h                 |   2 +-
 Core/TestMachinery/FunctionalTestRegistry.cpp |   2 +-
 Core/TestMachinery/FunctionalTestSuite.cpp    |   4 +-
 Core/TestMachinery/IFunctionalTest.cpp        |   2 +-
 Core/TestMachinery/PySuiteTest.cpp            |   8 +-
 Core/TestMachinery/SubtestRegistry.h          |   2 +-
 Core/Tools/FastVector.h                       |   2 +-
 Core/Tools/Histogram1D.cpp                    |   4 +-
 Core/Tools/Histogram2D.cpp                    |   2 +-
 Core/Tools/IFactory.h                         |   2 +-
 Core/Tools/IParameterized.cpp                 |   2 +-
 Core/Tools/LLData.h                           |   2 +-
 Core/Tools/MathFunctions.h                    |   2 +-
 Core/Tools/MessageService.h                   |   2 +-
 Core/Tools/Numeric.h                          |   2 +-
 Core/Tools/OutputDataFunctions.h              |   2 +-
 Core/Tools/ParameterDistribution.h            |   2 +-
 Core/Tools/ParameterPool.cpp                  |   2 +-
 Core/Tools/PyGenTools.cpp                     |  10 +-
 Core/Tools/PyGenTools.h                       |   3 +-
 Core/Tools/PyGenVisitor.h                     | 108 +++++++++---------
 Core/Tools/SampleLabelHandler.cpp             |   4 +-
 90 files changed, 203 insertions(+), 210 deletions(-)

diff --git a/Core/Algorithms/DetectorMask.h b/Core/Algorithms/DetectorMask.h
index c155647f292..b29ea30aa44 100644
--- a/Core/Algorithms/DetectorMask.h
+++ b/Core/Algorithms/DetectorMask.h
@@ -16,8 +16,8 @@
 #ifndef DETECTORMASK_H
 #define DETECTORMASK_H
 
-#include "OutputData.h"
 #include "IShape2D.h"
+#include "OutputData.h"
 
 
 class IDetector2D;
diff --git a/Core/FormFactors/FormFactorRipple1.cpp b/Core/FormFactors/FormFactorRipple1.cpp
index 06e6a36867b..b445fa77c9f 100644
--- a/Core/FormFactors/FormFactorRipple1.cpp
+++ b/Core/FormFactors/FormFactorRipple1.cpp
@@ -13,11 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "FormFactorRipple1.h"
 #include "BornAgainNamespace.h"
 #include "MathFunctions.h"
-#include "IntegratorComplex.h"
-
+#include "FormFactorRipple1.h"
 
 static complex_t I(0.,1.);
 
@@ -96,7 +94,7 @@ complex_t FormFactorRipple1::evaluate_for_q(const cvector_t q) const
             return factor*Units::PID4*m_height;
         return factor*Units::PID2*m_height*MathFunctions::sinc(q.y()*m_width*0.5)/(1.0-aaa2);
     }
-    
+
     // numerical integration otherwise
     m_ay = q.y() * m_width / Units::PI2;
     m_az = I * q.z() * (m_height/2);
diff --git a/Core/FormFactors/FormFactorRipple1.h b/Core/FormFactors/FormFactorRipple1.h
index 37310a7daab..ee086e7b83f 100644
--- a/Core/FormFactors/FormFactorRipple1.h
+++ b/Core/FormFactors/FormFactorRipple1.h
@@ -18,9 +18,7 @@
 
 #include <memory>
 #include "IFormFactorBorn.h"
-
-// Forward declaration to prevent IntegratorComplex.h to be parsed for Python API:
-template <class T> class IntegratorComplex;
+#include "IntegratorComplex.h"
 
 //! @class FormFactorRipple1
 //! @ingroup formfactors
@@ -82,5 +80,3 @@ inline double FormFactorRipple1::getLength() const
 }
 
 #endif // FORMFACTORRIPPLE1_H
-
-
diff --git a/Core/Geometry/Ellipse.cpp b/Core/Geometry/Ellipse.cpp
index ae09949af4d..a6969ccbdf6 100644
--- a/Core/Geometry/Ellipse.cpp
+++ b/Core/Geometry/Ellipse.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "Ellipse.h"
 #include "Bin.h"
+#include "Ellipse.h"
 
 namespace Geometry {
 
diff --git a/Core/Geometry/Rectangle.cpp b/Core/Geometry/Rectangle.cpp
index d815a4d3f69..f725f945608 100644
--- a/Core/Geometry/Rectangle.cpp
+++ b/Core/Geometry/Rectangle.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "Rectangle.h"
 #include "Bin.h"
+#include "Rectangle.h"
 
 namespace Geometry {
 
diff --git a/Core/Geometry/Transform3D.h b/Core/Geometry/Transform3D.h
index edd93201736..b945405154b 100644
--- a/Core/Geometry/Transform3D.h
+++ b/Core/Geometry/Transform3D.h
@@ -16,8 +16,8 @@
 #ifndef TRANSFORM3D_H
 #define TRANSFORM3D_H
 
-#include "Complex.h"
 #include "BasicVector3D.h"
+#include "Complex.h"
 #include "EigenCore.h"
 
 
diff --git a/Core/InputOutput/IntensityDataIOFactory.cpp b/Core/InputOutput/IntensityDataIOFactory.cpp
index a3f957e34fa..89f03c116d7 100644
--- a/Core/InputOutput/IntensityDataIOFactory.cpp
+++ b/Core/InputOutput/IntensityDataIOFactory.cpp
@@ -13,10 +13,10 @@
 //
 // ************************************************************************** //
 
-#include "IntensityDataIOFactory.h"
+#include "IHistogram.h"
 #include "OutputDataReadFactory.h"
 #include "OutputDataWriteFactory.h"
-#include "IHistogram.h"
+#include "IntensityDataIOFactory.h"
 
 
 OutputData<double>* IntensityDataIOFactory::readOutputData(const std::string& file_name)
diff --git a/Core/InputOutput/OutputDataIOHelper.cpp b/Core/InputOutput/OutputDataIOHelper.cpp
index 8fe176ee79c..73db6173424 100644
--- a/Core/InputOutput/OutputDataIOHelper.cpp
+++ b/Core/InputOutput/OutputDataIOHelper.cpp
@@ -16,9 +16,9 @@
 
 #include "ConstKBinAxis.h"
 #include "CustomBinAxis.h"
-#include "Utils.h"
-#include "OutputData.h"
 #include "FileSystem.h"
+#include "OutputData.h"
+#include "Utils.h"
 #include "OutputDataIOHelper.h"
 
 
diff --git a/Core/InputOutput/OutputDataReadFactory.cpp b/Core/InputOutput/OutputDataReadFactory.cpp
index 6a9c4d3a9e3..418320088a3 100644
--- a/Core/InputOutput/OutputDataReadFactory.cpp
+++ b/Core/InputOutput/OutputDataReadFactory.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "OutputDataReadFactory.h"
-#include "OutputDataIOHelper.h"
 #include "Exceptions.h"
+#include "OutputDataIOHelper.h"
+#include "OutputDataReadFactory.h"
 
 
 OutputDataReader* OutputDataReadFactory::getReader(const std::string &file_name)
diff --git a/Core/InputOutput/OutputDataReader.cpp b/Core/InputOutput/OutputDataReader.cpp
index cdb0a5ea6cd..e8faabd430f 100644
--- a/Core/InputOutput/OutputDataReader.cpp
+++ b/Core/InputOutput/OutputDataReader.cpp
@@ -14,9 +14,9 @@
 // ************************************************************************** //
 #include <fstream>
 #include "OutputData.h"
-#include "OutputDataReader.h"
 #include "OutputDataIOHelper.h"
 #include "boost_streams.h"
+#include "OutputDataReader.h"
 
 OutputDataReader::OutputDataReader(const std::string& file_name)
     : m_file_name(file_name)
diff --git a/Core/InputOutput/OutputDataWriteFactory.cpp b/Core/InputOutput/OutputDataWriteFactory.cpp
index 8670446c817..4287c76cabf 100644
--- a/Core/InputOutput/OutputDataWriteFactory.cpp
+++ b/Core/InputOutput/OutputDataWriteFactory.cpp
@@ -12,9 +12,9 @@
 //! @authors   C. Durniak, M. Ganeva, G. Pospelov, W. Van Herck, J. Wuttke
 //
 // ************************************************************************** //
-#include "OutputDataWriteFactory.h"
 #include "Exceptions.h"
 #include "OutputDataIOHelper.h"
+#include "OutputDataWriteFactory.h"
 
 OutputDataWriter *OutputDataWriteFactory::getWriter(const std::string &file_name)
 {
diff --git a/Core/InputOutput/OutputDataWriteStrategy.cpp b/Core/InputOutput/OutputDataWriteStrategy.cpp
index e4d939c2477..5569d37e29f 100644
--- a/Core/InputOutput/OutputDataWriteStrategy.cpp
+++ b/Core/InputOutput/OutputDataWriteStrategy.cpp
@@ -14,9 +14,9 @@
 // ************************************************************************** //
 
 #include <iomanip>
-#include "OutputDataWriteStrategy.h"
-#include "TiffHandler.h"
 #include "BornAgainNamespace.h"
+#include "TiffHandler.h"
+#include "OutputDataWriteStrategy.h"
 
 static const int precision { 12 };
 
diff --git a/Core/InputOutput/OutputDataWriter.cpp b/Core/InputOutput/OutputDataWriter.cpp
index 0dc355c69a1..52f25cbc3db 100644
--- a/Core/InputOutput/OutputDataWriter.cpp
+++ b/Core/InputOutput/OutputDataWriter.cpp
@@ -14,10 +14,10 @@
 // ************************************************************************** //
 
 #include <fstream>
-#include "OutputDataWriter.h"
-#include "OutputDataIOHelper.h"
 #include "OutputData.h"
+#include "OutputDataIOHelper.h"
 #include "boost_streams.h"
+#include "OutputDataWriter.h"
 
 OutputDataWriter::OutputDataWriter(const std::string &file_name)
     : m_file_name(file_name)
diff --git a/Core/InputOutput/TiffHandler.cpp b/Core/InputOutput/TiffHandler.cpp
index 16283f89083..f904fca18d3 100644
--- a/Core/InputOutput/TiffHandler.cpp
+++ b/Core/InputOutput/TiffHandler.cpp
@@ -15,8 +15,8 @@
 
 #ifdef BORNAGAIN_TIFF_SUPPORT
 
-#include "Utils.h"
 #include "BornAgainNamespace.h"
+#include "Utils.h"
 #include "TiffHandler.h"
 
 namespace {
diff --git a/Core/InputOutput/TiffHandler.h b/Core/InputOutput/TiffHandler.h
index 30139c49d5e..b6f4150339b 100644
--- a/Core/InputOutput/TiffHandler.h
+++ b/Core/InputOutput/TiffHandler.h
@@ -18,9 +18,9 @@
 
 #ifdef BORNAGAIN_TIFF_SUPPORT
 
+#include <memory>
 #include <tiffio.h>
 #include <tiffio.hxx>
-#include <memory>
 #include "OutputData.h"
 
 //! @class TiffHandler
diff --git a/Core/Samples/Crystal.h b/Core/Samples/Crystal.h
index 85a16940aab..8469ae026f2 100644
--- a/Core/Samples/Crystal.h
+++ b/Core/Samples/Crystal.h
@@ -17,8 +17,8 @@
 #define CRYSTAL_H
 
 #include "IClusteredParticles.h"
-#include "Particle.h"
 #include "Lattice.h"
+#include "Particle.h"
 #include "ParticleComposition.h"
 
 
diff --git a/Core/Samples/IClusteredParticles.h b/Core/Samples/IClusteredParticles.h
index c6968ffee99..9e2b13843c8 100644
--- a/Core/Samples/IClusteredParticles.h
+++ b/Core/Samples/IClusteredParticles.h
@@ -16,8 +16,8 @@
 #ifndef ICLUSTEREDPARTICLES_H
 #define ICLUSTEREDPARTICLES_H
 
-#include "IFormFactor.h"
 #include "ICompositeSample.h"
+#include "IFormFactor.h"
 
 //! @class IClusteredParticles
 //! @ingroup samples_internal
diff --git a/Core/Samples/IInterferenceFunction.h b/Core/Samples/IInterferenceFunction.h
index ab8f8e8d5ef..9d0ba6713fb 100644
--- a/Core/Samples/IInterferenceFunction.h
+++ b/Core/Samples/IInterferenceFunction.h
@@ -16,8 +16,8 @@
 #ifndef IINTERFERENCEFUNCTION_H
 #define IINTERFERENCEFUNCTION_H
 
-#include "Vectors3D.h"
 #include "ISample.h"
+#include "Vectors3D.h"
 
 //! @class IInterferenceFunction
 //! @ingroup interference_internal
diff --git a/Core/Samples/IMaterial.h b/Core/Samples/IMaterial.h
index f06bee190ea..f070c30e5fb 100644
--- a/Core/Samples/IMaterial.h
+++ b/Core/Samples/IMaterial.h
@@ -16,8 +16,8 @@
 #ifndef IMATERIAL_H
 #define IMATERIAL_H
 
-#include "Vectors3D.h"
 #include "Rotations.h"
+#include "Vectors3D.h"
 
 //! @class IMaterial
 //! @ingroup materials_internal
diff --git a/Core/Samples/IParticle.cpp b/Core/Samples/IParticle.cpp
index 64309dea40d..7f7ffe108c5 100644
--- a/Core/Samples/IParticle.cpp
+++ b/Core/Samples/IParticle.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "IParticle.h"
 #include "FormFactorDecoratorPositionFactor.h"
+#include "IParticle.h"
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/ISampleIteratorStrategy.cpp b/Core/Samples/ISampleIteratorStrategy.cpp
index dfa3d10bffa..ad6ef512f74 100644
--- a/Core/Samples/ISampleIteratorStrategy.cpp
+++ b/Core/Samples/ISampleIteratorStrategy.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "ISampleIteratorStrategy.h"
 #include "SampleTreeIterator.h"
+#include "ISampleIteratorStrategy.h"
 
 
 SampleIteratorPreorderStrategy::SampleIteratorPreorderStrategy()
diff --git a/Core/Samples/ISampleVisitor.cpp b/Core/Samples/ISampleVisitor.cpp
index 573f3ffbcc3..0d17be14e8c 100644
--- a/Core/Samples/ISampleVisitor.cpp
+++ b/Core/Samples/ISampleVisitor.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "SampleTreeIterator.h"
 #include "ISampleIteratorStrategy.h"
+#include "SampleTreeIterator.h"
 
 void VisitSampleTreePreorder(const ISample& sample, ISampleVisitor& visitor)
 {
diff --git a/Core/Samples/InterferenceFunction1DLattice.cpp b/Core/Samples/InterferenceFunction1DLattice.cpp
index ac5fae6263e..73de04ee3ca 100644
--- a/Core/Samples/InterferenceFunction1DLattice.cpp
+++ b/Core/Samples/InterferenceFunction1DLattice.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "InterferenceFunction1DLattice.h"
 #include "BornAgainNamespace.h"
+#include "InterferenceFunction1DLattice.h"
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/InterferenceFunction1DLattice.h b/Core/Samples/InterferenceFunction1DLattice.h
index 330c31677f6..ffd27736cad 100644
--- a/Core/Samples/InterferenceFunction1DLattice.h
+++ b/Core/Samples/InterferenceFunction1DLattice.h
@@ -16,9 +16,9 @@
 #ifndef INTERFERENCEFUNCTION1DLATTICE_H
 #define INTERFERENCEFUNCTION1DLATTICE_H
 
+#include "FTDecayFunctions.h"
 #include "IInterferenceFunction.h"
 #include "Lattice1DParameters.h"
-#include "FTDecayFunctions.h"
 
 //! @class InterferenceFunction1DLattice
 //! @ingroup interference
diff --git a/Core/Samples/InterferenceFunction2DLattice.h b/Core/Samples/InterferenceFunction2DLattice.h
index 16f746ba9d0..f9ca16b6db6 100644
--- a/Core/Samples/InterferenceFunction2DLattice.h
+++ b/Core/Samples/InterferenceFunction2DLattice.h
@@ -16,9 +16,9 @@
 #ifndef INTERFERENCEFUNCTION2DLATTICE_H
 #define INTERFERENCEFUNCTION2DLATTICE_H
 
+#include "FTDecayFunctions.h"
 #include "IInterferenceFunction.h"
 #include "Lattice2DParameters.h"
-#include "FTDecayFunctions.h"
 
 //! @class InterferenceFunction2DLattice
 //! @ingroup interference
diff --git a/Core/Samples/InterferenceFunction2DParaCrystal.cpp b/Core/Samples/InterferenceFunction2DParaCrystal.cpp
index ae684f18d3c..f853105c51e 100644
--- a/Core/Samples/InterferenceFunction2DParaCrystal.cpp
+++ b/Core/Samples/InterferenceFunction2DParaCrystal.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "InterferenceFunction2DParaCrystal.h"
 #include "BornAgainNamespace.h"
 #include "IntegratorReal.h"
+#include "InterferenceFunction2DParaCrystal.h"
 
 
 using namespace BornAgain;
diff --git a/Core/Samples/InterferenceFunction2DParaCrystal.h b/Core/Samples/InterferenceFunction2DParaCrystal.h
index 016874646d7..8e6d6d50791 100644
--- a/Core/Samples/InterferenceFunction2DParaCrystal.h
+++ b/Core/Samples/InterferenceFunction2DParaCrystal.h
@@ -17,10 +17,10 @@
 #define INTERFERENCEFUNCTION2DPARACRYSTAL_H
 
 #include <memory>
+#include "Complex.h"
+#include "FTDistributions.h"
 #include "IInterferenceFunction.h"
 #include "Lattice2DParameters.h"
-#include "FTDistributions.h"
-#include "Complex.h"
 
 // Forward declaration to prevent IntegratorReal.h to be parsed for Python API:
 template <class T> class IntegratorReal;
diff --git a/Core/Samples/InterferenceFunctionNone.cpp b/Core/Samples/InterferenceFunctionNone.cpp
index 9e37d03e23d..81208d29504 100644
--- a/Core/Samples/InterferenceFunctionNone.cpp
+++ b/Core/Samples/InterferenceFunctionNone.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "InterferenceFunctionNone.h"
 #include "BornAgainNamespace.h"
+#include "InterferenceFunctionNone.h"
 
 
 InterferenceFunctionNone::InterferenceFunctionNone()
diff --git a/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp b/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp
index fbcefa96bfa..2c0356c554e 100644
--- a/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp
+++ b/Core/Samples/InterferenceFunctionRadialParaCrystal.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "InterferenceFunctionRadialParaCrystal.h"
 #include "BornAgainNamespace.h"
+#include "InterferenceFunctionRadialParaCrystal.h"
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/InterferenceFunctionRadialParaCrystal.h b/Core/Samples/InterferenceFunctionRadialParaCrystal.h
index 4b2ee1dfb79..e77120889b7 100644
--- a/Core/Samples/InterferenceFunctionRadialParaCrystal.h
+++ b/Core/Samples/InterferenceFunctionRadialParaCrystal.h
@@ -17,9 +17,9 @@
 #define INTERFERENCEFUNCTIONRADIALPARACRYSTAL_H
 
 #include <memory>
-#include "IInterferenceFunction.h"
-#include "FTDistributions.h"
 #include "Complex.h"
+#include "FTDistributions.h"
+#include "IInterferenceFunction.h"
 
 //! @class InterferenceFunctionRadialParaCrystal
 //! @ingroup interference
diff --git a/Core/Samples/InterferenceFunctions.h b/Core/Samples/InterferenceFunctions.h
index e29f3601b2e..52364e52efc 100644
--- a/Core/Samples/InterferenceFunctions.h
+++ b/Core/Samples/InterferenceFunctions.h
@@ -16,11 +16,11 @@
 #ifndef INTERFERENCEFUNCTIONS_H
 #define INTERFERENCEFUNCTIONS_H
 
-#include "InterferenceFunctionNone.h"
-#include "InterferenceFunctionRadialParaCrystal.h"
 #include "InterferenceFunction1DLattice.h"
 #include "InterferenceFunction2DLattice.h"
 #include "InterferenceFunction2DParaCrystal.h"
+#include "InterferenceFunctionNone.h"
+#include "InterferenceFunctionRadialParaCrystal.h"
 
 #endif // INTERFERENCEFUNCTIONS_H
 
diff --git a/Core/Samples/Lattice.h b/Core/Samples/Lattice.h
index db8cd9e89b3..61ef9b8745a 100644
--- a/Core/Samples/Lattice.h
+++ b/Core/Samples/Lattice.h
@@ -16,12 +16,10 @@
 #ifndef LATTICE_H
 #define LATTICE_H
 
-#include "Vectors3D.h"
-#include "ISelectionRule.h"
 #include "FastVector.h"
+#include "ISelectionRule.h"
 #include "Rotations.h"
 
-
 //! @class Lattice
 //! @ingroup samples
 //! @brief A lattice with three basis vectors.
diff --git a/Core/Samples/Layer.h b/Core/Samples/Layer.h
index a0723dab36f..4464690ed90 100644
--- a/Core/Samples/Layer.h
+++ b/Core/Samples/Layer.h
@@ -16,8 +16,8 @@
 #ifndef LAYER_H
 #define LAYER_H
 
-#include "Materials.h"
 #include "LayerDWBASimulation.h"
+#include "Materials.h"
 #include "ParticleLayout.h"
 
 //! @class Layer
diff --git a/Core/Samples/LayerInterface.cpp b/Core/Samples/LayerInterface.cpp
index c8d24524f7d..2cc798d0fa7 100644
--- a/Core/Samples/LayerInterface.cpp
+++ b/Core/Samples/LayerInterface.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "LayerInterface.h"
 #include "BornAgainNamespace.h"
 #include "MessageService.h"
+#include "LayerInterface.h"
 
 
 LayerInterface::LayerInterface()
diff --git a/Core/Samples/LayerRoughness.cpp b/Core/Samples/LayerRoughness.cpp
index 1de5d17d53b..6f392235175 100644
--- a/Core/Samples/LayerRoughness.cpp
+++ b/Core/Samples/LayerRoughness.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
+#include "BornAgainNamespace.h"
 #include "Units.h"
 #include "LayerRoughness.h"
-#include "BornAgainNamespace.h"
 
 
 using namespace BornAgain;
diff --git a/Core/Samples/LayerRoughness.h b/Core/Samples/LayerRoughness.h
index a56c5a31f7b..7d1e4360e8d 100644
--- a/Core/Samples/LayerRoughness.h
+++ b/Core/Samples/LayerRoughness.h
@@ -16,8 +16,8 @@
 #ifndef LAYERROUGHNESS_H
 #define LAYERROUGHNESS_H
 
-#include "Vectors3D.h"
 #include "IRoughness.h"
+#include "Vectors3D.h"
 
 //! @class LayerRoughness
 //! @ingroup samples
diff --git a/Core/Samples/MesoCrystal.cpp b/Core/Samples/MesoCrystal.cpp
index 814b20ee629..14ae71ffeca 100644
--- a/Core/Samples/MesoCrystal.cpp
+++ b/Core/Samples/MesoCrystal.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "MesoCrystal.h"
 #include "FormFactorDecoratorPositionFactor.h"
 #include "FormFactorDecoratorRotation.h"
+#include "MesoCrystal.h"
 
 MesoCrystal::MesoCrystal(IClusteredParticles *p_particle_structure, IFormFactor *p_form_factor)
     : mp_particle_structure(p_particle_structure), mp_meso_form_factor(p_form_factor)
diff --git a/Core/Samples/MultiLayer.cpp b/Core/Samples/MultiLayer.cpp
index fb85f93e7fd..53422241215 100644
--- a/Core/Samples/MultiLayer.cpp
+++ b/Core/Samples/MultiLayer.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "MultiLayer.h"
 #include "MessageService.h"
+#include "MultiLayer.h"
 
 
 using namespace BornAgain;
diff --git a/Core/Samples/Particle.cpp b/Core/Samples/Particle.cpp
index 11f78e9f4bf..3fd004e7d49 100644
--- a/Core/Samples/Particle.cpp
+++ b/Core/Samples/Particle.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "Particle.h"
-#include "Materials.h"
 #include "FormFactorDecoratorPositionFactor.h"
+#include "Materials.h"
+#include "Particle.h"
 
 
 Particle::Particle()
diff --git a/Core/Samples/Particle.h b/Core/Samples/Particle.h
index a61ba5c0a91..10fd4ff9296 100644
--- a/Core/Samples/Particle.h
+++ b/Core/Samples/Particle.h
@@ -16,9 +16,9 @@
 #ifndef PARTICLE_H
 #define PARTICLE_H
 
-#include "IParticle.h"
 #include "FormFactorDecoratorMaterial.h"
 #include "FormFactorDecoratorRotation.h"
+#include "IParticle.h"
 
 
 //! @class Particle
diff --git a/Core/Samples/ParticleCoreShell.cpp b/Core/Samples/ParticleCoreShell.cpp
index 7d03225aa1e..0d110f4b5c3 100644
--- a/Core/Samples/ParticleCoreShell.cpp
+++ b/Core/Samples/ParticleCoreShell.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "ParticleCoreShell.h"
 #include "FormFactors.h"
 #include "Materials.h"
+#include "ParticleCoreShell.h"
 
 
 ParticleCoreShell::ParticleCoreShell(const Particle& shell,
diff --git a/Core/Samples/ParticleDistribution.cpp b/Core/Samples/ParticleDistribution.cpp
index 9832ae347f7..c42aa5abf73 100644
--- a/Core/Samples/ParticleDistribution.cpp
+++ b/Core/Samples/ParticleDistribution.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "ParticleDistribution.h"
 #include "BornAgainNamespace.h"
+#include "ParticleDistribution.h"
 
 ParticleDistribution::ParticleDistribution(const IParticle &prototype,
                                            const ParameterDistribution &par_distr)
diff --git a/Core/Samples/ParticleLayout.cpp b/Core/Samples/ParticleLayout.cpp
index 6076d77da82..1ff08d3fcd7 100644
--- a/Core/Samples/ParticleLayout.cpp
+++ b/Core/Samples/ParticleLayout.cpp
@@ -14,9 +14,9 @@
 // ************************************************************************** //
 
 #include <iomanip>
-#include "ParticleLayout.h"
-#include "SizeSpacingCorrelationApproximationStrategy.h"
 #include "ParticleDistribution.h"
+#include "SizeSpacingCorrelationApproximationStrategy.h"
+#include "ParticleLayout.h"
 
 
 ParticleLayout::ParticleLayout()
diff --git a/Core/Samples/Rotations.cpp b/Core/Samples/Rotations.cpp
index a770a7055d4..1f71f6198c3 100644
--- a/Core/Samples/Rotations.cpp
+++ b/Core/Samples/Rotations.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "Rotations.h"
 #include "BornAgainNamespace.h"
+#include "Rotations.h"
 
 using namespace BornAgain;
 
diff --git a/Core/Samples/Samples.h b/Core/Samples/Samples.h
index b2c463e7cbc..00ec0028e6f 100644
--- a/Core/Samples/Samples.h
+++ b/Core/Samples/Samples.h
@@ -16,8 +16,8 @@
 #ifndef SAMPLES_H
 #define SAMPLES_H
 
-#include "MultiLayer.h"
 #include "FormFactors.h"
+#include "MultiLayer.h"
 
 #endif // SAMPLES_H
 
diff --git a/Core/StandardSamples/BoxCompositionBuilder.cpp b/Core/StandardSamples/BoxCompositionBuilder.cpp
index 98d33a50e00..20233a48f88 100644
--- a/Core/StandardSamples/BoxCompositionBuilder.cpp
+++ b/Core/StandardSamples/BoxCompositionBuilder.cpp
@@ -13,10 +13,10 @@
 //
 // ************************************************************************** //
 
-#include "BoxCompositionBuilder.h"
-#include "ParticleComposition.h"
-#include "MultiLayer.h"
 #include "FormFactorBox.h"
+#include "MultiLayer.h"
+#include "ParticleComposition.h"
+#include "BoxCompositionBuilder.h"
 
 
 BoxCompositionBuilder::BoxCompositionBuilder()
diff --git a/Core/StandardSamples/CoreShellParticleBuilder.cpp b/Core/StandardSamples/CoreShellParticleBuilder.cpp
index 5098128d235..4be4a75ce59 100644
--- a/Core/StandardSamples/CoreShellParticleBuilder.cpp
+++ b/Core/StandardSamples/CoreShellParticleBuilder.cpp
@@ -13,10 +13,10 @@
 //
 // ************************************************************************** //
 
-#include "CoreShellParticleBuilder.h"
-#include "MultiLayer.h"
 #include "FormFactorBox.h"
+#include "MultiLayer.h"
 #include "ParticleCoreShell.h"
+#include "CoreShellParticleBuilder.h"
 
 // --- CoreShellParticleBuilder ---
 
diff --git a/Core/StandardSamples/CustomMorphologyBuilder.cpp b/Core/StandardSamples/CustomMorphologyBuilder.cpp
index ec7ef702890..4875d34c1ce 100644
--- a/Core/StandardSamples/CustomMorphologyBuilder.cpp
+++ b/Core/StandardSamples/CustomMorphologyBuilder.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "CustomMorphologyBuilder.h"
-#include "MultiLayer.h"
 #include "FormFactorBox.h"
+#include "MultiLayer.h"
+#include "CustomMorphologyBuilder.h"
 
 CustomMorphologyBuilder::CustomMorphologyBuilder()
 {
diff --git a/Core/StandardSamples/CylindersAndPrismsBuilder.cpp b/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
index 5900ad2f594..ec5947c5876 100644
--- a/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
+++ b/Core/StandardSamples/CylindersAndPrismsBuilder.cpp
@@ -13,10 +13,10 @@
 //
 // ************************************************************************** //
 
-#include "CylindersAndPrismsBuilder.h"
-#include "MultiLayer.h"
 #include "FormFactorCylinder.h"
 #include "FormFactorPrism3.h"
+#include "MultiLayer.h"
+#include "CylindersAndPrismsBuilder.h"
 
 CylindersAndPrismsBuilder::CylindersAndPrismsBuilder()
     : m_cylinder_height(5*Units::nanometer)
diff --git a/Core/StandardSamples/CylindersBuilder.cpp b/Core/StandardSamples/CylindersBuilder.cpp
index 051923fa246..57d61d751ca 100644
--- a/Core/StandardSamples/CylindersBuilder.cpp
+++ b/Core/StandardSamples/CylindersBuilder.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "CylindersBuilder.h"
-#include "MultiLayer.h"
 #include "FormFactorCylinder.h"
+#include "MultiLayer.h"
+#include "CylindersBuilder.h"
 
 
 // -----------------------------------------------------------------------------
diff --git a/Core/StandardSamples/LatticeBuilder.cpp b/Core/StandardSamples/LatticeBuilder.cpp
index eb59475d739..3476ba57104 100644
--- a/Core/StandardSamples/LatticeBuilder.cpp
+++ b/Core/StandardSamples/LatticeBuilder.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
+#include "FormFactorCylinder.h"
 #include "InterferenceFunction1DLattice.h"
 #include "MultiLayer.h"
-#include "FormFactorCylinder.h"
 #include "LatticeBuilder.h"
 
 
diff --git a/Core/StandardSamples/MagneticParticlesBuilder.cpp b/Core/StandardSamples/MagneticParticlesBuilder.cpp
index 0b39a7e8429..9a530fa0fc7 100644
--- a/Core/StandardSamples/MagneticParticlesBuilder.cpp
+++ b/Core/StandardSamples/MagneticParticlesBuilder.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "MagneticParticlesBuilder.h"
-#include "MultiLayer.h"
 #include "FormFactorCylinder.h"
+#include "MultiLayer.h"
+#include "MagneticParticlesBuilder.h"
 
 
 // ----------------------------------------------------------------------------
diff --git a/Core/StandardSamples/MesoCrystalBuilder.cpp b/Core/StandardSamples/MesoCrystalBuilder.cpp
index 697b0cfac05..27c215499ef 100644
--- a/Core/StandardSamples/MesoCrystalBuilder.cpp
+++ b/Core/StandardSamples/MesoCrystalBuilder.cpp
@@ -13,12 +13,12 @@
 //
 // ************************************************************************** //
 
+#include "Crystal.h"
 #include "FormFactorCylinder.h"
 #include "FormFactorDecoratorDebyeWaller.h"
-#include "MultiLayer.h"
-#include "Crystal.h"
-#include "MesoCrystal.h"
 #include "FormFactorSphereGaussianRadius.h"
+#include "MesoCrystal.h"
+#include "MultiLayer.h"
 #include "MesoCrystalBuilder.h"
 
 
diff --git a/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp b/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
index b5d0a36be95..423067487d5 100644
--- a/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
+++ b/Core/StandardSamples/MultiLayerWithRoughnessBuilder.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "MultiLayerWithRoughnessBuilder.h"
 #include "MultiLayer.h"
+#include "MultiLayerWithRoughnessBuilder.h"
 
 MultiLayerWithRoughnessBuilder::MultiLayerWithRoughnessBuilder()
     : m_thicknessA(2.5*Units::nanometer)
diff --git a/Core/StandardSamples/MultipleLayoutBuilder.cpp b/Core/StandardSamples/MultipleLayoutBuilder.cpp
index 58c1229ecc3..4e2fc5120d6 100644
--- a/Core/StandardSamples/MultipleLayoutBuilder.cpp
+++ b/Core/StandardSamples/MultipleLayoutBuilder.cpp
@@ -13,10 +13,10 @@
 //
 // ************************************************************************** //
 
-#include "MultipleLayoutBuilder.h"
-#include "MultiLayer.h"
 #include "FormFactorCylinder.h"
 #include "FormFactorPrism3.h"
+#include "MultiLayer.h"
+#include "MultipleLayoutBuilder.h"
 
 MultipleLayoutBuilder::MultipleLayoutBuilder()
     : m_cylinder_height(5*Units::nanometer)
diff --git a/Core/StandardSamples/ParaCrystalBuilder.cpp b/Core/StandardSamples/ParaCrystalBuilder.cpp
index 5cd801e882d..78bda47f11e 100644
--- a/Core/StandardSamples/ParaCrystalBuilder.cpp
+++ b/Core/StandardSamples/ParaCrystalBuilder.cpp
@@ -13,10 +13,10 @@
 //
 // ************************************************************************** //
 
-#include "MultiLayer.h"
-#include "InterferenceFunctionRadialParaCrystal.h"
-#include "InterferenceFunction2DParaCrystal.h"
 #include "FormFactorCylinder.h"
+#include "InterferenceFunction2DParaCrystal.h"
+#include "InterferenceFunctionRadialParaCrystal.h"
+#include "MultiLayer.h"
 #include "ParaCrystalBuilder.h"
 
 RadialParaCrystalBuilder::RadialParaCrystalBuilder()
diff --git a/Core/StandardSamples/ParticleCompositionBuilder.cpp b/Core/StandardSamples/ParticleCompositionBuilder.cpp
index 3aeef6bc5de..c8f0767fc9c 100644
--- a/Core/StandardSamples/ParticleCompositionBuilder.cpp
+++ b/Core/StandardSamples/ParticleCompositionBuilder.cpp
@@ -13,11 +13,11 @@
 //
 // ************************************************************************** //
 
-#include "ParticleCompositionBuilder.h"
 #include "FormFactorFullSphere.h"
 #include "InterferenceFunction2DLattice.h"
-#include "ParticleComposition.h"
 #include "MultiLayer.h"
+#include "ParticleComposition.h"
+#include "ParticleCompositionBuilder.h"
 
 // --- ParticleCompositionBuilder ---
 
diff --git a/Core/StandardSamples/ParticleDistributionsBuilder.cpp b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
index 17b886d00e0..01b2b764fb8 100644
--- a/Core/StandardSamples/ParticleDistributionsBuilder.cpp
+++ b/Core/StandardSamples/ParticleDistributionsBuilder.cpp
@@ -13,11 +13,11 @@
 //
 // ************************************************************************** //
 
-#include "ParticleDistributionsBuilder.h"
-#include "MultiLayer.h"
-#include "FormFactorCylinder.h"
 #include "Distributions.h"
+#include "FormFactorCylinder.h"
+#include "MultiLayer.h"
 #include "ParticleDistribution.h"
+#include "ParticleDistributionsBuilder.h"
 
 using namespace BornAgain;
 
diff --git a/Core/StandardSamples/ParticleInTheAirBuilder.cpp b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
index d7d6dbd97b1..72c656c389d 100644
--- a/Core/StandardSamples/ParticleInTheAirBuilder.cpp
+++ b/Core/StandardSamples/ParticleInTheAirBuilder.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "ParticleInTheAirBuilder.h"
 #include "MultiLayer.h"
+#include "ParticleInTheAirBuilder.h"
 
 ParticleInTheAirBuilder::ParticleInTheAirBuilder()
 {
diff --git a/Core/StandardSamples/RipplesBuilder.cpp b/Core/StandardSamples/RipplesBuilder.cpp
index 80f521ae521..7ce5612ee9f 100644
--- a/Core/StandardSamples/RipplesBuilder.cpp
+++ b/Core/StandardSamples/RipplesBuilder.cpp
@@ -13,11 +13,11 @@
 //
 // ************************************************************************** //
 
-#include "RipplesBuilder.h"
-#include "MultiLayer.h"
 #include "FormFactorRipple1.h"
 #include "FormFactorRipple2.h"
 #include "InterferenceFunctionRadialParaCrystal.h"
+#include "MultiLayer.h"
+#include "RipplesBuilder.h"
 
 CosineRippleBuilder::CosineRippleBuilder()
     : m_w(20.0*Units::nanometer)
diff --git a/Core/StandardSamples/RotatedPyramidsBuilder.cpp b/Core/StandardSamples/RotatedPyramidsBuilder.cpp
index 9166140d9f2..b8ebef50f81 100644
--- a/Core/StandardSamples/RotatedPyramidsBuilder.cpp
+++ b/Core/StandardSamples/RotatedPyramidsBuilder.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "RotatedPyramidsBuilder.h"
 #include "FormFactorPyramid.h"
 #include "MultiLayer.h"
+#include "RotatedPyramidsBuilder.h"
 
 
 RotatedPyramidsBuilder::RotatedPyramidsBuilder()
diff --git a/Core/StandardSamples/SampleBuilderFactory.cpp b/Core/StandardSamples/SampleBuilderFactory.cpp
index 1661fc3b0c5..05131873e7c 100644
--- a/Core/StandardSamples/SampleBuilderFactory.cpp
+++ b/Core/StandardSamples/SampleBuilderFactory.cpp
@@ -13,26 +13,26 @@
 //
 // ************************************************************************** //
 
+#include "BoxCompositionBuilder.h"
+#include "CoreShellParticleBuilder.h"
+#include "CustomMorphologyBuilder.h"
 #include "CylindersAndPrismsBuilder.h"
 #include "CylindersBuilder.h"
-#include "ParaCrystalBuilder.h"
 #include "LatticeBuilder.h"
-#include "TwoDimLatticeBuilder.h"
-#include "CustomMorphologyBuilder.h"
-#include "RotatedPyramidsBuilder.h"
-#include "CoreShellParticleBuilder.h"
-#include "MesoCrystalBuilder.h"
-#include "MultipleLayoutBuilder.h"
+#include "LayersWithAbsorptionBuilder.h"
 #include "MagneticParticlesBuilder.h"
+#include "MesoCrystalBuilder.h"
 #include "MultiLayerWithRoughnessBuilder.h"
+#include "MultipleLayoutBuilder.h"
+#include "ParaCrystalBuilder.h"
 #include "ParticleCompositionBuilder.h"
-#include "ParticleInTheAirBuilder.h"
 #include "ParticleDistributionsBuilder.h"
+#include "ParticleInTheAirBuilder.h"
 #include "RipplesBuilder.h"
+#include "RotatedPyramidsBuilder.h"
 #include "SizeDistributionModelsBuilder.h"
 #include "TransformationsBuilder.h"
-#include "BoxCompositionBuilder.h"
-#include "LayersWithAbsorptionBuilder.h"
+#include "TwoDimLatticeBuilder.h"
 #include "SampleBuilderFactory.h"
 
 SampleBuilderFactory::SampleBuilderFactory()
diff --git a/Core/StandardSamples/SimulationFactory.h b/Core/StandardSamples/SimulationFactory.h
index 35b68a91c57..0b285123454 100644
--- a/Core/StandardSamples/SimulationFactory.h
+++ b/Core/StandardSamples/SimulationFactory.h
@@ -16,8 +16,8 @@
 #ifndef SIMULATIONFACTORY_H
 #define SIMULATIONFACTORY_H
 
-#include "IFactory.h"
 #include "GISASSimulation.h"
+#include "IFactory.h"
 
 //! @class SimulationFactory
 //! @ingroup standard_samples
diff --git a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
index d2181385d7c..8e43422f223 100644
--- a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
+++ b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp
@@ -13,12 +13,12 @@
 //
 // ************************************************************************** //
 
-#include "SizeDistributionModelsBuilder.h"
-#include "MultiLayer.h"
-#include "InterferenceFunctionRadialParaCrystal.h"
-#include "FormFactorCylinder.h"
 #include "Distributions.h"
+#include "FormFactorCylinder.h"
+#include "InterferenceFunctionRadialParaCrystal.h"
+#include "MultiLayer.h"
 #include "ParticleDistribution.h"
+#include "SizeDistributionModelsBuilder.h"
 
 using namespace BornAgain;
 
diff --git a/Core/StandardSamples/StandardSimulations.cpp b/Core/StandardSamples/StandardSimulations.cpp
index ba87fca0af9..d400a488150 100644
--- a/Core/StandardSamples/StandardSimulations.cpp
+++ b/Core/StandardSamples/StandardSimulations.cpp
@@ -13,17 +13,17 @@
 //
 // ************************************************************************** //
 
-#include "SampleBuilderFactory.h"
-#include "GISASSimulation.h"
-#include "ResolutionFunction2DGaussian.h"
+#include "BornAgainNamespace.h"
 #include "Distributions.h"
-#include "IsGISAXSDetector.h"
-#include "Rectangle.h"
 #include "Ellipse.h"
-#include "Polygon.h"
+#include "GISASSimulation.h"
+#include "IsGISAXSDetector.h"
 #include "Line.h"
-#include "BornAgainNamespace.h"
+#include "Polygon.h"
+#include "Rectangle.h"
 #include "RectangularDetector.h"
+#include "ResolutionFunction2DGaussian.h"
+#include "SampleBuilderFactory.h"
 #include "StandardSimulations.h"
 
 using namespace BornAgain;
diff --git a/Core/StandardSamples/TransformationsBuilder.cpp b/Core/StandardSamples/TransformationsBuilder.cpp
index 7660e16b541..f58219fdfc4 100644
--- a/Core/StandardSamples/TransformationsBuilder.cpp
+++ b/Core/StandardSamples/TransformationsBuilder.cpp
@@ -13,9 +13,9 @@
 //
 // ************************************************************************** //
 
-#include "TransformationsBuilder.h"
 #include "FormFactorBox.h"
 #include "MultiLayer.h"
+#include "TransformationsBuilder.h"
 
 
 ISample *TransformBoxBuilder::buildSample() const
diff --git a/Core/StandardSamples/TwoDimLatticeBuilder.cpp b/Core/StandardSamples/TwoDimLatticeBuilder.cpp
index ce329fb22dc..923e8320b49 100644
--- a/Core/StandardSamples/TwoDimLatticeBuilder.cpp
+++ b/Core/StandardSamples/TwoDimLatticeBuilder.cpp
@@ -13,11 +13,11 @@
 //
 // ************************************************************************** //
 
-#include "TwoDimLatticeBuilder.h"
-#include "MultiLayer.h"
-#include "ParticleComposition.h"
 #include "FormFactorCylinder.h"
 #include "InterferenceFunction2DLattice.h"
+#include "MultiLayer.h"
+#include "ParticleComposition.h"
+#include "TwoDimLatticeBuilder.h"
 
 
 // -----------------------------------------------------------------------------
diff --git a/Core/TestMachinery/CoreTest.cpp b/Core/TestMachinery/CoreTest.cpp
index 33a8ec77b4a..1a8242686e3 100644
--- a/Core/TestMachinery/CoreTest.cpp
+++ b/Core/TestMachinery/CoreTest.cpp
@@ -13,13 +13,13 @@
 //
 // ************************************************************************** //
 
-#include "CoreTest.h"
+#include "FileSystem.h"
 #include "GISASSimulation.h"
 #include "IntensityDataFunctions.h"
-#include "TestConfig.h"
-#include "FileSystem.h"
 #include "IntensityDataIOFactory.h"
+#include "TestConfig.h"
 #include "Utils.h"
+#include "CoreTest.h"
 
 CoreTest::CoreTest(
     const std::string& name, const std::string& description, GISASSimulation* simulation,
diff --git a/Core/TestMachinery/CoreTest.h b/Core/TestMachinery/CoreTest.h
index 6af0cd09268..b58b79d2b76 100644
--- a/Core/TestMachinery/CoreTest.h
+++ b/Core/TestMachinery/CoreTest.h
@@ -16,8 +16,8 @@
 #ifndef CORETEST_H
 #define CORETEST_H
 
-#include "OutputData.h"
 #include "IFunctionalTest.h"
+#include "OutputData.h"
 
 class GISASSimulation;
 
diff --git a/Core/TestMachinery/FunctionalTestRegistry.cpp b/Core/TestMachinery/FunctionalTestRegistry.cpp
index f8ab72ac7c5..3132d709884 100644
--- a/Core/TestMachinery/FunctionalTestRegistry.cpp
+++ b/Core/TestMachinery/FunctionalTestRegistry.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "FunctionalTestRegistry.h"
 #include "Utils.h"
+#include "FunctionalTestRegistry.h"
 
 FunctionalTestRegistry::FunctionalTestRegistry()
 {
diff --git a/Core/TestMachinery/FunctionalTestSuite.cpp b/Core/TestMachinery/FunctionalTestSuite.cpp
index 7858bf5a118..7e8d964f46f 100644
--- a/Core/TestMachinery/FunctionalTestSuite.cpp
+++ b/Core/TestMachinery/FunctionalTestSuite.cpp
@@ -15,10 +15,10 @@
 
 
 #include "FunctionalTestRegistry.h"
-#include "SimulationFactory.h"
+#include "IFunctionalTest.h"
 #include "SampleBuilderFactory.h"
+#include "SimulationFactory.h"
 #include "SubtestRegistry.h"
-#include "IFunctionalTest.h"
 #include "FunctionalTestSuite.h"
 
 // ************************************************************************** //
diff --git a/Core/TestMachinery/IFunctionalTest.cpp b/Core/TestMachinery/IFunctionalTest.cpp
index 9457b266254..ee2389aece8 100644
--- a/Core/TestMachinery/IFunctionalTest.cpp
+++ b/Core/TestMachinery/IFunctionalTest.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "IFunctionalTest.h"
 #include "Utils.h"
+#include "IFunctionalTest.h"
 
 namespace {
 
diff --git a/Core/TestMachinery/PySuiteTest.cpp b/Core/TestMachinery/PySuiteTest.cpp
index 0537cdae519..78c2021b63e 100644
--- a/Core/TestMachinery/PySuiteTest.cpp
+++ b/Core/TestMachinery/PySuiteTest.cpp
@@ -14,12 +14,12 @@
 // ************************************************************************** //
 
 #include <fstream>
-#include "SimulationFactory.h"
-#include "IntensityDataIOFactory.h"
-#include "IntensityDataFunctions.h"
-#include "PyGenTools.h"
 #include "BAPython.h"
 #include "FileSystem.h"
+#include "IntensityDataFunctions.h"
+#include "IntensityDataIOFactory.h"
+#include "PyGenTools.h"
+#include "SimulationFactory.h"
 #include "TestConfig.h"
 #include "Utils.h"
 #include "PySuiteTest.h"
diff --git a/Core/TestMachinery/SubtestRegistry.h b/Core/TestMachinery/SubtestRegistry.h
index 033af12ca99..9a98581d0cf 100644
--- a/Core/TestMachinery/SubtestRegistry.h
+++ b/Core/TestMachinery/SubtestRegistry.h
@@ -16,8 +16,8 @@
 #ifndef SUBTESTREGISTRY_H
 #define SUBTESTREGISTRY_H
 
-#include "IRegistry.h"
 #include "FTDistributions.h"
+#include "IRegistry.h"
 
 // ************************************************************************** //
 //! @class TestFTDistribution2DRegistry
diff --git a/Core/Tools/FastVector.h b/Core/Tools/FastVector.h
index 3900e693741..6bdbbcd247f 100644
--- a/Core/Tools/FastVector.h
+++ b/Core/Tools/FastVector.h
@@ -18,7 +18,7 @@
 
 #include <iostream>
 #include <vector>
-
+#include "Vectors3D.h"
 
 //! @class KVectorContainer
 //! @ingroup tools_internal
diff --git a/Core/Tools/Histogram1D.cpp b/Core/Tools/Histogram1D.cpp
index b772b18cf8d..4e1369865ff 100644
--- a/Core/Tools/Histogram1D.cpp
+++ b/Core/Tools/Histogram1D.cpp
@@ -14,9 +14,9 @@
 // ************************************************************************** //
 
 #include <memory>
-#include "Histogram1D.h"
-#include "VariableBinAxis.h"
 #include "NumpyUtils.h"
+#include "VariableBinAxis.h"
+#include "Histogram1D.h"
 
 
 Histogram1D::Histogram1D(int nbinsx, double xlow, double xup)
diff --git a/Core/Tools/Histogram2D.cpp b/Core/Tools/Histogram2D.cpp
index 3c5a7c68f11..af84706c679 100644
--- a/Core/Tools/Histogram2D.cpp
+++ b/Core/Tools/Histogram2D.cpp
@@ -14,9 +14,9 @@
 // ************************************************************************** //
 
 #include <memory>
-#include "Histogram2D.h"
 #include "Histogram1D.h"
 #include "VariableBinAxis.h"
+#include "Histogram2D.h"
 
 Histogram2D::Histogram2D(int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup)
 {
diff --git a/Core/Tools/IFactory.h b/Core/Tools/IFactory.h
index cda7bc3d563..0b9769ea480 100644
--- a/Core/Tools/IFactory.h
+++ b/Core/Tools/IFactory.h
@@ -16,8 +16,8 @@
 #ifndef IFACTORY_H
 #define IFACTORY_H
 
-#include <map>
 #include <functional>
+#include <map>
 #include "Exceptions.h"
 
 //! @class IFactory
diff --git a/Core/Tools/IParameterized.cpp b/Core/Tools/IParameterized.cpp
index cb9154d1081..3c5abb5a3a8 100644
--- a/Core/Tools/IParameterized.cpp
+++ b/Core/Tools/IParameterized.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include <sstream>
 #include <memory>
+#include <sstream>
 #include "IParameterized.h"
 
 // Copies INamed, but not the parameters.
diff --git a/Core/Tools/LLData.h b/Core/Tools/LLData.h
index a201b42bcd5..187fa36a89b 100644
--- a/Core/Tools/LLData.h
+++ b/Core/Tools/LLData.h
@@ -17,9 +17,9 @@
 #define LLDATA_H
 
 
+#include "EigenCore.h"
 #include "Exceptions.h"
 #include "Numeric.h"
-#include "EigenCore.h"
 
 //! @class LLData
 //! @ingroup tools_internal
diff --git a/Core/Tools/MathFunctions.h b/Core/Tools/MathFunctions.h
index c6a60e3d669..036a00f6ee4 100644
--- a/Core/Tools/MathFunctions.h
+++ b/Core/Tools/MathFunctions.h
@@ -18,8 +18,8 @@
 
 #include <vector>
 #include "Complex.h"
-#include "Units.h"
 #include "Numeric.h"
+#include "Units.h"
 
 //! Various mathematical functions.
 
diff --git a/Core/Tools/MessageService.h b/Core/Tools/MessageService.h
index ff77e3895d4..7fb9243effe 100644
--- a/Core/Tools/MessageService.h
+++ b/Core/Tools/MessageService.h
@@ -16,9 +16,9 @@
 #ifndef MESSAGESERVICE_H
 #define MESSAGESERVICE_H
 
+#include <iomanip>
 #include <sstream>
 #include <vector>
-#include <iomanip>
 
 
 //! Sets of logging utilities
diff --git a/Core/Tools/Numeric.h b/Core/Tools/Numeric.h
index 587c6a1bf4b..863393ef11b 100644
--- a/Core/Tools/Numeric.h
+++ b/Core/Tools/Numeric.h
@@ -16,8 +16,8 @@
 #ifndef NUMERIC_H
 #define NUMERIC_H
 
-#include <cmath>
 #include <algorithm>
+#include <cmath>
 
 //! Floating-point epsilon, tolerances, almost-equal.
 
diff --git a/Core/Tools/OutputDataFunctions.h b/Core/Tools/OutputDataFunctions.h
index 79043b3185e..53d06d0a53e 100644
--- a/Core/Tools/OutputDataFunctions.h
+++ b/Core/Tools/OutputDataFunctions.h
@@ -17,8 +17,8 @@
 #define OUTPUTDATAFUNCTIONS_H
 
 #include "Complex.h"
-#include "OutputData.h"
 #include "IIntensityFunction.h"
+#include "OutputData.h"
 
 //! Collection of functions to deal with OutputData
 
diff --git a/Core/Tools/ParameterDistribution.h b/Core/Tools/ParameterDistribution.h
index 180c354c9f5..d4267bb15b3 100644
--- a/Core/Tools/ParameterDistribution.h
+++ b/Core/Tools/ParameterDistribution.h
@@ -17,8 +17,8 @@
 #define PARAMETERDISTRIBUTION_H
 
 #include <memory>
-#include "ParameterSample.h"
 #include "IParameterized.h"
+#include "ParameterSample.h"
 
 class IDistribution1D;
 
diff --git a/Core/Tools/ParameterPool.cpp b/Core/Tools/ParameterPool.cpp
index 4ef5cdc2cd1..d34790689fd 100644
--- a/Core/Tools/ParameterPool.cpp
+++ b/Core/Tools/ParameterPool.cpp
@@ -13,8 +13,8 @@
 //
 // ************************************************************************** //
 
-#include "ParameterPool.h"
 #include "Utils.h"
+#include "ParameterPool.h"
 
 typedef std::map<std::string, RealParameterWrapper > parametermap_t;
 
diff --git a/Core/Tools/PyGenTools.cpp b/Core/Tools/PyGenTools.cpp
index 454293f6401..97fe07038e6 100644
--- a/Core/Tools/PyGenTools.cpp
+++ b/Core/Tools/PyGenTools.cpp
@@ -14,15 +14,15 @@
 // ************************************************************************** //
 
 #include <iomanip>
-#include "Macros.h"
-#include "MultiLayer.h"
-#include "PyGenTools.h"
 #include "Distributions.h"
-#include "Rectangle.h"
 #include "Ellipse.h"
+#include "InfinitePlane.h"
 #include "Line.h"
+#include "Macros.h"
+#include "MultiLayer.h"
 #include "Polygon.h"
-#include "InfinitePlane.h"
+#include "Rectangle.h"
+#include "PyGenTools.h"
 GCC_DIAG_OFF(missing-field-initializers)
 GCC_DIAG_OFF(unused-parameter)
 GCC_DIAG_ON(unused-parameter)
diff --git a/Core/Tools/PyGenTools.h b/Core/Tools/PyGenTools.h
index 9a8811a3f43..01cfcc2e9bf 100644
--- a/Core/Tools/PyGenTools.h
+++ b/Core/Tools/PyGenTools.h
@@ -16,6 +16,7 @@
 #ifndef PYGENTOOLS_H
 #define PYGENTOOLS_H
 
+#include "IShape2D.h"
 #include "PyGenVisitor.h"
 
 namespace PyGenTools {
@@ -23,7 +24,7 @@ namespace PyGenTools {
         class GISASSimulation* simulation, const std::string& output_filename);
     BA_CORE_API_ std::string getRepresentation(const class IDistribution1D* distribution);
     BA_CORE_API_ std::string getRepresentation(
-        const std::string& indent, const class Geometry::IShape2D* ishape, bool mask_value);
+        const std::string& indent, const Geometry::IShape2D* ishape, bool mask_value);
     BA_CORE_API_ std::string printBool(double value);
     BA_CORE_API_ std::string printDouble(double input);
     BA_CORE_API_ std::string printNm(double input);
diff --git a/Core/Tools/PyGenVisitor.h b/Core/Tools/PyGenVisitor.h
index 24a5b9ac355..c876badf607 100644
--- a/Core/Tools/PyGenVisitor.h
+++ b/Core/Tools/PyGenVisitor.h
@@ -16,6 +16,7 @@
 #ifndef PYGENVISITOR_H
 #define PYGENVISITOR_H
 
+#include "ISampleVisitor.h"
 
 class SampleLabelHandler;
 
@@ -25,55 +26,54 @@ public:
     PyGenVisitor();
     virtual ~PyGenVisitor();
 
-
     std::string writePyScript(
-        const GISASSimulation* simulation, const std::string& output_filename);
-    virtual void visit(const FormFactorAnisoPyramid* sample);
-    virtual void visit(const FormFactorBox* sample);
-    virtual void visit(const FormFactorCone* sample);
-    virtual void visit(const FormFactorCone6* sample);
-    virtual void visit(const FormFactorCuboctahedron* sample);
-    virtual void visit(const FormFactorCylinder* sample);
-    virtual void visit(const FormFactorDodecahedron* sample);
-    virtual void visit(const FormFactorEllipsoidalCylinder* sample);
-    virtual void visit(const FormFactorFullSphere* sample);
-    virtual void visit(const FormFactorFullSpheroid* sample);
-    virtual void visit(const FormFactorGauss* sample);
-    virtual void visit(const FormFactorHemiEllipsoid* sample);
-    virtual void visit(const FormFactorIcosahedron* sample);
-    virtual void visit(const FormFactorLorentz* sample);
-    virtual void visit(const FormFactorPrism3* sample);
-    virtual void visit(const FormFactorPrism6* sample);
-    virtual void visit(const FormFactorPyramid* sample);
-    virtual void visit(const FormFactorRipple1* sample);
-    virtual void visit(const FormFactorRipple2* sample);
-    virtual void visit(const FormFactorTetrahedron* sample);
-    virtual void visit(const FormFactorTruncatedCube* sample);
-    virtual void visit(const FormFactorTruncatedSphere* sample);
-    virtual void visit(const FormFactorTruncatedSpheroid* sample);
-    virtual void visit(const InterferenceFunctionNone* sample);
-    virtual void visit(const InterferenceFunction1DLattice* sample);
-    virtual void visit(const InterferenceFunctionRadialParaCrystal* sample);
-    virtual void visit(const InterferenceFunction2DLattice* sample);
-    virtual void visit(const InterferenceFunction2DParaCrystal* sample);
-    virtual void visit(const Layer* sample);
-    virtual void visit(const LayerInterface* sample){ (void)sample; }
-    virtual void visit(const LayerRoughness* sample);
-    virtual void visit(const MultiLayer* sample);
-    virtual void visit(const ParticleComposition* sample);
-    virtual void visit(const MesoCrystal* sample);
-    virtual void visit(const Particle* sample);
-    virtual void visit(const ParticleDistribution* sample);
-    virtual void visit(const ParticleCoreShell* sample);
-    virtual void visit(const ParticleLayout* sample);
+        const class GISASSimulation* simulation, const std::string& output_filename);
+    virtual void visit(const class FormFactorAnisoPyramid* sample);
+    virtual void visit(const class FormFactorBox* sample);
+    virtual void visit(const class FormFactorCone* sample);
+    virtual void visit(const class FormFactorCone6* sample);
+    virtual void visit(const class FormFactorCuboctahedron* sample);
+    virtual void visit(const class FormFactorCylinder* sample);
+    virtual void visit(const class FormFactorDodecahedron* sample);
+    virtual void visit(const class FormFactorEllipsoidalCylinder* sample);
+    virtual void visit(const class FormFactorFullSphere* sample);
+    virtual void visit(const class FormFactorFullSpheroid* sample);
+    virtual void visit(const class FormFactorGauss* sample);
+    virtual void visit(const class FormFactorHemiEllipsoid* sample);
+    virtual void visit(const class FormFactorIcosahedron* sample);
+    virtual void visit(const class FormFactorLorentz* sample);
+    virtual void visit(const class FormFactorPrism3* sample);
+    virtual void visit(const class FormFactorPrism6* sample);
+    virtual void visit(const class FormFactorPyramid* sample);
+    virtual void visit(const class FormFactorRipple1* sample);
+    virtual void visit(const class FormFactorRipple2* sample);
+    virtual void visit(const class FormFactorTetrahedron* sample);
+    virtual void visit(const class FormFactorTruncatedCube* sample);
+    virtual void visit(const class FormFactorTruncatedSphere* sample);
+    virtual void visit(const class FormFactorTruncatedSpheroid* sample);
+    virtual void visit(const class InterferenceFunctionNone* sample);
+    virtual void visit(const class InterferenceFunction1DLattice* sample);
+    virtual void visit(const class InterferenceFunctionRadialParaCrystal* sample);
+    virtual void visit(const class InterferenceFunction2DLattice* sample);
+    virtual void visit(const class InterferenceFunction2DParaCrystal* sample);
+    virtual void visit(const class Layer* sample);
+    virtual void visit(const class LayerInterface* sample){ (void)sample; }
+    virtual void visit(const class LayerRoughness* sample);
+    virtual void visit(const class MultiLayer* sample);
+    virtual void visit(const class ParticleComposition* sample);
+    virtual void visit(const class MesoCrystal* sample);
+    virtual void visit(const class Particle* sample);
+    virtual void visit(const class ParticleDistribution* sample);
+    virtual void visit(const class ParticleCoreShell* sample);
+    virtual void visit(const class ParticleLayout* sample);
 
-    virtual void visit(const RotationX* sample);
-    virtual void visit(const RotationY* sample);
-    virtual void visit(const RotationZ* sample);
-    virtual void visit(const RotationEuler* sample);
+    virtual void visit(const class RotationX* sample);
+    virtual void visit(const class RotationY* sample);
+    virtual void visit(const class RotationZ* sample);
+    virtual void visit(const class RotationEuler* sample);
 
     std::string definePreamble() const;
-    std::string defineGetSimulation(const GISASSimulation* simulation) const;
+    std::string defineGetSimulation(const class GISASSimulation* simulation) const;
     std::string defineGetSample() const;
     std::string defineMaterials() const;
 
@@ -89,20 +89,20 @@ private:
     std::string defineRoughnesses() const;
     std::string addLayoutsToLayers() const;
     std::string defineMultiLayers() const;
-    std::string defineDetector(const GISASSimulation* simulation) const;
-    std::string defineDetectorResolutionFunction(const GISASSimulation* simulation) const;
-    std::string defineBeam(const GISASSimulation* simulation) const;
-    std::string defineParameterDistributions(const GISASSimulation* simulation) const;
-    std::string defineMasks(const GISASSimulation* simulation) const;
-    std::string defineSimulationOptions(const GISASSimulation* simulation) const;
-    std::string definePlotting(const GISASSimulation* simulation) const;
+    std::string defineDetector(const class GISASSimulation* simulation) const;
+    std::string defineDetectorResolutionFunction(const class GISASSimulation* simulation) const;
+    std::string defineBeam(const class GISASSimulation* simulation) const;
+    std::string defineParameterDistributions(const class GISASSimulation* simulation) const;
+    std::string defineMasks(const class GISASSimulation* simulation) const;
+    std::string defineSimulationOptions(const class GISASSimulation* simulation) const;
+    std::string definePlotting(const class GISASSimulation* simulation) const;
     std::string defineRunSimulation() const;
     SampleLabelHandler* m_label;
 
     std::string indent() const;
-    void setRotationInformation(const IParticle* particle, std::string particle_name,
+    void setRotationInformation(const class IParticle* particle, std::string particle_name,
                                 std::ostringstream& result) const;
-    void setPositionInformation(const IParticle* particle, std::string particle_name,
+    void setPositionInformation(const class IParticle* particle, std::string particle_name,
                                 std::ostringstream& result) const;
 };
 
diff --git a/Core/Tools/SampleLabelHandler.cpp b/Core/Tools/SampleLabelHandler.cpp
index fc92f91131d..7ab0d40e670 100644
--- a/Core/Tools/SampleLabelHandler.cpp
+++ b/Core/Tools/SampleLabelHandler.cpp
@@ -13,11 +13,11 @@
 //
 // ************************************************************************** //
 
-#include "SampleLabelHandler.h"
 #include "MultiLayer.h"
-#include "ParticleCoreShell.h"
 #include "ParticleComposition.h"
+#include "ParticleCoreShell.h"
 #include "ParticleDistribution.h"
+#include "SampleLabelHandler.h"
 
 SampleLabelHandler::SampleLabelHandler()
 {
-- 
GitLab