casacore
Loading...
Searching...
No Matches

More...

#include <MCFrequency.h>

Public Member Functions

 MCFrequency ()
 Default constructor.
 ~MCFrequency ()
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).

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 doFillState ()
 Fill the global state.

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 std::once_flag theirInitOnceFlag
 Object to ensure safe multi-threaded lazy single initialization.

Friends

class MeasConvert< MFrequency >
 Conversion of data.

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

Detailed Description

MFrequency conversion routines

Intended use:

Internal

Review Status

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

Prerequisite

Etymology

Measure, Convert and Frequency

Synopsis

Contains state machinery and caching for actual conversions

Example

Get the Doppler shift for an oberved HI frequency of 1380 MHz

#include <casacore/measures/Measures.h>
#include <casacore/measures/Measures/MDoppler.h>
#include <casacore/measures/Measures/MFrequency.h>
cout << "Redshift for 1380 MHz: " <<
MDoppler::Z)() << endl;
MeasConvert< MDoppler > Convert
Measure Convert (i.e.
Definition MDoppler.h:165
static const Quantum< Double > & HI()
HI line.
Definition QC.h:186
Quantum< Double > Quantity
Definition Quantum.h:39

Motivation

Definition at line 89 of file MCFrequency.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 
REST_LSRK 
LSRK_REST 
N_Routes 

Definition at line 114 of file MCFrequency.h.

Constructor & Destructor Documentation

◆ MCFrequency() [1/2]

casacore::MCFrequency::MCFrequency ( )

Default constructor.

Referenced by MCFrequency(), MeasConvert< MFrequency >, and operator=().

◆ ~MCFrequency()

casacore::MCFrequency::~MCFrequency ( )

◆ MCFrequency() [2/2]

casacore::MCFrequency::MCFrequency ( const MCFrequency & other)
private

Copy constructor (not implemented).

References MCFrequency().

Member Function Documentation

◆ clearConvert()

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

Delete the pointers used in the MeasConvert help structure cache.

Implements casacore::MCBase.

◆ doConvert() [1/2]

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

Routine to convert frequency from one reference frame to another.

Implements casacore::MCBase.

◆ doConvert() [2/2]

void casacore::MCFrequency::doConvert ( MVFrequency & in,
MRBase & inref,
MRBase & outref,
const MConvertBase & mc )
private

Conversion routine to cater for inheritance question.

◆ doFillState()

void casacore::MCFrequency::doFillState ( )
staticprivate

Fill the global state.

Called using theirInitOnce.

◆ getConvert()

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

Create conversion function pointer.

Implements casacore::MCBase.

◆ initConvert()

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

Create help structures for Measure conversion routines.

Implements casacore::MCBase.

◆ operator=()

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

Assignment (not implemented).

References MCFrequency().

◆ showState()

String casacore::MCFrequency::showState ( )
static

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

◆ MeasConvert< MFrequency >

friend class MeasConvert< MFrequency >
friend

Conversion of data.

Definition at line 1 of file MCFrequency.h.

References MCFrequency().

Member Data Documentation

◆ ABERFROM

Aberration* casacore::MCFrequency::ABERFROM
private

Definition at line 144 of file MCFrequency.h.

◆ ABERTO

Aberration* casacore::MCFrequency::ABERTO
private

Definition at line 145 of file MCFrequency.h.

◆ FromTo_p

uInt casacore::MCFrequency::FromTo_p[MFrequency::N_Types][MFrequency::N_Types]
staticprivate

Transition matrix.

Definition at line 151 of file MCFrequency.h.

◆ MVDIR1

MVDirection* casacore::MCFrequency::MVDIR1
private

Definition at line 143 of file MCFrequency.h.

◆ MVPOS1

MVPosition* casacore::MCFrequency::MVPOS1
private

Definition at line 142 of file MCFrequency.h.

◆ theirInitOnceFlag

std::once_flag casacore::MCFrequency::theirInitOnceFlag
staticprivate

Object to ensure safe multi-threaded lazy single initialization.

Definition at line 153 of file MCFrequency.h.

◆ ToRef_p

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

Transition list.

Definition at line 149 of file MCFrequency.h.


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