Go to the documentation of this file.
28 #ifndef LATTICES_LINECOLLAPSER_H
29 #define LATTICES_LINECOLLAPSER_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/scimath/Mathematics/NumericTraits.h>
39 template <
class T>
class Vector;
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
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.
virtual Bool canHandleNullMask() const
Can the process function in the derived class handle a null mask? If not, LatticeApply ensures that i...
virtual ~LineCollapser()
Destructor.
virtual void init(uInt nOutPixelsPerCollapse)=0
The init function for a derived class.
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.
this file contains all the compiler specific defines
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
bool Bool
Define the standard types used by Casacore.