casacore
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Static Private Attributes | Friends | List of all members

More...

#include <MCDoppler.h>

Public Member Functions

 MCDoppler ()
 Default constructor. More...
 
 ~MCDoppler ()
 
- 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 {
  RADIO_RATIO ,
  Z_RATIO ,
  BETA_RATIO ,
  GAMMA_RATIO ,
  RATIO_RADIO ,
  RATIO_Z ,
  RATIO_BETA ,
  RATIO_GAMMA ,
  N_Routes
}
 The list of actual routines provided. More...
 

Private Member Functions

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 Doppler from one reference frame to another. More...
 
void doConvert (MVDoppler &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...
 

Static Private Attributes

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

Friends

class MeasConvert< MDoppler >
 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

MDoppler conversion routines

Intended use:

Internal

Review Status

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

Prerequisite

Etymology

Measure, Convert and Doppler

Synopsis

Contains state machinery and caching for actual conversions

Example

Conversion of a radio Doppler to an optical

#include <casacore/measures/Measures.h>
#include <casacore/measures/Measures/MDoppler.h>
MDoppler radio(0.01); // A radio Doppler value
cout << "Doppler radio = " << radio << "; optical = " <<
MDoppler::Convert(radio, MDoppler::OPTICAL)() << // Convert
endl;
MeasConvert< MDoppler > Convert
Measure Convert (i.e.
Definition: MDoppler.h:168

Setting up a conversion

for (Double d=0; d<0.1; d += 0.005) {
cout << "radio = " << d << " to optical = " <<
to_opt(d) << endl;
double Double
Definition: aipstype.h:55

Motivation

Definition at line 96 of file MCDoppler.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
RADIO_RATIO 
Z_RATIO 
BETA_RATIO 
GAMMA_RATIO 
RATIO_RADIO 
RATIO_Z 
RATIO_BETA 
RATIO_GAMMA 
N_Routes 

Definition at line 123 of file MCDoppler.h.

Constructor & Destructor Documentation

◆ MCDoppler()

casacore::MCDoppler::MCDoppler ( )

Default constructor.

◆ ~MCDoppler()

casacore::MCDoppler::~MCDoppler ( )

Member Function Documentation

◆ clearConvert()

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

Delete the pointers used in the MeasConvert help structure cache.

Implements casacore::MCBase.

◆ doConvert() [1/2]

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

Routine to convert Doppler from one reference frame to another.

Implements casacore::MCBase.

◆ doConvert() [2/2]

void casacore::MCDoppler::doConvert ( MVDoppler in,
MRBase inref,
MRBase outref,
const MConvertBase mc 
)
private

Conversion routine to cater for inheritance question.

◆ doFillState()

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

Fill the global state.

Called using theirInitOnce.

◆ getConvert()

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

Create conversion function pointer.

Implements casacore::MCBase.

◆ initConvert()

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

Create help structures for Measure conversion routines.

Implements casacore::MCBase.

◆ showState()

static String casacore::MCDoppler::showState ( )
static

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

Friends And Related Function Documentation

◆ MeasConvert< MDoppler >

friend class MeasConvert< MDoppler >
friend

Conversion of data.

Definition at line 1 of file MCDoppler.h.

Member Data Documentation

◆ FromTo_p

uInt casacore::MCDoppler::FromTo_p[MDoppler::N_Types][MDoppler::N_Types]
staticprivate

Transition matrix.

Definition at line 148 of file MCDoppler.h.

◆ theirInitOnceFlag

std::once_flag casacore::MCDoppler::theirInitOnceFlag
staticprivate

Object to ensure safe multi-threaded lazy single initialization.

Definition at line 150 of file MCDoppler.h.

◆ ToRef_p

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

Transition list.

Definition at line 146 of file MCDoppler.h.


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