Public Member Functions |
| MeasMath () |
| Default constructor.
|
| ~MeasMath () |
void | initFrame (MRBase &outref, MRBase &inref) |
| Initialise the frame to be used.
|
void | createPrecession () |
| Functions to create a particular conversion instance; to apply or deapply the instance.
|
void | applyPrecession (MVPosition &in) |
void | deapplyPrecession (MVPosition &in) |
void | createPrecessionB1950 () |
| Precession for B1950 and in coordinates.
|
void | applyPrecessionB1950 (MVPosition &in) |
void | deapplyPrecessionB1950 (MVPosition &in) |
void | createNutation () |
| Nutation for J2000 (IAU standard) and in coordinates.
|
void | applyNutation (MVPosition &in) |
void | deapplyNutation (MVPosition &in) |
void | createNutationB1950 () |
| Nutation for B1950 and in coordinates.
|
void | applyNutationB1950 (MVPosition &in) |
void | deapplyNutationB1950 (MVPosition &in) |
void | createPrecNutat () |
| Precession and Nutation for J2000 or B1950 and in coordinates.
|
void | applyPrecNutat (MVPosition &in) |
void | deapplyPrecNutat (MVPosition &in) |
void | createPrecNutatB1950 () |
void | applyPrecNutatB1950 (MVPosition &in, Bool doin=True) |
void | deapplyPrecNutatB1950 (MVPosition &in, Bool doin=True) |
void | createAberration () |
| Aberration for J2000 (IAU definition) and B1950 and in coordinates.
|
void | applyAberration (MVPosition &in, Bool doin=True) |
void | deapplyAberration (MVPosition &in, Bool doin=True) |
void | createAberrationB1950 () |
void | applyAberrationB1950 (MVPosition &in, Bool doin=True) |
void | deapplyAberrationB1950 (MVPosition &in, Bool doin=True) |
void | createSolarPos () |
| Solar bending for J2000 (IAU definition) and in coordinates.
|
void | applySolarPos (MVPosition &in, Bool doin=True) |
void | deapplySolarPos (MVPosition &in, Bool doin=True) |
void | applyHADECtoITRF (MVPosition &in) |
| Various conversions.
|
void | deapplyHADECtoITRF (MVPosition &in) |
void | applyHADECtoAZEL (MVPosition &in) |
void | deapplyHADECtoAZEL (MVPosition &in) |
void | applyHADECtoAZELGEO (MVPosition &in) |
void | deapplyHADECtoAZELGEO (MVPosition &in) |
void | applyJ2000toB1950 (MVPosition &in, Double epo, Bool doin) |
void | deapplyJ2000toB1950 (MVPosition &in, Double epo, Bool doin) |
void | applyJ2000toB1950 (MVPosition &in, Bool doin=True) |
void | deapplyJ2000toB1950 (MVPosition &in, Bool doin=True) |
void | applyJ2000toB1950_VLA (MVPosition &in, Bool doin=True) |
void | deapplyJ2000toB1950_VLA (MVPosition &in, Bool doin=True) |
void | applyETerms (MVPosition &in, Bool doin=True, Double epo=2000.0) |
void | deapplyETerms (MVPosition &in, Bool doin=True, Double epo=2000.0) |
void | applyGALtoJ2000 (MVPosition &in) |
void | deapplyGALtoJ2000 (MVPosition &in) |
void | applyGALtoB1950 (MVPosition &in) |
void | deapplyGALtoB1950 (MVPosition &in) |
void | applyGALtoSUPERGAL (MVPosition &in) |
void | deapplyGALtoSUPERGAL (MVPosition &in) |
void | applyICRStoJ2000 (MVPosition &in) |
void | deapplyICRStoJ2000 (MVPosition &in) |
void | applyTOPOtoHADEC (MVPosition &in, Bool doin=True) |
void | deapplyTOPOtoHADEC (MVPosition &in, Bool doin=True) |
void | applyPolarMotion (MVPosition &in) |
void | deapplyPolarMotion (MVPosition &in) |
void | applyAZELtoAZELSW (MVPosition &in) |
void | applyECLIPtoJ2000 (MVPosition &in) |
void | deapplyECLIPtoJ2000 (MVPosition &in) |
void | applyMECLIPtoJMEAN (MVPosition &in) |
void | deapplyMECLIPtoJMEAN (MVPosition &in) |
void | applyTECLIPtoJTRUE (MVPosition &in) |
void | deapplyTECLIPtoJTRUE (MVPosition &in) |
void | applyAPPtoTOPO (MVPosition &in, const Double len, Bool doin=True) |
void | deapplyAPPtoTOPO (MVPosition &in, const Double len, Bool doin=True) |
void | getAPP (MVPosition &out) |
| Transfer some information.
|
void | getJ2000 (MVPosition &out) |
void | getB1950 (MVPosition &out) |
Private Types |
enum | FrameType {
EPOCH,
POSITION,
DIRECTION,
VELOCITY,
N_FrameType
} |
| More...
|
enum | FrameInfo {
TDB,
LASTR,
TT,
UT1,
LONG,
LAT,
RADIUS,
LATGEO,
J2000LONG,
J2000LAT,
B1950LONG,
B1950LAT,
APPLONG,
APPLAT,
N_FrameDInfo,
J2000DIR,
B1950DIR,
APPDIR,
N_FrameInfo,
N_FrameMVDInfo
} |
| Types of frame information. More...
|
typedef const Measure
*(MeasFrame::* | FRFCT )() const |
| To get frame group.
|
typedef Bool(MeasFrame::* | FRDINFO )(Double &) const |
| To get frame info.
|
typedef Bool(MeasFrame::* | FRMVDINFO )(MVDirection &) const |
Private Member Functions |
| MeasMath (const MeasMath &other) |
| Copy constructor (not implemented)
|
MeasMath & | operator= (const MeasMath &other) |
| Assignment (not implemented)
|
void | getFrame (FrameType i) |
| Get proper frame information.
|
Bool | getInfo (FrameInfo i, Bool ret=False) |
| Get information from the frame.
|
void | rotateShift (MVPosition &in, const MVPosition &shft, const FrameInfo lng, const FrameInfo lat, Bool doin) |
| Make a shift of coordinate into a rotation and apply it when doin is False.
|
Private Attributes |
Bool | inOK_p |
| Data cached for fast calculations and workspace.
|
Bool | outOK_p |
Bool | frameOK_p [N_FrameType] |
MeasFrame * | inFrame_p |
MeasFrame * | outFrame_p |
MeasFrame * | applyFrame_p [N_FrameType] |
MeasFrame * | deapplyFrame_p [N_FrameType] |
SolarPos * | SOLPOSIAU |
| Conversion information.
|
Aberration * | ABERIAU |
Aberration * | ABERB1950 |
Nutation * | NUTATIAU |
Nutation * | NUTATB1950 |
Precession * | PRECESIAU |
Precession * | PRECESB1950 |
Euler | EULER1 |
| Workspace.
|
RotMatrix | ROTMAT1 |
MVPosition | MVPOS1 |
MVPosition | MVPOS2 |
MVPosition | MVPOS3 |
MVPosition | MVPOS4 |
Double | g1 |
Double | g2 |
Double | g3 |
Double | lengthE |
Bool | infoOK_p [N_FrameInfo] |
Double | info_p [N_FrameDInfo] |
MVDirection | infomvd_p [N_FrameMVDInfo] |
Static Private Attributes |
static uInt | b1950_reg_p |
| Aipsrc definition for B1950 epoch (in years)
|
Measure conversion aid routines.
Intended use:
Internal
<h3>Review Status</h3><dl><dt>Reviewed By:<dd>UNKNOWN<dt>Date Reviewed:<dd>before2004/08/25<dt>Test programs:<dd>tMeasure</dl>
Prerequisite
Etymology
Measure and Mathematics
Synopsis
The conversion of measures like MDirection, MPosition etc have many conversion routines in common. This class combines all of these conversions, including data caches for re-use.
The class is always created by the default constructor. For each operation (like e.g. Precession application), it has three function:
-
create(): create an instance of the data necessary to convert
-
apply(): apply the conversion (in the sense of from standard to perturbed (e.g. from J2000 to TOPO))
-
deapply(): in the reverse direction of apply
Example
See MCDirection source for how to use the class.
Motivation
To re-use code for a specific measure conversion, and to ease the caching administration for each individual conversion.
To Do
Definition at line 96 of file MeasMath.h.