Earth Observation Mission CFI Software Orbit Software User Manual |
This class contains a time instant given as an absolute orbit number plus the time elapsed since the ANX. More...
Public Member Functions | |
ANXTime () | |
Class constructor. | |
ANXTime (long orbitIn, long secondsIn, long microsecIn) | |
Class constructor with AXN time. | |
ANXTime (const OrbitId &orbitId, long orbitIn, long secondsIn, long microsecIn) | |
Class constructor with ANX time and Orbit id. | |
ANXTime (const ANXTime &at) | |
Copy constructor. | |
~ANXTime () NOEXCEPT | |
Class destructor. | |
double | orbitToTime (long timeRef) const |
Compute the time for a given orbit and time after the ANX. | |
void | timeToOrbit (long timeRef, double time) |
Get the absolute orbit number and the time after the ANX for a given time. | |
void | setBOM () |
Set time to Beggining of mission (BOM). | |
void | setEOM () |
Set time to End of mission (EOM). | |
OrbitalInfo | getOrbitInfo () const |
Returns orbital information for the orbit of the object. | |
void | orbitInfoConfigure (long item, long option) const |
Method that can be used to activate/deactivate the computation of several parameters in call to ANXTime::getOrbitInfo. | |
void | adjustWithNodalPeriod () |
Correct ANX time taking into account the orbit duration. | |
ANXTime | operator+ (double time) |
Operator + (add a time). | |
ANXTime | operator- (double time) |
Operator - (subtract a time). | |
double | operator- (const ANXTime &t) const |
Substract two ANXTime objects and returns the number of seconds between them. | |
bool | operator> (const ANXTime &t) const |
Operator > . | |
bool | operator< (const ANXTime &t) const |
Operator < . | |
bool | operator>= (const ANXTime &t) const |
Operator >= . | |
bool | operator<= (const ANXTime &t) const |
Operator <= . | |
bool | operator== (const ANXTime &t) const |
Operator ==. | |
bool | operator!= (const ANXTime &t) const |
Operator != . | |
void | operator= (const ANXTime &t) |
Assigment operator. | |
Public Attributes | |
long | orbit |
Absolute orbit number. | |
long | seconds |
Seconds since the ANX. | |
long | microseconds |
Microseconds. |
This class contains a time instant given as an absolute orbit number plus the time elapsed since the ANX.
EECFI::ANXTime::ANXTime | ( | ) |
Class constructor.
EECFI::ANXTime::ANXTime | ( | long | orbitIn, | |
long | secondsIn, | |||
long | microsecIn | |||
) |
Class constructor with AXN time.
References microseconds, orbit, and seconds.
EECFI::ANXTime::ANXTime | ( | const OrbitId & | orbitId, | |
long | orbitIn, | |||
long | secondsIn, | |||
long | microsecIn | |||
) |
Class constructor with ANX time and Orbit id.
References microseconds, orbit, and seconds.
EECFI::ANXTime::ANXTime | ( | const ANXTime & | at | ) |
Copy constructor.
at | ANXTime object to copy. |
References microseconds, orbit, and seconds.
EECFI::ANXTime::~ANXTime | ( | ) |
Class destructor.
void EECFI::ANXTime::adjustWithNodalPeriod | ( | ) |
Correct ANX time taking into account the orbit duration.
References EECFI::CfiError::addMsg(), getOrbitInfo(), microseconds, EECFI::OrbitalInfo::nodalPeriod, orbit, and seconds.
Referenced by operator-(), operator<(), operator==(), and operator>().
OrbitalInfo EECFI::ANXTime::getOrbitInfo | ( | ) | const |
Returns orbital information for the orbit of the object.
References EECFI::OrbitalInfo::absOrbit, EECFI::CfiError::addMsg(), EECFI::OrbitalInfo::cycLength, EECFI::OrbitalInfo::meanKep, EECFI::OrbitalInfo::mlst, EECFI::OrbitalInfo::mlstDrift, EECFI::OrbitalInfo::nodalPeriod, orbit, EECFI::OrbitalInfo::oscKep, EECFI::OrbitalInfo::phasing, EECFI::OrbitalInfo::posAnx, EECFI::OrbitalInfo::repCycle, EECFI::CfiClass::throwWarn, EECFI::OrbitalInfo::utcAnx, EECFI::OrbitalInfo::utcSmx, and EECFI::OrbitalInfo::velAnx.
Referenced by adjustWithNodalPeriod(), and operator-().
bool EECFI::ANXTime::operator!= | ( | const ANXTime & | at | ) | const |
Operator != .
at | ANXTime object we want to compare with. |
References EECFI::CfiError::addMsg().
ANXTime EECFI::ANXTime::operator+ | ( | double | time | ) |
Operator + (add a time).
time | Seconds to be added to the ANXTime object. |
References microseconds, and seconds.
ANXTime EECFI::ANXTime::operator- | ( | double | time | ) |
Operator - (subtract a time).
time | Seconds to be substracted from the ANXTime object. |
References microseconds, and seconds.
double EECFI::ANXTime::operator- | ( | const ANXTime & | at | ) | const |
Substract two ANXTime objects and returns the number of seconds between them.
at | ANXTime object we want to substract to the object. |
References EECFI::CfiError::addMsg(), adjustWithNodalPeriod(), getOrbitInfo(), microseconds, EECFI::OrbitalInfo::nodalPeriod, orbit, and seconds.
bool EECFI::ANXTime::operator< | ( | const ANXTime & | at | ) | const |
Operator < .
at | ANXTime object we want to compare with. |
References EECFI::CfiError::addMsg(), adjustWithNodalPeriod(), microseconds, orbit, and seconds.
bool EECFI::ANXTime::operator<= | ( | const ANXTime & | at | ) | const |
Operator <= .
at | ANXTime object we want to compare with. |
References EECFI::CfiError::addMsg().
void EECFI::ANXTime::operator= | ( | const ANXTime & | t | ) |
Assigment operator.
t | ANXTime object we want to copy values into this one. |
References microseconds, orbit, and seconds.
bool EECFI::ANXTime::operator== | ( | const ANXTime & | at | ) | const |
Operator ==.
at | ANXTime object we want to compare with. |
References EECFI::CfiError::addMsg(), adjustWithNodalPeriod(), microseconds, orbit, and seconds.
bool EECFI::ANXTime::operator> | ( | const ANXTime & | at | ) | const |
Operator > .
at | ANXTime object we want to compare with. |
References EECFI::CfiError::addMsg(), adjustWithNodalPeriod(), microseconds, orbit, and seconds.
bool EECFI::ANXTime::operator>= | ( | const ANXTime & | at | ) | const |
Operator >= .
at | ANXTime object we want to compare with. |
References EECFI::CfiError::addMsg().
void EECFI::ANXTime::orbitInfoConfigure | ( | long | item, | |
long | option | |||
) | const |
Method that can be used to activate/deactivate the computation of several parameters in call to ANXTime::getOrbitInfo.
Some parameters computed by ANXTime::getOrbitInfo require a significant computation time, so their computation is disabled by default and must be activated with orbitInfoConfigure method. The parameters that can be activated currently are the following ones:
item | Orbit info item to be activated/deactivated (OrbitInfoItemsEnum). | |
option | Activate/deactivate item computation (OrbitInfoFlagEnum). |
References EECFI::CfiClass::throwWarn.
double EECFI::ANXTime::orbitToTime | ( | long | timeRef | ) | const |
Compute the time for a given orbit and time after the ANX.
timeRef | Time reference (TimeRefOrbitEnum). |
References EECFI::CfiError::addMsg(), microseconds, orbit, seconds, and EECFI::CfiClass::throwWarn.
void EECFI::ANXTime::setBOM | ( | ) |
Set time to Beggining of mission (BOM).
void EECFI::ANXTime::setEOM | ( | ) |
Set time to End of mission (EOM).
void EECFI::ANXTime::timeToOrbit | ( | long | timeRef, | |
double | time | |||
) |
Get the absolute orbit number and the time after the ANX for a given time.
Results are stored in the object.
COMPATIBILITY NOTE: This function returns its output compliant with the definition of [EO_OPS] and [MCD], and therefore with respect to an ANX respect to ToD/EF. The calculation of orbit parameters (time from ANX and orbit number) with respect other frame of reference (e.g. J2000) is not supported.
References EECFI::CfiError::addMsg(), microseconds, orbit, seconds, and EECFI::CfiClass::throwWarn.
Microseconds.
Referenced by adjustWithNodalPeriod(), ANXTime(), EECFI::RelANXTime::fromAbsolute(), operator+(), operator-(), operator<(), operator=(), operator==(), operator>(), orbitToTime(), timeToOrbit(), and EECFI::RelANXTime::toAbsolute().
Absolute orbit number.
Referenced by adjustWithNodalPeriod(), ANXTime(), EECFI::RelANXTime::fromAbsolute(), getOrbitInfo(), operator-(), operator<(), operator=(), operator==(), operator>(), orbitToTime(), timeToOrbit(), and EECFI::RelANXTime::toAbsolute().
Seconds since the ANX.
Referenced by adjustWithNodalPeriod(), ANXTime(), EECFI::RelANXTime::fromAbsolute(), operator+(), operator-(), operator<(), operator=(), operator==(), operator>(), orbitToTime(), timeToOrbit(), and EECFI::RelANXTime::toAbsolute().