Public Member Functions | Private Attributes | List of all members
gnsstk::EphTime Class Reference

Detailed Description

Todo:
Make this class inherit from TimeTag like all the others.

Class implementing date+time, only in formats applicable solar system ephemeris and earth orientation, namely UTC, TT and TDB. Conversion to and from CommonTime is implicit through casts defined here.

Definition at line 67 of file EphTime.hpp.

#include <EphTime.hpp>

Public Member Functions

std::string asGPSString (const int prec=2) const
 
std::string asMJDString (const int prec=3) const
 
void convertSystemTo (const TimeSystem &ts)
 
double dMJD () const
 
 EphTime ()
 empty constructor More...
 
 EphTime (const CommonTime &dt)
 
 EphTime (double mjd, TimeSystem sys=TimeSystem::UTC)
 constructor from full MJD and system More...
 
 EphTime (int imjd, double dsod, TimeSystem sys=TimeSystem::UTC)
 constructor, input int mjd, seconds of day, and system More...
 
long lMJD () const
 
 operator CommonTime ()
 non-const cast EphTime to CommonTime More...
 
 operator CommonTime () const
 const cast EphTime to CommonTime More...
 
EphTimeoperator+= (double seconds)
 
double secOfDay () const
 
void setMJD (long double mjd)
 
void setTimeSystem (TimeSystem sys)
 
int year () const
 

Private Attributes

double dSOD
 double seconds of day More...
 
long iMJD
 integer MJD More...
 
TimeSystem system
 time system, limited to Unknown, UTC, TT, TDB More...
 

Constructor & Destructor Documentation

◆ EphTime() [1/4]

gnsstk::EphTime::EphTime ( )
inline

empty constructor

Definition at line 76 of file EphTime.hpp.

◆ EphTime() [2/4]

gnsstk::EphTime::EphTime ( int  imjd,
double  dsod,
TimeSystem  sys = TimeSystem::UTC 
)
inline

constructor, input int mjd, seconds of day, and system

Definition at line 79 of file EphTime.hpp.

◆ EphTime() [3/4]

gnsstk::EphTime::EphTime ( double  mjd,
TimeSystem  sys = TimeSystem::UTC 
)
inline

constructor from full MJD and system

Definition at line 85 of file EphTime.hpp.

◆ EphTime() [4/4]

gnsstk::EphTime::EphTime ( const CommonTime dt)
inline

constructor from CommonTime; convert to UTC if system is not UTC|TT|TDB, and change Unknown to UTC.

Parameters
dtCommonTime input
Exceptions
Exceptionif convertSystemTo does, if input system is Unknown

Definition at line 194 of file EphTime.hpp.

Member Function Documentation

◆ asGPSString()

std::string gnsstk::EphTime::asGPSString ( const int  prec = 2) const
inline

return string of form Week sow.sss

Parameters
precprecision in fixed float output

Definition at line 252 of file EphTime.hpp.

◆ asMJDString()

std::string gnsstk::EphTime::asMJDString ( const int  prec = 3) const
inline

return string of form MJD HH:MM:SS.ss

Parameters
precprecision in fixed float output

Definition at line 270 of file EphTime.hpp.

◆ convertSystemTo()

void gnsstk::EphTime::convertSystemTo ( const TimeSystem ts)
inline

convert systems

Parameters
tsTimeSystem to be converted to
Exceptions
Exceptionif Correction does, if input system is Unknown

Definition at line 96 of file EphTime.hpp.

◆ dMJD()

double gnsstk::EphTime::dMJD ( ) const
inline

Compute MJD

Returns
full double MJD

Definition at line 171 of file EphTime.hpp.

◆ lMJD()

long gnsstk::EphTime::lMJD ( ) const
inline

Compute MJD

Returns
long integer MJD

Definition at line 165 of file EphTime.hpp.

◆ operator CommonTime() [1/2]

gnsstk::EphTime::operator CommonTime ( )
inline

non-const cast EphTime to CommonTime

Definition at line 239 of file EphTime.hpp.

◆ operator CommonTime() [2/2]

gnsstk::EphTime::operator CommonTime ( ) const
inline

const cast EphTime to CommonTime

Definition at line 228 of file EphTime.hpp.

◆ operator+=()

EphTime& gnsstk::EphTime::operator+= ( double  seconds)
inline

add seconds to this EphTime

Parameters
secondsdouble seconds to add

Definition at line 120 of file EphTime.hpp.

◆ secOfDay()

double gnsstk::EphTime::secOfDay ( ) const
inline
Returns
seconds of day

Definition at line 177 of file EphTime.hpp.

◆ setMJD()

void gnsstk::EphTime::setMJD ( long double  mjd)
inline

set to value of full MJD

Parameters
mjdlong double MJD

Definition at line 155 of file EphTime.hpp.

◆ setTimeSystem()

void gnsstk::EphTime::setTimeSystem ( TimeSystem  sys)
inline

set the TimeSystem

Parameters
sysdesired TimeSystem
Exceptions
Exceptionif it is not allowed (one of UTC TT TBD)

Definition at line 141 of file EphTime.hpp.

◆ year()

int gnsstk::EphTime::year ( ) const
inline
Returns
year

Definition at line 180 of file EphTime.hpp.

Member Data Documentation

◆ dSOD

double gnsstk::EphTime::dSOD
private

double seconds of day

Definition at line 71 of file EphTime.hpp.

◆ iMJD

long gnsstk::EphTime::iMJD
private

integer MJD

Definition at line 70 of file EphTime.hpp.

◆ system

TimeSystem gnsstk::EphTime::system
private

time system, limited to Unknown, UTC, TT, TDB

Definition at line 72 of file EphTime.hpp.


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


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