casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
casacore::LELSpectralIndex< T > Class Template Reference

This LEL class handles calculation of the spectral index. More...

#include <LELSpectralIndex.h>

Inheritance diagram for casacore::LELSpectralIndex< T >:
casacore::LELInterface< T >

Public Member Functions

 LELSpectralIndex (const Block< LatticeExprNode > &expr)
 Constructor takes operation and expressions to be operated upon. More...
 
 ~LELSpectralIndex ()
 Destructor. More...
 
virtual void eval (LELArray< T > &result, const Slicer &section) const
 Recursively evaluate the expression. More...
 
virtual LELScalar< T > getScalar () const
 Get the result of a scalar subexpression. More...
 
virtual Bool prepareScalarExpr ()
 Do further preparations (e.g. More...
 
virtual String className () const
 Get class name. More...
 
virtual Bool lock (FileLocker::LockType, uInt nattempts)
 Handle locking/syncing of a lattice in a lattice expression. More...
 
virtual void unlock ()
 
virtual Bool hasLock (FileLocker::LockType) const
 
virtual void resync ()
 
- Public Member Functions inherited from casacore::LELInterface< T >
virtual ~LELInterface ()
 Virtual destructor. More...
 
virtual void evalRef (LELArrayRef< T > &result, const Slicer &section) const
 
LELArray< T > getArray () const
 Get the result of an array subexpression. More...
 
Bool isScalar () const
 Is the result of evaluating this expression a scalar ? More...
 
const IPositionshape () const
 Get the shape of the expression result. More...
 
const LELAttributegetAttribute () const
 Get expression attribute. More...
 

Private Attributes

Int itsFreqAxis
 
Block< DoubleitsLogFreq
 
LatticeExprNode arg0_p
 
LatticeExprNode arg1_p
 

Additional Inherited Members

- Static Public Member Functions inherited from casacore::LELInterface< T >
static Bool replaceScalarExpr (CountedPtr< LELInterface< T > > &expr)
 If the given expression is a valid scalar, replace it by its result. More...
 
- Protected Member Functions inherited from casacore::LELInterface< T >
void setAttr (const LELAttribute &attrib)
 Set the expression attributes of this object. More...
 

Detailed Description

template<class T>
class casacore::LELSpectralIndex< T >

This LEL class handles calculation of the spectral index.

Intended use:

Internal

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Synopsis

This LEL letter class is derived from LELInterface. It is used to construct LEL objects that calculate the sepectral index from 2 other LEL expression (usually images). It operates on real types (Float,Double)

Motivation

This is a separate class (instead of being part of a LELFunction class), because the calculation of the spectral index requires extra variables (the frequencies) and some more complicated code.

Definition at line 72 of file LELSpectralIndex.h.

Constructor & Destructor Documentation

template<class T >
casacore::LELSpectralIndex< T >::LELSpectralIndex ( const Block< LatticeExprNode > &  expr)

Constructor takes operation and expressions to be operated upon.

template<class T >
casacore::LELSpectralIndex< T >::~LELSpectralIndex ( )

Destructor.

Member Function Documentation

template<class T >
virtual String casacore::LELSpectralIndex< T >::className ( ) const
virtual

Get class name.

Implements casacore::LELInterface< T >.

template<class T >
virtual void casacore::LELSpectralIndex< T >::eval ( LELArray< T > &  result,
const Slicer section 
) const
virtual

Recursively evaluate the expression.

Implements casacore::LELInterface< T >.

template<class T >
virtual LELScalar<T> casacore::LELSpectralIndex< T >::getScalar ( ) const
virtual

Get the result of a scalar subexpression.

Throws an exception as it is not possible.

Implements casacore::LELInterface< T >.

template<class T >
virtual Bool casacore::LELSpectralIndex< T >::hasLock ( FileLocker::LockType  ) const
virtual

Reimplemented from casacore::LELInterface< T >.

template<class T >
virtual Bool casacore::LELSpectralIndex< T >::lock ( FileLocker::LockType  ,
uInt  nattempts 
)
virtual

Handle locking/syncing of a lattice in a lattice expression.

Reimplemented from casacore::LELInterface< T >.

template<class T >
virtual Bool casacore::LELSpectralIndex< T >::prepareScalarExpr ( )
virtual

Do further preparations (e.g.

optimization) on the expression. Returns False.

Implements casacore::LELInterface< T >.

template<class T >
virtual void casacore::LELSpectralIndex< T >::resync ( )
virtual

Reimplemented from casacore::LELInterface< T >.

template<class T >
virtual void casacore::LELSpectralIndex< T >::unlock ( )
virtual

Reimplemented from casacore::LELInterface< T >.

Member Data Documentation

template<class T >
LatticeExprNode casacore::LELSpectralIndex< T >::arg0_p
private

Definition at line 111 of file LELSpectralIndex.h.

template<class T >
LatticeExprNode casacore::LELSpectralIndex< T >::arg1_p
private

Definition at line 112 of file LELSpectralIndex.h.

template<class T >
Int casacore::LELSpectralIndex< T >::itsFreqAxis
private

Definition at line 109 of file LELSpectralIndex.h.

template<class T >
Block<Double> casacore::LELSpectralIndex< T >::itsLogFreq
private

Definition at line 110 of file LELSpectralIndex.h.


The documentation for this class was generated from the following file: