casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends
casa::MCEpoch Class Reference

MEpoch conversion routines. More...

#include <MCEpoch.h>

Inheritance diagram for casa::MCEpoch:
casa::MCBase

List of all members.

Public Member Functions

 MCEpoch ()
 Default constructor.
 ~MCEpoch ()

Static Public Member Functions

static String showState ()
 Show the state of the conversion engine (mainly for debugging purposes)

Private Types

enum  Routes {
  LAST_GAST,
  GAST_LAST,
  LMST_GMST1,
  GMST1_LMST,
  GMST1_UT1,
  UT1_GMST1,
  GAST_UT1,
  UT1_GAST,
  UT1_UTC,
  UTC_UT1,
  UT1_UT2,
  UT2_UT1,
  UTC_TAI,
  TAI_UTC,
  TAI_TDT,
  TDT_TAI,
  TDT_TDB,
  TDB_TDT,
  TDT_TCG,
  TCG_TDT,
  TDB_TCB,
  TCB_TDB,
  N_Routes,
  RAZING
}
 The list of actual routines provided. More...

Private Member Functions

 MCEpoch (const MCEpoch &other)
 Copy constructor (not implemented)
MCEpochoperator= (const MCEpoch &other)
 Assignment (not implemented)
virtual void getConvert (MConvertBase &mc, const MRBase &inref, const MRBase &outref)
 Create conversion function pointer.
virtual void initConvert (uInt which, MConvertBase &mc)
 Create help structures for Measure conversion routines.
virtual void clearConvert ()
 Delete the pointers used in the MeasConvert help structure cache.
virtual void doConvert (MeasValue &in, MRBase &inref, MRBase &outref, const MConvertBase &mc)
 Routine to convert time from one reference frame to another.
void doConvert (MVEpoch &in, MRBase &inref, MRBase &outref, const MConvertBase &mc)
 Conversion routine to cater for inheritance question.

Static Private Member Functions

static void fillState ()
 Fill the global state in a thread-safe way.
static void doFillState (void *)
 Fill the global state in a thread-safe way.

Private Attributes

NutationNUTATFROM
NutationNUTATTO

Static Private Attributes

static uInt ToRef_p [N_Routes][3]
 Transition list.
static uInt FromTo_p [MEpoch::N_Types][MEpoch::N_Types]
 Transition matrix.
static MutexedInit theirMutexedInit
 Mutex for thread-safety.

Friends

class MeasConvert< MEpoch >

Detailed Description

MEpoch conversion routines.

Intended use:

Internal

 <h3>Review Status</h3><dl><dt>Reviewed By:<dd>UNKNOWN<dt>Date Reviewed:<dd>before2004/08/25<dt>Test programs:<dd>tMeasure</dl> 

Prerequisite

Etymology

Measure, Convert and Epoch

Synopsis

Contains state machinery and caching for actual conversions

Example

Convert (with all steps explicit) a UTC to an IAT time.

        #include <measures/Measures.h>
        #include <measures/Measures/MEpoch.h>
        #include <measures/Measures/MCEpoch.h>
        cout << "TAI for UTC = MJD(50237.29): " <<
                MEpoch::Convert(MEpoch(MVEpoch(Quantity(50237.29, "d")),
                                       MEpoch::Ref(MEpoch::UTC)),
                                MEpoch::Ref(MEpoch::TAI))() <<
                endl;

Motivation

To Do

Definition at line 92 of file MCEpoch.h.


Member Enumeration Documentation

enum casa::MCEpoch::Routes [private]

The list of actual routines provided.


Warning: Each AA_BB in the list points to routine that can be used in the FromTo list in the getConvert routine; In addition the type to which each is converted should be in the ToRef array, again in the proper order;

Enumerator:
LAST_GAST 
GAST_LAST 
LMST_GMST1 
GMST1_LMST 
GMST1_UT1 
UT1_GMST1 
GAST_UT1 
UT1_GAST 
UT1_UTC 
UTC_UT1 
UT1_UT2 
UT2_UT1 
UTC_TAI 
TAI_UTC 
TAI_TDT 
TDT_TAI 
TDT_TDB 
TDB_TDT 
TDT_TCG 
TCG_TDT 
TDB_TCB 
TCB_TDB 
N_Routes 
RAZING 

Reimplemented from casa::MCBase.

Definition at line 117 of file MCEpoch.h.


Constructor & Destructor Documentation

Default constructor.

casa::MCEpoch::MCEpoch ( const MCEpoch other) [private]

Copy constructor (not implemented)


Member Function Documentation

virtual void casa::MCEpoch::clearConvert ( ) [private, virtual]

Delete the pointers used in the MeasConvert help structure cache.

Implements casa::MCBase.

virtual void casa::MCEpoch::doConvert ( MeasValue in,
MRBase inref,
MRBase outref,
const MConvertBase mc 
) [private, virtual]

Routine to convert time from one reference frame to another.

Implements casa::MCBase.

void casa::MCEpoch::doConvert ( MVEpoch in,
MRBase inref,
MRBase outref,
const MConvertBase mc 
) [private]

Conversion routine to cater for inheritance question.

static void casa::MCEpoch::doFillState ( void *  ) [static, private]

Fill the global state in a thread-safe way.

static void casa::MCEpoch::fillState ( ) [inline, static, private]

Fill the global state in a thread-safe way.

Definition at line 165 of file MCEpoch.h.

References casa::MutexedInit::exec(), and theirMutexedInit.

virtual void casa::MCEpoch::getConvert ( MConvertBase mc,
const MRBase inref,
const MRBase outref 
) [private, virtual]

Create conversion function pointer.

Implements casa::MCBase.

virtual void casa::MCEpoch::initConvert ( uInt  which,
MConvertBase mc 
) [private, virtual]

Create help structures for Measure conversion routines.

Implements casa::MCBase.

MCEpoch& casa::MCEpoch::operator= ( const MCEpoch other) [private]

Assignment (not implemented)

static String casa::MCEpoch::showState ( ) [static]

Show the state of the conversion engine (mainly for debugging purposes)


Friends And Related Function Documentation

friend class MeasConvert< MEpoch > [friend]

Definition at line 97 of file MCEpoch.h.


Member Data Documentation

Transition matrix.

Definition at line 160 of file MCEpoch.h.

Definition at line 153 of file MCEpoch.h.

Definition at line 154 of file MCEpoch.h.

Mutex for thread-safety.

Definition at line 162 of file MCEpoch.h.

Referenced by fillState().

uInt casa::MCEpoch::ToRef_p[N_Routes][3] [static, private]

Transition list.

Definition at line 158 of file MCEpoch.h.


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