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