casa
$Rev:20696$
|
MFrequency conversion routines. More...
#include <MCFrequency.h>
Public Member Functions | |
MCFrequency () | |
Default constructor. | |
~MCFrequency () | |
Static Public Member Functions | |
static String | showState () |
Show the state of the conversion engine (mainly for debugging purposes) | |
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, REST_LSRK, LSRK_REST, N_Routes } |
The list of actual routines provided. More... | |
Private Member Functions | |
MCFrequency (const MCFrequency &other) | |
Copy constructor (not implemented) | |
MCFrequency & | operator= (const MCFrequency &other) |
Assignment (not implemented) | |
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 frequency from one reference frame to another. | |
void | doConvert (MVFrequency &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. | |
Private Attributes | |
MVPosition * | MVPOS1 |
MVDirection * | MVDIR1 |
Aberration * | ABERFROM |
Aberration * | ABERTO |
Static Private Attributes | |
static uInt | ToRef_p [N_Routes][3] |
Transition list. | |
static uInt | FromTo_p [MFrequency::N_Types][MFrequency::N_Types] |
Transition matrix. | |
static MutexedInit | theirMutexedInit |
Mutex for thread-safety. | |
Friends | |
class | MeasConvert< MFrequency > |
Conversion of data. |
MFrequency conversion routines.
Internal
<h3>Review Status</h3><dl><dt>Reviewed By:<dd>UNKNOWN<dt>Date Reviewed:<dd>before2004/08/25<dt>Test programs:<dd>tMeasure</dl>
Measure, Convert and Frequency
Contains state machinery and caching for actual conversions
Get the Doppler shift for an oberved HI frequency of 1380 MHz
#include <measures/Measures.h> #include <measures/Measures/MDoppler.h> #include <measures/Measures/MFrequency.h> cout << "Redshift for 1380 MHz: " << MDoppler::Convert( MFrequency( Quantity(1380., "MHz"), MFrequency::TOPO).toDoppler(QC::HI), MDoppler::Z)() << endl;
Definition at line 93 of file MCFrequency.h.
enum casa::MCFrequency::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;
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 | |
REST_LSRK | |
LSRK_REST | |
N_Routes |
Reimplemented from casa::MCBase.
Definition at line 118 of file MCFrequency.h.
Default constructor.
casa::MCFrequency::MCFrequency | ( | const MCFrequency & | other | ) | [private] |
Copy constructor (not implemented)
virtual void casa::MCFrequency::clearConvert | ( | ) | [private, virtual] |
Delete the pointers used in the MeasConvert help structure cache.
Implements casa::MCBase.
virtual void casa::MCFrequency::doConvert | ( | MeasValue & | in, |
MRBase & | inref, | ||
MRBase & | outref, | ||
const MConvertBase & | mc | ||
) | [private, virtual] |
Routine to convert frequency from one reference frame to another.
Implements casa::MCBase.
void casa::MCFrequency::doConvert | ( | MVFrequency & | in, |
MRBase & | inref, | ||
MRBase & | outref, | ||
const MConvertBase & | mc | ||
) | [private] |
Conversion routine to cater for inheritance question.
static void casa::MCFrequency::doFillState | ( | void * | ) | [static, private] |
Fill the global state in a thread-safe way.
static void casa::MCFrequency::fillState | ( | ) | [inline, static, private] |
Fill the global state in a thread-safe way.
Definition at line 160 of file MCFrequency.h.
References casa::MutexedInit::exec(), and theirMutexedInit.
virtual void casa::MCFrequency::getConvert | ( | MConvertBase & | mc, |
const MRBase & | inref, | ||
const MRBase & | outref | ||
) | [private, virtual] |
Create conversion function pointer.
Implements casa::MCBase.
virtual void casa::MCFrequency::initConvert | ( | uInt | which, |
MConvertBase & | mc | ||
) | [private, virtual] |
Create help structures for Measure conversion routines.
Implements casa::MCBase.
MCFrequency& casa::MCFrequency::operator= | ( | const MCFrequency & | other | ) | [private] |
Assignment (not implemented)
static String casa::MCFrequency::showState | ( | ) | [static] |
Show the state of the conversion engine (mainly for debugging purposes)
friend class MeasConvert< MFrequency > [friend] |
Conversion of data.
Definition at line 98 of file MCFrequency.h.
Aberration* casa::MCFrequency::ABERFROM [private] |
Definition at line 148 of file MCFrequency.h.
Aberration* casa::MCFrequency::ABERTO [private] |
Definition at line 149 of file MCFrequency.h.
uInt casa::MCFrequency::FromTo_p[MFrequency::N_Types][MFrequency::N_Types] [static, private] |
Transition matrix.
Definition at line 155 of file MCFrequency.h.
MVDirection* casa::MCFrequency::MVDIR1 [private] |
Definition at line 147 of file MCFrequency.h.
MVPosition* casa::MCFrequency::MVPOS1 [private] |
Definition at line 146 of file MCFrequency.h.
MutexedInit casa::MCFrequency::theirMutexedInit [static, private] |
uInt casa::MCFrequency::ToRef_p[N_Routes][3] [static, private] |
Transition list.
Definition at line 153 of file MCFrequency.h.