diff --git a/Core/Export/SimulationToPython.cpp b/Core/Export/SimulationToPython.cpp
index 002d74551aa18c778afdcb7336be80497769eeea..858afebb9366919c563bde5789da19b906709745 100644
--- a/Core/Export/SimulationToPython.cpp
+++ b/Core/Export/SimulationToPython.cpp
@@ -29,7 +29,7 @@
 #include "Device/Beam/FootprintSquare.h"
 #include "Device/Detector/RectangularDetector.h"
 #include "Device/Detector/SphericalDetector.h"
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 #include "Device/Resolution/ScanResolution.h"
@@ -252,8 +252,8 @@ std::string defineDetectorPolarizationAnalysis(const ISimulation* simulation)
                << Py::Fmt::printDouble(analyzer_direction.x()) << ", "
                << Py::Fmt::printDouble(analyzer_direction.y()) << ", "
                << Py::Fmt::printDouble(analyzer_direction.z()) << ")\n";
-        result << indent() << "simulation.detector().setAnalyzer(" << direction_name
-               << ", " << Py::Fmt::printDouble(analyzer_efficiency) << ", "
+        result << indent() << "simulation.detector().setAnalyzer(" << direction_name << ", "
+               << Py::Fmt::printDouble(analyzer_efficiency) << ", "
                << Py::Fmt::printDouble(analyzer_total_transmission) << ")\n";
     }
     return result.str();
diff --git a/Core/Simulation/ISimulation.cpp b/Core/Simulation/ISimulation.cpp
index 22d650750ca64f6e6d20982b454d70c59e05c3ed..fcf061fef17ff9d0ef5fc49980eaef9cec859e73 100644
--- a/Core/Simulation/ISimulation.cpp
+++ b/Core/Simulation/ISimulation.cpp
@@ -144,25 +144,32 @@ void ISimulation::initialize()
     registerChild(m_sample_provider.get());
 }
 
-void ISimulation::setOptions(const SimulationOptions& options) {
+void ISimulation::setOptions(const SimulationOptions& options)
+{
     ASSERT(m_options);
     *m_options = options;
 }
 
-const SimulationOptions& ISimulation::options() const {
+const SimulationOptions& ISimulation::options() const
+{
     ASSERT(m_options);
-    return *m_options; }
+    return *m_options;
+}
 
-SimulationOptions& ISimulation::options() {
+SimulationOptions& ISimulation::options()
+{
     ASSERT(m_options);
-    return *m_options; }
+    return *m_options;
+}
 
-ProgressHandler& ISimulation::progress() {
+ProgressHandler& ISimulation::progress()
+{
     ASSERT(m_progress);
     return *m_progress;
 }
 
-void ISimulation::subscribe(const std::function<bool(size_t)>& inform) {
+void ISimulation::subscribe(const std::function<bool(size_t)>& inform)
+{
     ASSERT(m_progress);
     m_progress->subscribe(inform);
 }
@@ -194,8 +201,7 @@ void ISimulation::runSimulation()
 {
     prepareSimulation();
 
-    const bool force_polarized =
-        detector().analyzer().polDirection() != kvector_t{};
+    const bool force_polarized = detector().analyzer().polDirection() != kvector_t{};
 
     const auto re_sample = ProcessedSample::make(*sample(), options(), force_polarized);
 
diff --git a/Device/Detector/IDetector.cpp b/Device/Detector/IDetector.cpp
index 64338d8b178d4e8b73175903a82f5e506f7007f8..c5f7b2b3f711d70f71d49ef1790b7b15fb84c8b5 100644
--- a/Device/Detector/IDetector.cpp
+++ b/Device/Detector/IDetector.cpp
@@ -14,7 +14,7 @@
 
 #include "Device/Detector/IDetector.h"
 #include "Base/Utils/Assert.h"
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Resample/Element/DiffuseElement.h"
 
@@ -154,8 +154,7 @@ size_t IDetector::detectorIndexToRegionOfInterestIndex(const size_t detectorInde
                              "implemented by derived class.");
 }
 
-void IDetector::setAnalyzer(const kvector_t direction, double efficiency,
-                                      double total_transmission)
+void IDetector::setAnalyzer(const kvector_t direction, double efficiency, double total_transmission)
 {
     m_detection_properties.setDirEffTra(direction, efficiency, total_transmission);
 }
diff --git a/Device/Detector/IDetector.h b/Device/Detector/IDetector.h
index 03c9ecdd411d9667a088d5d0f94d87bdb5f780dd..f89638848f47bf35eb2bc543de6037674303c93a 100644
--- a/Device/Detector/IDetector.h
+++ b/Device/Detector/IDetector.h
@@ -21,7 +21,7 @@
 #include "Base/Vector/Vectors3D.h"
 #include "Device/Coord/Axes.h"
 #include "Device/Detector/SimulationAreaIterator.h"
-#include "Device/ProDetector/PolFilter.h"
+#include "Device/Pol/PolFilter.h"
 
 class DetectorMask;
 class Direction;
@@ -63,8 +63,7 @@ public:
     void addAxis(const IAxis& axis);
 
     //! Sets the polarization analyzer characteristics of the detector
-    void setAnalyzer(const kvector_t direction, double efficiency,
-                               double total_transmission);
+    void setAnalyzer(const kvector_t direction, double efficiency, double total_transmission);
     //! Sets the detector resolution
     void setDetectorResolution(const IDetectorResolution& p_detector_resolution);
     void setResolutionFunction(const IResolutionFunction2D& resFunc);
diff --git a/Device/Detector/IDetector2D.cpp b/Device/Detector/IDetector2D.cpp
index 10a044ad516e661ff7d4ddb0e01a504836966793..b6fcbb5db01d71743fd9abd5eff676f652db3599 100644
--- a/Device/Detector/IDetector2D.cpp
+++ b/Device/Detector/IDetector2D.cpp
@@ -16,8 +16,8 @@
 #include "Base/Const/Units.h"
 #include "Device/Beam/Beam.h"
 #include "Device/Detector/DetectorContext.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Device/Mask/InfinitePlane.h"
-#include "Device/ProDetector/DetectorMask.h"
 #include "Resample/Element/DiffuseElement.h"
 
 namespace {
diff --git a/Device/Detector/SimulationAreaIterator.cpp b/Device/Detector/SimulationAreaIterator.cpp
index 49d5b3e8d1421bb41eec2b6acd96da39fc7c7cbd..e5ab4ef1962194b7996e68b8f9ee95ca5a2f61f1 100644
--- a/Device/Detector/SimulationAreaIterator.cpp
+++ b/Device/Detector/SimulationAreaIterator.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "Device/Detector/IDetector2D.h"
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 
 SimulationAreaIterator::SimulationAreaIterator(const IDetector* detector, Mode mode,
                                                size_t start_at_index)
diff --git a/Device/ProDetector/DetectorMask.cpp b/Device/Mask/DetectorMask.cpp
similarity index 97%
rename from Device/ProDetector/DetectorMask.cpp
rename to Device/Mask/DetectorMask.cpp
index 71d4bbacb71c677857015047c22b1e7e3684f2da..c5b8c577b4009b9fda769e80590734ba0948e748 100644
--- a/Device/ProDetector/DetectorMask.cpp
+++ b/Device/Mask/DetectorMask.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Device/ProDetector/DetectorMask.cpp
+//! @file      Device/Mask/DetectorMask.cpp
 //! @brief     Implements class DetectorMask.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Base/Axis/IAxis.h"
 #include "Device/Histo/Histogram2D.h"
 
diff --git a/Device/ProDetector/DetectorMask.h b/Device/Mask/DetectorMask.h
similarity index 90%
rename from Device/ProDetector/DetectorMask.h
rename to Device/Mask/DetectorMask.h
index 5c01199eec4deb788892e0aa6b8eeec33b2abe8b..e0c1b79cb4bbcf5e3775b09b484a22deafe22bc2 100644
--- a/Device/ProDetector/DetectorMask.h
+++ b/Device/Mask/DetectorMask.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Device/ProDetector/DetectorMask.h
+//! @file      Device/Mask/DetectorMask.h
 //! @brief     Defines class DetectorMask.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_DEVICE_PRODETECTOR_DETECTORMASK_H
-#define BORNAGAIN_DEVICE_PRODETECTOR_DETECTORMASK_H
+#ifndef BORNAGAIN_DEVICE_MASK_DETECTORMASK_H
+#define BORNAGAIN_DEVICE_MASK_DETECTORMASK_H
 
 #include "Base/Types/CloneableVector.h"
 #include "Device/Data/OutputData.h"
@@ -65,4 +65,4 @@ private:
     int m_number_of_masked_channels;
 };
 
-#endif // BORNAGAIN_DEVICE_PRODETECTOR_DETECTORMASK_H
+#endif // BORNAGAIN_DEVICE_MASK_DETECTORMASK_H
diff --git a/Device/ProDetector/PolFilter.cpp b/Device/Pol/PolFilter.cpp
similarity index 88%
rename from Device/ProDetector/PolFilter.cpp
rename to Device/Pol/PolFilter.cpp
index f3add634d6fe4a10702a27ccd0e3850b0bf5696b..c2f7a208f96e2d124a82fab478bb1cfe5c8d6114 100644
--- a/Device/ProDetector/PolFilter.cpp
+++ b/Device/Pol/PolFilter.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Device/ProDetector/PolFilter.cpp
+//! @file      Device/Pol/PolFilter.cpp
 //! @brief     Implements class DetectionProperties.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -12,11 +12,10 @@
 //
 //  ************************************************************************************************
 
-#include "Device/ProDetector/PolFilter.h"
+#include "Device/Pol/PolFilter.h"
 #include "Fit/Param/RealLimits.h"
 
-PolFilter::PolFilter(kvector_t direction, double efficiency,
-                                         double total_transmission)
+PolFilter::PolFilter(kvector_t direction, double efficiency, double total_transmission)
     : m_direction(direction), m_efficiency(efficiency), m_total_transmission(total_transmission)
 {
     setName("Analyzer");
@@ -32,7 +31,7 @@ PolFilter::PolFilter(const PolFilter& other)
 }
 
 void PolFilter::setDirEffTra(const kvector_t direction, double efficiency,
-                                                double total_transmission)
+                             double total_transmission)
 {
     if (!check(direction, efficiency, total_transmission))
         throw std::runtime_error("IDetector2D::setAnalyzer: the "
@@ -80,8 +79,7 @@ double PolFilter::totalTransmission() const
     return m_total_transmission;
 }
 
-bool PolFilter::check(const kvector_t direction, double efficiency,
-                                                  double total_transmission) const
+bool PolFilter::check(const kvector_t direction, double efficiency, double total_transmission) const
 {
     if (direction.mag() == 0.0)
         return false;
diff --git a/Device/ProDetector/PolFilter.h b/Device/Pol/PolFilter.h
similarity index 83%
rename from Device/ProDetector/PolFilter.h
rename to Device/Pol/PolFilter.h
index 27f24bc56b0b091fc41bfd88ec5d3dfabfcc2920..ca4a11a02065d001474930d3e34492c7c7dca16b 100644
--- a/Device/ProDetector/PolFilter.h
+++ b/Device/Pol/PolFilter.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Device/ProDetector/PolFilter.h
+//! @file      Device/Pol/PolFilter.h
 //! @brief     Defines class DetectionProperties.
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -17,12 +17,12 @@
 #endif
 
 #ifndef USER_API
-#ifndef BORNAGAIN_DEVICE_PRODETECTOR_POLFILTER_H
-#define BORNAGAIN_DEVICE_PRODETECTOR_POLFILTER_H
+#ifndef BORNAGAIN_DEVICE_POL_POLFILTER_H
+#define BORNAGAIN_DEVICE_POL_POLFILTER_H
 
-#include "Param/Node/INode.h"
 #include "Base/Vector/EigenCore.h"
 #include "Base/Vector/Vectors3D.h"
+#include "Param/Node/INode.h"
 
 //! Detector properties (efficiency, transmission).
 //! @ingroup detector
@@ -36,8 +36,7 @@ public:
     virtual ~PolFilter() = default;
 
     //! Sets the polarization analyzer characteristics of the detector
-    void setDirEffTra(const kvector_t direction, double efficiency,
-                               double total_transmission);
+    void setDirEffTra(const kvector_t direction, double efficiency, double total_transmission);
 
     //! Return the polarization density matrix (in spin basis along z-axis)
     Eigen::Matrix2cd analyzerOperator() const;
@@ -51,13 +50,12 @@ public:
 
 private:
     //! Verify if the given analyzer properties are physical
-    bool check(const kvector_t direction, double efficiency,
-                                 double total_transmission) const;
+    bool check(const kvector_t direction, double efficiency, double total_transmission) const;
 
     kvector_t m_direction;       //!< direction of polarization analysis
     double m_efficiency;         //!< efficiency of polarization analysis
     double m_total_transmission; //!< total transmission of polarization analysis
 };
 
-#endif // BORNAGAIN_DEVICE_PRODETECTOR_POLFILTER_H
+#endif // BORNAGAIN_DEVICE_POL_POLFILTER_H
 #endif // USER_API
diff --git a/GUI/Models/TransformFromDomain.cpp b/GUI/Models/TransformFromDomain.cpp
index 52bc80b36edff7790256e5571b0e43afbc67f7ff..db7c15888c82290d6b994bacd263607bda47637a 100644
--- a/GUI/Models/TransformFromDomain.cpp
+++ b/GUI/Models/TransformFromDomain.cpp
@@ -24,12 +24,12 @@
 #include "Device/Beam/FootprintSquare.h"
 #include "Device/Detector/RectangularDetector.h"
 #include "Device/Detector/SphericalDetector.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Device/Mask/Ellipse.h"
 #include "Device/Mask/InfinitePlane.h"
 #include "Device/Mask/Line.h"
 #include "Device/Mask/Polygon.h"
 #include "Device/Mask/Rectangle.h"
-#include "Device/ProDetector/DetectorMask.h"
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 #include "Device/Resolution/ScanResolution.h"
diff --git a/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp b/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp
index 64d73b173926d76444499d72f0df8dde0b34a050..93b2685c67e07d7206c7f609cae1181675464c74 100644
--- a/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp
+++ b/GUI/Views/MaskWidgets/MaskResultsPresenter.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Views/MaskWidgets/MaskResultsPresenter.h"
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 #include "GUI/Models/IntensityDataItem.h"
 #include "GUI/Models/MaskItems.h"
 #include "GUI/Models/SessionModel.h"
diff --git a/Sample/Aggregate/IInterferenceFunction.h b/Sample/Aggregate/IInterferenceFunction.h
index 47c72e7479782da723764a8e4f592be58d9a784e..2ae4d4bf3239aded0ada57d784f047ca83e13c9e 100644
--- a/Sample/Aggregate/IInterferenceFunction.h
+++ b/Sample/Aggregate/IInterferenceFunction.h
@@ -16,8 +16,8 @@
 #ifndef BORNAGAIN_SAMPLE_AGGREGATE_IINTERFERENCEFUNCTION_H
 #define BORNAGAIN_SAMPLE_AGGREGATE_IINTERFERENCEFUNCTION_H
 
-#include "Sample/Scattering/ISampleNode.h"
 #include "Base/Vector/Vectors3D.h"
+#include "Sample/Scattering/ISampleNode.h"
 
 //! Abstract base class of interference functions.
 
diff --git a/Sample/Correlations/IPeakShape.h b/Sample/Correlations/IPeakShape.h
index 1e0d4aea8917a7dfc12aa7242aa38a25d38dffdf..42dcc46262e829f718f91a1c939255e8305d6943 100644
--- a/Sample/Correlations/IPeakShape.h
+++ b/Sample/Correlations/IPeakShape.h
@@ -16,8 +16,8 @@
 #ifndef BORNAGAIN_SAMPLE_CORRELATIONS_IPEAKSHAPE_H
 #define BORNAGAIN_SAMPLE_CORRELATIONS_IPEAKSHAPE_H
 
-#include "Sample/Scattering/ISampleNode.h"
 #include "Base/Vector/Vectors3D.h"
+#include "Sample/Scattering/ISampleNode.h"
 
 //! Abstract base class class that defines the peak shape of a Bragg peak.
 
diff --git a/Sample/Interface/LayerRoughness.h b/Sample/Interface/LayerRoughness.h
index bd22235b77f1dc9fc9e3b594ca579a92f1fae00b..a0956114cda135908d01a0a0fafaa52a5382b08f 100644
--- a/Sample/Interface/LayerRoughness.h
+++ b/Sample/Interface/LayerRoughness.h
@@ -15,8 +15,8 @@
 #ifndef BORNAGAIN_SAMPLE_INTERFACE_LAYERROUGHNESS_H
 #define BORNAGAIN_SAMPLE_INTERFACE_LAYERROUGHNESS_H
 
-#include "Sample/Scattering/ISampleNode.h"
 #include "Base/Vector/Vectors3D.h"
+#include "Sample/Scattering/ISampleNode.h"
 
 //! A roughness of interface between two layers.
 //!
diff --git a/Sample/Lattice/Lattice3D.h b/Sample/Lattice/Lattice3D.h
index d7fd2ed50c45a9fad7f08f100ec0856213aa59bf..f2268ffdc8388012fa2a654624fc1292f3eadae4 100644
--- a/Sample/Lattice/Lattice3D.h
+++ b/Sample/Lattice/Lattice3D.h
@@ -15,8 +15,8 @@
 #ifndef BORNAGAIN_SAMPLE_LATTICE_LATTICE3D_H
 #define BORNAGAIN_SAMPLE_LATTICE_LATTICE3D_H
 
-#include "Param/Node/INode.h"
 #include "Base/Vector/Vectors3D.h"
+#include "Param/Node/INode.h"
 #include <memory>
 #include <vector>
 
diff --git a/Sample/Particle/IAbstractParticle.h b/Sample/Particle/IAbstractParticle.h
index 93401fbf70eac0d3df1016fcd452de3ab7efcf8a..185b34d1d8cbcba9b8078fa58766459e1210fcc7 100644
--- a/Sample/Particle/IAbstractParticle.h
+++ b/Sample/Particle/IAbstractParticle.h
@@ -16,8 +16,8 @@
 #ifndef BORNAGAIN_SAMPLE_PARTICLE_IABSTRACTPARTICLE_H
 #define BORNAGAIN_SAMPLE_PARTICLE_IABSTRACTPARTICLE_H
 
-#include "Sample/Scattering/ISampleNode.h"
 #include "Base/Vector/Vectors3D.h"
+#include "Sample/Scattering/ISampleNode.h"
 
 class IRotation;
 
diff --git a/Sample/Scattering/IFormFactor.h b/Sample/Scattering/IFormFactor.h
index cbf3776c17db697e8774b3633c794e33dec9f3c0..872db3c3540b57a30f5d6cd4a4e784f95df84e70 100644
--- a/Sample/Scattering/IFormFactor.h
+++ b/Sample/Scattering/IFormFactor.h
@@ -16,9 +16,9 @@
 #ifndef BORNAGAIN_SAMPLE_SCATTERING_IFORMFACTOR_H
 #define BORNAGAIN_SAMPLE_SCATTERING_IFORMFACTOR_H
 
+#include "Base/Vector/Vectors3D.h"
 #include "Sample/Scattering/ISampleNode.h"
 #include "Sample/Scattering/ZLimits.h"
-#include "Base/Vector/Vectors3D.h"
 #include <Eigen/Core>
 
 class IRotation;
diff --git a/Sample/Scattering/Rotations.h b/Sample/Scattering/Rotations.h
index 28e2451386065206d48f9fa5b8f08465a2acb3c8..4685921dc5c18d4655a42693c7a9f08c3de94457 100644
--- a/Sample/Scattering/Rotations.h
+++ b/Sample/Scattering/Rotations.h
@@ -16,8 +16,8 @@
 #define BORNAGAIN_SAMPLE_SCATTERING_ROTATIONS_H
 
 #include "Base/Types/ICloneable.h"
-#include "Param/Node/INode.h"
 #include "Base/Vector/Vectors3D.h"
+#include "Param/Node/INode.h"
 
 class Transform3D;
 
diff --git a/Tests/Unit/Device/DetectorMaskTest.cpp b/Tests/Unit/Device/DetectorMaskTest.cpp
index 0b80b1f124cca6b070c62e74ae60910cdc5aba0d..2b6c7400dff0de29544b3798c8bfc9a3e106187c 100644
--- a/Tests/Unit/Device/DetectorMaskTest.cpp
+++ b/Tests/Unit/Device/DetectorMaskTest.cpp
@@ -1,4 +1,4 @@
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Base/Axis/FixedBinAxis.h"
 #include "Device/Detector/SphericalDetector.h"
 #include "Device/Mask/Polygon.h"
diff --git a/Tests/Unit/Device/SphericalDetectorTest.cpp b/Tests/Unit/Device/SphericalDetectorTest.cpp
index b4eaccbdd8b419a9d86226d951a670114c9a08dd..70665afeef4bf777561ba2e126a138649b879c62 100644
--- a/Tests/Unit/Device/SphericalDetectorTest.cpp
+++ b/Tests/Unit/Device/SphericalDetectorTest.cpp
@@ -2,9 +2,9 @@
 #include "Base/Axis/FixedBinAxis.h"
 #include "Base/Const/Units.h"
 #include "Device/Beam/Beam.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Device/Mask/Polygon.h"
 #include "Device/Mask/Rectangle.h"
-#include "Device/ProDetector/DetectorMask.h"
 #include "Device/Resolution/ConvolutionDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 #include "Tests/GTestWrapper/google_test.h"
diff --git a/Wrap/Swig/libBornAgainDevice.i b/Wrap/Swig/libBornAgainDevice.i
index c2d2eaedb1902ce615b4de2363d7320175a00e51..a3c715308e571fe8c9aeba6a8d2cb8fd5f63ffc4 100644
--- a/Wrap/Swig/libBornAgainDevice.i
+++ b/Wrap/Swig/libBornAgainDevice.i
@@ -51,7 +51,7 @@
 #include "Device/Mask/Line.h"
 #include "Device/Mask/Polygon.h"
 #include "Device/Mask/Rectangle.h"
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Device/Resolution/IDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 #include "Device/Resolution/ScanResolution.h"
@@ -101,7 +101,7 @@
 
 %include "Device/Coord/Axes.h"
 
-%include "Device/ProDetector/DetectorMask.h"
+%include "Device/Mask/DetectorMask.h"
 %include "Device/Detector/IDetector.h"
 %include "Device/Detector/IDetector2D.h"
 %include "Device/Detector/RectangularDetector.h"
diff --git a/auto/Wrap/doxygenDevice.i b/auto/Wrap/doxygenDevice.i
index 5774b7ae922b3e473afe1086d73910dffe5ecd9f..b276b1bb91989c44a3cd9a02b4744e2b85dc0773 100644
--- a/auto/Wrap/doxygenDevice.i
+++ b/auto/Wrap/doxygenDevice.i
@@ -3230,6 +3230,12 @@ make Swappable
 // File: Instrument_8h.xml
 
 
+// File: DetectorMask_8cpp.xml
+
+
+// File: DetectorMask_8h.xml
+
+
 // File: Ellipse_8cpp.xml
 
 
@@ -3260,12 +3266,6 @@ make Swappable
 // File: Rectangle_8h.xml
 
 
-// File: DetectorMask_8cpp.xml
-
-
-// File: DetectorMask_8h.xml
-
-
 // File: PolFilter_8cpp.xml
 
 
@@ -3335,7 +3335,7 @@ make Swappable
 // File: dir_4866552d576e04b61ad8ade47c8db877.xml
 
 
-// File: dir_da994f4366e479a3c15631d7a5d6d07d.xml
+// File: dir_6f4ccf6b1bfd53aaa1440d548704c25a.xml
 
 
 // File: dir_aa6451b5aab7f40a79bc1a0dc7cac3c6.xml
diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp
index b22c4c52938edd9689243a2e17dd6bf015205253..126ab0e147c28dc2abf3b28150dc2364f13a79ea 100644
--- a/auto/Wrap/libBornAgainDevice_wrap.cpp
+++ b/auto/Wrap/libBornAgainDevice_wrap.cpp
@@ -6718,7 +6718,7 @@ SWIGINTERN void std_vector_Sl_std_pair_Sl_double_Sc_double_Sg__Sg__insert__SWIG_
 #include "Device/Mask/Line.h"
 #include "Device/Mask/Polygon.h"
 #include "Device/Mask/Rectangle.h"
-#include "Device/ProDetector/DetectorMask.h"
+#include "Device/Mask/DetectorMask.h"
 #include "Device/Resolution/IDetectorResolution.h"
 #include "Device/Resolution/ResolutionFunction2DGaussian.h"
 #include "Device/Resolution/ScanResolution.h"