diff --git a/Device/Coord/CoordSystem1D.cpp b/Device/Coord/CoordSystem1D.cpp
index f14f92ae4edc288fdbcf4e5fb01d174357ecf0b0..2ff35bc9e4f809ebaa7e172731bb9dda97a41b41 100644
--- a/Device/Coord/CoordSystem1D.cpp
+++ b/Device/Coord/CoordSystem1D.cpp
@@ -18,7 +18,6 @@
 #include "Base/Const/Units.h"
 #include "Base/Math/Constants.h"
 #include "Base/Util/Assert.h"
-#include "Device/Data/Datafield.h"
 #include <cmath>
 #include <stdexcept>
 
@@ -71,13 +70,6 @@ CoordSystem1D::CoordSystem1D(const IAxis* axis)
 {
 }
 
-//! Returns the size of underlying axis.
-size_t CoordSystem1D::axisSize(size_t i_axis) const
-{
-    ASSERT(i_axis == 0);
-    return coordinateAxis()->size();
-}
-
 double CoordSystem1D::calculateMin(size_t i_axis, Coords units) const
 {
     ASSERT(i_axis == 0);
@@ -114,23 +106,6 @@ IAxis* CoordSystem1D::createConvertedAxis(size_t i_axis, Coords units) const
     return new PointwiseAxis(nameOfAxis(0, units), coords);
 }
 
-Datafield* CoordSystem1D::createConvertedData(const Datafield& data, Coords units) const
-{
-    ASSERT(data.rank() == 1);
-
-    auto q_axis = createConvertedAxis(0, units);
-    Datafield* result = new Datafield({q_axis});
-
-    if (units != Coords::RQ4) {
-        result->setVector(data.flatVector());
-        return result;
-    }
-
-    for (size_t i = 0, size = result->size(); i < size; ++i)
-        (*result)[i] = data[i] * std::pow((*q_axis)[i], 4);
-    return result;
-}
-
 
 //  ************************************************************************************************
 //  class AngularReflectometryCoords
diff --git a/Device/Coord/CoordSystem1D.h b/Device/Coord/CoordSystem1D.h
index babdb57af06935330f9b0a74021e4fc941b207cb..92f4a71c1f1e4c5f69f53291fa0999117b2bce26 100644
--- a/Device/Coord/CoordSystem1D.h
+++ b/Device/Coord/CoordSystem1D.h
@@ -31,11 +31,8 @@ public:
 
     CoordSystem1D* clone() const override = 0;
 
-    //! Returns dimensionality of converted canvas.
-    size_t rank() const override { return 1u; }
-
-    //! Returns the size of underlying axis.
-    size_t axisSize(size_t i_axis) const override;
+    //! Creates axis in converted units.
+    IAxis* createConvertedAxis(size_t i_axis, Coords units) const override;
 
     //! Calculates minimum on-axis value in given units.
     double calculateMin(size_t i_axis, Coords units) const override;
@@ -43,13 +40,10 @@ public:
     //! Calculates maximum on-axis value in given units.
     double calculateMax(size_t i_axis, Coords units) const override;
 
-    //! Creates axis in converted units.
-    IAxis* createConvertedAxis(size_t i_axis, Coords units) const override;
-
-    //! Creates Datafield array in converter units.
-    Datafield* createConvertedData(const Datafield& data, Coords units) const override;
-
 protected:
+    //! Returns dimensionality of converted canvas.
+    size_t rank() const override { return 1u; }
+
     //! Returns translating functional (rads --> output units)
     virtual std::function<double(double)> getTraslatorTo(Coords units) const = 0;
 
@@ -69,18 +63,18 @@ public:
 
     AngularReflectometryCoords* clone() const override;
 
+    static std::vector<Coords> availableUnits0();
+    static std::string nameOfAxis0(Coords units = Coords::UNDEFINED);
+
+private:
     //! Returns the list of all available units
     std::vector<Coords> availableUnits() const override;
-    static std::vector<Coords> availableUnits0();
 
     std::string nameOfAxis(size_t i_axis, Coords units = Coords::UNDEFINED) const override;
-    static std::string nameOfAxis0(Coords units = Coords::UNDEFINED);
 
     //! Returns default units to convert to.
     Coords defaultUnits() const override { return Coords::DEGREES; }
 
-
-private:
     AngularReflectometryCoords(const AngularReflectometryCoords& other);
 
     //! Returns translating functional (rads --> desired units)
@@ -98,6 +92,7 @@ public:
 
     WavenumberReflectometryCoords* clone() const override;
 
+private:
     //! Returns the list of all available units
     std::vector<Coords> availableUnits() const override;
 
@@ -106,7 +101,6 @@ public:
     //! Returns default units to convert to.
     Coords defaultUnits() const override { return Coords::QSPACE; }
 
-private:
     WavenumberReflectometryCoords(const WavenumberReflectometryCoords& other);
 
     //! Returns translating functional (inv. nm --> desired units)
diff --git a/Device/Coord/CoordSystem2D.cpp b/Device/Coord/CoordSystem2D.cpp
index 6095c301de1c8d341c047545a28f16a66d71fd46..a4cea536ee628c26d8348712f0c72577b86ecc3c 100644
--- a/Device/Coord/CoordSystem2D.cpp
+++ b/Device/Coord/CoordSystem2D.cpp
@@ -51,11 +51,6 @@ CoordSystem2D::CoordSystem2D(const CoordSystem2D& other)
 {
 }
 
-void CoordSystem2D::addAxisData(std::string name, double min, double max, size_t nbins)
-{
-    m_axes.emplace_back(new FixedBinAxis(name, min, max, nbins));
-}
-
 double CoordSystem2D::calculateMin(size_t i_axis, Coords units) const
 {
     ASSERT(i_axis < rank());
@@ -74,12 +69,6 @@ double CoordSystem2D::calculateMax(size_t i_axis, Coords units) const
     return calculateValue(i_axis, units, m_axes[i_axis]->max());
 }
 
-size_t CoordSystem2D::axisSize(size_t i_axis) const
-{
-    ASSERT(i_axis < rank());
-    return m_axes[i_axis]->size();
-}
-
 std::vector<Coords> CoordSystem2D::availableUnits() const
 {
     return {Coords::NBINS, Coords::RADIANS, Coords::DEGREES};
@@ -90,7 +79,7 @@ IAxis* CoordSystem2D::createConvertedAxis(size_t i_axis, Coords units) const
     const double min = calculateMin(i_axis, units);
     const double max = calculateMax(i_axis, units);
     const auto& axis_name = nameOfAxis(i_axis, units);
-    const auto axis_size = axisSize(i_axis);
+    const auto axis_size = m_axes[i_axis]->size();
     return new FixedBinAxis(axis_name, axis_size, min, max);
 }
 
diff --git a/Device/Coord/CoordSystem2D.h b/Device/Coord/CoordSystem2D.h
index f1304629807f0541abeb64a817fcf63941373935..344a79ba8d5f52abcc3264363138d701e1796ffc 100644
--- a/Device/Coord/CoordSystem2D.h
+++ b/Device/Coord/CoordSystem2D.h
@@ -31,11 +31,8 @@ public:
     CoordSystem2D(const std::vector<const IAxis*>& axes);
     ~CoordSystem2D() override = default;
 
-    size_t rank() const override { return m_axes.size(); }
-
     double calculateMin(size_t i_axis, Coords units) const override;
     double calculateMax(size_t i_axis, Coords units) const override;
-    size_t axisSize(size_t i_axis) const override;
 
     //! Returns list of units that are available for all 2D detectors.
     //! Further units may be added by child classes.
@@ -43,11 +40,11 @@ public:
 
     IAxis* createConvertedAxis(size_t i_axis, Coords units) const override;
 
+    size_t rank() const override { return m_axes.size(); }
+
 protected:
     CoordSystem2D(const CoordSystem2D& other);
 
-    void addAxisData(std::string name, double min, double max, size_t nbins);
-
     std::vector<const IAxis*> m_axes;
 
 private:
@@ -65,13 +62,13 @@ public:
 
     SphericalCoords* clone() const override;
 
+private:
     std::vector<Coords> availableUnits() const override;
 
     Coords defaultUnits() const override { return Coords::DEGREES; }
 
     std::string nameOfAxis(size_t i_axis, Coords units = Coords::UNDEFINED) const override;
 
-private:
     SphericalCoords(const SphericalCoords& other); //!< used by clone()
     double calculateValue(size_t i_axis, Coords units, double value) const override;
     const R3 m_ki;
@@ -89,13 +86,13 @@ public:
 
     ImageCoords* clone() const override;
 
+private:
     std::vector<Coords> availableUnits() const override;
 
     Coords defaultUnits() const override { return Coords::MM; }
 
     std::string nameOfAxis(size_t i_axis, Coords units = Coords::UNDEFINED) const override;
 
-private:
     ImageCoords(const ImageCoords& other); //!< used by clone()
     double calculateValue(size_t i_axis, Coords units, double value) const override;
 
@@ -114,11 +111,11 @@ public:
 
     OffspecCoords* clone() const override;
 
+private:
     Coords defaultUnits() const override { return Coords::DEGREES; }
 
     std::string nameOfAxis(size_t i_axis, Coords units = Coords::UNDEFINED) const override;
 
-private:
     OffspecCoords(const OffspecCoords& other); //!< used by clone()
     double calculateValue(size_t i_axis, Coords units, double value) const override;
 };
@@ -134,13 +131,13 @@ public:
 
     DepthprobeCoords* clone() const override;
 
+private:
     std::vector<Coords> availableUnits() const override;
 
     Coords defaultUnits() const override { return Coords::DEGREES; }
 
     std::string nameOfAxis(size_t i_axis, Coords units = Coords::UNDEFINED) const override;
 
-private:
     DepthprobeCoords(const DepthprobeCoords& other); //!< used by clone()
     double calculateValue(size_t, Coords units, double value) const override;
     const double m_ki0;
diff --git a/Device/Coord/ICoordSystem.cpp b/Device/Coord/ICoordSystem.cpp
index 4605bd544aeff3dacfa58bfe8f109413c63d53f2..b924ab5a07a06d852fccfaec19d5d639007f69a3 100644
--- a/Device/Coord/ICoordSystem.cpp
+++ b/Device/Coord/ICoordSystem.cpp
@@ -14,7 +14,6 @@
 
 #include "Device/Coord/ICoordSystem.h"
 #include "Base/Util/Assert.h"
-#include "Device/Data/Datafield.h"
 #include <sstream>
 
 ICoordSystem::~ICoordSystem() = default;
@@ -32,27 +31,6 @@ std::vector<const IAxis*> ICoordSystem::convertedAxes(Coords units) const
     return result;
 }
 
-Datafield* ICoordSystem::createConvertedData(const Datafield& data, Coords units) const
-{
-    return new Datafield(convertedAxes(units), data.flatVector());
-}
-
-void ICoordSystem::throwUnitsError(std::string method, std::vector<Coords> available) const
-{
-    static const std::map<Coords, const char*> axisUnitLabel = {
-        {Coords::UNDEFINED, "undefined"}, {Coords::NBINS, "bin"}, {Coords::RADIANS, "rad"},
-        {Coords::DEGREES, "deg"},         {Coords::MM, "mm"},     {Coords::QSPACE, "1/nm"},
-        {Coords::RQ4, "nm^-4?"}};
-
-    std::stringstream ss;
-    ss << "Unit type error in " << method
-       << ": unknown or unsupported unit type. Available units "
-          "are:\n";
-    for (auto unit : available)
-        ss << axisUnitLabel.at(unit) << "\n";
-    throw std::runtime_error(ss.str());
-}
-
 Coords ICoordSystem::substituteDefaultUnits(Coords units) const
 {
     return units == Coords::UNDEFINED ? defaultUnits() : units;
diff --git a/Device/Coord/ICoordSystem.h b/Device/Coord/ICoordSystem.h
index 864eb4e9bc0b7963c76834d8ee686a622d7ee7d0..7e7176dbd9175d4bc1875d3a4a2ad54daabab35f 100644
--- a/Device/Coord/ICoordSystem.h
+++ b/Device/Coord/ICoordSystem.h
@@ -25,7 +25,6 @@
 #include <string>
 #include <vector>
 
-class Datafield;
 class IAxis;
 
 //! Interface to provide axis translations to different units for simulation output
@@ -44,7 +43,6 @@ public:
 
     virtual double calculateMin(size_t i_axis, Coords units) const = 0;
     virtual double calculateMax(size_t i_axis, Coords units) const = 0;
-    virtual size_t axisSize(size_t i_axis) const = 0;
 
     virtual std::string nameOfAxis(size_t i_axis, Coords units = Coords::UNDEFINED) const = 0;
 
@@ -56,12 +54,8 @@ public:
     std::vector<const IAxis*> defaultAxes() const;
     std::vector<const IAxis*> convertedAxes(Coords units) const;
 
-    //! Creates Datafield array in converter units.
-    virtual Datafield* createConvertedData(const Datafield& data, Coords units) const;
-
 protected:
     Coords substituteDefaultUnits(Coords units) const;
-    [[noreturn]] void throwUnitsError(std::string method, std::vector<Coords> available) const;
 };
 
 #endif // BORNAGAIN_DEVICE_COORD_ICOORDSYSTEM_H
diff --git a/Device/Coord/Tags.h b/Device/Coord/Tags.h
index 5feb1274f43be0cc457e4a1e2c6b64906f001904..aed8f783da534df0be576c07d0233731d511b739 100644
--- a/Device/Coord/Tags.h
+++ b/Device/Coord/Tags.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_DEVICE_COORD_TAGS_H
 #define BORNAGAIN_DEVICE_COORD_TAGS_H
 
-
 enum class Coords { UNDEFINED, NBINS, RADIANS, DEGREES, MM, QSPACE, RQ4 };
 
 #endif // BORNAGAIN_DEVICE_COORD_TAGS_H
diff --git a/Tests/Unit/Device/DepthprobeConverterTest.cpp b/Tests/Unit/Device/DepthprobeConverterTest.cpp
index 76ece559b8da2291deb600a9608e6c46601a5809..8c00d45a378a787d38cc07f9efb2b28cacda8ba4 100644
--- a/Tests/Unit/Device/DepthprobeConverterTest.cpp
+++ b/Tests/Unit/Device/DepthprobeConverterTest.cpp
@@ -65,7 +65,6 @@ void DepthprobeCoordsTest::checkAlphaAxis(Coords units, const DepthprobeCoords&
 {
     std::unique_ptr<IAxis> axis(test_object.createConvertedAxis(0, units));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis.get()));
-    EXPECT_EQ(axis->size(), test_object.axisSize(0));
     EXPECT_EQ(axis->size(), m_nbins);
     EXPECT_EQ(axis->min(), test_object.calculateMin(0, units));
     EXPECT_EQ(axis->max(), test_object.calculateMax(0, units));
@@ -75,7 +74,6 @@ void DepthprobeCoordsTest::checkZAxis(Coords units, const DepthprobeCoords& test
 {
     std::unique_ptr<IAxis> axis(test_object.createConvertedAxis(1, units));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis.get()));
-    EXPECT_EQ(axis->size(), test_object.axisSize(1));
     EXPECT_EQ(axis->size(), m_nbins);
 
     EXPECT_EQ(axis->min(), test_object.calculateMin(1, units));
diff --git a/Tests/Unit/Device/OffspecConverterTest.cpp b/Tests/Unit/Device/OffspecConverterTest.cpp
index 191de8c35f286bddfac66247ddede830f01bff60..c1c62b977ac4c25df9e51a1c79ef3ed5a185fd81 100644
--- a/Tests/Unit/Device/OffspecConverterTest.cpp
+++ b/Tests/Unit/Device/OffspecConverterTest.cpp
@@ -68,13 +68,11 @@ TEST_F(OffspecCoordsTest, OffspecCoords)
 
     std::unique_ptr<IAxis> axis(coords->createConvertedAxis(0, Coords::UNDEFINED));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis.get()));
-    EXPECT_EQ(axis->size(), coords->axisSize(0));
     EXPECT_EQ(axis->min(), coords->calculateMin(0, Coords::UNDEFINED));
     EXPECT_EQ(axis->max(), coords->calculateMax(0, Coords::UNDEFINED));
 
     std::unique_ptr<IAxis> axis2(coords->createConvertedAxis(1, Coords::RADIANS));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis2.get()));
-    EXPECT_EQ(axis2->size(), coords->axisSize(1));
     EXPECT_EQ(axis2->min(), coords->calculateMin(1, Coords::RADIANS));
     EXPECT_EQ(axis2->max(), coords->calculateMax(1, Coords::RADIANS));
 
diff --git a/Tests/Unit/Device/RectangularConverterTest.cpp b/Tests/Unit/Device/RectangularConverterTest.cpp
index a11567da82c7283098d658f26767c3a7e68945da..ca1206b7e91fcaa50fcea8076347ca69d76aef02 100644
--- a/Tests/Unit/Device/RectangularConverterTest.cpp
+++ b/Tests/Unit/Device/RectangularConverterTest.cpp
@@ -90,13 +90,11 @@ TEST_F(RectangularConverterTest, ImageCoords)
 
     std::unique_ptr<IAxis> axis(converter.createConvertedAxis(0, Coords::UNDEFINED));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis.get()));
-    EXPECT_EQ(axis->size(), converter.axisSize(0));
     EXPECT_EQ(axis->min(), converter.calculateMin(0, Coords::UNDEFINED));
     EXPECT_EQ(axis->max(), converter.calculateMax(0, Coords::UNDEFINED));
 
     std::unique_ptr<IAxis> axis2(converter.createConvertedAxis(1, Coords::QSPACE));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis2.get()));
-    EXPECT_EQ(axis2->size(), converter.axisSize(1));
     EXPECT_EQ(axis2->min(), converter.calculateMin(1, Coords::QSPACE));
     EXPECT_EQ(axis2->max(), converter.calculateMax(1, Coords::QSPACE));
 
diff --git a/Tests/Unit/Device/SphericalConverterTest.cpp b/Tests/Unit/Device/SphericalConverterTest.cpp
index 94ed5b39170bf271bdc60503399a2057f86560e7..3562f8e164413791006aaa68b543b33c91c002e1 100644
--- a/Tests/Unit/Device/SphericalConverterTest.cpp
+++ b/Tests/Unit/Device/SphericalConverterTest.cpp
@@ -65,13 +65,11 @@ TEST_F(SphericalConverterTest, SphericalCoords)
 
     std::unique_ptr<IAxis> axis(converter.createConvertedAxis(0, Coords::UNDEFINED));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis.get()));
-    EXPECT_EQ(axis->size(), converter.axisSize(0));
     EXPECT_EQ(axis->min(), converter.calculateMin(0, Coords::UNDEFINED));
     EXPECT_EQ(axis->max(), converter.calculateMax(0, Coords::UNDEFINED));
 
     std::unique_ptr<IAxis> axis2(converter.createConvertedAxis(1, Coords::QSPACE));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis2.get()));
-    EXPECT_EQ(axis2->size(), converter.axisSize(1));
     EXPECT_EQ(axis2->min(), converter.calculateMin(1, Coords::QSPACE));
     EXPECT_EQ(axis2->max(), converter.calculateMax(1, Coords::QSPACE));
 
diff --git a/Tests/Unit/Sim/CoordSystem1DTest.cpp b/Tests/Unit/Sim/CoordSystem1DTest.cpp
index 41356d5cff0235ef840bcdb29bb89856d707e742..bc5e04853e8d8c188390843b1fca590b610bc415 100644
--- a/Tests/Unit/Sim/CoordSystem1DTest.cpp
+++ b/Tests/Unit/Sim/CoordSystem1DTest.cpp
@@ -4,7 +4,6 @@
 #include "Base/Axis/VariableBinAxis.h"
 #include "Base/Const/Units.h"
 #include "Base/Math/Constants.h"
-#include "Device/Data/Datafield.h"
 #include "Sim/Scan/QzScan.h"
 #include "Tests/GTestWrapper/google_test.h"
 #include <algorithm>
@@ -62,52 +61,27 @@ void CoordSystem1DTest::checkConventionalConverter(const CoordSystem1D& test_obj
     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_EQ(axis_default->size(), test_object.axisSize(0));
     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_EQ(axis_qspace->size(), test_object.axisSize(0));
     EXPECT_EQ(axis_qspace->min(), test_object.calculateMin(0, Coords::QSPACE));
     EXPECT_EQ(axis_qspace->max(), test_object.calculateMax(0, Coords::QSPACE));
 
     // NBINS
     std::unique_ptr<IAxis> axis_nbins(test_object.createConvertedAxis(0, Coords::NBINS));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis_nbins.get()));
-    EXPECT_EQ(axis_nbins->size(), test_object.axisSize(0));
     EXPECT_EQ(axis_nbins->min(), test_object.calculateMin(0, Coords::NBINS));
     EXPECT_EQ(axis_nbins->max(), test_object.calculateMax(0, Coords::NBINS));
 
     // RQ4
     std::unique_ptr<IAxis> axis_rq4(test_object.createConvertedAxis(0, Coords::RQ4));
     EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(axis_rq4.get()));
-    EXPECT_EQ(axis_rq4->size(), test_object.axisSize(0));
     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);
-
-    Datafield fake_data({m_axis.clone()});
-    std::vector<double> raw_fake(m_axis.size(), 1.0);
-    fake_data.setVector(raw_fake);
-
-    // NBINS
-    auto data_nbins = test_object.createConvertedData(fake_data, Coords::NBINS);
-    EXPECT_EQ(data_nbins->axis(0), *axis_nbins);
-    EXPECT_EQ(data_nbins->size(), axis_nbins->size());
-    EXPECT_EQ(raw_fake, data_nbins->flatVector());
-
-    // RQ4
-    auto data_rq4 = test_object.createConvertedData(fake_data, Coords::RQ4);
-    EXPECT_EQ(data_rq4->axis(0), *axis_rq4);
-    auto raw_data_rq4 = data_rq4->flatVector();
-    EXPECT_EQ(raw_data_rq4.size(), raw_fake.size());
-    EXPECT_EQ(raw_data_rq4.size(), axis_rq4->size());
-    for (size_t i = 0, size = raw_data_rq4.size(); i < size; ++i) {
-        double value = raw_fake[i] * std::pow(axis_rq4->binCenter(i), 4);
-        EXPECT_DOUBLE_EQ(raw_data_rq4[i], value);
-    }
 }
 
 void CoordSystem1DTest::checkQSpecConverter(const CoordSystem1D& test_object)
@@ -128,14 +102,12 @@ 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_EQ(axis_default->size(), test_object.axisSize(0));
     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_EQ(axis_qspace->size(), test_object.axisSize(0));
     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);
@@ -143,38 +115,15 @@ void CoordSystem1DTest::checkQSpecConverter(const CoordSystem1D& test_object)
     // NBINS
     std::unique_ptr<IAxis> axis_nbins(test_object.createConvertedAxis(0, Coords::NBINS));
     EXPECT_TRUE(dynamic_cast<const FixedBinAxis*>(axis_nbins.get()));
-    EXPECT_EQ(axis_nbins->size(), test_object.axisSize(0));
     EXPECT_EQ(axis_nbins->min(), test_object.calculateMin(0, Coords::NBINS));
     EXPECT_EQ(axis_nbins->max(), test_object.calculateMax(0, Coords::NBINS));
 
     // RQ4
     std::unique_ptr<IAxis> axis_rq4(test_object.createConvertedAxis(0, Coords::RQ4));
     EXPECT_TRUE(dynamic_cast<const PointwiseAxis*>(axis_rq4.get()));
-    EXPECT_EQ(axis_rq4->size(), test_object.axisSize(0));
     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);
-
-    Datafield fake_data({m_axis.clone()});
-    std::vector<double> raw_fake(m_axis.size(), 1.0);
-    fake_data.setVector(raw_fake);
-
-    // NBINS
-    auto data_nbins = test_object.createConvertedData(fake_data, Coords::NBINS);
-    EXPECT_EQ(data_nbins->axis(0), *axis_nbins);
-    EXPECT_EQ(data_nbins->size(), axis_nbins->size());
-    EXPECT_EQ(raw_fake, data_nbins->flatVector());
-
-    // RQ4
-    auto data_rq4 = test_object.createConvertedData(fake_data, Coords::RQ4);
-    EXPECT_EQ(data_rq4->axis(0), *axis_rq4);
-    auto raw_data_rq4 = data_rq4->flatVector();
-    EXPECT_EQ(raw_data_rq4.size(), raw_fake.size());
-    EXPECT_EQ(raw_data_rq4.size(), axis_rq4->size());
-    for (size_t i = 0, size = raw_data_rq4.size(); i < size; ++i) {
-        double value = raw_fake[i] * std::pow(axis_rq4->binCenter(i), 4);
-        EXPECT_DOUBLE_EQ(raw_data_rq4[i], value);
-    }
 }
 
 TEST_F(CoordSystem1DTest, MainFunctionality)