28 #ifndef LATTICES_LINECOLLAPSER_H
29 #define LATTICES_LINECOLLAPSER_H
93 template <
class T,
class U=T>
class LineCollapser
102 virtual void init (
uInt nOutPixelsPerCollapse) = 0;
122 const Vector<T>& line,
123 const Vector<Bool>&
mask,
124 const IPosition& pos) = 0;
133 virtual void multiProcess (Vector<U>& result, Vector<Bool>& resultMask,
134 const Vector<T>& line,
135 const Vector<Bool>&
mask,
136 const IPosition& pos) = 0;
143 #ifndef CASACORE_NO_AUTO_TEMPLATES
144 #include <casacore/lattices/LatticeMath/LineCollapser.tcc>
145 #endif //# CASACORE_NO_AUTO_TEMPLATES
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
virtual ~LineCollapser()
Destructor.
virtual void init(uInt nOutPixelsPerCollapse)=0
The init function for a derived class.
virtual Bool canHandleNullMask() const
Can the process function in the derived class handle a null mask? If not, LatticeApply ensures that i...
virtual void process(U &result, Bool &resultMask, const Vector< T > &line, const Vector< Bool > &mask, const IPosition &pos)=0
Collapse the given line and return one value from that operation.
bool Bool
Define the standard types used by Casacore.
virtual void multiProcess(Vector< U > &result, Vector< Bool > &resultMask, const Vector< T > &line, const Vector< Bool > &mask, const IPosition &pos)=0
Collapse the given line and return a line of values from that operation.