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.
1.6.1