Earth Observation Mission CFI Software Lib Software User Manual |
Base class for StateVector objects. More...
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) |
Get the true latitude corresponding to the state vector. | |
Public Attributes | |
Time | time |
Time object. | |
Coord | coord |
Coordinates. |
Base class for StateVector objects.
EECFI::StateVector::StateVector | ( | ) | [inline] |
Class constructor (empty constructor).
Class constructor with parameters.
Class constructor (Empty constructor).
time | Time of the state vector. | |
coord | Coordinates. |
EECFI::StateVector::~StateVector | ( | ) | [inline] |
Class destructor.
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:
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.
modelId | Model Id. | |
deriv | derivative to be computed (XLCFI_NO_DER or XLCFI_1ST_DER). | |
newCS | New coordinate frame (CoordinateSystemEnum). |
void EECFI::StateVector::getPositionOnOrbit | ( | const ModelId & | modelId, | |
long | angleType, | |||
long | deriv, | |||
double & | angle, | |||
double & | angleRate, | |||
double & | angleRateRate | |||
) | throw (CfiError) |
Get 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.
modelId | Model Id. | |
angleType | Type of angle(AngleTypeEnum). It defines the reference plane. (Note: XLCFI_ANGLE_TYPE_MEAN_LAT_TOD is not supported) | |
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]. |
Set Moon state vector.
It is computed the position and velocity in EF CS.
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.
modelId | Model id. | |
time | requested time. | |
planet | (PlanetEnum). |
Set Sun state vector.
It is computed the position and velocity in EF CS.
modelId | Model id. | |
time | Requested time. |
Coordinates.
Time object.