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::MCRadialVelocity Class Reference

MRadialVelocity conversion routines. More...

#include <MCRadialVelocity.h>

Inheritance diagram for casa::MCRadialVelocity:
casa::MCBase

List of all members.

Public Member Functions

 MCRadialVelocity ()
 Default constructor.
 ~MCRadialVelocity ()

Static Public Member Functions

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

Private Types

enum  Routes {
  LSRD_BARY,
  BARY_LSRD,
  BARY_GEO,
  GEO_TOPO,
  GEO_BARY,
  TOPO_GEO,
  LSRD_GALACTO,
  GALACTO_LSRD,
  LSRK_BARY,
  BARY_LSRK,
  BARY_LGROUP,
  LGROUP_BARY,
  BARY_CMB,
  CMB_BARY,
  N_Routes
}
 The list of actual routines provided. More...

Private Member Functions

 MCRadialVelocity (const MCRadialVelocity &other)
 Copy constructor (not implemented)
MCRadialVelocityoperator= (const MCRadialVelocity &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 RadialVelocity from one reference frame to another.
void doConvert (MVRadialVelocity &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

MVPositionMVPOS1
MVDirectionMVDIR1
AberrationABERFROM
AberrationABERTO

Static Private Attributes

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

Friends

class MeasConvert< MRadialVelocity >
 Conversion of data.

Detailed Description

MRadialVelocity 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 RadialVelocity

Synopsis

Contains state machinery and cashing for actual conversions

Example

Get the Doppler shift for an oberved HI RadialVelocity of 100 km/s

        #include <measures/Measures.h>
        #include <measures/Measures/MRadialVelocity.h>
        #include <measures/Measures/MDoppler.h>
        cout << "Redshift for 100 km/s: " <<
                MDoppler::Convert( MRadialVelocity( Quantity(100., "km/s"),
                                      MRadialVelocity::TOPO).toDoppler(QC::HI),
                                   MDoppler::Z)() << endl;

Motivation

Definition at line 92 of file MCRadialVelocity.h.


Member Enumeration Documentation

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:
LSRD_BARY 
BARY_LSRD 
BARY_GEO 
GEO_TOPO 
GEO_BARY 
TOPO_GEO 
LSRD_GALACTO 
GALACTO_LSRD 
LSRK_BARY 
BARY_LSRK 
BARY_LGROUP 
LGROUP_BARY 
BARY_CMB 
CMB_BARY 
N_Routes 

Reimplemented from casa::MCBase.

Definition at line 117 of file MCRadialVelocity.h.


Constructor & Destructor Documentation

Default constructor.

Copy constructor (not implemented)


Member Function Documentation

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

Delete the pointers used in the MeasConvert help structure cache.

Implements casa::MCBase.

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

Routine to convert RadialVelocity from one reference frame to another.

Implements casa::MCBase.

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

Conversion routine to cater for inheritance question.

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

Fill the global state in a thread-safe way.

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

Fill the global state in a thread-safe way.

Definition at line 157 of file MCRadialVelocity.h.

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

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

Create conversion function pointer.

Implements casa::MCBase.

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

Create help structures for Measure conversion routines.

Implements casa::MCBase.

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

Assignment (not implemented)

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


Friends And Related Function Documentation

friend class MeasConvert< MRadialVelocity > [friend]

Conversion of data.

Definition at line 97 of file MCRadialVelocity.h.


Member Data Documentation

Definition at line 145 of file MCRadialVelocity.h.

Definition at line 146 of file MCRadialVelocity.h.

Transition matrix.

Definition at line 152 of file MCRadialVelocity.h.

Definition at line 144 of file MCRadialVelocity.h.

Definition at line 143 of file MCRadialVelocity.h.

Mutex for thread-safety.

Definition at line 154 of file MCRadialVelocity.h.

Referenced by fillState().

Transition list.

Definition at line 150 of file MCRadialVelocity.h.


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