Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
gnsstk::Rinex3NavHeader Class Reference

Detailed Description

This class models the RINEX 3 Nav header for a RINEX 3 Nav file.

See also
Rinex3NavData and Rinex3NavStream classes.

Definition at line 107 of file Rinex3NavHeader.hpp.

#include <Rinex3NavHeader.hpp>

Inheritance diagram for gnsstk::Rinex3NavHeader:
Inheritance graph
[legend]

Public Types

enum  validBits {
  validVersion = 0x01, validRunBy = 0x02, validComment = 0x04, validIonoCorrGPS = 0x08,
  validIonoCorrGal = 0x010, validTimeSysCorr = 0x020, validLeapSeconds = 0x040, validEoH = 0x080000000,
  allValid3 = 0x080000003, allValid2 = 0x080000003
}
 These are validity bits used in checking the RINEX NAV header. More...
 

Public Member Functions

bool compare (const Rinex3NavHeader &right, std::vector< std::string > &diffs, const std::vector< std::string > &inclExclList, bool incl=false)
 
virtual void dump (std::ostream &s) const
 This function dumps the contents of the header. More...
 
virtual bool isHeader () const
 Rinex3NavHeader is a "header" so this function always returns true. More...
 
 Rinex3NavHeader ()
 Constructor. More...
 
void setFileSystem (const std::string &str)
 
virtual ~Rinex3NavHeader ()
 Destructor. More...
 
- Public Member Functions inherited from gnsstk::Rinex3NavBase
virtual ~Rinex3NavBase ()
 Destructor. More...
 
- Public Member Functions inherited from gnsstk::FFData
void getRecord (FFStream &s)
 
virtual bool isData () const
 
void putRecord (FFStream &s) const
 
virtual ~FFData (void)
 virtual desctuctor More...
 

Public Attributes

std::vector< std::string > commentList
 
std::string date
 Date string; includes "UTC" at the end. More...
 
std::string fileAgency
 Agency string. More...
 
std::string fileProgram
 Program string. More...
 
std::string fileSys
 File system string. More...
 
SatID fileSysSat
 File system as a SatID. More...
 
std::string fileType
 File type "N....". More...
 
long leapDay
 Day of week of ref time. More...
 
long leapDelta
 Change in Leap seconds at ref time. More...
 
long leapSeconds
 Leap seconds. More...
 
long leapWeek
 Week number of ref time. More...
 
std::map< std::string, IonoCorrmapIonoCorr
 map of label : GAL, GPSA or GPSB, and IONO CORRs More...
 
std::map< std::string, TimeSystemCorrectionmapTimeCorr
 map of label: GAUT, GPUT, etc, and TimeCorr More...
 
unsigned long valid
 
double version
 RINEX Version. More...
 

Static Public Attributes

static const GNSSTK_EXPORT std::string stringComment = "COMMENT"
 
static const GNSSTK_EXPORT std::string stringCorrSysTime = "CORR TO SYSTEM TIME"
 
static const GNSSTK_EXPORT std::string stringDeltaUTC = "DELTA-UTC: A0,A1,T,W"
 
static const GNSSTK_EXPORT std::string stringDUTC = "D-UTC A0,A1,T,W,S,U"
 
static const GNSSTK_EXPORT std::string stringEoH = "END OF HEADER"
 
static const GNSSTK_EXPORT std::string stringIonAlpha = "ION ALPHA"
 
static const GNSSTK_EXPORT std::string stringIonBeta = "ION BETA"
 
static const GNSSTK_EXPORT std::string stringIonoCorr = "IONOSPHERIC CORR"
 
static const GNSSTK_EXPORT std::string stringLeapSeconds = "LEAP SECONDS"
 
static const GNSSTK_EXPORT std::string stringRunBy = "PGM / RUN BY / DATE"
 
static const GNSSTK_EXPORT std::string stringTimeSysCorr = "TIME SYSTEM CORR"
 
static const GNSSTK_EXPORT std::string stringVersion = "RINEX VERSION / TYPE"
 

Protected Member Functions

virtual void reallyGetRecord (FFStream &s)
 
virtual void reallyPutRecord (FFStream &s) const
 

Member Enumeration Documentation

◆ validBits

These are validity bits used in checking the RINEX NAV header.

Enumerator
validVersion 

Set if RINEX version is valid.

validRunBy 

Set if Run-by value is valid.

validComment 

Set if Comments are valid.

validIonoCorrGPS 

Set if GPS Iono Correction data is valid.

validIonoCorrGal 

Set if Gal Iono Correction data is valid.

validTimeSysCorr 

Set if Time System Correction is valid.

validLeapSeconds 

Set if the Leap Seconds value is valid.

validEoH 

Set if the End of Header is valid.

allValid3 

This bitset checks that all required header items are available for a Rinex (2 or 3) version file - only Version, RunBy, EOH are required.

allValid2 

Definition at line 156 of file Rinex3NavHeader.hpp.

Constructor & Destructor Documentation

◆ Rinex3NavHeader()

gnsstk::Rinex3NavHeader::Rinex3NavHeader ( )
inline

Constructor.

Definition at line 114 of file Rinex3NavHeader.hpp.

◆ ~Rinex3NavHeader()

virtual gnsstk::Rinex3NavHeader::~Rinex3NavHeader ( )
inlinevirtual

Destructor.

Definition at line 120 of file Rinex3NavHeader.hpp.

Member Function Documentation

◆ compare()

bool gnsstk::Rinex3NavHeader::compare ( const Rinex3NavHeader right,
std::vector< std::string > &  diffs,
const std::vector< std::string > &  inclExclList,
bool  incl = false 
)

Compare this header with another.

Parameters
[in]rightthe header to compare this with.
[out]diffsThe header strings/identifiers that are different between this and right.
[in]inclExclLista list of header strings to be ignored or used when making the comparison (e.g. "RINEX VERSION / TYPE").
[in]inclWhen true, only header lines listed in inclExclList will be compared. When false, differences in header lines in inclExclList will be ignored.
Todo:
compare stringCorrSysTime... not clear how to do this since the exact same data structure is used to store stuff from TimeSysCorr and CorrSysTime.

Definition at line 835 of file Rinex3NavHeader.cpp.

◆ dump()

void gnsstk::Rinex3NavHeader::dump ( std::ostream &  s) const
virtual

This function dumps the contents of the header.

Reimplemented from gnsstk::FFData.

Definition at line 693 of file Rinex3NavHeader.cpp.

◆ isHeader()

virtual bool gnsstk::Rinex3NavHeader::isHeader ( ) const
inlinevirtual

Rinex3NavHeader is a "header" so this function always returns true.

Reimplemented from gnsstk::FFData.

Definition at line 124 of file Rinex3NavHeader.hpp.

◆ reallyGetRecord()

void gnsstk::Rinex3NavHeader::reallyGetRecord ( FFStream s)
protectedvirtual

This function reads the RINEX Nav header from the given FFStream. If an error is encountered in reading from the stream, the stream is reset to its original position and its fail-bit is set.

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

Implements gnsstk::FFData.

Definition at line 187 of file Rinex3NavHeader.cpp.

◆ reallyPutRecord()

void gnsstk::Rinex3NavHeader::reallyPutRecord ( FFStream s) const
protectedvirtual

Protected member functions Write this header to stream s.

Exceptions
std::exception
FFStreamError
StringUtils::StringException

Implements gnsstk::FFData.

Definition at line 448 of file Rinex3NavHeader.cpp.

◆ setFileSystem()

void gnsstk::Rinex3NavHeader::setFileSystem ( const std::string &  str)

Change the file system, keeping fileType, fileSys, and fileSysSat consistent.

Parameters
[in]strbeginning with system character or "M" for mixed
Exceptions
Exception

Definition at line 784 of file Rinex3NavHeader.cpp.

Member Data Documentation

◆ commentList

std::vector<std::string> gnsstk::Rinex3NavHeader::commentList

Comment list

Definition at line 185 of file Rinex3NavHeader.hpp.

◆ date

std::string gnsstk::Rinex3NavHeader::date

Date string; includes "UTC" at the end.

Definition at line 184 of file Rinex3NavHeader.hpp.

◆ fileAgency

std::string gnsstk::Rinex3NavHeader::fileAgency

Agency string.

Definition at line 183 of file Rinex3NavHeader.hpp.

◆ fileProgram

std::string gnsstk::Rinex3NavHeader::fileProgram

Program string.

Definition at line 182 of file Rinex3NavHeader.hpp.

◆ fileSys

std::string gnsstk::Rinex3NavHeader::fileSys

File system string.

Definition at line 180 of file Rinex3NavHeader.hpp.

◆ fileSysSat

SatID gnsstk::Rinex3NavHeader::fileSysSat

File system as a SatID.

Definition at line 181 of file Rinex3NavHeader.hpp.

◆ fileType

std::string gnsstk::Rinex3NavHeader::fileType

File type "N....".

Definition at line 179 of file Rinex3NavHeader.hpp.

◆ leapDay

long gnsstk::Rinex3NavHeader::leapDay

Day of week of ref time.

Definition at line 193 of file Rinex3NavHeader.hpp.

◆ leapDelta

long gnsstk::Rinex3NavHeader::leapDelta

Change in Leap seconds at ref time.

Definition at line 191 of file Rinex3NavHeader.hpp.

◆ leapSeconds

long gnsstk::Rinex3NavHeader::leapSeconds

Leap seconds.

Definition at line 190 of file Rinex3NavHeader.hpp.

◆ leapWeek

long gnsstk::Rinex3NavHeader::leapWeek

Week number of ref time.

Definition at line 192 of file Rinex3NavHeader.hpp.

◆ mapIonoCorr

std::map<std::string,IonoCorr> gnsstk::Rinex3NavHeader::mapIonoCorr

map of label : GAL, GPSA or GPSB, and IONO CORRs

Definition at line 189 of file Rinex3NavHeader.hpp.

◆ mapTimeCorr

std::map<std::string,TimeSystemCorrection> gnsstk::Rinex3NavHeader::mapTimeCorr

map of label: GAUT, GPUT, etc, and TimeCorr

Definition at line 187 of file Rinex3NavHeader.hpp.

◆ stringComment

const string gnsstk::Rinex3NavHeader::stringComment = "COMMENT"
static

Definition at line 200 of file Rinex3NavHeader.hpp.

◆ stringCorrSysTime

const string gnsstk::Rinex3NavHeader::stringCorrSysTime = "CORR TO SYSTEM TIME"
static

Definition at line 211 of file Rinex3NavHeader.hpp.

◆ stringDeltaUTC

const string gnsstk::Rinex3NavHeader::stringDeltaUTC = "DELTA-UTC: A0,A1,T,W"
static

Definition at line 209 of file Rinex3NavHeader.hpp.

◆ stringDUTC

const string gnsstk::Rinex3NavHeader::stringDUTC = "D-UTC A0,A1,T,W,S,U"
static

Definition at line 213 of file Rinex3NavHeader.hpp.

◆ stringEoH

const string gnsstk::Rinex3NavHeader::stringEoH = "END OF HEADER"
static

Definition at line 219 of file Rinex3NavHeader.hpp.

◆ stringIonAlpha

const string gnsstk::Rinex3NavHeader::stringIonAlpha = "ION ALPHA"
static

Definition at line 215 of file Rinex3NavHeader.hpp.

◆ stringIonBeta

const string gnsstk::Rinex3NavHeader::stringIonBeta = "ION BETA"
static

Definition at line 217 of file Rinex3NavHeader.hpp.

◆ stringIonoCorr

const string gnsstk::Rinex3NavHeader::stringIonoCorr = "IONOSPHERIC CORR"
static

Definition at line 203 of file Rinex3NavHeader.hpp.

◆ stringLeapSeconds

const string gnsstk::Rinex3NavHeader::stringLeapSeconds = "LEAP SECONDS"
static

Definition at line 207 of file Rinex3NavHeader.hpp.

◆ stringRunBy

const string gnsstk::Rinex3NavHeader::stringRunBy = "PGM / RUN BY / DATE"
static

Definition at line 198 of file Rinex3NavHeader.hpp.

◆ stringTimeSysCorr

const string gnsstk::Rinex3NavHeader::stringTimeSysCorr = "TIME SYSTEM CORR"
static

Definition at line 205 of file Rinex3NavHeader.hpp.

◆ stringVersion

const string gnsstk::Rinex3NavHeader::stringVersion = "RINEX VERSION / TYPE"
static

Definition at line 196 of file Rinex3NavHeader.hpp.

◆ valid

unsigned long gnsstk::Rinex3NavHeader::valid

Member data All 'valid..' bits found in this header

Definition at line 153 of file Rinex3NavHeader.hpp.

◆ version

double gnsstk::Rinex3NavHeader::version

RINEX Version.

Definition at line 178 of file Rinex3NavHeader.hpp.


The documentation for this class was generated from the following files:


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:45