From dc9bc18512312c07c8daaefd6459ee31a3b4ba6d Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Tue, 18 Nov 2025 13:32:34 +0100 Subject: [PATCH] DetectorGeometry: VerticalFlip() is non-virtual function to avoid confusion when it is called from the constructor --- broker/JFJochBrokerParser.cpp | 6 ++---- common/DetectorGeometry.h | 1 - common/DetectorGeometryFixed.h | 2 +- common/DetectorGeometryModular.h | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/broker/JFJochBrokerParser.cpp b/broker/JFJochBrokerParser.cpp index f6331d53..249de1e3 100644 --- a/broker/JFJochBrokerParser.cpp +++ b/broker/JFJochBrokerParser.cpp @@ -12,7 +12,7 @@ DetectorGeometryModular ParseStandardDetectorGeometry(const org::openapitools::server::model::Detector &j) { auto s = j.getStandardGeometry(); - return DetectorGeometryModular(s.getNmodules(), s.getModulesInRow(), s.getGapX(), s.getGapY(), false); + return DetectorGeometryModular(s.getNmodules(), s.getModulesInRow(), s.getGapX(), s.getGapY(), j.isMirrorY()); } DetectorModuleGeometry::Direction Convert(const org::openapitools::server::model::Detector_module_direction& d) { @@ -50,7 +50,7 @@ DetectorGeometryModular ParseCustomDetectorGeometry(const org::openapitools::ser auto slow = Convert(iter.getSlowAxis()); modules.emplace_back(iter.getX0(), iter.getY0(), fast, slow); } - return DetectorGeometryModular(modules, false); + return DetectorGeometryModular(modules, j.isMirrorY()); } @@ -86,8 +86,6 @@ DetectorSetup ParseDetectorSetup(const org::openapitools::server::model::Detecto } DetectorGeometryModular geom = ParseDetectorGeometry(d); - if (d.isMirrorY()) - geom.VerticalFlip(); DetectorSetup setup(geom, detector_type, d.getDescription(), d.getHostname()); diff --git a/common/DetectorGeometry.h b/common/DetectorGeometry.h index 22065d5d..e3c7c3bf 100644 --- a/common/DetectorGeometry.h +++ b/common/DetectorGeometry.h @@ -21,7 +21,6 @@ public: [[nodiscard]] virtual int64_t GetSlowDirectionStep(int64_t module_number) const = 0; [[nodiscard]] virtual Coord GetFastDirection(int64_t module_number) const = 0; [[nodiscard]] virtual Coord GetSlowDirection(int64_t module_number) const = 0; - virtual void VerticalFlip() = 0; [[nodiscard]] virtual bool IsModularDetector() const = 0; }; diff --git a/common/DetectorGeometryFixed.h b/common/DetectorGeometryFixed.h index 89a1e837..2d35ec0d 100644 --- a/common/DetectorGeometryFixed.h +++ b/common/DetectorGeometryFixed.h @@ -21,7 +21,7 @@ public: int64_t GetSlowDirectionStep(int64_t module_number) const override; Coord GetFastDirection(int64_t module_number) const override; Coord GetSlowDirection(int64_t module_number) const override; - void VerticalFlip() override; + void VerticalFlip(); bool IsModularDetector() const override; }; diff --git a/common/DetectorGeometryModular.h b/common/DetectorGeometryModular.h index 91447e61..8dc38063 100644 --- a/common/DetectorGeometryModular.h +++ b/common/DetectorGeometryModular.h @@ -29,7 +29,7 @@ public: int64_t GetSlowDirectionStep(int64_t module_number) const override; Coord GetFastDirection(int64_t module_number) const override; Coord GetSlowDirection(int64_t module_number) const override; - void VerticalFlip() override; + void VerticalFlip(); bool IsModularDetector() const override; };