Go to the documentation of this file.
39 #ifndef GNSSTK_GLOCNAVALM_HPP
40 #define GNSSTK_GLOCNAVALM_HPP
46 #include "gnsstk_export.h"
67 GNSSTK_EXPORT
static const double GM;
69 GNSSTK_EXPORT
static const double ae;
71 GNSSTK_EXPORT
static constexpr
double omegaE = 0.7292115e-4;
73 GNSSTK_EXPORT
static const double iav;
75 GNSSTK_EXPORT
static const double Tav;
77 GNSSTK_EXPORT
static const double J20;
83 {
return std::make_shared<GLOCNavAlm>(*
this); }
156 inline double geta()
const {
return a; }
157 inline double geth()
const {
return h; }
158 inline double getl()
const {
return l; }
161 inline double geti()
const {
return i; }
171 friend class ::GLOCNavAlm_T;
203 inline void seti(
double DeltaiA);
211 inline void seta(
double epsilonA,
double omegaA,
double Tdr);
216 inline void setp(
double epsilonA);
219 inline void setlambda(
double lambdaA,
double n,
double Deltatpr);
222 inline void setomega(
double omegaA,
double n,
double Deltatpr);
224 inline void sethl(
double epsilonA);
225 friend class ::GLOCNavAlm_T;
265 friend class ::GLOCNavAlm_T;
310 inline void setE(
double L);
329 friend class ::GLOCNavAlm_T;
362 inline void setW(
double DeltaTA);
365 inline void setTdr(
double DeltaTA,
double DeltaTdotA);
371 inline void setE0(
double epsilonA);
375 inline void setL1(
double epsilonA);
381 inline void setL(
double DeltaTA,
double DeltaTdotA);
386 friend class ::GLOCNavAlm_T;
392 friend class ::GLOCNavAlm_T;
405 #endif // GNSSTK_GLOCNAVALM_HPP
std::shared_ptr< NavData > NavDataPtr
Factories instantiate these in response to find() requests.
static const GNSSTK_EXPORT double GM
Gravitational constant.
int W
Number of whole orbits on prediction intvl.
static const GNSSTK_EXPORT double ae
Equatorial radius of Earth in km.
void setdeltaLk(double B, double Lk, const Uncorrected &uncor)
Perturbations()
Initialize everything to NaN.
double lambda
longitude of ascending node
void setdeltai(double B, double Lk, const Uncorrected &uncor)
void setData(double B, double Lk, const Uncorrected &uncor)
unsigned numSVs
Number of SVs in complete almanac (NS).
GLOCOrbitType orbitType
Orbit type.
Uncorrected()
Initialize data to NaN.
double p
Orbit radius at perigee (?)
static const GNSSTK_EXPORT double Tav
Tav</cp> as defined in ICD-GLONASS-CDMA-L3 section 5.3.2.15.
GLOCNavAlm()
Sets the nav message type, and all other data members to 0.
double deltaT
Draconic orbital period offset.
CommonTime getUserTime() const override
void seta(double epsilonA, double omegaA, double Tdr)
double L1
Mean longitude at ascending node.
static const GNSSTK_EXPORT double iav
iap</cp> as defined in ICD-GLONASS-CDMA-L3 section 5.3.2.12
static const GNSSTK_EXPORT double J20
Second degree coefficient of normal potential, table 4.1.
double tLambda
Instant in Moscow time when passing lambda.
void setData(double L, const Uncorrected &uncor, const Deltas &delta1, const Deltas &delta2)
unsigned statusReg
Status register (SRA 5.3.2.7).
unsigned aoa
Age of almanac (EA).
double omega
argument of perigee
Xvt getXvt(const gnsstk::CommonTime &toi)
double l
Quasi-Keplerian thing (true longitude?).
void setW(double DeltaTA)
void sethl(double epsilonA)
Perturbations operator-(const Perturbations &right) const
Allow this class to be differenced.
NavDataPtr clone() const override
Create a deep copy of this object.
Class to assist in doing all the math to get the XVT.
void setL1(double epsilonA)
GLOCSatType satType
What satellite j is and what it transmits.
GLOCSatType
Values for Word M in the ephemeris (immediate) and almanac data.
double deltai
Inclination offset from 64.8 degrees (semicirc).
bool validate() const override
static const GNSSTK_EXPORT PZ90Ellipsoid ell
Ellipsoid parameters used by GLONASS.
void setlambda(double lambdaA, double n, double Deltatpr)
Xvt getXvt(const GLOCNavAlm &alm, const gnsstk::CommonTime &toi)
double ecc
Eccentricity at tlambdaA.
double p
Orbit radius at perigee (?)
double Tdr
Mean draconic period in orbit W+1.
void setData(const GLOCNavAlm &alm, double Tdr, double n, double Deltatpr)
double tau
Time correction from L3OCd to GLONASS.
Provide methods for computing the corrected Keplerian parameters.
Corrected corrected
Corrected parameters (stage 9).
CommonTime Toa
Reference time for almanac.
void setE0(double epsilonA)
void setomega(double omegaA, double n, double Deltatpr)
Uncorrected uncorrected
Uncorrected parameters (stage 1-9-ish).
void setdeltal(double B, double Lk, const Uncorrected &uncor)
void setdeltaa_a(double B, double Lk, const Uncorrected &uncor)
void setL(double DeltaTA, double DeltaTdotA)
DumpDetail
Specify level of detail for dump output.
void setDeltatpr(const gnsstk::CommonTime &almTime, const gnsstk::CommonTime &ti)
double L
Current mean longitude of SV.
Deltas k1
Delta values for k=1.
void dumpTerse(std::ostream &s) const
double E
Eccentric anomaly.
double E0
Eccentric anomaly at t_A (?).
double omega
Almanac parameter for argument of perigee (semicirc).
double lambda
Longitude of first ascending node (semicirc).
void dump(std::ostream &s, DumpDetail dl) const override
Deltas k2
Delta values for k=2.
double Deltatpr
Time diff in seconds from ref to interest.
void seti(double DeltaiA)
double deltaTdot
Draconic orbital period rate.
bool getXvt(const CommonTime &when, Xvt &xvt, const ObsID &=ObsID()) override
NumberCruncher math
Retain as much computed data as possible.
Corrected()
Initialize data to NaN.
unsigned NA
Almanac reference time days since leap year.
double B
Correction scale factor.
void setTdr(double DeltaTA, double DeltaTdotA)
GLOCOrbitType
Values for Word TO in the almanac data.
double h
Quasi-Keplerian thing (true latitude?).
void setdeltalambda(double B, double Lk, const Uncorrected &uncor)
static constexpr GNSSTK_EXPORT double omegaE
Earth's rotation rate (rad/s).
void setdeltah(double B, double Lk, const Uncorrected &uncor)
double epsilon
epsilon prime, eccentricity.
void setp(double epsilonA)
gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:39