casacore
Loading...
Searching...
No Matches

More...

#include <MCDirection.h>

Public Member Functions

 MCDirection ()
 Default constructor.
 
 ~MCDirection ()
 
- 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 {
  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 ,
  R_PLANET0 ,
  R_PLANET ,
  R_COMET0 ,
  R_COMET ,
  R_MERCURY ,
  R_VENUS ,
  R_MARS ,
  R_JUPITER ,
  R_SATURN ,
  R_URANUS ,
  R_NEPTUNE ,
  R_PLUTO ,
  R_SUN ,
  R_MOON
}
 The list of actual routines provided. More...
 

Private Member Functions

 MCDirection (const MCDirection &other)
 Copy constructor (not implemented)
 
MCDirectionoperator= (const MCDirection &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)
 Routines to convert directions from one reference frame to another.
 
void doConvert (MVDirection &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

MVPositionMVPOS1
 
MVPositionMVPOS2
 
MVPositionMVPOS3
 
Vector< Double > * VEC61
 
Vector< Double > * VEC62
 
Vector< Double > * VEC63
 
MeasMath measMath
 

Static Private Attributes

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

Friends

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

MDirection conversion routines

Intended use:

Internal

Review Status

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

Prerequisite

Etymology

Measure, Convert and Direction

Synopsis

Contains state machinery and caching for actual conversions

Example

See Measures module description for conversion examples.

Motivation

To Do

  • nothing I know

Definition at line 83 of file MCDirection.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 
R_PLANET0 

General for Planets.

R_PLANET 
R_COMET0 
R_COMET 
R_MERCURY 

Individual planets.

Order should be the same as in MDirection.h

R_VENUS 
R_MARS 
R_JUPITER 
R_SATURN 
R_URANUS 
R_NEPTUNE 
R_PLUTO 
R_SUN 
R_MOON 

Definition at line 109 of file MCDirection.h.

Constructor & Destructor Documentation

◆ MCDirection() [1/2]

casacore::MCDirection::MCDirection ( )

Default constructor.

◆ ~MCDirection()

casacore::MCDirection::~MCDirection ( )

◆ MCDirection() [2/2]

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

Copy constructor (not implemented)

Member Function Documentation

◆ clearConvert()

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

Delete the pointers used in the MeasConvert help structure cache.

Implements casacore::MCBase.

◆ doConvert() [1/2]

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

Routines to convert directions from one reference frame to another.

Implements casacore::MCBase.

◆ doConvert() [2/2]

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

Conversion routine to cater for inheritance question.

◆ doFillState()

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

Fill the global state.

Called using theirInitOnce.

◆ getConvert()

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

Create conversion function pointer.

Implements casacore::MCBase.

◆ initConvert()

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

Create help structures for Measure conversion routines.

Implements casacore::MCBase.

◆ operator=()

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

Assignment (not implemented)

◆ showState()

static String casacore::MCDirection::showState ( )
static

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

Friends And Related Symbol Documentation

◆ MeasConvert< MDirection >

friend class MeasConvert< MDirection >
friend

Conversion of data.

Definition at line 1 of file MCDirection.h.

Member Data Documentation

◆ FromTo_p

uInt casacore::MCDirection::FromTo_p[MDirection::N_Types][MDirection::N_Types]
staticprivate

Transition matrix.

Definition at line 193 of file MCDirection.h.

◆ measMath

MeasMath casacore::MCDirection::measMath
private

Definition at line 187 of file MCDirection.h.

◆ MVPOS1

MVPosition* casacore::MCDirection::MVPOS1
private

Definition at line 185 of file MCDirection.h.

◆ MVPOS2

MVPosition * casacore::MCDirection::MVPOS2
private

Definition at line 185 of file MCDirection.h.

◆ MVPOS3

MVPosition * casacore::MCDirection::MVPOS3
private

Definition at line 185 of file MCDirection.h.

◆ theirInitOnceFlag

std::once_flag casacore::MCDirection::theirInitOnceFlag
staticprivate

Object to ensure safe multi-threaded lazy single initialization.

Definition at line 195 of file MCDirection.h.

◆ ToRef_p

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

Transition list.

Definition at line 191 of file MCDirection.h.

◆ VEC61

Vector<Double>* casacore::MCDirection::VEC61
private

Definition at line 186 of file MCDirection.h.

◆ VEC62

Vector<Double> * casacore::MCDirection::VEC62
private

Definition at line 186 of file MCDirection.h.

◆ VEC63

Vector<Double> * casacore::MCDirection::VEC63
private

Definition at line 186 of file MCDirection.h.


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