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

Detailed Description

Definition at line 61 of file RinexClockHeader.hpp.

#include <RinexClockHeader.hpp>

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

Classes

struct  RefClk
 Encapsulates a single clock specified in a ANALYSIS CLK REF header. More...
 
struct  RefClkRecord
 
struct  SolnSta
 

Public Member Functions

 RinexClockHeader ()
 A Simple Constructor. More...
 
virtual ~RinexClockHeader ()
 Destructor. More...
 
- Public Member Functions inherited from gnsstk::RinexClockBase
virtual ~RinexClockBase ()
 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...
 

RINEX Clock Header Formatting Strings

enum  validBits {
  versionValid = 0x01, runByValid = 0x02, commentValid = 0x04, leapSecondsValid = 0x08,
  dataTypesValid = 0x010, stationNameValid = 0x020, calibrationClkValid = 0x040, acNameValid = 0x080,
  numRefClkValid = 0x0100, numStationsValid = 0x0200, solnStaNameValid = 0x0400, numSatsValid = 0x00800,
  prnListValid = 0x01000, endValid = 0x080000000, allValidAR = 0x080000797, allValidAS = 0x080001F97,
  allValidCR = 0x080000073, allValidDR = 0x080000033, allValidMS = 0x080000093
}
 Validity bits for the RINEX Clock Header. More...
 
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 leapSecondsString = "LEAP SECONDS"
 "LEAP SECONDS" More...
 
static const GNSSTK_EXPORT std::string dataTypesString = "# / 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 calibrationClkString = "STATION CLK REF"
 "STATION CLK REF" More...
 
static const GNSSTK_EXPORT std::string acNameString = "ANALYSIS CENTER"
 "ANALYSIS CENTER" More...
 
static const GNSSTK_EXPORT std::string numRefClkString = "# OF CLK REF"
 "# OF CLK REF" More...
 
static const GNSSTK_EXPORT std::string analysisClkRefString = "ANALYSIS CLK REF"
 "ANALYSIS CLK REF" More...
 
static const GNSSTK_EXPORT std::string numStationsString = "# OF SOLN STA / TRF"
 "# OF SOLN STA / TRF" More...
 
static const GNSSTK_EXPORT std::string solnStaNameString = "SOLN STA NAME / NUM"
 "SOLN STA NAME / NUM" More...
 
static const GNSSTK_EXPORT std::string numSatsString = "# 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 endOfHeader = "END OF HEADER"
 "END OF HEADER" More...
 
double version
 Format version (2.00) More...
 
std::string fileType
 File type ("C" for Clock Data) More...
 
std::string fileProgram
 Name of program creating current file. More...
 
std::string fileAgency
 Name of agency creating current file. More...
 
std::string date
 Date of file creation, no specified format. More...
 
std::list< std::string > commentList
 Comments line(s) More...
 
int leapSeconds
 Leap second (optional) More...
 
int numType
 Number of different clock data types stored in the file. More...
 
std::list< RinexClkTypedataTypeList
 List of clock data types. More...
 
std::string stationName
 4-character reciever name designator More...
 
std::string stationNumber
 
std::string stationClkRef
 
std::string ac
 3-character IGS AC designator More...
 
std::string acName
 Full name of Analysis Center. More...
 
std::list< RefClkRecordrefClkList
 
int numSta
 
std::string trf
 
std::list< SolnStasolnStaList
 
int numSats
 
std::list< SatIDprnList
 List of PRNs. More...
 
unsigned long valid
 Bits set when individual header members are present and valid. More...
 
virtual bool isHeader (void) const
 
virtual void dump (std::ostream &s) const
 A debug function that outputs the header to s. More...
 
bool isValid () const
 Return boolean : is this a valid Rinex clock header? More...
 
virtual void reallyPutRecord (FFStream &s) const
 
virtual void reallyGetRecord (FFStream &s)
 
void clear ()
 Clears all header values and lists. More...
 
void ParseHeaderRecord (const std::string &line)
 

Additional Inherited Members

- Static Public Attributes inherited from gnsstk::RinexClockBase
static const GNSSTK_EXPORT RinexClkType UN
 
static const GNSSTK_EXPORT RinexClkType AR
 
static const GNSSTK_EXPORT RinexClkType AS
 
static const GNSSTK_EXPORT RinexClkType CR
 
static const GNSSTK_EXPORT RinexClkType DR
 
static const GNSSTK_EXPORT RinexClkType MS
 
- Protected Member Functions inherited from gnsstk::RinexClockBase
std::string writeTime (const CivilTime &dt) const
 
CivilTime parseTime (const std::string &line) const
 

Member Enumeration Documentation

◆ validBits

Validity bits for the RINEX Clock Header.

Enumerator
versionValid 

"RINEX VERSION / TYPE"

runByValid 

"PGM / RUN BY / DATE"

commentValid 

"COMMENT"

leapSecondsValid 

"LEAP SECONDS"

dataTypesValid 

"# / TYPES OF DATA"

stationNameValid 

"STATION NAME / NUM"

calibrationClkValid 

"STATION CLK REF"

acNameValid 

"ANALYSIS CENTER"

numRefClkValid 

"# OF CLK REF"

numStationsValid 

"# OF SOLN STA / TRF"

solnStaNameValid 

"SOLN STA NAME / NUM"

numSatsValid 

"# OF SOLN SATS"

prnListValid 

"PRN LIST"

endValid 

"END OF HEADER"

allValidAR 
allValidAS 
allValidCR 
allValidDR 
allValidMS 

Definition at line 107 of file RinexClockHeader.hpp.

Constructor & Destructor Documentation

◆ RinexClockHeader()

gnsstk::RinexClockHeader::RinexClockHeader ( )
inline

A Simple Constructor.

Definition at line 66 of file RinexClockHeader.hpp.

◆ ~RinexClockHeader()

virtual gnsstk::RinexClockHeader::~RinexClockHeader ( )
inlinevirtual

Destructor.

Definition at line 70 of file RinexClockHeader.hpp.

Member Function Documentation

◆ clear()

void gnsstk::RinexClockHeader::clear ( )
protected

Clears all header values and lists.

Definition at line 127 of file RinexClockHeader.cpp.

◆ dump()

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

A debug function that outputs the header to s.

Reimplemented from gnsstk::FFData.

Definition at line 153 of file RinexClockHeader.cpp.

◆ isHeader()

virtual bool gnsstk::RinexClockHeader::isHeader ( void  ) const
inlinevirtual

RinexClockHeader is a "header" so this function always returns true

Reimplemented from gnsstk::FFData.

Definition at line 238 of file RinexClockHeader.hpp.

◆ isValid()

bool gnsstk::RinexClockHeader::isValid ( ) const

Return boolean : is this a valid Rinex clock header?

Definition at line 83 of file RinexClockHeader.cpp.

◆ ParseHeaderRecord()

void gnsstk::RinexClockHeader::ParseHeaderRecord ( const std::string &  line)
private

Parse a single header record, and modify valid accordingly. Used by reallyGetRecord

Exceptions
FFStreamError

ANALYSIS CLK REF

OF SOLN STA / TRF

SOLN STA NAME / NUM

Definition at line 486 of file RinexClockHeader.cpp.

◆ reallyGetRecord()

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

This function retrieves the RINEX Clock Header from the given FFStream. If an stream error is encountered, 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 439 of file RinexClockHeader.cpp.

◆ reallyPutRecord()

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

outputs this record to the stream correctly formatted.

Exceptions
std::exception
FFStreamError
StringUtils::StringException

Implements gnsstk::FFData.

Definition at line 290 of file RinexClockHeader.cpp.

Member Data Documentation

◆ ac

std::string gnsstk::RinexClockHeader::ac

3-character IGS AC designator

Definition at line 211 of file RinexClockHeader.hpp.

◆ acName

std::string gnsstk::RinexClockHeader::acName

Full name of Analysis Center.

Definition at line 213 of file RinexClockHeader.hpp.

◆ acNameString

const string gnsstk::RinexClockHeader::acNameString = "ANALYSIS CENTER"
static

"ANALYSIS CENTER"

Definition at line 89 of file RinexClockHeader.hpp.

◆ analysisClkRefString

const string gnsstk::RinexClockHeader::analysisClkRefString = "ANALYSIS CLK REF"
static

"ANALYSIS CLK REF"

Definition at line 93 of file RinexClockHeader.hpp.

◆ calibrationClkString

const string gnsstk::RinexClockHeader::calibrationClkString = "STATION CLK REF"
static

"STATION CLK REF"

Definition at line 87 of file RinexClockHeader.hpp.

◆ commentList

std::list<std::string> gnsstk::RinexClockHeader::commentList

Comments line(s)

Definition at line 195 of file RinexClockHeader.hpp.

◆ commentString

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

"COMMENT"

Definition at line 79 of file RinexClockHeader.hpp.

◆ dataTypeList

std::list<RinexClkType> gnsstk::RinexClockHeader::dataTypeList

List of clock data types.

Definition at line 201 of file RinexClockHeader.hpp.

◆ dataTypesString

const string gnsstk::RinexClockHeader::dataTypesString = "# / TYPES OF DATA"
static

"# / TYPES OF DATA"

Definition at line 83 of file RinexClockHeader.hpp.

◆ date

std::string gnsstk::RinexClockHeader::date

Date of file creation, no specified format.

Definition at line 193 of file RinexClockHeader.hpp.

◆ endOfHeader

const string gnsstk::RinexClockHeader::endOfHeader = "END OF HEADER"
static

"END OF HEADER"

Definition at line 103 of file RinexClockHeader.hpp.

◆ fileAgency

std::string gnsstk::RinexClockHeader::fileAgency

Name of agency creating current file.

Definition at line 191 of file RinexClockHeader.hpp.

◆ fileProgram

std::string gnsstk::RinexClockHeader::fileProgram

Name of program creating current file.

Definition at line 189 of file RinexClockHeader.hpp.

◆ fileType

std::string gnsstk::RinexClockHeader::fileType

File type ("C" for Clock Data)

Definition at line 187 of file RinexClockHeader.hpp.

◆ leapSeconds

int gnsstk::RinexClockHeader::leapSeconds

Leap second (optional)

Definition at line 197 of file RinexClockHeader.hpp.

◆ leapSecondsString

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

"LEAP SECONDS"

Definition at line 81 of file RinexClockHeader.hpp.

◆ numRefClkString

const string gnsstk::RinexClockHeader::numRefClkString = "# OF CLK REF"
static

"# OF CLK REF"

Definition at line 91 of file RinexClockHeader.hpp.

◆ numSats

int gnsstk::RinexClockHeader::numSats

Number of different satellites in the clock data records and listed in following header records

Definition at line 230 of file RinexClockHeader.hpp.

◆ numSatsString

const string gnsstk::RinexClockHeader::numSatsString = "# OF SOLN SATS"
static

"# OF SOLN SATS"

Definition at line 99 of file RinexClockHeader.hpp.

◆ numSta

int gnsstk::RinexClockHeader::numSta

Number of recievers included in the clock data records (including the analysis reference clock even if it has zero values and is not given in the data records)

Definition at line 220 of file RinexClockHeader.hpp.

◆ numStationsString

const string gnsstk::RinexClockHeader::numStationsString = "# OF SOLN STA / TRF"
static

"# OF SOLN STA / TRF"

Definition at line 95 of file RinexClockHeader.hpp.

◆ numType

int gnsstk::RinexClockHeader::numType

Number of different clock data types stored in the file.

Definition at line 199 of file RinexClockHeader.hpp.

◆ prnList

std::list<SatID> gnsstk::RinexClockHeader::prnList

List of PRNs.

Definition at line 232 of file RinexClockHeader.hpp.

◆ prnListString

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

"PRN LIST"

Definition at line 101 of file RinexClockHeader.hpp.

◆ refClkList

std::list<RefClkRecord> gnsstk::RinexClockHeader::refClkList

List of RefClkRecords that make up the "# OF CLK REF" "ANALYSIS CLK REF" groups

Definition at line 216 of file RinexClockHeader.hpp.

◆ runByString

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

"PGM / RUN BY / DATE"

Definition at line 77 of file RinexClockHeader.hpp.

◆ solnStaList

std::list<SolnSta> gnsstk::RinexClockHeader::solnStaList

List of each station/reciever included in the clock data records, as well as the analysis reference clock even if it has zero values and is not included in the data records

Definition at line 227 of file RinexClockHeader.hpp.

◆ solnStaNameString

const string gnsstk::RinexClockHeader::solnStaNameString = "SOLN STA NAME / NUM"
static

"SOLN STA NAME / NUM"

Definition at line 97 of file RinexClockHeader.hpp.

◆ stationClkRef

std::string gnsstk::RinexClockHeader::stationClkRef

Unique identifier for external reference clock being used as the standard for calibration

Definition at line 209 of file RinexClockHeader.hpp.

◆ stationName

std::string gnsstk::RinexClockHeader::stationName

4-character reciever name designator

Definition at line 203 of file RinexClockHeader.hpp.

◆ stationNameString

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

"STATION NAME / NUM"

Definition at line 85 of file RinexClockHeader.hpp.

◆ stationNumber

std::string gnsstk::RinexClockHeader::stationNumber

Unique reciever identifier, preferably the DOMES number for fixed station

Definition at line 206 of file RinexClockHeader.hpp.

◆ trf

std::string gnsstk::RinexClockHeader::trf

Terrestrial reference frame or SINEX solution for the station/reciever coordinates which match the clock solution

Definition at line 223 of file RinexClockHeader.hpp.

◆ valid

unsigned long gnsstk::RinexClockHeader::valid

Bits set when individual header members are present and valid.

Definition at line 234 of file RinexClockHeader.hpp.

◆ version

double gnsstk::RinexClockHeader::version

Format version (2.00)

Definition at line 185 of file RinexClockHeader.hpp.

◆ versionString

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

"RINEX VERSION / TYPE"

Definition at line 75 of file RinexClockHeader.hpp.


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


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