MDoppler conversion routines. More...
#include <MCDoppler.h>
Public Member Functions | |
MCDoppler () | |
Default constructor. | |
~MCDoppler () | |
Static Public Member Functions | |
static String | showState () |
Show the state of the conversion engine (mainly for debugging purposes). | |
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. | |
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 Doppler from one reference frame to another. | |
void | doConvert (MVDoppler &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. | |
Static Private Attributes | |
static uInt | ToRef_p [N_Routes][3] |
Transition list. | |
static uInt | FromTo_p [MDoppler::N_Types][MDoppler::N_Types] |
Transition matrix. | |
static MutexedInit | theirMutexedInit |
Mutex for thread-safety. | |
Friends | |
class | MeasConvert< MDoppler > |
Conversion of data. |
MDoppler conversion routines.
Internal
Measure, Convert and Doppler
Contains state machinery and caching for actual conversions
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;
Setting up a conversion
MDoppler::Convert to_opt(MDoppler::RADIO, MDoppler::OPTICAL); for (Double d=0; d<0.1; d += 0.005) { cout << "radio = " << d << " to optical = " << to_opt(d) << endl;
Definition at line 95 of file MCDoppler.h.
enum casacore::MCDoppler::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;
RADIO_RATIO | |
Z_RATIO | |
BETA_RATIO | |
GAMMA_RATIO | |
RATIO_RADIO | |
RATIO_Z | |
RATIO_BETA | |
RATIO_GAMMA | |
N_Routes |
Reimplemented from casacore::MCBase.
Definition at line 122 of file MCDoppler.h.
casacore::MCDoppler::MCDoppler | ( | ) |
Default constructor.
casacore::MCDoppler::~MCDoppler | ( | ) |
virtual void casacore::MCDoppler::clearConvert | ( | ) | [private, virtual] |
Delete the pointers used in the MeasConvert help structure cache.
Implements casacore::MCBase.
void casacore::MCDoppler::doConvert | ( | MVDoppler & | in, | |
MRBase & | inref, | |||
MRBase & | outref, | |||
const MConvertBase & | mc | |||
) | [private] |
Conversion routine to cater for inheritance question.
virtual void casacore::MCDoppler::doConvert | ( | MeasValue & | in, | |
MRBase & | inref, | |||
MRBase & | outref, | |||
const MConvertBase & | mc | |||
) | [private, virtual] |
Routine to convert Doppler from one reference frame to another.
Implements casacore::MCBase.
static void casacore::MCDoppler::doFillState | ( | void * | ) | [static, private] |
Fill the global state in a thread-safe way.
static void casacore::MCDoppler::fillState | ( | ) | [inline, static, private] |
Fill the global state in a thread-safe way.
Definition at line 152 of file MCDoppler.h.
References casacore::MutexedInit::exec(), and theirMutexedInit.
virtual void casacore::MCDoppler::getConvert | ( | MConvertBase & | mc, | |
const MRBase & | inref, | |||
const MRBase & | outref | |||
) | [private, virtual] |
Create conversion function pointer.
Implements casacore::MCBase.
virtual void casacore::MCDoppler::initConvert | ( | uInt | which, | |
MConvertBase & | mc | |||
) | [private, virtual] |
Create help structures for Measure conversion routines.
Implements casacore::MCBase.
static String casacore::MCDoppler::showState | ( | ) | [static] |
Show the state of the conversion engine (mainly for debugging purposes).
friend class MeasConvert< MDoppler > [friend] |
Conversion of data.
Definition at line 101 of file MCDoppler.h.
uInt casacore::MCDoppler::FromTo_p[MDoppler::N_Types][MDoppler::N_Types] [static, private] |
Transition matrix.
Definition at line 147 of file MCDoppler.h.
MutexedInit casacore::MCDoppler::theirMutexedInit [static, private] |
uInt casacore::MCDoppler::ToRef_p[N_Routes][3] [static, private] |
Transition list.
Definition at line 145 of file MCDoppler.h.