Base for Reference frame for physical measures
Intended use:
Internal
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
- Test programs:
- tMeasure
Prerequisite
Etymology
From Measure and Reference and Base
Synopsis
MRBase is the abstract base class for reference frames. Reference frames are specified (see Measure) as Measure::Ref
(e.g. MEpoch::Ref
).
A Measure::Ref is a container for type indicators, (e.g. MDirection::J2000
), an optional offset (e.g. beginning of year), and, if necessary, a MeasFrame.
A MeasFrame consists of one or more Measures specifying the reference frame (e.g. an MPosition for a sidereal time definition). A time (MEpoch) could e.g. have a type MEpoch::TAI
, and an MEpoch as offset:
It is obvious that a circular reference between Measure and Measure::Ref is possible. Therefore, each Measure has a default reference (necessary anyway to be able to start a Measure chain). For MEpoch the default is e.g. an MJD in UTC; and the default Measure for an MEpoch reference is 0.
References are copied by reference; i.e. a reference can be used in many places without overhead.
Some Measure::Ref
could need additional conversion information (example: type of Nutation calculations). They are provided by Aipsrc keywords.
All constructors are related to a specific Measure, to be able to check relations at compile time.
Example
See Measure for an example
Motivation
To gather all reference frame information in the one class.
Definition at line 103 of file MRBase.h.