From 0fe97f7d4b1a99b55b616b8a0bf7ae80a864aa14 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Fri, 5 May 2023 10:05:20 +0200 Subject: [PATCH] SimulationAreaIterator: rm mode --- Device/Detector/IDetector.cpp | 4 ++-- Device/Detector/SimulationAreaIterator.cpp | 17 ++++++----------- Device/Detector/SimulationAreaIterator.h | 19 ++++--------------- 3 files changed, 12 insertions(+), 28 deletions(-) diff --git a/Device/Detector/IDetector.cpp b/Device/Detector/IDetector.cpp index e4de283752b..0cf1f0dc7cd 100644 --- a/Device/Detector/IDetector.cpp +++ b/Device/Detector/IDetector.cpp @@ -194,12 +194,12 @@ void IDetector::iterateOverNonMaskedPoints(std::function<void(const_iterator)> f SimulationAreaIterator IDetector::beginNonMaskedPoints() const { - return SimulationAreaIterator::createBegin(this, SimulationAreaIterator::notMasked); + return SimulationAreaIterator::createBegin(this); } SimulationAreaIterator IDetector::endNonMaskedPoints() const { - return SimulationAreaIterator::createEnd(this, SimulationAreaIterator::notMasked); + return SimulationAreaIterator::createEnd(this); } size_t IDetector::regionOfInterestIndexToDetectorIndex(const size_t regionOfInterestIndex) const diff --git a/Device/Detector/SimulationAreaIterator.cpp b/Device/Detector/SimulationAreaIterator.cpp index 3a9edbdf25d..2c14d0ed2fd 100644 --- a/Device/Detector/SimulationAreaIterator.cpp +++ b/Device/Detector/SimulationAreaIterator.cpp @@ -16,12 +16,10 @@ #include "Device/Detector/IDetector.h" #include "Device/Mask/DetectorMask.h" -SimulationAreaIterator::SimulationAreaIterator(const IDetector* detector, Mode mode, - size_t start_at_index) +SimulationAreaIterator::SimulationAreaIterator(const IDetector* detector, size_t start_at_index) : m_detector(detector) , m_index(start_at_index) , m_maxIndex(m_detector->sizeOfRegionOfInterest()) - , m_mode(mode) { if (m_index > m_maxIndex) throw std::runtime_error("SimulationAreaIterator::SimulationAreaIterator() " @@ -31,19 +29,19 @@ SimulationAreaIterator::SimulationAreaIterator(const IDetector* detector, Mode m m_index = nextIndex(m_index); } -SimulationAreaIterator SimulationAreaIterator::createBegin(const IDetector* detector, Mode mode) +SimulationAreaIterator SimulationAreaIterator::createBegin(const IDetector* detector) { - return SimulationAreaIterator(detector, mode, 0); + return SimulationAreaIterator(detector, 0); } -SimulationAreaIterator SimulationAreaIterator::createEnd(const IDetector* detector, Mode mode) +SimulationAreaIterator SimulationAreaIterator::createEnd(const IDetector* detector) { - return SimulationAreaIterator(detector, mode, detector->sizeOfRegionOfInterest()); + return SimulationAreaIterator(detector, detector->sizeOfRegionOfInterest()); } SimulationAreaIterator SimulationAreaIterator::createEnd() const { - return createEnd(m_detector, m_mode); + return createEnd(m_detector); } size_t SimulationAreaIterator::roiIndex() const @@ -84,9 +82,6 @@ size_t SimulationAreaIterator::nextIndex(size_t currentIndex) bool SimulationAreaIterator::isMasked(size_t index) const { - if (m_mode == regionOfInterest) - return false; - const auto* masks = m_detector->detectorMask(); const auto detectorIndex = m_detector->regionOfInterestIndexToDetectorIndex(index); return (masks && masks->isMasked(detectorIndex)); diff --git a/Device/Detector/SimulationAreaIterator.h b/Device/Detector/SimulationAreaIterator.h index 605f58091a0..254bf9302f9 100644 --- a/Device/Detector/SimulationAreaIterator.h +++ b/Device/Detector/SimulationAreaIterator.h @@ -25,23 +25,15 @@ class IDetector; //! An iterator for SimulationArea. class SimulationAreaIterator { -public: - //! Mode how the points shall be traversed - enum Mode { - regionOfInterest, //!< iterate over all points in "region of interest", no matter whether - //!< masked - notMasked //!< iterate over all points in "region of interest" and not masked - }; - private: - explicit SimulationAreaIterator(const IDetector* detector, Mode mode, size_t start_at_index); + explicit SimulationAreaIterator(const IDetector* detector, size_t start_at_index); public: //! Create begin-iterator to iterate over all points according to the given mode. - static SimulationAreaIterator createBegin(const IDetector* detector, Mode mode); + static SimulationAreaIterator createBegin(const IDetector* detector); //! Create end-iterator to iterate over all points according to the given mode. - static SimulationAreaIterator createEnd(const IDetector* detector, Mode mode); + static SimulationAreaIterator createEnd(const IDetector* detector); //! Convenience function to create an end-iterator matching to this iterator. SimulationAreaIterator createEnd() const; @@ -58,19 +50,16 @@ public: private: size_t nextIndex(size_t currentIndex); - //! Check whether masked according to the actual mode (always false if mode is - //! regionOfInterest). index is an ROI index. bool isMasked(size_t index) const; const IDetector* m_detector; size_t m_index; //!< ROI related index size_t m_maxIndex; //!< ROI related maximum index - Mode m_mode; }; inline bool SimulationAreaIterator::operator==(const SimulationAreaIterator& other) const { - return m_detector == other.m_detector && m_index == other.m_index && m_mode == other.m_mode; + return m_detector == other.m_detector && m_index == other.m_index; } inline bool SimulationAreaIterator::operator!=(const SimulationAreaIterator& right) const -- GitLab