diff --git a/Base/Axis/PointwiseAxis.cpp b/Base/Axis/DiscreteAxis.cpp
similarity index 68%
rename from Base/Axis/PointwiseAxis.cpp
rename to Base/Axis/DiscreteAxis.cpp
index 391225963beffc061db945d15dc36714fa4bc533..6adcaabb322351b6c8f669951da90c394a498991 100644
--- a/Base/Axis/PointwiseAxis.cpp
+++ b/Base/Axis/DiscreteAxis.cpp
@@ -2,8 +2,8 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Base/Axis/PointwiseAxis.cpp
-//! @brief     Implements class PointwiseAxis.
+//! @file      Base/Axis/DiscreteAxis.cpp
+//! @brief     Implements class DiscreteAxis.
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -12,7 +12,7 @@
 //
 //  ************************************************************************************************
 
-#include "Base/Axis/PointwiseAxis.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/Bin.h"
 #include <algorithm>
 #include <iomanip>
@@ -20,36 +20,36 @@
 
 const size_t min_axis_size = 2;
 
-PointwiseAxis::~PointwiseAxis() = default;
+DiscreteAxis::~DiscreteAxis() = default;
 
-PointwiseAxis* PointwiseAxis::clone() const
+DiscreteAxis* DiscreteAxis::clone() const
 {
-    return new PointwiseAxis(axisName(), m_coordinates);
+    return new DiscreteAxis(axisName(), m_coordinates);
 }
 
-Bin1D PointwiseAxis::bin(size_t index) const
+Bin1D DiscreteAxis::bin(size_t index) const
 {
     checkIndex(index);
     return {minary(index), maxary(index)};
 }
 
-double PointwiseAxis::min() const
+double DiscreteAxis::min() const
 {
     return minary(0);
 }
 
-double PointwiseAxis::max() const
+double DiscreteAxis::max() const
 {
     return maxary(m_coordinates.size() - 1);
 }
 
-double PointwiseAxis::binCenter(size_t index) const
+double DiscreteAxis::binCenter(size_t index) const
 {
     checkIndex(index);
     return m_coordinates[index];
 }
 
-size_t PointwiseAxis::findClosestIndex(double value) const
+size_t DiscreteAxis::findClosestIndex(double value) const
 {
     if (value <= m_coordinates.front())
         return 0;
@@ -62,7 +62,7 @@ size_t PointwiseAxis::findClosestIndex(double value) const
     return value < minary(index) ? index - 1 : index;
 }
 
-std::vector<double> PointwiseAxis::binBoundaries() const
+std::vector<double> DiscreteAxis::binBoundaries() const
 {
     std::vector<double> result;
     const size_t v_size = m_coordinates.size();
@@ -73,10 +73,10 @@ std::vector<double> PointwiseAxis::binBoundaries() const
     return result;
 }
 
-void PointwiseAxis::clip(double lower, double upper)
+void DiscreteAxis::clip(double lower, double upper)
 {
     if (lower >= upper)
-        throw std::runtime_error("PointwiseAxis::clip() called with invalid lower >= upper");
+        throw std::runtime_error("DiscreteAxis::clip() called with invalid lower >= upper");
 
     using diff_t = std::vector<double>::iterator::difference_type;
     const auto begin = m_coordinates.begin() + static_cast<diff_t>(findClosestIndex(lower));
@@ -86,64 +86,64 @@ void PointwiseAxis::clip(double lower, double upper)
     sanityCheck();
 }
 
-void PointwiseAxis::print(std::ostream& ostr) const
+void DiscreteAxis::print(std::ostream& ostr) const
 {
     auto precision = std::setprecision(std::numeric_limits<double>::digits10 + 2);
-    ostr << "PointwiseAxis(\"" << axisName() << "\", "
+    ostr << "DiscreteAxis(\"" << axisName() << "\", "
          << ", [";
     for (size_t i = 0, fin = m_coordinates.size() - 1; i < fin; ++i)
         ostr << precision << m_coordinates[i] << ",";
     ostr << precision << m_coordinates.back() << "])";
 }
 
-bool PointwiseAxis::equals(const IAxis& other) const
+bool DiscreteAxis::equals(const IAxis& other) const
 {
     if (!IAxis::equals(other))
         return false;
-    if (const auto* otherAxis = dynamic_cast<const PointwiseAxis*>(&other))
+    if (const auto* otherAxis = dynamic_cast<const DiscreteAxis*>(&other))
         return m_coordinates == otherAxis->binCenters();
     return false;
 }
 
-double PointwiseAxis::minary(size_t index) const
+double DiscreteAxis::minary(size_t index) const
 {
     if (index == 0)
         return m_coordinates.front();
     return 0.5 * (m_coordinates[index] + m_coordinates[index - 1]);
 }
 
-double PointwiseAxis::maxary(size_t index) const
+double DiscreteAxis::maxary(size_t index) const
 {
     if (index + 1 == m_coordinates.size())
         return m_coordinates.back();
     return 0.5 * (m_coordinates[index] + m_coordinates[index + 1]);
 }
 
-void PointwiseAxis::checkIndex(size_t index) const
+void DiscreteAxis::checkIndex(size_t index) const
 {
     if (m_coordinates.size() > index)
         return;
-    std::string message = "Error in PointwiseAxis::binCenter: passed index ";
+    std::string message = "Error in DiscreteAxis::binCenter: passed index ";
     message += std::to_string(index) + " exceeds the size ";
     message += std::to_string(m_coordinates.size()) + " of the axis";
     throw std::runtime_error(message);
 }
 
-void PointwiseAxis::sanityCheck() const
+void DiscreteAxis::sanityCheck() const
 {
     if (m_coordinates.size() < min_axis_size)
         throw std::runtime_error(
-            "Error in PointwiseAxis::PointwiseAxis: the size of passed coordinate array is "
+            "Error in DiscreteAxis::DiscreteAxis: the size of passed coordinate array is "
             "less than minimum acceptable value");
 
     const auto begin = m_coordinates.begin();
     const auto end = m_coordinates.end();
 
     if (!std::is_sorted(begin, end))
-        throw std::runtime_error("Error in PointwiseAxis::PointwiseAxis: passed coordinates are "
+        throw std::runtime_error("Error in DiscreteAxis::DiscreteAxis: passed coordinates are "
                                  "not sorted in ascending order");
 
     if (std::adjacent_find(begin, end) != end)
-        throw std::runtime_error("Error in PointwiseAxis::PointwiseAxis: passed coordinate vector "
+        throw std::runtime_error("Error in DiscreteAxis::DiscreteAxis: passed coordinate vector "
                                  "contains repeating values");
 }
diff --git a/Base/Axis/PointwiseAxis.h b/Base/Axis/DiscreteAxis.h
similarity index 84%
rename from Base/Axis/PointwiseAxis.h
rename to Base/Axis/DiscreteAxis.h
index 4a08355e9b217ed59049ccc2bf6f531506a959e9..462300062162756368336a059362eafd98a5be00 100644
--- a/Base/Axis/PointwiseAxis.h
+++ b/Base/Axis/DiscreteAxis.h
@@ -2,8 +2,8 @@
 //
 //  BornAgain: simulate and fit reflection and scattering
 //
-//! @file      Base/Axis/PointwiseAxis.h
-//! @brief     Defines class PointwiseAxis.
+//! @file      Base/Axis/DiscreteAxis.h
+//! @brief     Defines class DiscreteAxis.
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -12,8 +12,8 @@
 //
 //  ************************************************************************************************
 
-#ifndef BORNAGAIN_BASE_AXIS_POINTWISEAXIS_H
-#define BORNAGAIN_BASE_AXIS_POINTWISEAXIS_H
+#ifndef BORNAGAIN_BASE_AXIS_DISCRETEAXIS_H
+#define BORNAGAIN_BASE_AXIS_DISCRETEAXIS_H
 
 #include "Base/Axis/IAxis.h"
 
@@ -23,15 +23,15 @@
 //! Other bin boundaries are computed as arithmetical mean of
 //! two adjacent coordinates.
 //! One should be aware, that bin centers reported
-//! by PointwiseAxis::binCenter do not coincide with the
+//! by DiscreteAxis::binCenter do not coincide with the
 //! values produced by Bin1D::center.
 //! On-axis values are bounded by minimum/maximum
 //! values passed to the constructor.
 
-class PointwiseAxis : public IAxis {
+class DiscreteAxis : public IAxis {
 public:
     template <class String, class Vector>
-    PointwiseAxis(String&& name, Vector&& coordinate_values)
+    DiscreteAxis(String&& name, Vector&& coordinate_values)
         : IAxis(std::forward<String>(name))
         , m_coordinates(std::forward<Vector>(coordinate_values))
     {
@@ -39,9 +39,9 @@ public:
     }
 
     //! clone function
-    PointwiseAxis* clone() const override;
+    DiscreteAxis* clone() const override;
 
-    ~PointwiseAxis() override;
+    ~DiscreteAxis() override;
 
     //! retrieve the number of bins
     size_t size() const override { return m_coordinates.size(); }
@@ -81,4 +81,4 @@ private:
     std::vector<double> m_coordinates;
 };
 
-#endif // BORNAGAIN_BASE_AXIS_POINTWISEAXIS_H
+#endif // BORNAGAIN_BASE_AXIS_DISCRETEAXIS_H
diff --git a/Device/Coord/CoordSystem1D.cpp b/Device/Coord/CoordSystem1D.cpp
index 2ab2aa4c359f031593411d0e16762bfb2d802b74..f29e48998bc72c1edcb84a343417fe15aa834b11 100644
--- a/Device/Coord/CoordSystem1D.cpp
+++ b/Device/Coord/CoordSystem1D.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "Device/Coord/CoordSystem1D.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Base/Const/Units.h"
 #include "Base/Math/Constants.h"
 #include "Base/Util/Assert.h"
@@ -48,14 +48,14 @@ double backTransform(double value, Coords coords, double wavelength)
     }
 }
 
-PointwiseAxis* createAxisFrom(const IAxis& axis, Coords coords, const std::string& name,
-                              double wavelength)
+DiscreteAxis* createAxisFrom(const IAxis& axis, Coords coords, const std::string& name,
+                             double wavelength)
 {
     std::vector<double> ret;
     ret.reserve(axis.size());
     for (const double value : axis.binCenters())
         ret.emplace_back(backTransform(value, coords, wavelength));
-    return new PointwiseAxis(name, ret);
+    return new DiscreteAxis(name, ret);
 }
 
 } // namespace
@@ -102,7 +102,7 @@ IAxis* CoordSystem1D::createConvertedAxis(size_t i_axis, Coords units) const
     auto coords = m_axes[0]->binCenters();
     for (size_t i = 0, size = coords.size(); i < size; ++i)
         coords[i] = translator(coords[i]);
-    return new PointwiseAxis(nameOfAxis(0, units), coords);
+    return new DiscreteAxis(nameOfAxis(0, units), coords);
 }
 
 
diff --git a/Device/IO/DataFormatUtils.cpp b/Device/IO/DataFormatUtils.cpp
index aa69e9b37e07559bb01ccb7319cc3c4756ad140b..cf29df2cf4999ffaeee732b68b9ba06b5d17399a 100644
--- a/Device/IO/DataFormatUtils.cpp
+++ b/Device/IO/DataFormatUtils.cpp
@@ -13,9 +13,9 @@
 //  ************************************************************************************************
 
 #include "Device/IO/DataFormatUtils.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
 #include "Base/Axis/HistoAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Base/Util/FileSystemUtils.h"
 #include "Base/Util/StringUtils.h"
 #include "Device/Data/Datafield.h"
@@ -89,23 +89,23 @@ IAxis* createHistoAxis(std::istringstream iss)
     return new HistoAxis(name, boundaries);
 }
 
-//! Creates createPointwiseAxis from string representation
-//! PointwiseAxis("axis0", [-0.5, 0.5, 1, 2])
-IAxis* createPointwiseAxis(std::istringstream iss)
+//! Creates createDiscreteAxis from string representation
+//! DiscreteAxis("axis0", [-0.5, 0.5, 1, 2])
+IAxis* createDiscreteAxis(std::istringstream iss)
 {
     std::string name;
     if (!(iss >> name))
-        throw std::runtime_error("Error in createPointwiseAxis: Cannot parse the string.");
+        throw std::runtime_error("Error in createDiscreteAxis: Cannot parse the string.");
 
     std::vector<double> coordinates;
     DataUtils::Format::readLineOfDoubles(coordinates, iss);
 
-    return new PointwiseAxis(name, coordinates);
+    return new DiscreteAxis(name, coordinates);
 }
 
 const std::vector<std::pair<std::string, createAxisFun>> type_map = {
     {"FixedBinAxis", createFixedBinLikeAxis<FixedBinAxis>},
-    {"PointwiseAxis", createPointwiseAxis},
+    {"DiscreteAxis", createDiscreteAxis},
     {"HistoAxis", createHistoAxis}};
 
 } // namespace
diff --git a/Device/IO/ReadReflectometry.cpp b/Device/IO/ReadReflectometry.cpp
index 45ec3edacfe175a2f65de4efac1338d6fde12f11..a0da99098f7659170314d81f03b8e2fa5c3c4ee8 100644
--- a/Device/IO/ReadReflectometry.cpp
+++ b/Device/IO/ReadReflectometry.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "Device/IO/ReadReflectometry.h"
-#include "Base/Axis/PointwiseAxis.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Util/StringUtils.h"
 #include "Device/Data/Datafield.h"
 #include "Device/IO/DataFormatUtils.h"
@@ -93,5 +93,5 @@ Datafield* ReadReflectometry::readDatafield(std::istream& inStream)
             continue;
         eVec.push_back(it->second);
     }
-    return new Datafield{{new PointwiseAxis("qVector", qVec)}, rVec, eVec};
+    return new Datafield{{new DiscreteAxis("qVector", qVec)}, rVec, eVec};
 }
diff --git a/GUI/Model/Device/GrazingScanItem.cpp b/GUI/Model/Device/GrazingScanItem.cpp
index ca8aad0102638bf2cc7c0d67c9c3d759353ff161..4766095107c58b70dc7e6ba30112b897a9ee23e6 100644
--- a/GUI/Model/Device/GrazingScanItem.cpp
+++ b/GUI/Model/Device/GrazingScanItem.cpp
@@ -24,7 +24,7 @@ namespace {
 namespace Tag {
 
 const QString UniformAxis("UniformAxis");
-const QString PointwiseAxis("PointwiseAxis");
+const QString DiscreteAxis("DiscreteAxis");
 const QString BeamInclinationDistribution("BeamInclinationDistribution");
 const QString IsUniformAxis("IsUniformAxis");
 const QString BaseData("BaseData");
@@ -98,7 +98,7 @@ void GrazingScanItem::writeTo(QXmlStreamWriter* w) const
 
     // pointwise axis
     if (m_pointwiseAlphaAxis) {
-        w->writeStartElement(Tag::PointwiseAxis);
+        w->writeStartElement(Tag::DiscreteAxis);
         m_pointwiseAlphaAxis->writeTo(w);
         w->writeEndElement();
     }
@@ -131,7 +131,7 @@ void GrazingScanItem::readFrom(QXmlStreamReader* r)
             XML::gotoEndElementOfTag(r, tag);
 
             // pointwise axis
-        } else if (tag == Tag::PointwiseAxis) {
+        } else if (tag == Tag::DiscreteAxis) {
             m_pointwiseAlphaAxis = std::make_unique<PointwiseAxisItem>();
             setAxisPresentationDefaults(m_pointwiseAlphaAxis.get());
             m_pointwiseAlphaAxis->readFrom(r);
@@ -173,7 +173,7 @@ void GrazingScanItem::selectUniformAxis()
     m_currentAxisIsUniformAxis = true;
 }
 
-void GrazingScanItem::selectPointwiseAxis()
+void GrazingScanItem::selectDiscreteAxis()
 {
     ASSERT(pointwiseAlphaAxisDefined());
     m_currentAxisIsUniformAxis = false;
@@ -184,7 +184,7 @@ void GrazingScanItem::initUniformAxis(const IAxis& axis)
     m_uniformAlphaAxis->setBinCount(static_cast<int>(axis.size()));
 }
 
-void GrazingScanItem::initPointwiseAxis(const IAxis& axis, QString units)
+void GrazingScanItem::initDiscreteAxis(const IAxis& axis, QString units)
 {
     if (!m_pointwiseAlphaAxis) {
         m_pointwiseAlphaAxis.reset(new PointwiseAxisItem());
diff --git a/GUI/Model/Device/GrazingScanItem.h b/GUI/Model/Device/GrazingScanItem.h
index 2b9776f982672660d689f700c60c095beffb55a6..95cf371eda34724ed194e8198adab25745f099cd 100644
--- a/GUI/Model/Device/GrazingScanItem.h
+++ b/GUI/Model/Device/GrazingScanItem.h
@@ -54,10 +54,10 @@ public:
     bool uniformAlphaAxisSelected() const;
 
     void selectUniformAxis();
-    void selectPointwiseAxis();
+    void selectDiscreteAxis();
 
     void initUniformAxis(const IAxis& axis);
-    void initPointwiseAxis(const IAxis& axis, QString units);
+    void initDiscreteAxis(const IAxis& axis, QString units);
 
 private:
     std::unique_ptr<BasicAxisItem> m_uniformAlphaAxis;
diff --git a/GUI/Model/Device/PointwiseAxisItem.cpp b/GUI/Model/Device/PointwiseAxisItem.cpp
index 27b6eef5c86635f80541801708c1c0809d0bdfa1..9c333a8238644d421d0535a3eca86ce5dd8e0c1f 100644
--- a/GUI/Model/Device/PointwiseAxisItem.cpp
+++ b/GUI/Model/Device/PointwiseAxisItem.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Device/PointwiseAxisItem.h"
-#include "Base/Axis/PointwiseAxis.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Device/Data/Datafield.h"
 #include "Device/IO/ReadWriteINT.h"
 #include "GUI/Model/Device/InstrumentItems.h"
@@ -72,7 +72,7 @@ std::unique_ptr<IAxis> PointwiseAxisItem::createAxis(double scale) const
     for (double& e : centers)
         e *= scale;
 
-    return std::make_unique<PointwiseAxis>(converted_axis->axisName(), std::move(centers));
+    return std::make_unique<DiscreteAxis>(converted_axis->axisName(), std::move(centers));
 }
 
 QByteArray PointwiseAxisItem::serializeBinaryData() const
diff --git a/GUI/Model/Device/SourceItems.cpp b/GUI/Model/Device/SourceItems.cpp
index 95b765f7ea0cd720a9a73aa75b187e73f4cb3ddc..9087767b4f84fe7569340334af3b30e48e9d08a3 100644
--- a/GUI/Model/Device/SourceItems.cpp
+++ b/GUI/Model/Device/SourceItems.cpp
@@ -352,8 +352,8 @@ void ScanItem::updateToData(const IAxis& axis, QString units)
         grazingScanItem()->initUniformAxis(axis);
         grazingScanItem()->selectUniformAxis();
     } else {
-        grazingScanItem()->initPointwiseAxis(axis, units);
-        grazingScanItem()->selectPointwiseAxis();
+        grazingScanItem()->initDiscreteAxis(axis, units);
+        grazingScanItem()->selectDiscreteAxis();
     }
 }
 
diff --git a/GUI/View/Instrument/AlphaScanEditor.cpp b/GUI/View/Instrument/AlphaScanEditor.cpp
index 77113b160fe4a1de17d4ba8fcd39f1ca69b3d572..ccfc03b37b752313c8bcf6cdebfa16b1c0eba1b8 100644
--- a/GUI/View/Instrument/AlphaScanEditor.cpp
+++ b/GUI/View/Instrument/AlphaScanEditor.cpp
@@ -88,7 +88,7 @@ void AlphaScanEditor::onAxisTypeSelected(int index)
             m_item->selectUniformAxis();
             emit dataChanged();
         } else if (index == 1 && !m_item->pointwiseAlphaAxisSelected()) {
-            m_item->selectPointwiseAxis();
+            m_item->selectDiscreteAxis();
             emit dataChanged();
         }
 
diff --git a/GUI/View/Loaders/QREDataLoader.cpp b/GUI/View/Loaders/QREDataLoader.cpp
index 62666840a2ae369e9cac6371fbc5471fa2ff38d7..c90d51fb33e7d4366b151826ca84cf162f07bb82 100644
--- a/GUI/View/Loaders/QREDataLoader.cpp
+++ b/GUI/View/Loaders/QREDataLoader.cpp
@@ -13,7 +13,7 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Loaders/QREDataLoader.h"
-#include "Base/Axis/PointwiseAxis.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Util/Assert.h"
 #include "Device/Coord/CoordSystem1D.h"
 #include "Device/Data/Datafield.h"
@@ -253,7 +253,7 @@ void QREDataLoader::processContents()
 
     m_importResult.importSettings = m_importSettings;
 
-    // -- make a few checks (mainly for fulfilling PointwiseAxis::sanityCheck())
+    // -- make a few checks (mainly for fulfilling DiscreteAxis::sanityCheck())
     if (m_importResult.validCalculatedLines < 2)
         m_importResult.error = "At least two full rows must exist";
 
@@ -559,7 +559,7 @@ void QREDataLoader::datafieldFromParsingResult(RealItem* item) const
             eVec.push_back(m_importResult.eValues[lineNr]);
 
     auto* oData =
-        new Datafield({new PointwiseAxis("qVector", qVec)}, rVec, eVec); // eVec can be empty
+        new Datafield({new DiscreteAxis("qVector", qVec)}, rVec, eVec); // eVec can be empty
 
     // -- Replacement of item->setImportData(std::move(data));
     item->initNativeData();
diff --git a/Sim/Export/PyFmt2.cpp b/Sim/Export/PyFmt2.cpp
index 1f5afb034a5826eccd63b441f3b9aa31fad99e08..09da90af368da3bf385b0561671204a65d0e4aab 100644
--- a/Sim/Export/PyFmt2.cpp
+++ b/Sim/Export/PyFmt2.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "Sim/Export/PyFmt2.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Base/Const/Units.h"
 #include "Base/Math/Constants.h"
 #include "Base/Py/PyFmt.h"
@@ -96,7 +96,7 @@ std::string printAxis(const IAxis* axis, const std::string& unit)
         result << "ba.FixedBinAxis(" << Py::Fmt::printString(a->axisName()) << ", " << a->size()
                << ", " << Py::Fmt::printValue(a->min(), unit) << ", "
                << Py::Fmt::printValue(a->max(), unit) << ")";
-    else if (const auto* a = dynamic_cast<const PointwiseAxis*>(axis); a) {
+    else if (const auto* a = dynamic_cast<const DiscreteAxis*>(axis); a) {
         result << "numpy.asarray([";
         const std::vector<double>& points = a->binCenters();
         for (auto iter = points.begin(); iter != points.end() - 1; ++iter)
diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp
index c2cb81e99acb9035882be55a5bed53d1dbb69637..b004af63c12635e56105898b797393e8eff98989 100644
--- a/Sim/Scan/AlphaScan.cpp
+++ b/Sim/Scan/AlphaScan.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "Sim/Scan/AlphaScan.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Device/Beam/IFootprintFactor.h"
 #include "Device/Coord/CoordSystem1D.h"
 #include "Device/Pol/PolFilter.h"
diff --git a/Sim/Scan/QzScan.cpp b/Sim/Scan/QzScan.cpp
index 284ad6549428ae98d3b89e5c0fafdc093ed44f81..19da7aa82b0286c0bcd67e73b4eb29d71b78675b 100644
--- a/Sim/Scan/QzScan.cpp
+++ b/Sim/Scan/QzScan.cpp
@@ -13,8 +13,8 @@
 //  ************************************************************************************************
 
 #include "Sim/Scan/QzScan.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Base/Util/Assert.h"
 #include "Device/Coord/CoordSystem1D.h"
 #include "Device/Pol/PolFilter.h"
@@ -37,7 +37,7 @@ QzScan::QzScan(IAxis* qs_nm)
 }
 
 QzScan::QzScan(std::vector<double> qs_nm)
-    : QzScan(new PointwiseAxis("qs", std::move(qs_nm)))
+    : QzScan(new DiscreteAxis("qs", std::move(qs_nm)))
 {
 }
 
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.0.int.gz
index c2a077980e082b36dd192500a17914ebfbd6ba2f..193a75b0ca51caff39fb1026f2f37bbf02775198 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.1.int.gz
index 92dbb97e9171a1246aee1256524f8e7652e3daa0..25e686cb4ba5067a9e1344e7c23ec6809047bb04 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.2.int.gz
index 2e37d561772d1daefc8a22e5f466884774c6ee90..d731b92e7067e63b251d33615d41308e0f9135ff 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Bipyramid4.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Box.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Box.0.int.gz
index de0713f0ef72a56e75b5ecb1f6b5cdefd640c5c9..bb41c2ed52c069c7ad9cd85d114806d10471fe6f 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Box.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Box.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Box.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Box.1.int.gz
index d5f82973a2817136543f889c34efad7420d864da..177370d625e1d2ef5858ce654f6ecb3dc010f853 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Box.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Box.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Box.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Box.2.int.gz
index 898897c2163c816857fdcdecfd764c608fb31818..a388b8ace74cbdeb0742bc3d54875f0b33189279 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Box.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Box.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.0.int.gz
index bf2bff0cc0e14e190e63b53871ddc836e47b0b81..f579222e95c93985e67aa52a1482ef6d8d922f19 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.1.int.gz
index a342fb9c036baa31ba4695183b01749f40f57c44..9955a7128d970377ff4343ac91b99648555c0a96 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/CantellatedCube.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Cone.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Cone.0.int.gz
index db9bf9d41604a4a3b124d4744675a3b7b567bf41..708546d0d27bf864bbaf9e36b6b36dc2b6bb37f8 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Cone.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Cone.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Cone.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Cone.1.int.gz
index 0fac9588dd8b0f7a106c3fbdb81ff423470c4c69..88d37e1ef6cb65842ba2656e54e629e16a20a36b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Cone.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Cone.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Cone.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Cone.2.int.gz
index 6406f12e951ad3a3d5db9bff97f018ba29e69b01..4273465d90cd76bbfdea3fcadcd44b7c28fd1b90 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Cone.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Cone.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Cylinder.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Cylinder.0.int.gz
index 648859aafb77843c0d57026a7563b7a8ba78570f..6adf4638405352d406411c2419872b4b97e84109 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Cylinder.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Cylinder.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Cylinder.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Cylinder.1.int.gz
index cc72cb771f92409549163e7653c370cdc1ebc3c8..8665548782831c0aae3264c42f074049620d8d22 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Cylinder.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Cylinder.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Cylinder.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Cylinder.2.int.gz
index dec0b9d199abf7048efe51419b347ccff7ea41d1..0f776cdc842022953846d37eb8886d0251b013f7 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Cylinder.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Cylinder.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.0.int.gz
index 501fe668817ccc19119f1aeaa487dd56295f0f86..9ca6c66ae660109d261ced221a718be66b2b6751 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.1.int.gz
index 9a12d9c56f5c6ab6cdd3c04461eb93d81c490517..ef56f5118ec4a9d84d05a1e8e1f6e2a0d5a38d1b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.2.int.gz
index 853af6bc6667c353eb0cff511e1350bb15291dfc..173af9455963995ffb6fbbd4885df04458e78640 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Dodecahedron.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.0.int.gz
index 986030677ded69df972b4270a7c8e821e2dd9b4b..b75dd5ad2d8f088bf3cfa9b373645c6a4db5aa19 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.1.int.gz
index f23145e68f73d8a238a5b5e2254b2bedb70f94e3..d0b511f5fe0c5fac56b725838b72f27962d2fd27 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.2.int.gz
index bf0ad080ae9b96c2a12d94007e00411bad12fec8..596478fc1d92521c954a39a34280406f335e41cc 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/EllipsoidalCylinder.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.0.int.gz
index 9101a4aabfdd535624acb656ca98ceabcecad9c6..5a9f2a38eac01acefcb16f440b459ae55b45d3b6 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.1.int.gz
index 90d5518927126aecf774866dfe65646375351413..76cb44318034ba9b8106426efd709775a9c6565e 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.2.int.gz
index 5362f551f81ddfc7eddcc93374efe60f18095691..5fed1b5ef726cefc6f823407d850a5acc6d4266a 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/HemiEllipsoid.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.0.int.gz
index 2d27671b4dc4649a35e4028ed062082ce1cbfce9..b4f157ef65fc2a29bc02a4cc517420e478dfcbf4 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.1.int.gz
index 7fce473a0c1c121201148175e4332b610f3e48c5..0520e11fa63bf8ac7a1f92bf755381b425ed203c 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.2.int.gz
index 9a0f5be82ec91ce7b9e82da6ed7f649071ec3325..8a2e1cda53910a726bed5b402aea77c6aac45dcf 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/HorizontalCylinder.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.0.int.gz
index 41b8fde0e55fd2f1e41ed58bdf5b9c621c8f88fb..d146afbccd5d39c7fe956d128b84992a020717c1 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.1.int.gz
index 4c0678a934513bb2d8b2238036b60e1e9aecaecc..6807cf12f03d347936259dea76ef6e29bac62b85 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.2.int.gz
index e6af417a5570d12f49f46172e05c78715adc8167..ced3cf0329fd10cbca8b1b88aab9567c83a89a17 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Icosahedron.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.0.int.gz
index 955214f449da6d84edaddb70761570e5d1328e3c..111a81219279db90cf79f5c3fe408ee5cd0818f5 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.1.int.gz
index 5370d84ed719cd7b17e9cf25752e09adccf1abbe..4894c46a9c60566b3a533dd6d208c5f16c5180bc 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.2.int.gz
index 5b03ef5afbc4d995575256ab01efe3ae72c3e122..b5be2a8bd7024fc14aa21d8369c11afeac1af2f0 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/PlatonicOctahedron.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.0.int.gz
index 156ef346de1713a95ee425b30a47944657d78802..d2ebde612a2d2656aa0201bb02f57e1d73e2d2d8 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.1.int.gz
index 8ebbb3faf7e78b91ec5ca357189bc126ffe8bdcd..0cae908af9d6d15fb8ab6eeb927f0da155fbb45b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/PlatonicTetrahedron.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Prism3.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Prism3.0.int.gz
index a141fd3bb25b218bf69f391885d1bc09c70c5c7e..8bbf5bcfb53877ff5f52ef7afd1a7e4dfe1a74b0 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Prism3.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Prism3.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Prism3.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Prism3.1.int.gz
index 40b89d29577bd73175ea7a83f26d7bcd63b6c089..77fd589102fb21167fb433b979a7c62963515fae 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Prism3.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Prism3.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Prism3.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Prism3.2.int.gz
index ba2e1bca6b5f4b9077aa71d933a2b8d671974806..aa79dc75ab6bbc3ca141f7249b2b0e31c9f2e147 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Prism3.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Prism3.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Prism6.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Prism6.0.int.gz
index c0a3b7e4a7a2ed22a7290bb48c2b7fbe576613a1..85ae61086e4e1e4c161b9b1883a9c067e24a52eb 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Prism6.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Prism6.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Prism6.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Prism6.1.int.gz
index 29d040829b04a513f2ac27f2e92e8c2b6ca2c67e..c7b2a00df93f9967ae3374a338660f3058382bc1 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Prism6.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Prism6.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Prism6.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Prism6.2.int.gz
index 97160ecad2b4b327afbec3dce86ccee0fdfe63fa..7c15b3b22f8178f83918fba3570217495211f9b7 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Prism6.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Prism6.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.0.int.gz
index 54c03d87b4a901cf8ea035a84e319da26a0c4880..b84d2c6dbdd0d33c09d09cf50816265d26874e37 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.1.int.gz
index 595f551b94a8a260a3b4ff92ff406f2331d11e38..a47077c0a51c7580a859882228aec16e15d6c52c 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.2.int.gz
index e781384340e4db91d4c2cb85facb5700c405e565..ed9f7030dc3d4d6511a090bf62d4eb74db88985f 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid2.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.0.int.gz
index 3d659d88c2b2134b513a9451bdee797547ac0160..240025f4fd74d3b7d373c0fec4c6c26cb0c39be1 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.1.int.gz
index 22913648a7e87b1af6f8f3ea714156e021c1e20d..72d28b5e84cdce475bbee3d991d0ce3316ff2754 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.2.int.gz
index 0adc44ae6fbc2a1ca0a840c4e834f2d9f4b99ad9..418c9d64edf05e707ed4b1b24dc69f7eba53cf91 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid3.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.0.int.gz
index eb972802cc2674bd55a5007e29440b64137640a8..470e7527cb8089fcd7072286a93bcd019ff63372 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.1.int.gz
index 5cd3f1970c1eb947929dff850fa4a9f64495e378..5b9e13215e5f3fb9e1604558f263db1882b7b986 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid4.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.0.int.gz
index 8b348be627b911c539be87b4308cd4db1853f899..f8728a507db3d9b7ed90d13dd462474311c13fef 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.1.int.gz
index 438dce0a2cb24f80f06a40ad6c0b5dbac83049fe..768f697e09feb28d572600f89fcb2605dafc4f48 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.2.int.gz
index 6ab8786afe7e675dcbd30fba6e6eb4172a8321ae..5327994241087d2d78773eae687ec42021a2f868 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Pyramid6.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.0.int.gz
index 37761199c7f22c485d7083a9e8f2d45548ca1b12..99d1c36ca2fb7865d58512ac6a5e7d42bf7bd56c 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.1.int.gz
index d4a88b41ead6f43ae3f0ea335ac7ab6d54e7bd3f..9f9e708ce477c062a61fcc1641ddce1ac92e8a82 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.2.int.gz
index 69e86110ce623866691b9311993e332ea4d5c7ef..56589eaadce038b2c9bc259cfa5d6bb9ca5dc333 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/SawtoothRippleBox.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Sphere.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Sphere.int.gz
index 04237c8a0803fef55f4b48e8470ed0f79b35b993..127f86656b160d517adb5456734015c8310e499f 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Sphere.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Sphere.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Spheroid.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Spheroid.0.int.gz
index 6a84a46cc69cbc544d69c8a2ae66e75ac4bf850e..28679517802424cf5dbd65d152eaa66fa5ad6327 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Spheroid.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Spheroid.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Spheroid.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Spheroid.1.int.gz
index 41fc45abdf8053f5302f95a9c462f9b8794eae2c..f8bd63e7a6676de1dc8f29ce2cae2e703b29614d 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Spheroid.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Spheroid.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/Spheroid.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/Spheroid.2.int.gz
index 43d68d813f79e576e0243fd760d0285be4ba2eda..2f3567050c964486d300749fd23655c6e93d182b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/Spheroid.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/Spheroid.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.0.int.gz
index 56fa397b82389000fb4d7439705c94d4debc1a11..6ca652eab13d2d5ed5623a79685c967050fcd65e 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.1.int.gz
index 4724af5acf448682498882f2d167a9611478d76d..25196976b4b2a25d25a73a23c85a022d027001e8 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.2.int.gz
index 447ebbefa59c04beac5ae538cd64da11bd0170d0..aeafda6722a466576ad304d37a60d4ca15289945 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedCube.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.0.int.gz
index 61d76902aef4915910b965765290902de9710f94..4bf914e82a6a264f4ba9a9c91eb2dfdd47e5cba2 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.1.int.gz
index 4b320f9db3cec85b8d943be14a5a29af6b4aa674..ff3e48fa522426131bd1e458f713c47ec6e0e44a 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.2.int.gz
index 9e635262152e0e427cff74121dfdaf5e31b1aac3..ae9cf53b7c439522541765f1698e85ee75848a04 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSphere.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.0.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.0.int.gz
index 717754d9afa70f13bea9b08b4bd46ff095ec89c6..117b69048e6d911d4af44bbf779191cc9941d67a 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.0.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.1.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.1.int.gz
index 1a9af7ac1c8b1417c6dd58eb1f38cdd4e8010b02..0187558628c5db5297cf58a9c8362e8ba4bb9785 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.1.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.2.int.gz b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.2.int.gz
index b32fe5f3e73feaec8a2c1960de5eca4e2f71fdb8..2e33226ba95c1f7c73f05bbad443e7919304858f 100644
Binary files a/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.2.int.gz and b/Tests/ReferenceData/ExamplesMini/ff/TruncatedSpheroid.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationDA.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationDA.int.gz
index 6ef9705406e0c7ca8655500dd5f82616f870f404..1c75eb7838bf55e2852957671fd67681995f190e 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationDA.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationDA.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationLMA.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationLMA.int.gz
index 2e61a01814d8461451378c12f09bafe6bd6ec858..1e613bdaa2fef6831dc2b21466a37d96ce2ff6ca 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationLMA.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationLMA.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationSSCA.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationSSCA.int.gz
index 5f03fd6ded3b1b7c4e241f8e0b71b24abef5e229..429d7478686e28b18b715a0aa71fb754dd2484b0 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationSSCA.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/ApproximationSSCA.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/BeamDivergence.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/BeamDivergence.int.gz
index 397821612588fa68ef3406ed7228cd86eec96bfc..1ed94fc78d3cb3f8de302dec955fc7283f1ae7c0 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/BeamDivergence.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/BeamDivergence.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/BiMaterialCylinders.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/BiMaterialCylinders.int.gz
index 947a00c1d0a4c5c47dddcdbc96f7538e266b7b33..8ee22b5d23b210edb55935f67336ad5e025e27cd 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/BiMaterialCylinders.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/BiMaterialCylinders.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/BoxesWithSpecularPeak.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/BoxesWithSpecularPeak.int.gz
index 910c312394bf388b654a38abb9c20e4974682305..505823b4c8116de20dcfa488cdf14eec4dcc03c7 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/BoxesWithSpecularPeak.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/BoxesWithSpecularPeak.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/ConstantBackground.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/ConstantBackground.int.gz
index 1fb5f092d7452831121f414370f533bfcf6bd4af..bc2f94d35eae055e8191f8e4621e8ee1e3d65799 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/ConstantBackground.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/ConstantBackground.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles.int.gz
index e7a46f6dcdcaccd1d2912b6346d34713e6649063..92b3d595b68d6f0a5713f69e8e838b11ae1d5bf1 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles2.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles2.int.gz
index e795b9ef121b899f83dba21839ba91597b07de65..0175227256f70fd6a3dbe059dfd6c38d0dda7b78 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles2.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CoreShellNanoparticles2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CorrelatedRoughness.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CorrelatedRoughness.int.gz
index c37accba02978a9e295f0d50b9e0afbcd85cf126..7c008c56f90eab08ed1498f57e0ff8f4f998ba1e 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CorrelatedRoughness.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CorrelatedRoughness.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CosineRipplesAtRectLattice.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CosineRipplesAtRectLattice.int.gz
index 47270b509f6b7fdec923143db35802ea66c97a22..9bd77fb6ff14291e92c1259118eece05794abffb 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CosineRipplesAtRectLattice.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CosineRipplesAtRectLattice.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CustomFormFactor.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CustomFormFactor.int.gz
index a92674b0263819d8cf32763d66ad1ede144b6795..6cf0301b00d229fa139fcdbf2e6cc4f7e0597622 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CustomFormFactor.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CustomFormFactor.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Cylinders.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Cylinders.int.gz
index e2ad2bfb89e0f1cfa264a78cfb44e99caf0910bb..07e1371a7d562875e66947002203d0a0da5b1fcc 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Cylinders.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Cylinders.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersAndPrisms.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersAndPrisms.int.gz
index 18b661ba1dc3dd0b8da49b36df9cf19da6218ced..de5aa0f78984f39361d625e8c85f1d2e3f98f6f1 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersAndPrisms.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersAndPrisms.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInAverageLayer.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInAverageLayer.int.gz
index 06b073e41dd74fa0f44eb577c8d4dbf75eed07a2..cf0c42dccaba9839034340d8ec506479bfc6ce38 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInAverageLayer.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInAverageLayer.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInBA.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInBA.int.gz
index b436c4586789e255d977db0f5211be26f559d922..bd1e2fa43b5e6320291647c934da348cdf3e9991 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInBA.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/CylindersInBA.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/DetectorResolutionFunction.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/DetectorResolutionFunction.int.gz
index 1e87a489138f09b981616b2373ea0c66c28815af..912d6edf638676e43d8211f6c294ed16ebaf6a1d 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/DetectorResolutionFunction.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/DetectorResolutionFunction.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/DodecahedraSAS.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/DodecahedraSAS.int.gz
index 7ce57a81f7641acdb782ef120780fc8efa1865d7..9c81facd708e7a8e702e3d1ec6fe59e48cc0a08f 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/DodecahedraSAS.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/DodecahedraSAS.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/GratingMC.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/GratingMC.int.gz
index 83fdb8fc45cf4a50848f9ff105e8095ee0256d4d..adf77fe3274fd8a2c8ba97827546e9347d999e73 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/GratingMC.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/GratingMC.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/HalfSpheresInAverageTopLayer.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/HalfSpheresInAverageTopLayer.int.gz
index 4780c57518e0e759da6aed8c7a35e7e3b759f7af..1600a5abbb516d225ef1f826394878f79cfb53ff 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/HalfSpheresInAverageTopLayer.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/HalfSpheresInAverageTopLayer.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/HexagonalLatticesWithBasis.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/HexagonalLatticesWithBasis.int.gz
index 05b461f6388d033e9ee26a7988e2a245acfc90b7..048a47e507dae571033993230db557ff41a2846a 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/HexagonalLatticesWithBasis.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/HexagonalLatticesWithBasis.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/HollowSpheres.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/HollowSpheres.int.gz
index 5f47f1a94bf27d8dbf50bf2f16eb8bc8cd75b1de..a9eded718ee8a1f097013ed26d6039bf730abae0 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/HollowSpheres.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/HollowSpheres.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DLattice.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DLattice.int.gz
index 9b2bdb7ee21e5e1c3f651d22c1d1692214b8b328..188ed4150ef9b987c049dedd9fe5de97eab87c44 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DLattice.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DLattice.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DRadialParacrystal.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DRadialParacrystal.int.gz
index cc2ba67abef9fdf465d50b493ce5c431a2e15f3d..7ef21a4c9e0b884e885d00fd8eb68d5816436ab5 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DRadialParacrystal.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference1DRadialParacrystal.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DCenteredSquareLattice.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DCenteredSquareLattice.int.gz
index d36391278ad7bb441b763326acf5cd09993b6cc1..19fb1c407736ee3637e7519a576438659770bda4 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DCenteredSquareLattice.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DCenteredSquareLattice.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DParacrystal.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DParacrystal.int.gz
index 061b7de6e3f3d644b21005497e2daa8423adba66..cb448a380847b667a1290565822b460eee89393b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DParacrystal.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DParacrystal.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DRotatedSquareLattice.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DRotatedSquareLattice.int.gz
index 7f6e3f31edbe4f3d6c3c43acd3395d8e11136ad3..c94922460a855396a169501b0871e6f93031412b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DRotatedSquareLattice.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DRotatedSquareLattice.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DSquareFiniteLattice.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DSquareFiniteLattice.int.gz
index 23680bc6ccbe349a344f6af3e8a208ad3a562a20..98945fc752898fd091c8648943212fb0cd0f9477 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DSquareFiniteLattice.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Interference2DSquareFiniteLattice.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.0.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.0.int.gz
index 3e1b68b20cddd6c2329636389f2ec2a25359cf5f..e36807eb2e2656bd57c4ee093b06943cc542852e 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.0.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.1.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.1.int.gz
index 5287ece9c0b4161df686f7f5f580442e90796b8f..cf1598efb20f73650ec264272ceddfe7d24fb485 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.1.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.2.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.2.int.gz
index 201fdfa1464229e5b7f0a4c7649c96e2bc4b76f2..1b867789841e0c0103f9c546ca305da468d7cdbc 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.2.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.3.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.3.int.gz
index fb6bc84fd91348238d90e73c61c68bd6f30cda81..2e7eae73d94df5b35b473e040b54355815437943 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.3.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/LargeParticlesFormFactor.3.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/LatticeOrientationDistribution.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/LatticeOrientationDistribution.int.gz
index 468537f33908c9d4f8832415dacec99576563858..8ad9bc9d01b3d102fc3dfbbe654476f037a39e02 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/LatticeOrientationDistribution.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/LatticeOrientationDistribution.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders1.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders1.int.gz
index 3ac8bfe9ec9a65f84d16b322afe7c17a8ade1bcd..935d3a38ed73fc4b3a390dd4f04bd195a2f727db 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders1.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.0.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.0.int.gz
index e723a4233b94fc92efde7cc17d71fcbc32650f52..7178bb289ddb3aec10726d0f6b91a2a92c48388c 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.0.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.1.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.1.int.gz
index d53abb4b994b5aa16f926267a44bb13d9875b3e7..fae1e0a73a55049bdde0d77778cc6a0fcc14789c 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.1.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.2.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.2.int.gz
index e723a4233b94fc92efde7cc17d71fcbc32650f52..c4969d3c0d9e886fdbb143f3181383d0508c463d 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.2.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.3.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.3.int.gz
index d53abb4b994b5aa16f926267a44bb13d9875b3e7..5c696dda86240d02a06989f9338c22a4bdad624d 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.3.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticCylinders2.3.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticSpheres.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticSpheres.int.gz
index 6a3a15aa926e247758f71fe869fea8b28389cbb2..336ea3a160a9a5af62fdd4ee907da2226f1e51d6 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticSpheres.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/MagneticSpheres.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal.int.gz
index 50c50e5c8ac64cb3b53af71fd2e93bb3653c5386..ad08601e6123b47559d7f3f25a26a9cbeb144367 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal2.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal2.int.gz
index 50c3128e5ce1ab84a84deddfb2692b4e72680435..a68f317a0cefb5b1e9a38793cb29fe109bedc53f 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal2.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal3.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal3.int.gz
index 1d6e902a943c8110a4a99675957056314035e51a..870c6faa2de3e4436d11cfcff08456b6484b901b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal3.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/Mesocrystal3.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/ParticleAcrossInterface.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/ParticleAcrossInterface.int.gz
index 213f48440d757e2f748f6bce6eddb464e0b55e7e..a4ebc4ad270899615b1a8627d7894d53a615a73b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/ParticleAcrossInterface.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/ParticleAcrossInterface.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/PolarizedSANS.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/PolarizedSANS.int.gz
index 6bf46d2379d5dfe618e1701ecc74be40e18b989e..83fc487f97e3cad56f214e461b95895f189c78e0 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/PolarizedSANS.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/PolarizedSANS.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/PolydisperseCylinders.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/PolydisperseCylinders.int.gz
index b7eb0f1e3b60d87746773389178e7dcec7a914ff..3c7104f1d17cfd60aabe4d0483a51ba0a161465a 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/PolydisperseCylinders.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/PolydisperseCylinders.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/RectangularGrating.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/RectangularGrating.int.gz
index df99fbd3f2c53a390cf7c195d640863cdbd787b6..9dcc44274b6e5e75d354ebd4d155afb0b48c1055 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/RectangularGrating.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/RectangularGrating.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/RotatedPyramids.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/RotatedPyramids.int.gz
index aa9c8352dafccac2aa2f4b280dbda22d3d93db57..5b4e1a3c35ba16e79e4f16117dd13529c4231150 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/RotatedPyramids.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/RotatedPyramids.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/SlicedLayer.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/SlicedLayer.int.gz
index 20d5a5f0b5e8760a536d9adbe6b33fe5661b8ef1..ebeafb1dbe0c192aa93ad1dfdfeabe684da94100 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/SlicedLayer.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/SlicedLayer.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/SpheresAtHexLattice.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/SpheresAtHexLattice.int.gz
index 03afa4938e246ab4f25a83b84319e4352fe64194..346a623f3994f17bd2fb5646e6cb027a50846855 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/SpheresAtHexLattice.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/SpheresAtHexLattice.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/scatter2d/TriangularRipple.int.gz b/Tests/ReferenceData/ExamplesMini/scatter2d/TriangularRipple.int.gz
index d592a1a8139a88bcfa1fe8e9d68947bb8e5e411a..720aa691bbce4ff5ce202b81691d9b464503ea7b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/scatter2d/TriangularRipple.int.gz and b/Tests/ReferenceData/ExamplesMini/scatter2d/TriangularRipple.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers1.int.gz b/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers1.int.gz
index c979e996a3ffd895015bd3058c4ba2629abe4d86..40018bb4b70a10b16e800f4a553d444f041f0e9d 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers1.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers2.int.gz b/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers2.int.gz
index c979e996a3ffd895015bd3058c4ba2629abe4d86..480b050d9e4f97634694c018f778661aeb9aaad9 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers2.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/AlternatingLayers2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.0.int.gz b/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.0.int.gz
index ca5941f822ba3d3c7e57b3da212e251a9647b896..599f8e8ef7d1b67f69fe46e8f368b1b30d8a0e81 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.0.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.1.int.gz b/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.1.int.gz
index 1dafd46ee41385c94f9180cd69b8e5db6938de32..e85bc0213fbffb91de9766f2d9865b121aa1e3e2 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.1.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/BasicPolarizedReflectometry.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/BeamFullDivergence.int.gz b/Tests/ReferenceData/ExamplesMini/specular/BeamFullDivergence.int.gz
index 825739cc11a57edf8421b59a60a96d81a763fab9..e5a334a85e4aa9c7eee7d425910f34b614fcdd9e 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/BeamFullDivergence.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/BeamFullDivergence.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/Distributions.0.int.gz b/Tests/ReferenceData/ExamplesMini/specular/Distributions.0.int.gz
index f749c444d114f3c8320d71fc512522faf7e00bc7..3e312d97fbc24ca417970e9fa468ecb12bc6c922 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/Distributions.0.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/Distributions.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/Distributions.1.int.gz b/Tests/ReferenceData/ExamplesMini/specular/Distributions.1.int.gz
index b4be34089655945e30d75b010dcaffa9016bb167..8a86027132c1720b898d6b79f3bf491d9f599a46 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/Distributions.1.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/Distributions.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/Distributions.2.int.gz b/Tests/ReferenceData/ExamplesMini/specular/Distributions.2.int.gz
index 6ad6d19b816ce77c2c03c357a093e68f07fd312f..0eb1f7cdec41c5bf69fcaf0fb398a574cdf073e5 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/Distributions.2.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/Distributions.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.0.int.gz b/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.0.int.gz
index 205e85df0e904bcc0c7167b5ea08dc81a9535fdc..b937733e117e46fcf942d7d2e5626a8f11b8f7f6 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.0.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.1.int.gz b/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.1.int.gz
index 32b638e6cefe53e3ba06c0dc8c0bf6690de1a08e..ad2a64fed5150ddcc62f6e55f1f3e52b09dc3c02 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.1.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/FootprintCorrection.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.0.int.gz b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.0.int.gz
index f871c9a8fbfb750918a82dd4b237a2b42b3f3d7e..40397c296ccdfa8db7050e5df2be7f6900870c6c 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.0.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.1.int.gz b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.1.int.gz
index 2318402669e3a2e18738b707ca415fa5635c97d7..040b129cfba363da0e4ef517fcf9ebaa06006c4b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.1.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.2.int.gz b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.2.int.gz
index c7dd7dce53879d2c025ccd98c715ead9bf801564..a13a6545cef9096dcdce78a48fa19f0e170da9f0 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.2.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.2.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.3.int.gz b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.3.int.gz
index de99c5a0edbca5e692e7ed12d5358021be45db37..909fdbc6966489ff52821ba3d5d1eb47abd012e4 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.3.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/GaussianBeams.3.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.0.int.gz b/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.0.int.gz
index d43f41e46839d2df2dca7a64a9fe72718a19d4d7..9dd2c4981c85d5774ac0f845ec7bc98aa508dd62 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.0.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.0.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.1.int.gz b/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.1.int.gz
index 9c9ff5aaaeea13a559da402bd984d270bd4eb253..5a89543fdcb61fa1b0ac6e97ad8494def525ab7e 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.1.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/RoughnessModel.1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/SpecularSimulationWithRoughness.int.gz b/Tests/ReferenceData/ExamplesMini/specular/SpecularSimulationWithRoughness.int.gz
index 9c9ff5aaaeea13a559da402bd984d270bd4eb253..24d296bc2af73a71716ccde4e018d49380144130 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/SpecularSimulationWithRoughness.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/SpecularSimulationWithRoughness.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/TOFRWithResolution.int.gz b/Tests/ReferenceData/ExamplesMini/specular/TOFRWithResolution.int.gz
index 6aa26b3b22833d48cf31266a3195aed9bf169b00..e87c0b6451398418bfa36680d8519523d31fb19b 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/TOFRWithResolution.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/TOFRWithResolution.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/TimeOfFlightReflectometry.int.gz b/Tests/ReferenceData/ExamplesMini/specular/TimeOfFlightReflectometry.int.gz
index 5d2c0d5d63dc4db94144ddaa8abfc5ee5d3fb8fa..a7055931cc8cfc9ea239039e7f870a62b544dae7 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/TimeOfFlightReflectometry.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/TimeOfFlightReflectometry.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/specular/VsGenx.int.gz b/Tests/ReferenceData/ExamplesMini/specular/VsGenx.int.gz
index 09b027717ba144fba0d62b5dcb1f4b298632b610..0fd33ca2677c65b81fed4e65c3537de2eb432e34 100644
Binary files a/Tests/ReferenceData/ExamplesMini/specular/VsGenx.int.gz and b/Tests/ReferenceData/ExamplesMini/specular/VsGenx.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/varia/AccessingSimulationResults.int.gz b/Tests/ReferenceData/ExamplesMini/varia/AccessingSimulationResults.int.gz
index c3c47a06b47d20c04766bc132ee21c868256c7b9..f25f8d1c566394bdf3e120bbf04f8df817bc3263 100644
Binary files a/Tests/ReferenceData/ExamplesMini/varia/AccessingSimulationResults.int.gz and b/Tests/ReferenceData/ExamplesMini/varia/AccessingSimulationResults.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/varia/Depthprobe1.int.gz b/Tests/ReferenceData/ExamplesMini/varia/Depthprobe1.int.gz
index 77f896684f41477f44960cc8fbfabe15f0d2b0f6..c9471307f1285bd2b34a5837d693bfcc13484395 100644
Binary files a/Tests/ReferenceData/ExamplesMini/varia/Depthprobe1.int.gz and b/Tests/ReferenceData/ExamplesMini/varia/Depthprobe1.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/varia/OffspecSimulation.int.gz b/Tests/ReferenceData/ExamplesMini/varia/OffspecSimulation.int.gz
index 4a1e275b6e60fe64c0b5ed3896e9650defdf45a9..5320bfaf89e523d1af7d65e6494b35d13373a280 100644
Binary files a/Tests/ReferenceData/ExamplesMini/varia/OffspecSimulation.int.gz and b/Tests/ReferenceData/ExamplesMini/varia/OffspecSimulation.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/varia/Resonator.int.gz b/Tests/ReferenceData/ExamplesMini/varia/Resonator.int.gz
index bccffd9448b1875efb1157276d074a56004ef323..ba82ebd3659d09dcfda0b578c3dd4f7cc51c9bfb 100644
Binary files a/Tests/ReferenceData/ExamplesMini/varia/Resonator.int.gz and b/Tests/ReferenceData/ExamplesMini/varia/Resonator.int.gz differ
diff --git a/Tests/ReferenceData/ExamplesMini/varia/TransmittedModulus.int.gz b/Tests/ReferenceData/ExamplesMini/varia/TransmittedModulus.int.gz
index 97fc66b6f1ee4b4202c017e7a1bb880104da00b5..150b78c7f92d41b4ff830dc47aab3c2a5636826f 100644
Binary files a/Tests/ReferenceData/ExamplesMini/varia/TransmittedModulus.int.gz and b/Tests/ReferenceData/ExamplesMini/varia/TransmittedModulus.int.gz differ
diff --git a/Tests/ReferenceData/Suite/ApproximationDA.int.gz b/Tests/ReferenceData/Suite/ApproximationDA.int.gz
index baa716e88ff1f71ccda4e617cc8664fdad3cb0c1..8b0e7b9565d829d8548c93acdc1f9afb408e2ae4 100644
Binary files a/Tests/ReferenceData/Suite/ApproximationDA.int.gz and b/Tests/ReferenceData/Suite/ApproximationDA.int.gz differ
diff --git a/Tests/ReferenceData/Suite/ApproximationLMA.int.gz b/Tests/ReferenceData/Suite/ApproximationLMA.int.gz
index 8ee950db90b13acba03a9c2a09c66516f1f884ec..ed84118898ca6947523d177a2b402eb00e57ba80 100644
Binary files a/Tests/ReferenceData/Suite/ApproximationLMA.int.gz and b/Tests/ReferenceData/Suite/ApproximationLMA.int.gz differ
diff --git a/Tests/ReferenceData/Suite/ApproximationSSCA.int.gz b/Tests/ReferenceData/Suite/ApproximationSSCA.int.gz
index d450e1810f00a47d3341c7626587e2ffb7860d8d..824c9a0fdfe7a674343359aad15019b64a8596ee 100644
Binary files a/Tests/ReferenceData/Suite/ApproximationSSCA.int.gz and b/Tests/ReferenceData/Suite/ApproximationSSCA.int.gz differ
diff --git a/Tests/ReferenceData/Suite/AsymRipple.int.gz b/Tests/ReferenceData/Suite/AsymRipple.int.gz
index 98bc78b48ba1c3055ea98427ad195a684f7db3d2..1a301117fb5f468721779a4431165182b05cb0ba 100644
Binary files a/Tests/ReferenceData/Suite/AsymRipple.int.gz and b/Tests/ReferenceData/Suite/AsymRipple.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Basic2DParacrystal.int.gz b/Tests/ReferenceData/Suite/Basic2DParacrystal.int.gz
index 61f5930c392831a23f90d3e9d7f8b4e6632d63b1..f41fd0c8ea035c694a6fa5de4ff2efc7ce61a139 100644
Binary files a/Tests/ReferenceData/Suite/Basic2DParacrystal.int.gz and b/Tests/ReferenceData/Suite/Basic2DParacrystal.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCauchy.int.gz b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCauchy.int.gz
index e33c591489433fb52a40532203a8b13e04703851..2c0595420dfeac8a84e4490956245c130e74ffe4 100644
Binary files a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCauchy.int.gz and b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCauchy.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCone.int.gz b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCone.int.gz
index c4f335695fc96bad987bdd1cd548ce4b319d07e0..60c65e5d0c7e70ad8d2c9734d49c1091d6d9e39f 100644
Binary files a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCone.int.gz and b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DCone.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGate.int.gz b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGate.int.gz
index 35d95dabdbf292ea3bca474284c1c834d3b4a72c..d860184703447d953e61da37714805d0f6fad0cb 100644
Binary files a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGate.int.gz and b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGate.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGauss.int.gz b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGauss.int.gz
index f00f92bd21477db2a0219391cb2fba1a3263fad0..8a4dbc7d90d2ca8e84a87fa279f8896e3a59aef4 100644
Binary files a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGauss.int.gz and b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DGauss.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DVoigt.int.gz b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DVoigt.int.gz
index 61f5930c392831a23f90d3e9d7f8b4e6632d63b1..051c60db4936ac9ab5032b3d18a317d2640afea8 100644
Binary files a/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DVoigt.int.gz and b/Tests/ReferenceData/Suite/Basic2DParacrystal_Profile2DVoigt.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BasicSpecularMM.int.gz b/Tests/ReferenceData/Suite/BasicSpecularMM.int.gz
index 43ff450187b304e24a225b63179dfd8d61706303..8776c380b9e4e7ebd43f119c012364ad62eb036c 100644
Binary files a/Tests/ReferenceData/Suite/BasicSpecularMM.int.gz and b/Tests/ReferenceData/Suite/BasicSpecularMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BasicSpecularPP.int.gz b/Tests/ReferenceData/Suite/BasicSpecularPP.int.gz
index 436b743918f042317560a4fbba81acca0dbe6a53..d2d390d005266c1eb07736d3e8ca0427e46a4f88 100644
Binary files a/Tests/ReferenceData/Suite/BasicSpecularPP.int.gz and b/Tests/ReferenceData/Suite/BasicSpecularPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BeamDivergence.int.gz b/Tests/ReferenceData/Suite/BeamDivergence.int.gz
index b35d5a793aa9536c4bba0c4de016f89185fca34a..50746880ac38cb70d4c6251136b87d165cb57cc7 100644
Binary files a/Tests/ReferenceData/Suite/BeamDivergence.int.gz and b/Tests/ReferenceData/Suite/BeamDivergence.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BoxCompositionRotateX.int.gz b/Tests/ReferenceData/Suite/BoxCompositionRotateX.int.gz
index bd3efa83fd825a0ed0dc3f86c59058755a5fae05..9c2243d9757943e06f6883ad44586ba4302128dd 100644
Binary files a/Tests/ReferenceData/Suite/BoxCompositionRotateX.int.gz and b/Tests/ReferenceData/Suite/BoxCompositionRotateX.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BoxCompositionRotateY.int.gz b/Tests/ReferenceData/Suite/BoxCompositionRotateY.int.gz
index 94d1a6e78a07bdb6006cd485b19e582e97ba47e7..ac5815899c133a643e46303b7336a409f04b5a83 100644
Binary files a/Tests/ReferenceData/Suite/BoxCompositionRotateY.int.gz and b/Tests/ReferenceData/Suite/BoxCompositionRotateY.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BoxCompositionRotateZ.int.gz b/Tests/ReferenceData/Suite/BoxCompositionRotateZ.int.gz
index d6d1d04012922d7f3a3d999af3277856c6e18a1e..4bc45c073e7261bb3d2a9747790332c3283e68a5 100644
Binary files a/Tests/ReferenceData/Suite/BoxCompositionRotateZ.int.gz and b/Tests/ReferenceData/Suite/BoxCompositionRotateZ.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BoxCompositionRotateZandY.int.gz b/Tests/ReferenceData/Suite/BoxCompositionRotateZandY.int.gz
index 427de8eedec0eedc7e9c7227a0d23c2fd5b27ea6..08f5588704fffc6afa8bbba6c7fbd4a355d12a33 100644
Binary files a/Tests/ReferenceData/Suite/BoxCompositionRotateZandY.int.gz and b/Tests/ReferenceData/Suite/BoxCompositionRotateZandY.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BoxStackComposition.int.gz b/Tests/ReferenceData/Suite/BoxStackComposition.int.gz
index 649e418cfa84c17803754914ab722b7f8f93cb25..3ab1d27475660e7cc2fcc6be64ddaf532abe9b93 100644
Binary files a/Tests/ReferenceData/Suite/BoxStackComposition.int.gz and b/Tests/ReferenceData/Suite/BoxStackComposition.int.gz differ
diff --git a/Tests/ReferenceData/Suite/BoxesWithSpecular.int.gz b/Tests/ReferenceData/Suite/BoxesWithSpecular.int.gz
index 6ed28a9cce33dec9fcc4209abe9a9419119b7746..fc3b6b037336bfba08e38ed422e10965470e70fd 100644
Binary files a/Tests/ReferenceData/Suite/BoxesWithSpecular.int.gz and b/Tests/ReferenceData/Suite/BoxesWithSpecular.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CenteredSquareLattice2D.int.gz b/Tests/ReferenceData/Suite/CenteredSquareLattice2D.int.gz
index bca8cc5263aefdf9226a781d93bc9e8cc68a5163..7af1a674b6cc52bb0d4095ea5a27aa9f9c1c9c96 100644
Binary files a/Tests/ReferenceData/Suite/CenteredSquareLattice2D.int.gz and b/Tests/ReferenceData/Suite/CenteredSquareLattice2D.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Compound.int.gz b/Tests/ReferenceData/Suite/Compound.int.gz
index 8871c435e960b54c74a8d7696f875c83eeb86206..010014ddf7e9c4a539e53cc2379bb547b05b7be1 100644
Binary files a/Tests/ReferenceData/Suite/Compound.int.gz and b/Tests/ReferenceData/Suite/Compound.int.gz differ
diff --git a/Tests/ReferenceData/Suite/ConesWithLimitsDistribution.int.gz b/Tests/ReferenceData/Suite/ConesWithLimitsDistribution.int.gz
index 48de86462aa3d2b5edc56102f7e3db4c3762663b..c60fc2b1c5dc1663d044635e9b2803e20adf12d9 100644
Binary files a/Tests/ReferenceData/Suite/ConesWithLimitsDistribution.int.gz and b/Tests/ReferenceData/Suite/ConesWithLimitsDistribution.int.gz differ
diff --git a/Tests/ReferenceData/Suite/ConstantBackground.int.gz b/Tests/ReferenceData/Suite/ConstantBackground.int.gz
index 76a6350c306061ec42bf41e81cd5d321802f800f..2ecb163f3f99495e32dd7868c989df5c3ef0f39b 100644
Binary files a/Tests/ReferenceData/Suite/ConstantBackground.int.gz and b/Tests/ReferenceData/Suite/ConstantBackground.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CoreShellBoxRotateZandY.int.gz b/Tests/ReferenceData/Suite/CoreShellBoxRotateZandY.int.gz
index 2f947dd21add0e8897664997d2c35ff54f4f75dd..99bbb3b48d57b825d41c75c10b4185c9a5558984 100644
Binary files a/Tests/ReferenceData/Suite/CoreShellBoxRotateZandY.int.gz and b/Tests/ReferenceData/Suite/CoreShellBoxRotateZandY.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CoreShellParticle.int.gz b/Tests/ReferenceData/Suite/CoreShellParticle.int.gz
index 9be4397e23a6bba271b9edd987e7ecd9b9b84e5b..1fcd15f0335787d3913e2eef6a96ab2afda7738c 100644
Binary files a/Tests/ReferenceData/Suite/CoreShellParticle.int.gz and b/Tests/ReferenceData/Suite/CoreShellParticle.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CosineRipple.int.gz b/Tests/ReferenceData/Suite/CosineRipple.int.gz
index d672809e95369256be006c74677a79d3fa418201..9cafb030e4762c79d847d072223d6689b857291c 100644
Binary files a/Tests/ReferenceData/Suite/CosineRipple.int.gz and b/Tests/ReferenceData/Suite/CosineRipple.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CustomMorphology.int.gz b/Tests/ReferenceData/Suite/CustomMorphology.int.gz
index a064aacef1cd9b5f0e81eb9c72144186b8db999a..b788fdd506eb3990fe81c06ee63926f5a61dd6ec 100644
Binary files a/Tests/ReferenceData/Suite/CustomMorphology.int.gz and b/Tests/ReferenceData/Suite/CustomMorphology.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CylindersAndPrisms.int.gz b/Tests/ReferenceData/Suite/CylindersAndPrisms.int.gz
index a264e1cb39f22cc71bc7737ec7d6105ab03031c2..416c1b6de06e0675b71d24c3339b4d35fdc8653f 100644
Binary files a/Tests/ReferenceData/Suite/CylindersAndPrisms.int.gz and b/Tests/ReferenceData/Suite/CylindersAndPrisms.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CylindersInSSCA.int.gz b/Tests/ReferenceData/Suite/CylindersInSSCA.int.gz
index 3cde6722c20900481905935f385e36a656e49029..a445cb9de460cd152ed2068f1f0313ef9451f2e8 100644
Binary files a/Tests/ReferenceData/Suite/CylindersInSSCA.int.gz and b/Tests/ReferenceData/Suite/CylindersInSSCA.int.gz differ
diff --git a/Tests/ReferenceData/Suite/CylindersWithSizeDistribution.int.gz b/Tests/ReferenceData/Suite/CylindersWithSizeDistribution.int.gz
index 37b1a6008f49b46387af352568188347472f88ad..20511ecd8a02e5e6b26097030e71b922f4703328 100644
Binary files a/Tests/ReferenceData/Suite/CylindersWithSizeDistribution.int.gz and b/Tests/ReferenceData/Suite/CylindersWithSizeDistribution.int.gz differ
diff --git a/Tests/ReferenceData/Suite/DepthprobeTest.int.gz b/Tests/ReferenceData/Suite/DepthprobeTest.int.gz
index b654c917caa930589e6b1c19ee96309d876b4233..2de5efa9d37c98f755863cb83c3b79ea12b577b4 100644
Binary files a/Tests/ReferenceData/Suite/DepthprobeTest.int.gz and b/Tests/ReferenceData/Suite/DepthprobeTest.int.gz differ
diff --git a/Tests/ReferenceData/Suite/DetectorResolution.int.gz b/Tests/ReferenceData/Suite/DetectorResolution.int.gz
index 0c44ddd3259afd2a7564ef1736a563279b10e383..b864d3ab4d7a8653bd0a5036a987d48499ab09d7 100644
Binary files a/Tests/ReferenceData/Suite/DetectorResolution.int.gz and b/Tests/ReferenceData/Suite/DetectorResolution.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FiniteSquareLattice2D.int.gz b/Tests/ReferenceData/Suite/FiniteSquareLattice2D.int.gz
index 6f1f19f93bd05206d127990471dd606bf2dc3289..7ae3b595432c12741df78624840ce17a8c5b6c54 100644
Binary files a/Tests/ReferenceData/Suite/FiniteSquareLattice2D.int.gz and b/Tests/ReferenceData/Suite/FiniteSquareLattice2D.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption.int.gz
index d57c270eeda299db779734c1c1fbf0c883d2b756..6731697cbeebb187cb7d9a5a480d199a1466a460 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Bipyramid4.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Bipyramid4.int.gz
index 09b51689d994089e39a7423b809d8a9b7551589c..6387fb081c842f5b8ef2689a60164c10a4dc220b 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Bipyramid4.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Bipyramid4.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Box.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Box.int.gz
index b6420ad8275a2faf63c929bfea05c806eb427881..ad808a5e8718f9f8150b69a1e1fccbc5947ee9fe 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Box.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Box.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CantellatedCube.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CantellatedCube.int.gz
index af8175e37a1c5451483901b639df9baea68c2156..6da6f3d174796bf1808d9b389a4de0df3f4e7144 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CantellatedCube.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CantellatedCube.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cone.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cone.int.gz
index fed302a741eea4135b780adfd04d7dfadd04f93c..f1b304b6325510c2c6afeb4b7be9e9e89b36ab21 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cone.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cone.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CosineRippleBox.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CosineRippleBox.int.gz
index f2a2fab19ea5c4d487188b02278f85a6a3905be0..c1dc151930d0196bb5ba6fe614b862a8637a7a5b 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CosineRippleBox.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_CosineRippleBox.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cylinder.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cylinder.int.gz
index 806225bfe29e14e4eac9a3a0c16f308a88faa38b..f3a84f06cd1aa8be4ffe4ffadd4b97da8e107f3f 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cylinder.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Cylinder.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Dodecahedron.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Dodecahedron.int.gz
index e5c64d439eb9b7fdde5eb4748ddee3203cb03ec7..4d520e5501010a63b5e5b3cb1de81c4083ac02f5 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Dodecahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Dodecahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_EllipsoidalCylinder.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_EllipsoidalCylinder.int.gz
index d1374d67bed01972429ad3a34103432b0fd080e1..e5fa0b4379bb8599d474e6ffa82ec3fe423a678a 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_EllipsoidalCylinder.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_EllipsoidalCylinder.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HemiEllipsoid.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HemiEllipsoid.int.gz
index 6fb5abd5397b9fadbf41b464f50b1a1b12efe5fa..89bcb00e341ee44352e27a14edc4d94254ed102d 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HemiEllipsoid.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HemiEllipsoid.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HorizontalCylinder.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HorizontalCylinder.int.gz
index 744f9fd26a797d4d186068aca472dcd195490118..8b3bdb8b3c4461e5e735513793581a04203c660a 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HorizontalCylinder.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_HorizontalCylinder.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Icosahedron.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Icosahedron.int.gz
index 06d1dbcf85b5e0086b8de15d82864d8b25e17d48..a9705e546d19ba88a134296144397469cf402613 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Icosahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Icosahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicOctahedron.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicOctahedron.int.gz
index 27840535893960197bb7ea5f53cc3d406e865697..814d6ac0e1b117db67197191b64a54f31d688375 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicOctahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicOctahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicTetrahedron.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicTetrahedron.int.gz
index 473c577a7ba40ad0599a28094fb511f16418f5cf..1f03ab2b65821efe4d08217bfaa8cb9047eaa5f4 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicTetrahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_PlatonicTetrahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism3.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism3.int.gz
index 7d1bf94b44ab0ee91bccdd09a9460aaf54985178..9254d0b9bc51a8f14239619fb5ddfb4f15c0f56d 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism3.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism3.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism6.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism6.int.gz
index a856c921b3d8c8aa9f60e409dfa5893e24b9e1a3..93ce69d94f207d3e5cd4e333834f3c8d3a6e132a 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism6.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Prism6.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid2.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid2.int.gz
index 514da72e39ba9d6022459380610e47d4bc6431de..b310c783f38400926d08dcb8f97de27791289373 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid2.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid2.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid3.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid3.int.gz
index 10ab87751255ee26a26dcfa333d0a87f5abd8411..43f3b5913179afa27c35fbdbfa44d2b189c51cfa 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid3.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid3.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid4.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid4.int.gz
index 6f2d5c025860eb593b12610ff0f171eafdc69c79..8836ba2cb106123749b5894774f126324c5873ba 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid4.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid4.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid6.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid6.int.gz
index b259e23a9dc8c4c0974526620752358c80471f9c..b7874931b32e7e7936bbaf23976f5d61a6085ec9 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid6.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Pyramid6.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_SawtoothRippleBox.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_SawtoothRippleBox.int.gz
index e0fed012b9faeac1153e0778975a9a90e15d0550..4ab73ea5f79c6de458067e10d39d55cea690abe7 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_SawtoothRippleBox.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_SawtoothRippleBox.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Sphere.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Sphere.int.gz
index ea159d0a00e7df9a53feac5c525f251e34f67122..c5715edb308c077cb0c0ea9da90b12493d34e374 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Sphere.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Sphere.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Spheroid.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Spheroid.int.gz
index 6aa4d66abd3b0bf89519468623f4e00be0a9aee3..8bf3b0e7b552fa20aef90776e1c905de18cfaef2 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Spheroid.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_Spheroid.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedCube.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedCube.int.gz
index 849bccaa3e4a59f881b941510a58851e0eb49788..6991ef311b4ea24d73edfa47a0342366f6ff2520 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedCube.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedCube.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSphere.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSphere.int.gz
index 48c72178eb5a99f367abb245af573a5a1f9d129c..edddc4d0fc95ee901a519f9f8313c50ddde9b608 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSphere.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSphere.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSpheroid.int.gz b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSpheroid.int.gz
index d57c270eeda299db779734c1c1fbf0c883d2b756..51277f6390eacf7c0b02560d1e8c5601105be5b4 100644
Binary files a/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSpheroid.int.gz and b/Tests/ReferenceData/Suite/FormFactorsWithAbsorption_TruncatedSpheroid.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Bipyramid4.int.gz b/Tests/ReferenceData/Suite/FormFactors_Bipyramid4.int.gz
index 66c2ba5b42f91215f04ca8c60d652f1ed445cefd..b1c0b83a943fe2c40141f4c8d93094404622d528 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Bipyramid4.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Bipyramid4.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Box.int.gz b/Tests/ReferenceData/Suite/FormFactors_Box.int.gz
index 0291e3eed2efec1576c9ab3cc79b636253ea8649..9dd83aae5ba44b93eafaa676060eab009e19c98e 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Box.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Box.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_CantellatedCube.int.gz b/Tests/ReferenceData/Suite/FormFactors_CantellatedCube.int.gz
index d08bb4df78724982b7d104b5862b14cc0b9ed28e..f04041c7d3926e0a2d352b0b8b3a7802e534e9c0 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_CantellatedCube.int.gz and b/Tests/ReferenceData/Suite/FormFactors_CantellatedCube.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Cone.int.gz b/Tests/ReferenceData/Suite/FormFactors_Cone.int.gz
index 009a40d8e8377672aa461375bb9a93c58bf5478b..e91204e8b031d098e7a067114e2042201674f954 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Cone.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Cone.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_CosineRippleBox.int.gz b/Tests/ReferenceData/Suite/FormFactors_CosineRippleBox.int.gz
index f780abe90d7e85fd886f9df9af59a55a00b07e19..ba36ea00b24fe5f2461e68590e9d89b542ee8081 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_CosineRippleBox.int.gz and b/Tests/ReferenceData/Suite/FormFactors_CosineRippleBox.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Cylinder.int.gz b/Tests/ReferenceData/Suite/FormFactors_Cylinder.int.gz
index 6517aa3ea56dd0ff1dc1fe6a7962c884acf19c68..b0a1ef0dbb1acf25c6be61376f14c84323cea4aa 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Cylinder.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Cylinder.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Dodecahedron.int.gz b/Tests/ReferenceData/Suite/FormFactors_Dodecahedron.int.gz
index 0778dcb593dd642c4f743c22c3d9124ffc2a2ec8..4c0ba6e4d7590425a66ba63c618f8d00155db25f 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Dodecahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Dodecahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_EllipsoidalCylinder.int.gz b/Tests/ReferenceData/Suite/FormFactors_EllipsoidalCylinder.int.gz
index e692c76fe6b57eaef156f1010985ca4230c47afc..4e6a83cb30fb4065495df80969d05fb0c51cbdc2 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_EllipsoidalCylinder.int.gz and b/Tests/ReferenceData/Suite/FormFactors_EllipsoidalCylinder.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_HemiEllipsoid.int.gz b/Tests/ReferenceData/Suite/FormFactors_HemiEllipsoid.int.gz
index 7cb037073cdf756285a62d4e64221428369d5997..9ed73f6ba0f8b582851833bf589a5d9006c80b6a 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_HemiEllipsoid.int.gz and b/Tests/ReferenceData/Suite/FormFactors_HemiEllipsoid.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_HorizontalCylinder.int.gz b/Tests/ReferenceData/Suite/FormFactors_HorizontalCylinder.int.gz
index f23beafb1311418395dd2c4437b7c0f50a22e3a0..4a32181f4378fcb04ed3374ef294f1588359aedb 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_HorizontalCylinder.int.gz and b/Tests/ReferenceData/Suite/FormFactors_HorizontalCylinder.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Icosahedron.int.gz b/Tests/ReferenceData/Suite/FormFactors_Icosahedron.int.gz
index beb31d6dc077fa5bef5be213ccc0d7622e86eaf1..e8df8dfcb0e3ec610ec27049fd75c7023744f018 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Icosahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Icosahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_PlatonicOctahedron.int.gz b/Tests/ReferenceData/Suite/FormFactors_PlatonicOctahedron.int.gz
index 14f4ec15210a84dbdaf2c8b61614a5c93c9421bc..2e6e52ca0920eb9f852cbca7c3027ec8c92f4437 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_PlatonicOctahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactors_PlatonicOctahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_PlatonicTetrahedron.int.gz b/Tests/ReferenceData/Suite/FormFactors_PlatonicTetrahedron.int.gz
index df767bdee13b85ac77e87c0ebf34910c143dbed3..e0ec0ee654277733e847ad830af5d7bb74702455 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_PlatonicTetrahedron.int.gz and b/Tests/ReferenceData/Suite/FormFactors_PlatonicTetrahedron.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Prism3.int.gz b/Tests/ReferenceData/Suite/FormFactors_Prism3.int.gz
index 59d09abcf48e977ae77f2f6e3a7ea680a25c478f..602bb14c780f062b19081e6f6249e55582421c19 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Prism3.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Prism3.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Prism6.int.gz b/Tests/ReferenceData/Suite/FormFactors_Prism6.int.gz
index 15c70088bb24e9584a4d893fcd84347a570a4025..63f0ee0592e1407e17779cf80a9bf91838abaf02 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Prism6.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Prism6.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Pyramid2.int.gz b/Tests/ReferenceData/Suite/FormFactors_Pyramid2.int.gz
index 8cf973715266331e631b95217aabd4de8728a93a..b15b465b76ecd29718019547d1cf2556fb030634 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Pyramid2.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Pyramid2.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Pyramid3.int.gz b/Tests/ReferenceData/Suite/FormFactors_Pyramid3.int.gz
index b0908722deec39846602afa6481c914322ed2e60..ff8afa4bf6146b41caaef9b213d786ed091164c7 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Pyramid3.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Pyramid3.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Pyramid4.int.gz b/Tests/ReferenceData/Suite/FormFactors_Pyramid4.int.gz
index ff5ff190a0e019abc92214effa1cd833dabdfbbe..0c247f1b7d7c9ce39c65ff39642d5cd58c22e7e4 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Pyramid4.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Pyramid4.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Pyramid6.int.gz b/Tests/ReferenceData/Suite/FormFactors_Pyramid6.int.gz
index c5ef346a6f77f8cb2e591d0cbadcaea80b96c324..eb161f4e740afbd4175196c88f313f737c5326f2 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Pyramid6.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Pyramid6.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_SawtoothRippleBox.int.gz b/Tests/ReferenceData/Suite/FormFactors_SawtoothRippleBox.int.gz
index 94b01f947dfa67b21cb798da3119e822248e80d3..2b6aae14b26c15d211211dfaf32901bc9de3f24b 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_SawtoothRippleBox.int.gz and b/Tests/ReferenceData/Suite/FormFactors_SawtoothRippleBox.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Sphere.int.gz b/Tests/ReferenceData/Suite/FormFactors_Sphere.int.gz
index 089eae19689d462459e36565b1643996aee7d554..a124dcf6deca2dda368caf4b8dc1a096be6d37a3 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Sphere.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Sphere.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_Spheroid.int.gz b/Tests/ReferenceData/Suite/FormFactors_Spheroid.int.gz
index 6d6b3473909fca852c1495d17a110cb3c3bd8c38..5027847a2522b2d27e04d3658e99e44aa39c7b0d 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_Spheroid.int.gz and b/Tests/ReferenceData/Suite/FormFactors_Spheroid.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_TruncatedCube.int.gz b/Tests/ReferenceData/Suite/FormFactors_TruncatedCube.int.gz
index ed8b01d05ba82bd3399e316e0a2b420832ca5a13..367c07e1e2cafaa25dc3ee9629b3321de64057b8 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_TruncatedCube.int.gz and b/Tests/ReferenceData/Suite/FormFactors_TruncatedCube.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_TruncatedSphere.int.gz b/Tests/ReferenceData/Suite/FormFactors_TruncatedSphere.int.gz
index 2b2f8405a2cd69512b78646d7cc585ae6a1d7f40..5a239ce3fa39e438fcc0f53eb6c42694aa18d4c3 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_TruncatedSphere.int.gz and b/Tests/ReferenceData/Suite/FormFactors_TruncatedSphere.int.gz differ
diff --git a/Tests/ReferenceData/Suite/FormFactors_TruncatedSpheroid.int.gz b/Tests/ReferenceData/Suite/FormFactors_TruncatedSpheroid.int.gz
index 2b2f8405a2cd69512b78646d7cc585ae6a1d7f40..05be578a6c5466d52ba1ed46ab69860491162b08 100644
Binary files a/Tests/ReferenceData/Suite/FormFactors_TruncatedSpheroid.int.gz and b/Tests/ReferenceData/Suite/FormFactors_TruncatedSpheroid.int.gz differ
diff --git a/Tests/ReferenceData/Suite/GISASAbsorptiveSLDLayers.int.gz b/Tests/ReferenceData/Suite/GISASAbsorptiveSLDLayers.int.gz
index bbb112ef6219d335a87b8871ad7e329009146621..79df9847082bde6822d13c9df4bcedf69aab4dc6 100644
Binary files a/Tests/ReferenceData/Suite/GISASAbsorptiveSLDLayers.int.gz and b/Tests/ReferenceData/Suite/GISASAbsorptiveSLDLayers.int.gz differ
diff --git a/Tests/ReferenceData/Suite/GaussianBeamFootprint.int.gz b/Tests/ReferenceData/Suite/GaussianBeamFootprint.int.gz
index 8616b6d8e516a89813d0acd05a69bc33249b8cec..b0f60a182137e9a5faf7cccf9f25d629588afe55 100644
Binary files a/Tests/ReferenceData/Suite/GaussianBeamFootprint.int.gz and b/Tests/ReferenceData/Suite/GaussianBeamFootprint.int.gz differ
diff --git a/Tests/ReferenceData/Suite/HardDisk.int.gz b/Tests/ReferenceData/Suite/HardDisk.int.gz
index b98c878511c23a33e1c8d62653ec5f7b04c37110..6b6efd2f6f305ea7fee849c8f5f308f499ef178f 100644
Binary files a/Tests/ReferenceData/Suite/HardDisk.int.gz and b/Tests/ReferenceData/Suite/HardDisk.int.gz differ
diff --git a/Tests/ReferenceData/Suite/HexParacrystal.int.gz b/Tests/ReferenceData/Suite/HexParacrystal.int.gz
index 38c0e31654e541deb662270305779375c474428a..ac9ddf8dc38ff83b91af1c5ce2ca022b21c42a14 100644
Binary files a/Tests/ReferenceData/Suite/HexParacrystal.int.gz and b/Tests/ReferenceData/Suite/HexParacrystal.int.gz differ
diff --git a/Tests/ReferenceData/Suite/HomogeneousTiNiSample.int.gz b/Tests/ReferenceData/Suite/HomogeneousTiNiSample.int.gz
index ce8d20041f4b567e5ec02aa546662a6778285af1..76ab9f4e622fe46c87497d6343c189d117f48878 100644
Binary files a/Tests/ReferenceData/Suite/HomogeneousTiNiSample.int.gz and b/Tests/ReferenceData/Suite/HomogeneousTiNiSample.int.gz differ
diff --git a/Tests/ReferenceData/Suite/HomogeneousTiNiSampleWithAbsorption.int.gz b/Tests/ReferenceData/Suite/HomogeneousTiNiSampleWithAbsorption.int.gz
index b2f16487df55dc272d22685ea73d23edec67c7ec..bac5ee49ec7fe4d4c89d50c115ba34931e3745c8 100644
Binary files a/Tests/ReferenceData/Suite/HomogeneousTiNiSampleWithAbsorption.int.gz and b/Tests/ReferenceData/Suite/HomogeneousTiNiSampleWithAbsorption.int.gz differ
diff --git a/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_0.int.gz b/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_0.int.gz
index 980f5373ed49843c2b1bbf9fb00d98152a0a2814..84087aacd2ea70c7b8d7f2d181639a6abc84ebd5 100644
Binary files a/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_0.int.gz and b/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_0.int.gz differ
diff --git a/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_Q.int.gz b/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_Q.int.gz
index 88238ece61b859ca3393ca7660e65d73463ffd22..d2852c4c892a04d9fa535c51592ba2cced2e47fb 100644
Binary files a/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_Q.int.gz and b/Tests/ReferenceData/Suite/InstrumentDefinitionComparison_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/LargeCylindersMonteCarlo.int.gz b/Tests/ReferenceData/Suite/LargeCylindersMonteCarlo.int.gz
index 3f34164d459419852e9156d550de38e550915658..5961a201073eccf50a8ec29057dd3f3dab140444 100644
Binary files a/Tests/ReferenceData/Suite/LargeCylindersMonteCarlo.int.gz and b/Tests/ReferenceData/Suite/LargeCylindersMonteCarlo.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Lattice1D.int.gz b/Tests/ReferenceData/Suite/Lattice1D.int.gz
index 1c0d968673e220dd361ce735f6e1c962809ef51f..9f5920b5230cb8ed4798426666043a02481b797e 100644
Binary files a/Tests/ReferenceData/Suite/Lattice1D.int.gz and b/Tests/ReferenceData/Suite/Lattice1D.int.gz differ
diff --git a/Tests/ReferenceData/Suite/LinkedBoxDistribution.int.gz b/Tests/ReferenceData/Suite/LinkedBoxDistribution.int.gz
index 869bec40a1ae35762a974f03ac3926bbd0c19769..d656ff0328766084278b8f8deec89a2bec53adac 100644
Binary files a/Tests/ReferenceData/Suite/LinkedBoxDistribution.int.gz and b/Tests/ReferenceData/Suite/LinkedBoxDistribution.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticCylindersMM.int.gz b/Tests/ReferenceData/Suite/MagneticCylindersMM.int.gz
index 10a1893fca7a459c15627bf0f4df73808554665f..69dad4e5186b08dc94b2b1acfb108a8f59ee9e6b 100644
Binary files a/Tests/ReferenceData/Suite/MagneticCylindersMM.int.gz and b/Tests/ReferenceData/Suite/MagneticCylindersMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticCylindersMP.int.gz b/Tests/ReferenceData/Suite/MagneticCylindersMP.int.gz
index feafb5dd3b75151c8740bc093f21b67bc2cbc19c..24449b68a0dab87e7061ae7bce76d56a97208be3 100644
Binary files a/Tests/ReferenceData/Suite/MagneticCylindersMP.int.gz and b/Tests/ReferenceData/Suite/MagneticCylindersMP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticCylindersPM.int.gz b/Tests/ReferenceData/Suite/MagneticCylindersPM.int.gz
index 3b854f8728393cdf903436bc96fc25a24d34f2f4..6d29b90fab7bab48abfd8d8ec35d1df8000a1b07 100644
Binary files a/Tests/ReferenceData/Suite/MagneticCylindersPM.int.gz and b/Tests/ReferenceData/Suite/MagneticCylindersPM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticCylindersPP.int.gz b/Tests/ReferenceData/Suite/MagneticCylindersPP.int.gz
index 16153693bde028659e4391b4a584911c7952a56d..ef326534ed42a88b016350c8d2d87d8bea0f564d 100644
Binary files a/Tests/ReferenceData/Suite/MagneticCylindersPP.int.gz and b/Tests/ReferenceData/Suite/MagneticCylindersPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticParticleZeroField.int.gz b/Tests/ReferenceData/Suite/MagneticParticleZeroField.int.gz
index 89e01550b17948c5cc5af793de3ab017324ab14f..01f4f28af820790b226fd0c43724e74136ca203b 100644
Binary files a/Tests/ReferenceData/Suite/MagneticParticleZeroField.int.gz and b/Tests/ReferenceData/Suite/MagneticParticleZeroField.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Flat.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Flat.int.gz
index 0f422e973e568d30cdbad8ff9824d7c772699540..f7ce5169d4ce913eb8e667edadbd0b9d0c4fd9c7 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Flat.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Flat.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_NevotCroce.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_NevotCroce.int.gz
index 41a50342acf2a116d992aee3a60bff1f711b3c87..dad18998da57eea6aab7870646e002b174773d39 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_NevotCroce.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_NevotCroce.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Tanh.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Tanh.int.gz
index 8e875cb99f0479105e8524e347a014abfcf8e28c..d435965e6f064b616477e93c146131a1a5c9fc31 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Tanh.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMM_Tanh.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Flat.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Flat.int.gz
index 5129fef51d527532d42464d33ffb7185fb8a8f87..8605f60d924c0bd4347810ad62504efca6521727 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Flat.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Flat.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_NevotCroce.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_NevotCroce.int.gz
index 21edeed74b1447ead6e4ab7237338e056daf23c1..f007aa72fe5afbc444fde84134e286e4b486626f 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_NevotCroce.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_NevotCroce.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Tanh.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Tanh.int.gz
index a9cc638e79b5a147ee7568d18691f55a8bcceabc..e287f1b1cfb842382cfec48393147aa259a129de 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Tanh.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityMP_Tanh.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Flat.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Flat.int.gz
index b855663cda86ae3decbd7da6c83b26cf49e0d3d0..cab0cf4c93cc6ed35af888f18afa481e8f7ea057 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Flat.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Flat.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_NevotCroce.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_NevotCroce.int.gz
index 6361a06472a2d4834a834ed6ccc07c0bdceffc3e..15e0f7463bae34f9f870aed363a6352bb266dfcf 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_NevotCroce.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_NevotCroce.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Tanh.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Tanh.int.gz
index 1b666968b4b4f7772c9693b8c2038d07fcff7b37..718ed89bb501608d76d0f285e14c51f4b72d2c22 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Tanh.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPM_Tanh.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Flat.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Flat.int.gz
index 6004b25efd658bd9e4f70580d66c6bf7e56ec1df..317516d157691de5765671e6f0568beaa57cfb08 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Flat.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Flat.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_NevotCroce.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_NevotCroce.int.gz
index f674ab2379bd08baf9dddb81def3112a7b9c56f5..45c26eceefb8696aa5df58e486c44af783ccabf6 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_NevotCroce.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_NevotCroce.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Tanh.int.gz b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Tanh.int.gz
index 5dcff15f96bfd6dac9839297dc547da6d636007d..bca2c0b2e529c07d01af255ab6d6ad22b5dd332b 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Tanh.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationReflectivityPP_Tanh.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticRotationZPM.int.gz b/Tests/ReferenceData/Suite/MagneticRotationZPM.int.gz
index 691fdc71f3ec0370b58cb06079e9139f1afb855e..7a2eb8a933dacb5f561579c7f7f3ca0704e04916 100644
Binary files a/Tests/ReferenceData/Suite/MagneticRotationZPM.int.gz and b/Tests/ReferenceData/Suite/MagneticRotationZPM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticSpheres.int.gz b/Tests/ReferenceData/Suite/MagneticSpheres.int.gz
index 4f0c74e973c9a4075f24571ccdc654337fca7265..8d3fbef4edb6bbf42b05330102432a765653d40d 100644
Binary files a/Tests/ReferenceData/Suite/MagneticSpheres.int.gz and b/Tests/ReferenceData/Suite/MagneticSpheres.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerMP.int.gz b/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerMP.int.gz
index e5845a33bcf92ffa12c5e9775bb49041173ea2c0..7227485ae6b24a473100f05e3d26db30977f8144 100644
Binary files a/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerMP.int.gz and b/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerMP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerPP.int.gz b/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerPP.int.gz
index 8e10822ce06d25fbe39283c726efe4a8820b2f1d..9dac27612d489753830339f5c7fc4f80772a14dd 100644
Binary files a/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerPP.int.gz and b/Tests/ReferenceData/Suite/MagneticSpheresInMagLayerPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MagneticSubstrateZeroField.int.gz b/Tests/ReferenceData/Suite/MagneticSubstrateZeroField.int.gz
index d9e075a8df29a928d1f4d9f5db893f6cacd60a87..d5179970346899b2b15b1a5217eaa72d9e180708 100644
Binary files a/Tests/ReferenceData/Suite/MagneticSubstrateZeroField.int.gz and b/Tests/ReferenceData/Suite/MagneticSubstrateZeroField.int.gz differ
diff --git a/Tests/ReferenceData/Suite/Mesocrystal.int.gz b/Tests/ReferenceData/Suite/Mesocrystal.int.gz
index f95d880ccf26d4315041c1c93125c00aac7bb37e..c6e7b3e274c7999f7bbd84108ea81f989a6e2e09 100644
Binary files a/Tests/ReferenceData/Suite/Mesocrystal.int.gz and b/Tests/ReferenceData/Suite/Mesocrystal.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MultiLayerWithRoughness.int.gz b/Tests/ReferenceData/Suite/MultiLayerWithRoughness.int.gz
index ba7fd57bd48a72b671a783e4474d97fc54994964..ff2af945bc2278a8f9234a1c2815a8612688e23a 100644
Binary files a/Tests/ReferenceData/Suite/MultiLayerWithRoughness.int.gz and b/Tests/ReferenceData/Suite/MultiLayerWithRoughness.int.gz differ
diff --git a/Tests/ReferenceData/Suite/MultipleLayout.int.gz b/Tests/ReferenceData/Suite/MultipleLayout.int.gz
index 3b8a10862dd1c683eacd7f367bdbc001ec4e441d..0a920aa06061374f507b2d9810da4c75369c3ec7 100644
Binary files a/Tests/ReferenceData/Suite/MultipleLayout.int.gz and b/Tests/ReferenceData/Suite/MultipleLayout.int.gz differ
diff --git a/Tests/ReferenceData/Suite/NCRoughnessInSpecular.int.gz b/Tests/ReferenceData/Suite/NCRoughnessInSpecular.int.gz
index 47c4f99175cf3e190c89e02cf9976b9731b38fcf..886335afa3a29678e278c4027ba8a25efe3cf29c 100644
Binary files a/Tests/ReferenceData/Suite/NCRoughnessInSpecular.int.gz and b/Tests/ReferenceData/Suite/NCRoughnessInSpecular.int.gz differ
diff --git a/Tests/ReferenceData/Suite/OffspecResonator.int.gz b/Tests/ReferenceData/Suite/OffspecResonator.int.gz
index 49d849f75e12902e91950d4fe13818e5220609ed..6572a6108ec34e295203eb6372d7c7a4b62fd856 100644
Binary files a/Tests/ReferenceData/Suite/OffspecResonator.int.gz and b/Tests/ReferenceData/Suite/OffspecResonator.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM.int.gz
index 9423ee1d3ef8fe9b768b05a44b6726c6d90c34f3..91517ef8003d14e41122b5c3418afbda82c5f797 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM_Q.int.gz
index 24ff28f58ff29737cc63ec672e6a12616191e547..3c3b4b882d79971b9d76262a20562c480f62a4a1 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerMM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM.int.gz
index 7214b36db83f7e371d43aa6949ae63bda2746dde..d539fc79a7924d62fe10a23ab241f52f9371c4a6 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM_Q.int.gz
index b4c05a7d0f50db11f0e5c0805dd3ab19740f6368..0d15b704b66e2c933d819af1a2308845caafeb01 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCMM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP.int.gz
index 63efc4c37274a6db7f4f5b2eb56852a69793e5aa..cd413b4d9e0d8da251226a65fdb7bf98e9dedb16 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP_Q.int.gz
index 420c20648721e6b7f7fe1e7b08a33e513748e137..0bb3a2c5e836a83566d9765db53b17d09d4505cb 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerNCPP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP.int.gz
index 293b215872f4529c6704dc57508c72d9653853b0..4e2227a4b45aa3c5fe2aff1ae77e425139ee421d 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP_Q.int.gz
index 847266359f8267a60b8d29352b706abd791be47b..481103a5c43ebe82a5558a9f083ce904e309f41b 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerPP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM.int.gz
index 8df1e0707a25a8a8dec976240589e795d7fd366a..909c80999003a2aeb9609319b27e7972d4b2dc29 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM_Q.int.gz
index 5d02b73d16cf7b4e00da16476a524cf5dccf24b2..ea4e3442cb36e89e3ca5284a9c1d0a129de87e5a 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP.int.gz
index 0bc5a9c1053357c0beb3c0efaacd21885da03ec7..56bf11aed594483a1275f0a96e1e68b4afb988e7 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP_Q.int.gz
index c8fd8048e2f407f0d100f0fa2cf788dbd44b7066..cdf90b8f71dc007c2a0241847e22ffc641b3b3f7 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipMP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM.int.gz
index 1d0b1026cd08acdee74bd9df0bfb5195486c08d2..1996f31a5c58bbe1374cf665df11148b48afd487 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM_Q.int.gz
index ce5db2e13b57cda88ff04237bdca4491bdfbaece..3b4a5aeb65a58176dbd86067c864fb00c7052cb2 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP.int.gz
index e622ed0eef62c938a34f5f4fd90842f1810e7f67..990d952cd00178cd7af5f06249351928fea91adf 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP_Q.int.gz
index 93c1148f6eba0f3e08b9e04e6b5f376700c600b5..6e6ee832f39f270d7809953e8ac1f8c45f92b1ff 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCMP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM.int.gz
index 0c7f3c96572b00c1425bf1022c40e310f2af2d0c..e2ce905e6910596473513c1617e80ab1c8c70c88 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM_Q.int.gz
index bad512ff9e1af9c972133cfd88b9dd2d361a55e7..43c355d15a8db8a1db39acb55784544f951197b1 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP.int.gz
index 47bbf9bd9bb6c3bbaee680f19b53d56ffa23b1a7..844079752423a01df04030f59f11d639b6bc95dc 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP_Q.int.gz
index 799e6f1143fbfdad3bf81f725b98af62742a5a42..6d0917ae07dc80bc4d0d53e45d5d309b9e5b2ef9 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipNCPP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM.int.gz
index e27270901a729f6de6ea2de79966c16faaa0b9d0..7d406e9f643ea79f03ba556a7dd37dde9911e15b 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM_Q.int.gz
index 80744284c0f11105e33ad9e642f6a363bc4cb2b1..15ce2c3c92a95d9b8a367c8ee3eb9845f0a2d911 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP.int.gz
index 115345d2a021109034fb5693aeb9cb0732ad5318..515b3fe5fe8872b2cae840ca0ce98569ffbb0a08 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP_Q.int.gz
index 3d7877014020e45b2fdf2903dad404de1eab3eb2..f9832c6fcf2a7ef3118600e34a41d5c9e3da756c 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipPP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM.int.gz
index dca5d186e7072520f89861217a999a0ebeb88171..17331a8a047f10ee75fdec8747049fe92b4e8eb4 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM_Q.int.gz
index fda406a01d37dd7236d7de31fc6185ef4efab230..af47c733ba939c7003641db71a23ba0db15ad6fb 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP.int.gz
index 0c65ef9939b4c41660c8240cc77de06c7660376b..eacd75bb7ecea6e5ba4f0be732bd3ed0da7f7d7d 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP_Q.int.gz
index 1295785ca3947fea86edcd3b6750499b9e9ffe09..aa22563385b8369afbf7828aeafc868f5b8a0c2c 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhMP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM.int.gz
index 08484c15f7b99573d85b8767619f32528f53885b..f23557755bba6eb2efbecd59d3ff0b4de9c44220 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM_Q.int.gz
index d6ed83494ee3586521a466ad2c5a6479d0aa4054..23ff9e3334d2d8376d2a404d99183f67a9158bcf 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP.int.gz
index c85bcc1352659b498ead4893c0bb6c4c732fd371..08888ea7e6e28f80f1171f678024a6d2f426b84d 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP_Q.int.gz
index a611695689f7539c92f9a7fea8af67d662b7a13e..2678a9c556dc5bf123aba1f288f0720dee49f5fa 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerSpinFlipTanhPP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM.int.gz
index ff5bf6a34f582372f33cb340c8fe51c0ccb8f87f..c6560c9bc8154993236f7eefeea6552cfd07d3dd 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM_Q.int.gz
index 227539b04030ba182a1f2a03d3889a0a4d6bddd5..3148e2fefe151436a7e3e095e09ea656b28303be 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhMM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP.int.gz
index 82732edca01e0539f749970a8b7b0c6defe12648..18c703b13009a06217395e0997dafc46a45b0daa 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP_Q.int.gz
index 894d23d5c4186c14526a52bfe266819657955624..dfa5d3a7dcc14d4f6c496f7186b5b20bb4cf0144 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedFeNiBilayerTanhPP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityMM_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityMM_Q.int.gz
index 4cf7100ca7b63ca94ec1e0fd1da1c20646d799d0..0cf9c6ae0efc3781604de28d5b14a3f15749598d 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityMM_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityMM_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityPP_Q.int.gz b/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityPP_Q.int.gz
index f92b0667843d3274a58a562134149eca9dedee95..188705c687a5a9178dceb84cf6e13d3d7b2677ff 100644
Binary files a/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityPP_Q.int.gz and b/Tests/ReferenceData/Suite/PolarizedQAngleReflectivityPP_Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RadialParacrystal.int.gz b/Tests/ReferenceData/Suite/RadialParacrystal.int.gz
index 93b19ac356723ec46fd6d61aa4d90d8c1474bcca..3b7952e28b60021c54b934ae768bc751cf9a8c5e 100644
Binary files a/Tests/ReferenceData/Suite/RadialParacrystal.int.gz and b/Tests/ReferenceData/Suite/RadialParacrystal.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RectDetWithRoi.int.gz b/Tests/ReferenceData/Suite/RectDetWithRoi.int.gz
index 390a6f47224a27af9d13d907a211d0b00e5af058..8b2672980ca96037a99aa41f5e5f12d6eb308e6f 100644
Binary files a/Tests/ReferenceData/Suite/RectDetWithRoi.int.gz and b/Tests/ReferenceData/Suite/RectDetWithRoi.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RectDetectorGeneric.int.gz b/Tests/ReferenceData/Suite/RectDetectorGeneric.int.gz
index b8bc1c5fbf3f9d2d000b70ae6a17dec29845f8e5..1d838f5f04722c96e479c7cdf48b5f3f6cd36c12 100644
Binary files a/Tests/ReferenceData/Suite/RectDetectorGeneric.int.gz and b/Tests/ReferenceData/Suite/RectDetectorGeneric.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RectDetectorPerpToDirectBeam.int.gz b/Tests/ReferenceData/Suite/RectDetectorPerpToDirectBeam.int.gz
index 3a5abe2ef9ad4008d41d72c392ce92c170daf3c3..9f3a4b75aa04fb617bc7b4b91e64effc9b815734 100644
Binary files a/Tests/ReferenceData/Suite/RectDetectorPerpToDirectBeam.int.gz and b/Tests/ReferenceData/Suite/RectDetectorPerpToDirectBeam.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RectDetectorPerpToReflectedBeam.int.gz b/Tests/ReferenceData/Suite/RectDetectorPerpToReflectedBeam.int.gz
index 9f14051dfaacdcda80fa91221824479c36998e2e..61d6cd1da802654331df4ca50a367426b781922b 100644
Binary files a/Tests/ReferenceData/Suite/RectDetectorPerpToReflectedBeam.int.gz and b/Tests/ReferenceData/Suite/RectDetectorPerpToReflectedBeam.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RectDetectorPerpToSample.int.gz b/Tests/ReferenceData/Suite/RectDetectorPerpToSample.int.gz
index a59fa9f16858321b43318543b7380bb07d756abe..d2b333fd19fa2c028f5e7fb59e52452cf64d9493 100644
Binary files a/Tests/ReferenceData/Suite/RectDetectorPerpToSample.int.gz and b/Tests/ReferenceData/Suite/RectDetectorPerpToSample.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RectParacrystal.int.gz b/Tests/ReferenceData/Suite/RectParacrystal.int.gz
index 529e0513aef5373e38f32f4db497cdc9b4662fa9..1c0304c862310c398c9c60b19d448d148b31bbc0 100644
Binary files a/Tests/ReferenceData/Suite/RectParacrystal.int.gz and b/Tests/ReferenceData/Suite/RectParacrystal.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RelativeResolutionTOF.int.gz b/Tests/ReferenceData/Suite/RelativeResolutionTOF.int.gz
index ea0de53423851ba717bc679a867fa6ed1d7dc3c5..d3c7ae48873884a904c9ed89734e6b5f10561cba 100644
Binary files a/Tests/ReferenceData/Suite/RelativeResolutionTOF.int.gz and b/Tests/ReferenceData/Suite/RelativeResolutionTOF.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RotatedPyramids.int.gz b/Tests/ReferenceData/Suite/RotatedPyramids.int.gz
index 3a816077454813a4a686c32ebebf22c4423569fc..8cbe015d4d40b8a60dc47c6cb949b02abeede0b1 100644
Binary files a/Tests/ReferenceData/Suite/RotatedPyramids.int.gz and b/Tests/ReferenceData/Suite/RotatedPyramids.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RotatedPyramidsDistribution.int.gz b/Tests/ReferenceData/Suite/RotatedPyramidsDistribution.int.gz
index f7de0d5bc12c1aaa8abd9e7d14fc0030327597e7..cabc707b607e3353fd482af95857e26bd595594f 100644
Binary files a/Tests/ReferenceData/Suite/RotatedPyramidsDistribution.int.gz and b/Tests/ReferenceData/Suite/RotatedPyramidsDistribution.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RotatedSquareLattice2D.int.gz b/Tests/ReferenceData/Suite/RotatedSquareLattice2D.int.gz
index 75d32b32ce0985cf280ee1f1535b5715fc16835d..2f392867537ecefaf4027d1d9b0eb8c0d6512fd2 100644
Binary files a/Tests/ReferenceData/Suite/RotatedSquareLattice2D.int.gz and b/Tests/ReferenceData/Suite/RotatedSquareLattice2D.int.gz differ
diff --git a/Tests/ReferenceData/Suite/RoughnessInSpecular.int.gz b/Tests/ReferenceData/Suite/RoughnessInSpecular.int.gz
index 451399c85670b66dc4b198f1856cd54b446ce3ae..fafb7b007aa22ce908d7de132316dda5ff7cac26 100644
Binary files a/Tests/ReferenceData/Suite/RoughnessInSpecular.int.gz and b/Tests/ReferenceData/Suite/RoughnessInSpecular.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SimulationWithMasks.int.gz b/Tests/ReferenceData/Suite/SimulationWithMasks.int.gz
index 578f08b31a6c9a04df756296ddb1499ac276e56b..c4cbfffbca07378ee65b2b62d50fe225e7f62381 100644
Binary files a/Tests/ReferenceData/Suite/SimulationWithMasks.int.gz and b/Tests/ReferenceData/Suite/SimulationWithMasks.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SlicedComposition.int.gz b/Tests/ReferenceData/Suite/SlicedComposition.int.gz
index e77e22376745282397afc01fd94a47ef189515e0..06187ae430426308fa0f7e9d1986daeed9f852fc 100644
Binary files a/Tests/ReferenceData/Suite/SlicedComposition.int.gz and b/Tests/ReferenceData/Suite/SlicedComposition.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SpecularDivergentBeam.int.gz b/Tests/ReferenceData/Suite/SpecularDivergentBeam.int.gz
index af8baf443253dd1adffd3ce7b3b930be2425dd8d..2975d23ce84bf6855be4539e7a7a46e256e0efec 100644
Binary files a/Tests/ReferenceData/Suite/SpecularDivergentBeam.int.gz and b/Tests/ReferenceData/Suite/SpecularDivergentBeam.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SpecularWithSlicing1.int.gz b/Tests/ReferenceData/Suite/SpecularWithSlicing1.int.gz
index f6067cbe58159631760ec009f3f77ba1397ea051..5bb43bfb6d64cbed6df02db936be6735fad2f3ba 100644
Binary files a/Tests/ReferenceData/Suite/SpecularWithSlicing1.int.gz and b/Tests/ReferenceData/Suite/SpecularWithSlicing1.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SpecularWithSlicing2.int.gz b/Tests/ReferenceData/Suite/SpecularWithSlicing2.int.gz
index e7fe9b6232b49ef61c59d914fffda10e7b4de143..aaeb8a4ab920f40b334e3aff1fecf01b8225321b 100644
Binary files a/Tests/ReferenceData/Suite/SpecularWithSlicing2.int.gz and b/Tests/ReferenceData/Suite/SpecularWithSlicing2.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SpecularWithSlicing2Q.int.gz b/Tests/ReferenceData/Suite/SpecularWithSlicing2Q.int.gz
index 4619021b613d20f95c7ffbb9253526e5c66d2024..06f5573085beb5d764460afcb51d9d698cd7e66f 100644
Binary files a/Tests/ReferenceData/Suite/SpecularWithSlicing2Q.int.gz and b/Tests/ReferenceData/Suite/SpecularWithSlicing2Q.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SpecularWithSlicing3.int.gz b/Tests/ReferenceData/Suite/SpecularWithSlicing3.int.gz
index e7fe9b6232b49ef61c59d914fffda10e7b4de143..88954dd2426549f9ab760f8296d6f66500541c61 100644
Binary files a/Tests/ReferenceData/Suite/SpecularWithSlicing3.int.gz and b/Tests/ReferenceData/Suite/SpecularWithSlicing3.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SpheresWithLimitsDistribution.int.gz b/Tests/ReferenceData/Suite/SpheresWithLimitsDistribution.int.gz
index 04d2ab2edde8d921c2a6f8411ad1c406d60c3423..c303d2486de2639d7df99f8d2027a1e0cceffdd5 100644
Binary files a/Tests/ReferenceData/Suite/SpheresWithLimitsDistribution.int.gz and b/Tests/ReferenceData/Suite/SpheresWithLimitsDistribution.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SphericalDetWithRoi.int.gz b/Tests/ReferenceData/Suite/SphericalDetWithRoi.int.gz
index 47bb6699beb1ba3ba8bce607badf3ba2591a6356..dfd39eea9e37584caa6b04fb71acbcb2ccc6facd 100644
Binary files a/Tests/ReferenceData/Suite/SphericalDetWithRoi.int.gz and b/Tests/ReferenceData/Suite/SphericalDetWithRoi.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SquareBeamFootprint.int.gz b/Tests/ReferenceData/Suite/SquareBeamFootprint.int.gz
index 3b64e40d7bfb8c5a9f7c94d9da08ba6f84c05e24..5b042951a06e89db755176e98beddcc10e3f6e24 100644
Binary files a/Tests/ReferenceData/Suite/SquareBeamFootprint.int.gz and b/Tests/ReferenceData/Suite/SquareBeamFootprint.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SquareLattice2D.int.gz b/Tests/ReferenceData/Suite/SquareLattice2D.int.gz
index f7f27e7e6d073ab42cd5ac9f2894b3c85c8ff92c..21c50f75a3a47a3d19051963c5d20b8f6e663a0a 100644
Binary files a/Tests/ReferenceData/Suite/SquareLattice2D.int.gz and b/Tests/ReferenceData/Suite/SquareLattice2D.int.gz differ
diff --git a/Tests/ReferenceData/Suite/SuperLattice.int.gz b/Tests/ReferenceData/Suite/SuperLattice.int.gz
index 395aa0731f843b675d6f048c693c73557d37e04b..18de0c8194f70fced84b9dd09ed4603061e53822 100644
Binary files a/Tests/ReferenceData/Suite/SuperLattice.int.gz and b/Tests/ReferenceData/Suite/SuperLattice.int.gz differ
diff --git a/Tests/ReferenceData/Suite/TOFResolutionComparison_TP.int.gz b/Tests/ReferenceData/Suite/TOFResolutionComparison_TP.int.gz
index ea0de53423851ba717bc679a867fa6ed1d7dc3c5..16ab1947c42c00ac703dcff1d79bc83bca2788c1 100644
Binary files a/Tests/ReferenceData/Suite/TOFResolutionComparison_TP.int.gz and b/Tests/ReferenceData/Suite/TOFResolutionComparison_TP.int.gz differ
diff --git a/Tests/ReferenceData/Suite/TOFResolutionComparison_TR.int.gz b/Tests/ReferenceData/Suite/TOFResolutionComparison_TR.int.gz
index ea0de53423851ba717bc679a867fa6ed1d7dc3c5..297da022049576238ac00333b1d628ef478a92bd 100644
Binary files a/Tests/ReferenceData/Suite/TOFResolutionComparison_TR.int.gz and b/Tests/ReferenceData/Suite/TOFResolutionComparison_TR.int.gz differ
diff --git a/Tests/ReferenceData/Suite/ThickAbsorptiveSampleWithRoughness.int.gz b/Tests/ReferenceData/Suite/ThickAbsorptiveSampleWithRoughness.int.gz
index 0add27eab385b942a2cf9b7eeeb8161221645abf..9236793e7a050b8afc61c52fd6be45094064f956 100644
Binary files a/Tests/ReferenceData/Suite/ThickAbsorptiveSampleWithRoughness.int.gz and b/Tests/ReferenceData/Suite/ThickAbsorptiveSampleWithRoughness.int.gz differ
diff --git a/Tests/ReferenceData/Suite/TransformBox.int.gz b/Tests/ReferenceData/Suite/TransformBox.int.gz
index 8b72c7fe5f4034c0812585c8c74e45ba398d525a..b8bf6b845ea465892ce42e7829cdc1d8722dd666 100644
Binary files a/Tests/ReferenceData/Suite/TransformBox.int.gz and b/Tests/ReferenceData/Suite/TransformBox.int.gz differ
diff --git a/Tests/ReferenceData/Suite/TriangularRipple.int.gz b/Tests/ReferenceData/Suite/TriangularRipple.int.gz
index 0b827f86afa5433a9ea882fb3bccd796358031e4..7374ead5d3d9557e4227b8c0d8738c74c7b6af6f 100644
Binary files a/Tests/ReferenceData/Suite/TriangularRipple.int.gz and b/Tests/ReferenceData/Suite/TriangularRipple.int.gz differ
diff --git a/Tests/ReferenceData/Suite/TwoTypesCylindersDistribution.int.gz b/Tests/ReferenceData/Suite/TwoTypesCylindersDistribution.int.gz
index 1d56d58f6c236bfe287261c3cc59b155a3ddbccc..e9f8836f421ee7d5203594307b91c7f90132d6ce 100644
Binary files a/Tests/ReferenceData/Suite/TwoTypesCylindersDistribution.int.gz and b/Tests/ReferenceData/Suite/TwoTypesCylindersDistribution.int.gz differ
diff --git a/Tests/Unit/Device/PointwiseAxisTest.cpp b/Tests/Unit/Device/PointwiseAxisTest.cpp
index 82176082a15b29b72b7f1df526b19ebaf7179ebb..187b6ff23993c18702d6fb331653109ed71322e3 100644
--- a/Tests/Unit/Device/PointwiseAxisTest.cpp
+++ b/Tests/Unit/Device/PointwiseAxisTest.cpp
@@ -1,5 +1,5 @@
-#include "Base/Axis/PointwiseAxis.h"
 #include "Base/Axis/Bin.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
 #include "Device/IO/DataFormatUtils.h"
 #include "Tests/GTestWrapper/google_test.h"
@@ -7,20 +7,20 @@
 
 TEST(PointwiseAxisTest, Construction)
 {
-    EXPECT_THROW(PointwiseAxis("length", std::vector<double>{0.0}), std::runtime_error);
-    EXPECT_THROW(PointwiseAxis("length", std::vector<double>{1.0, 0.0}), std::runtime_error);
-    EXPECT_THROW(PointwiseAxis("length", std::vector<double>{0.0, 1.0, 0.5}), std::runtime_error);
-    EXPECT_THROW(PointwiseAxis("length", std::vector<double>{0.0, 1.0, 1.0}), std::runtime_error);
-    PointwiseAxis a1("length", std::vector<double>{0.0, 1.0});
+    EXPECT_THROW(DiscreteAxis("length", std::vector<double>{0.0}), std::runtime_error);
+    EXPECT_THROW(DiscreteAxis("length", std::vector<double>{1.0, 0.0}), std::runtime_error);
+    EXPECT_THROW(DiscreteAxis("length", std::vector<double>{0.0, 1.0, 0.5}), std::runtime_error);
+    EXPECT_THROW(DiscreteAxis("length", std::vector<double>{0.0, 1.0, 1.0}), std::runtime_error);
+    DiscreteAxis a1("length", std::vector<double>{0.0, 1.0});
     std::vector<double> coordinates{0.0, 1.0};
-    PointwiseAxis a2("length", coordinates);
+    DiscreteAxis a2("length", coordinates);
     EXPECT_TRUE(a1 == a2);
 }
 
 TEST(PointwiseAxisTest, BasicProperties)
 {
     std::vector<double> coordinates{0.0, 1.0, 4.0, 8.0};
-    PointwiseAxis a1("length", coordinates);
+    DiscreteAxis a1("length", coordinates);
     EXPECT_EQ(4u, a1.size());
     EXPECT_EQ(0.0, a1.min());
     EXPECT_EQ(8.0, a1.max());
@@ -39,7 +39,7 @@ TEST(PointwiseAxisTest, BasicProperties)
 
 TEST(PointwiseAxisTest, FindClosestIndex)
 {
-    PointwiseAxis v1("name", std::vector<double>{0.0, 1.0, 4.0, 8.0});
+    DiscreteAxis v1("name", std::vector<double>{0.0, 1.0, 4.0, 8.0});
     EXPECT_EQ(4u, v1.size());
     EXPECT_EQ(v1.findClosestIndex(-1.0), 0u);
     EXPECT_EQ(v1.findClosestIndex(0.0), 0u);
@@ -51,7 +51,7 @@ TEST(PointwiseAxisTest, FindClosestIndex)
     EXPECT_EQ(3u, v1.findClosestIndex(8.0));
     EXPECT_EQ(3u, v1.findClosestIndex(11.0));
 
-    PointwiseAxis v2("name", std::vector<double>{-2.0, -1.0});
+    DiscreteAxis v2("name", std::vector<double>{-2.0, -1.0});
     EXPECT_EQ(2u, v2.size());
     EXPECT_EQ(v2.findClosestIndex(-3.0), 0u);
     EXPECT_EQ(v2.findClosestIndex(-2.0), 0u);
@@ -63,7 +63,7 @@ TEST(PointwiseAxisTest, FindClosestIndex)
 
 TEST(PointwiseAxisTest, CheckBin)
 {
-    PointwiseAxis axis("name", std::vector<double>{0, 2, 10});
+    DiscreteAxis axis("name", std::vector<double>{0, 2, 10});
     auto boundaries = axis.binBoundaries();
     EXPECT_EQ(4u, boundaries.size());
 
@@ -96,12 +96,12 @@ TEST(PointwiseAxisTest, CheckBin)
 
 TEST(PointwiseAxisTest, CheckEquality)
 {
-    PointwiseAxis b1("axis", std::vector<double>{1.0, 2.0, 5.0});
-    PointwiseAxis b2("axis", std::vector<double>{1.0, 2.0, 5.0});
+    DiscreteAxis b1("axis", std::vector<double>{1.0, 2.0, 5.0});
+    DiscreteAxis b2("axis", std::vector<double>{1.0, 2.0, 5.0});
     EXPECT_TRUE(b1 == b2);
-    PointwiseAxis b3("axissss", std::vector<double>{1.0, 2.0, 5.0});
-    PointwiseAxis b4("axis", std::vector<double>{1.0, 2.0, 6.0});
-    PointwiseAxis b6("axiss", std::vector<double>{1.5, 2.0, 5.0});
+    DiscreteAxis b3("axissss", std::vector<double>{1.0, 2.0, 5.0});
+    DiscreteAxis b4("axis", std::vector<double>{1.0, 2.0, 6.0});
+    DiscreteAxis b6("axiss", std::vector<double>{1.5, 2.0, 5.0});
     EXPECT_FALSE(b1 == b3);
     EXPECT_FALSE(b1 == b4);
     EXPECT_FALSE(b1 == b6);
@@ -109,14 +109,14 @@ TEST(PointwiseAxisTest, CheckEquality)
 
 TEST(PointwiseAxisTest, CheckClone)
 {
-    PointwiseAxis a1("axis", std::vector<double>{1.0, 2.0, 5.0});
-    std::unique_ptr<PointwiseAxis> clone(a1.clone());
+    DiscreteAxis a1("axis", std::vector<double>{1.0, 2.0, 5.0});
+    std::unique_ptr<DiscreteAxis> clone(a1.clone());
     EXPECT_TRUE(a1 == *clone);
 }
 
 TEST(PointwiseAxisTest, IOStream)
 {
-    PointwiseAxis axis("name", std::vector<double>{1.0, 2.0, 5.0});
+    DiscreteAxis axis("name", std::vector<double>{1.0, 2.0, 5.0});
 
     std::ostringstream oss;
     oss << axis;
@@ -128,17 +128,17 @@ TEST(PointwiseAxisTest, IOStream)
 
 TEST(PointwiseAxisTest, ClippedAxis)
 {
-    PointwiseAxis axis("name", std::vector<double>{1.0, 2.0, 2.5, 2.7, 5.0});
+    DiscreteAxis axis("name", std::vector<double>{1.0, 2.0, 2.5, 2.7, 5.0});
 
-    std::unique_ptr<PointwiseAxis> clip1(axis.clone());
+    std::unique_ptr<DiscreteAxis> clip1(axis.clone());
     clip1->clip(0.99, 5.1);
     EXPECT_TRUE(*clip1 == axis);
 
-    std::unique_ptr<PointwiseAxis> clip2(axis.clone());
+    std::unique_ptr<DiscreteAxis> clip2(axis.clone());
     clip2->clip(1, 5.0);
     EXPECT_TRUE(*clip2 == axis);
 
-    std::unique_ptr<PointwiseAxis> clip3(axis.clone());
+    std::unique_ptr<DiscreteAxis> clip3(axis.clone());
     clip3->clip(1.5, 2.5);
     EXPECT_TRUE(*clip3 != axis);
     EXPECT_EQ(clip3->size(), 2u);
@@ -152,7 +152,7 @@ TEST(PointwiseAxisTest, ClippedAxis)
 TEST(PointwiseAxisTest, FixedBinAxisComparison)
 {
     FixedBinAxis fixed_axis("name", 4, 0.0, 4.0);
-    PointwiseAxis pointwise_axis("name", std::vector<double>{0.5, 1.5, 2.5, 3.5});
+    DiscreteAxis pointwise_axis("name", std::vector<double>{0.5, 1.5, 2.5, 3.5});
 
     EXPECT_EQ(fixed_axis.size(), pointwise_axis.size());
     EXPECT_DOUBLE_EQ(fixed_axis.binCenter(0), pointwise_axis.binCenter(0));
@@ -173,7 +173,7 @@ TEST(PointwiseAxisTest, FixedBinAxisComparison)
 
     std::unique_ptr<FixedBinAxis> clipped_fixed(fixed_axis.clone());
     clipped_fixed->clip(0.5, 3.5);
-    std::unique_ptr<PointwiseAxis> clipped_pointwise(pointwise_axis.clone());
+    std::unique_ptr<DiscreteAxis> clipped_pointwise(pointwise_axis.clone());
     clipped_pointwise->clip(0.5, 3.5);
     EXPECT_EQ(clipped_fixed->size(), clipped_pointwise->size());
     EXPECT_DOUBLE_EQ(clipped_fixed->binCenter(0), clipped_pointwise->binCenter(0));
@@ -188,7 +188,7 @@ TEST(PointwiseAxisTest, FixedBinAxisComparisonWithMask)
     std::vector<double> coordinates;
     for (auto index : mask)
         coordinates.push_back(axis.binCenter(index));
-    PointwiseAxis pointwise_axis("pointwise", coordinates);
+    DiscreteAxis pointwise_axis("pointwise", coordinates);
 
     // comparing on-axis values
     for (size_t i = 0; i < mask.size(); ++i)
diff --git a/Tests/Unit/GUI/TestRealModel.cpp b/Tests/Unit/GUI/TestRealModel.cpp
index 14dbef1f6ff6d3bd06fc6e0fb0fa4ae50c1aa4d1..cc2985991701a2ea6032817c2d7870ba04c39334 100644
--- a/Tests/Unit/GUI/TestRealModel.cpp
+++ b/Tests/Unit/GUI/TestRealModel.cpp
@@ -1,5 +1,5 @@
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Device/Data/Datafield.h"
 #include "Device/IO/IOFactory.h"
 #include "GUI/Model/Data/DataItem.h"
@@ -80,7 +80,7 @@ TEST(TestRealModel, removeNativeData)
     EXPECT_EQ(item->nativeDataItem()->datafield(), nullptr);
 
     // set datafield
-    auto* oData = new Datafield{{new PointwiseAxis("qVector", std::vector<double>({1, 2}))}};
+    auto* oData = new Datafield{{new DiscreteAxis("qVector", std::vector<double>({1, 2}))}};
     oData->setVector(std::vector<double>({3, 4}));
     item->nativeDataItem()->setDatafield(oData); // takes ownership of odata
     EXPECT_TRUE(item->hasNativeData());
diff --git a/Tests/Unit/Sim/CoordSystem1DTest.cpp b/Tests/Unit/Sim/CoordSystem1DTest.cpp
index e86849bd959b7a7f2a1b6facea1f23da72d9ade2..f65231ce14a323ae8abed3066894888072cab52f 100644
--- a/Tests/Unit/Sim/CoordSystem1DTest.cpp
+++ b/Tests/Unit/Sim/CoordSystem1DTest.cpp
@@ -1,7 +1,7 @@
 #include "Device/Coord/CoordSystem1D.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
 #include "Base/Axis/HistoAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Base/Const/Units.h"
 #include "Base/Math/Constants.h"
 #include "Sim/Scan/QzScan.h"
@@ -51,13 +51,13 @@ void CoordSystem1DTest::checkConventionalConverter(const CoordSystem1D& test_obj
     // DEFAULT
     std::unique_ptr<IAxis> axis_default(test_object.createConvertedAxis(0, Coords::UNDEFINED));
     const IAxis* tmp = axis_default.get();
-    EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(tmp));
+    EXPECT_TRUE(dynamic_cast<const DiscreteAxis*>(tmp));
     EXPECT_EQ(axis_default->min(), test_object.calculateMin(0, Coords::UNDEFINED));
     EXPECT_EQ(axis_default->max(), test_object.calculateMax(0, Coords::UNDEFINED));
 
     // QSPACE
     std::unique_ptr<const IAxis> axis_qspace(test_object.createConvertedAxis(0, Coords::QSPACE));
-    EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(axis_qspace.get()));
+    EXPECT_TRUE(dynamic_cast<const DiscreteAxis*>(axis_qspace.get()));
     EXPECT_EQ(axis_qspace->min(), test_object.calculateMin(0, Coords::QSPACE));
     EXPECT_EQ(axis_qspace->max(), test_object.calculateMax(0, Coords::QSPACE));
 
@@ -69,7 +69,7 @@ void CoordSystem1DTest::checkConventionalConverter(const CoordSystem1D& test_obj
 
     // RQ4
     std::unique_ptr<IAxis> axis_rq4(test_object.createConvertedAxis(0, Coords::RQ4));
-    EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(axis_rq4.get()));
+    EXPECT_TRUE(dynamic_cast<const DiscreteAxis*>(axis_rq4.get()));
     EXPECT_EQ(axis_rq4->min(), test_object.calculateMin(0, Coords::RQ4));
     EXPECT_EQ(axis_rq4->max(), test_object.calculateMax(0, Coords::RQ4));
     EXPECT_TRUE(*axis_rq4 == *axis_qspace);
@@ -92,13 +92,13 @@ void CoordSystem1DTest::checkQSpecConverter(const CoordSystem1D& test_object)
 
     // DEFAULT
     std::unique_ptr<IAxis> axis_default(test_object.createConvertedAxis(0, Coords::UNDEFINED));
-    EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(axis_default.get()));
+    EXPECT_TRUE(dynamic_cast<const DiscreteAxis*>(axis_default.get()));
     EXPECT_EQ(axis_default->min(), test_object.calculateMin(0, Coords::UNDEFINED));
     EXPECT_EQ(axis_default->max(), test_object.calculateMax(0, Coords::UNDEFINED));
 
     // QSPACE
     std::unique_ptr<IAxis> axis_qspace(test_object.createConvertedAxis(0, Coords::QSPACE));
-    EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(axis_qspace.get()));
+    EXPECT_TRUE(dynamic_cast<const DiscreteAxis*>(axis_qspace.get()));
     EXPECT_EQ(axis_qspace->min(), test_object.calculateMin(0, Coords::QSPACE));
     EXPECT_EQ(axis_qspace->max(), test_object.calculateMax(0, Coords::QSPACE));
     EXPECT_EQ(*axis_default, *axis_qspace);
@@ -111,7 +111,7 @@ void CoordSystem1DTest::checkQSpecConverter(const CoordSystem1D& test_object)
 
     // RQ4
     std::unique_ptr<IAxis> axis_rq4(test_object.createConvertedAxis(0, Coords::RQ4));
-    EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(axis_rq4.get()));
+    EXPECT_TRUE(dynamic_cast<const DiscreteAxis*>(axis_rq4.get()));
     EXPECT_EQ(axis_rq4->min(), test_object.calculateMin(0, Coords::RQ4));
     EXPECT_EQ(axis_rq4->max(), test_object.calculateMax(0, Coords::RQ4));
     EXPECT_TRUE(*axis_rq4 == *axis_qspace);
@@ -168,7 +168,7 @@ TEST_F(CoordSystem1DTest, Clone)
 
 TEST_F(CoordSystem1DTest, NonDefaultUnitsInInput)
 {
-    PointwiseAxis axis("x", std::vector<double>{0.0, 0.5, 1.0});
+    DiscreteAxis axis("x", std::vector<double>{0.0, 0.5, 1.0});
 
     {
         AngularReflectometryCoords converter(m_wavelength, axis, Coords::DEGREES);
@@ -181,7 +181,7 @@ TEST_F(CoordSystem1DTest, NonDefaultUnitsInInput)
 
     auto values = axis.binCenters();
     std::for_each(values.begin(), values.end(), [this](double& value) { value = getQ(value); });
-    PointwiseAxis q_axis("q", values);
+    DiscreteAxis q_axis("q", values);
     {
         AngularReflectometryCoords converter(m_wavelength, q_axis, Coords::QSPACE);
         auto out = converter.createConvertedAxis(0, Coords::RADIANS);
diff --git a/Tests/Unit/Sim/SpecularScanTest.cpp b/Tests/Unit/Sim/SpecularScanTest.cpp
index 6702d6f35fa2fcbd81fd3780d74590df799c4c79..1d461c1df9d7707020a333b3324db2527f1f27d2 100644
--- a/Tests/Unit/Sim/SpecularScanTest.cpp
+++ b/Tests/Unit/Sim/SpecularScanTest.cpp
@@ -1,5 +1,5 @@
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
 #include "Param/Distrib/Distributions.h"
 #include "Param/Distrib/ParameterSample.h"
 #include "Resample/Element/SpecularElement.h"
@@ -16,7 +16,7 @@ TEST(SpecularScanTest, AngularScanInit)
         EXPECT_EQ(scan.nScan(), axis.size());
     };
 
-    const PointwiseAxis pointwise_axis("inc_angles", std::vector<double>{0.1, 0.2, 0.3});
+    const DiscreteAxis pointwise_axis("inc_angles", std::vector<double>{0.1, 0.2, 0.3});
     AlphaScan scan(pointwise_axis);
     check(scan, pointwise_axis);
 
diff --git a/Wrap/Swig/libBornAgainBase.i b/Wrap/Swig/libBornAgainBase.i
index 3e31088d111103d883916abe9dc910e612bd71d5..bdf5140d2071ecad7caf8d2cdc58a8930e894de6 100644
--- a/Wrap/Swig/libBornAgainBase.i
+++ b/Wrap/Swig/libBornAgainBase.i
@@ -25,7 +25,7 @@
 #include "Base/Axis/Bin.h"
 #include "Base/Axis/HistoAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/Frame.h"
 #include "Base/Vector/RotMatrix.h"
 %}
@@ -45,7 +45,7 @@
 %include "Base/Axis/IAxis.h"
 %include "Base/Axis/HistoAxis.h"
 %include "Base/Axis/FixedBinAxis.h"
-%include "Base/Axis/PointwiseAxis.h"
+%include "Base/Axis/DiscreteAxis.h"
 %include "Base/Axis/Frame.h"
 
 %template(R3) Vec3<double>;
diff --git a/auto/Wrap/libBornAgainBase.py b/auto/Wrap/libBornAgainBase.py
index 2b5361e050df1f98ec5c688f52532bb250c02f0b..a021b90b961ad4856b4d42907af3c21e186ec4c5 100644
--- a/auto/Wrap/libBornAgainBase.py
+++ b/auto/Wrap/libBornAgainBase.py
@@ -2017,8 +2017,8 @@ class FixedBinAxis(IAxis):
 
 # Register FixedBinAxis in _libBornAgainBase:
 _libBornAgainBase.FixedBinAxis_swigregister(FixedBinAxis)
-class PointwiseAxis(IAxis):
-    r"""Proxy of C++ PointwiseAxis class."""
+class DiscreteAxis(IAxis):
+    r"""Proxy of C++ DiscreteAxis class."""
 
     thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 
@@ -2027,48 +2027,48 @@ class PointwiseAxis(IAxis):
     __repr__ = _swig_repr
 
     def clone(self):
-        r"""clone(PointwiseAxis self) -> PointwiseAxis"""
-        return _libBornAgainBase.PointwiseAxis_clone(self)
-    __swig_destroy__ = _libBornAgainBase.delete_PointwiseAxis
+        r"""clone(DiscreteAxis self) -> DiscreteAxis"""
+        return _libBornAgainBase.DiscreteAxis_clone(self)
+    __swig_destroy__ = _libBornAgainBase.delete_DiscreteAxis
 
     def size(self):
-        r"""size(PointwiseAxis self) -> size_t"""
-        return _libBornAgainBase.PointwiseAxis_size(self)
+        r"""size(DiscreteAxis self) -> size_t"""
+        return _libBornAgainBase.DiscreteAxis_size(self)
 
     def bin(self, index):
-        r"""bin(PointwiseAxis self, size_t index) -> Bin1D"""
-        return _libBornAgainBase.PointwiseAxis_bin(self, index)
+        r"""bin(DiscreteAxis self, size_t index) -> Bin1D"""
+        return _libBornAgainBase.DiscreteAxis_bin(self, index)
 
     def min(self):
-        r"""min(PointwiseAxis self) -> double"""
-        return _libBornAgainBase.PointwiseAxis_min(self)
+        r"""min(DiscreteAxis self) -> double"""
+        return _libBornAgainBase.DiscreteAxis_min(self)
 
     def max(self):
-        r"""max(PointwiseAxis self) -> double"""
-        return _libBornAgainBase.PointwiseAxis_max(self)
+        r"""max(DiscreteAxis self) -> double"""
+        return _libBornAgainBase.DiscreteAxis_max(self)
 
     def binCenter(self, index):
-        r"""binCenter(PointwiseAxis self, size_t index) -> double"""
-        return _libBornAgainBase.PointwiseAxis_binCenter(self, index)
+        r"""binCenter(DiscreteAxis self, size_t index) -> double"""
+        return _libBornAgainBase.DiscreteAxis_binCenter(self, index)
 
     def findClosestIndex(self, value):
-        r"""findClosestIndex(PointwiseAxis self, double value) -> size_t"""
-        return _libBornAgainBase.PointwiseAxis_findClosestIndex(self, value)
+        r"""findClosestIndex(DiscreteAxis self, double value) -> size_t"""
+        return _libBornAgainBase.DiscreteAxis_findClosestIndex(self, value)
 
     def binCenters(self):
-        r"""binCenters(PointwiseAxis self) -> vdouble1d_t"""
-        return _libBornAgainBase.PointwiseAxis_binCenters(self)
+        r"""binCenters(DiscreteAxis self) -> vdouble1d_t"""
+        return _libBornAgainBase.DiscreteAxis_binCenters(self)
 
     def binBoundaries(self):
-        r"""binBoundaries(PointwiseAxis self) -> vdouble1d_t"""
-        return _libBornAgainBase.PointwiseAxis_binBoundaries(self)
+        r"""binBoundaries(DiscreteAxis self) -> vdouble1d_t"""
+        return _libBornAgainBase.DiscreteAxis_binBoundaries(self)
 
     def clip(self, lower, upper):
-        r"""clip(PointwiseAxis self, double lower, double upper)"""
-        return _libBornAgainBase.PointwiseAxis_clip(self, lower, upper)
+        r"""clip(DiscreteAxis self, double lower, double upper)"""
+        return _libBornAgainBase.DiscreteAxis_clip(self, lower, upper)
 
-# Register PointwiseAxis in _libBornAgainBase:
-_libBornAgainBase.PointwiseAxis_swigregister(PointwiseAxis)
+# Register DiscreteAxis in _libBornAgainBase:
+_libBornAgainBase.DiscreteAxis_swigregister(DiscreteAxis)
 class Frame(object):
     r"""Proxy of C++ Frame class."""
 
diff --git a/auto/Wrap/libBornAgainBase_wrap.cpp b/auto/Wrap/libBornAgainBase_wrap.cpp
index fd74e3fd4e3b8a803d1071d4e4eb415f64ccf249..2633299df0f7f53b254a46eb1015853457907dc4 100644
--- a/auto/Wrap/libBornAgainBase_wrap.cpp
+++ b/auto/Wrap/libBornAgainBase_wrap.cpp
@@ -3387,12 +3387,12 @@ namespace Swig {
 /* -------- TYPES TABLE (BEGIN) -------- */
 
 #define SWIGTYPE_p_Bin1D swig_types[0]
-#define SWIGTYPE_p_FixedBinAxis swig_types[1]
-#define SWIGTYPE_p_Frame swig_types[2]
-#define SWIGTYPE_p_HistoAxis swig_types[3]
-#define SWIGTYPE_p_IAxis swig_types[4]
-#define SWIGTYPE_p_ICloneable swig_types[5]
-#define SWIGTYPE_p_PointwiseAxis swig_types[6]
+#define SWIGTYPE_p_DiscreteAxis swig_types[1]
+#define SWIGTYPE_p_FixedBinAxis swig_types[2]
+#define SWIGTYPE_p_Frame swig_types[3]
+#define SWIGTYPE_p_HistoAxis swig_types[4]
+#define SWIGTYPE_p_IAxis swig_types[5]
+#define SWIGTYPE_p_ICloneable swig_types[6]
 #define SWIGTYPE_p_Rotation3DT_double_t swig_types[7]
 #define SWIGTYPE_p_Span swig_types[8]
 #define SWIGTYPE_p_ThreadInfo swig_types[9]
@@ -6988,7 +6988,7 @@ SWIGINTERN void std_vector_Sl_std_pair_Sl_double_Sc_double_Sg__Sg__insert__SWIG_
 #include "Base/Axis/Bin.h"
 #include "Base/Axis/HistoAxis.h"
 #include "Base/Axis/FixedBinAxis.h"
-#include "Base/Axis/PointwiseAxis.h"
+#include "Base/Axis/DiscreteAxis.h"
 #include "Base/Axis/Frame.h"
 #include "Base/Vector/RotMatrix.h"
 
@@ -26608,43 +26608,43 @@ SWIGINTERN PyObject *FixedBinAxis_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObj
   return SWIG_Python_InitShadowInstance(args);
 }
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_clone(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_clone(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
-  PointwiseAxis *result = 0 ;
+  DiscreteAxis *result = 0 ;
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_clone" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_clone" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
-  result = (PointwiseAxis *)((PointwiseAxis const *)arg1)->clone();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
+  result = (DiscreteAxis *)((DiscreteAxis const *)arg1)->clone();
+  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_PointwiseAxis(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_DiscreteAxis(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, SWIG_POINTER_DISOWN |  0 );
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_PointwiseAxis" "', argument " "1"" of type '" "PointwiseAxis *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DiscreteAxis" "', argument " "1"" of type '" "DiscreteAxis *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
   delete arg1;
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -26653,9 +26653,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_size(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_size(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
@@ -26663,12 +26663,12 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_size(PyObject *self, PyObject *args) {
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_size" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_size" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
-  result = ((PointwiseAxis const *)arg1)->size();
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
+  result = ((DiscreteAxis const *)arg1)->size();
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -26676,9 +26676,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_bin(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_bin(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   size_t arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
@@ -26687,18 +26687,18 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_bin(PyObject *self, PyObject *args) {
   PyObject *swig_obj[2] ;
   Bin1D result;
   
-  if (!SWIG_Python_UnpackTuple(args, "PointwiseAxis_bin", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "DiscreteAxis_bin", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_bin" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_bin" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
   ecode2 = SWIG_AsVal_size_t(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PointwiseAxis_bin" "', argument " "2"" of type '" "size_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DiscreteAxis_bin" "', argument " "2"" of type '" "size_t""'");
   } 
   arg2 = static_cast< size_t >(val2);
-  result = ((PointwiseAxis const *)arg1)->bin(arg2);
+  result = ((DiscreteAxis const *)arg1)->bin(arg2);
   resultobj = SWIG_NewPointerObj((new Bin1D(result)), SWIGTYPE_p_Bin1D, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
@@ -26706,9 +26706,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_min(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_min(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
@@ -26716,12 +26716,12 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_min(PyObject *self, PyObject *args) {
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_min" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_min" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
-  result = (double)((PointwiseAxis const *)arg1)->min();
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
+  result = (double)((DiscreteAxis const *)arg1)->min();
   resultobj = SWIG_From_double(static_cast< double >(result));
   return resultobj;
 fail:
@@ -26729,9 +26729,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_max(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_max(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
@@ -26739,12 +26739,12 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_max(PyObject *self, PyObject *args) {
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_max" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_max" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
-  result = (double)((PointwiseAxis const *)arg1)->max();
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
+  result = (double)((DiscreteAxis const *)arg1)->max();
   resultobj = SWIG_From_double(static_cast< double >(result));
   return resultobj;
 fail:
@@ -26752,9 +26752,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_binCenter(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_binCenter(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   size_t arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
@@ -26763,18 +26763,18 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_binCenter(PyObject *self, PyObject *arg
   PyObject *swig_obj[2] ;
   double result;
   
-  if (!SWIG_Python_UnpackTuple(args, "PointwiseAxis_binCenter", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "DiscreteAxis_binCenter", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_binCenter" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_binCenter" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
   ecode2 = SWIG_AsVal_size_t(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PointwiseAxis_binCenter" "', argument " "2"" of type '" "size_t""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DiscreteAxis_binCenter" "', argument " "2"" of type '" "size_t""'");
   } 
   arg2 = static_cast< size_t >(val2);
-  result = (double)((PointwiseAxis const *)arg1)->binCenter(arg2);
+  result = (double)((DiscreteAxis const *)arg1)->binCenter(arg2);
   resultobj = SWIG_From_double(static_cast< double >(result));
   return resultobj;
 fail:
@@ -26782,9 +26782,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_findClosestIndex(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_findClosestIndex(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   double arg2 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
@@ -26793,18 +26793,18 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_findClosestIndex(PyObject *self, PyObje
   PyObject *swig_obj[2] ;
   size_t result;
   
-  if (!SWIG_Python_UnpackTuple(args, "PointwiseAxis_findClosestIndex", 2, 2, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "DiscreteAxis_findClosestIndex", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_findClosestIndex" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_findClosestIndex" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
   ecode2 = SWIG_AsVal_double(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PointwiseAxis_findClosestIndex" "', argument " "2"" of type '" "double""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DiscreteAxis_findClosestIndex" "', argument " "2"" of type '" "double""'");
   } 
   arg2 = static_cast< double >(val2);
-  result = ((PointwiseAxis const *)arg1)->findClosestIndex(arg2);
+  result = ((DiscreteAxis const *)arg1)->findClosestIndex(arg2);
   resultobj = SWIG_From_size_t(static_cast< size_t >(result));
   return resultobj;
 fail:
@@ -26812,9 +26812,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_binCenters(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_binCenters(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
@@ -26822,12 +26822,12 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_binCenters(PyObject *self, PyObject *ar
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_binCenters" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_binCenters" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
-  result = ((PointwiseAxis const *)arg1)->binCenters();
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
+  result = ((DiscreteAxis const *)arg1)->binCenters();
   resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
@@ -26835,9 +26835,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_binBoundaries(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_binBoundaries(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   PyObject *swig_obj[1] ;
@@ -26845,12 +26845,12 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_binBoundaries(PyObject *self, PyObject
   
   if (!args) SWIG_fail;
   swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_binBoundaries" "', argument " "1"" of type '" "PointwiseAxis const *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_binBoundaries" "', argument " "1"" of type '" "DiscreteAxis const *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
-  result = ((PointwiseAxis const *)arg1)->binBoundaries();
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
+  result = ((DiscreteAxis const *)arg1)->binBoundaries();
   resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result));
   return resultobj;
 fail:
@@ -26858,9 +26858,9 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_PointwiseAxis_clip(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_DiscreteAxis_clip(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
-  PointwiseAxis *arg1 = (PointwiseAxis *) 0 ;
+  DiscreteAxis *arg1 = (DiscreteAxis *) 0 ;
   double arg2 ;
   double arg3 ;
   void *argp1 = 0 ;
@@ -26871,20 +26871,20 @@ SWIGINTERN PyObject *_wrap_PointwiseAxis_clip(PyObject *self, PyObject *args) {
   int ecode3 = 0 ;
   PyObject *swig_obj[3] ;
   
-  if (!SWIG_Python_UnpackTuple(args, "PointwiseAxis_clip", 3, 3, swig_obj)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PointwiseAxis, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "DiscreteAxis_clip", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DiscreteAxis, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PointwiseAxis_clip" "', argument " "1"" of type '" "PointwiseAxis *""'"); 
+    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DiscreteAxis_clip" "', argument " "1"" of type '" "DiscreteAxis *""'"); 
   }
-  arg1 = reinterpret_cast< PointwiseAxis * >(argp1);
+  arg1 = reinterpret_cast< DiscreteAxis * >(argp1);
   ecode2 = SWIG_AsVal_double(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "PointwiseAxis_clip" "', argument " "2"" of type '" "double""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DiscreteAxis_clip" "', argument " "2"" of type '" "double""'");
   } 
   arg2 = static_cast< double >(val2);
   ecode3 = SWIG_AsVal_double(swig_obj[2], &val3);
   if (!SWIG_IsOK(ecode3)) {
-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "PointwiseAxis_clip" "', argument " "3"" of type '" "double""'");
+    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "DiscreteAxis_clip" "', argument " "3"" of type '" "double""'");
   } 
   arg3 = static_cast< double >(val3);
   (arg1)->clip(arg2,arg3);
@@ -26895,10 +26895,10 @@ fail:
 }
 
 
-SWIGINTERN PyObject *PointwiseAxis_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *DiscreteAxis_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
   if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
-  SWIG_TypeNewClientData(SWIGTYPE_p_PointwiseAxis, SWIG_NewClientData(obj));
+  SWIG_TypeNewClientData(SWIGTYPE_p_DiscreteAxis, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
@@ -29403,18 +29403,18 @@ static PyMethodDef SwigMethods[] = {
 	 { "FixedBinAxis_clip", _wrap_FixedBinAxis_clip, METH_VARARGS, "FixedBinAxis_clip(FixedBinAxis self, double lower, double upper)"},
 	 { "FixedBinAxis_swigregister", FixedBinAxis_swigregister, METH_O, NULL},
 	 { "FixedBinAxis_swiginit", FixedBinAxis_swiginit, METH_VARARGS, NULL},
-	 { "PointwiseAxis_clone", _wrap_PointwiseAxis_clone, METH_O, "PointwiseAxis_clone(PointwiseAxis self) -> PointwiseAxis"},
-	 { "delete_PointwiseAxis", _wrap_delete_PointwiseAxis, METH_O, "delete_PointwiseAxis(PointwiseAxis self)"},
-	 { "PointwiseAxis_size", _wrap_PointwiseAxis_size, METH_O, "PointwiseAxis_size(PointwiseAxis self) -> size_t"},
-	 { "PointwiseAxis_bin", _wrap_PointwiseAxis_bin, METH_VARARGS, "PointwiseAxis_bin(PointwiseAxis self, size_t index) -> Bin1D"},
-	 { "PointwiseAxis_min", _wrap_PointwiseAxis_min, METH_O, "PointwiseAxis_min(PointwiseAxis self) -> double"},
-	 { "PointwiseAxis_max", _wrap_PointwiseAxis_max, METH_O, "PointwiseAxis_max(PointwiseAxis self) -> double"},
-	 { "PointwiseAxis_binCenter", _wrap_PointwiseAxis_binCenter, METH_VARARGS, "PointwiseAxis_binCenter(PointwiseAxis self, size_t index) -> double"},
-	 { "PointwiseAxis_findClosestIndex", _wrap_PointwiseAxis_findClosestIndex, METH_VARARGS, "PointwiseAxis_findClosestIndex(PointwiseAxis self, double value) -> size_t"},
-	 { "PointwiseAxis_binCenters", _wrap_PointwiseAxis_binCenters, METH_O, "PointwiseAxis_binCenters(PointwiseAxis self) -> vdouble1d_t"},
-	 { "PointwiseAxis_binBoundaries", _wrap_PointwiseAxis_binBoundaries, METH_O, "PointwiseAxis_binBoundaries(PointwiseAxis self) -> vdouble1d_t"},
-	 { "PointwiseAxis_clip", _wrap_PointwiseAxis_clip, METH_VARARGS, "PointwiseAxis_clip(PointwiseAxis self, double lower, double upper)"},
-	 { "PointwiseAxis_swigregister", PointwiseAxis_swigregister, METH_O, NULL},
+	 { "DiscreteAxis_clone", _wrap_DiscreteAxis_clone, METH_O, "DiscreteAxis_clone(DiscreteAxis self) -> DiscreteAxis"},
+	 { "delete_DiscreteAxis", _wrap_delete_DiscreteAxis, METH_O, "delete_DiscreteAxis(DiscreteAxis self)"},
+	 { "DiscreteAxis_size", _wrap_DiscreteAxis_size, METH_O, "DiscreteAxis_size(DiscreteAxis self) -> size_t"},
+	 { "DiscreteAxis_bin", _wrap_DiscreteAxis_bin, METH_VARARGS, "DiscreteAxis_bin(DiscreteAxis self, size_t index) -> Bin1D"},
+	 { "DiscreteAxis_min", _wrap_DiscreteAxis_min, METH_O, "DiscreteAxis_min(DiscreteAxis self) -> double"},
+	 { "DiscreteAxis_max", _wrap_DiscreteAxis_max, METH_O, "DiscreteAxis_max(DiscreteAxis self) -> double"},
+	 { "DiscreteAxis_binCenter", _wrap_DiscreteAxis_binCenter, METH_VARARGS, "DiscreteAxis_binCenter(DiscreteAxis self, size_t index) -> double"},
+	 { "DiscreteAxis_findClosestIndex", _wrap_DiscreteAxis_findClosestIndex, METH_VARARGS, "DiscreteAxis_findClosestIndex(DiscreteAxis self, double value) -> size_t"},
+	 { "DiscreteAxis_binCenters", _wrap_DiscreteAxis_binCenters, METH_O, "DiscreteAxis_binCenters(DiscreteAxis self) -> vdouble1d_t"},
+	 { "DiscreteAxis_binBoundaries", _wrap_DiscreteAxis_binBoundaries, METH_O, "DiscreteAxis_binBoundaries(DiscreteAxis self) -> vdouble1d_t"},
+	 { "DiscreteAxis_clip", _wrap_DiscreteAxis_clip, METH_VARARGS, "DiscreteAxis_clip(DiscreteAxis self, double lower, double upper)"},
+	 { "DiscreteAxis_swigregister", DiscreteAxis_swigregister, METH_O, NULL},
 	 { "new_Frame", _wrap_new_Frame, METH_O, "new_Frame(std::vector< IAxis const *,std::allocator< IAxis const * > > const & axes) -> Frame"},
 	 { "delete_Frame", _wrap_delete_Frame, METH_O, "delete_Frame(Frame self)"},
 	 { "Frame_rank", _wrap_Frame_rank, METH_O, "Frame_rank(Frame self) -> size_t"},
@@ -29494,22 +29494,22 @@ static PyMethodDef SwigMethods[] = {
 
 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
 
+static void *_p_DiscreteAxisTo_p_IAxis(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+    return (void *)((IAxis *)  ((DiscreteAxis *) x));
+}
 static void *_p_FixedBinAxisTo_p_IAxis(void *x, int *SWIGUNUSEDPARM(newmemory)) {
     return (void *)((IAxis *)  ((FixedBinAxis *) x));
 }
 static void *_p_HistoAxisTo_p_IAxis(void *x, int *SWIGUNUSEDPARM(newmemory)) {
     return (void *)((IAxis *)  ((HistoAxis *) x));
 }
-static void *_p_PointwiseAxisTo_p_IAxis(void *x, int *SWIGUNUSEDPARM(newmemory)) {
-    return (void *)((IAxis *)  ((PointwiseAxis *) x));
-}
 static swig_type_info _swigt__p_Bin1D = {"_p_Bin1D", "Bin1D *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_DiscreteAxis = {"_p_DiscreteAxis", "DiscreteAxis *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_FixedBinAxis = {"_p_FixedBinAxis", "FixedBinAxis *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_Frame = {"_p_Frame", "Frame *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_HistoAxis = {"_p_HistoAxis", "HistoAxis *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_IAxis = {"_p_IAxis", "IAxis *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_ICloneable = {"_p_ICloneable", "ICloneable *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_PointwiseAxis = {"_p_PointwiseAxis", "PointwiseAxis *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_Rotation3DT_double_t = {"_p_Rotation3DT_double_t", "RotMatrix *|Rotation3D< double > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_Span = {"_p_Span", "Span *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_ThreadInfo = {"_p_ThreadInfo", "ThreadInfo *", 0, 0, (void*)0, 0};
@@ -29562,12 +29562,12 @@ static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0
 
 static swig_type_info *swig_type_initial[] = {
   &_swigt__p_Bin1D,
+  &_swigt__p_DiscreteAxis,
   &_swigt__p_FixedBinAxis,
   &_swigt__p_Frame,
   &_swigt__p_HistoAxis,
   &_swigt__p_IAxis,
   &_swigt__p_ICloneable,
-  &_swigt__p_PointwiseAxis,
   &_swigt__p_Rotation3DT_double_t,
   &_swigt__p_Span,
   &_swigt__p_ThreadInfo,
@@ -29620,12 +29620,12 @@ static swig_type_info *swig_type_initial[] = {
 };
 
 static swig_cast_info _swigc__p_Bin1D[] = {  {&_swigt__p_Bin1D, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_DiscreteAxis[] = {  {&_swigt__p_DiscreteAxis, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_FixedBinAxis[] = {  {&_swigt__p_FixedBinAxis, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Frame[] = {  {&_swigt__p_Frame, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_HistoAxis[] = {  {&_swigt__p_HistoAxis, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_IAxis[] = {  {&_swigt__p_IAxis, 0, 0, 0},  {&_swigt__p_FixedBinAxis, _p_FixedBinAxisTo_p_IAxis, 0, 0},  {&_swigt__p_HistoAxis, _p_HistoAxisTo_p_IAxis, 0, 0},  {&_swigt__p_PointwiseAxis, _p_PointwiseAxisTo_p_IAxis, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_IAxis[] = {  {&_swigt__p_IAxis, 0, 0, 0},  {&_swigt__p_DiscreteAxis, _p_DiscreteAxisTo_p_IAxis, 0, 0},  {&_swigt__p_FixedBinAxis, _p_FixedBinAxisTo_p_IAxis, 0, 0},  {&_swigt__p_HistoAxis, _p_HistoAxisTo_p_IAxis, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_ICloneable[] = {  {&_swigt__p_ICloneable, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_PointwiseAxis[] = {  {&_swigt__p_PointwiseAxis, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Rotation3DT_double_t[] = {  {&_swigt__p_Rotation3DT_double_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Span[] = {  {&_swigt__p_Span, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_ThreadInfo[] = {  {&_swigt__p_ThreadInfo, 0, 0, 0},{0, 0, 0, 0}};
@@ -29678,12 +29678,12 @@ static swig_cast_info _swigc__p_value_type[] = {  {&_swigt__p_value_type, 0, 0,
 
 static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_Bin1D,
+  _swigc__p_DiscreteAxis,
   _swigc__p_FixedBinAxis,
   _swigc__p_Frame,
   _swigc__p_HistoAxis,
   _swigc__p_IAxis,
   _swigc__p_ICloneable,
-  _swigc__p_PointwiseAxis,
   _swigc__p_Rotation3DT_double_t,
   _swigc__p_Span,
   _swigc__p_ThreadInfo,