casacore
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

More...

#include <MCRadialVelocity.h>

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...
 
MCRadialVelocityoperator= (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

MVPositionMVPOS1
 
MVDirectionMVDIR1
 
AberrationABERFROM
 
AberrationABERTO
 

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

#include <casacore/measures/Measures.h>
#include <casacore/measures/Measures/MRadialVelocity.h>
#include <casacore/measures/Measures/MDoppler.h>
cout << "Redshift for 100 km/s: " <<
MDoppler::Convert(MRadialVelocity(Quantity(100., "km/s"),
MDoppler::Z)() << endl;
MeasConvert< MDoppler > Convert
Measure Convert (i.e.
Definition: MDoppler.h:168
static const Quantum< Double > & HI()
HI line.
Definition: QC.h:188
Quantum< Double > Quantity
Definition: Quantum.h:38

Motivation

Definition at line 93 of file MCRadialVelocity.h.

Member Enumeration Documentation

◆ Routes

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

◆ MCRadialVelocity() [1/2]

casacore::MCRadialVelocity::MCRadialVelocity ( )

Default constructor.

◆ ~MCRadialVelocity()

casacore::MCRadialVelocity::~MCRadialVelocity ( )

◆ MCRadialVelocity() [2/2]

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

Copy constructor (not implemented)

Member Function Documentation

◆ clearConvert()

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

Delete the pointers used in the MeasConvert help structure cache.

Implements casacore::MCBase.

◆ doConvert() [1/2]

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.

◆ doConvert() [2/2]

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

Conversion routine to cater for inheritance question.

◆ doFillState()

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

Fill the global state.

Called using theirInitOnce.

◆ getConvert()

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

Create conversion function pointer.

Implements casacore::MCBase.

◆ initConvert()

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

Create help structures for Measure conversion routines.

Implements casacore::MCBase.

◆ operator=()

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

Assignment (not implemented)

◆ showState()

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

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

Friends And Related Function Documentation

◆ MeasConvert< MRadialVelocity >

friend class MeasConvert< MRadialVelocity >
friend

Conversion of data.

Definition at line 1 of file MCRadialVelocity.h.

Member Data Documentation

◆ ABERFROM

Aberration* casacore::MCRadialVelocity::ABERFROM
private

Definition at line 146 of file MCRadialVelocity.h.

◆ ABERTO

Aberration* casacore::MCRadialVelocity::ABERTO
private

Definition at line 147 of file MCRadialVelocity.h.

◆ FromTo_p

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

Transition matrix.

Definition at line 153 of file MCRadialVelocity.h.

◆ MVDIR1

MVDirection* casacore::MCRadialVelocity::MVDIR1
private

Definition at line 145 of file MCRadialVelocity.h.

◆ MVPOS1

MVPosition* casacore::MCRadialVelocity::MVPOS1
private

Definition at line 144 of file MCRadialVelocity.h.

◆ theirInitOnceFlag

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

Object to ensure safe multi-threaded lazy single initialization.

Definition at line 155 of file MCRadialVelocity.h.

◆ ToRef_p

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: