casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Private Attributes | List of all members
casacore::WCCompound Class Reference

Base class for compound WCRegion objects. More...

#include <WCCompound.h>

Inheritance diagram for casacore::WCCompound:
casacore::WCRegion casacore::WCComplement casacore::WCConcatenation casacore::WCDifference casacore::WCExtension casacore::WCIntersection casacore::WCUnion

Public Member Functions

 WCCompound (const ImageRegion &region1, const ImageRegion &region2)
 Construct from one or more image regions. More...
 
 WCCompound (const ImageRegion *region1, const ImageRegion *region2=0, const ImageRegion *region3=0, const ImageRegion *region4=0, const ImageRegion *region5=0, const ImageRegion *region6=0, const ImageRegion *region7=0, const ImageRegion *region8=0, const ImageRegion *region9=0, const ImageRegion *region10=0)
 
 WCCompound (const PtrBlock< const ImageRegion * > &regions)
 
 WCCompound (Bool takeOver, const PtrBlock< const WCRegion * > &regions)
 Construct from multiple regions given as a Block. More...
 
 WCCompound (const WCCompound &other)
 Copy constructor (copy semantics). More...
 
virtual ~WCCompound ()
 
virtual Bool operator== (const WCRegion &other) const
 Comparison. More...
 
const PtrBlock< const WCRegion * > & regions () const
 Get the contributing regions. More...
 
- Public Member Functions inherited from casacore::WCRegion
 WCRegion ()
 
 WCRegion (const WCRegion &other)
 Copy constructor (copy semantics). More...
 
virtual ~WCRegion ()
 Destructor. More...
 
Bool operator!= (const WCRegion &other) const
 
virtual WCRegioncloneRegion () const =0
 Clone a WCRegion object. More...
 
virtual String type () const =0
 Return region type. More...
 
virtual uInt ndim () const
 Get the dimensionality (i.e. More...
 
const RecordgetAxesDesc () const
 Get the description of all axes. More...
 
const RecordgetAxisDesc (uInt axis) const
 Get the description of the given axis. More...
 
Int axisNr (const Record &desc, const Record &axesDesc) const
 Return the axis number of the description of an axis in the full axes description. More...
 
Bool isAxisDescEqual (const Record &desc1, const Record &desc2) const
 Are both axis descriptions equal? More...
 
virtual Bool canExtend () const
 Can the region extend itself? By default it cannot. More...
 
const Stringcomment () const
 Get or set the comment. More...
 
void setComment (const String &comment)
 
virtual LCRegiontoLCRegion (const CoordinateSystem &cSys, const IPosition &shape) const
 Convert to an LCRegion using the given new coordinate system and shape. More...
 
LCRegiontoLCRegionAxes (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &outOrder) const
 Convert to an LCRegion using the given coordinate system and shape. More...
 
virtual TableRecord toRecord (const String &tableName) const =0
 Convert the (derived) object to a record. More...
 
void defineRecordFields (RecordInterface &record, const String &className) const
 Define the type and class name in the record. More...
 

Protected Member Functions

WCCompoundoperator= (const WCCompound &other)
 Assignment (copy semantics) makes only sense for a derived class. More...
 
void multiToLCRegion (PtrBlock< const LCRegion * > &regions, const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &extendAxes) const
 Convert each WCRegion to an LCRegion. More...
 
TableRecord makeRecord (const String &tableName) const
 Store the contributing regions in a record. More...
 
- Protected Member Functions inherited from casacore::WCRegion
WCRegionoperator= (const WCRegion &other)
 Assignment (copy semantics) makes only sense for a derived class. More...
 
void addAxisDesc (const Record &axisDesc)
 Add an axis with its description. More...
 
Record makeAxisDesc (const CoordinateSystem &cSys, uInt pixelAxis) const
 Make a description of a pixel axis in the coordinate system. More...
 
Record makeAxesDesc (const CoordinateSystem &cSys) const
 Make a description of all pixel axes in the coordinate system (in pixel axes order). More...
 
virtual LCRegiondoToLCRegion (const CoordinateSystem &cSys, const IPosition &shape, const IPosition &pixelAxesMap, const IPosition &extendAxes) const =0
 Convert to an LCRegion using the given coordinate system and shape. More...
 
void makeWorldAbsolute (Vector< Double > &world, const Vector< Int > &absRel, const CoordinateSystem &cSys, const IPosition &shape) const
 Convert relative to absolute world as needed. More...
 
void checkAxes (const IPosition &pixelAxes, const CoordinateSystem &cSys, const Vector< String > &quantityUnits) const
 

Static Protected Member Functions

static void unmakeRecord (PtrBlock< const WCRegion * > &, const TableRecord &, const String &tableName)
 Retrieve the contributing objects from the record. More...
 
- Static Protected Member Functions inherited from casacore::WCRegion
static void unitInit ()
 
static void convertPixel (Double &pixel, const Double &value, const String &unit, const Int absRel, const Double refPix, const Int shape)
 

Private Member Functions

void makeWCRegion (const PtrBlock< const ImageRegion * > &)
 Check if the ImageRegion's contain WCRegion's and extract them. More...
 
void init (Bool takeOver)
 Check if the regions are correct. More...
 

Private Attributes

PtrBlock< const WCRegion * > itsRegions
 
Block< IPositionitsAxesUsed
 

Additional Inherited Members

- Static Public Member Functions inherited from casacore::WCRegion
static WCRegionfromRecord (const TableRecord &rec, const String &tableName)
 Convert correct object from a record. More...
 

Detailed Description

Base class for compound WCRegion objects.

Intended use:

Internal

Prerequisite

Synopsis

WCCompound is the base class for world coordinate regions. It defines the functionality simply as conversion to an LCRegion. This is because you need an LCRegion to be able to access the pixels in a Lattice.

The conversion functions should be flexible in that the supplied CoordinateSystem does not have to be the same as that with which the derived class was constructed. This means that you can apply a WCCompound from one image to another, provided that operation has some meaning.

Example

Definition at line 84 of file WCCompound.h.

Constructor & Destructor Documentation

casacore::WCCompound::WCCompound ( const ImageRegion region1,
const ImageRegion region2 
)

Construct from one or more image regions.

The image regions have to contain WCRegion objects, otherwise an exception is thrown.

casacore::WCCompound::WCCompound ( const ImageRegion region1,
const ImageRegion region2 = 0,
const ImageRegion region3 = 0,
const ImageRegion region4 = 0,
const ImageRegion region5 = 0,
const ImageRegion region6 = 0,
const ImageRegion region7 = 0,
const ImageRegion region8 = 0,
const ImageRegion region9 = 0,
const ImageRegion region10 = 0 
)
casacore::WCCompound::WCCompound ( const PtrBlock< const ImageRegion * > &  regions)
casacore::WCCompound::WCCompound ( Bool  takeOver,
const PtrBlock< const WCRegion * > &  regions 
)

Construct from multiple regions given as a Block.

When takeOver is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.

casacore::WCCompound::WCCompound ( const WCCompound other)

Copy constructor (copy semantics).

virtual casacore::WCCompound::~WCCompound ( )
virtual

Member Function Documentation

void casacore::WCCompound::init ( Bool  takeOver)
private

Check if the regions are correct.

If needed, make a copy of the region objects.

TableRecord casacore::WCCompound::makeRecord ( const String tableName) const
protected

Store the contributing regions in a record.

void casacore::WCCompound::makeWCRegion ( const PtrBlock< const ImageRegion * > &  )
private

Check if the ImageRegion's contain WCRegion's and extract them.

void casacore::WCCompound::multiToLCRegion ( PtrBlock< const LCRegion * > &  regions,
const CoordinateSystem cSys,
const IPosition shape,
const IPosition pixelAxesMap,
const IPosition extendAxes 
) const
protected

Convert each WCRegion to an LCRegion.

The axes argument tells which axes to use from the coordinate system and shape.

WCCompound& casacore::WCCompound::operator= ( const WCCompound other)
protected

Assignment (copy semantics) makes only sense for a derived class.

virtual Bool casacore::WCCompound::operator== ( const WCRegion other) const
virtual
const PtrBlock< const WCRegion * > & casacore::WCCompound::regions ( ) const
inline

Get the contributing regions.

Definition at line 156 of file WCCompound.h.

References itsRegions.

static void casacore::WCCompound::unmakeRecord ( PtrBlock< const WCRegion * > &  ,
const TableRecord ,
const String tableName 
)
staticprotected

Retrieve the contributing objects from the record.

Member Data Documentation

Block<IPosition> casacore::WCCompound::itsAxesUsed
private

Definition at line 152 of file WCCompound.h.

PtrBlock<const WCRegion*> casacore::WCCompound::itsRegions
private

Definition at line 151 of file WCCompound.h.

Referenced by regions().


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