28 #ifndef LATTICES_TILEDCOLLAPSER_H
29 #define LATTICES_TILEDCOLLAPSER_H
94 template <
class T,
class U=T>
class TiledCollapser
106 virtual void init (
uInt nOutPixelsPerCollapse) = 0;
145 const T* inData,
const Bool* inMask,
148 const IPosition& startPos,
149 const IPosition&
shape) = 0;
155 Array<Bool>& resultMask,
156 const IPosition&
shape) = 0;
163 #ifndef CASACORE_NO_AUTO_TEMPLATES
164 #include <casacore/lattices/LatticeMath/TiledCollapser.tcc>
165 #endif //# CASACORE_NO_AUTO_TEMPLATES
unsigned long long uInt64
virtual void initAccumulator(uInt64 n1, uInt64 n3)=0
Create and initialize the accumulator.
virtual void endAccumulator(Array< U > &result, Array< Bool > &resultMask, const IPosition &shape)=0
End the accumulator.
virtual Bool canHandleNullMask() const
Can the process function in the derived class handle a null mask pointer? If not, LatticeApply ensure...
bool Bool
Define the standard types used by Casacore.
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
virtual void init(uInt nOutPixelsPerCollapse)=0
The init function for a derived class.
virtual ~TiledCollapser()
Destructor.
virtual void process(uInt accumIndex1, uInt accumIndex3, const T *inData, const Bool *inMask, uInt inDataIncr, uInt inMaskIncr, uInt nrval, const IPosition &startPos, const IPosition &shape)=0
Collapse the given input data containing (nrval values with an increment of inDataIncr elements)...