DEIMOS
Earth Observation Mission CFI Software
Lib Software User Manual
ESA

EECFI::Coord Class Reference

Base class for Coord objects. More...

Inheritance diagram for EECFI::Coord:
EECFI::CfiClass

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 () NOEXCEPT
 Class destructor.
Geodetic getGeodetic (const ModelId &modelId, long deriv) const
void setGeodetic (const ModelId &modelId, long deriv, const Geodetic &geo)
 Set the cartesian vector from the input geodetic coordinates (EARTH FIXED CS).
Kepler getKepler (const ModelId &modelId, long mode) const
 Get Keplerian elements for the input satellite state vector.
void setKepler (const ModelId &modelId, const Kepler &kep)
 Set cartesian satellite state vector from input Keplerian elements.
StarData getRaDec (const ModelId &modelId, long deriv) const
 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) const
 Change EF to topocentric CS.
void operator= (const 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 
) const

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

Get geodetic coordinates of the input cartesian vector; Assumption: Coordinates are given in EARTH FIXED CS, otherwise an error message will be thrown.

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::CfiError::addMsg(), EECFI::Geodetic::alt, EECFI::Geodetic::altDer, cs, EECFI::Geodetic::deriv, EECFI::Geodetic::lat, EECFI::Geodetic::latDer, EECFI::Geodetic::lon, EECFI::Geodetic::lonDer, pos, EECFI::CfiClass::throwWarn, and vel.

Kepler EECFI::Coord::getKepler ( const ModelId modelId,
long  mode 
) const

Get Keplerian elements for the input satellite state vector.

Note: The position and velocity are expected to be in True of Date CS.

Parameters:
modelId Model id.
mode input keplerian elements type: XLCFI_KEPLER_MEAN or XLCFI_KEPLER_OSC .
Returns:
Keplerian elements.

References EECFI::Kepler::a, cs, EECFI::Kepler::cs, EECFI::Kepler::e, EECFI::Kepler::i, EECFI::Kepler::m, EECFI::Kepler::mode, pos, EECFI::Kepler::ra, EECFI::CfiClass::throwWarn, vel, and EECFI::Kepler::w.

StarData EECFI::Coord::getRaDec ( const ModelId modelId,
long  deriv 
) const

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 cs, EECFI::StarData::cs, EECFI::StarData::dec, EECFI::StarData::muDec, EECFI::StarData::muRa, EECFI::StarData::parallax, pos, EECFI::StarData::ra, EECFI::StarData::radVel, EECFI::CfiClass::throwWarn, and vel.

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

Operator=.

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

void EECFI::Coord::setGeodetic ( const ModelId modelId,
long  deriv,
const Geodetic geo 
)

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.

References EECFI::Geodetic::alt, EECFI::Geodetic::altDer, cs, EECFI::Geodetic::lat, EECFI::Geodetic::latDer, EECFI::Geodetic::lon, EECFI::Geodetic::lonDer, pos, EECFI::CfiClass::throwWarn, and vel.

void EECFI::Coord::setKepler ( const ModelId modelId,
const Kepler kep 
)

Set cartesian satellite state vector from input Keplerian elements.

Parameters:
modelId Model id.
kep input keplerian elements.

References EECFI::Kepler::a, EECFI::Kepler::cs, cs, deriv, EECFI::Kepler::e, EECFI::Kepler::i, EECFI::Kepler::m, EECFI::Kepler::mode, pos, EECFI::Kepler::ra, EECFI::CfiClass::throwWarn, vel, and EECFI::Kepler::w.

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

Derivative flag that indicates which derivatives are computed.

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


Generated on Fri May 29 2020 14:17:35 for by doxygen 1.7.1