MCFrame.h

Classes

MCFrame -- Measure frame calculations proxy (full description)
Global Functions -- Global functions (full description)

class MCFrame

Interface

Public Members
friend void MCFrameDelete(void *dmf)
static void make(MeasFrame &in)
Bool getTDB(Double &tdb)
Bool getUT1(Double &tdb)
Bool getTT(Double &tdb)
Bool getLong(Double &tdb)
Bool getLat(Double &tdb)
Bool getITRF(MVPosition &tdb)
Bool getRadius(Double &tdb)
Bool getLatGeo(Double &tdb)
Bool getLAST(Double &tdb)
Bool getLASTr(Double &tdb)
Bool getJ2000(MVDirection &tdb)
Bool getJ2000Long(Double &tdb)
Bool getJ2000Lat(Double &tdb)
Bool getB1950(MVDirection &tdb)
Bool getB1950Long(Double &tdb)
Bool getB1950Lat(Double &tdb)
Bool getApp(MVDirection &tdb)
Bool getAppLong(Double &tdb)
Bool getAppLat(Double &tdb)
Bool getLSR(Double &tdb)
Bool getCometType(uInt &tdb)
Bool getComet(MVPosition &tdb)
Private Members
MCFrame(MeasFrame &inf)
MCFrame()
MCFrame(const MCFrame &other)
MCFrame &operator=(const MCFrame &other)
~MCFrame()
void create()
void resetEpoch()
void resetPosition()
void resetDirection()
void resetRadialVelocity()
void resetComet()
void makeEpoch()
void makePosition()
void makeDirection()
void makeRadialVelocity()
void makeComet()

Description

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
Programs:
Tests:

Prerequisite

Etymology

From Measure and Frame

Synopsis

The MeasFrame class contains the 'when and where' of an observed Measure. Calculations to get the appropiate value (e.g. the Earth's longitude) from this frame for conversions are done in this class, together with all the caching of (intermediate) results that can speed-up calculations.
The MCFrame class is used by the individual measure conversion classes (see MCBase class).

Example

	MEpoch my_epoch(Quantity(MeasData::MJDB1950,"d")); // an epoch
	MCFrame frame(my_epoch);	// used in a frame
	frame.set(obser);		// add observatory (an MPosition)
	MEpoch::Convert conv(my_epoch, MEPoch::Ref(MEpoch::LAST, frame));
The conv conversion engine will (transpararently) use the MCFrame class in calls from MCEpoch (the time conversions), which will be called by the MEpoch::Convert () operator.

Motivation

To separate the frame calculations from the Measure containers, to enable e.g. Tables to have Measures.

To Do

Member Description

friend void MCFrameDelete(void *dmf)

Delete a conversion frame data

static void make(MeasFrame &in)

Attach an instant of MCFrame to belonging MeasFrame

Bool getTDB(Double &tdb)

Get TDB in days

Bool getUT1(Double &tdb)

Get UT1 in days

Bool getTT(Double &tdb)

Get TT in days

Bool getLong(Double &tdb)

Get the longitude (in rad)

Bool getLat(Double &tdb)

Get the latitude (ITRF) (in rad)

Bool getITRF(MVPosition &tdb)

Get the position

Bool getRadius(Double &tdb)

Get the geocentric position (in m)

Bool getLatGeo(Double &tdb)

Get the geodetic latitude

Bool getLAST(Double &tdb)

Get the LAST (in days)

Bool getLASTr(Double &tdb)

Get the LAST (in rad)

Bool getJ2000(MVDirection &tdb)
Bool getJ2000Long(Double &tdb)
Bool getJ2000Lat(Double &tdb)

Get J2000 coordinates (direction cosines) and long/lat (rad)

Bool getB1950(MVDirection &tdb)
Bool getB1950Long(Double &tdb)
Bool getB1950Lat(Double &tdb)

Get B1950 coordinates (direction cosines) and long/lat (rad)

Bool getApp(MVDirection &tdb)
Bool getAppLong(Double &tdb)
Bool getAppLat(Double &tdb)

Get apparent coordinates (direction cosines) and long/lat (rad)

Bool getLSR(Double &tdb)

Get LSR radial velocity (m/s)

Bool getCometType(uInt &tdb)

Get Comet type

Bool getComet(MVPosition &tdb)

Get Comet position

MCFrame(MeasFrame &inf)

Constructor

MCFrame()

Default constructor (not implemented)

MCFrame(const MCFrame &other)

Copy constructor (not implemented)

MCFrame &operator=(const MCFrame &other)

Copy assignment (not implemented)

~MCFrame()

Destructor

void create()

Create an instance of the MCFrame class

void resetEpoch()

Reset Epoch value

void resetPosition()

Reset Position value

void resetDirection()

Reset Direction value

void resetRadialVelocity()

Reset RadialVelocity value

void resetComet()

Reset Comet

void makeEpoch()

Make full Epoch

void makePosition()

Make full Position

void makeDirection()

Make full Direction

void makeRadialVelocity()

Make full RadialVelocity

void makeComet()

Make full Comet

Global functions (source)

Interface

void MCFrameDelete(void *dmf)
Bool MCFrameGetdbl(void *dmf, uInt tp, Double &result)
Bool MCFrameGetmvdir(void *dmf, uInt tp, MVDirection &result)
Bool MCFrameGetmvpos(void *dmf, uInt tp, MVPosition &result)
Bool MCFrameGetuint(void *dmf, uInt tp, uInt &result)

Description

Member Description

void MCFrameDelete(void *dmf)

Delete a frame

Bool MCFrameGetdbl(void *dmf, uInt tp, Double &result)

Get double value for MeasFrame

Bool MCFrameGetmvdir(void *dmf, uInt tp, MVDirection &result)

Get MVDirection value for MeasFrame

Bool MCFrameGetmvpos(void *dmf, uInt tp, MVPosition &result)

Get MVPosition value for MeasFrame

Bool MCFrameGetuint(void *dmf, uInt tp, uInt &result)

Get uint value for MeasFrame