Public Member Functions | List of all members
gnsstk::Rinex3ClockHeader Class Reference

Detailed Description

This class models the header for a RINEX Clock file.

See also
gnsstk::Rinex3ClockStream and gnsstk::Rinex3ClockData for more information.
?.cpp for an example.

Definition at line 64 of file Rinex3ClockHeader.hpp.

#include <Rinex3ClockHeader.hpp>

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

Public Member Functions

 Rinex3ClockHeader ()
 constructor More...
 
- Public Member Functions inherited from gnsstk::Rinex3ClockBase
virtual ~Rinex3ClockBase ()
 Destructor per the coding standards. More...
 
- Public Member Functions inherited from gnsstk::FFData
virtual void dump (std::ostream &s) const
 
void getRecord (FFStream &s)
 
virtual bool isData () const
 
void putRecord (FFStream &s) const
 
virtual ~FFData (void)
 virtual desctuctor More...
 

RINEX Clock Header Formatting Strings

enum  validBits {
  versionValid = 0x01, runByValid = 0x02, commentValid = 0x04, sysValid = 0x08,
  timeSystemValid = 0x010, leapSecondsValid = 0x020, sysDCBValid = 0x040, sysPCVValid = 0x080,
  numDataValid = 0x0100, stationNameValid = 0x0200, stationClockRefValid = 0x0400, analysisCenterValid = 0x0800,
  numClockRefValid = 0x01000, analysisClkRefrValid = 0x02000, numReceiversValid = 0x04000, solnStateValid = 0x08000,
  numSolnSatsValid = 0x010000, prnListValid = 0x020000, endOfHeaderValid = 0x040000, allRequiredValid = 0x07C903,
  allValid = 0x07FFFF
}
 Validity bits for the RINEX Clock Header (** optional) More...
 
typedef std::map< std::string, std::vector< RinexObsID > > RinexObsMap
 
typedef std::pair< std::string, std::string > stringPair
 
static const GNSSTK_EXPORT std::string versionString = "RINEX VERSION / TYPE"
 "RINEX VERSION / TYPE" More...
 
static const GNSSTK_EXPORT std::string runByString = "PGM / RUN BY / DATE"
 "PGM / RUN BY / DATE" More...
 
static const GNSSTK_EXPORT std::string commentString = "COMMENT"
 "COMMENT" More...
 
static const GNSSTK_EXPORT std::string sysString = "SYS / # / OBS TYPES"
 "SYS / # / OBS TYPES" More...
 
static const GNSSTK_EXPORT std::string timeSystemString = "TIME SYSTEM ID"
 "TIME SYSTEM ID" More...
 
static const GNSSTK_EXPORT std::string leapSecondsString = "LEAP SECONDS"
 "LEAP SECONDS" More...
 
static const GNSSTK_EXPORT std::string sysDCBString = "SYS / DCBS APPLIED"
 "SYS / DCBS APPLIED" More...
 
static const GNSSTK_EXPORT std::string sysPCVString = "SYS / PCVS APPLIED"
 "SYS / PCVS APPLIED" More...
 
static const GNSSTK_EXPORT std::string numDataString = "# / TYPES OF DATA"
 "# / TYPES OF DATA" More...
 
static const GNSSTK_EXPORT std::string stationNameString = "STATION NAME / NUM"
 "STATION NAME / NUM" More...
 
static const GNSSTK_EXPORT std::string stationClockRefString ="STATION CLK REF"
 "STATION CLK REF" More...
 
static const GNSSTK_EXPORT std::string analysisCenterString = "ANALYSIS CENTER"
 "ANALYSIS CENTER" More...
 
static const GNSSTK_EXPORT std::string numClockRefString = "# OF CLK REF"
 "# OF CLK REF" More...
 
static const GNSSTK_EXPORT std::string analysisClkRefrString ="ANALYSIS CLK REF"
 "ANALYSIS CLK REF" More...
 
static const GNSSTK_EXPORT std::string numReceiversString = "# OF SOLN STA / TRF"
 "# OF SOLN STA / TRF" More...
 
static const GNSSTK_EXPORT std::string solnStateString = "SOLN STA NAME / NUM"
 "SOLN STA NAME / NUM" More...
 
static const GNSSTK_EXPORT std::string numSolnSatsString = "# OF SOLN SATS"
 "# OF SOLN SATS" More...
 
static const GNSSTK_EXPORT std::string prnListString = "PRN LIST"
 "PRN LIST" More...
 
static const GNSSTK_EXPORT std::string endOfHeaderString = "END OF HEADER"
 "END OF HEADER" More...
 
double version
 Rinex3Clock Version or file format. More...
 
std::string program
 Program name. More...
 
std::string runby
 Run by string. More...
 
std::string fileSys
 GNSS system OR Mixed. More...
 
std::vector< std::string > dataTypes
 list of data types More...
 
std::string satSysPrev
 recall the prev sat. sys for continuation lines. More...
 
int numObs
 save OBS # / TYPES and Sys / SCALE FACTOR for continuation lines. More...
 
RinexObsMap sysObsTypes
 list of obs types used for each GNSS More...
 
int leapSeconds
 Leap seconds. More...
 
TimeSystem timeSystem
 Time system. More...
 
std::string analCenterDesignator
 Analysis center designator (3 char) More...
 
std::string analysisCenter
 Analysis center. More...
 
std::string terrRefFrame
 Terr Ref Frame or SINEX solution. More...
 
std::map< std::string, stringPairdcbsMap
 
std::map< std::string, stringPairpcvsMap
 
int numSolnStations
 Number of stations in the solution. More...
 
std::map< std::string, std::string > stationID
 4-char name, station id More...
 
std::map< std::string, std::string > stationX
 name, station X coord in mm More...
 
std::map< std::string, std::string > stationY
 name, station Y coord in mm More...
 
std::map< std::string, std::string > stationZ
 name, station Z coord in mm More...
 
int numSolnSatellites
 Number of satellites in the soln. More...
 
std::vector< RinexSatIDsatList
 List of sats (PRN LIST) More...
 
std::vector< std::string > commentList
 comments More...
 
unsigned long valid
 valid bits for this header More...
 
virtual ~Rinex3ClockHeader ()
 destructor More...
 
virtual bool isHeader () const
 Rinex3ClockHeader is a "header" so this function always returns true. More...
 
virtual void dump (std::ostream &s=std::cout, short detail=0) const noexcept
 
void dumpValid (std::ostream &s=std::cout) const noexcept
 Dump validity bits -> header strings. More...
 
void clear (void)
 clear out the member data More...
 
virtual void reallyPutRecord (FFStream &s) const
 
virtual void reallyGetRecord (FFStream &s)
 

Additional Inherited Members

Member Typedef Documentation

◆ RinexObsMap

typedef std::map<std::string, std::vector<RinexObsID> > gnsstk::Rinex3ClockHeader::RinexObsMap

Definition at line 181 of file Rinex3ClockHeader.hpp.

◆ stringPair

typedef std::pair<std::string,std::string> gnsstk::Rinex3ClockHeader::stringPair

Definition at line 191 of file Rinex3ClockHeader.hpp.

Member Enumeration Documentation

◆ validBits

Validity bits for the RINEX Clock Header (** optional)

Enumerator
versionValid 

"RINEX VERSION / TYPE"

runByValid 

"PGM / RUN BY / DATE"

commentValid 

"COMMENT" **

sysValid 

"SYS / # / OBS TYPES" **

timeSystemValid 

"TIME SYSTEM ID" **

leapSecondsValid 

"LEAP SECONDS" **

sysDCBValid 

"SYS / DCBS APPLIED" **

sysPCVValid 

"SYS / PCVS APPLIED" **

numDataValid 

"# / TYPES OF DATA"

stationNameValid 

"STATION NAME / NUM" **

stationClockRefValid 

"STATION CLK REF" **

analysisCenterValid 

"ANALYSIS CENTER"

numClockRefValid 

"# OF CLK REF" **

analysisClkRefrValid 

"ANALYSIS CLK REF" **

numReceiversValid 

"# OF SOLN STA / TRF"

solnStateValid 

"SOLN STA NAME / NUM"

numSolnSatsValid 

"# OF SOLN SATS"

prnListValid 

"PRN LIST"

endOfHeaderValid 

"END OF HEADER"

allRequiredValid 

this mask if for all required fields

allValid 

all the bits

Definition at line 116 of file Rinex3ClockHeader.hpp.

Constructor & Destructor Documentation

◆ Rinex3ClockHeader()

gnsstk::Rinex3ClockHeader::Rinex3ClockHeader ( )
inline

constructor

Definition at line 69 of file Rinex3ClockHeader.hpp.

◆ ~Rinex3ClockHeader()

virtual gnsstk::Rinex3ClockHeader::~Rinex3ClockHeader ( )
inlinevirtual

destructor

Definition at line 149 of file Rinex3ClockHeader.hpp.

Member Function Documentation

◆ clear()

void gnsstk::Rinex3ClockHeader::clear ( void  )
inlineprotected

clear out the member data

Definition at line 213 of file Rinex3ClockHeader.hpp.

◆ dump()

void gnsstk::Rinex3ClockHeader::dump ( std::ostream &  s = std::cout,
short  detail = 0 
) const
virtualnoexcept

Dump information about the header to an ostream.

Parameters
[in]sostream to receive the output; defaults to std::cout
[in]detailinteger level of detail to provide; allowed values are: 0: all the header string except stations and satellites, but their num. 1: above plus all the stations and satellites 2: above plus all invalid header strings (dumpValid)

Definition at line 518 of file Rinex3ClockHeader.cpp.

◆ dumpValid()

void gnsstk::Rinex3ClockHeader::dumpValid ( std::ostream &  s = std::cout) const
noexcept

Dump validity bits -> header strings.

Definition at line 578 of file Rinex3ClockHeader.cpp.

◆ isHeader()

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

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

Reimplemented from gnsstk::FFData.

Definition at line 153 of file Rinex3ClockHeader.hpp.

◆ reallyGetRecord()

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

This function retrieves the Rinex3Clock header from the given FFStream. If an error is encountered in the retrieval of the header, 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.
Todo:
how to check numSolnSatsValid == satList.size() ?

Implements gnsstk::FFData.

Definition at line 80 of file Rinex3ClockHeader.cpp.

◆ reallyPutRecord()

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

Writes the record formatted to the FFStream s.

Exceptions
std::exception
FFStreamError
StringExceptionwhen a StringUtils function fails

Implements gnsstk::FFData.

Definition at line 290 of file Rinex3ClockHeader.cpp.

Member Data Documentation

◆ analCenterDesignator

std::string gnsstk::Rinex3ClockHeader::analCenterDesignator

Analysis center designator (3 char)

Definition at line 187 of file Rinex3ClockHeader.hpp.

◆ analysisCenter

std::string gnsstk::Rinex3ClockHeader::analysisCenter

Analysis center.

Definition at line 188 of file Rinex3ClockHeader.hpp.

◆ analysisCenterString

const string gnsstk::Rinex3ClockHeader::analysisCenterString = "ANALYSIS CENTER"
static

"ANALYSIS CENTER"

Definition at line 98 of file Rinex3ClockHeader.hpp.

◆ analysisClkRefrString

const string gnsstk::Rinex3ClockHeader::analysisClkRefrString ="ANALYSIS CLK REF"
static

"ANALYSIS CLK REF"

Definition at line 102 of file Rinex3ClockHeader.hpp.

◆ commentList

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

comments

Definition at line 207 of file Rinex3ClockHeader.hpp.

◆ commentString

const string gnsstk::Rinex3ClockHeader::commentString = "COMMENT"
static

"COMMENT"

Definition at line 80 of file Rinex3ClockHeader.hpp.

◆ dataTypes

std::vector<std::string> gnsstk::Rinex3ClockHeader::dataTypes

list of data types

Definition at line 175 of file Rinex3ClockHeader.hpp.

◆ dcbsMap

std::map<std::string, stringPair > gnsstk::Rinex3ClockHeader::dcbsMap

Definition at line 192 of file Rinex3ClockHeader.hpp.

◆ endOfHeaderString

const string gnsstk::Rinex3ClockHeader::endOfHeaderString = "END OF HEADER"
static

"END OF HEADER"

Definition at line 112 of file Rinex3ClockHeader.hpp.

◆ fileSys

std::string gnsstk::Rinex3ClockHeader::fileSys

GNSS system OR Mixed.

Definition at line 174 of file Rinex3ClockHeader.hpp.

◆ leapSeconds

int gnsstk::Rinex3ClockHeader::leapSeconds

Leap seconds.

Definition at line 184 of file Rinex3ClockHeader.hpp.

◆ leapSecondsString

const string gnsstk::Rinex3ClockHeader::leapSecondsString = "LEAP SECONDS"
static

"LEAP SECONDS"

Definition at line 86 of file Rinex3ClockHeader.hpp.

◆ numClockRefString

const string gnsstk::Rinex3ClockHeader::numClockRefString = "# OF CLK REF"
static

"# OF CLK REF"

Definition at line 100 of file Rinex3ClockHeader.hpp.

◆ numDataString

const string gnsstk::Rinex3ClockHeader::numDataString = "# / TYPES OF DATA"
static

"# / TYPES OF DATA"

Definition at line 92 of file Rinex3ClockHeader.hpp.

◆ numObs

int gnsstk::Rinex3ClockHeader::numObs

save OBS # / TYPES and Sys / SCALE FACTOR for continuation lines.

Definition at line 180 of file Rinex3ClockHeader.hpp.

◆ numReceiversString

const string gnsstk::Rinex3ClockHeader::numReceiversString = "# OF SOLN STA / TRF"
static

"# OF SOLN STA / TRF"

Definition at line 104 of file Rinex3ClockHeader.hpp.

◆ numSolnSatellites

int gnsstk::Rinex3ClockHeader::numSolnSatellites

Number of satellites in the soln.

Definition at line 204 of file Rinex3ClockHeader.hpp.

◆ numSolnSatsString

const string gnsstk::Rinex3ClockHeader::numSolnSatsString = "# OF SOLN SATS"
static

"# OF SOLN SATS"

Definition at line 108 of file Rinex3ClockHeader.hpp.

◆ numSolnStations

int gnsstk::Rinex3ClockHeader::numSolnStations

Number of stations in the solution.

Definition at line 197 of file Rinex3ClockHeader.hpp.

◆ pcvsMap

std::map<std::string, stringPair > gnsstk::Rinex3ClockHeader::pcvsMap

Definition at line 194 of file Rinex3ClockHeader.hpp.

◆ prnListString

const string gnsstk::Rinex3ClockHeader::prnListString = "PRN LIST"
static

"PRN LIST"

Definition at line 110 of file Rinex3ClockHeader.hpp.

◆ program

std::string gnsstk::Rinex3ClockHeader::program

Program name.

Definition at line 172 of file Rinex3ClockHeader.hpp.

◆ runby

std::string gnsstk::Rinex3ClockHeader::runby

Run by string.

Definition at line 173 of file Rinex3ClockHeader.hpp.

◆ runByString

const string gnsstk::Rinex3ClockHeader::runByString = "PGM / RUN BY / DATE"
static

"PGM / RUN BY / DATE"

Definition at line 78 of file Rinex3ClockHeader.hpp.

◆ satList

std::vector<RinexSatID> gnsstk::Rinex3ClockHeader::satList

List of sats (PRN LIST)

Definition at line 205 of file Rinex3ClockHeader.hpp.

◆ satSysPrev

std::string gnsstk::Rinex3ClockHeader::satSysPrev

recall the prev sat. sys for continuation lines.

Definition at line 178 of file Rinex3ClockHeader.hpp.

◆ solnStateString

const string gnsstk::Rinex3ClockHeader::solnStateString = "SOLN STA NAME / NUM"
static

"SOLN STA NAME / NUM"

Definition at line 106 of file Rinex3ClockHeader.hpp.

◆ stationClockRefString

const string gnsstk::Rinex3ClockHeader::stationClockRefString ="STATION CLK REF"
static

"STATION CLK REF"

Definition at line 96 of file Rinex3ClockHeader.hpp.

◆ stationID

std::map<std::string,std::string> gnsstk::Rinex3ClockHeader::stationID

4-char name, station id

Definition at line 198 of file Rinex3ClockHeader.hpp.

◆ stationNameString

const string gnsstk::Rinex3ClockHeader::stationNameString = "STATION NAME / NUM"
static

"STATION NAME / NUM"

Definition at line 94 of file Rinex3ClockHeader.hpp.

◆ stationX

std::map<std::string,std::string> gnsstk::Rinex3ClockHeader::stationX

name, station X coord in mm

Definition at line 200 of file Rinex3ClockHeader.hpp.

◆ stationY

std::map<std::string,std::string> gnsstk::Rinex3ClockHeader::stationY

name, station Y coord in mm

Definition at line 201 of file Rinex3ClockHeader.hpp.

◆ stationZ

std::map<std::string,std::string> gnsstk::Rinex3ClockHeader::stationZ

name, station Z coord in mm

Definition at line 202 of file Rinex3ClockHeader.hpp.

◆ sysDCBString

const string gnsstk::Rinex3ClockHeader::sysDCBString = "SYS / DCBS APPLIED"
static

"SYS / DCBS APPLIED"

Definition at line 88 of file Rinex3ClockHeader.hpp.

◆ sysObsTypes

RinexObsMap gnsstk::Rinex3ClockHeader::sysObsTypes

list of obs types used for each GNSS

Definition at line 182 of file Rinex3ClockHeader.hpp.

◆ sysPCVString

const string gnsstk::Rinex3ClockHeader::sysPCVString = "SYS / PCVS APPLIED"
static

"SYS / PCVS APPLIED"

Definition at line 90 of file Rinex3ClockHeader.hpp.

◆ sysString

const string gnsstk::Rinex3ClockHeader::sysString = "SYS / # / OBS TYPES"
static

"SYS / # / OBS TYPES"

Definition at line 82 of file Rinex3ClockHeader.hpp.

◆ terrRefFrame

std::string gnsstk::Rinex3ClockHeader::terrRefFrame

Terr Ref Frame or SINEX solution.

Definition at line 189 of file Rinex3ClockHeader.hpp.

◆ timeSystem

TimeSystem gnsstk::Rinex3ClockHeader::timeSystem

Time system.

Definition at line 185 of file Rinex3ClockHeader.hpp.

◆ timeSystemString

const string gnsstk::Rinex3ClockHeader::timeSystemString = "TIME SYSTEM ID"
static

"TIME SYSTEM ID"

Definition at line 84 of file Rinex3ClockHeader.hpp.

◆ valid

unsigned long gnsstk::Rinex3ClockHeader::valid

valid bits for this header

Definition at line 209 of file Rinex3ClockHeader.hpp.

◆ version

double gnsstk::Rinex3ClockHeader::version

Rinex3Clock Version or file format.

Definition at line 171 of file Rinex3ClockHeader.hpp.

◆ versionString

const string gnsstk::Rinex3ClockHeader::versionString = "RINEX VERSION / TYPE"
static

"RINEX VERSION / TYPE"

Definition at line 76 of file Rinex3ClockHeader.hpp.


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


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