diff --git a/Core/Intensity/CumulativeValue.cpp b/Core/Data/CumulativeValue.cpp
similarity index 93%
rename from Core/Intensity/CumulativeValue.cpp
rename to Core/Data/CumulativeValue.cpp
index 1f5404eb277d4dfc92904ca816e22a0db4b99f27..9f1312ee60447ccfec3c0d81aef148b63359e65c 100644
--- a/Core/Intensity/CumulativeValue.cpp
+++ b/Core/Data/CumulativeValue.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Intensity/CumulativeValue.cpp
+//! @file      Core/Data/CumulativeValue.cpp
 //! @brief     Implements class CumulativeValue.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 // ************************************************************************** //
 
-#include "Core/Intensity/CumulativeValue.h"
+#include "Core/Data/CumulativeValue.h"
 #include <cmath>
 
 double CumulativeValue::getRMS() const
diff --git a/Core/Intensity/CumulativeValue.h b/Core/Data/CumulativeValue.h
similarity index 96%
rename from Core/Intensity/CumulativeValue.h
rename to Core/Data/CumulativeValue.h
index 3e3d74a3a02597d3426e710d295714d46d57d4e7..397b486913d349a612ff4c4daffd5b74d7673029 100644
--- a/Core/Intensity/CumulativeValue.h
+++ b/Core/Data/CumulativeValue.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Intensity/CumulativeValue.h
+//! @file      Core/Data/CumulativeValue.h
 //! @brief     Defines class CumulativeValue.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/Data/OutputData.cpp b/Core/Data/OutputData.cpp
index 80be109eedab4ba89d876e19a7ad3d84cb32a81e..a4bc6be50e24fa60b7ed5507699ee3b1d1b2ff64 100644
--- a/Core/Data/OutputData.cpp
+++ b/Core/Data/OutputData.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "Core/Data/OutputData.h"
-#include "Core/Intensity/CumulativeValue.h"
+#include "Core/Data/CumulativeValue.h"
 
 #ifdef BORNAGAIN_PYTHON
 
diff --git a/Core/Resolution/ConvolutionDetectorResolution.cpp b/Core/Detector/ConvolutionDetectorResolution.cpp
similarity index 98%
rename from Core/Resolution/ConvolutionDetectorResolution.cpp
rename to Core/Detector/ConvolutionDetectorResolution.cpp
index 6b675836b1c442a0948c0ed6e5388c3f9c4537bb..ba092d6ef38dbc5a47b0bbe546a580b752fb03f8 100644
--- a/Core/Resolution/ConvolutionDetectorResolution.cpp
+++ b/Core/Detector/ConvolutionDetectorResolution.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Resolution/ConvolutionDetectorResolution.cpp
+//! @file      Core/Detector/ConvolutionDetectorResolution.cpp
 //! @brief     Implements class ConvolutionDetectorResolution.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 // ************************************************************************** //
 
-#include "Core/Resolution/ConvolutionDetectorResolution.h"
+#include "Core/Detector/ConvolutionDetectorResolution.h"
 #include "Core/Detector/Convolve.h"
 
 ConvolutionDetectorResolution::ConvolutionDetectorResolution(cumulative_DF_1d res_function_1d)
diff --git a/Core/Resolution/ConvolutionDetectorResolution.h b/Core/Detector/ConvolutionDetectorResolution.h
similarity index 97%
rename from Core/Resolution/ConvolutionDetectorResolution.h
rename to Core/Detector/ConvolutionDetectorResolution.h
index a0b2e981ab08d4abca9069ba465dbc277539f858..77c45a7819fb6621455aa28b17d9017421aa01e8 100644
--- a/Core/Resolution/ConvolutionDetectorResolution.h
+++ b/Core/Detector/ConvolutionDetectorResolution.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Resolution/ConvolutionDetectorResolution.h
+//! @file      Core/Detector/ConvolutionDetectorResolution.h
 //! @brief     Defines class ConvolutionDetectorResolution.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/Export/SimulationToPython.cpp b/Core/Export/SimulationToPython.cpp
index 1d7b9123b224d3e0e6e6e0825c42b5f1928ef5ee..2f02b7b8dcee29d5c1a32396eff3945ea77330e7 100644
--- a/Core/Export/SimulationToPython.cpp
+++ b/Core/Export/SimulationToPython.cpp
@@ -18,9 +18,9 @@
 #include "Core/Beam/FootprintSquare.h"
 #include "Core/Computation/ConstantBackground.h"
 #include "Core/Computation/PoissonNoiseBackground.h"
-#include "Core/Resolution/ConvolutionDetectorResolution.h"
+#include "Core/Detector/ConvolutionDetectorResolution.h"
 #include "Core/TrueDetector/RectangularDetector.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Resolution/ResolutionFunction2DGaussian.h"
 #include "Core/TrueDetector/SphericalDetector.h"
 #include "Core/Export/INodeUtils.h"
diff --git a/Core/Fitting/SimDataPair.cpp b/Core/Fitting/SimDataPair.cpp
index 5246bec3c93e4efe87085803b46b49a3a398fd20..cee1092f2ecc86cc549e4c8a56c6be9b47a40c82 100644
--- a/Core/Fitting/SimDataPair.cpp
+++ b/Core/Fitting/SimDataPair.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "Core/Fitting/SimDataPair.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Data/OutputData.h"
 #include "Core/Simulation/Simulation.h"
 #include "Core/Simulation/UnitConverterUtils.h"
diff --git a/Core/Histo/IHistogram.h b/Core/Histo/IHistogram.h
index 3a23679534629ecd94b486213d69b027a992f474..86fbcb86e45086aabf1ea13297ef9db5ed00968f 100644
--- a/Core/Histo/IHistogram.h
+++ b/Core/Histo/IHistogram.h
@@ -16,7 +16,7 @@
 #define BORNAGAIN_CORE_INTENSITY_IHISTOGRAM_H
 
 #include "Base/Utils/PyObject.h"
-#include "Core/Intensity/CumulativeValue.h"
+#include "Core/Data/CumulativeValue.h"
 #include "Core/Data/OutputData.h"
 
 class Histogram1D;
diff --git a/Core/Simulation/DepthProbeSimulation.cpp b/Core/Simulation/DepthProbeSimulation.cpp
index 86e036d9518d64cbc1b863bf40e659867f3a63ad..86e2c530af28aef59d4968c89a6ed9ef7cad1fe5 100644
--- a/Core/Simulation/DepthProbeSimulation.cpp
+++ b/Core/Simulation/DepthProbeSimulation.cpp
@@ -20,7 +20,7 @@
 #include "Core/Computation/IBackground.h"
 #include "Core/TrueDetector/SpecularDetector1D.h"
 #include "Core/Histo/Histogram1D.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Core/Material/MaterialUtils.h"
 #include "Core/Multilayer/MultiLayer.h"
 #include "Core/Parametrization/Distributions.h"
diff --git a/Core/Simulation/OffSpecSimulation.cpp b/Core/Simulation/OffSpecSimulation.cpp
index 8672a753fe7c8fb79cff81be52ecd72e66b2f9b6..40fc389fffedb7e5ea6911b595575836738190c3 100644
--- a/Core/Simulation/OffSpecSimulation.cpp
+++ b/Core/Simulation/OffSpecSimulation.cpp
@@ -15,7 +15,7 @@
 #include "Core/Simulation/OffSpecSimulation.h"
 #include "Core/Computation/DWBAComputation.h"
 #include "Core/Histo/Histogram2D.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Core/Multilayer/MultiLayer.h"
 #include "Core/Parametrization/Distributions.h"
 #include "Core/Parametrization/ParameterPool.h"
diff --git a/Core/Simulation/UnitConverterUtils.cpp b/Core/Simulation/UnitConverterUtils.cpp
index 9c4e295408757cb6efb568cdeb1e9e2fedb1bbac..f5488076eef0f6cd7d05c52eff276fca9f348590 100644
--- a/Core/Simulation/UnitConverterUtils.cpp
+++ b/Core/Simulation/UnitConverterUtils.cpp
@@ -17,7 +17,7 @@
 #include "Core/TrueDetector/SphericalDetector.h"
 #include "Core/Instrument/Instrument.h"
 #include "Core/Data/OutputData.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Core/Unit/UnitConverter1D.h"
 #include "Core/Simulation/DepthProbeSimulation.h"
 #include "Core/Simulation/GISASSimulation.h"
diff --git a/Core/TrueDetector/DetectorFunctions.cpp b/Core/TrueDetector/DetectorFunctions.cpp
index 696b42b65eb47e8414cb1b7dd552b1a1bece9e69..f8258cff18a410db917284b9b9da449940fb1ca9 100644
--- a/Core/TrueDetector/DetectorFunctions.cpp
+++ b/Core/TrueDetector/DetectorFunctions.cpp
@@ -13,8 +13,8 @@
 // ************************************************************************** //
 
 #include "Core/TrueDetector/DetectorFunctions.h"
-#include "Core/Detector/SimulationArea.h"
-#include "Core/Detector/SimulationAreaIterator.h"
+#include "Core/TrueDetector/SimulationArea.h"
+#include "Core/TrueDetector/SimulationAreaIterator.h"
 #include "Core/Data/OutputData.h"
 #include "Fit/Tools/StringUtils.h"
 #include <algorithm>
diff --git a/Core/TrueDetector/DetectorMask.cpp b/Core/TrueDetector/DetectorMask.cpp
index 9a2a6d046c063621d8e63e15388607d6441afe28..bb5f4608d032ce07434a1a83dc5bcd58cb96e666 100644
--- a/Core/TrueDetector/DetectorMask.cpp
+++ b/Core/TrueDetector/DetectorMask.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "Core/TrueDetector/IDetector2D.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Histo/Histogram2D.h"
 
 DetectorMask::DetectorMask() : m_number_of_masked_channels(0) {}
diff --git a/Core/TrueDetector/IDetector.cpp b/Core/TrueDetector/IDetector.cpp
index 5604b44dc1762515e9036182e5e450d880abd537..c0f1c0c49f9cf2a7ce50a997abace9ea5285dff1 100644
--- a/Core/TrueDetector/IDetector.cpp
+++ b/Core/TrueDetector/IDetector.cpp
@@ -14,11 +14,11 @@
 
 #include "Core/TrueDetector/IDetector.h"
 #include "Core/Axis/IAxis.h"
-#include "Core/Resolution/ConvolutionDetectorResolution.h"
+#include "Core/Detector/ConvolutionDetectorResolution.h"
 #include "Core/TrueDetector/DetectorMask.h"
 #include "Core/Resolution/IDetectorResolution.h"
-#include "Core/Detector/RegionOfInterest.h"
-#include "Core/Detector/SimulationArea.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
+#include "Core/TrueDetector/SimulationArea.h"
 #include "Core/Data/OutputData.h"
 #include "Core/Pixel/SimulationElement.h"
 
diff --git a/Core/TrueDetector/IDetector.h b/Core/TrueDetector/IDetector.h
index 252f3e49db6f0147ddc61b6ff9804fc157507230..f86c58631f16c1467188fcaf44131fda6664df0d 100644
--- a/Core/TrueDetector/IDetector.h
+++ b/Core/TrueDetector/IDetector.h
@@ -18,7 +18,7 @@
 #include "Base/Types/CloneableVector.h"
 #include "Base/Types/ICloneable.h"
 #include "Core/Detector/DetectionProperties.h"
-#include "Core/Detector/SimulationAreaIterator.h"
+#include "Core/TrueDetector/SimulationAreaIterator.h"
 #include "Core/Unit/IUnitConverter.h"
 #include "Core/Parametrization/INode.h"
 
diff --git a/Core/TrueDetector/IDetector2D.cpp b/Core/TrueDetector/IDetector2D.cpp
index 74ebbf811de1c6c3406e64ba535c5614ef4cf1f3..8759fa220c3ada38da3954ca453384fbed2be671 100644
--- a/Core/TrueDetector/IDetector2D.cpp
+++ b/Core/TrueDetector/IDetector2D.cpp
@@ -17,8 +17,8 @@
 #include "Core/Beam/Beam.h"
 #include "Core/TrueDetector/DetectorContext.h"
 #include "Core/TrueDetector/DetectorFunctions.h"
-#include "Core/Detector/RegionOfInterest.h"
-#include "Core/Detector/SimulationArea.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
+#include "Core/TrueDetector/SimulationArea.h"
 #include "Core/Mask/InfinitePlane.h"
 #include "Core/Pixel/SimulationElement.h"
 
diff --git a/Core/Detector/IntensityDataFunctions.cpp b/Core/TrueDetector/IntensityDataFunctions.cpp
similarity index 98%
rename from Core/Detector/IntensityDataFunctions.cpp
rename to Core/TrueDetector/IntensityDataFunctions.cpp
index 5480a6cc6dfa0c6c66bd376853c940b416870668..3c47be76d117136219e81def746de8ef05bc29cc 100644
--- a/Core/Detector/IntensityDataFunctions.cpp
+++ b/Core/TrueDetector/IntensityDataFunctions.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/IntensityDataFunctions.cpp
+//! @file      Core/TrueDetector/IntensityDataFunctions.cpp
 //! @brief     Implement class IntensityDataFunctions.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 // ************************************************************************** //
 
-#include "Core/Detector/IntensityDataFunctions.h"
-#include "Core/Resolution/ConvolutionDetectorResolution.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
+#include "Core/Detector/ConvolutionDetectorResolution.h"
 #include "Core/TrueDetector/IDetector.h"
 #include "Core/Instrument/FourierTransform.h"
 #include "Core/Instrument/Instrument.h"
diff --git a/Core/Detector/IntensityDataFunctions.h b/Core/TrueDetector/IntensityDataFunctions.h
similarity index 98%
rename from Core/Detector/IntensityDataFunctions.h
rename to Core/TrueDetector/IntensityDataFunctions.h
index 1e0ae1807af34dcfb8f6194fc98f31fbcb362afd..a1fd14537356a5abcde83d2fa6f7151cefba650c 100644
--- a/Core/Detector/IntensityDataFunctions.h
+++ b/Core/TrueDetector/IntensityDataFunctions.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/IntensityDataFunctions.h
+//! @file      Core/TrueDetector/IntensityDataFunctions.h
 //! @brief     Defines class IntensityDataFunctions.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/TrueDetector/RectangularDetector.cpp b/Core/TrueDetector/RectangularDetector.cpp
index 84c1a105d0d795081859d57b8016fdaffdb35c9f..066ee4a457a43861ac6b2aed826ac9bb9a5724e6 100644
--- a/Core/TrueDetector/RectangularDetector.cpp
+++ b/Core/TrueDetector/RectangularDetector.cpp
@@ -17,8 +17,8 @@
 #include "Base/Const/Units.h"
 #include "Core/Beam/Beam.h"
 #include "Core/Resolution/IDetectorResolution.h"
-#include "Core/Detector/RectangularPixel.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RectangularPixel.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Pixel/SimulationElement.h"
 
 RectangularDetector::RectangularDetector(size_t nxbins, double width, size_t nybins, double height)
diff --git a/Core/Detector/RectangularPixel.cpp b/Core/TrueDetector/RectangularPixel.cpp
similarity index 94%
rename from Core/Detector/RectangularPixel.cpp
rename to Core/TrueDetector/RectangularPixel.cpp
index 0729da62d355a312f8a17f21255da2b2d9c5ff3e..8e4c5e18e9971cf745eb723b1eeade24e8e15fef 100644
--- a/Core/Detector/RectangularPixel.cpp
+++ b/Core/TrueDetector/RectangularPixel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/RectangularPixel.cpp
+//! @file      Core/TrueDetector/RectangularPixel.cpp
 //! @brief     Implements class RectangularPixel.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,12 +12,12 @@
 //
 // ************************************************************************** //
 
-#include "Core/Detector/RectangularPixel.h"
+#include "Core/TrueDetector/RectangularPixel.h"
 #include "Base/Const/MathConstants.h"
 #include "Base/Const/Units.h"
 #include "Core/Beam/Beam.h"
 #include "Core/Resolution/IDetectorResolution.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Pixel/SimulationElement.h"
 
 RectangularPixel::RectangularPixel(kvector_t corner_pos, kvector_t width, kvector_t height)
diff --git a/Core/Detector/RectangularPixel.h b/Core/TrueDetector/RectangularPixel.h
similarity index 96%
rename from Core/Detector/RectangularPixel.h
rename to Core/TrueDetector/RectangularPixel.h
index a979747d16abb257572d2225a5b6bec3c9a58572..d3765728aedb692a5f02dcc3ca1c05a02f3a3a46 100644
--- a/Core/Detector/RectangularPixel.h
+++ b/Core/TrueDetector/RectangularPixel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/RectangularPixel.h
+//! @file      Core/TrueDetector/RectangularPixel.h
 //! @brief     Defines class RectangularPixel.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/Detector/RegionOfInterest.cpp b/Core/TrueDetector/RegionOfInterest.cpp
similarity index 97%
rename from Core/Detector/RegionOfInterest.cpp
rename to Core/TrueDetector/RegionOfInterest.cpp
index 0f224548665a1c5ce27ce4a7d6633ffec09d6e2c..ab37f3b0bfdcb69ff04960d3d203d68647554aa0 100644
--- a/Core/Detector/RegionOfInterest.cpp
+++ b/Core/TrueDetector/RegionOfInterest.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/RegionOfInterest.cpp
+//! @file      Core/TrueDetector/RegionOfInterest.cpp
 //! @brief     Implements class RegionOfInterest.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 // ************************************************************************** //
 
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Base/Types/Exceptions.h"
 #include "Core/TrueDetector/IDetector2D.h"
 #include "Core/Mask/Rectangle.h"
diff --git a/Core/Detector/RegionOfInterest.h b/Core/TrueDetector/RegionOfInterest.h
similarity index 98%
rename from Core/Detector/RegionOfInterest.h
rename to Core/TrueDetector/RegionOfInterest.h
index 676e82b1ee5a8c39009d3fd2874db74a5d807c75..956d561d7851e814c821a4b7fb628a8be3639650 100644
--- a/Core/Detector/RegionOfInterest.h
+++ b/Core/TrueDetector/RegionOfInterest.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/RegionOfInterest.h
+//! @file      Core/TrueDetector/RegionOfInterest.h
 //! @brief     Defines class RegionOfInterest.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/Unit/SimpleUnitConverters.cpp b/Core/TrueDetector/SimpleUnitConverters.cpp
similarity index 98%
rename from Core/Unit/SimpleUnitConverters.cpp
rename to Core/TrueDetector/SimpleUnitConverters.cpp
index c89f868269c24da1dc950de1cbf52e431943c2f2..dcf6538d42aa2edd498136e2780bb7da7476899c 100644
--- a/Core/Unit/SimpleUnitConverters.cpp
+++ b/Core/TrueDetector/SimpleUnitConverters.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Unit/SimpleUnitConverters.cpp
+//! @file      Core/TrueDetector/SimpleUnitConverters.cpp
 //! @brief     Implements IUnitConverter classes.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,15 +12,15 @@
 //
 // ************************************************************************** //
 
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Base/Const/MathConstants.h"
 #include "Base/Const/Units.h"
 #include "Core/Beam/Beam.h"
 #include "Core/TrueDetector/RectangularDetector.h"
-#include "Core/Detector/RectangularPixel.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RectangularPixel.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/TrueDetector/SphericalDetector.h"
-#include "Core/Intensity/AxisNames.h"
+#include "Core/Unit/AxisNames.h"
 #include <algorithm>
 #include <cmath>
 #include <stdexcept>
diff --git a/Core/Unit/SimpleUnitConverters.h b/Core/TrueDetector/SimpleUnitConverters.h
similarity index 99%
rename from Core/Unit/SimpleUnitConverters.h
rename to Core/TrueDetector/SimpleUnitConverters.h
index 63c3fb726316e99b22568e89ec642c3cf3200f55..b66f30c0381eb4cc20fbb4f52ad540c6ad9f2b1b 100644
--- a/Core/Unit/SimpleUnitConverters.h
+++ b/Core/TrueDetector/SimpleUnitConverters.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Unit/SimpleUnitConverters.h
+//! @file      Core/TrueDetector/SimpleUnitConverters.h
 //! @brief     Defines interface UnitConverterSimple and its subclasses.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/Detector/SimulationArea.cpp b/Core/TrueDetector/SimulationArea.cpp
similarity index 93%
rename from Core/Detector/SimulationArea.cpp
rename to Core/TrueDetector/SimulationArea.cpp
index 43cabd8933ccb68b40c88141f245a7bee5292e79..56464e4bb9b1c20a10e0d212ae3df28963cabe4f 100644
--- a/Core/Detector/SimulationArea.cpp
+++ b/Core/TrueDetector/SimulationArea.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/SimulationArea.cpp
+//! @file      Core/TrueDetector/SimulationArea.cpp
 //! @brief     Implements class SimulationArea.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,11 @@
 //
 // ************************************************************************** //
 
-#include "Core/Detector/SimulationArea.h"
+#include "Core/TrueDetector/SimulationArea.h"
 #include "Base/Types/Exceptions.h"
 #include "Core/TrueDetector/DetectorMask.h"
 #include "Core/TrueDetector/IDetector.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Mask/Rectangle.h"
 #include <sstream>
 
diff --git a/Core/Detector/SimulationArea.h b/Core/TrueDetector/SimulationArea.h
similarity index 94%
rename from Core/Detector/SimulationArea.h
rename to Core/TrueDetector/SimulationArea.h
index 156e0aa96bd90293f9d1d3ff99c5f4bdfe3710b9..37d11f6cbc7bae12a24f43d90eed323362ff1ee3 100644
--- a/Core/Detector/SimulationArea.h
+++ b/Core/TrueDetector/SimulationArea.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/SimulationArea.h
+//! @file      Core/TrueDetector/SimulationArea.h
 //! @brief     Defines class SimulationArea.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -15,7 +15,7 @@
 #ifndef BORNAGAIN_CORE_DETECTOR_SIMULATIONAREA_H
 #define BORNAGAIN_CORE_DETECTOR_SIMULATIONAREA_H
 
-#include "Core/Detector/SimulationAreaIterator.h"
+#include "Core/TrueDetector/SimulationAreaIterator.h"
 
 class IDetector;
 
diff --git a/Core/Detector/SimulationAreaIterator.cpp b/Core/TrueDetector/SimulationAreaIterator.cpp
similarity index 92%
rename from Core/Detector/SimulationAreaIterator.cpp
rename to Core/TrueDetector/SimulationAreaIterator.cpp
index 59ef6cdbe57fa4ac3fecccf5cd47c20ceb65cf0d..4c479d1f2d77a63bec75b646ae587b2623e2cec9 100644
--- a/Core/Detector/SimulationAreaIterator.cpp
+++ b/Core/TrueDetector/SimulationAreaIterator.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/SimulationAreaIterator.cpp
+//! @file      Core/TrueDetector/SimulationAreaIterator.cpp
 //! @brief     Implements class SimulationAreaIterator.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,9 +12,9 @@
 //
 // ************************************************************************** //
 
-#include "Core/Detector/SimulationAreaIterator.h"
+#include "Core/TrueDetector/SimulationAreaIterator.h"
 #include "Core/TrueDetector/IDetector2D.h"
-#include "Core/Detector/SimulationArea.h"
+#include "Core/TrueDetector/SimulationArea.h"
 
 SimulationAreaIterator::SimulationAreaIterator(const SimulationArea* area, size_t start_at_index)
     : m_area(area), m_index(start_at_index), m_element_index(0)
diff --git a/Core/Detector/SimulationAreaIterator.h b/Core/TrueDetector/SimulationAreaIterator.h
similarity index 97%
rename from Core/Detector/SimulationAreaIterator.h
rename to Core/TrueDetector/SimulationAreaIterator.h
index 04ba8389ed90d192884a7ed51cba23bec81e39c9..a3ba0a8b4814c9ec2a24517fc58f6c25e0c7e0e4 100644
--- a/Core/Detector/SimulationAreaIterator.h
+++ b/Core/TrueDetector/SimulationAreaIterator.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Detector/SimulationAreaIterator.h
+//! @file      Core/TrueDetector/SimulationAreaIterator.h
 //! @brief     Defines class SimulationAreaIterator.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/Intensity/AxisNames.cpp b/Core/Unit/AxisNames.cpp
similarity index 98%
rename from Core/Intensity/AxisNames.cpp
rename to Core/Unit/AxisNames.cpp
index c2fd5595b50c0713fb835d562e0555fbd78dff61..ab521a91312a45c5c45137e373de6afff9daa2e3 100644
--- a/Core/Intensity/AxisNames.cpp
+++ b/Core/Unit/AxisNames.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Intensity/AxisNames.cpp
+//! @file      Core/Unit/AxisNames.cpp
 //! @brief     Implements functions in namespace AxisNames.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 // ************************************************************************** //
 
-#include "Core/Intensity/AxisNames.h"
+#include "Core/Unit/AxisNames.h"
 #include <map>
 
 namespace AxisNames
diff --git a/Core/Intensity/AxisNames.h b/Core/Unit/AxisNames.h
similarity index 97%
rename from Core/Intensity/AxisNames.h
rename to Core/Unit/AxisNames.h
index 7376a76f73f948a86c7d67ed16d86ddb4680187d..c8385b7a769d279830526ca2130b7cf7964615eb 100644
--- a/Core/Intensity/AxisNames.h
+++ b/Core/Unit/AxisNames.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      Core/Intensity/AxisNames.h
+//! @file      Core/Unit/AxisNames.h
 //! @brief     Defines namespace AxisNames.
 //!
 //! @homepage  http://www.bornagainproject.org
diff --git a/Core/Unit/UnitConverter1D.cpp b/Core/Unit/UnitConverter1D.cpp
index 653ef4ce16ea90a3cbd75b3dbec157d92cc9d15a..752e004c58bf42d0e09f443d0309b9028b185298 100644
--- a/Core/Unit/UnitConverter1D.cpp
+++ b/Core/Unit/UnitConverter1D.cpp
@@ -20,7 +20,7 @@
 #include "Core/Beam/Beam.h"
 #include "Core/Scan/AngularSpecScan.h"
 #include "Core/Scan/QSpecScan.h"
-#include "Core/Intensity/AxisNames.h"
+#include "Core/Unit/AxisNames.h"
 #include "Core/Data/OutputData.h"
 
 namespace
diff --git a/GUI/coregui/Models/DepthProbeInstrumentItem.cpp b/GUI/coregui/Models/DepthProbeInstrumentItem.cpp
index 4e608739dda6deb5b96769f4a57079f055f1f02a..ead0d13ddf600252803b108a43d7d20688fe84aa 100644
--- a/GUI/coregui/Models/DepthProbeInstrumentItem.cpp
+++ b/GUI/coregui/Models/DepthProbeInstrumentItem.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/coregui/Models/DepthProbeInstrumentItem.h"
 #include "Base/Const/Units.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Core/Simulation/DepthProbeSimulation.h"
 #include "GUI/coregui/Models/AxesItems.h"
 #include "GUI/coregui/Models/BeamDistributionItem.h"
diff --git a/GUI/coregui/Models/DomainObjectBuilder.cpp b/GUI/coregui/Models/DomainObjectBuilder.cpp
index d7269363137265157bd0cc37636bcae0397c9714..49a0a5ba6f4f3f332a495bb115655de0a8d87f14 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.cpp
+++ b/GUI/coregui/Models/DomainObjectBuilder.cpp
@@ -15,7 +15,7 @@
 #include "GUI/coregui/Models/DomainObjectBuilder.h"
 #include "Base/Const/Units.h"
 #include "Core/TrueDetector/IDetector2D.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Core/Unit/UnitConverter1D.h"
 #include "Core/Simulation/UnitConverterUtils.h"
 #include "GUI/coregui/Models/AxesItems.h"
diff --git a/GUI/coregui/Models/TransformFromDomain.cpp b/GUI/coregui/Models/TransformFromDomain.cpp
index 66a365160a9bd23df17ef1aaef2e2e6f2360df72..6233672cc9af9c10435d992b25a3074b24d5e18b 100644
--- a/GUI/coregui/Models/TransformFromDomain.cpp
+++ b/GUI/coregui/Models/TransformFromDomain.cpp
@@ -23,9 +23,9 @@
 #include "Core/Computation/PoissonNoiseBackground.h"
 #include "Core/Correlations/FTDistributions1D.h"
 #include "Core/Correlations/FTDistributions2D.h"
-#include "Core/Resolution/ConvolutionDetectorResolution.h"
+#include "Core/Detector/ConvolutionDetectorResolution.h"
 #include "Core/TrueDetector/RectangularDetector.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Resolution/ResolutionFunction2DGaussian.h"
 #include "Core/Resolution/ScanResolution.h"
 #include "Core/TrueDetector/SphericalDetector.h"
diff --git a/GUI/coregui/Views/FitWidgets/FitComparisonController.cpp b/GUI/coregui/Views/FitWidgets/FitComparisonController.cpp
index 6562c68c9f1fa7312d1940b7f4953e2ed26d478b..e7c44db6fde16dc471bafae7c3d605850d5c8c94 100644
--- a/GUI/coregui/Views/FitWidgets/FitComparisonController.cpp
+++ b/GUI/coregui/Views/FitWidgets/FitComparisonController.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "GUI/coregui/Views/FitWidgets/FitComparisonController.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "GUI/coregui/Models/AxesItems.h"
 #include "GUI/coregui/Models/IntensityDataItem.h"
 #include "GUI/coregui/Models/JobItem.h"
diff --git a/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp b/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp
index 384b47cacab779b8557a71a50452c2ca38b35b8d..9b05af0997c80e02718de27b3e7a8e26114235ad 100644
--- a/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp
+++ b/GUI/coregui/Views/FitWidgets/FitComparisonViewController.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "GUI/coregui/Views/FitWidgets/FitComparisonViewController.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "GUI/coregui/Models/AxesItems.h"
 #include "GUI/coregui/Models/Data1DViewItem.h"
 #include "GUI/coregui/Models/DataItem.h"
diff --git a/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorActions.cpp b/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorActions.cpp
index 6bacb77c8d219d4bf6ce0c2ac2e8da274cfd7efc..6efc7257f56cb95dbbf156eaa2f8395f84541a3e 100644
--- a/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorActions.cpp
+++ b/GUI/coregui/Views/ImportDataWidgets/RealDataSelectorActions.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "GUI/coregui/Views/ImportDataWidgets/RealDataSelectorActions.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Data/OutputData.h"
 #include "GUI/coregui/Models/IntensityDataItem.h"
 #include "GUI/coregui/Models/MaskItems.h"
diff --git a/GUI/coregui/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp b/GUI/coregui/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp
index 59018e5864537195dbed82f8e728c51eb5f6505d..b45a1410f1223f4a00243017bc520070f429e177 100644
--- a/GUI/coregui/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp
+++ b/GUI/coregui/Views/IntensityDataWidgets/IntensityDataFFTPresenter.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "GUI/coregui/Views/IntensityDataWidgets/IntensityDataFFTPresenter.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "GUI/coregui/Models/IntensityDataItem.h"
 #include "GUI/coregui/Models/SessionModel.h"
 #include "GUI/coregui/utils/GUIHelpers.h"
diff --git a/GUI/coregui/Views/MaskWidgets/MaskResultsPresenter.cpp b/GUI/coregui/Views/MaskWidgets/MaskResultsPresenter.cpp
index ed185b950ce8f7a90f0d03aa74136d4c47489515..d7332da887efcd68c225f1365e3baef0fc5af3b0 100644
--- a/GUI/coregui/Views/MaskWidgets/MaskResultsPresenter.cpp
+++ b/GUI/coregui/Views/MaskWidgets/MaskResultsPresenter.cpp
@@ -14,7 +14,7 @@
 
 #include "GUI/coregui/Views/MaskWidgets/MaskResultsPresenter.h"
 #include "Core/TrueDetector/DetectorMask.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Data/OutputData.h"
 #include "Core/Mask/IShape2D.h"
 #include "GUI/coregui/Models/IntensityDataItem.h"
diff --git a/GUI/coregui/Views/MaskWidgets/MaskUnitsConverter.cpp b/GUI/coregui/Views/MaskWidgets/MaskUnitsConverter.cpp
index f2ee002cac69ce55bd74d573b7dec5595d829867..31d4ded83b73725e4cbbdbd61e56b19e3b0243df 100644
--- a/GUI/coregui/Views/MaskWidgets/MaskUnitsConverter.cpp
+++ b/GUI/coregui/Views/MaskWidgets/MaskUnitsConverter.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "GUI/coregui/Views/MaskWidgets/MaskUnitsConverter.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "GUI/coregui/Models/IntensityDataItem.h"
 #include "GUI/coregui/Models/MaskItems.h"
 #include "GUI/coregui/Models/ProjectionItems.h"
diff --git a/GUI/coregui/utils/ImportDataInfo.cpp b/GUI/coregui/utils/ImportDataInfo.cpp
index 3f89cf013d8fb7b184052a39debf27509177cd40..9f0df9ed7b7eeecdf702f534c3bad7e1cfcf3d3b 100644
--- a/GUI/coregui/utils/ImportDataInfo.cpp
+++ b/GUI/coregui/utils/ImportDataInfo.cpp
@@ -13,7 +13,7 @@
 // ************************************************************************** //
 
 #include "GUI/coregui/utils/ImportDataInfo.h"
-#include "Core/Intensity/AxisNames.h"
+#include "Core/Unit/AxisNames.h"
 #include "Core/Data/OutputData.h"
 #include "GUI/coregui/Models/JobItemUtils.h"
 #include "GUI/coregui/Views/ImportDataWidgets/ImportDataUtils.h"
diff --git a/Tests/Functional/Core/Consistence/CompareTwoReferences.cpp b/Tests/Functional/Core/Consistence/CompareTwoReferences.cpp
index 12cff9962b73919b4966348f284be96cdab6e746..4d4d59d36ed0300cfbd971357b89a38e50ebbf1a 100644
--- a/Tests/Functional/Core/Consistence/CompareTwoReferences.cpp
+++ b/Tests/Functional/Core/Consistence/CompareTwoReferences.cpp
@@ -17,7 +17,7 @@
 #include "Base/Utils/Assert.h"
 #include "Base/Utils/FileSystemUtils.h"
 #include "Core/InputOutput/IntensityDataIOFactory.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include <iostream>
 
 namespace
diff --git a/Tests/Functional/Core/CoreSpecial/BatchSimulation.cpp b/Tests/Functional/Core/CoreSpecial/BatchSimulation.cpp
index 81d26ddc11ffec85a790f0568488ac3481e585da..bdebddea397abd75397260cc359472591812df60 100644
--- a/Tests/Functional/Core/CoreSpecial/BatchSimulation.cpp
+++ b/Tests/Functional/Core/CoreSpecial/BatchSimulation.cpp
@@ -11,7 +11,7 @@
 //
 // ************************************************************************** //
 
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Simulation/Simulation.h"
 #include "Core/Simulation/SimulationFactory.h"
 #include "Core/StandardSamples/SampleBuilderFactory.h"
diff --git a/Tests/Functional/Core/CoreSpecial/CoreIOPathTest.cpp b/Tests/Functional/Core/CoreSpecial/CoreIOPathTest.cpp
index 5d2b8a4e6cbdf962055809709972df27e5c9c579..01ea7565ae9483ab3be330a7b1312994a97dddb1 100644
--- a/Tests/Functional/Core/CoreSpecial/CoreIOPathTest.cpp
+++ b/Tests/Functional/Core/CoreSpecial/CoreIOPathTest.cpp
@@ -15,7 +15,7 @@
 #include "BATesting.h"
 #include "Base/Utils/FileSystemUtils.h"
 #include "Core/InputOutput/IntensityDataIOFactory.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Data/OutputData.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <boost/filesystem.hpp>
diff --git a/Tests/Functional/Core/CoreSpecial/FourierTransformationTest.cpp b/Tests/Functional/Core/CoreSpecial/FourierTransformationTest.cpp
index 7f9c219ca412a5aec5fd643cf93c5d43a665d1ad..5a9d3e9ec47b11a73d34ab158e726cc1c074886f 100644
--- a/Tests/Functional/Core/CoreSpecial/FourierTransformationTest.cpp
+++ b/Tests/Functional/Core/CoreSpecial/FourierTransformationTest.cpp
@@ -15,7 +15,7 @@
 #include "BATesting.h"
 #include "Base/Utils/FileSystemUtils.h"
 #include "Core/InputOutput/IntensityDataIOFactory.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Data/OutputData.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <iostream>
diff --git a/Tests/Functional/Core/MPI/mpitest.cpp b/Tests/Functional/Core/MPI/mpitest.cpp
index 19f6c5cf52e2ceb4f77c5c167f6fb3a64ddee0ff..5e0229d79caa9336f37c11ea9a604a66c9bddec5 100644
--- a/Tests/Functional/Core/MPI/mpitest.cpp
+++ b/Tests/Functional/Core/MPI/mpitest.cpp
@@ -1,7 +1,7 @@
 #include <mpi.h>
 
 #include "Core/InputOutput/IntensityDataIOFactory.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Multilayer/MultiLayer.h"
 #include "Core/Simulation/SimulationFactory.h"
 #include "Core/StandardSamples/SampleBuilderFactory.h"
diff --git a/Tests/Functional/Core/Std/Check.cpp b/Tests/Functional/Core/Std/Check.cpp
index 451f83864bdadb6b6c96e7eb764d00640d717544..1468a6831a9f42b274f154652cb34f39c9892796 100644
--- a/Tests/Functional/Core/Std/Check.cpp
+++ b/Tests/Functional/Core/Std/Check.cpp
@@ -17,7 +17,7 @@
 #include "Base/Utils/Assert.h"
 #include "Base/Utils/FileSystemUtils.h"
 #include "Core/InputOutput/IntensityDataIOFactory.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Multilayer/MultiLayer.h"
 #include "Core/SampleBuilderEngine/ISampleBuilder.h"
 #include "Core/Simulation/Simulation.h"
diff --git a/Tests/Functional/GUI/Std/Check.cpp b/Tests/Functional/GUI/Std/Check.cpp
index ecb79459fe4a7776b95704376aa533634cdd0e2f..4bb4ec05575b44a121f27cb8c46569101cfe5498 100644
--- a/Tests/Functional/GUI/Std/Check.cpp
+++ b/Tests/Functional/GUI/Std/Check.cpp
@@ -12,7 +12,7 @@
 //
 // ************************************************************************** //
 
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Simulation/Simulation.h"
 #include "GUI/coregui/Models/DocumentModel.h"
 #include "GUI/coregui/Models/DomainSimulationBuilder.h"
diff --git a/Tests/Functional/Python/Std/Check.cpp b/Tests/Functional/Python/Std/Check.cpp
index 8fbb8d512087bfe0716bde534e85052b82b6b14e..afc3bec7d715b961965cc84d998680f58eb3a3af 100644
--- a/Tests/Functional/Python/Std/Check.cpp
+++ b/Tests/Functional/Python/Std/Check.cpp
@@ -18,7 +18,7 @@
 #include "Base/Utils/FileSystemUtils.h"
 #include "Core/Export/ExportToPython.h"
 #include "Core/InputOutput/IntensityDataIOFactory.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Simulation/Simulation.h"
 #include <fstream>
 #include <iostream>
diff --git a/Tests/UnitTests/Core/Axes/DepthProbeConverterTest.cpp b/Tests/UnitTests/Core/Axes/DepthProbeConverterTest.cpp
index 88a61aac8d22c543d812be59e8c3d0b8aa65bbfd..c82d451380366fa3f7f7ddc277e414faa02b02ee 100644
--- a/Tests/UnitTests/Core/Axes/DepthProbeConverterTest.cpp
+++ b/Tests/UnitTests/Core/Axes/DepthProbeConverterTest.cpp
@@ -2,7 +2,7 @@
 #include "Base/Const/Units.h"
 #include "Core/Axis/FixedBinAxis.h"
 #include "Core/Beam/Beam.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class DepthProbeConverterTest : public ::testing::Test
diff --git a/Tests/UnitTests/Core/DataStructure/IntensityDataFunctionsTest.cpp b/Tests/UnitTests/Core/DataStructure/IntensityDataFunctionsTest.cpp
index 1228cb317cb656073164ac11476efb5e99c8c4ac..882f95020ed15d1bfb1ffbfec7567b48cdaef4c4 100644
--- a/Tests/UnitTests/Core/DataStructure/IntensityDataFunctionsTest.cpp
+++ b/Tests/UnitTests/Core/DataStructure/IntensityDataFunctionsTest.cpp
@@ -1,4 +1,4 @@
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Axis/VariableBinAxis.h"
 #include "Tests/GTestWrapper/google_test.h"
 
diff --git a/Tests/UnitTests/Core/DataStructure/OutputDataTest.cpp b/Tests/UnitTests/Core/DataStructure/OutputDataTest.cpp
index c10a1db9764f1a34a25e4bb3ca86264030e7c5a8..763a2df7a929daf4a00cf647d1141b92fb1fd392 100644
--- a/Tests/UnitTests/Core/DataStructure/OutputDataTest.cpp
+++ b/Tests/UnitTests/Core/DataStructure/OutputDataTest.cpp
@@ -1,7 +1,7 @@
 #include "Core/Data/OutputData.h"
 #include "Core/Axis/FixedBinAxis.h"
 #include "Core/Axis/VariableBinAxis.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Parametrization/ThreadInfo.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <algorithm>
diff --git a/Tests/UnitTests/Core/Detector/OffSpecularConverterTest.cpp b/Tests/UnitTests/Core/Detector/OffSpecularConverterTest.cpp
index a2eae76b379b55d2083d33e9b2cb43fcbf06bf75..5000d11fc32a759e685610e6f59e534841380ef9 100644
--- a/Tests/UnitTests/Core/Detector/OffSpecularConverterTest.cpp
+++ b/Tests/UnitTests/Core/Detector/OffSpecularConverterTest.cpp
@@ -2,7 +2,7 @@
 #include "Base/Vector/Vectors3D.h"
 #include "Core/Beam/Beam.h"
 #include "Core/TrueDetector/SphericalDetector.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class OffSpecularConverterTest : public ::testing::Test
diff --git a/Tests/UnitTests/Core/Detector/RectangularConverterTest.cpp b/Tests/UnitTests/Core/Detector/RectangularConverterTest.cpp
index 9f4178a208e9a9ccf53be82e0fb4bddc8e5f28d7..1146901a3ee08c78564cce6ea50cf2577593780e 100644
--- a/Tests/UnitTests/Core/Detector/RectangularConverterTest.cpp
+++ b/Tests/UnitTests/Core/Detector/RectangularConverterTest.cpp
@@ -2,7 +2,7 @@
 #include "Base/Vector/Vectors3D.h"
 #include "Core/Beam/Beam.h"
 #include "Core/TrueDetector/RectangularDetector.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <cmath>
 
diff --git a/Tests/UnitTests/Core/Detector/RegionOfInterestTest.cpp b/Tests/UnitTests/Core/Detector/RegionOfInterestTest.cpp
index 16415f5615f14cc2f7dc04966b8dec406e9dde86..bc082b5e27b0c96ded64510a9700db953cdcc060 100644
--- a/Tests/UnitTests/Core/Detector/RegionOfInterestTest.cpp
+++ b/Tests/UnitTests/Core/Detector/RegionOfInterestTest.cpp
@@ -1,4 +1,4 @@
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Base/Types/Exceptions.h"
 #include "Core/TrueDetector/SphericalDetector.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Tests/UnitTests/Core/Detector/SimulationAreaTest.cpp b/Tests/UnitTests/Core/Detector/SimulationAreaTest.cpp
index 5f16218502de83e931547405f088b2f52ba9a46d..367e4b636a6df33f5f6dbd5fd068679cd76a66ec 100644
--- a/Tests/UnitTests/Core/Detector/SimulationAreaTest.cpp
+++ b/Tests/UnitTests/Core/Detector/SimulationAreaTest.cpp
@@ -1,4 +1,4 @@
-#include "Core/Detector/SimulationArea.h"
+#include "Core/TrueDetector/SimulationArea.h"
 #include "Core/TrueDetector/DetectorFunctions.h"
 #include "Core/TrueDetector/SphericalDetector.h"
 #include "Core/Mask/Rectangle.h"
diff --git a/Tests/UnitTests/Core/Detector/SpecularDetector1DTest.cpp b/Tests/UnitTests/Core/Detector/SpecularDetector1DTest.cpp
index 2b581c91a5fe72d404b6e4d2d4ae37f79e8596d2..724f4e18650c648e3a332fe07a6a2496d132f769 100644
--- a/Tests/UnitTests/Core/Detector/SpecularDetector1DTest.cpp
+++ b/Tests/UnitTests/Core/Detector/SpecularDetector1DTest.cpp
@@ -2,7 +2,7 @@
 #include "Base/Const/Units.h"
 #include "Core/Axis/FixedBinAxis.h"
 #include "Core/Beam/Beam.h"
-#include "Core/Detector/SimulationArea.h"
+#include "Core/TrueDetector/SimulationArea.h"
 #include "Core/Data/OutputData.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <memory>
diff --git a/Tests/UnitTests/Core/Detector/SphericalConverterTest.cpp b/Tests/UnitTests/Core/Detector/SphericalConverterTest.cpp
index 3d7d4e6171b47f0b9c1b2238ae8c7ee96166877e..5ebe4491369b4bfa250173d1e546397e32977ebc 100644
--- a/Tests/UnitTests/Core/Detector/SphericalConverterTest.cpp
+++ b/Tests/UnitTests/Core/Detector/SphericalConverterTest.cpp
@@ -2,7 +2,7 @@
 #include "Base/Vector/Vectors3D.h"
 #include "Core/Beam/Beam.h"
 #include "Core/TrueDetector/SphericalDetector.h"
-#include "Core/Unit/SimpleUnitConverters.h"
+#include "Core/TrueDetector/SimpleUnitConverters.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class SphericalConverterTest : public ::testing::Test
diff --git a/Tests/UnitTests/Core/Detector/SphericalDetectorTest.cpp b/Tests/UnitTests/Core/Detector/SphericalDetectorTest.cpp
index df09198bb313d6497afeff7d7ab1513626ba1911..aa6d5dd2dc383b2d614fd6db52dc09e123b8030c 100644
--- a/Tests/UnitTests/Core/Detector/SphericalDetectorTest.cpp
+++ b/Tests/UnitTests/Core/Detector/SphericalDetectorTest.cpp
@@ -3,11 +3,11 @@
 #include "Base/Types/Exceptions.h"
 #include "Core/Axis/FixedBinAxis.h"
 #include "Core/Beam/Beam.h"
-#include "Core/Resolution/ConvolutionDetectorResolution.h"
+#include "Core/Detector/ConvolutionDetectorResolution.h"
 #include "Core/TrueDetector/DetectorFunctions.h"
-#include "Core/Detector/RegionOfInterest.h"
+#include "Core/TrueDetector/RegionOfInterest.h"
 #include "Core/Resolution/ResolutionFunction2DGaussian.h"
-#include "Core/Detector/SimulationArea.h"
+#include "Core/TrueDetector/SimulationArea.h"
 #include "Core/Data/OutputData.h"
 #include "Core/Mask/Polygon.h"
 #include "Core/Mask/Rectangle.h"
diff --git a/Tests/UnitTests/Core/Other/CumulativeValueTest.cpp b/Tests/UnitTests/Core/Other/CumulativeValueTest.cpp
index 52a5f522336188948efdf7194dc00ce62ddc4b33..31e97175bd4259a850fb576889bf3f8fa02c3cca 100644
--- a/Tests/UnitTests/Core/Other/CumulativeValueTest.cpp
+++ b/Tests/UnitTests/Core/Other/CumulativeValueTest.cpp
@@ -1,4 +1,4 @@
-#include "Core/Intensity/CumulativeValue.h"
+#include "Core/Data/CumulativeValue.h"
 #include "Tests/GTestWrapper/google_test.h"
 
 class CumulativeValueTest : public ::testing::Test
diff --git a/Tests/UnitTests/GUI/TestCsvImportAssistant.cpp b/Tests/UnitTests/GUI/TestCsvImportAssistant.cpp
index 2a570a430c9cc75e368edf643290853e9f644970..11fee11fa4b88410bd282089b5274324b016cff9 100644
--- a/Tests/UnitTests/GUI/TestCsvImportAssistant.cpp
+++ b/Tests/UnitTests/GUI/TestCsvImportAssistant.cpp
@@ -1,7 +1,7 @@
 #include "Core/InputOutput/OutputDataReadFactory.h"
 #include "Core/InputOutput/OutputDataWriteFactory.h"
 #include "Core/Intensity/ArrayUtils.h"
-#include "Core/Intensity/AxisNames.h"
+#include "Core/Unit/AxisNames.h"
 #include "GUI/coregui/Models/JobItemUtils.h"
 #include "GUI/coregui/Models/SpecularDataItem.h"
 #include "GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvImportAssistant.h"
diff --git a/Tests/UnitTests/GUI/TestDetectorItems.cpp b/Tests/UnitTests/GUI/TestDetectorItems.cpp
index 6aa9a9791a99afef094a6e7b13c1ace88ab6c7a0..e40b1d4aac1601becde8188126a0fb7f48732be3 100644
--- a/Tests/UnitTests/GUI/TestDetectorItems.cpp
+++ b/Tests/UnitTests/GUI/TestDetectorItems.cpp
@@ -1,5 +1,5 @@
 #include "Base/Const/Units.h"
-#include "Core/Resolution/ConvolutionDetectorResolution.h"
+#include "Core/Detector/ConvolutionDetectorResolution.h"
 #include "Core/TrueDetector/IDetector2D.h"
 #include "Core/Resolution/ResolutionFunction2DGaussian.h"
 #include "GUI/coregui/Models/ComboProperty.h"
diff --git a/Tests/UnitTests/GUI/Utils.cpp b/Tests/UnitTests/GUI/Utils.cpp
index 59c67add44e2aaf9497bded97b4c659d2a094ff3..40da9eb307a4087f6e86026d32c848f6813844f4 100644
--- a/Tests/UnitTests/GUI/Utils.cpp
+++ b/Tests/UnitTests/GUI/Utils.cpp
@@ -15,7 +15,7 @@
 
 #include "Tests/UnitTests/GUI/Utils.h"
 #include "Core/InputOutput/IntensityDataIOFactory.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Data/OutputData.h"
 #include "GUI/coregui/Models/RealDataItem.h"
 #include "GUI/coregui/Models/SessionModel.h"
diff --git a/Wrap/swig/libBornAgainCore.i b/Wrap/swig/libBornAgainCore.i
index 04e3803e37fc7a9056150003eb53a9634bed0eaa..33bd535f25b3f3ed9a8f8da7fef39126a1bc7a49 100644
--- a/Wrap/swig/libBornAgainCore.i
+++ b/Wrap/swig/libBornAgainCore.i
@@ -160,7 +160,7 @@
 #include "Core/Histo/IHistogram.h"
 #include "Core/Intensity/IIntensityFunction.h"
 #include "Core/Intensity/IIntensityFunction.h"
-#include "Core/Detector/IntensityDataFunctions.h"
+#include "Core/TrueDetector/IntensityDataFunctions.h"
 #include "Core/Data/OutputData.h"
 #include "Core/Lattice/ILatticeOrientation.h"
 #include "Core/Lattice/ISelectionRule.h"
@@ -448,7 +448,7 @@
 
 %include "Core/Histo/Histogram1D.h"
 %include "Core/Histo/Histogram2D.h"
-%include "Core/Detector/IntensityDataFunctions.h"
+%include "Core/TrueDetector/IntensityDataFunctions.h"
 
 %include "Core/Instrument/IChiSquaredModule.h"
 %include "Core/Scan/ISpecularScan.h"