Earth Observation Mission CFI Software Orbit Software User Manual |
Class that stores the orbit data. More...
Public Member Functions | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, long orbit0, long driftMode, double ascMlstDrift, double inclination, long irep, long icyc, double rlong, double ascMlst) throw (CfiError) | |
Class constructor: using orbital parameters. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, long orbit0, const RefOrbitInfo &refOrbitInfo) throw (CfiError) | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, double pos[3], double vel[3], long absOrbit) throw (CfiError) | |
Class constructor: using state vector. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, const vector< string > &inputFiles, long timeInitMode, double time0, double time1, long orbit0, long orbit1) throw (CfiError) | |
Class constructor: using orbit file. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, double pos[3], double vel[3], long absOrbit, const PropagPreciseConf &preciseConf) throw (CfiError) | |
Class constructor: numerical propagator using state vector. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, const vector< string > &inputFiles, long timeInitMode, double time0, double time1, long orbit0, long orbit1, const PropagPreciseConf &preciseConf) throw (CfiError) | |
Class constructor: numerical propagator using orbit file. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, vector< OsfFile > &osfData, long timeInitMode, double time0, double time1, long orbit0, long orbit1) throw (CfiError) | |
Class constructor: using data read from OSF. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, vector< OrbitFile > &osvData, long timeInitMode, double time0, double time1, long orbit0, long orbit1) throw (CfiError) | |
Class constructor: using data read from Orbit files (POF or ROF). | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, vector< OrbitFile > &osvData, OrbitChangeData orbitChangeData, long timeInitMode, double time0, double time1, long orbit0, long orbit1) throw (CfiError) | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, vector< DorisFile > &dorisData, long timeInitMode, double time0, double time1, long orbit0, long orbit1) throw (CfiError) | |
Class constructor: using data read from DORIS files. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, vector< DorisFile > &dorisData, OrbitChangeData orbitChangeData, long timeInitMode, double time0, double time1, long orbit0, long orbit1) throw (CfiError) | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, vector< SP3File > &sp3Data, long timeInitMode, double time0, double time1) throw (CfiError) | |
Class constructor: using data read from SP3 files. | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const GeoOrbitInitData &geoOrbitInit) throw (CfiError) | |
OrbitId (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, vector< OemFile > &oemData, long timeInitMode, double time0, double time1) throw (CfiError) | |
Class constructor: using data read from OEM files. | |
OrbitId (OrbitId &orbitIdIn) | |
Copy constructor. | |
~OrbitId () throw (CfiError) | |
Class destructor. | |
void | init (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, long orbit0, long driftMode, double ascMlstDrift, double inclination, long irep, long icyc, double rlong, double ascMlst) throw (CfiError) |
Initialise the orbit using orbital parameters. | |
void | init (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, long orbit0, const RefOrbitInfo &refOrbitInfo) throw (CfiError) |
Class constructor: using orbital parameters with support for MLST non linear drift. | |
void | init (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, double pos[3], double vel[3], long absOrbit) throw (CfiError) |
Initialise the orbit using state vector. | |
void | init (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, const vector< string > &inputFiles, long timeInitMode, double time0, double time1, long orbit0, long orbit1) throw (CfiError) |
Initialise the orbit using orbit files. | |
void | init (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, double time, double pos[3], double vel[3], long absOrbit, const PropagPreciseConf &preciseConf) throw (CfiError) |
Initialise the orbit using state vector with numerical propagator. | |
void | init (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long timeRef, long orbitFileMode, const vector< string > &inputFiles, long timeInitMode, double time0, double time1, long orbit0, long orbit1, const PropagPreciseConf &preciseConf) throw (CfiError) |
Initialise the orbit using orbit file with numerical propagator. | |
void | init (const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, const GeoOrbitInitData &geoOrbitInit) throw (CfiError) |
void | change (OrbitChangeData changeData) throw (CfiError) |
Updates orbit numbers of state vectors in orbit id using as reference the provided Osf File or combination of Orbit/Time parameters. | |
SatId | satId () const |
Return satellite id. | |
vector< OsvRec > | getOsv () const |
Returns the list of orbit state vectors stored in the OrbitId object. | |
void | setOsv (const vector< OsvRec > &osvRecList) |
Sets the list of orbit state vectors stored in the OrbitId object. | |
vector< ANXExtra > | getAnx () const |
Returns the list of ANX data stored in the OrbitId object. | |
void | setAnx (const vector< ANXExtra > &anxList) |
Sets the list of ANX data stored in the OrbitId object. | |
vector< OsfRecords > | getOsf () const |
Returns the list of orbital changes stored in the OrbitId object. | |
void | setOsf (const vector< OsfRecords > &osvRecList) |
Sets the list of orbital changes stored in the OrbitId object. | |
ValidityTime | getValTime () const |
Returns validity times. | |
void | setValTime (const ValidityTime &valTime) |
Sets validity times. | |
PropagPreciseConf | getPrecisePropagConfig () const throw (CfiError) |
Get numerical propagator configuration. | |
void | setPrecisePropagConfig (const PropagPreciseConf &preciseConf) |
Set numerical propagator configuration. | |
void | setGeoOrbitInfo (const GeoOrbitInfo &geoOrbitInfo) throw (CfiError) |
Set geostationary satellite information. | |
GeoOrbitInfo | getGeoOrbitInfo () throw (CfiError) |
Get geostationary satellite information. | |
OrbitalInfo | getOrbitInfo (long absoluteOrbit) const throw (CfiError) |
Returns orbital information for a requested orbit. | |
void | orbitInfoConfigure (long item, long option) const throw (CfiError) |
Method that can be used to activate/deactivate the computation of several parameters in call to OrbitId::getOrbitInfo. | |
OrbitInfo | getOrbitNumbersFromRel (long relOrbit, long cycle) const throw (CfiError) |
Get orbit absolute orbit and phase number from the relative orbit. | |
OrbitInfo | getOrbitNumbersFromPhase (long phase) const throw (CfiError) |
Get orbit absolute and relative orbit from the input phase number. | |
OrbitInfo | getOrbitNumbersFromAbs (long absOrbit) const throw (CfiError) |
Get orbit relative orbit and phase from the input absolute orbit. | |
StateVector | osvCompute (long mode, long timeRef, double time) const throw (CfiError) |
Computes a satellite state vector for a given time. | |
StateVectorExtraInfo | osvComputeExtra (long extraChoice) const throw (CfiError) |
Get orbital auxiliary data for the satellite state vector computed with osvCompute. | |
StateVector | positionOnOrbitToTime (long abs_orbit_number, long angle_type, double angle, double angle_rate, double angle_rate_rate, long deriv, long time_ref) const throw (CfiError) |
Calculates the time, position and velocity vectors in Earth-Fixed associated to a given position on orbit. | |
TleRec | osvToTle (long timeMode, long timeRef, double time0, double time1, long orbit0, long orbit1) throw (CfiError) |
Generates a TLE by fitting the set of orbit state vectors stored in the orbit_id. | |
void | operator= (const OrbitId &orbitIdIn) |
Copy operator. | |
Protected Member Functions | |
OrbitId () | |
Empty class constructor: do not initialise orbit id. |
Class that stores the orbit data.
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
long | orbit0, | |||
long | driftMode, | |||
double | ascMlstDrift, | |||
double | inclination, | |||
long | irep, | |||
long | icyc, | |||
double | rlong, | |||
double | ascMlst | |||
) | throw (CfiError) |
Class constructor: using orbital parameters.
This method is deprecated. Use the one that uses a RefOrbitInfo object to introduce orbital parameters.
In order to obtain results consistent with that obtained with an Orbit Scenario file, the drift_mode flag has to be set to drift_mode = XO_NOSUNSYNC_DRIFT + XO_NOSUNSYNC_USE_SIM_MODEL.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
time | Reference time (Decimal days - Processing format). | |
orbit0 | Absolute orbit number of the reference orbit. | |
driftMode | Flag to select between mlst and inclination as input characterization of reference orbit. Allowed values:
. | |
ascMlstDrift | Drift in mlst of the reference orbit [seconds/day]. | |
inclination | Inclination of the reference orbit [deg]. Allowed range = [0, 180]. | |
irep | Repeat cycle of the reference orbit [days]. Allowed range: > 0. | |
icyc | Cycle length of the reference orbit [orbits]. Allowed range: > 0. | |
rlong | Geocentric longitude of the ascending node (EF RF) [deg]. Allowed range = [0, 360) | |
ascMlst | MLST at ascending node [Decimal hours]. Allowed range = [0, 24). |
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
long | orbit0, | |||
const RefOrbitInfo & | refOrbitInfo | |||
) | throw (CfiError) |
Class constructor: using orbital parameters with support for MLST non linear drift. In order to obtain results consistent with that obtained with an Orbit Scenario file, the drift_mode flag has to be set to drift_mode = XO_NOSUNSYNC_DRIFT + XO_NOSUNSYNC_USE_SIM_MODEL.
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
double | pos[3], | |||
double | vel[3], | |||
long | absOrbit | |||
) | throw (CfiError) |
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
const vector< string > & | inputFiles, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Class constructor: using orbit file.
In order to read files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.
Note: if the input list of files are one Orbit Scenario File (OSF) plus files contaning state vectors (FOS predcited, FOS restituted, DORIS files, OEM files -POF/ROF/DORIS/OEM respectively-), the orbit id is initialized with the state vectors in POF/ROF/DORIS/OEM, but the orbit number of every state vector is corrected to be consistent with the one expected from OSF. In this case, the OSF shall be the first item of the input files input array; the orbit file mode must be set explicitly to respectively XOCFI_ORBIT_INIT_POF_ORBNUM_ADJ_MODE, XOCFI_ORBIT_INIT_ROF_ORBNUM_ADJ_MODE, XOCFI_ORBIT_INIT_DORIS_ORBNUM_ADJ_MODE, XOCFI_ORBIT_INIT_OEM_ORBNUM_ADJ_MODE.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum. When using DORIS Navigator files and time_mode is XOCFI_SEL_TIME, only XOCFI_TIME_UTC is allowed.). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum except PRECISE models).
. | |
inputFiles | Vector of orbit files. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE, XOCFI_SEL_TIME, XOCFI_SEL_ORBIT. For DORIS Navigator files, XOCFI_SEL_ORBIT is not allowed). For TLE files, the whole file is always selected (this flag and the parameters time0/time1, orbit0/orbit1 are dummies). | |
time0 | Start time [Decimal days (Processing format)]. | |
time1 | Stop time [Decimal days (Processing format)]. | |
orbit0 | Start orbit. | |
orbit1 | Stop orbit. |
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
double | pos[3], | |||
double | vel[3], | |||
long | absOrbit, | |||
const PropagPreciseConf & | preciseConf | |||
) | throw (CfiError) |
Class constructor: numerical propagator using state vector.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
time | Time (Decimal days - Processing format). | |
pos | Position vector [m]. | |
vel | Velocity vector [m/s]. | |
absOrbit | Absolute orbit. | |
preciseConf | Numerical propagator configuration. Allowed range for some members:
. |
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
const vector< string > & | inputFiles, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1, | |||
const PropagPreciseConf & | preciseConf | |||
) | throw (CfiError) |
Class constructor: numerical propagator using orbit file.
In order to read files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum. When using DORIS Navigator files and time_mode is XOCFI_SEL_TIME, only XOCFI_TIME_UTC is allowed.). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum ONLY PRECISE models).
. | |
inputFiles | Vector of orbit files. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE, XOCFI_SEL_TIME, XOCFI_SEL_ORBIT. For DORIS Navigator files, XOCFI_SEL_ORBIT is not allowed). For TLE files, the whole file is always selected (this flag and the parameters time0/time1, orbit0/orbit1 are dummies). | |
time0 | Start time [Decimal days (Processing format)]. | |
time1 | Stop time [Decimal days (Processing format)]. | |
orbit0 | Start orbit. | |
orbit1 | Stop orbit. | |
preciseConf | Numerical propagator configuration. Allowed range for some members:
. |
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
vector< OsfFile > & | osfData, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Class constructor: using data read from OSF.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum). Allowed values:
. | |
osfData | Vector of OsfFile data. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE, XOCFI_SEL_TIME, XOCFI_SEL_ORBIT.). | |
time0 | Start time [Decimal days (Processing format)]. Only used if timeInitMode = XOCFI_SEL_TIME | |
time1 | Stop time [Decimal days (Processing format)].Only used if timeInitMode = XOCFI_SEL_TIME | |
orbit0 | Start orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT | |
orbit1 | Stop orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT |
References EECFI::CfiError::addMsg().
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
vector< OrbitFile > & | osvData, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Class constructor: using data read from Orbit files (POF or ROF).
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum). Allowed values:
. | |
osvData | Vector of OrbitFile data. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE, XOCFI_SEL_TIME, XOCFI_SEL_ORBIT.). | |
time0 | Start time [Decimal days (Processing format)]. Only used if timeInitMode = XOCFI_SEL_TIME | |
time1 | Stop time [Decimal days (Processing format)].Only used if timeInitMode = XOCFI_SEL_TIME | |
orbit0 | Start orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT | |
orbit1 | Stop orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT |
References EECFI::CfiError::addMsg().
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
vector< OrbitFile > & | osvData, | |||
OrbitChangeData | orbitChangeData, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Class constructor: using data read from Orbit files (POF or ROF) and OrbitChange parameter. The orbit numbers in state vectors are updated to be in line with information given in OrbitChangeData object.
The orbit number of the state vectors will be updated with the information in orbitChangeData parameter, as per method OrbitId::change.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum). Allowed values:
. | |
osvData | Vector of OrbitFile data. | |
orbitChangeData | Data to change absolute orbit numbers within OrbitId. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE, XOCFI_SEL_TIME, XOCFI_SEL_ORBIT.). | |
time0 | Start time [Decimal days (Processing format)]. Only used if timeInitMode = XOCFI_SEL_TIME | |
time1 | Stop time [Decimal days (Processing format)].Only used if timeInitMode = XOCFI_SEL_TIME | |
orbit0 | Start orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT | |
orbit1 | Stop orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT |
References EECFI::CfiError::addMsg().
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
vector< DorisFile > & | dorisData, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Class constructor: using data read from DORIS files.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum. if timeInitMode is XOCFI_SEL_TIME, only XOCFI_TIME_UTC is allowed.). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum). Allowed values:
. | |
dorisData | Vector of DorisFile data. | |
timeInitMode | Flag for selecting the time range of the initialisation (Allowed values: XOCFI_SEL_FILE, XOCFI_SEL_TIME). | |
time0 | Start time [Decimal days (Processing format)]. Only used if timeInitMode = XOCFI_SEL_TIME | |
time1 | Stop time [Decimal days (Processing format)].Only used if timeInitMode = XOCFI_SEL_TIME | |
orbit0 | Start orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT | |
orbit1 | Stop orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT |
References EECFI::CfiError::addMsg().
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
vector< DorisFile > & | dorisData, | |||
OrbitChangeData | orbitChangeData, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Class constructor: using data read from DORIS files and OrbitChange parameter. The orbit numbers in state vectors are updated to be in line with information given in OrbitChangeData object.
The method OrbitId::change updates the orbit number in the state vectors of an orbit id that has been previously initialized with Predicted Orbit, Restituted Orbit or DORIS files. The correction to be applied to orbit numbers is calculated depending on the input provided in the orbitChangeData input parameter:
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum. if timeInitMode is XOCFI_SEL_TIME, only XOCFI_TIME_UTC is allowed.). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum). Allowed values:
. | |
dorisData | Vector of DorisFile data. | |
orbitChangeData | Data to change absolute orbit numbers within OrbitId. | |
timeInitMode | Flag for selecting the time range of the initialisation (Allowed values: XOCFI_SEL_FILE, XOCFI_SEL_TIME). | |
time0 | Start time [Decimal days (Processing format)]. Only used if timeInitMode = XOCFI_SEL_TIME | |
time1 | Stop time [Decimal days (Processing format)].Only used if timeInitMode = XOCFI_SEL_TIME | |
orbit0 | Start orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT | |
orbit1 | Stop orbit. Only used if timeInitMode = XOCFI_SEL_ORBIT |
References EECFI::CfiError::addMsg().
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
vector< SP3File > & | sp3Data, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1 | |||
) | throw (CfiError) |
Class constructor: using data read from SP3 files.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum). Allowed values:
. | |
sp3Data | Vector of SP3File data. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE or XOCFI_SEL_TIME). | |
time0 | Start time [Decimal days (Processing format)]. Only used if timeInitMode = XOCFI_SEL_TIME | |
time1 | Stop time [Decimal days (Processing format)].Only used if timeInitMode = XOCFI_SEL_TIME |
References EECFI::CfiError::addMsg().
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
const GeoOrbitInitData & | geoOrbitInit | |||
) | throw (CfiError) |
Class constructor: intialization with geostationary satellite. The only input geodetic coordinate taken into account in initialization is the geocentric longitude; the latitude is set to 0. degrees and the altitude is set to 35786 km independently of the inputs.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
geoOrbitInit | Geostationary satellite initialization information. |
EECFI::OrbitId::OrbitId | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
vector< OemFile > & | oemData, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1 | |||
) | throw (CfiError) |
Class constructor: using data read from OEM files.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum). Allowed values:
. | |
oemData | Vector of OemFile data. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE or XOCFI_SEL_TIME). | |
time0 | Start time [Decimal days (Processing format)]. Only used if timeInitMode = XOCFI_SEL_TIME | |
time1 | Stop time [Decimal days (Processing format)].Only used if timeInitMode = XOCFI_SEL_TIME |
References EECFI::CfiError::addMsg().
EECFI::OrbitId::OrbitId | ( | OrbitId & | orbitIdIn | ) |
Copy constructor.
orbitIdIn | Orbit Id to be copied. |
EECFI::OrbitId::~OrbitId | ( | ) | throw (CfiError) |
Class destructor.
EECFI::OrbitId::OrbitId | ( | ) | [protected] |
Empty class constructor: do not initialise orbit id.
void EECFI::OrbitId::change | ( | OrbitChangeData | changeData | ) | throw (CfiError) |
Updates orbit numbers of state vectors in orbit id using as reference the provided Osf File or combination of Orbit/Time parameters.
changeData | Structure containing the change mechanism input data (using osf file or time/orbit mode) |
References EECFI::CfiError::addMsg().
vector< ANXExtra > EECFI::OrbitId::getAnx | ( | ) | const |
Returns the list of ANX data stored in the OrbitId object.
References EECFI::CfiError::addMsg(), and EECFI::CfiClass::throwWarn.
GeoOrbitInfo EECFI::OrbitId::getGeoOrbitInfo | ( | ) | throw (CfiError) |
Get geostationary satellite information.
References EECFI::CfiError::addMsg(), EECFI::GeoGeodCoord::gcLongitude, EECFI::GeoGeodCoord::gdAltitude, EECFI::GeoGeodCoord::gdLatitude, EECFI::GeoOrbitInfo::geodCoord, and EECFI::CfiClass::throwWarn.
OrbitalInfo EECFI::OrbitId::getOrbitInfo | ( | long | absoluteOrbit | ) | const throw (CfiError) |
Returns orbital information for a requested orbit.
absoluteOrbit | Absolute orbit |
References EECFI::OrbitalInfo::absOrbit, EECFI::OrbitalInfo::cycLength, EECFI::OrbitalInfo::meanKep, EECFI::OrbitalInfo::mlst, EECFI::OrbitalInfo::mlstDrift, EECFI::OrbitalInfo::nodalPeriod, EECFI::OrbitalInfo::oscKep, EECFI::OrbitalInfo::phasing, EECFI::OrbitalInfo::posAnx, EECFI::OrbitalInfo::repCycle, EECFI::OrbitalInfo::utcAnx, EECFI::OrbitalInfo::utcSmx, and EECFI::OrbitalInfo::velAnx.
Get orbit relative orbit and phase from the input absolute orbit.
absOrbit | Absolute orbit. |
References EECFI::OrbitInfo::absOrbit, EECFI::OrbitInfo::cycle, EECFI::OrbitInfo::phase, and EECFI::OrbitInfo::relOrbit.
Get orbit absolute and relative orbit from the input phase number.
phase | Phase of orbit. |
References EECFI::OrbitInfo::absOrbit, EECFI::OrbitInfo::cycle, EECFI::OrbitInfo::phase, and EECFI::OrbitInfo::relOrbit.
OrbitInfo EECFI::OrbitId::getOrbitNumbersFromRel | ( | long | relOrbit, | |
long | cycle | |||
) | const throw (CfiError) |
Get orbit absolute orbit and phase number from the relative orbit.
relOrbit | Relative orbit | |
cycle | Cycle of orbit. |
References EECFI::OrbitInfo::absOrbit, EECFI::OrbitInfo::cycle, EECFI::OrbitInfo::phase, and EECFI::OrbitInfo::relOrbit.
Referenced by EECFI::RelANXTime::toAbsolute().
vector< OsfRecords > EECFI::OrbitId::getOsf | ( | ) | const |
Returns the list of orbital changes stored in the OrbitId object.
References EECFI::OrbitInfo::absOrbit, EECFI::CfiError::addMsg(), EECFI::OsfRecords::anxInfo, EECFI::RefOrbitInfo::AnxLong, EECFI::AnxInfo::anxPos, EECFI::AnxInfo::anxTai, EECFI::AnxInfo::anxUt1, EECFI::AnxInfo::anxUtc, EECFI::AnxInfo::anxVel, EECFI::OrbitInfo::cycle, EECFI::RefOrbitInfo::cycleLength, EECFI::RefOrbitInfo::driftMode, EECFI::RefOrbitInfo::inclination, EECFI::AnxInfo::kepl, EECFI::MlstNonlinearDrift::linearApproxValidity, EECFI::OsfRecords::missionInfo, EECFI::RefOrbitInfo::mlst, EECFI::RefOrbitInfo::mlstDrift, EECFI::MlstNonlinearDrift::mlstHarmonics, EECFI::RefOrbitInfo::mlstNonlinearDrift, EECFI::OrbitInfo::phase, EECFI::MlstNonlinearDrift::quadraticTerm, EECFI::OsfRecords::refOrbitinfo, EECFI::OrbitInfo::relOrbit, EECFI::RefOrbitInfo::repCycle, EECFI::CfiClass::throwWarn, and EECFI::AnxInfo::tNod.
vector< OsvRec > EECFI::OrbitId::getOsv | ( | ) | const |
Returns the list of orbit state vectors stored in the OrbitId object.
References EECFI::CfiError::addMsg(), and EECFI::CfiClass::throwWarn.
PropagPreciseConf EECFI::OrbitId::getPrecisePropagConfig | ( | ) | const throw (CfiError) |
Get numerical propagator configuration.
References EECFI::CfiError::addMsg(), EECFI::PropagPreciseConf::ap, EECFI::PropagPreciseConf::atmosFlag, EECFI::PropagPreciseConf::f107, EECFI::PropagPreciseConf::f107a, EECFI::PropagPreciseConf::gravDegree, EECFI::PropagPreciseConf::gravFile, EECFI::PropagPreciseConf::gravityFlag, EECFI::PropagPreciseConf::gravOrder, EECFI::PropagPreciseConf::modelsPath, EECFI::PropagPreciseConf::scDragArea, EECFI::PropagPreciseConf::scDragCoeff, EECFI::PropagPreciseConf::scMass, EECFI::PropagPreciseConf::scSrpArea, EECFI::PropagPreciseConf::scSrpCoeff, EECFI::PropagPreciseConf::sgaApFile, EECFI::PropagPreciseConf::sgaF107File, EECFI::PropagPreciseConf::sgaFlag, EECFI::PropagPreciseConf::srpFlag, EECFI::PropagPreciseConf::step, EECFI::PropagPreciseConf::thirdbodyFlag, EECFI::CfiClass::throwWarn, and EECFI::PropagPreciseConf::userFlag.
ValidityTime EECFI::OrbitId::getValTime | ( | ) | const |
Returns validity times.
References EECFI::CfiError::addMsg(), and EECFI::CfiClass::throwWarn.
void EECFI::OrbitId::init | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
long | orbit0, | |||
const RefOrbitInfo & | refOrbitInfo | |||
) | throw (CfiError) |
Class constructor: using orbital parameters with support for MLST non linear drift.
void EECFI::OrbitId::init | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
const vector< string > & | inputFiles, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Initialise the orbit using orbit files.
In order to read files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum. When using DORIS Navigator files and time_mode is XOCFI_SEL_TIME, only XOCFI_TIME_UTC is allowed.). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum except PRECISE models).
. | |
inputFiles | Vector of orbit files. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE, XOCFI_SEL_TIME, XOCFI_SEL_ORBIT. For DORIS Navigator files, XOCFI_SEL_ORBIT is not allowed). For TLE files, the whole file is always selected (this flag and the parameters time0/time1, orbit0/orbit1 are dummies). | |
time0 | Start time [Decimal days (Processing format)]. | |
time1 | Stop time [Decimal days (Processing format)]. | |
orbit0 | Start orbit. | |
orbit1 | Stop orbit. |
void EECFI::OrbitId::init | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
long | orbit0, | |||
long | driftMode, | |||
double | ascMlstDrift, | |||
double | inclination, | |||
long | irep, | |||
long | icyc, | |||
double | rlong, | |||
double | ascMlst | |||
) | throw (CfiError) |
Initialise the orbit using orbital parameters.
This method is deprecated. Use the one that uses a RefOrbitInfo object to introduce orbital parameters.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
time | Reference time (Decimal days - Processing format). | |
orbit0 | Absolute orbit number of the reference orbit. | |
driftMode | Flag to select between mlst and inclination as input characterization of reference orbit. Allowed values:
. | |
ascMlstDrift | Drift in mlst of the reference orbit [seconds/day]. | |
inclination | Inclination of the reference orbit [deg]. Allowed range = [0, 180]. | |
irep | Repeat cycle of the reference orbit [days]. Allowed range: > 0. | |
icyc | Cycle length of the reference orbit [orbits]. Allowed range: > 0. | |
rlong | Geocentric longitude of the ascending node (EF RF) [deg]. Allowed range = [0, 360) | |
ascMlst | MLST at ascending node [Decimal hours]. Allowed range = [0, 24). |
void EECFI::OrbitId::init | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
double | pos[3], | |||
double | vel[3], | |||
long | absOrbit, | |||
const PropagPreciseConf & | preciseConf | |||
) | throw (CfiError) |
Initialise the orbit using state vector with numerical propagator.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum). | |
time | Time. | |
pos | Position vector [m]. | |
vel | Velocity vector [m/s]. | |
absOrbit | Absolute orbit. | |
preciseConf | Numerical propagator configuration. Allowed range for some members:
. |
void EECFI::OrbitId::init | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
long | orbitFileMode, | |||
const vector< string > & | inputFiles, | |||
long | timeInitMode, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1, | |||
const PropagPreciseConf & | preciseConf | |||
) | throw (CfiError) |
Initialise the orbit using orbit file with numerical propagator.
In order to read files, this method internally uses Data Handling functions. Please refer to [D_H_SUM] for further details.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
timeRef | Time reference (TimeRefOrbitEnum. When using DORIS Navigator files and time_mode is XOCFI_SEL_TIME, only XOCFI_TIME_UTC is allowed.). | |
orbitFileMode | Flag that indicates the type of the input orbit file (OrbitInitModeEnum ONLY PRECISE models).
. | |
inputFiles | Vector of orbit files. | |
timeInitMode | Flag for selecting the time range of the initialisation (XOCFI_SEL_FILE, XOCFI_SEL_TIME, XOCFI_SEL_ORBIT. For DORIS Navigator files, XOCFI_SEL_ORBIT is not allowed). For TLE files, the whole file is always selected (this flag and the parameters time0/time1, orbit0/orbit1 are dummies). | |
time0 | Start time [Decimal days (Processing format)]. | |
time1 | Stop time [Decimal days (Processing format)]. | |
orbit0 | Start orbit. | |
orbit1 | Stop orbit. | |
preciseConf | Numerical propagator configuration. Allowed range for some members:
. |
void EECFI::OrbitId::init | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
long | timeRef, | |||
double | time, | |||
double | pos[3], | |||
double | vel[3], | |||
long | absOrbit | |||
) | throw (CfiError) |
void EECFI::OrbitId::init | ( | const SatId & | satId, | |
const ModelId & | modelId, | |||
const TimeCorrelation & | timeCor, | |||
const GeoOrbitInitData & | geoOrbitInit | |||
) | throw (CfiError) |
Class constructor: intialization with geostationary satellite. The only input geodetic coordinate taken into account in initialization is the geocentric longitude; the latitude is set to 0. degrees and the altitude is set to 35786 km independently of the inputs.
satId | Satellite Id. | |
modelId | Model Id. | |
timeCor | Time correlations. | |
geoOrbitInit | Geostationary satellite initialization information. |
void EECFI::OrbitId::operator= | ( | const OrbitId & | orbitIdIn | ) |
Copy operator.
orbitIdIn | OrbitId we want to copy. |
References EECFI::CfiId::addInstance().
void EECFI::OrbitId::orbitInfoConfigure | ( | long | item, | |
long | option | |||
) | const throw (CfiError) |
Method that can be used to activate/deactivate the computation of several parameters in call to OrbitId::getOrbitInfo.
Some parameters computed by OrbitId::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). |
StateVector EECFI::OrbitId::osvCompute | ( | long | mode, | |
long | timeRef, | |||
double | time | |||
) | const throw (CfiError) |
Computes a satellite state vector for a given time.
Orbit initialisation mode | OSV computation method |
---|---|
XOCFI_ORBIT_INIT_ORBIT_CHANGE_MODE Initialised using an orbit definition |
Mean Keplerian Propagation Model with "AUTO" and "DOUBLE" modes. |
XOCFI_ORBIT_INIT_OSF_MODE XOCFI_ORBIT_INIT_OEF_OSF_MODE Initialised with an OSF file (or an OEF but reading the list of orbital changes in the data block of the file) |
|
XOCFI_ORBIT_INIT_POF_MODE XOCFI_ORBIT_INIT_OEF_POF_MODE Initialised with a POF file (or an OEF but reading the list of State Vectors in the data block of the file) |
|
XOCFI_ORBIT_INIT_STATE_VECTOR_MODE Initialised with an orbit state vector |
Mean Keplerian Propagation Model |
XOCFI_ORBIT_INIT_POF_N_DORIS_MODE: Initialised with a POF and a DORIS file |
|
XOCFI_ORBIT_INIT_TLE_MODE Initialised with a TLE file |
TLE propagation mode with "AUTO" mode |
XOCFI_ORBIT_INIT_POF_PRECISE_MODE XOCFI_ORBIT_INIT_OEF_POF_PRECISE_MODE Initialised with a POF file (or an OEF but reading the list of State Vectors in the data block of the file) |
Numerical propagator with "AUTO" mode |
XOCFI_ORBIT_INIT_ROF_PRECISE_MODE Initialised with xo_orbit_init_file_precise with a ROF file |
|
XOCFI_ORBIT_INIT_DORIS_PRECISE_MODE Initialised with xo_orbit_init_file_precise with a DORIS Navigator file |
|
XOCFI_ORBIT_INIT_STATE_VECTOR_PRECISE_MODE Initialised with xo_orbit_cart_init_precise |
Numerical propagator |
XOCFI_ORBIT_INIT_POF_N_DORIS_PRECISE_MODE Initialised with xo_orbit_init_file_precise with a POF and a DORIS Navigator file |
|
XOCFI_ORBIT_INIT_ROF_MODE Initialised with xo_orbit_init_file with a ROF file |
Interpolation |
XOCFI_ORBIT_INIT_DORIS_MODE Initialised with xo_orbit_init_file with a DORIS Navigator file |
|
XOCFI_ORBIT_INIT_SP3_MODE Initialised with xo_orbit_init_file with a SP3 file |
mode | Propagation/interpolation mode (dummy for current version). | |
timeRef | Time reference (TimeRefOrbitEnum). | |
time | Time. |
StateVectorExtraInfo EECFI::OrbitId::osvComputeExtra | ( | long | extraChoice | ) | const throw (CfiError) |
Get orbital auxiliary data for the satellite state vector computed with osvCompute.
This software returns ancillary results derived from an orbit state vector obtained from the OrbitId::osvCompute routine (stored within the orbit Id). This state vector depends on which is the last function called:Orbit initialisation mode | OSV compute model |
---|---|
XOCFI_ORBIT_INIT_ORBIT_CHANGE_MODE XOCFI_ORBIT_INIT_OSF_MODE XOCFI_ORBIT_INIT_OEF_OSF_MODE XOCFI_ORBIT_INIT_POF_MODE XOCFI_ORBIT_INIT_OEF_POF_MODE XOCFI_ORBIT_INIT_STATE_VECTOR_MODE XOCFI_ORBIT_INIT_POF_N_DORIS_MODE |
Mean Kepler |
XOCFI_ORBIT_INIT_TLE_MODE | TLE |
XOCFI_ORBIT_INIT_POF_PRECISE_MODE XOCFI_ORBIT_INIT_OEF_POF_PRECISE_MODE XOCFI_ORBIT_INIT_ROF_PRECISE_MODE XOCFI_ORBIT_INIT_DORIS_PRECISE_MODE XOCFI_ORBIT_INIT_STATE_VECTOR_PRECISE_MODE XOCFI_ORBIT_INIT_POF_N_DORIS_PRECISE_MODE |
Precise |
XOCFI_ORBIT_INIT_ROF_MODE XOCFI_ORBIT_INIT_DORIS_MODE |
Interpolation |
Result parameter | Set | Description (Reference) | Unit (Format) | Allowed Range | OSV compute model |
[0] XOCFI_ORBIT_EXTRA_DEP_NODAL_PERIOD |
ANX Timing | Nodal period | s | >= 0 |
|
[1] XOCFI_ORBIT_EXTRA_DEP_UTC_CURRENT_ANX |
Time of current ANX | decimal days (Processing format) | - | ||
[2] XOCFI_ORBIT_EXTRA_DEP_ORBIT_NUMBER |
Position in orbit | Absolute Orbit Number | - | > 0 |
|
[3] XOCFI_ORBIT_EXTRA_DEP_SEC_SINCE_ANX |
Time since ANX | s | >= 0 < Nodal Period |
||
[4:9] XOCFI_ORBIT_EXTRA_DEP_MEAN_KEPL_A XOCFI_ORBIT_EXTRA_DEP_MEAN_KEPL_E XOCFI_ORBIT_EXTRA_DEP_MEAN_KEPL_I XOCFI_ORBIT_EXTRA_DEP_MEAN_KEPL_RA XOCFI_ORBIT_EXTRA_DEP_MEAN_KEPL_W XOCFI_ORBIT_EXTRA_DEP_MEAN_KEPL_M |
Mean Kepler | Mean Kepler elements of the propagated OSV (True of Date) | - | - |
|
Result parameter (res element) | Set | Description (Reference) | Unit (Format) | Allowed Range |
---|---|---|---|---|
[0] XOCFI_ORBIT_EXTRA_GEOC_LONG |
Geolocation | Geocentric longitude of satellite and SSP (EF frame) | deg | >= 0 < 360 |
[1] XOCFI_ORBIT_EXTRA_GEOD_LAT |
Geodetic latitude of satellite and SSP (EF frame) | deg | >= -90 <= +90 |
|
[2] XOCFI_ORBIT_EXTRA_GEOD_ALT |
Geodetic altitude of the satellite (EF frame) | m | - | |
[3] XOCFI_ORBIT_EXTRA_GEOC_LONG_D |
Geolocation rate | Geocentric longitude rate of satellite and SSP (EF frame) | deg/s | - |
[4] XOCFI_ORBIT_EXTRA_GEOD_LAT_D |
Geodetic latitude rate of satellite and SSP (EF frame) | deg/s | - | |
[5] XOCFI_ORBIT_EXTRA_GEOD_ALT_D |
Geodetic altitude rate of the satellite (EF frame) | m/s | - | |
[6] XOCFI_ORBIT_EXTRA_GEOC_LONG_2D |
Geolocation rate rate | Geocentric longitude rate-rate of satellite and SSP (EF frame) | deg/s2 | - |
[7] XOCFI_ORBIT_EXTRA_GEOD_LAT_2D |
Geodetic latitude rate-rate of satellite and SSP (EF frame) | deg/s2 | - | |
[8] XOCFI_ORBIT_EXTRA_GEOD_ALT_2D |
Geodetic altitude rate-rate of the satellite (EF frame) | m/s2 | - | |
[9] XOCFI_ORBIT_EXTRA_RAD_CUR_PARALLEL_MERIDIAN |
Geolocation extra | Radius of curvature parallel to meridian at the SSP (EF frame) | m | >= 0 |
[10] XOCFI_ORBIT_EXTRA_RAD_CUR_ORTHO_MERIDIAN |
Radius of curvature orthogonal to meridian at the SSP (EF frame) | m | >= 0 | |
[11] XOCFI_ORBIT_EXTRA_RAD_CUR_ALONG_GROUNDTRACK |
Radius of curvature along groundtrack at the SSP (EF frame) | m | >= 0 | |
[12] XOCFI_ORBIT_EXTRA_NORTH_VEL |
Earth-fixed velocity | Northward component of the velocity relative to the Earth of the SSP (Topocentric frame) | m/s | - |
[13] XOCFI_ORBIT_EXTRA_EAST_VEL |
Eastward component of the velocity relative to the Earth of the SSP (Topocentric frame) | m/s | - | |
[14] XOCFI_ORBIT_EXTRA_MAG_VEL |
Magnitude of the velocity relative to the Earth of the SSP (Topocentric frame) | m/s | >= 0 | |
[15] XOCFI_ORBIT_EXTRA_AZ_VEL |
Azimuth of the velocity relative to the Earth of the SSP (Topocentric frame) | deg | >= 0 < 360 |
|
[16] XOCFI_ORBIT_EXTRA_NORTH_ACC |
Earth-fixed acceleration | Northward component of the acceleration relative to the Earth of the SSP (Topocentric frame) | m/s2 | - |
[17] XOCFI_ORBIT_EXTRA_EAST_ACC |
Eastward component of the acceleration relative to the Earth of the SSP (Topocentric frame) | m/s2 | - | |
[18] XOCFI_ORBIT_EXTRA_GROUNDTRACK_TANG_ACC |
Groundtrack tangential component of the acceleration relative to the Earth of the SSP (Topocentric frame) | m/s2 | - | |
[19] XOCFI_ORBIT_EXTRA_AZ_ACC |
Azimuth of the acceleration relative to the Earth of the SSP (Topocentric frame) | deg | >= 0 < 360 |
|
[20] XOCFI_ORBIT_EXTRA_SAT_ECLIPSE_FLAG |
Sun | Satellite eclipse flag 0 = No 1 = Yes |
- | 0, 1 |
[21] XOCFI_ORBIT_EXTRA_SZA |
Sun Zenith Angle | deg | >= 0 < 180 |
|
[22] XOCFI_ORBIT_EXTRA_MLST |
Mean local solar time at the SSP | decimal hour | >= 0 < 24 |
|
[23] XOCFI_ORBIT_EXTRA_TLST |
True local solar time at the SSP | decimal hour | >= 0 < 24 |
|
[24] XOCFI_ORBIT_EXTRA_TRUE_SUN_RA |
True Sun’s (centre) right ascension (TOD frame) | deg | >= 0 < 360 |
|
[25] XOCFI_ORBIT_EXTRA_TRUE_SUN_DEC |
True Sun’s (centre) declination (TOD frame) | deg | >= -90 <= +90 |
|
[26] XOCFI_ORBIT_EXTRA_TRUE_SUN_SEMI_DIAM |
True Sun’s semi-diameter | deg | >= 0 | |
[27] XOCFI_ORBIT_EXTRA_MOON_RA |
Moon | Moon’s (centre) right ascension (TOD frame) | deg | >= 0 < 360 |
[28] XOCFI_ORBIT_EXTRA_MOON_DEC |
Moon’s (centre) declination (TOD frame) | deg | >= -90 <= +90 |
|
[29] XOCFI_ORBIT_EXTRA_MOON_SEMI_DIAM |
Moon’s semi-diameter | deg | >= 0 | |
[30] XOCFI_ORBIT_EXTRA_MOON_AREA_LIT |
Area of Moon lit by Sun | - | >= 0 <= 1 |
|
[31:36] XOCFI_ORBIT_EXTRA_OSC_KEPL_A XOCFI_ORBIT_EXTRA_OSC_KEPL_E XOCFI_ORBIT_EXTRA_OSC_KEPL_I XOCFI_ORBIT_EXTRA_OSC_KEPL_RA XOCFI_ORBIT_EXTRA_OSC_KEPL_W XOCFI_ORBIT_EXTRA_OSC_KEPL_M |
Osculating Kepler | Osculating Keplerian elements of the OSV (TOD frame) | - | - |
[37] XOCFI_ORBIT_EXTRA_ORBIT_RAD |
Inertial Aux | Orbit radius (TOD frame) | m | >= 0 |
[38] XOCFI_ORBIT_EXTRA_RADIAL_ORB_VEL |
Radial orbit velocity component (TOD frame) | m/s | - | |
[39] XOCFI_ORBIT_EXTRA_TRANS_ORB_VEL |
Transversal orbit velocity component (TOD frame) | m/s | - | |
[40] XOCFI_ORBIT_EXTRA_ORB_VEL_MAG |
Orbit velocity magnitude (TOD frame) | m/s | >= 0 | |
[41] XOCFI_ORBIT_EXTRA_RA_SAT |
Right ascension of the satellite (TOD frame) | deg | >= 0 < 360 |
|
[42] XOCFI_ORBIT_EXTRA_DEC_SAT |
Declination of the satellite (TOD frame) | deg | >= -90 <= +90 |
|
[43] XOCFI_ORBIT_EXTRA_EARTH_ROTATION_ANGLE |
Earth rotation angle [H] | deg | >= 0 < 360 |
|
[44] XOCFI_ORBIT_EXTRA_RA_SAT_D |
Right ascension rate of the satellite (TOD frame) | deg/s | - | |
[45] XOCFI_ORBIT_EXTRA_RA_SAT_2D |
Right ascension rate-rate of the satellite (TOD frame) | deg/s2 | - | |
[46] XOCFI_ORBIT_EXTRA_OSC_TRUE_LAT |
Satellite osculating true latitude (EF frame) | deg | >= 0 < 360 |
|
[47] XOCFI_ORBIT_EXTRA_OSC_TRUE_LAT_D |
Satellite osculating true latitude rate (EF frame) | deg/s | - | |
[48] XOCFI_ORBIT_EXTRA_OSC_TRUE_LAT_2D |
Satellite osculating true latitude rate-rate (EF frame) | deg/s2 | - |
extraChoice | Flag to select the type of extra information (OrbitExtraChoiceEnum). |
References EECFI::StateVectorExtraInfo::modelDep, and EECFI::StateVectorExtraInfo::modelIndep.
TleRec EECFI::OrbitId::osvToTle | ( | long | timeMode, | |
long | timeRef, | |||
double | time0, | |||
double | time1, | |||
long | orbit0, | |||
long | orbit1 | |||
) | throw (CfiError) |
Generates a TLE by fitting the set of orbit state vectors stored in the orbit_id.
This set of OSVs are selected from the input orbit_id for the orbit/time requested range in the following way:
timeMode | Time/orbit selection (XOCFI_SEL_TIME, XOCFI_SEL_ORBIT or XOCFI_SEL_DEFAULT). For the XOCFI_SEL_DEFAULT mode, the whole range of orbits stored in the orbitId is selected. | |
timeRef | Time reference (TimeRefOrbitEnum). Only used if timeMode is XOCFI_SEL_FILE. | |
time0 | Start time [days]. | |
time1 | Stop time [days]. | |
orbit0 | Start orbit. | |
orbit1 | Stop orbit. |
StateVector EECFI::OrbitId::positionOnOrbitToTime | ( | long | abs_orbit_number, | |
long | angle_type, | |||
double | angle, | |||
double | angle_rate, | |||
double | angle_rate_rate, | |||
long | deriv, | |||
long | time_ref | |||
) | const throw (CfiError) |
Calculates the time, position and velocity vectors in Earth-Fixed associated to a given position on orbit.
This position on orbit is defined as the angle between the satellite position and the intersection of the orbital plane with a reference plane (the reference plane is the equator in GM2000, ToD or EF CS).
abs_orbit_number | Absolute orbit number | |
angle_type | Angle type | |
angle | Angle describing the position in the orbit | |
angle_rate | Orbit rate > 1st derivate from Angle | |
angle_rate_rate | Orbit rate rate > 2nd derivate from Angle | |
deriv | Derivative ID | |
time_ref | Time Reference |
SatId EECFI::OrbitId::satId | ( | ) | const |
Return satellite id.
void EECFI::OrbitId::setAnx | ( | const vector< ANXExtra > & | anxList | ) |
Sets the list of ANX data stored in the OrbitId object.
anxList | List of ANX info. |
References EECFI::CfiError::addMsg(), and EECFI::CfiClass::throwWarn.
void EECFI::OrbitId::setGeoOrbitInfo | ( | const GeoOrbitInfo & | geoOrbitInfo | ) | throw (CfiError) |
Set geostationary satellite information.
geoOrbitInfo | Geostationary orbit information. |
References EECFI::CfiError::addMsg().
void EECFI::OrbitId::setOsf | ( | const vector< OsfRecords > & | osfRecList | ) |
Sets the list of orbital changes stored in the OrbitId object.
osfRecList | List of orbit changes. |
References EECFI::CfiError::addMsg(), and EECFI::CfiClass::throwWarn.
void EECFI::OrbitId::setOsv | ( | const vector< OsvRec > & | osvRecList | ) |
Sets the list of orbit state vectors stored in the OrbitId object.
osvRecList | List of orbit state vectors. |
References EECFI::CfiError::addMsg(), and EECFI::CfiClass::throwWarn.
void EECFI::OrbitId::setPrecisePropagConfig | ( | const PropagPreciseConf & | preciseConf | ) |
Set numerical propagator configuration.
preciseConf | Numerical propagator configuration. |
References EECFI::CfiError::addMsg(), EECFI::PropagPreciseConf::ap, EECFI::PropagPreciseConf::atmosFlag, EECFI::PropagPreciseConf::f107, EECFI::PropagPreciseConf::f107a, EECFI::PropagPreciseConf::gravDegree, EECFI::PropagPreciseConf::gravFile, EECFI::PropagPreciseConf::gravityFlag, EECFI::PropagPreciseConf::gravOrder, EECFI::PropagPreciseConf::modelsPath, EECFI::PropagPreciseConf::scDragArea, EECFI::PropagPreciseConf::scDragCoeff, EECFI::PropagPreciseConf::scMass, EECFI::PropagPreciseConf::scSrpArea, EECFI::PropagPreciseConf::scSrpCoeff, EECFI::PropagPreciseConf::sgaApFile, EECFI::PropagPreciseConf::sgaF107File, EECFI::PropagPreciseConf::sgaFlag, EECFI::PropagPreciseConf::srpFlag, EECFI::PropagPreciseConf::step, EECFI::PropagPreciseConf::thirdbodyFlag, EECFI::CfiClass::throwWarn, and EECFI::PropagPreciseConf::userFlag.
void EECFI::OrbitId::setValTime | ( | const ValidityTime & | valTime | ) |
Sets validity times.
valTime | Validity times. |
References EECFI::CfiError::addMsg(), EECFI::ValidityTime::start, EECFI::ValidityTime::stop, EECFI::CfiClass::throwWarn, and EECFI::ValidityTime::timeRef.