DEIMOS
Earth Observation Mission CFI Software
Lib Software User Manual
ESA

EECFI::StateVector Class Reference

Base class for StateVector objects. More...

Inheritance diagram for EECFI::StateVector:
EECFI::CfiClass

List of all members.

Public Member Functions

 StateVector ()
 Class constructor (empty constructor).
 StateVector (Time &time, Coord &coord)
 Class constructor with parameters.
 ~StateVector ()
 Class destructor.
StateVector change (const ModelId &modelId, long deriv, long newCS) throw (CfiError)
 Change coordinate system.
void setSun (const ModelId &modelId, Time &time) throw (CfiError)
 Set Sun state vector.
void setMoon (const ModelId &modelId, Time &time) throw (CfiError)
 Set Moon state vector.
void setPlanet (const ModelId &modelId, Time &time, long planet) throw (CfiError)
 Set state vector for the requested planet.
void getPositionOnOrbit (const ModelId &modelId, long angleType, long deriv, double &angle, double &angleRate, double &angleRateRate) throw (CfiError)
 Set the true latitude corresponding to the state vector.

Public Attributes

Time time
 Time object.
Coord coord
 Coordinates.

Detailed Description

Base class for StateVector objects.


Constructor & Destructor Documentation

EECFI::StateVector::StateVector (  )  [inline]

Class constructor (empty constructor).

EECFI::StateVector::StateVector ( Time time,
Coord coord 
)

Class constructor with parameters.

Class constructor (Empty constructor).

Parameters:
time Time of the state vector.
coord Coordinates.
EECFI::StateVector::~StateVector (  )  [inline]

Class destructor.


Member Function Documentation

StateVector EECFI::StateVector::change ( const ModelId modelId,
long  deriv,
long  newCS 
) throw (CfiError)

Change coordinate system.

This method transforms a cartesian state vector between different reference frames. The transformation are done sequentially following the schema in next figure:

change_coord.jpg

The attribute Time must have initialized time correlations. . Note that the transformations between BM2000, HM2000 and GM2000 involve a translation of the input vectors (TR3 and TR3’). In case that the input vector is a direction and not a location, the transformation should only apply the rotations between frames, so the transformation should be done in several steps with StateVector::change, skipping the translations.
Permitted CS = XLCFI_CS_GALACTIC, XLCFI_CS_BM1950, XLCFI_CS_BM2000, XLCFI_CS_HM2000, XLCFI_CS_GM2000, XLCFI_CS_MOD, XLCFI_CS_TOD or XLCFI_CS_EF.

Class destructor.

Parameters:
modelId Model Id.
deriv derivative to be computed (XLCFI_NO_DER or XLCFI_1ST_DER).
newCS New coordinate frame (CoordinateSystemEnum).
Returns:
State vector in new reference system.
void EECFI::StateVector::getPositionOnOrbit ( const ModelId modelId,
long  angleType,
long  deriv,
double &  angle,
double &  angleRate,
double &  angleRateRate 
) throw (CfiError)

Set the true latitude corresponding to the state vector.

Get the true/mean latitude describing the position on the orbit. Asumption: the state vector is given in EF.

Parameters:
modelId Model Id.
angleType Type of angle(AngleTypeEnum).
deriv Derivative (DerivEnum).
angle [OUTPUT] Angle describing the position in the orbit [deg].
angleRate [OUTPUT] Angle describing the position in the orbit-rate [deg/s].
angleRateRate [OUTPUT] Angle describing the position in the orbit-rate-rate [deg/s^2].
void EECFI::StateVector::setMoon ( const ModelId modelId,
Time time 
) throw (CfiError)

Set Moon state vector.

It is computed the position and velocity in EF CS.

Parameters:
modelId Model id.
time Requested time
void EECFI::StateVector::setPlanet ( const ModelId modelId,
Time time,
long  planet 
) throw (CfiError)

Set state vector for the requested planet.

It is computed the position and velocity in EF CS.

Parameters:
modelId Model id.
time requested time.
planet (PlanetEnum).
void EECFI::StateVector::setSun ( const ModelId modelId,
Time time 
) throw (CfiError)

Set Sun state vector.

It is computed the position and velocity in EF CS.

Parameters:
modelId Model id.
time Requested time.

Member Data Documentation


Generated on Thu Jul 15 2010 10:10:53 for by doxygen 1.7.1