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 ()
 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=().

Coordinate system (enumeration value).

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

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().


Generated on Mon Mar 31 2014 12:10:31 for by doxygen 1.7.1