RinexNavData Class Reference
[RINEX navigation files]

#include <RinexNavData.hpp>

Inheritance diagram for RinexNavData:

Inheritance graph
[legend]
Collaboration diagram for RinexNavData:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class models a RINEX NAV record.

See also:
rinex_nav_test.cpp and rinex_nav_read_write.cpp for examples.

gpstk::RinexNavHeader and gpstk::RinexNavStream classes.

Definition at line 73 of file RinexNavData.hpp.

Public Member Functions

 RinexNavData (void)
 Constructor.
 RinexNavData (const EngEphemeris &ee)
 Initializes the nav data with an EngEphemeris.
virtual ~RinexNavData ()
 destructor
virtual bool isData (void) const
 RinexNavData is "data" so this function always returns true.
virtual void dump (std::ostream &s) const
 A debug output function.
 operator EngEphemeris () const throw ()
 Converts this RinexNavData to an EngEphemeris object.
std::list< double > toList () const
 Converts the (non-CommonTime) data to a list for easy comparison operators.

Public Attributes

Epochdata
CommonTime time
 Time according to the record.
short PRNID
 SV PRN ID.
long HOWtime
 Time of subframe 1-3 (sec of week).
short weeknum
 GPS full week number that corresponds to the HOWtime of SF1 (NB in Rinex files, week number corresponds to TOE).
short codeflgs
 L2 codes.
double accuracy
 SV accuracy (m).
short health
 SV health.
short L2Pdata
 L2 P data flag.
double IODC
 Index of data-clock.
double IODE
 Index of data-eph.
ClockInformation
double Toc
 Clock epoch (sec of week) (found in epoch line of Rinex navigation files).
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).
HarmonicPerturbations
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).
MajorEphemerisParameters
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).
double fitint
 Fit interval.

Protected Member Functions

virtual void reallyPutRecord (FFStream &s) const throw (std::exception, FFStreamError, gpstk::StringUtils::StringException)
 Outputs the record to the FFStream s.
virtual void reallyGetRecord (FFStream &s) throw (std::exception, FFStreamError, gpstk::StringUtils::StringException)
 This function retrieves a RINEX NAV record from the given FFStream.


Constructor & Destructor Documentation

RinexNavData void   )  [inline]
 

Constructor.

Warning:
CHECK THE PRNID TO SEE IF THIS DATA IS VALID BEFORE USING!!

Definition at line 81 of file RinexNavData.hpp.

References gpstk::BEGINNING_OF_TIME.

RinexNavData const EngEphemeris ee  ) 
 

Initializes the nav data with an EngEphemeris.

Definition at line 59 of file RinexNavData.cpp.

References RinexNavData::accuracy, RinexNavData::af0, RinexNavData::af1, RinexNavData::af2, RinexNavData::Ahalf, RinexNavData::Cic, RinexNavData::Cis, RinexNavData::codeflgs, RinexNavData::Crc, RinexNavData::Crs, RinexNavData::Cuc, RinexNavData::Cus, RinexNavData::dn, RinexNavData::ecc, RinexNavData::fitint, EngEphemeris::getAccuracy(), EngEphemeris::getAf0(), EngEphemeris::getAf1(), EngEphemeris::getAf2(), EngEphemeris::getAhalf(), EngEphemeris::getCic(), EngEphemeris::getCis(), EngEphemeris::getCodeFlags(), EngEphemeris::getCrc(), EngEphemeris::getCrs(), EngEphemeris::getCuc(), EngEphemeris::getCus(), EngEphemeris::getDn(), EngEphemeris::getEcc(), EngEphemeris::getEpochTime(), EngEphemeris::getFitInterval(), EngEphemeris::getFullWeek(), EngEphemeris::getHealth(), EngEphemeris::getHOWTime(), EngEphemeris::getI0(), EngEphemeris::getIDot(), EngEphemeris::getIODC(), EngEphemeris::getIODE(), EngEphemeris::getL2Pdata(), EngEphemeris::getM0(), EngEphemeris::getOmega0(), EngEphemeris::getOmegaDot(), EngEphemeris::getPRNID(), EngEphemeris::getTgd(), EngEphemeris::getToc(), EngEphemeris::getToe(), EngEphemeris::getW(), RinexNavData::health, RinexNavData::HOWtime, RinexNavData::i0, RinexNavData::idot, RinexNavData::IODC, RinexNavData::IODE, RinexNavData::L2Pdata, RinexNavData::M0, RinexNavData::OMEGA0, RinexNavData::OMEGAdot, RinexNavData::PRNID, RinexNavData::Tgd, RinexNavData::time, RinexNavData::Toc, RinexNavData::Toe, RinexNavData::w, and RinexNavData::weeknum.

virtual ~RinexNavData  )  [inline, virtual]
 

destructor

Definition at line 89 of file RinexNavData.hpp.


Member Function Documentation

void dump std::ostream &  s  )  const [virtual]
 

A debug output function.

Prints the PRN id and the IODC for this record.

Reimplemented from FFData.

Definition at line 157 of file RinexNavData.cpp.

References RinexNavData::HOWtime, RinexNavData::IODE, RinexNavData::PRNID, RinexNavData::time, RinexNavData::Toc, and RinexNavData::weeknum.

virtual bool isData void   )  const [inline, virtual]
 

RinexNavData is "data" so this function always returns true.

Reimplemented from FFData.

Definition at line 93 of file RinexNavData.hpp.

operator EngEphemeris  )  const throw ()
 

Converts this RinexNavData to an EngEphemeris object.

Definition at line 169 of file RinexNavData.cpp.

References RinexNavData::accuracy, RinexNavData::af0, RinexNavData::af1, RinexNavData::af2, RinexNavData::Ahalf, RinexNavData::Cic, RinexNavData::Cis, RinexNavData::codeflgs, RinexNavData::Crc, RinexNavData::Crs, RinexNavData::Cuc, RinexNavData::Cus, RinexNavData::dn, RinexNavData::ecc, RinexNavData::fitint, RinexNavData::health, RinexNavData::HOWtime, RinexNavData::i0, RinexNavData::idot, RinexNavData::IODC, RinexNavData::IODE, RinexNavData::L2Pdata, RinexNavData::M0, RinexNavData::OMEGA0, RinexNavData::OMEGAdot, RinexNavData::PRNID, EngEphemeris::setAccuracy(), EngEphemeris::setFIC(), EngEphemeris::setSF1(), EngEphemeris::setSF2(), EngEphemeris::setSF3(), RinexNavData::Tgd, RinexNavData::Toc, RinexNavData::Toe, RinexNavData::w, and RinexNavData::weeknum.

void reallyGetRecord FFStream s  )  throw (std::exception, FFStreamError, gpstk::StringUtils::StringException) [protected, virtual]
 

This function retrieves a RINEX NAV record from the given FFStream.

If an error is encountered in reading from the stream, the stream is returned to its original position and its fail-bit is set.

Exceptions:
StringException when a StringUtils function fails
FFStreamError when exceptions(failbit) is set and a read or formatting error occurs. This also resets the stream to its pre-read position.

Implements FFData.

Definition at line 121 of file RinexNavData.cpp.

References FFTextStream::formattedGetLine(), RinexNavStream::header, and RinexNavStream::headerRead.

void reallyPutRecord FFStream s  )  const throw (std::exception, FFStreamError, gpstk::StringUtils::StringException) [protected, virtual]
 

Outputs the record to the FFStream s.

Implements FFData.

Definition at line 98 of file RinexNavData.cpp.

References RinexNavStream::header, FFTextStream::lineNumber, and RinexNavHeader::version.

list< double > toList  )  const
 

Converts the (non-CommonTime) data to a list for easy comparison operators.

Definition at line 190 of file RinexNavData.cpp.

References RinexNavData::accuracy, RinexNavData::af0, RinexNavData::af1, RinexNavData::af2, RinexNavData::Ahalf, RinexNavData::Cic, RinexNavData::Cis, RinexNavData::codeflgs, RinexNavData::Crc, RinexNavData::Crs, RinexNavData::Cuc, RinexNavData::Cus, RinexNavData::dn, RinexNavData::ecc, RinexNavData::fitint, RinexNavData::health, RinexNavData::HOWtime, RinexNavData::i0, RinexNavData::idot, RinexNavData::IODC, RinexNavData::IODE, RinexNavData::L2Pdata, RinexNavData::M0, RinexNavData::OMEGA0, RinexNavData::OMEGAdot, RinexNavData::PRNID, RinexNavData::Tgd, RinexNavData::Toc, RinexNavData::Toe, RinexNavData::w, and RinexNavData::weeknum.

Referenced by RinexNavDataOperatorEqualsFull::operator()(), and RinexNavDataOperatorLessThanFull::operator()().


Member Data Documentation

double accuracy
 

SV accuracy (m).

Definition at line 122 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double af0
 

SV clock error (sec).

Definition at line 133 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double af1
 

SV clock drift (sec/sec).

Definition at line 134 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double af2
 

SV clock drift rate (sec/sec**2).

Definition at line 135 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Ahalf
 

SQRT of semi-major axis (m**1/2).

Definition at line 157 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Cic
 

Cosine inclination (rad).

Definition at line 146 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Cis
 

Sine inclination (rad).

Definition at line 147 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

short codeflgs
 

L2 codes.

Definition at line 121 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Crc
 

Cosine radius (m).

Definition at line 144 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Crs
 

Sine radius (m).

Definition at line 145 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Cuc
 

Cosine latitude (rad).

Definition at line 142 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Cus
 

Sine latitude (rad).

Definition at line 143 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double dn
 

Correction to mean motion (rad/sec).

Definition at line 155 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double ecc
 

Eccentricity.

Definition at line 156 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double fitint
 

Fit interval.

Definition at line 163 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

short health
 

SV health.

Definition at line 123 of file RinexNavData.hpp.

Referenced by gpstk::FillEphemerisStore(), RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

long HOWtime
 

Time of subframe 1-3 (sec of week).

Definition at line 117 of file RinexNavData.hpp.

Referenced by RinexNavData::dump(), RinexNavData::operator EngEphemeris(), RinexNavDataOperatorLessThanSimple::operator()(), RinexNavDataOperatorLessThanFull::operator()(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double i0
 

Inclination (rad).

Definition at line 159 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double idot
 

Rate of inclination angle (rad/sec).

Definition at line 162 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double IODC
 

Index of data-clock.

Definition at line 125 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double IODE
 

Index of data-eph.

Definition at line 126 of file RinexNavData.hpp.

Referenced by RinexNavData::dump(), RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

short L2Pdata
 

L2 P data flag.

Definition at line 124 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double M0
 

Mean anomaly (rad).

Definition at line 154 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double OMEGA0
 

Rt ascension of ascending node (rad).

Definition at line 158 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double OMEGAdot
 

Rate of Rt ascension (rad/sec).

Definition at line 161 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

short PRNID
 

SV PRN ID.

Definition at line 116 of file RinexNavData.hpp.

Referenced by RinexNavData::dump(), RinexNavData::operator EngEphemeris(), RinexNavDataFilterPRN::operator()(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Tgd
 

Group delay differential (sec).

Definition at line 136 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

CommonTime time
 

Time according to the record.

Definition at line 115 of file RinexNavData.hpp.

Referenced by RinexNavData::dump(), RinexNavDataOperatorEqualsFull::operator()(), RinexNavDataOperatorLessThanFull::operator()(), and RinexNavData::RinexNavData().

double Toc
 

Clock epoch (sec of week) (found in epoch line of Rinex navigation files).

Definition at line 132 of file RinexNavData.hpp.

Referenced by RinexNavData::dump(), RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double Toe
 

Ephemeris epoch (sec of week).

Definition at line 153 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

double w
 

Argument of perigee (rad).

Definition at line 160 of file RinexNavData.hpp.

Referenced by RinexNavData::operator EngEphemeris(), RinexNavData::RinexNavData(), and RinexNavData::toList().

short weeknum
 

GPS full week number that corresponds to the HOWtime of SF1 (NB in Rinex files, week number corresponds to TOE).

Definition at line 118 of file RinexNavData.hpp.

Referenced by RinexNavData::dump(), RinexNavData::operator EngEphemeris(), RinexNavDataOperatorLessThanSimple::operator()(), RinexNavDataOperatorLessThanFull::operator()(), RinexNavData::RinexNavData(), and RinexNavData::toList().


The documentation for this class was generated from the following files:
Generated on Wed May 22 03:31:59 2013 for GPS ToolKit Software Library by  doxygen 1.3.9.1