| Earth Observation Mission CFI Software Lib Software User Manual |

Public Member Functions | Public Attributes

# EECFI::Coord Class Reference

Base class for Coord objects. More...

Inheritance diagram for EECFI::Coord:

List of all members.

## Public Member Functions
| Coord ()
| Class constructor (empty constructor).
| Coord (long csRef, long der, double pos[3], double vel[3], double acc[3])
| Class constructor.
| ~Coord ()
| Class destructor.
Geodetic | getGeodetic (const ModelId &modelId, long deriv) throw (CfiError)
void | setGeodetic (const ModelId &modelId, long deriv, const Geodetic &geo) throw (CfiError)
| Set the cartesian vector from the input geodetic coordinates (EARTH FIXED CS).
Kepler | getKepler (const ModelId &modelId, long mode) throw (CfiError)
| Get Keplerian elements for the input satellite state vector.
void | setKepler (const ModelId &modelId, const Kepler &kep) throw (CfiError)
| Set cartesian satellite state vector from input Keplerian elements.
StarData | getRaDec (const ModelId &modelId, long deriv) throw (CfiError)
| Get the spherical coordinates of the Coord vector.
void | topocentricToEf (const ModelId &modelId, long mode, long deriv, const Coord &topOrigin, const Topocentric &topo)
| Change topocentric to EF CS.
void | efToTopocentric (const ModelId &modelId, long mode, long der, const Coord &topOrigin, Topocentric &topo)
| Change EF to topocentric CS.
void | operator= (Coord c)
| Operator=.
## Public Attributes
long | cs
| Coordinate system (enumeration value).
long | deriv
| Derivative flag that indicates which derivatives are computed.
double | pos [3]
| Position vector.
double | vel [3]
| Velocity vector.
double | acc [3]
| Acceleration vector.

## Detailed Description

Base class for Coord objects.

## Constructor & Destructor Documentation

EECFI::Coord::Coord | ( |  | ) |

Class constructor (empty constructor).

References acc, cs, deriv, pos, and vel.

EECFI::Coord::Coord | ( | long | csRef,
|  | long | der,
|  | double | p[3],
|  | double | v[3],
|  | double | a[3] |
| ) |  |  |

Class constructor.

Class constructor.

Parameters:

  | csRef | Coord reference system.
  | der | Derivative.
  | p | Position vector.
  | v | Velocity vector.
  | a | Acceleration vector.

References acc, cs, deriv, pos, and vel.

EECFI::Coord::~Coord | ( |  | ) | `[inline]`

Class destructor.

## Member Function Documentation

void EECFI::Coord::efToTopocentric | ( | const ModelId & | modelId,
|  | long | mode,
|  | long | der,
|  | const Coord & | topOrigin,
|  | Topocentric & | topo |
| ) |  |  |

Change EF to topocentric CS.

Parameters:

  | modelId | Model id.
  | mode | Flag to indicate if the input coordinates is location or a direction (ModeFlagEnum).
  | der | Flag to indicate if the first derivative has to be computed (XLCFI_NO_DER or XLCFI_DER_1ST).
  | topOrigin | Position of the topocentric CS in the EF CS.
  | topo | (Output) Topocentric coordinates.

References EECFI::Topocentric::azim, EECFI::Topocentric::azimDer, EECFI::Topocentric::elev, EECFI::Topocentric::elevDer, pos, EECFI::Topocentric::range, EECFI::Topocentric::rangeDer, EECFI::CfiClass::throwWarn, and vel.

Geodetic EECFI::Coord::getGeodetic | ( | const ModelId & | modelId,
|  | long | deriv |
| ) |  |  | throw (CfiError)

Get geodetic coordinates of the input cartesian vector; Assumption: Coordinates are given in EARTH FIXED CS.

Class destructor.

Parameters:

  | modelId | Model Id.
  | deriv | derivative to be computed (XLCFI_NO_DER or XLCFI_1ST_DER).
  | deriv | derivative and mode to be computed. The possible values are possible: XLCFI_NO_DER or XLCFI_ITER_NO_DER : No derivatives are computed. The algorithm is based in the Bowring iterative method XLCFI_1ST_DER or XLCFI_ITER_1ST_DER: First derivatives are computed. The algorithm is based in the Bowring iterative method XLCFI_NO_ITER_NO_DER : No derivatives are computed. The algorithm is based in the Bowring direct method XLCFI_ITER_1ST_DER : First derivatives are computed. The algorithm is based in the Bowring direct method The Bowring iterative method is more accurate but it provides a poor runtime perfomance. The Bowring direct method is less accurate than the iterative method at the satellite height, but it provides a better runtime perfomance.

References EECFI::Geodetic::alt, EECFI::Geodetic::altDer, EECFI::Geodetic::deriv, EECFI::Geodetic::lat, EECFI::Geodetic::latDer, EECFI::Geodetic::lon, and EECFI::Geodetic::lonDer.

Kepler EECFI::Coord::getKepler | ( | const ModelId & | modelId,
|  | long | mode |
| ) |  |  | throw (CfiError)

Get Keplerian elements for the input satellite state vector.

Parameters:

  | modelId | Model id.
  | mode | input keplerian elements type: XLCFI_KEPLER_MEAN or XLCFI_KEPLER_OSC .

Returns:
  Keplerian elements.

References EECFI::Kepler::a, EECFI::Kepler::cs, EECFI::Kepler::e, EECFI::Kepler::i, EECFI::Kepler::m, EECFI::Kepler::mode, EECFI::Kepler::ra, and EECFI::Kepler::w.

StarData EECFI::Coord::getRaDec | ( | const ModelId & | modelId,
|  | long | deriv |
| ) |  |  | throw (CfiError)

Get the spherical coordinates of the Coord vector.

- It gets RA and Declination if the input coordinates are equatorial coordinates.
- It gets galactic longitude and latitude if the input coordinates are galactic.

Note that Coord object must not be in XLCFI_EF CS.

Parameters:

  | modelId | Model id.
  | deriv | XLCFI_DER_1ST to compute proper motions and radial velocity (for galactic coordinates derivatives are not computed).

Returns:
  Spherical coordinates.

References EECFI::StarData::cs, EECFI::StarData::dec, EECFI::StarData::muDec, EECFI::StarData::muRa, EECFI::StarData::parallax, EECFI::StarData::ra, and EECFI::StarData::radVel.

void EECFI::Coord::operator= | ( | Coord | c | ) |

Operator=.

References acc, cs, deriv, pos, and vel.

void EECFI::Coord::setGeodetic | ( | const ModelId & | modelId,
|  | long | deriv,
|  | const Geodetic & | geo |
| ) |  |  | throw (CfiError)

Set the cartesian vector from the input geodetic coordinates (EARTH FIXED CS).

Parameters:

  | modelId | Model id.
  | deriv | derivative to be computed (XLCFI_NO_DER or XLCFI_1ST_DER).
  | geo | Geodetic coordinates.

void EECFI::Coord::setKepler | ( | const ModelId & | modelId,
|  | const Kepler & | kep |
| ) |  |  | throw (CfiError)

Set cartesian satellite state vector from input Keplerian elements.

Parameters:

  | modelId | Model id.
  | kep | input keplerian elements.

void EECFI::Coord::topocentricToEf | ( | const ModelId & | modelId,
|  | long | mode,
|  | long | der,
|  | const Coord & | topOrigin,
|  | const Topocentric & | topo |
| ) |  |  |

Change topocentric to EF CS.

Parameters:

  | modelId | Model id.
  | mode | Flag to indicate if the input coordinates is location or a direction (ModeFlagEnum).
  | der | Flag to indicate if the first derivative has to be computed (XLCFI_NO_DER or XLCFI_DER_1ST).
  | topOrigin | Position of the topocentric CS in the EF CS.
  | topo | Topocentric coordinates.

References EECFI::Topocentric::azim, EECFI::Topocentric::azimDer, cs, deriv, EECFI::Topocentric::elev, EECFI::Topocentric::elevDer, pos, EECFI::Topocentric::range, EECFI::Topocentric::rangeDer, EECFI::CfiClass::throwWarn, and vel.

## Member Data Documentation

double EECFI::Coord::acc[3]

Acceleration vector.

Referenced by Coord(), and operator=().

long EECFI::Coord::cs

Coordinate system (enumeration value).

Referenced by Coord(), operator=(), and topocentricToEf().

long EECFI::Coord::deriv

Derivative flag that indicates which derivatives are computed.

Referenced by Coord(), operator=(), and topocentricToEf().

double EECFI::Coord::pos[3]

Position vector.

Referenced by Coord(), efToTopocentric(), operator=(), and topocentricToEf().

double EECFI::Coord::vel[3]

Velocity vector.

Referenced by Coord(), efToTopocentric(), operator=(), and topocentricToEf().