28 #ifndef LATTICES_TILEDCOLLAPSER_H 29 #define LATTICES_TILEDCOLLAPSER_H 33 #include <casacore/casa/aips.h> 34 #include <casacore/scimath/Mathematics/NumericTraits.h> 40 template <
class T>
class Array;
95 template <
class T,
class U=T>
class TiledCollapser
107 virtual void init (
uInt nOutPixelsPerCollapse) = 0;
146 const T* inData,
const Bool* inMask,
149 const IPosition& startPos,
150 const IPosition&
shape) = 0;
156 Array<Bool>& resultMask,
157 const IPosition&
shape) = 0;
164 #ifndef CASACORE_NO_AUTO_TEMPLATES 165 #include <casacore/lattices/LatticeMath/TiledCollapser.tcc> 166 #endif //# CASACORE_NO_AUTO_TEMPLATES virtual void endAccumulator(Array< U > &result, Array< Bool > &resultMask, const IPosition &shape)=0
End the accumulator.
bool Bool
Define the standard types used by Casacore.
virtual Bool canHandleNullMask() const
Can the process function in the derived class handle a null mask pointer? If not, LatticeApply ensure...
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)...
this file contains all the compiler specific defines
virtual void initAccumulator(uInt n1, uInt n3)=0
Create and initialize the accumulator.