casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends
casa::MCDirection Class Reference

MDirection conversion routines. More...

#include <MCDirection.h>

Inheritance diagram for casa::MCDirection:
casa::MCBase

List of all members.

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)
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 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

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 MutexedInit theirMutexedInit
 Mutex for thread-safety.

Friends

class MeasConvert< MDirection >
 Conversion of data.

Detailed Description

MDirection conversion 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, Convert and Direction

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 MCDirection.h.


Member Enumeration Documentation

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;

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 

Reimplemented from casa::MCBase.

Definition at line 112 of file MCDirection.h.


Constructor & Destructor Documentation

Default constructor.

casa::MCDirection::MCDirection ( const MCDirection other) [private]

Copy constructor (not implemented)


Member Function Documentation

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)


Friends And Related Function Documentation

friend class MeasConvert< MDirection > [friend]

Conversion of data.

Definition at line 92 of file MCDirection.h.


Member Data Documentation

Transition matrix.

Definition at line 196 of file MCDirection.h.

Definition at line 190 of file MCDirection.h.

Definition at line 188 of file MCDirection.h.

Definition at line 188 of file MCDirection.h.

Definition at line 188 of file MCDirection.h.

Mutex for thread-safety.

Definition at line 198 of file MCDirection.h.

Referenced by fillState().

uInt casa::MCDirection::ToRef_p[N_Routes][3] [static, private]

Transition list.

Definition at line 194 of file MCDirection.h.

Definition at line 189 of file MCDirection.h.

Definition at line 189 of file MCDirection.h.

Definition at line 189 of file MCDirection.h.


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