LELLattCoord.h

Classes

LELLattCoord -- The base letter class for lattice coordinates in LEL. (full description)

class LELLattCoord : public LELLattCoordBase

Interface

Public Members
LELLattCoord()
virtual ~LELLattCoord()
virtual Bool hasCoordinates() const
virtual LatticeExprNode makeSubLattice (const LatticeExprNode& expr, const LattRegionHolder& region) const
virtual LatticeExprNode makeExtendLattice (const LatticeExprNode& expr, const IPosition& newShape, const LELLattCoordBase& newCoord) const
virtual LatticeExprNode makeRebinLattice (const LatticeExprNode& expr, const IPosition& binning) const
virtual uInt getSpectralInfo (Vector<Double>& worldCoordinates, const IPosition& shape) const
virtual String classname() const
virtual Int compare (const LELLattCoordBase& other) const
virtual Int doCompare (const LELImageCoord& other) const

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Synopsis

This class is a letter class for the envelope class LELCoordinates. It acts as the coordinates class for Lattice objects without coordinates (like PagedArray).

It does not do anything, but makes it possible that other classes (like LELImageCoord) implement their own behaviour.

Motivation

It must be possible to handle image coordinates in a lattice expression.

Member Description

LELLattCoord()

virtual ~LELLattCoord()

A virtual destructor is needed so that it will use the actual destructor in the derived class.

virtual Bool hasCoordinates() const

The class does not have true coordinates.

virtual LatticeExprNode makeSubLattice (const LatticeExprNode& expr, const LattRegionHolder& region) const

Create a SubLattice for an expression node.

virtual LatticeExprNode makeExtendLattice (const LatticeExprNode& expr, const IPosition& newShape, const LELLattCoordBase& newCoord) const

Create an extension for an expression node.

virtual LatticeExprNode makeRebinLattice (const LatticeExprNode& expr, const IPosition& binning) const

Create a rebinning for an expression node.

virtual uInt getSpectralInfo (Vector<Double>& worldCoordinates, const IPosition& shape) const

Get the coordinates of the spectral axis for the given shape. This function throws an exception as a Lattice has no coordinates.

virtual String classname() const

The name of the class.

virtual Int compare (const LELLattCoordBase& other) const

Check how the coordinates of this and that compare.

virtual Int doCompare (const LELImageCoord& other) const

Check how the coordinates of this and that image compare. This function is used by conform to make a double virtual dispatch possible.