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

MRadialVelocity conversion routines. More...

#include <MCRadialVelocity.h>

Inheritance diagram for casacore::MCRadialVelocity:
casacore::MCBase

Public Member Functions

 MCRadialVelocity ()
 Default constructor. More...
 
 ~MCRadialVelocity ()
 
- Public Member Functions inherited from casacore::MCBase
virtual ~MCBase ()
 

Static Public Member Functions

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

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) More...
 
MCRadialVelocity & operator= (const MCRadialVelocity &other)
 Assignment (not implemented) More...
 
virtual void getConvert (MConvertBase &mc, const MRBase &inref, const MRBase &outref)
 Create conversion function pointer. More...
 
virtual void initConvert (uInt which, MConvertBase &mc)
 Create help structures for Measure conversion routines. More...
 
virtual void clearConvert ()
 Delete the pointers used in the MeasConvert help structure cache. More...
 
virtual void doConvert (MeasValue &in, MRBase &inref, MRBase &outref, const MConvertBase &mc)
 Routine to convert RadialVelocity from one reference frame to another. More...
 
void doConvert (MVRadialVelocity &in, MRBase &inref, MRBase &outref, const MConvertBase &mc)
 Conversion routine to cater for inheritance question. More...
 

Static Private Member Functions

static void doFillState ()
 Fill the global state. More...
 

Private Attributes

MVPosition * MVPOS1
 
MVDirection * MVDIR1
 
Aberration * ABERFROM
 
Aberration * ABERTO
 

Static Private Attributes

static uInt ToRef_p [N_Routes][3]
 Transition list. More...
 
static uInt FromTo_p [MRadialVelocity::N_Types][MRadialVelocity::N_Types]
 Transition matrix. More...
 
static std::once_flag theirInitOnceFlag
 Object to ensure safe multi-threaded lazy single initialization. More...
 

Friends

class MeasConvert< MRadialVelocity >
 Conversion of data. More...
 

Additional Inherited Members

- Public Types inherited from casacore::MCBase
enum  Routes { N_Routes }
 Each derived class should have a list of routines to be called: More...
 
- Static Protected Member Functions inherited from casacore::MCBase
static void makeState (uInt *state, const uInt ntyp, const uInt nrout, const uInt list[][3])
 
The following routines create a state transition matrix from a list

of all defined transitions. More...

 
static String showState (uInt *state, const uInt ntyp, const uInt nrout, const uInt list[][3])
 Return a fromatted String with matrix information (based on < 100 types) More...
 

Detailed Description

MRadialVelocity conversion routines.

Intended use:

Internal

Review Status

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

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

cout << "Redshift for 100 km/s: " <<
MDoppler::Convert(MRadialVelocity(Quantity(100., "km/s"),
MDoppler::Z)() << endl;

Motivation

Definition at line 93 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 

Definition at line 118 of file MCRadialVelocity.h.

Constructor & Destructor Documentation

casacore::MCRadialVelocity::MCRadialVelocity ( )

Default constructor.

casacore::MCRadialVelocity::~MCRadialVelocity ( )
casacore::MCRadialVelocity::MCRadialVelocity ( const MCRadialVelocity &  other)
private

Copy constructor (not implemented)

Member Function Documentation

virtual void casacore::MCRadialVelocity::clearConvert ( )
privatevirtual

Delete the pointers used in the MeasConvert help structure cache.

Implements casacore::MCBase.

virtual void casacore::MCRadialVelocity::doConvert ( MeasValue &  in,
MRBase &  inref,
MRBase &  outref,
const MConvertBase &  mc 
)
privatevirtual

Routine to convert RadialVelocity from one reference frame to another.

Implements casacore::MCBase.

void casacore::MCRadialVelocity::doConvert ( MVRadialVelocity &  in,
MRBase &  inref,
MRBase &  outref,
const MConvertBase &  mc 
)
private

Conversion routine to cater for inheritance question.

static void casacore::MCRadialVelocity::doFillState ( )
staticprivate

Fill the global state.

Called using theirInitOnce.

virtual void casacore::MCRadialVelocity::getConvert ( MConvertBase &  mc,
const MRBase &  inref,
const MRBase &  outref 
)
privatevirtual

Create conversion function pointer.

Implements casacore::MCBase.

virtual void casacore::MCRadialVelocity::initConvert ( uInt  which,
MConvertBase &  mc 
)
privatevirtual

Create help structures for Measure conversion routines.

Implements casacore::MCBase.

MCRadialVelocity& casacore::MCRadialVelocity::operator= ( const MCRadialVelocity &  other)
private

Assignment (not implemented)

static String casacore::MCRadialVelocity::showState ( )
static

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 98 of file MCRadialVelocity.h.

Member Data Documentation

Aberration* casacore::MCRadialVelocity::ABERFROM
private

Definition at line 146 of file MCRadialVelocity.h.

Aberration* casacore::MCRadialVelocity::ABERTO
private

Definition at line 147 of file MCRadialVelocity.h.

uInt casacore::MCRadialVelocity::FromTo_p[MRadialVelocity::N_Types][MRadialVelocity::N_Types]
staticprivate

Transition matrix.

Definition at line 153 of file MCRadialVelocity.h.

MVDirection* casacore::MCRadialVelocity::MVDIR1
private

Definition at line 145 of file MCRadialVelocity.h.

MVPosition* casacore::MCRadialVelocity::MVPOS1
private

Definition at line 144 of file MCRadialVelocity.h.

std::once_flag casacore::MCRadialVelocity::theirInitOnceFlag
staticprivate

Object to ensure safe multi-threaded lazy single initialization.

Definition at line 155 of file MCRadialVelocity.h.

uInt casacore::MCRadialVelocity::ToRef_p[N_Routes][3]
staticprivate

Transition list.

Definition at line 151 of file MCRadialVelocity.h.


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