diff --git a/Device/Mask/MaskStack.cpp b/Device/Mask/MaskStack.cpp index feed2bf0d264a1af4293aab80575f5473fe5bb17..2e01ffa3d1129d19325d4aa5a1af6a07c67074c7 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 1208e87e35f9f729ad5371f65e3fbad98bb7d54b..093f0e8f3f9ab56d289d1b434db73c1dccd9484b 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);