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

More...

#include <MCuvw.h>

Public Member Functions

 MCuvw ()
 Default constructor. More...
 
 ~MCuvw ()
 
- 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 {
  GAL_J2000 ,
  GAL_B1950 ,
  J2000_GAL ,
  B1950_GAL ,
  J2000_B1950 ,
  J2000_B1950_VLA ,
  B1950_J2000 ,
  B1950_VLA_J2000 ,
  B1950_B1950_VLA ,
  B1950_VLA_B1950 ,
  J2000_JMEAN ,
  B1950_BMEAN ,
  JMEAN_J2000 ,
  JMEAN_JTRUE ,
  BMEAN_B1950 ,
  BMEAN_BTRUE ,
  JTRUE_JMEAN ,
  BTRUE_BMEAN ,
  J2000_JNAT ,
  JNAT_J2000 ,
  B1950_APP ,
  APP_B1950 ,
  APP_TOPO ,
  HADEC_AZEL ,
  HADEC_AZELGEO ,
  AZEL_HADEC ,
  AZELGEO_HADEC ,
  HADEC_TOPO ,
  AZEL_AZELSW ,
  AZELGEO_AZELSWGEO ,
  AZELSW_AZEL ,
  AZELSWGEO_AZELGEO ,
  APP_JNAT ,
  JNAT_APP ,
  J2000_ECLIP ,
  ECLIP_J2000 ,
  JMEAN_MECLIP ,
  MECLIP_JMEAN ,
  JTRUE_TECLIP ,
  TECLIP_JTRUE ,
  GAL_SUPERGAL ,
  SUPERGAL_GAL ,
  ITRF_HADEC ,
  HADEC_ITRF ,
  TOPO_HADEC ,
  TOPO_APP ,
  ICRS_J2000 ,
  J2000_ICRS ,
  N_Routes
}
 The list of actual routines provided. More...
 

Private Member Functions

 MCuvw (const MCuvw &other)
 Copy constructor (not implemented) More...
 
MCuvwoperator= (const MCuvw &other)
 Assignment (not implemented) More...
 
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)
 Routines to convert uvws from one reference frame to another. More...
 
void doConvert (MVuvw &in, MRBase &inref, MRBase &outref, const MConvertBase &mc)
 Conversion routine to cater for inheritance question. More...
 
void getAPP ()
 Get the correct belonging direction from the frame. More...
 
void getJ2000 ()
 
void getB1950 ()
 
void toPole (MVPosition &in)
 Rotate from direction to pole. More...
 
void fromPole (MVPosition &in)
 Rotate from pole to direction. More...
 

Static Private Member Functions

static void doFillState ()
 Fill the global state. More...
 

Private Attributes

MeasMath measMath
 Calculation class. More...
 
MVDirection MVDIR1
 Belonging direction. More...
 

Static Private Attributes

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

Friends

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

Muvw conversion routines

Intended use:

Internal

Review Status

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

Prerequisite

Etymology

Measure, Convert and uvw

Synopsis

Contains state machinery and caching for actual conversions

Example

See Measures module description for conversion examples.

Motivation

To Do

Definition at line 86 of file MCuvw.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
GAL_J2000 
GAL_B1950 
J2000_GAL 
B1950_GAL 
J2000_B1950 
J2000_B1950_VLA 
B1950_J2000 
B1950_VLA_J2000 
B1950_B1950_VLA 
B1950_VLA_B1950 
J2000_JMEAN 
B1950_BMEAN 
JMEAN_J2000 
JMEAN_JTRUE 
BMEAN_B1950 
BMEAN_BTRUE 
JTRUE_JMEAN 
BTRUE_BMEAN 
J2000_JNAT 
JNAT_J2000 
B1950_APP 
APP_B1950 
APP_TOPO 
HADEC_AZEL 
HADEC_AZELGEO 
AZEL_HADEC 
AZELGEO_HADEC 
HADEC_TOPO 
AZEL_AZELSW 
AZELGEO_AZELSWGEO 
AZELSW_AZEL 
AZELSWGEO_AZELGEO 
APP_JNAT 
JNAT_APP 
J2000_ECLIP 
ECLIP_J2000 
JMEAN_MECLIP 
MECLIP_JMEAN 
JTRUE_TECLIP 
TECLIP_JTRUE 
GAL_SUPERGAL 
SUPERGAL_GAL 
ITRF_HADEC 
HADEC_ITRF 
TOPO_HADEC 
TOPO_APP 
ICRS_J2000 
J2000_ICRS 
N_Routes 

Definition at line 112 of file MCuvw.h.

Constructor & Destructor Documentation

◆ MCuvw() [1/2]

casacore::MCuvw::MCuvw ( )

Default constructor.

◆ ~MCuvw()

casacore::MCuvw::~MCuvw ( )

◆ MCuvw() [2/2]

casacore::MCuvw::MCuvw ( const MCuvw other)
private

Copy constructor (not implemented)

Member Function Documentation

◆ clearConvert()

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

Delete the pointers used in the MeasConvert help structure cache.

Implements casacore::MCBase.

◆ doConvert() [1/2]

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

Routines to convert uvws from one reference frame to another.

Implements casacore::MCBase.

◆ doConvert() [2/2]

void casacore::MCuvw::doConvert ( MVuvw in,
MRBase inref,
MRBase outref,
const MConvertBase mc 
)
private

Conversion routine to cater for inheritance question.

◆ doFillState()

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

Fill the global state.

Called using theirInitOnce.

◆ fromPole()

void casacore::MCuvw::fromPole ( MVPosition in)
private

Rotate from pole to direction.

◆ getAPP()

void casacore::MCuvw::getAPP ( )
private

Get the correct belonging direction from the frame.

◆ getB1950()

void casacore::MCuvw::getB1950 ( )
private

◆ getConvert()

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

Create conversion function pointer.

Implements casacore::MCBase.

◆ getJ2000()

void casacore::MCuvw::getJ2000 ( )
private

◆ initConvert()

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

Create help structures for Measure conversion routines.

Implements casacore::MCBase.

◆ operator=()

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

Assignment (not implemented)

◆ showState()

static String casacore::MCuvw::showState ( )
static

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

◆ toPole()

void casacore::MCuvw::toPole ( MVPosition in)
private

Rotate from direction to pole.

Friends And Related Function Documentation

◆ MeasConvert< Muvw >

friend class MeasConvert< Muvw >
friend

Conversion of data.

Definition at line 1 of file MCuvw.h.

Member Data Documentation

◆ FromTo_p

uInt casacore::MCuvw::FromTo_p[Muvw::N_Types][Muvw::N_Types]
staticprivate

Transition matrix.

Definition at line 182 of file MCuvw.h.

◆ measMath

MeasMath casacore::MCuvw::measMath
private

Calculation class.

Definition at line 174 of file MCuvw.h.

◆ MVDIR1

MVDirection casacore::MCuvw::MVDIR1
private

Belonging direction.

Definition at line 176 of file MCuvw.h.

◆ theirInitOnceFlag

std::once_flag casacore::MCuvw::theirInitOnceFlag
staticprivate

Object to ensure safe multi-threaded lazy single initialization.

Definition at line 184 of file MCuvw.h.

◆ ToRef_p

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

Transition list.

Definition at line 180 of file MCuvw.h.


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