MDirection conversion routines. More...
#include <MCDirection.h>
Public Member Functions | |
MCDirection () | |
Default constructor. | |
~MCDirection () | |
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). | |
MCDirection & | operator= (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 | 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 |
MVPosition * | MVPOS2 |
MVPosition * | MVPOS3 |
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 MutexedInit | theirMutexedInit |
Mutex for thread-safety. | |
Friends | |
class | MeasConvert< MDirection > |
Conversion of data. |
MDirection conversion routines.
Internal
Measure, Convert and Direction
Contains state machinery and caching for actual conversions
See Measures module description for conversion examples.
Definition at line 86 of file MCDirection.h.
enum casacore::MCDirection::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;
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 |
Reimplemented from casacore::MCBase.
Definition at line 112 of file MCDirection.h.
casacore::MCDirection::MCDirection | ( | ) |
Default constructor.
casacore::MCDirection::~MCDirection | ( | ) |
casacore::MCDirection::MCDirection | ( | const MCDirection & | other | ) | [private] |
Copy constructor (not implemented).
virtual void casacore::MCDirection::clearConvert | ( | ) | [private, virtual] |
Delete the pointers used in the MeasConvert help structure cache.
Implements casacore::MCBase.
void casacore::MCDirection::doConvert | ( | MVDirection & | in, | |
MRBase & | inref, | |||
MRBase & | outref, | |||
const MConvertBase & | mc | |||
) | [private] |
Conversion routine to cater for inheritance question.
virtual void casacore::MCDirection::doConvert | ( | MeasValue & | in, | |
MRBase & | inref, | |||
MRBase & | outref, | |||
const MConvertBase & | mc | |||
) | [private, virtual] |
Routines to convert directions from one reference frame to another.
Implements casacore::MCBase.
static void casacore::MCDirection::doFillState | ( | void * | ) | [static, private] |
Fill the global state in a thread-safe way.
static void casacore::MCDirection::fillState | ( | ) | [inline, static, private] |
Fill the global state in a thread-safe way.
Definition at line 201 of file MCDirection.h.
References casacore::MutexedInit::exec(), and theirMutexedInit.
virtual void casacore::MCDirection::getConvert | ( | MConvertBase & | mc, | |
const MRBase & | inref, | |||
const MRBase & | outref | |||
) | [private, virtual] |
Create conversion function pointer.
Implements casacore::MCBase.
virtual void casacore::MCDirection::initConvert | ( | uInt | which, | |
MConvertBase & | mc | |||
) | [private, virtual] |
Create help structures for Measure conversion routines.
Implements casacore::MCBase.
MCDirection& casacore::MCDirection::operator= | ( | const MCDirection & | other | ) | [private] |
Assignment (not implemented).
static String casacore::MCDirection::showState | ( | ) | [static] |
Show the state of the conversion engine (mainly for debugging purposes).
friend class MeasConvert< MDirection > [friend] |
Conversion of data.
Definition at line 92 of file MCDirection.h.
uInt casacore::MCDirection::FromTo_p[MDirection::N_Types][MDirection::N_Types] [static, private] |
Transition matrix.
Definition at line 196 of file MCDirection.h.
MeasMath casacore::MCDirection::measMath [private] |
Definition at line 190 of file MCDirection.h.
MVPosition* casacore::MCDirection::MVPOS1 [private] |
Definition at line 188 of file MCDirection.h.
MVPosition * casacore::MCDirection::MVPOS2 [private] |
Definition at line 188 of file MCDirection.h.
MVPosition * casacore::MCDirection::MVPOS3 [private] |
Definition at line 188 of file MCDirection.h.
MutexedInit casacore::MCDirection::theirMutexedInit [static, private] |
uInt casacore::MCDirection::ToRef_p[N_Routes][3] [static, private] |
Transition list.
Definition at line 194 of file MCDirection.h.
Vector<Double>* casacore::MCDirection::VEC61 [private] |
Definition at line 189 of file MCDirection.h.
Vector<Double> * casacore::MCDirection::VEC62 [private] |
Definition at line 189 of file MCDirection.h.
Vector<Double> * casacore::MCDirection::VEC63 [private] |
Definition at line 189 of file MCDirection.h.