diff --git a/Device/Coord/CoordSystem1D.cpp b/Device/Coord/CoordSystem1D.cpp index f49617ee1e52d0642e26410db3f7b1df98f89162..272bf817624a6fcb345647f42a87f2793321e1c7 100644 --- a/Device/Coord/CoordSystem1D.cpp +++ b/Device/Coord/CoordSystem1D.cpp @@ -50,12 +50,6 @@ CoordSystem1D::CoordSystem1D(const Scale* axis) { } -Scale* CoordSystem1D::convertedAxis(size_t i_axis) const -{ - ASSERT(i_axis == 0); - return m_axes[0]->clone(); -} - // ************************************************************************************************ // class AngularReflectometryCoords diff --git a/Device/Coord/CoordSystem1D.h b/Device/Coord/CoordSystem1D.h index 8e56fb13ff47ba18c14ee84589c568d5956b139c..ae8ca7b1f072414fad3eba6f8ee240b87383d5b5 100644 --- a/Device/Coord/CoordSystem1D.h +++ b/Device/Coord/CoordSystem1D.h @@ -30,9 +30,6 @@ public: ~CoordSystem1D() override = default; CoordSystem1D* clone() const override = 0; - - //! Creates axis in converted units. - Scale* convertedAxis(size_t i_axis) const override; }; diff --git a/Device/Coord/CoordSystem2D.cpp b/Device/Coord/CoordSystem2D.cpp index f3a3b559885d52a29d199a29a9068806787291c6..94a513686212658a175d9bb68aab4b2da1290cbe 100644 --- a/Device/Coord/CoordSystem2D.cpp +++ b/Device/Coord/CoordSystem2D.cpp @@ -38,13 +38,6 @@ CoordSystem2D::CoordSystem2D(const CoordSystem2D& other) { } -Scale* CoordSystem2D::convertedAxis(size_t i_axis) const -{ - const auto& axis_name = nameOfAxis(i_axis); - const auto axis_size = m_axes[i_axis]->size(); - return newEquiDivision(axis_name, axis_size, m_axes[i_axis]->min(), m_axes[i_axis]->max()); -} - // ************************************************************************************************ // class SphericalCoords // ************************************************************************************************ diff --git a/Device/Coord/CoordSystem2D.h b/Device/Coord/CoordSystem2D.h index 8a192ecc34868bbb2501569b860d4271785fcb30..ab65ce7003f30895bccb2ea69071baddb2907e94 100644 --- a/Device/Coord/CoordSystem2D.h +++ b/Device/Coord/CoordSystem2D.h @@ -32,8 +32,6 @@ public: CoordSystem2D(std::vector<const Scale*>&& axes); ~CoordSystem2D() override = default; - Scale* convertedAxis(size_t i_axis) const override; - protected: CoordSystem2D(const CoordSystem2D& other); diff --git a/Device/Coord/ICoordSystem.h b/Device/Coord/ICoordSystem.h index 6abd7704f4dc6023b38291bfd576b94159e1d2a2..2ed2d638fe6f8ccaaf4e479effa0560b95920c4e 100644 --- a/Device/Coord/ICoordSystem.h +++ b/Device/Coord/ICoordSystem.h @@ -32,8 +32,6 @@ public: virtual std::string nameOfAxis(size_t i_axis) const = 0; - virtual Scale* convertedAxis(size_t i_axis) const = 0; - std::vector<const Scale*> convertedAxes() const; }; diff --git a/Device/Histo/SimulationResult.cpp b/Device/Histo/SimulationResult.cpp index 692c19f41355e8584f614d74d3515c1ea6f7f1bd..8b16c1ee5e685676faa798c58a96af8478a3165d 100644 --- a/Device/Histo/SimulationResult.cpp +++ b/Device/Histo/SimulationResult.cpp @@ -76,8 +76,7 @@ std::vector<double> SimulationResult::convertedBinCenters() const std::vector<double> SimulationResult::convertedBinCenters(size_t i_axis) const { ASSERT(i_axis < converter().rank()); - auto* axis = converter().convertedAxis(i_axis); // TODO memory leak - return axis->binCenters(); + return converter().axis(i_axis).binCenters(); } void SimulationResult::setTitle(const std::string& title) diff --git a/GUI/Model/Device/InstrumentItems.cpp b/GUI/Model/Device/InstrumentItems.cpp index c31a34b66e1552101289d4c675f967ca34fbf8fd..55a7e2896a296bc4a0cded29ce418ac7f5155d9e 100644 --- a/GUI/Model/Device/InstrumentItems.cpp +++ b/GUI/Model/Device/InstrumentItems.cpp @@ -429,9 +429,9 @@ ISimulation* SpecularInstrumentItem::createSimulation(const MultiLayer& sample) BasicAxisItem* const axis_item = scanItem()->inclinationAxisItem(); const auto converter = createCoordSystem(); - std::unique_ptr<Scale> converted_axis(converter->convertedAxis(0)); + const Scale& ax = converter->axis(0); - std::unique_ptr<Scale> axis = axis_item->itemToAxis(Units::deg, *converted_axis); + std::unique_ptr<Scale> axis = axis_item->itemToAxis(Units::deg, ax); std::unique_ptr<IBeamScan> scan = createScan(*axis); if (withPolarizer()) scan->setPolarization(m_polarizerBlochVector);