Go to the documentation of this file.
28 #ifndef LATTICES_LELFUNCTION_H
29 #define LATTICES_LELFUNCTION_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/lattices/LEL/LELInterface.h>
35 #include <casacore/lattices/LEL/LatticeExprNode.h>
36 #include <casacore/lattices/LEL/LELFunctionEnums.h>
37 #include <casacore/casa/Containers/Block.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
virtual String className() const
Get class name.
uInt nMaskedOn(const Array< Bool > &mask) const
virtual LELScalar< Float > getScalar() const
Recursively evaluate the scalar expression
~LELFunctionBool()
Destructor
Specify which elements to extract from an n-dimensional array.
virtual Bool hasLock(FileLocker::LockType) const
virtual String className() const
Get class name.
virtual void eval(LELArray< DComplex > &result, const Slicer §ion) const
Recursively evaluate the expression
LELFunctionBool(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
virtual Bool hasLock(FileLocker::LockType) const
virtual void eval(LELArray< T > &result, const Slicer §ion) const
Recursively evaluate the expression
virtual LELScalar< Bool > getScalar() const
Recursively evaluate the scalar expression
virtual void eval(LELArray< Bool > &result, const Slicer §ion) const
Recursively evaluate the expression
~LELFunctionFloat()
Destructor
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
Referenced counted pointer for constant data.
virtual void eval(LELArray< T > &result, const Slicer §ion) const
Recursively evaluate the expression
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
LELFunctionEnums::Function function_p
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
LockType
Define the possible lock types.
virtual String className() const
Get class name.
This LEL class handles double complex numerical functions.
This LEL class holds an array with a mask.
virtual LELScalar< T > getScalar() const
Recursively evaluate the scalar expression.
LELFunctionEnums::Function function_p
LELFunctionEnums::Function function_p
~LELFunctionComplex()
Destructor
~LELFunctionND()
Destructor
uInt nMaskedElements(const LatticeExprNode &) const
Count number of masked elements in a LatticeExprNode.
virtual Bool hasLock(FileLocker::LockType) const
Block< LatticeExprNode > arg_p
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
LELFunctionComplex(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.
LELFunctionEnums::Function function_p
Block< LatticeExprNode > arg_p
virtual void eval(LELArray< Double > &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 LELScalar< Complex > getScalar() const
Recursively evaluate the scalar expression
LELFunctionEnums::Function function_p
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
CountedPtr< LELInterface< T > > pExpr_p
LELFunctionND(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and expressions to be operated upon.
LELFunctionReal1D(const LELFunctionEnums::Function function, const CountedPtr< LELInterface< T > > &expr)
Constructor takes operation and expression to be operated upon.
virtual void eval(LELArray< Float > &result, const Slicer §ion) const
Recursively evaluate the expression
This LEL class handles logical functions.
virtual String className() const
Get class name.
LELFunctionFloat(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
This LEL class handles numerical (real and complex) 1-argument functions.
~LELFunctionReal1D()
Destructor
LELFunctionEnums::Function function_p
This base class provides the interface for Lattice expressions.
virtual Bool hasLock(FileLocker::LockType) const
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
virtual String className() const
Get class name.
this file contains all the compiler specific defines
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
virtual Bool hasLock(FileLocker::LockType) const
virtual Bool hasLock(FileLocker::LockType) const
This LEL class handles numerical functions whose return type is a Float.
CountedPtr< LELInterface< T > > pExpr_p
This LEL class handles complex numerical functions.
Block< LatticeExprNode > arg_p
virtual LELScalar< T > getScalar() const
Recursively evaluate the scalar expression
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual String className() const
Get class name.
virtual String className() const
Get class name.
Block< LatticeExprNode > arg_p
Bridging class to allow C++ expressions involving lattices.
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
~LELFunction1D()
Destructor
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.
LELFunctionDouble(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
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.
LELFunctionDComplex(const LELFunctionEnums::Function function, const Block< LatticeExprNode > &expr)
Constructor takes operation and left and right expressions to be operated upon.
String: the storage and methods of handling collections of characters.
bool Bool
Define the standard types used by Casacore.
This LEL class holds a scalar with a mask.
Block< LatticeExprNode > arg_p
virtual Bool hasLock(FileLocker::LockType) const
virtual LELScalar< Double > getScalar() const
Recursively evaluate the scalar expression
virtual void eval(LELArray< T > &result, const Slicer §ion) const
Recursively evaluate the expression
virtual Bool hasLock(FileLocker::LockType) const
virtual LELScalar< DComplex > getScalar() const
Recursively evaluate the scalar expression
This LEL class handles numerical (real only) 1-argument functions.
virtual void eval(LELArray< Complex > &result, const Slicer §ion) const
Recursively evaluate the expression
LELFunctionEnums::Function function_p
LELFunction1D(const LELFunctionEnums::Function function, const CountedPtr< LELInterface< T > > &expr)
Constructor takes operation and expression to be operated upon.
virtual String className() const
Get class name.
Block< LatticeExprNode > arg_p
LELFunctionEnums::Function function_p
~LELFunctionDouble()
Destructor
~LELFunctionDComplex()
Destructor
This LEL class handles numerical functions whose return type is a Double.
This LEL class handles functions with a variable number of arguments.