EngEphemeris Class Reference
[Ephemeris calculations]

#include <EngEphemeris.hpp>

Inheritance diagram for EngEphemeris:

Inheritance graph
[legend]
Collaboration diagram for EngEphemeris:

Collaboration graph
[legend]
List of all members.

Detailed Description

Ephemeris information for a single satellite.

This class encapsulates the ephemeris navigation message (subframes 1-3) and provides functions to decode the as-broadcast ephemerides.

Definition at line 70 of file EngEphemeris.hpp.

Public Member Functions

 EngEphemeris () throw ()
 Default constructor.
virtual ~EngEphemeris ()
 Destructor.
bool addSubframe (const long subframe[10], const int gpsWeek, short PRN, short track) throw (gpstk::InvalidParameter)
 Store a subframe in this object.
bool addSubframeNoParity (const long subframe[10], const long gpsWeek, const short PRN, const short track) throw (gpstk::InvalidParameter)
 Store a subframe in this object.
bool addIncompleteSF1Thru3 (const long sf1[8], const long sf2[8], const long sf3[8], const long sf1TransmitSOW, const int gpsWeek, const short PRN, const short track)
 Store a subframe in this object.
bool isData (short subframe) const throw (gpstk::InvalidRequest)
 Query presence of subframe in this object.
void setAccuracy (const double &acc) throw (gpstk::InvalidParameter)
 Set the value of the SV accuracy (in meters).
short getFitInterval () const throw (gpstk::InvalidRequest)
 This computes and returns the fit interval for the satellite ephemeris from the IODC and the fit interval flag.
unsigned char getTLMPreamble () const throw ()
 Return 0x8b, the upper 5 bits of the 22-bit TLM word.
unsigned getTLMMessage (short subframe) const throw (gpstk::InvalidRequest)
 Return the lower 16 bits of the TLM word for the given subframe.
DayTime getEphemerisEpoch () const throw (InvalidRequest)
 Extracts the epoch time from this ephemeris, correcting for half weeks and HOW time.
DayTime getEpochTime () const throw (gpstk::InvalidRequest)
 Extracts the epoch time (time of clock) from this ephemeris, correcting for half weeks and HOW time.
DayTime getTransmitTime () const throw (gpstk::InvalidRequest)
 Extracts the transmit time from the ephemeris using the Tot.
DayTime getTimestamp () const throw (gpstk::InvalidRequest)
 used for template functions
short getPRNID () const throw (gpstk::InvalidRequest)
 This function returns the PRN ID of the SV.
short getTracker () const throw (gpstk::InvalidRequest)
 This function returns the tracker number.
double getHOWTime (short subframe) const throw (gpstk::InvalidRequest)
 This function returns the time of the HOW in subframe 1 or 2 or 3 in seconds of week.
short getASAlert (short subframe) const throw (gpstk::InvalidRequest)
 This function returns the A-S alert flag for either subframe 1 or 2 or 3.
short getFullWeek () const throw (gpstk::InvalidRequest)
 This function return the GPS week number for the ephemeris.
short getCodeFlags () const throw (gpstk::InvalidRequest)
 This function returns the values of the L2 codes.
double getAccuracy () const throw (gpstk::InvalidRequest)
 This function returns the value of the SV accuracy (m) computed from the accuracy flag in the nav message, or as set by the setAccuracy() method.
short getAccFlag () const throw (gpstk::InvalidRequest)
 This function returns the flag based on the SV accuracy flag as it appears in the nav message.
short getHealth () const throw (gpstk::InvalidRequest)
 This function returns the value of the SV health flag.
short getL2Pdata () const throw (gpstk::InvalidRequest)
 This function returns the value of the L2 P-code data flag.
short getIODC () const throw (gpstk::InvalidRequest)
 This function returns the IODC for the given PRN.
short getIODE () const throw (gpstk::InvalidRequest)
 This function return the IODE for the ephemeris.
long getAODO () const throw (gpstk::InvalidRequest)
 This function return the AODO for the ephemeris.
double getToc () const throw (gpstk::InvalidRequest)
 This function returns the clock epoch in GPS seconds of week.
double getAf0 () const throw (gpstk::InvalidRequest)
 This function returns the SV clock error in seconds.
double getAf1 () const throw (gpstk::InvalidRequest)
 This function returns the SV clock drift in seconds/seconds.
double getAf2 () const throw (gpstk::InvalidRequest)
 This function returns the SV clock rate of change of the drift in seconds/(seconds*seconds).
double getTgd () const throw (gpstk::InvalidRequest)
 This function returns the value of the group delay differential in seconds.
double getCus () const throw (gpstk::InvalidRequest)
 This function returns the value of the sine latitude harmonic perturbation in radians.
double getCrs () const throw (gpstk::InvalidRequest)
 This function returns the value of the sine radius harmonic perturbation in meters.
double getCis () const throw (gpstk::InvalidRequest)
 This function returns the value of the sine inclination harmonic perturbation in radians.
double getCrc () const throw (gpstk::InvalidRequest)
 This function returns the value of the cosine radius harmonic perturbation in meters.
double getCuc () const throw (gpstk::InvalidRequest)
 This function returns the value of the cosine latitude harmonic perturbation in radians.
double getCic () const throw (gpstk::InvalidRequest)
 This function returns the value of the cosine inclination harmonic perturbation in radians.
double getToe () const throw (gpstk::InvalidRequest)
 This function returns the value of the time of ephemeris in GPS seconds of week.
double getM0 () const throw (gpstk::InvalidRequest)
 This function returns the value of the mean anomaly in radians.
double getDn () const throw (gpstk::InvalidRequest)
 This function returns the value of the correction to the mean motion in radians/second.
double getEcc () const throw (gpstk::InvalidRequest)
 This function returns the value of the eccentricity.
double getAhalf () const throw (gpstk::InvalidRequest)
 This function returns the value of the square root of the semi-major axis in square root of meters.
double getA () const throw (gpstk::InvalidRequest)
 This function returns the value of the semi-major axis in meters.
double getOmega0 () const throw (gpstk::InvalidRequest)
 This function returns the value of the right ascension of the ascending node in radians.
double getI0 () const throw (gpstk::InvalidRequest)
 This function returns the value of the inclination in radians.
double getW () const throw (gpstk::InvalidRequest)
 This function returns the value of the argument of perigee in radians.
double getOmegaDot () const throw (gpstk::InvalidRequest)
 This function returns the value of the rate of the right ascension of the ascending node in radians/second.
double getIDot () const throw (gpstk::InvalidRequest)
 This function returns the value of the rate of the inclination in radians/second.
Xvt svXvt (const DayTime &t) const throw (gpstk::InvalidRequest)
 Compute satellite velocity/position at the given time using this ephemeris.
double svRelativity (const DayTime &t) const throw (gpstk::InvalidRequest)
 Compute satellite relativity correction (sec) at the given time
Exceptions:
InvalidRequest if a required subframe has not been stored.

double svClockBias (const DayTime &t) const throw (gpstk::InvalidRequest)
 Compute the satellite clock bias (sec) at the given time
Exceptions:
InvalidRequest if a required subframe has not been stored.

double svClockDrift (const DayTime &t) const throw (gpstk::InvalidRequest)
 Compute the satellite clock drift (sec/sec) at the given time
Exceptions:
InvalidRequest if a required subframe has not been stored.

short getFitInt () const throw (gpstk::InvalidRequest)
 This function returns the value of the fit interval flag.
double getEphkey () const throw (gpstk::InvalidRequest)
 This function returns the value of the ephemeris key that is used to sort the ephemerides when they are stored in the bcetable.
long getTot () const throw (gpstk::InvalidRequest)
 This function returnst the value of the Time of Transmit.
EngEphemerissetSF1 (unsigned tlm, double how, short asalert, short fullweek, short cflags, short acc, short svhealth, short iodc, short l2pdata, double tgd, double toc, double Af2, double Af1, double Af0, short Tracker, short prn) throw ()
 Set the values contained in SubFrame 1.
EngEphemerissetSF2 (unsigned tlm, double how, short asalert, short iode, double crs, double Dn, double m0, double cuc, double Ecc, double cus, double ahalf, double toe, short fitInt) throw ()
 Set the values contained in SubFrame 2.
EngEphemerissetSF3 (unsigned tlm, double how, short asalert, double cic, double Omega0, double cis, double I0, double crc, double W, double OmegaDot, double IDot) throw ()
 Set the values contained in SubFrame 2.
void dump (std::ostream &s=std::cout) const
 Output the contents of this ephemeris to the given stream.

Protected Attributes

bool haveSubframe [3]
 flags indicating presence of a subframe
unsigned short tlm_message [3]
short PRNID
 SV PRN ID.
short tracker
 Tracker number.
long HOWtime [3]
 Time of subframe 1-3 (sec of week).
short ASalert [3]
 A-S and "alert" flags for each subframe.
short weeknum
 GPS full week number that corresponds to the HOWtime of SF1.
short codeflags
 L2 codes.
double accuracy
 SV accuracy (m).
short accFlag
 User Range Accuracy (URA) the accuracy flag.
short health
 SV health.
short L2Pdata
 L2 P data flag.
short IODC
 Index of data-clock.
short IODE
 Index of data-eph.
long AODO
 Age of Data Offset for NMCT.
double Toc
 Clock epoch (sec of week).
double af0
 SV clock error (sec).
double af1
 SV clock drift (sec/sec).
double af2
 SV clock drift rate (sec/sec**2).
double Tgd
 Group delay differential (sec).
double Cuc
 Cosine latitude (rad).
double Cus
 Sine latitude (rad).
double Crc
 Cosine radius (m).
double Crs
 Sine radius (m).
double Cic
 Cosine inclination (rad).
double Cis
 Sine inclination (rad).
double Toe
 Ephemeris epoch (sec of week).
double M0
 Mean anomaly (rad).
double dn
 Correction to mean motion (rad/sec).
double ecc
 Eccentricity.
double Ahalf
 SQRT of semi-major axis (m**1/2).
double OMEGA0
 Rt ascension of ascending node (rad).
double i0
 Inclination (rad).
double w
 Argument of perigee (rad).
double OMEGAdot
 Rate of Rt ascension (rad/sec).
double idot
 Rate of inclination angle (rad/sec).
short fitint
 Fit interval flag.

Friends

std::ostream & operator<< (std::ostream &s, const EngEphemeris &eph)


Constructor & Destructor Documentation

EngEphemeris  )  throw ()
 

Default constructor.

Definition at line 63 of file EngEphemeris.cpp.

References EngEphemeris::accFlag, EngEphemeris::accuracy, EngEphemeris::af0, EngEphemeris::af1, EngEphemeris::af2, EngEphemeris::Ahalf, EngEphemeris::ASalert, EngEphemeris::Cic, EngEphemeris::Cis, EngEphemeris::codeflags, EngEphemeris::Crc, EngEphemeris::Crs, EngEphemeris::Cuc, EngEphemeris::Cus, EngEphemeris::dn, EngEphemeris::ecc, EngEphemeris::fitint, EngEphemeris::haveSubframe, EngEphemeris::health, EngEphemeris::HOWtime, EngEphemeris::i0, EngEphemeris::idot, EngEphemeris::IODC, EngEphemeris::IODE, EngEphemeris::L2Pdata, EngEphemeris::M0, EngEphemeris::OMEGA0, EngEphemeris::OMEGAdot, EngEphemeris::PRNID, EngEphemeris::Tgd, EngEphemeris::tlm_message, EngEphemeris::Toc, EngEphemeris::Toe, EngEphemeris::tracker, EngEphemeris::w, and EngEphemeris::weeknum.

virtual ~EngEphemeris  )  [inline, virtual]
 

Destructor.

Definition at line 77 of file EngEphemeris.hpp.


Member Function Documentation

bool addIncompleteSF1Thru3 const long  sf1[8],
const long  sf2[8],
const long  sf3[8],
const long  sf1TransmitSOW,
const int  gpsWeek,
const short  PRN,
const short  track
 

Store a subframe in this object.

This method is provided in order to provide a path to a EngEphemeris object for cases where a receiver only provides words 3-10 of subframes 1-3.

Note:
: It is important to appropriately determine the transmit time of the data. The parameters sf1TransmitSOW and gpsWeek should be consistent and should represent the time when the data in sf1, sf2, and sf3 were received. As a general rule, the transmit time should be somewhere in the range of 0-2 hours BEFORE the epoch time of the ephemeris.

: EngEphemeris objects built via this method will not contain valid TLM message data, A-S flags, and "Alert" bits. Methods getTLMMesage() and getASAlert() should not be used.

Parameters:
sf1 words 3-10 of navigation subframe1 stored in the 30 least-significant bits of each array index.
sf2 words 3-10 of navigation subframe 2
sf3 words 3-10 of navigation subframe 3
sf1TransmitSOW time (in GPS seconds of week) corresponding to leading edge of first bit of subframe 1
gpsWeek full GPS week number.
PRN PRN ID of source satellite.
track tracker number (typically receiver channel number).
Returns:
true if successful.

Definition at line 182 of file EngEphemeris.cpp.

References EngEphemeris::accFlag, EngEphemeris::accuracy, EngEphemeris::af0, EngEphemeris::af1, EngEphemeris::af2, EngEphemeris::Ahalf, EngEphemeris::ASalert, EngEphemeris::Cic, EngEphemeris::Cis, EngEphemeris::codeflags, EngEphemeris::Crc, EngEphemeris::Crs, EngEphemeris::Cuc, EngEphemeris::Cus, EngEphemeris::dn, EngEphemeris::ecc, EngEphemeris::fitint, EngEphemeris::haveSubframe, EngEphemeris::health, EngEphemeris::HOWtime, EngEphemeris::i0, EngEphemeris::idot, EngEphemeris::IODC, EngEphemeris::IODE, EngEphemeris::L2Pdata, EngEphemeris::M0, EngEphemeris::OMEGA0, EngEphemeris::OMEGAdot, EngEphemeris::PRNID, EngNav::subframeConvert(), EngEphemeris::Tgd, EngEphemeris::tlm_message, EngEphemeris::Toc, EngEphemeris::Toe, EngEphemeris::tracker, gpstk::ura2accuracy(), EngEphemeris::w, and EngEphemeris::weeknum.

Referenced by MinSfTest::process().

bool addSubframe const long  subframe[10],
const int  gpsWeek,
short  PRN,
short  track
throw (gpstk::InvalidParameter)
 

Store a subframe in this object.

Parameters:
subframe ten word navigation subframe stored in the 30 least-significant bits of each array index.
gpsWeek full GPS week number.
PRN PRN ID of source satellite.
track tracking number (typically receiver channel number).
Returns:
true if successful.
Exceptions:
InvalidParameter if subframe is valid but not subframe 1-3.

Definition at line 83 of file EngEphemeris.cpp.

References GPSTK_THROW, and gpstk::ura2accuracy().

Referenced by gpstk::makeEngEphemeris(), FICData::operator EngEphemeris(), and NovatelData::operator RinexNavData().

bool addSubframeNoParity const long  subframe[10],
const long  gpsWeek,
const short  PRN,
const short  track
throw (gpstk::InvalidParameter)
 

Store a subframe in this object.

This method is provided in order to allow construction of an EngEphemeris object for cases where a receiver only provides the 24 msb of each word and strips the parity.l

Parameters:
subframe ten word navigation subframe (minus the six parity bits) stored in the 24 least-significant bits of each array index.
gpsWeek full GPS week number.
PRN PRN ID of source satellite.
track tracking number (typically receiver channel number).
Returns:
true if successful.
Exceptions:
InvalidParameter if subframe is valid but not subframe 1-3.

Definition at line 161 of file EngEphemeris.cpp.

void dump std::ostream &  s = std::cout  )  const
 

Output the contents of this ephemeris to the given stream.

Definition at line 1217 of file EngEphemeris.cpp.

References EngEphemeris::accFlag, EngEphemeris::af0, EngEphemeris::af1, EngEphemeris::af2, EngEphemeris::Ahalf, EngEphemeris::ASalert, EngEphemeris::Cic, EngEphemeris::Cis, EngEphemeris::Crc, EngEphemeris::Crs, EngEphemeris::Cuc, EngEphemeris::Cus, EngEphemeris::dn, EngEphemeris::ecc, EngEphemeris::fitint, EngEphemeris::getEphemerisEpoch(), EngEphemeris::getEpochTime(), EngEphemeris::getFitInt(), DayTime::GPSsecond(), EngEphemeris::health, EngEphemeris::HOWtime, EngEphemeris::i0, EngEphemeris::idot, EngEphemeris::L2Pdata, EngEphemeris::M0, EngEphemeris::OMEGA0, EngEphemeris::OMEGAdot, EngEphemeris::PRNID, EngEphemeris::Tgd, EngEphemeris::w, and EngEphemeris::weeknum.

Referenced by gpstk::operator<<().

double getA  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the semi-major axis in meters.

Definition at line 973 of file EngEphemeris.cpp.

References EngEphemeris::Ahalf, GPSTK_THROW, and EngEphemeris::haveSubframe.

short getAccFlag  )  const throw (gpstk::InvalidRequest)
 

This function returns the flag based on the SV accuracy flag as it appears in the nav message.

Definition at line 731 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), ComputeIURAWeights::getWeight(), SimpleIURAWeight::getWeights(), and MinSfTest::process().

double getAccuracy  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the SV accuracy (m) computed from the accuracy flag in the nav message, or as set by the setAccuracy() method.

Definition at line 720 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getAf0  )  const throw (gpstk::InvalidRequest)
 

This function returns the SV clock error in seconds.

Definition at line 808 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getAf1  )  const throw (gpstk::InvalidRequest)
 

This function returns the SV clock drift in seconds/seconds.

Definition at line 819 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getAf2  )  const throw (gpstk::InvalidRequest)
 

This function returns the SV clock rate of change of the drift in seconds/(seconds*seconds).

Definition at line 830 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getAhalf  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the square root of the semi-major axis in square root of meters.

Definition at line 962 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

long getAODO  )  const throw (gpstk::InvalidRequest)
 

This function return the AODO for the ephemeris.

Definition at line 786 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

short getASAlert short  subframe  )  const throw (gpstk::InvalidRequest)
 

This function returns the A-S alert flag for either subframe 1 or 2 or 3.

Definition at line 686 of file EngEphemeris.cpp.

References GPSTK_THROW.

Referenced by FICData9::firstFiveItems().

double getCic  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the cosine inclination harmonic perturbation in radians.

Definition at line 907 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getCis  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the sine inclination harmonic perturbation in radians.

Definition at line 874 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getCodeFlags  )  const throw (gpstk::InvalidRequest)
 

This function returns the values of the L2 codes.

Definition at line 709 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getCrc  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the cosine radius harmonic perturbation in meters.

Definition at line 885 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getCrs  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the sine radius harmonic perturbation in meters.

Definition at line 863 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getCuc  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the cosine latitude harmonic perturbation in radians.

Definition at line 896 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getCus  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the sine latitude harmonic perturbation in radians.

Definition at line 852 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getDn  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the correction to the mean motion in radians/second.

Definition at line 940 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getEcc  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the eccentricity.

Definition at line 951 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

DayTime getEphemerisEpoch  )  const throw (InvalidRequest)
 

Extracts the epoch time from this ephemeris, correcting for half weeks and HOW time.

Definition at line 637 of file EngEphemeris.cpp.

References EngEphemeris::getFullWeek(), EngEphemeris::getHOWTime(), EngEphemeris::getToe(), and DayTime::setGPSfullweek().

Referenced by EngEphemeris::dump().

double getEphkey  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the ephemeris key that is used to sort the ephemerides when they are stored in the bcetable.

DayTime getEpochTime  )  const throw (gpstk::InvalidRequest)
 

Extracts the epoch time (time of clock) from this ephemeris, correcting for half weeks and HOW time.

Definition at line 624 of file EngEphemeris.cpp.

References EngEphemeris::getFullWeek(), EngEphemeris::getHOWTime(), EngEphemeris::getToc(), and DayTime::setGPSfullweek().

Referenced by GPSEphemerisStore::dump(), GalEphemerisStore::dump(), EngEphemeris::dump(), MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getFitInt  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the fit interval flag.

Definition at line 1039 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by EngEphemeris::dump(), FICData9::FICData9(), EngEphemeris::getFitInterval(), and MinSfTest::process().

short getFitInterval  )  const throw (gpstk::InvalidRequest)
 

This computes and returns the fit interval for the satellite ephemeris from the IODC and the fit interval flag.

This fit interval is centered around the Toe (time of ephemeris) for the ephemeris. See Table 20-XIA in the ICD-GPS-200 and section 20.3.3.4.3.1 for more information.

Returns:
the fit interval in hours (0 = failure).
Exceptions:
InvalidRequest if data is missing.

Definition at line 522 of file EngEphemeris.cpp.

References EngEphemeris::getFitInt(), and EngEphemeris::getIODC().

Referenced by GPSEphemerisStore::findNearEphemeris(), GalEphemerisStore::findNearEphemeris(), GPSEphemerisStore::findUserEphemeris(), GalEphemerisStore::findUserEphemeris(), MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getFullWeek  )  const throw (gpstk::InvalidRequest)
 

This function return the GPS week number for the ephemeris.

this is the full GPS week (ie > 10 bits).

Definition at line 698 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by EngEphemeris::getEphemerisEpoch(), EngEphemeris::getEpochTime(), EngEphemeris::getTransmitTime(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getHealth  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the SV health flag.

Definition at line 742 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), GPSEphemerisStore::getSatHealth(), GalEphemerisStore::getSatHealth(), MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getHOWTime short  subframe  )  const throw (gpstk::InvalidRequest)
 

This function returns the time of the HOW in subframe 1 or 2 or 3 in seconds of week.

Definition at line 672 of file EngEphemeris.cpp.

References GPSTK_THROW.

Referenced by FICData9::firstFiveItems(), EngEphemeris::getEphemerisEpoch(), EngEphemeris::getEpochTime(), EngEphemeris::getTot(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getI0  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the inclination in radians.

Definition at line 995 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getIDot  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the rate of the inclination in radians/second.

Definition at line 1028 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getIODC  )  const throw (gpstk::InvalidRequest)
 

This function returns the IODC for the given PRN.

Definition at line 764 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), EngEphemeris::getFitInterval(), GPSEphemerisStore::getXvt(), GalEphemerisStore::getXvt(), MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getIODE  )  const throw (gpstk::InvalidRequest)
 

This function return the IODE for the ephemeris.

Definition at line 775 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getL2Pdata  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the L2 P-code data flag.

Definition at line 753 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), MinSfTest::process(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getM0  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the mean anomaly in radians.

Definition at line 929 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getOmega0  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the right ascension of the ascending node in radians.

Definition at line 984 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getOmegaDot  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the rate of the right ascension of the ascending node in radians/second.

Definition at line 1017 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

short getPRNID  )  const throw (gpstk::InvalidRequest)
 

This function returns the PRN ID of the SV.

Definition at line 650 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getTgd  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the group delay differential in seconds.

Definition at line 841 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), ModelObsFixedStation::getTGDCorrections(), ModeledReferencePR::getTGDCorrections(), BasicModel::getTGDCorrections(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

DayTime getTimestamp  )  const throw (gpstk::InvalidRequest) [inline]
 

used for template functions

Definition at line 198 of file EngEphemeris.hpp.

unsigned getTLMMessage short  subframe  )  const throw (gpstk::InvalidRequest)
 

Return the lower 16 bits of the TLM word for the given subframe.

Definition at line 604 of file EngEphemeris.cpp.

References GPSTK_THROW.

Referenced by FICData9::firstFiveItems().

unsigned char getTLMPreamble  )  const throw () [inline]
 

Return 0x8b, the upper 5 bits of the 22-bit TLM word.

Definition at line 180 of file EngEphemeris.hpp.

double getToc  )  const throw (gpstk::InvalidRequest)
 

This function returns the clock epoch in GPS seconds of week.

Definition at line 797 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), EngEphemeris::getEpochTime(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

double getToe  )  const throw (gpstk::InvalidRequest)
 

This function returns the value of the time of ephemeris in GPS seconds of week.

Definition at line 918 of file EngEphemeris.cpp.

References GPSTK_THROW, and EngEphemeris::haveSubframe.

Referenced by FICData9::FICData9(), EngEphemeris::getEphemerisEpoch(), Rinex3NavData::Rinex3NavData(), and RinexNavData::RinexNavData().

long getTot  )  const throw (gpstk::InvalidRequest)
 

This function returnst the value of the Time of Transmit.

Basically just the earliest of the HOWs.

Definition at line 1050 of file EngEphemeris.cpp.

References EngEphemeris::getHOWTime(), GPSTK_THROW, EngEphemeris::haveSubframe, and gpstk::min().

Referenced by EngEphemeris::getTransmitTime().