28 #ifndef LATTICES_LELFUNCTION_H
29 #define LATTICES_LELFUNCTION_H
120 const Slicer& section)
const;
222 const Slicer& section)
const;
327 const Slicer& section)
const;
433 const Slicer& section)
const;
545 const Slicer& section)
const;
647 const Slicer& section)
const;
744 const Slicer& section)
const;
840 const Slicer& section)
const;
869 #ifndef CASACORE_NO_AUTO_TEMPLATES
870 #include <casacore/lattices/LEL/LELFunction.tcc>
871 #endif //# CASACORE_NO_AUTO_TEMPLATES
~LELFunctionND()
Destructor.
Block< LatticeExprNode > arg_p
LELFunctionEnums::Function function_p
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
This LEL class holds an array with a mask.
~LELFunctionBool()
Destructor.
virtual void eval(LELArray< T > &result, const Slicer §ion) const
Recursively evaluate the expression.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual Bool hasLock(FileLocker::LockType) const
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
virtual String className() const
Get class name.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
This LEL class handles numerical functions whose return type is a Float.
This LEL class handles numerical (real only) 1-argument functions.
~LELFunctionFloat()
Destructor.
virtual LELScalar< Bool > getScalar() const
Recursively evaluate the scalar expression.
virtual void eval(LELArray< Complex > &result, const Slicer §ion) const
Recursively evaluate the expression.
LELFunctionEnums::Function function_p
LELFunctionEnums::Function function_p
virtual void eval(LELArray< Bool > &result, const Slicer §ion) const
Recursively evaluate the expression.
This LEL class handles functions with a variable number of arguments.
virtual String className() const
Get class name.
Block< LatticeExprNode > arg_p
This LEL class handles logical functions.
virtual Bool hasLock(FileLocker::LockType) const
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
~LELFunctionReal1D()
Destructor.
uInt nMaskedElements(const LatticeExprNode &) const
Count number of masked elements in a LatticeExprNode.
~LELFunction1D()
Destructor.
LELFunctionReal1D(const LELFunctionEnums::Function function, const CountedPtr< LELInterface< T > > &expr)
Constructor takes operation and expression to be operated upon.
virtual LELScalar< T > getScalar() const
Recursively evaluate the scalar expression.
LELFunctionEnums::Function function_p
This base class provides the interface for Lattice expressions.
This LEL class handles complex numerical functions.
virtual Bool hasLock(FileLocker::LockType) const
Referenced counted pointer for constant data.
virtual String className() const
Get class name.
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
CountedPtr< LELInterface< T > > pExpr_p
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual Bool hasLock(FileLocker::LockType) const
virtual LELScalar< Complex > getScalar() const
Recursively evaluate the scalar expression.
virtual String className() const
Get class name.
virtual Bool hasLock(FileLocker::LockType) const
Block< LatticeExprNode > arg_p
virtual void eval(LELArray< T > &result, const Slicer §ion) const
Recursively evaluate the expression.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
LELFunction1D(const LELFunctionEnums::Function function, const CountedPtr< LELInterface< T > > &expr)
Constructor takes operation and expression to be operated upon.
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
bool Bool
Define the standard types used by Casacore.
Block< LatticeExprNode > arg_p
virtual LELScalar< Double > getScalar() const
Recursively evaluate the scalar expression.
This LEL class handles numerical functions whose return type is a Double.
This LEL class handles numerical (real and complex) 1-argument functions.
LELFunctionEnums::Function function_p
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
virtual void eval(LELArray< T > &result, const Slicer §ion) const
Recursively evaluate the expression.
virtual Bool hasLock(FileLocker::LockType) const
virtual LELScalar< Float > getScalar() const
Recursively evaluate the scalar expression.
Specify which elements to extract from an n-dimensional array.
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
LELFunctionEnums::Function function_p
LELFunctionDouble(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
virtual String className() const
Get class name.
Block< LatticeExprNode > arg_p
CountedPtr< LELInterface< T > > pExpr_p
LELFunctionND(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and expressions to be operated upon.
Bridging class to allow C++ expressions involving lattices.
Block< LatticeExprNode > arg_p
virtual Bool hasLock(FileLocker::LockType) const
LELFunctionFloat(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
virtual LELScalar< T > getScalar() const
Recursively evaluate the scalar expression.
LELFunctionEnums::Function function_p
~LELFunctionDComplex()
Destructor.
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
String: the storage and methods of handling collections of characters.
LELFunctionComplex(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
This LEL class handles double complex numerical functions.
LELFunctionDComplex(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual void eval(LELArray< DComplex > &result, const Slicer §ion) const
Recursively evaluate the expression.
virtual String className() const
Get class name.
LELFunctionBool(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
LELFunctionEnums::Function function_p
~LELFunctionDouble()
Destructor.
LockType
Define the possible lock types.
virtual LELScalar< T > getScalar() const
Recursively evaluate the scalar expression.
~LELFunctionComplex()
Destructor.
virtual void eval(LELArray< Float > &result, const Slicer §ion) const
Recursively evaluate the expression.
uInt nMaskedOn(const Array< Bool > &mask) const
virtual LELScalar< DComplex > getScalar() const
Recursively evaluate the scalar expression.
virtual String className() const
Get class name.
virtual void eval(LELArray< Double > &result, const Slicer §ion) const
Recursively evaluate the expression.
virtual Bool hasLock(FileLocker::LockType) const
virtual String className() const
Get class name.
This LEL class holds a scalar with a mask.