#include <BrcKeplerOrbit.hpp>
Inheritance diagram for BrcKeplerOrbit:


This class encapsulates the orbit parameters in any of several navigation message formats (basically those that use Keplerian elements), provides functions to decode the as-broadcast bit-encodings, and generate SV positions as a function of time.
Definition at line 81 of file BrcKeplerOrbit.hpp.
Public Member Functions | ||||
| BrcKeplerOrbit () throw () | ||||
| Default constuctor. | ||||
| BrcKeplerOrbit (const std::string satSysArg, const ObsID obsIDArg, const short PRNIDArg, const CommonTime beginFitArg, const CommonTime endFitArg, const CommonTime ToeArg, const short URAoeArg, const bool healthyArg, const double CucArg, const double CusArg, const double CrcArg, const double CrsArg, const double CicArg, const double CisArg, const double M0Arg, const double dnArg, const double dndotArg, const double eccArg, const double AArg, const double AhalfArg, const double AdotArg, const double OMEGA0Arg, const double i0Arg, const double wArg, const double OMEGAdotARg, const double idotArg) | ||||
| General purpose constructor. | ||||
| BrcKeplerOrbit (const ObsID obsIDArg, const short PRNID, const short fullweeknum, const long subframe1[10], const long subframe2[10], const long subframe3[10]) | ||||
| Legacy GPS Subframe 1-3. | ||||
| virtual | ~BrcKeplerOrbit () | |||
| Add other constructors for other navigation message formats here.... Destructor. | ||||
| void | loadData (const std::string satSysArg, const ObsID obsIDArg, const short PRNIDArg, const CommonTime beginFitArg, const CommonTime endFitArg, const CommonTime ToeArg, const short URAoeArg, const bool healthyArg, const double CucArg, const double CusArg, const double CrcArg, const double CrsArg, const double CicArg, const double CisArg, const double M0Arg, const double dnArg, const double dndotArg, const double eccArg, const double AArg, const double AhalfArg, const double AdotArg, const double OMEGA0Arg, const double i0Arg, const double wArg, const double OMEGAdotARg, const double idotArg) | |||
| General purpose means to load data into object. | ||||
| void | loadData (const ObsID obsIDArg, const short PRNID, const short fullweeknum, const long subframe1[10], const long subframe2[10], const long subframe3[10]) throw ( InvalidParameter ) | |||
| Load data based on the GPS Legacy message. | ||||
| CommonTime | getOrbitEpoch () const throw (InvalidRequest) | |||
| Returns the epoch time (time of ephemeris) from this ephemeris, correcting for half weeks and HOW time. | ||||
| CommonTime | getBeginningOfFitInterval () const throw (InvalidRequest) | |||
| Returns the time at the beginning of the fit interval. | ||||
| CommonTime | getEndOfFitInterval () const throw (InvalidRequest) | |||
| Returns the time at the end of the fit interval. | ||||
| bool | hasData () const | |||
| Return true if orbit data has been loaded. | ||||
| std::string | getSatSystem () const throw (gpstk::InvalidRequest) | |||
| Return satellite system ID. | ||||
| std::string | getSignal () const throw (gpstk::InvalidRequest) | |||
| Return signal type associated with this orbit. | ||||
| short | getPRNID () const throw (gpstk::InvalidRequest) | |||
| This function returns the PRN ID of the SV. | ||||
| bool | isHealthy () const throw (gpstk::InvalidRequest) | |||
| This function returns the health status of the SV. | ||||
| bool | withinFitInterval (const CommonTime) const throw (gpstk::InvalidRequest) | |||
| Return true if fit interval is valid . | ||||
| short | getFullWeek () const throw (gpstk::InvalidRequest) | |||
| This function return the GPS week number for the orbit. | ||||
| double | getAccuracy () const throw (gpstk::InvalidRequest) | |||
| This function returns the value of the SV accuracy (m) computed from the accuracy information contained in the nav message. | ||||
| void | setAccuracy (const double &acc) throw (gpstk::InvalidRequest) | |||
| short | getURAoe () const throw (gpstk::InvalidRequest) | |||
| 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 orbit 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 | getDnDot () const throw (gpstk::InvalidRequest) | |||
| This function returns the value of the rate correction to the mean motion in radians/second**2. | ||||
| double | getEcc () const throw (gpstk::InvalidRequest) | |||
| This function returns the value of the eccentricity. | ||||
| double | getA () const throw (gpstk::InvalidRequest) | |||
| This function returns the value of the semi-major axis in meters. | ||||
| double | getAhalf () const throw (gpstk::InvalidRequest) | |||
| This function returns the value of the square root of the semi-major axis in meters**.5. | ||||
| double | getAdot () const throw (gpstk::InvalidRequest) | |||
| This function returns the value of the rate of the semi-major axis in meters/sec. | ||||
| 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. | ||||
| Xv | svXv (const CommonTime &t) const throw (gpstk::InvalidRequest) | |||
| Compute satellite position at the given time using this orbit data. | ||||
| double | svRelativity (const CommonTime &t) const throw ( gpstk::InvalidRequest ) | |||
Compute satellite relativity correction (sec) at the given time
| ||||
| void | dump (std::ostream &s=std::cout) const throw () | |||
| Output the contents of this orbit data to the given stream. | ||||
Protected Attributes | ||||
| bool | dataLoaded | |||
| True if data is present, False otherwise. | ||||
| std::string | satSys | |||
| Satellite system ID (as per Rinex). | ||||
| ObsID | obsID | |||
| Defines carrier and tracking code. | ||||
| short | PRNID | |||
| SV PRN ID. | ||||
| CommonTime | Toe | |||
| Orbit epoch. | ||||
| short | URAoe | |||
| SV accuracy Index. | ||||
| bool | healthy | |||
| SV health (healthy=true, other=false. | ||||
| 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 | M0 | |||
| Mean anomaly (rad). | ||||
| double | dn | |||
| Correction to mean motion (rad/sec). | ||||
| double | dndot | |||
| Rate of correction to mean motion (rad/sec/sec). | ||||
| double | ecc | |||
| Eccentricity. | ||||
| double | A | |||
| Semi-major axis (m). | ||||
| double | Ahalf | |||
| Square Root of semi-major axis (m**.5). | ||||
| double | Adot | |||
| Rate of semi-major axis (m/sec). | ||||
| 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). | ||||
| CommonTime | beginFit | |||
| Time at beginning of fit interval. | ||||
| CommonTime | endFit | |||
| Time at end of fit interval. | ||||
Friends | ||||
| std::ostream & | operator<< (std::ostream &s, const BrcKeplerOrbit &eph) | |||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
General purpose constructor.
Definition at line 69 of file BrcKeplerOrbit.cpp. References BrcKeplerOrbit::loadData(). |
|
||||||||||||||||||||||||||||
|
Legacy GPS Subframe 1-3.
Definition at line 90 of file BrcKeplerOrbit.cpp. References BrcKeplerOrbit::loadData(). |
|
|
Add other constructors for other navigation message formats here.... Destructor.
Definition at line 121 of file BrcKeplerOrbit.hpp. |
|
|
Output the contents of this orbit data to the given stream.
Definition at line 791 of file BrcKeplerOrbit.cpp. Referenced by gpstk::operator<<(). |
|
|
This function returns the value of the semi-major axis in meters.
Definition at line 634 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getA(), and EngEphemeris::setSF3(). |
|
|
This function returns the value of the SV accuracy (m) computed from the accuracy information contained in the nav message.
Definition at line 489 of file BrcKeplerOrbit.cpp. References GPSTK_THROW, gpstk::ura2CNAVaccuracy(), and BrcKeplerOrbit::URAoe. Referenced by EngEphemeris::getAccuracy(), and CNAVEphemeris::getAccuracy(). |
|
|
This function returns the value of the rate of the semi-major axis in meters/sec.
Definition at line 656 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::setSF3(). |
|
|
This function returns the value of the square root of the semi-major axis in meters**.5.
Definition at line 645 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getAhalf(), and EngEphemeris::setSF3(). |
|
|
Returns the time at the beginning of the fit interval.
Definition at line 444 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. |
|
|
This function returns the value of the cosine inclination harmonic perturbation in radians.
Definition at line 578 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getCic(). |
|
|
This function returns the value of the sine inclination harmonic perturbation in radians.
Definition at line 545 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getCis(). |
|
|
This function returns the value of the cosine radius harmonic perturbation in meters.
Definition at line 556 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getCrc(). |
|
|
This function returns the value of the sine radius harmonic perturbation in meters.
Definition at line 534 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getCrs(), and EngEphemeris::setSF3(). |
|
|
This function returns the value of the cosine latitude harmonic perturbation in radians.
Definition at line 567 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getCuc(), and EngEphemeris::setSF3(). |
|
|
This function returns the value of the sine latitude harmonic perturbation in radians.
Definition at line 523 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getCus(), and EngEphemeris::setSF3(). |
|
|
This function returns the value of the correction to the mean motion in radians/second.
Definition at line 612 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getDn(), and EngEphemeris::setSF3(). |
|
|
This function returns the value of the rate correction to the mean motion in radians/second**2.
Definition at line 667 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::setSF3(). |
|
|
This function returns the value of the eccentricity.
Definition at line 623 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getEcc(), and EngEphemeris::setSF3(). |
|
|
Returns the time at the end of the fit interval.
Definition at line 455 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. |
|
|
This function return the GPS week number for the orbit. this is the full GPS week (ie > 10 bits). Definition at line 477 of file BrcKeplerOrbit.cpp. References GPSTK_THROW, BrcKeplerOrbit::Toe, and GPSWeek::week. |
|
|
This function returns the value of the inclination in radians.
Definition at line 689 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getI0(). |
|
|
This function returns the value of the rate of the inclination in radians/second.
Definition at line 722 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getIDot(). |
|
|
This function returns the value of the mean anomaly in radians.
Definition at line 601 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getM0(), and EngEphemeris::setSF3(). |
|
|
This function returns the value of the right ascension of the ascending node in radians.
Definition at line 678 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getOmega0(). |
|
|
This function returns the value of the rate of the right ascension of the ascending node in radians/second.
Definition at line 711 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getOmegaDot(). |
|
|
Returns the epoch time (time of ephemeris) from this ephemeris, correcting for half weeks and HOW time.
Definition at line 438 of file BrcKeplerOrbit.cpp. Referenced by EngEphemeris::getEphemerisEpoch(). |
|
|
This function returns the PRN ID of the SV.
Definition at line 466 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. |
|
|
Return satellite system ID.
|
|
|
Return signal type associated with this orbit.
|
|
|
This function returns the value of the time of orbit in GPS seconds of week.
Definition at line 589 of file BrcKeplerOrbit.cpp. References GPSTK_THROW, GPSWeekSecond::sow, and BrcKeplerOrbit::Toe. Referenced by EngEphemeris::getToe(), and EngEphemeris::setSF3(). |
|
|
Definition at line 512 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getAccFlag(), CNAVEphemeris::getURAoe(), CNAV2EphClk::getURAoe(), and EngEphemeris::setSF3(). |
|
|
This function returns the value of the argument of perigee in radians.
Definition at line 700 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. Referenced by EngEphemeris::getW(). |
|
|
Return true if orbit data has been loaded.
Definition at line 242 of file BrcKeplerOrbit.cpp. Referenced by EngEphemeris::getOrbit(), CNAVEphemeris::getOrbit(), and CNAV2EphClk::getOrbit(). |
|
|
This function returns the health status of the SV.
Definition at line 247 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. |
|
||||||||||||||||||||||||||||
|
Load data based on the GPS Legacy message.
Definition at line 144 of file BrcKeplerOrbit.cpp. References gpstk::getLegacyFitInterval(), and GPSTK_THROW. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Definition at line 501 of file BrcKeplerOrbit.cpp. References gpstk::accuracy2ura(), and GPSTK_THROW. |
|
|
Compute satellite relativity correction (sec) at the given time
Definition at line 412 of file BrcKeplerOrbit.cpp. References ABS, GPSEllipsoid::gm(), gpstk::REL_CONST, and SQRT. Referenced by CNAV2EphClk::svRelativity(). |
|
|
Compute satellite position at the given time using this orbit data.
Definition at line 270 of file BrcKeplerOrbit.cpp. References GPSEllipsoid::angVelocity(), GPSEllipsoid::gm(), GPSWeekSecond::sow, SQRT, Xv::v, and Xv::x. Referenced by CNAVEphemeris::svXv(). |
|
|
Return true if fit interval is valid .
Definition at line 258 of file BrcKeplerOrbit.cpp. References GPSTK_THROW. |
|
||||||||||||
|
|
|
|
Semi-major axis (m).
Definition at line 307 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Rate of semi-major axis (m/sec).
Definition at line 309 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Square Root of semi-major axis (m**.5).
Definition at line 308 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Time at beginning of fit interval.
Definition at line 319 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::loadData(). |
|
|
Cosine inclination (rad).
Definition at line 297 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Sine inclination (rad).
Definition at line 298 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Cosine radius (m).
Definition at line 295 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Sine radius (m).
Definition at line 296 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Cosine latitude (rad).
Definition at line 293 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Sine latitude (rad).
Definition at line 294 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
True if data is present, False otherwise.
Definition at line 282 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Correction to mean motion (rad/sec).
Definition at line 304 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Rate of correction to mean motion (rad/sec/sec).
Definition at line 305 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Eccentricity.
Definition at line 306 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Time at end of fit interval.
Definition at line 320 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::loadData(). |
|
|
SV health (healthy=true, other=false.
Definition at line 288 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Inclination (rad).
Definition at line 311 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Rate of inclination angle (rad/sec).
Definition at line 314 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Mean anomaly (rad).
Definition at line 303 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Defines carrier and tracking code.
Definition at line 284 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::loadData(). |
|
|
Rt ascension of ascending node (rad).
Definition at line 310 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Rate of Rt ascension (rad/sec).
Definition at line 313 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
SV PRN ID.
Definition at line 285 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Satellite system ID (as per Rinex).
Definition at line 283 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
|
|
Orbit epoch.
Definition at line 286 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::getFullWeek(), BrcKeplerOrbit::getToe(), and BrcKeplerOrbit::loadData(). |
|
|
SV accuracy Index.
Definition at line 287 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), BrcKeplerOrbit::getAccuracy(), and BrcKeplerOrbit::loadData(). |
|
|
Argument of perigee (rad).
Definition at line 312 of file BrcKeplerOrbit.hpp. Referenced by BrcKeplerOrbit::BrcKeplerOrbit(), and BrcKeplerOrbit::loadData(). |
1.3.9.1