casa
$Rev:20696$
|
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
<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 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 casa::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 casa::MCBase.
Definition at line 112 of file MCDirection.h.
Default constructor.
casa::MCDirection::MCDirection | ( | const MCDirection & | other | ) | [private] |
Copy constructor (not implemented)
virtual void casa::MCDirection::clearConvert | ( | ) | [private, virtual] |
Delete the pointers used in the MeasConvert help structure cache.
Implements casa::MCBase.
virtual void casa::MCDirection::doConvert | ( | MeasValue & | in, |
MRBase & | inref, | ||
MRBase & | outref, | ||
const MConvertBase & | mc | ||
) | [private, virtual] |
Routines to convert directions from one reference frame to another.
Implements casa::MCBase.
void casa::MCDirection::doConvert | ( | MVDirection & | in, |
MRBase & | inref, | ||
MRBase & | outref, | ||
const MConvertBase & | mc | ||
) | [private] |
Conversion routine to cater for inheritance question.
static void casa::MCDirection::doFillState | ( | void * | ) | [static, private] |
Fill the global state in a thread-safe way.
static void casa::MCDirection::fillState | ( | ) | [inline, static, private] |
Fill the global state in a thread-safe way.
Definition at line 201 of file MCDirection.h.
References casa::MutexedInit::exec(), and theirMutexedInit.
virtual void casa::MCDirection::getConvert | ( | MConvertBase & | mc, |
const MRBase & | inref, | ||
const MRBase & | outref | ||
) | [private, virtual] |
Create conversion function pointer.
Implements casa::MCBase.
virtual void casa::MCDirection::initConvert | ( | uInt | which, |
MConvertBase & | mc | ||
) | [private, virtual] |
Create help structures for Measure conversion routines.
Implements casa::MCBase.
MCDirection& casa::MCDirection::operator= | ( | const MCDirection & | other | ) | [private] |
Assignment (not implemented)
static String casa::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 casa::MCDirection::FromTo_p[MDirection::N_Types][MDirection::N_Types] [static, private] |
Transition matrix.
Definition at line 196 of file MCDirection.h.
MeasMath casa::MCDirection::measMath [private] |
Definition at line 190 of file MCDirection.h.
MVPosition* casa::MCDirection::MVPOS1 [private] |
Definition at line 188 of file MCDirection.h.
MVPosition * casa::MCDirection::MVPOS2 [private] |
Definition at line 188 of file MCDirection.h.
MVPosition * casa::MCDirection::MVPOS3 [private] |
Definition at line 188 of file MCDirection.h.
MutexedInit casa::MCDirection::theirMutexedInit [static, private] |
uInt casa::MCDirection::ToRef_p[N_Routes][3] [static, private] |
Transition list.
Definition at line 194 of file MCDirection.h.
Vector<Double>* casa::MCDirection::VEC61 [private] |
Definition at line 189 of file MCDirection.h.
Vector<Double> * casa::MCDirection::VEC62 [private] |
Definition at line 189 of file MCDirection.h.
Vector<Double> * casa::MCDirection::VEC63 [private] |
Definition at line 189 of file MCDirection.h.