GLOCNavEph.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 
26 //==============================================================================
27 //
28 // This software was developed by Applied Research Laboratories at the
29 // University of Texas at Austin, under contract to an agency or agencies
30 // within the U.S. Department of Defense. The U.S. Government retains all
31 // rights to use, duplicate, distribute, disclose, or release this software.
32 //
33 // Pursuant to DoD Directive 523024
34 //
35 // DISTRIBUTION STATEMENT A: This software has been approved for public
36 // release, distribution is unlimited.
37 //
38 //==============================================================================
39 #ifndef GNSSTK_GLOCNAVEPH_HPP
40 #define GNSSTK_GLOCNAVEPH_HPP
41 
42 #include "GLOCNavData.hpp"
43 #include "GLOCSatType.hpp"
44 #include "GLOCRegime.hpp"
45 #include "GLOCNavLTDMP.hpp"
46 #include "gnsstk_export.h"
47 
48 namespace gnsstk
49 {
51 
52 
57  class GLOCNavEph : public GLOCNavData
58  {
59  public:
65  GNSSTK_EXPORT static const double we;
66 
68  GLOCNavEph();
70  NavDataPtr clone() const override
71  { return std::make_shared<GLOCNavEph>(*this); }
72 
80  bool validate() const override;
81 
97  bool getXvt(const CommonTime& when, Xvt& xvt,
98  const ObsID& = ObsID()) override;
99 
107  CommonTime getUserTime() const override;
108 
111  void fixFit();
112 
117  void dump(std::ostream& s, DumpDetail dl) const override;
118 
121  void dumpTerse(std::ostream& s) const;
122 
127  static double factorToSigma(int8_t factor);
128 
132  bool haveLTDMP() const
133  { return ltdmp.isSVID(header11.svid); }
134 
136  uint8_t N4;
137  uint16_t NT;
139  uint8_t PS;
140  unsigned long tb;
141  uint8_t EjE;
142  uint8_t EjT;
145  int8_t FjE;
146  int8_t FjT;
147  double clkBias;
148  double freqBias;
149  double driftRate;
150  double tauc;
151  double taucdot;
152 
156 
159  double tauDelta;
160  double tauGPS;
162 
165 
169  double step;
170 
171  private:
184  const Vector<double>& accel,
185  const Vector<double>& lt,
186  bool simplified) const;
187  };
188 
190 
191 }
192 
193 #endif // GNSSTK_GLOCNAVEPH_HPP
gnsstk::NavDataPtr
std::shared_ptr< NavData > NavDataPtr
Factories instantiate these in response to find() requests.
Definition: NavData.hpp:62
gnsstk::GLOCNavEph::Mj
GLOCSatType Mj
What satellite j is and what it transmits.
Definition: GLOCNavEph.hpp:138
gnsstk::GLOCNavEph::validate
bool validate() const override
Definition: GLOCNavEph.cpp:75
gnsstk::GLOCNavEph::RjT
GLOCRegime RjT
Regime for generation of clock data.
Definition: GLOCNavEph.hpp:144
gnsstk::GLOCNavEph::getUserTime
CommonTime getUserTime() const override
Definition: GLOCNavEph.cpp:196
gnsstk::GLOCNavEph::vel
Triple vel
Satellite velocity at tb in km/s.
Definition: GLOCNavEph.hpp:154
gnsstk::GLOCNavHeader::svid
uint8_t svid
Subject SV ID (j).
Definition: GLOCNavHeader.hpp:86
gnsstk::GLOCNavEph
Definition: GLOCNavEph.hpp:57
gnsstk::GLOCNavEph::getXvt
bool getXvt(const CommonTime &when, Xvt &xvt, const ObsID &=ObsID()) override
Definition: GLOCNavEph.cpp:86
gnsstk::GLOCNavEph::PS
uint8_t PS
Number of strings from this type 10 to the next.
Definition: GLOCNavEph.hpp:139
gnsstk::GLOCNavEph::acc
Triple acc
Satellite acceleration at tb in km/s**2.
Definition: GLOCNavEph.hpp:155
gnsstk::GLOCNavEph::EjT
uint8_t EjT
Age of clock (6-hour intervals).
Definition: GLOCNavEph.hpp:142
gnsstk::GLOCNavEph::EjE
uint8_t EjE
Age of ephemeris (6-hour intervals).
Definition: GLOCNavEph.hpp:141
gnsstk::GLOCNavEph::pos
Triple pos
Satellite position at tb in km.
Definition: GLOCNavEph.hpp:153
gnsstk::GLOCNavEph::factorToSigma
static double factorToSigma(int8_t factor)
Definition: GLOCNavEph.cpp:425
gnsstk::GLOCNavEph::Toe
CommonTime Toe
Reference time, combining N4, NT and tb.
Definition: GLOCNavEph.hpp:135
gnsstk::GLOCNavEph::tauDelta
double tauDelta
Offset of L3OCP time to L3OCD time.
Definition: GLOCNavEph.hpp:159
gnsstk::GLOCNavEph::RjE
GLOCRegime RjE
Regime for generation of ephemeris data.
Definition: GLOCNavEph.hpp:143
gnsstk::GLOCNavEph::apcOffset
Triple apcOffset
L3OC APC offset from center of mass.
Definition: GLOCNavEph.hpp:158
gnsstk::GLOCNavHeader
Definition: GLOCNavHeader.hpp:52
gnsstk::GLOCNavEph::dump
void dump(std::ostream &s, DumpDetail dl) const override
Definition: GLOCNavEph.cpp:252
GLOCSatType.hpp
gnsstk::Triple
Definition: Triple.hpp:68
gnsstk::GLOCNavLTDMP::isSVID
bool isSVID(uint8_t sv) const
Definition: GLOCNavLTDMP.hpp:63
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::GLOCNavEph::we
static const GNSSTK_EXPORT double we
Definition: GLOCNavEph.hpp:65
gnsstk::GLOCNavEph::freqBias
double freqBias
Satellite relative frequency bias (gamma^j).
Definition: GLOCNavEph.hpp:148
gnsstk::GLOCNavEph::header11
GLOCNavHeader header11
Header (incl xmit time) data from string 11.
Definition: GLOCNavEph.hpp:163
gnsstk::GLOCNavEph::haveLTDMP
bool haveLTDMP() const
Definition: GLOCNavEph.hpp:132
gnsstk::GLOCSatType
GLOCSatType
Values for Word M in the ephemeris (immediate) and almanac data.
Definition: GLOCSatType.hpp:47
gnsstk::GLOCNavEph::clone
NavDataPtr clone() const override
Create a deep copy of this object.
Definition: GLOCNavEph.hpp:70
gnsstk::GLOCNavEph::taucdot
double taucdot
Rate of correction for GLONASS to Moscow time.
Definition: GLOCNavEph.hpp:151
gnsstk::GLOCNavEph::fixFit
void fixFit()
Definition: GLOCNavEph.cpp:233
gnsstk::GLOCNavEph::clkBias
double clkBias
Satellite clock bias in sec (tau^j).
Definition: GLOCNavEph.hpp:147
gnsstk::GLOCNavEph::tauGPS
double tauGPS
Fractional part of offset from GPS to GLONASS time.
Definition: GLOCNavEph.hpp:160
gnsstk::ObsID
Definition: ObsID.hpp:82
gnsstk::GLOCNavEph::GLOCNavEph
GLOCNavEph()
Sets the nav message type and all other data members to 0.
Definition: GLOCNavEph.cpp:55
gnsstk::GLOCNavEph::tauc
double tauc
Correction for GLONASS to Moscow time.
Definition: GLOCNavEph.hpp:150
gnsstk::GLOCNavEph::dumpTerse
void dumpTerse(std::ostream &s) const
Definition: GLOCNavEph.cpp:363
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::GLOCNavEph::FjE
int8_t FjE
Accuracy factors dependent on ephemeris errors.
Definition: GLOCNavEph.hpp:145
gnsstk::GLOCRegime
GLOCRegime
Regime for data generation (RjE, RjT, see ICD 5.2.2.8).
Definition: GLOCRegime.hpp:47
gnsstk::Xvt
Definition: Xvt.hpp:60
gnsstk::GLOCNavEph::FjT
int8_t FjT
Accuracy factors dependent on clock errors.
Definition: GLOCNavEph.hpp:146
gnsstk::Vector< double >
gnsstk::GLOCNavEph::N4
uint8_t N4
Number of leap years since 1996.
Definition: GLOCNavEph.hpp:136
gnsstk::DumpDetail
DumpDetail
Specify level of detail for dump output.
Definition: DumpDetail.hpp:51
gnsstk::GLOCNavEph::derivative
Vector< double > derivative(const Vector< double > &inState, const Vector< double > &accel, const Vector< double > &lt, bool simplified) const
Definition: GLOCNavEph.cpp:378
gnsstk::GLOCNavLTDMP
Definition: GLOCNavLTDMP.hpp:55
gnsstk::GLOCNavEph::ltdmp
GLOCNavLTDMP ltdmp
Long-term dynamic model parameters.
Definition: GLOCNavEph.hpp:161
gnsstk::GLOCNavEph::NT
uint16_t NT
Day within four-year interval N4.
Definition: GLOCNavEph.hpp:137
gnsstk::GLOCNavEph::driftRate
double driftRate
Half rate of relative deviation of carrier freq.
Definition: GLOCNavEph.hpp:149
GLOCNavLTDMP.hpp
GLOCRegime.hpp
gnsstk::GLOCNavEph::header12
GLOCNavHeader header12
Header (incl xmit time) data from string 12.
Definition: GLOCNavEph.hpp:164
gnsstk::GLOCNavData
Definition: GLOCNavData.hpp:53
gnsstk::GLOCNavEph::step
double step
Definition: GLOCNavEph.hpp:169
GLOCNavData.hpp
gnsstk::GLOCNavEph::tb
unsigned long tb
Instant in Moscow time this data relates to.
Definition: GLOCNavEph.hpp:140


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