From 79691221e10b6b30b78078a30162629b9c86fc3b Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Fri, 17 Nov 2023 08:51:48 +0100
Subject: [PATCH] MaskPattern -> local

---
 Device/Mask/MaskStack.cpp | 14 ++++++++++++++
 Device/Mask/MaskStack.h   | 15 ++++-----------
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/Device/Mask/MaskStack.cpp b/Device/Mask/MaskStack.cpp
index feed2bf0d26..2e01ffa3d11 100644
--- a/Device/Mask/MaskStack.cpp
+++ b/Device/Mask/MaskStack.cpp
@@ -18,6 +18,16 @@
 #include "Device/Data/Datafield.h"
 #include "Device/Mask/IShape2D.h"
 
+struct MaskPattern {
+    MaskPattern(IShape2D* shape_, bool doMask_, bool in_bins_);
+    MaskPattern(const MaskPattern&) = delete;
+    ~MaskPattern();
+    MaskPattern* clone() const;
+    IShape2D* shape; // cloneable
+    bool doMask;
+    bool inBins;
+};
+
 MaskPattern::MaskPattern(IShape2D* shape_, bool doMask_, bool in_bins_)
     : shape(shape_)
     , doMask(doMask_)
@@ -36,6 +46,10 @@ MaskPattern* MaskPattern::clone() const
 }
 
 
+MaskStack::MaskStack() = default;
+MaskStack::MaskStack(const MaskStack&) = default;
+MaskStack::~MaskStack() = default;
+
 void MaskStack::maskToStack(const IShape2D& shape, bool mask_value, bool in_bins)
 {
     m_stack.emplace_back(new MaskPattern(shape.clone(), mask_value, in_bins));
diff --git a/Device/Mask/MaskStack.h b/Device/Mask/MaskStack.h
index 1208e87e35f..093f0e8f3f9 100644
--- a/Device/Mask/MaskStack.h
+++ b/Device/Mask/MaskStack.h
@@ -23,22 +23,15 @@
 
 class IShape2D;
 class Frame;
-
-class MaskPattern {
-public:
-    MaskPattern(IShape2D* shape_, bool doMask_, bool in_bins_);
-    MaskPattern(const MaskPattern&) = delete;
-    ~MaskPattern();
-    MaskPattern* clone() const;
-    IShape2D* shape; // cloneable
-    bool doMask;
-    bool inBins;
-};
+struct MaskPattern;
 
 //! Collection of detector masks.
 
 class MaskStack {
 public:
+    MaskStack();
+    MaskStack(const MaskStack&);
+    ~MaskStack();
     //! Add mask to the stack of detector masks.
     //! Argument mask_value=true means that the area will be excluded from the analysis.
     void maskToStack(const IShape2D& shape, bool mask_value, bool in_bins);
-- 
GitLab