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

Reference frame for physical measures. More...

#include <MeasRef.h>

Inheritance diagram for casacore::MeasRef< Ms >:
casacore::MRBase

Classes

class  RefRep
 Representation class. More...
 

Public Member Functions

 MeasRef ()
 Construct an empty MeasRef. More...
 
 MeasRef (const MeasRef< Ms > &other)
 Copy constructor. More...
 
MeasRefoperator= (const MeasRef< Ms > &other)
 Copy assignment. More...
 
 MeasRef (const uInt tp)
 Construct a reference with specified type, offset and Frame. More...
 
 MeasRef (const uInt tp, const Ms &ep)
 
 MeasRef (const uInt tp, const MeasFrame &mf)
 
 MeasRef (const uInt tp, const MeasFrame &mf, const Ms &ep)
 
 ~MeasRef ()
 
Bool operator== (const MeasRef< Ms > &other) const
 Check if same MeasRef. More...
 
Bool operator!= (const MeasRef< Ms > &other) const
 Check if unequal MeasRef. More...
 
virtual Bool empty () const
 Check if empty reference. More...
 
virtual uInt getType () const
 Return the type of the reference
Caution: the following should really be (and should be interpreted as), but cannot create a virtual function:
Ms::Types getType(); More...
 
virtual MeasFramegetFrame ()
 Return the frame of reference. More...
 
virtual const Measureoffset () const
 Return the offset (or 0) More...
 
virtual void setType (uInt tp)
 Set the type. More...
 
virtual void set (uInt tp)
 
void set (const Ms &ep)
 Set a new offset. More...
 
void set (const Measure &ep)
 Set a new offset (for internal use only) More...
 
virtual void set (const MeasFrame &mf)
 Set a new frame. More...
 
virtual void print (ostream &os) const
 Print a Measure. More...
 
- Public Member Functions inherited from casacore::MRBase
virtual ~MRBase ()
 

Static Public Member Functions

static const StringshowMe ()
 Check the type of Measure the reference can be used for. More...
 
static const MeasFrameframePosition (MRBase &ref1, MRBase &ref2)
 Return the first frame which has specified information. More...
 
static const MeasFrameframeEpoch (MRBase &ref1, MRBase &ref2)
 
static const MeasFrameframeDirection (MRBase &ref1, MRBase &ref2)
 
static const MeasFrameframeRadialVelocity (MRBase &ref1, MRBase &ref2)
 
static const MeasFrameframeComet (MRBase &ref1, MRBase &ref2)
 

Private Member Functions

void create ()
 Create an instance of MeasRef. More...
 
MeasRef copy ()
 Copy an instance. More...
 

Private Attributes

CountedPtr< RefReprep_p
 

Detailed Description

template<class Ms>
class casacore::MeasRef< Ms >

Reference frame for physical measures.

Intended use:

Public interface

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Test programs:
tMeasure

Prerequisite

Etymology

From Measure and Reference frame

Synopsis

MeasRef specifies the reference frame for a physical quantity specified by one of the derived Measure classes (e.g. MEpoch). It is derived from MRBase, which describes the class.

MeasRef containres are created using the Measure::Ref class (e.g. MDirection::Ref).

Example

See Measure for an example

Motivation

To gather all reference frame information in the one class.

Definition at line 43 of file MeasRef.h.

Constructor & Destructor Documentation

template<class Ms>
casacore::MeasRef< Ms >::MeasRef ( )

Construct an empty MeasRef.

I.e. it will have a standard, default, type; no offsets and Frame.

template<class Ms>
casacore::MeasRef< Ms >::MeasRef ( const MeasRef< Ms > &  other)

Copy constructor.

template<class Ms>
casacore::MeasRef< Ms >::MeasRef ( const uInt  tp)
explicit

Construct a reference with specified type, offset and Frame.


Caution: The following should really be (and should still be called as), but compiler does not accept it, due to incomplete definition when called in MeasBase:
MeasRef(Ms::Types tp); Furthermore, default arguments are not supported with templated classes:

template<class Ms>
casacore::MeasRef< Ms >::MeasRef ( const uInt  tp,
const Ms &  ep 
)
template<class Ms>
casacore::MeasRef< Ms >::MeasRef ( const uInt  tp,
const MeasFrame mf 
)
template<class Ms>
casacore::MeasRef< Ms >::MeasRef ( const uInt  tp,
const MeasFrame mf,
const Ms &  ep 
)
template<class Ms>
casacore::MeasRef< Ms >::~MeasRef ( )

Member Function Documentation

template<class Ms>
MeasRef casacore::MeasRef< Ms >::copy ( )
private

Copy an instance.

template<class Ms>
void casacore::MeasRef< Ms >::create ( )
private

Create an instance of MeasRef.

template<class Ms>
virtual Bool casacore::MeasRef< Ms >::empty ( ) const
virtual

Check if empty reference.

Implements casacore::MRBase.

template<class Ms>
static const MeasFrame& casacore::MeasRef< Ms >::frameComet ( MRBase ref1,
MRBase ref2 
)
static
template<class Ms>
static const MeasFrame& casacore::MeasRef< Ms >::frameDirection ( MRBase ref1,
MRBase ref2 
)
static
template<class Ms>
static const MeasFrame& casacore::MeasRef< Ms >::frameEpoch ( MRBase ref1,
MRBase ref2 
)
static
template<class Ms>
static const MeasFrame& casacore::MeasRef< Ms >::framePosition ( MRBase ref1,
MRBase ref2 
)
static

Return the first frame which has specified information.

Checking is done in argument order.

Thrown Exceptions

  • AipsError if neither reference has a frame or the proper type
template<class Ms>
static const MeasFrame& casacore::MeasRef< Ms >::frameRadialVelocity ( MRBase ref1,
MRBase ref2 
)
static
template<class Ms>
virtual MeasFrame& casacore::MeasRef< Ms >::getFrame ( )
virtual

Return the frame of reference.

Implements casacore::MRBase.

template<class Ms>
virtual uInt casacore::MeasRef< Ms >::getType ( ) const
virtual

Return the type of the reference
Caution: the following should really be (and should be interpreted as), but cannot create a virtual function:
Ms::Types getType();

Implements casacore::MRBase.

Referenced by casacore::SDPointingHandler::directionRefType().

template<class Ms>
virtual const Measure* casacore::MeasRef< Ms >::offset ( ) const
virtual

Return the offset (or 0)

Implements casacore::MRBase.

template<class Ms>
Bool casacore::MeasRef< Ms >::operator!= ( const MeasRef< Ms > &  other) const

Check if unequal MeasRef.

template<class Ms>
MeasRef& casacore::MeasRef< Ms >::operator= ( const MeasRef< Ms > &  other)

Copy assignment.

template<class Ms>
Bool casacore::MeasRef< Ms >::operator== ( const MeasRef< Ms > &  other) const

Check if same MeasRef.

template<class Ms>
virtual void casacore::MeasRef< Ms >::print ( ostream &  os) const
virtual

Print a Measure.

Implements casacore::MRBase.

template<class Ms>
virtual void casacore::MeasRef< Ms >::set ( uInt  tp)
virtual

Implements casacore::MRBase.

template<class Ms>
void casacore::MeasRef< Ms >::set ( const Ms &  ep)

Set a new offset.

template<class Ms>
void casacore::MeasRef< Ms >::set ( const Measure ep)

Set a new offset (for internal use only)

template<class Ms>
virtual void casacore::MeasRef< Ms >::set ( const MeasFrame mf)
virtual

Set a new frame.

Implements casacore::MRBase.

template<class Ms>
virtual void casacore::MeasRef< Ms >::setType ( uInt  tp)
virtual

Set the type.

Thrown Exceptions


Caution: the following should really be (and should be called as), but compiler does not accept it, since a virtual function:
void set(Ms::Types tp);

Implements casacore::MRBase.

template<class Ms>
static const String& casacore::MeasRef< Ms >::showMe ( )
static

Check the type of Measure the reference can be used for.

Member Data Documentation

template<class Ms>
CountedPtr<RefRep> casacore::MeasRef< Ms >::rep_p
private

Definition at line 199 of file MeasRef.h.


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