GLOCNavAlm_T.cpp
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 #include <math.h>
40 #include "TestUtil.hpp"
41 #include "GLOCNavAlm.hpp"
42 #include "CivilTime.hpp"
43 #include "GLONASSTime.hpp"
44 #include "TimeString.hpp"
45 #include "Angle.hpp"
46 #include "Position.hpp"
47 #include "DebugTrace.hpp"
48 
49 namespace gnsstk
50 {
51  std::ostream& operator<<(std::ostream& s, gnsstk::NavMessageType e)
52  {
53  s << StringUtils::asString(e);
54  return s;
55  }
56  std::ostream& operator<<(std::ostream& s, gnsstk::GLOCSatType e)
57  {
58  s << StringUtils::asString(e);
59  return s;
60  }
61  std::ostream& operator<<(std::ostream& s, gnsstk::GLOCOrbitType e)
62  {
63  s << StringUtils::asString(e);
64  return s;
65  }
66 }
67 
69 {
70 public:
71  unsigned constructorTest();
73  unsigned constructorUncorrectedTest();
74  unsigned constructorCorrectedTest();
76  unsigned validateTest();
77  unsigned getXvtTest();
78  unsigned getUserTimeTest();
79  unsigned fixFitTest();
81  void reproduce();
82  unsigned reproduce2();
83  unsigned NumberCruncherTest();
84  unsigned DeltasTest();
85  unsigned UncorrectedTest();
86  unsigned CorrectedTest();
87 
88  // ICD constants
89  static const double Tav;
90  static const double iav;
91  static const double GM; // in km, not m
92  static const double ae; // in km, not m
93  static const double J20;
94  static const double we; // rad/s
95  // example data from M.2
96  static const double NA;
97  static const double tlambdaA;
98  static const double DeltaTA;
99  static const double DeltaTdotA;
100  static const double lambdaA;
101  static const double omegaA;
102  static const double epsilonA;
103  static const double DeltaiA;
104  static const double ti;
105  static const double N;
106  static const gnsstk::GLONASSTime toi;
107  static const gnsstk::GLONASSTime tA;
108  // values pulled from ICD GLONASS CDMA General Edition appendix M.2
109  static const double DeltatprExpected;
110  static const int WExpected;
111  static const double iExpected;
112  static const double TdrExpected;
113  static const double nExpected;
114  static const double aExpected;
115  static const double lambdaExpected;
116  static const double omegaExpected;
117  static const double E0Expected;
118  static const double L1Expected;
119  static const double LExpected;
120  static const double aprimeExpected;
121  static const double epsilonprimeExpected;
122  static const double iprimeExpected;
123  static const double lambdaprimeExpected;
124  static const double omegaprimeExpected;
125  static const double LprimeExpected;
126  static const double hprimeExpected;
127  static const double lprimeExpected;
128  static const double pprimeExpected;
129  static const double hExpected;
130  static const double lExpected;
131  static const double BExpected;
132  static const double deltaa1_aExpected;
133  static const double deltaa2_aExpected;
134  static const double deltah1Expected;
135  static const double deltah2Expected;
136  static const double deltal1Expected;
137  static const double deltal2Expected;
138  static const double deltalambda1Expected;
139  static const double deltalambda2Expected;
140  static const double deltai1Expected;
141  static const double deltai2Expected;
142  static const double deltaL1Expected;
143  static const double deltaL2Expected;
144  static const double EExpected;
145  static const double nuExpected;
146  static const double uExpected;
147  // not explicitly documented, but confirmed by other means
148  static const double pExpected;
149  static const double rExpected;
150  static const double vrExpected;
151  static const double vuExpected;
152  static const double xExpected;
153  static const double yExpected;
154  static const double zExpected;
155  static const double xdotExpected;
156  static const double ydotExpected;
157  static const double zdotExpected;
158  static const double clkbiasExpected;
159  static const double clkdriftExpected;
161  static const double relcorrExpected;
162 };
163 
164 
165 const double GLOCNavAlm_T::Tav = 40544.0;
166 const double GLOCNavAlm_T::iav = 64.8;
167 const double GLOCNavAlm_T::GM = 398600441.8e-3; // in km, not m
168 const double GLOCNavAlm_T::ae = 6378136e-3; // in km, not m
169 const double GLOCNavAlm_T::J20 = 1082.62575e-6;
170 const double GLOCNavAlm_T::we = 7.2921150e-5; // rad/s
171 const double GLOCNavAlm_T::NA = 1452;
172 const double GLOCNavAlm_T::tlambdaA = 33571.625;
173 const double GLOCNavAlm_T::DeltaTA = 0.01953124999975;
174 const double GLOCNavAlm_T::DeltaTdotA = 6.103515625E-05;
175 const double GLOCNavAlm_T::lambdaA = -0.293967247009277;
176 const double GLOCNavAlm_T::omegaA = 0.57867431640625;
177 const double GLOCNavAlm_T::epsilonA = 0.000432968139648438;
178 const double GLOCNavAlm_T::DeltaiA = -0.00012947082519531;
179 const double GLOCNavAlm_T::ti = 51300;
180 const double GLOCNavAlm_T::N = 1453;
181 const gnsstk::GLONASSTime GLOCNavAlm_T::toi(0, N, ti);
182 const gnsstk::GLONASSTime GLOCNavAlm_T::tA(0, NA, tlambdaA);
183 const double GLOCNavAlm_T::DeltatprExpected = 104128.375;
184 const int GLOCNavAlm_T::WExpected = 2;
185 const double GLOCNavAlm_T::iExpected = 1.1305666106990377;
186 const double GLOCNavAlm_T::TdrExpected = 40544.019836425781;
187 const double GLOCNavAlm_T::nExpected = 0.00015497193747756143;
188 const double GLOCNavAlm_T::aExpected = 25509.694012650143;
189 const double GLOCNavAlm_T::lambdaExpected = -8.5173843140309469;
190 const double GLOCNavAlm_T::omegaExpected = 1.8178836298808301;
191 const double GLOCNavAlm_T::E0Expected = -1.8174637892065451;
192 const double GLOCNavAlm_T::L1Expected = 0.00083970352771615942;
193 const double GLOCNavAlm_T::LExpected = 3.5714451660610322;
194 const double GLOCNavAlm_T::aprimeExpected = 25508.9554310860556;
195 const double GLOCNavAlm_T::epsilonprimeExpected = 0.000424199178735691155;
196 const double GLOCNavAlm_T::iprimeExpected = 1.13055979412986857;
197 const double GLOCNavAlm_T::lambdaprimeExpected = -8.51736802279423523;
198 const double GLOCNavAlm_T::omegaprimeExpected = 1.96580151879618214;
199 const double GLOCNavAlm_T::LprimeExpected = 3.57148542469343516;
200 const double GLOCNavAlm_T::hprimeExpected = 0.00039153353705544239;
201 const double GLOCNavAlm_T::lprimeExpected = -0.00016323735050805419;
202 const double GLOCNavAlm_T::pprimeExpected = 25508.9508408785184;
203 const double GLOCNavAlm_T::hExpected = 0.00041981843111904164;
204 const double GLOCNavAlm_T::lExpected = -0.00010589567905904274;
205 const double GLOCNavAlm_T::BExpected = 0.00010151884398503961;
206 const double GLOCNavAlm_T::deltaa1_aExpected = 8.30615563565482404e-05;
207 const double GLOCNavAlm_T::deltaa2_aExpected = 5.41085801381285305e-05;
208 const double GLOCNavAlm_T::deltah1Expected = 1.69203051231874733e-08;
209 const double GLOCNavAlm_T::deltah2Expected = -2.82679737584760494e-05;
210 const double GLOCNavAlm_T::deltal1Expected = 4.61175901454555875e-05;
211 const double GLOCNavAlm_T::deltal2Expected = -1.12240813035558812e-05;
212 const double GLOCNavAlm_T::deltalambda1Expected = 6.05435071360537479e-08;
213 const double GLOCNavAlm_T::deltalambda2Expected = 1.63517802188070858e-05;
214 const double GLOCNavAlm_T::deltai1Expected = 1.95658219192184023e-05;
215 const double GLOCNavAlm_T::deltai2Expected = 1.27492527500887458e-05;
216 const double GLOCNavAlm_T::deltaL1Expected = 1.10334212545863083e-08;
217 const double GLOCNavAlm_T::deltaL2Expected = 4.02696658242106401e-05;
218 const double GLOCNavAlm_T::EExpected = 1.60610784063585167;
219 const double GLOCNavAlm_T::nuExpected = 1.60653177221277219;
220 const double GLOCNavAlm_T::uExpected = 3.57233329100895433;
221 const double GLOCNavAlm_T::pExpected = 25509.689230566949846;
222 const double GLOCNavAlm_T::rExpected = 25509.3374532650379;
223 const double GLOCNavAlm_T::vrExpected = 0.00167577247194655653;
224 const double GLOCNavAlm_T::vuExpected = 3.95290163460661152;
225 const double GLOCNavAlm_T::xExpected = 10697116.4874360654;
226 const double GLOCNavAlm_T::yExpected = 21058292.4241863210;
227 const double GLOCNavAlm_T::zExpected = -9635679.33963303405;
228 const double GLOCNavAlm_T::xdotExpected = -686.100809921691084;
229 const double GLOCNavAlm_T::ydotExpected = -1136.54864124521881;
230 const double GLOCNavAlm_T::zdotExpected = -3249.98587740305799;
231 const double GLOCNavAlm_T::clkbiasExpected = 0;
232 const double GLOCNavAlm_T::clkdriftExpected = 0;
233 const double GLOCNavAlm_T::relcorrExpected = -9.5126785342953703954e-10;
234 
235 unsigned GLOCNavAlm_T ::
237 {
238  TUDEF("GLOCNavAlm", "GLOCNavAlm()");
239  gnsstk::GLOCNavAlm uut;
241  uut.signal.messageType);
243  uut.orbitType);
244  TUASSERTE(unsigned, 0, uut.numSVs);
245  TUASSERTE(unsigned, 0, uut.aoa);
246  TUASSERTE(unsigned, 0, uut.NA);
247  TUASSERTE(unsigned, 0, uut.statusReg);
249  uut.satType);
250  TUASSERTE(int, 1, isnan(uut.tau));
251  TUASSERTE(int, 1, isnan(uut.lambda));
252  TUASSERTE(int, 1, isnan(uut.tLambda));
253  TUASSERTE(int, 1, isnan(uut.deltai));
254  TUASSERTE(int, 1, isnan(uut.ecc));
255  TUASSERTE(int, 1, isnan(uut.omega));
256  TUASSERTE(int, 1, isnan(uut.deltaT));
257  TUASSERTE(int, 1, isnan(uut.deltaTdot));
258  TURETURN();
259 }
260 
261 
262 unsigned GLOCNavAlm_T ::
264 {
265  TUDEF("GLOCNavAlm::Perturbations", "Perturbations()");
267  TUASSERTE(int, 1, isnan(uut.a));
268  TUASSERTE(int, 1, isnan(uut.h));
269  TUASSERTE(int, 1, isnan(uut.l));
270  TUASSERTE(int, 1, isnan(uut.lambda));
271  TUASSERTE(int, 1, isnan(uut.omega));
272  TUASSERTE(int, 1, isnan(uut.i));
273  TUASSERTE(int, 1, isnan(uut.Lk));
274  TURETURN();
275 }
276 
277 
278 unsigned GLOCNavAlm_T ::
280 {
281  TUDEF("GLOCNavAlm::Uncorrected", "Uncorrected()");
283  TUASSERTE(int, 1, isnan(uut.p));
284  TURETURN();
285 }
286 
287 
288 unsigned GLOCNavAlm_T ::
290 {
291  TUDEF("GLOCNavAlm::Corrected", "Corrected()");
293  TUASSERTE(int, 1, isnan(uut.E));
294  TUASSERTE(int, 1, isnan(uut.epsilon));
295  TUASSERTE(int, 1, isnan(uut.nu));
296  TUASSERTE(int, 1, isnan(uut.p));
297  TUASSERTE(int, 1, isnan(uut.u));
298  TUASSERTE(int, 1, isnan(uut.r));
299  TUASSERTE(int, 1, isnan(uut.vu));
300  TUASSERTE(int, 1, isnan(uut.vr));
301  TURETURN();
302 }
303 
304 unsigned GLOCNavAlm_T ::
306 {
307  TUDEF("GLOCNavAlm::NumberCruncher", "NumberCruncher()");
309  TUASSERTE(int, 1, isnan(uut.Deltatpr));
310  TUASSERTE(int, -1, uut.W);
311  TUASSERTE(int, 1, isnan(uut.Tdr));
312  TUASSERTE(int, 1, isnan(uut.n));
313  TUASSERTE(int, 1, isnan(uut.E0));
314  TUASSERTE(int, 1, isnan(uut.L1));
315  TUASSERTE(int, 1, isnan(uut.L));
316  TUASSERTE(int, 1, isnan(uut.B));
317  TURETURN();
318 }
319 
320 unsigned GLOCNavAlm_T ::
322 {
323  TUDEF("GLOCNavAlm", "validate()");
324  gnsstk::GLOCNavAlm uut;
326  TUASSERTE(bool, true, uut.validate());
327  TURETURN();
328 }
329 
330 
331 unsigned GLOCNavAlm_T ::
333 {
334  TUDEF("GLOCNavAlm", "getXvt()");
335  gnsstk::GLOCNavAlm uut;
336  //uut.tau = not specified
337  uut.lambda = lambdaA;
338  uut.deltai = DeltaiA;
339  uut.ecc = epsilonA;
340  uut.omega = omegaA;
341  uut.tLambda = tlambdaA;
342  uut.deltaT = DeltaTA;
343  uut.deltaTdot = DeltaTdotA;
346 
347  gnsstk::Xvt xvt;
348  TUASSERTE(bool, true, uut.getXvt(toi, xvt));
349  TUASSERTFESMRT(xExpected, xvt.x[0]);
350  TUASSERTFESMRT(yExpected, xvt.x[1]);
351  TUASSERTFESMRT(zExpected, xvt.x[2]);
352  // This is a bit of a cheat. All I can figure is that numeric
353  // error gets accumulated in the LSBs leading to v[0] being just
354  // slightly out of spec. That or the fact that it's negative
355  // has an effect on the representable digits. Either way, this
356  // same code and its results are tested pretty thoroughly,
357  // step-by-step, in other test methods.
358  TUASSERTFEPS(xdotExpected, xvt.v[0], 1.5e-12);
359  TUASSERTFESMRT(ydotExpected, xvt.v[1]);
360  TUASSERTFESMRT(zdotExpected, xvt.v[2]);
364  TUASSERTE(gnsstk::RefFrame,expRF,xvt.frame);
365 
367  TUASSERTE(int, WExpected, uut.math.W);
374 
390 
398 
405 
412 
413  TURETURN();
414 }
415 
416 
417 unsigned GLOCNavAlm_T ::
419 {
420  TUDEF("GLOCNavAlm", "getUserTime()");
421  gnsstk::GLOCNavAlm uut;
422  uut.timeStamp = gnsstk::CivilTime(2006, 10, 01, 0, 15, 0,
424  gnsstk::CommonTime exp(uut.timeStamp + 3.0);
426  TURETURN();
427 }
428 
429 
430 unsigned GLOCNavAlm_T ::
432 {
433  TUDEF("GLOCNavAlm", "fixFit()");
434  gnsstk::GLOCNavAlm uut;
435  uut.timeStamp = gnsstk::CivilTime(2006, 10, 01, 0, 15, 0,
437  gnsstk::CommonTime expBegin(uut.timeStamp),
440  TUCATCH(uut.fixFit());
441  TUASSERTE(gnsstk::CommonTime, expBegin, uut.beginFit);
442  // This is not a good value but it's the only one we have for now
443  TUASSERTE(gnsstk::CommonTime, expEnd, uut.endFit);
444  TURETURN();
445 }
446 
447 
448 unsigned GLOCNavAlm_T ::
450 {
451  TUDEF("GLOCNavAlm::Uncorrected", "moo");
453  TUCSM("seti");
454  TUCATCH(uut.seti(DeltaiA));
455  TUASSERTFESMRT(iExpected, uut.i);
456  TUCSM("seta");
458  TUASSERTFESMRT(aExpected, uut.a);
459  TUCSM("setp");
460  TUCATCH(uut.setp(epsilonA));
461  TUASSERTFESMRT(pExpected, uut.p);
462  TUCSM("setlambda");
465  TUCSM("setomega");
468  TUCSM("sethl");
469  TUCATCH(uut.sethl(epsilonA));
470  TUASSERTFESMRT(hExpected, uut.h);
471  TUASSERTFESMRT(lExpected, uut.l);
472  TURETURN();
473 }
474 
475 
476 unsigned GLOCNavAlm_T ::
478 {
479  TUDEF("GLOCNavAlm::Corrected", "setData");
482  gnsstk::GLOCNavAlm::Deltas delta1, delta2;
483  TUCSM("setnu");
486  uut.E = EExpected;
487  TUCATCH(uut.setnu());
489  TUCSM("setE");
491  uut.Lk = LprimeExpected;
494  TUCATCH(uut.setE(LExpected));
495  TUASSERTFESMRT(EExpected, uut.E);
496  TUCSM("setp");
499  uut.a = aprimeExpected;
500  TUCATCH(uut.setp());
502  TUCSM("setu");
504  uut.nu = nuExpected;
506  TUCATCH(uut.setu());
507  TUASSERTFESMRT(uExpected, uut.u);
508  TUCSM("setr");
510  uut.p = pprimeExpected;
512  uut.nu = nuExpected;
513  TUCATCH(uut.setr());
514  TUASSERTFESMRT(rExpected, uut.r);
515  TUCSM("setvrvu");
517  uut.p = pprimeExpected;
519  uut.nu = nuExpected;
520  TUCATCH(uut.setvrvu());
523  TUCSM("setData");
525  uncor.a = aExpected;
526  uncor.h = hExpected;
527  uncor.l = lExpected;
528  uncor.i = iExpected;
529  uncor.lambda = lambdaExpected;
530  delta1.a = deltaa1_aExpected;
531  delta1.h = deltah1Expected;
532  delta1.l = deltal1Expected;
533  delta1.lambda = deltalambda1Expected;
534  delta1.i = deltai1Expected;
535  delta1.Lk = deltaL1Expected;
536  delta2.a = deltaa2_aExpected;
537  delta2.h = deltah2Expected;
538  delta2.l = deltal2Expected;
539  delta2.lambda = deltalambda2Expected;
540  delta2.i = deltai2Expected;
541  delta2.Lk = deltaL2Expected;
542  TUCATCH(uut.setData(LExpected, uncor, delta1, delta2));
543  TUCSM("setData(a')");
545  TUCSM("setData(h')");
547  TUCSM("setData(l')");
549  TUCSM("setData(lambda')");
551  TUCSM("setData(epsilon')");
553  TUCSM("setData(omega')");
555  TUCSM("setData(i')");
557  TUCSM("setData(L')");
559  TUCSM("setData(p)");
561  TUCSM("setData(u)");
562  TUASSERTFESMRT(uExpected, uut.u);
563  TUCSM("setData(r)");
564  TUASSERTFESMRT(rExpected, uut.r);
565  TUCSM("setData(vr)");
567  TUCSM("setData(vu)");
569  // time is only used to figure out the ref frame
570  gnsstk::CivilTime dummy(2023,1,1,0,0,0,gnsstk::TimeSystem::UTC);
571  gnsstk::Xvt got = uut.getXvt(dummy);
572  TUCSM("getXvt(x)");
573  TUASSERTFESMRT(xExpected, got.x[0]);
574  TUCSM("getXvt(y)");
575  TUASSERTFESMRT(yExpected, got.x[1]);
576  TUCSM("getXvt(z)");
577  TUASSERTFESMRT(zExpected, got.x[2]);
578  TUCSM("getXvt(vx)");
579  TUASSERTFESMRT(xdotExpected, got.v[0]);
580  TUCSM("getXvt(vy)");
581  TUASSERTFESMRT(ydotExpected, got.v[1]);
582  TUCSM("getXvt(vz)");
583  TUASSERTFESMRT(zdotExpected, got.v[2]);
584  TURETURN();
585 }
586 
587 
588 unsigned GLOCNavAlm_T ::
590 {
591  TUDEF("GLOCNavAlm::NumberCruncher", "moo");
593  TUCSM("setDeltatpr");
594  TUCATCH(uut.setDeltatpr(tA, toi));
596  TUCSM("setW");
597  TUCATCH(uut.setW(DeltaTA));
598  TUASSERTE(int, WExpected, uut.W);
599  TUCSM("setTdr");
602  TUCSM("setn");
603  TUCATCH(uut.setn());
604  TUASSERTFESMRT(nExpected, uut.n);
605  TUCSM("setE0");
607  TUCATCH(uut.setE0(epsilonA));
609  TUCSM("setL1");
610  TUCATCH(uut.setL1(epsilonA));
612  TUCSM("setL");
614  TUASSERTFESMRT(LExpected, uut.L);
615  TUCSM("setB");
616  uut.uncorrected.a = aExpected;
617  TUCATCH(uut.setB());
618  TUASSERTFESMRT(BExpected, uut.B);
619  TURETURN();
620 }
621 
622 
623 unsigned GLOCNavAlm_T ::
625 {
626  TUDEF("GLOCNavAlm::NumberCruncher::Deltas", "moo");
629  TUCSM("setdeltaa_a");
630  uncor.h = hExpected;
631  uncor.l = lExpected;
632  uncor.a = aExpected;
633  uncor.i = iExpected;
634  deltas.setdeltaa_a(BExpected, L1Expected, uncor);
636  deltas.setdeltaa_a(BExpected, LExpected, uncor);
638  TUCSM("setdeltah");
639  deltas.setdeltah(BExpected, L1Expected, uncor);
641  deltas.setdeltah(BExpected, LExpected, uncor);
643  TUCSM("setdeltal");
644  deltas.setdeltal(BExpected, L1Expected, uncor);
646  deltas.setdeltal(BExpected, LExpected, uncor);
648  TUCSM("setdeltalambda");
649  deltas.setdeltalambda(BExpected, L1Expected, uncor);
651  deltas.setdeltalambda(BExpected, LExpected, uncor);
653  TUCSM("setdeltai");
654  deltas.setdeltai(BExpected, L1Expected, uncor);
656  deltas.setdeltai(BExpected, LExpected, uncor);
658  TUCSM("setdeltaLk");
659  deltas.setdeltaLk(BExpected, L1Expected, uncor);
661  deltas.setdeltaLk(BExpected, LExpected, uncor);
663  TURETURN();
664 }
665 
666 
667 int main()
668 {
669  GLOCNavAlm_T testClass;
670  unsigned errorTotal = 0;
671 
672  errorTotal += testClass.constructorTest();
673  errorTotal += testClass.constructorPerturbationsTest();
674  errorTotal += testClass.constructorUncorrectedTest();
675  errorTotal += testClass.constructorCorrectedTest();
676  errorTotal += testClass.constructorNumberCruncherTest();
677  errorTotal += testClass.validateTest();
678  errorTotal += testClass.getXvtTest();
679  errorTotal += testClass.getUserTimeTest();
680  errorTotal += testClass.fixFitTest();
681  errorTotal += testClass.NumberCruncherTest();
682  errorTotal += testClass.DeltasTest();
683  errorTotal += testClass.UncorrectedTest();
684  errorTotal += testClass.CorrectedTest();
685 
686  std::cout << "Total Failures for " << __FILE__ << ": " << errorTotal
687  << std::endl;
688 
689  return errorTotal;
690 }
GLOCNavAlm_T::nExpected
static const double nExpected
Definition: GLOCNavAlm_T.cpp:113
gnsstk::GLOCNavAlm::NumberCruncher::setB
void setB()
Definition: GLOCNavAlmNumberCruncher.hpp:121
gnsstk::GLOCNavAlm::Corrected::setE
void setE(double L)
Definition: GLOCNavAlmCorrected.hpp:109
TUCSM
#define TUCSM(METHOD)
Definition: TestUtil.hpp:59
gnsstk::GLOCNavAlm::NumberCruncher::W
int W
Number of whole orbits on prediction intvl.
Definition: GLOCNavAlm.hpp:344
gnsstk::GLOCNavAlm::NumberCruncher::setn
void setn()
Definition: GLOCNavAlmNumberCruncher.hpp:91
gnsstk::GLOCNavAlm::Deltas::setdeltaLk
void setdeltaLk(double B, double Lk, const Uncorrected &uncor)
Definition: GLOCNavAlmDeltas.hpp:129
gnsstk::GLOCNavAlm::Perturbations::lambda
double lambda
longitude of ascending node
Definition: GLOCNavAlm.hpp:167
GLOCNavAlm_T::omegaprimeExpected
static const double omegaprimeExpected
Definition: GLOCNavAlm_T.cpp:124
GLOCNavAlm_T::DeltasTest
unsigned DeltasTest()
Definition: GLOCNavAlm_T.cpp:624
gnsstk::GLOCNavAlm::NumberCruncher::n
double n
Mean motion.
Definition: GLOCNavAlm.hpp:346
GLOCNavAlm_T::deltaa1_aExpected
static const double deltaa1_aExpected
Definition: GLOCNavAlm_T.cpp:132
gnsstk::GLOCNavAlm::Perturbations::geti
double geti() const
Definition: GLOCNavAlm.hpp:161
gnsstk::GLOCNavAlm::Deltas::setdeltai
void setdeltai(double B, double Lk, const Uncorrected &uncor)
Definition: GLOCNavAlmDeltas.hpp:117
gnsstk::GLOCNavAlm::numSVs
unsigned numSVs
Number of SVs in complete almanac (NS).
Definition: GLOCNavAlm.hpp:131
gnsstk::GLOCNavAlm::orbitType
GLOCOrbitType orbitType
Orbit type.
Definition: GLOCNavAlm.hpp:130
GLOCNavAlm_T::reproduce2
unsigned reproduce2()
GLOCNavAlm_T::constructorUncorrectedTest
unsigned constructorUncorrectedTest()
Definition: GLOCNavAlm_T.cpp:279
GLOCNavAlm_T::getXvtTest
unsigned getXvtTest()
Definition: GLOCNavAlm_T.cpp:332
gnsstk::GLOCNavAlm::Corrected::p
double p
Orbit radius at perigee (?)
Definition: GLOCNavAlm.hpp:297
TUCATCH
#define TUCATCH(STATEMENT)
Definition: TestUtil.hpp:193
GLOCNavAlm_T::yExpected
static const double yExpected
Definition: GLOCNavAlm_T.cpp:153
GLOCNavAlm_T::zdotExpected
static const double zdotExpected
Definition: GLOCNavAlm_T.cpp:157
GLOCNavAlm_T::lambdaprimeExpected
static const double lambdaprimeExpected
Definition: GLOCNavAlm_T.cpp:123
GLOCNavAlm_T::tlambdaA
static const double tlambdaA
Definition: GLOCNavAlm_T.cpp:97
GLOCNavAlm_T::deltai1Expected
static const double deltai1Expected
Definition: GLOCNavAlm_T.cpp:140
TUASSERTE
#define TUASSERTE(TYPE, EXP, GOT)
Definition: TestUtil.hpp:81
GLOCNavAlm_T::E0Expected
static const double E0Expected
Definition: GLOCNavAlm_T.cpp:117
gnsstk::NavMessageID::messageType
NavMessageType messageType
Definition: NavMessageID.hpp:97
GLOCNavAlm_T::pExpected
static const double pExpected
Definition: GLOCNavAlm_T.cpp:148
gnsstk::GLOCNavAlm::deltaT
double deltaT
Draconic orbital period offset.
Definition: GLOCNavAlm.hpp:142
Angle.hpp
gnsstk::GLOCNavAlm::getUserTime
CommonTime getUserTime() const override
Definition: GLOCNavAlm.cpp:103
GLOCNavAlm_T::TdrExpected
static const double TdrExpected
Definition: GLOCNavAlm_T.cpp:112
gnsstk::Xvt::frame
RefFrame frame
reference frame of this data
Definition: Xvt.hpp:156
GLOCNavAlm_T::constructorCorrectedTest
unsigned constructorCorrectedTest()
Definition: GLOCNavAlm_T.cpp:289
gnsstk::NavFit::endFit
CommonTime endFit
Time at end of fit interval.
Definition: NavFit.hpp:55
GLOCNavAlm_T::uExpected
static const double uExpected
Definition: GLOCNavAlm_T.cpp:146
gnsstk::StringUtils::asString
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
Definition: IonexStoreStrategy.cpp:46
GLOCNavAlm_T::getUserTimeTest
unsigned getUserTimeTest()
Definition: GLOCNavAlm_T.cpp:418
Position.hpp
GLOCNavAlm_T::CorrectedTest
unsigned CorrectedTest()
Definition: GLOCNavAlm_T.cpp:477
gnsstk::GLOCNavAlm::Uncorrected::seta
void seta(double epsilonA, double omegaA, double Tdr)
Definition: GLOCNavAlmUncorrected.hpp:69
gnsstk::GLOCNavAlm::NumberCruncher::L1
double L1
Mean longitude at ascending node.
Definition: GLOCNavAlm.hpp:348
main
int main()
Definition: GLOCNavAlm_T.cpp:667
GLOCNavAlm_T::constructorPerturbationsTest
unsigned constructorPerturbationsTest()
Definition: GLOCNavAlm_T.cpp:263
gnsstk::GLOCNavAlm::Corrected::setr
void setr()
Definition: GLOCNavAlmCorrected.hpp:150
gnsstk::CommonTime::setTimeSystem
CommonTime & setTimeSystem(TimeSystem timeSystem)
Definition: CommonTime.hpp:195
GLOCNavAlm_T
Definition: GLOCNavAlm_T.cpp:68
gnsstk::GLOCNavAlm::tLambda
double tLambda
Instant in Moscow time when passing lambda.
Definition: GLOCNavAlm.hpp:138
GLOCNavAlm_T::iav
static const double iav
Definition: GLOCNavAlm_T.cpp:90
GLOCNavAlm_T::zExpected
static const double zExpected
Definition: GLOCNavAlm_T.cpp:154
gnsstk::Xvt::v
Triple v
satellite velocity in ECEF Cartesian, meters/second
Definition: Xvt.hpp:152
gnsstk::GLOCNavAlm::Corrected::setData
void setData(double L, const Uncorrected &uncor, const Deltas &delta1, const Deltas &delta2)
Definition: GLOCNavAlmCorrected.hpp:50
gnsstk::GLOCNavAlm::statusReg
unsigned statusReg
Status register (SRA 5.3.2.7).
Definition: GLOCNavAlm.hpp:134
gnsstk::GLOCNavAlm::Corrected::vr
double vr
Definition: GLOCNavAlm.hpp:301
gnsstk::RefFrame
Definition: RefFrame.hpp:53
gnsstk::NavData::signal
NavMessageID signal
Source signal identification for this navigation message data.
Definition: NavData.hpp:175
gnsstk::GLOCNavAlm::aoa
unsigned aoa
Age of almanac (EA).
Definition: GLOCNavAlm.hpp:132
GLOCNavAlm_T::tA
static const gnsstk::GLONASSTime tA
Definition: GLOCNavAlm_T.cpp:107
gnsstk::GLOCNavAlm::Perturbations::omega
double omega
argument of perigee
Definition: GLOCNavAlm.hpp:168
gnsstk::GLOCNavAlm::Corrected::getXvt
Xvt getXvt(const gnsstk::CommonTime &toi)
Definition: GLOCNavAlmCorrected.hpp:71
GLOCNavAlm_T::vuExpected
static const double vuExpected
Definition: GLOCNavAlm_T.cpp:151
gnsstk::GLOCNavAlm::Perturbations::l
double l
Quasi-Keplerian thing (true longitude?).
Definition: GLOCNavAlm.hpp:166
GLOCNavAlm_T::constructorNumberCruncherTest
unsigned constructorNumberCruncherTest()
Definition: GLOCNavAlm_T.cpp:305
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::GLOCNavAlm::NumberCruncher::setW
void setW(double DeltaTA)
Definition: GLOCNavAlmNumberCruncher.hpp:77
GLOCNavAlm_T::deltaL2Expected
static const double deltaL2Expected
Definition: GLOCNavAlm_T.cpp:143
GLOCNavAlm_T::deltal2Expected
static const double deltal2Expected
Definition: GLOCNavAlm_T.cpp:137
gnsstk::GLOCNavAlm::Uncorrected::sethl
void sethl(double epsilonA)
Definition: GLOCNavAlmUncorrected.hpp:110
gnsstk::Xvt::relcorr
double relcorr
relativity correction (standard 2R.V/c^2 term), seconds
Definition: Xvt.hpp:155
GLOCNavAlm_T::relcorrExpected
static const double relcorrExpected
Definition: GLOCNavAlm_T.cpp:161
GLOCNavAlm_T::xExpected
static const double xExpected
Definition: GLOCNavAlm_T.cpp:152
gnsstk::NavData::timeStamp
CommonTime timeStamp
Definition: NavData.hpp:173
GLOCNavAlm.hpp
gnsstk::GLOCNavAlm::NumberCruncher
Class to assist in doing all the math to get the XVT.
Definition: GLOCNavAlm.hpp:332
gnsstk::GLOCNavAlm::NumberCruncher::setL1
void setL1(double epsilonA)
Definition: GLOCNavAlmNumberCruncher.hpp:107
GLOCNavAlm_T::DeltatprExpected
static const double DeltatprExpected
Definition: GLOCNavAlm_T.cpp:109
gnsstk::GLONASSTime
Definition: GLONASSTime.hpp:59
GLOCNavAlm_T::iExpected
static const double iExpected
Definition: GLOCNavAlm_T.cpp:111
gnsstk::CommonTime::END_OF_TIME
static const GNSSTK_EXPORT CommonTime END_OF_TIME
latest representable CommonTime
Definition: CommonTime.hpp:104
gnsstk::GLOCNavAlm::satType
GLOCSatType satType
What satellite j is and what it transmits.
Definition: GLOCNavAlm.hpp:135
gnsstk::GLOCSatType
GLOCSatType
Values for Word M in the ephemeris (immediate) and almanac data.
Definition: GLOCSatType.hpp:47
GLOCNavAlm_T::vrExpected
static const double vrExpected
Definition: GLOCNavAlm_T.cpp:150
gnsstk::Xvt::x
Triple x
Sat position ECEF Cartesian (X,Y,Z) meters.
Definition: Xvt.hpp:151
gnsstk::GLOCNavAlm::deltai
double deltai
Inclination offset from 64.8 degrees (semicirc).
Definition: GLOCNavAlm.hpp:139
gnsstk::GLOCNavAlm::validate
bool validate() const override
Definition: GLOCNavAlm.cpp:84
gnsstk::GLOCNavAlm::Corrected::r
double r
Radial velocity.
Definition: GLOCNavAlm.hpp:299
gnsstk::GLOCNavAlm::Perturbations::getomega
double getomega() const
Definition: GLOCNavAlm.hpp:160
TestUtil.hpp
GLOCNavAlm_T::Tav
static const double Tav
Definition: GLOCNavAlm_T.cpp:89
GLOCNavAlm_T::DeltaTdotA
static const double DeltaTdotA
Definition: GLOCNavAlm_T.cpp:99
GLOCNavAlm_T::lExpected
static const double lExpected
Definition: GLOCNavAlm_T.cpp:130
gnsstk::GLOCNavAlm
Definition: GLOCNavAlm.hpp:61
GLOCNavAlm_T::deltai2Expected
static const double deltai2Expected
Definition: GLOCNavAlm_T.cpp:141
GLOCNavAlm_T::aExpected
static const double aExpected
Definition: GLOCNavAlm_T.cpp:114
gnsstk::GLOCNavAlm::Uncorrected::setlambda
void setlambda(double lambdaA, double n, double Deltatpr)
Definition: GLOCNavAlmUncorrected.hpp:118
GLOCNavAlm_T::clkbiasExpected
static const double clkbiasExpected
Definition: GLOCNavAlm_T.cpp:158
gnsstk::GLOCNavAlm::Corrected::u
double u
Definition: GLOCNavAlm.hpp:298
TURETURN
#define TURETURN()
Definition: TestUtil.hpp:232
gnsstk::GLOCNavAlm::ecc
double ecc
Eccentricity at tlambdaA.
Definition: GLOCNavAlm.hpp:140
GLOCNavAlm_T::hExpected
static const double hExpected
Definition: GLOCNavAlm_T.cpp:129
GLOCNavAlm_T::validateTest
unsigned validateTest()
Definition: GLOCNavAlm_T.cpp:321
gnsstk::GLOCNavAlm::Uncorrected::p
double p
Orbit radius at perigee (?)
Definition: GLOCNavAlm.hpp:198
TUASSERTFESMRT
#define TUASSERTFESMRT(EXP, GOT)
Definition: TestUtil.hpp:150
GLOCNavAlm_T::xdotExpected
static const double xdotExpected
Definition: GLOCNavAlm_T.cpp:155
gnsstk::GLOCNavAlm::NumberCruncher::Tdr
double Tdr
Mean draconic period in orbit W+1.
Definition: GLOCNavAlm.hpp:345
GLOCNavAlm_T::EExpected
static const double EExpected
Definition: GLOCNavAlm_T.cpp:144
GLOCNavAlm_T::deltah1Expected
static const double deltah1Expected
Definition: GLOCNavAlm_T.cpp:134
gnsstk::operator<<
std::ostream & operator<<(std::ostream &s, const ObsEpoch &oe) noexcept
Definition: ObsEpochMap.cpp:54
gnsstk::GLOCNavAlm::Corrected::setnu
void setnu()
Definition: GLOCNavAlmCorrected.hpp:130
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::GLOCOrbitType::Unknown
@ Unknown
Unknown/Uninitialized value.
gnsstk::GLOCNavAlm::Perturbations::getlambda
double getlambda() const
Definition: GLOCNavAlm.hpp:159
GLOCNavAlm_T::clkdriftExpected
static const double clkdriftExpected
Definition: GLOCNavAlm_T.cpp:159
gnsstk::Xvt::clkdrift
double clkdrift
satellite clock drift in seconds/second
Definition: Xvt.hpp:154
gnsstk::GLOCNavAlm::Corrected::setvrvu
void setvrvu()
Definition: GLOCNavAlmCorrected.hpp:157
gnsstk::GLOCNavAlm::fixFit
void fixFit()
Definition: GLOCNavAlm.cpp:110
gnsstk::GLOCNavAlm::tau
double tau
Time correction from L3OCd to GLONASS.
Definition: GLOCNavAlm.hpp:136
GLOCNavAlm_T::omegaA
static const double omegaA
Definition: GLOCNavAlm_T.cpp:101
gnsstk::GLOCNavAlm::Corrected
Provide methods for computing the corrected Keplerian parameters.
Definition: GLOCNavAlm.hpp:268
TUASSERTFEPS
#define TUASSERTFEPS(EXP, GOT, EPS)
Definition: TestUtil.hpp:126
gnsstk::NavFit::beginFit
CommonTime beginFit
Time at beginning of fit interval.
Definition: NavFit.hpp:54
gnsstk::GLOCNavAlm::NumberCruncher::corrected
Corrected corrected
Corrected parameters (stage 9).
Definition: GLOCNavAlm.hpp:342
gnsstk::Xvt
Definition: Xvt.hpp:60
gnsstk::GLOCNavAlm::Toa
CommonTime Toa
Reference time for almanac.
Definition: GLOCNavAlm.hpp:129
gnsstk::GLOCNavAlm::NumberCruncher::setE0
void setE0(double epsilonA)
Definition: GLOCNavAlmNumberCruncher.hpp:98
gnsstk::GLOCNavAlm::Corrected::setp
void setp()
Definition: GLOCNavAlmCorrected.hpp:102
CivilTime.hpp
gnsstk::GLOCNavAlm::Uncorrected::setomega
void setomega(double omegaA, double n, double Deltatpr)
Definition: GLOCNavAlmUncorrected.hpp:132
gnsstk::GLOCNavAlm::Perturbations::Lk
double Lk
Mean longitude.
Definition: GLOCNavAlm.hpp:170
GLOCNavAlm_T::deltal1Expected
static const double deltal1Expected
Definition: GLOCNavAlm_T.cpp:136
GLOCNavAlm_T::UncorrectedTest
unsigned UncorrectedTest()
Definition: GLOCNavAlm_T.cpp:449
gnsstk::GLOCNavAlm::NumberCruncher::uncorrected
Uncorrected uncorrected
Uncorrected parameters (stage 1-9-ish).
Definition: GLOCNavAlm.hpp:341
gnsstk::GLOCNavAlm::Perturbations::a
double a
Semi-major axis.
Definition: GLOCNavAlm.hpp:164
TUDEF
#define TUDEF(CLASS, METHOD)
Definition: TestUtil.hpp:56
gnsstk::TimeSystem::GLO
@ GLO
GLONASS system time (aka UTC(SU))
gnsstk::GLOCNavAlm::Perturbations::geth
double geth() const
Definition: GLOCNavAlm.hpp:157
GLOCNavAlm_T::we
static const double we
Definition: GLOCNavAlm_T.cpp:94
gnsstk::GLOCNavAlm::Deltas::setdeltal
void setdeltal(double B, double Lk, const Uncorrected &uncor)
Definition: GLOCNavAlmDeltas.hpp:89
GLOCNavAlm_T::deltaL1Expected
static const double deltaL1Expected
Definition: GLOCNavAlm_T.cpp:142
gnsstk::TimeSystem::UTC
@ UTC
Coordinated Universal Time (e.g., from NTP)
GLONASSTime.hpp
gnsstk::GLOCNavAlm::Deltas::setdeltaa_a
void setdeltaa_a(double B, double Lk, const Uncorrected &uncor)
Definition: GLOCNavAlmDeltas.hpp:62
gnsstk::GLOCNavAlm::Corrected::vu
double vu
Definition: GLOCNavAlm.hpp:300
gnsstk::CivilTime
Definition: CivilTime.hpp:55
GLOCNavAlm_T::reproduce
void reproduce()
Not getting the same results. Why not?
GLOCNavAlm_T::ti
static const double ti
Definition: GLOCNavAlm_T.cpp:104
gnsstk::GLOCNavAlm::NumberCruncher::setL
void setL(double DeltaTA, double DeltaTdotA)
Definition: GLOCNavAlmNumberCruncher.hpp:114
GLOCNavAlm_T::N
static const double N
Definition: GLOCNavAlm_T.cpp:105
GLOCNavAlm_T::toi
static const gnsstk::GLONASSTime toi
Definition: GLOCNavAlm_T.cpp:106
GLOCNavAlm_T::DeltaTA
static const double DeltaTA
Definition: GLOCNavAlm_T.cpp:98
GLOCNavAlm_T::ae
static const double ae
Definition: GLOCNavAlm_T.cpp:92
gnsstk::GLOCNavAlm::Perturbations::geta
double geta() const
Definition: GLOCNavAlm.hpp:156
gnsstk::GLOCNavAlm::NumberCruncher::setDeltatpr
void setDeltatpr(const gnsstk::CommonTime &almTime, const gnsstk::CommonTime &ti)
Definition: GLOCNavAlmNumberCruncher.hpp:70
gnsstk::GLOCNavAlm::NumberCruncher::L
double L
Current mean longitude of SV.
Definition: GLOCNavAlm.hpp:349
GLOCNavAlm_T::deltah2Expected
static const double deltah2Expected
Definition: GLOCNavAlm_T.cpp:135
GLOCNavAlm_T::L1Expected
static const double L1Expected
Definition: GLOCNavAlm_T.cpp:118
gnsstk::GLOCSatType::Unknown
@ Unknown
Unknown/Uninitialized value.
DebugTrace.hpp
GLOCNavAlm_T::pprimeExpected
static const double pprimeExpected
Definition: GLOCNavAlm_T.cpp:128
GLOCNavAlm_T::epsilonprimeExpected
static const double epsilonprimeExpected
Definition: GLOCNavAlm_T.cpp:121
gnsstk::NavMessageType
NavMessageType
Identify different types of navigation message data.
Definition: NavMessageType.hpp:59
gnsstk::GLOCNavAlm::NumberCruncher::k1
Deltas k1
Delta values for k=1.
Definition: GLOCNavAlm.hpp:339
gnsstk::RefFrameRlz::PZ90KGS
@ PZ90KGS
PZ90 the "original".
GLOCNavAlm_T::deltalambda2Expected
static const double deltalambda2Expected
Definition: GLOCNavAlm_T.cpp:139
GLOCNavAlm_T::NA
static const double NA
Definition: GLOCNavAlm_T.cpp:96
gnsstk::GLOCNavAlm::Corrected::E
double E
Eccentric anomaly.
Definition: GLOCNavAlm.hpp:294
gnsstk::GLOCNavAlm::Perturbations::getl
double getl() const
Definition: GLOCNavAlm.hpp:158
gnsstk::GLOCNavAlm::NumberCruncher::E0
double E0
Eccentric anomaly at t_A (?).
Definition: GLOCNavAlm.hpp:347
gnsstk::GLOCNavAlm::Corrected::setu
void setu()
Definition: GLOCNavAlmCorrected.hpp:143
GLOCNavAlm_T::aprimeExpected
static const double aprimeExpected
Definition: GLOCNavAlm_T.cpp:120
gnsstk::GLOCNavAlm::omega
double omega
Almanac parameter for argument of perigee (semicirc).
Definition: GLOCNavAlm.hpp:141
gnsstk::GLOCNavAlm::lambda
double lambda
Longitude of first ascending node (semicirc).
Definition: GLOCNavAlm.hpp:137
GLOCNavAlm_T::deltalambda1Expected
static const double deltalambda1Expected
Definition: GLOCNavAlm_T.cpp:138
GLOCNavAlm_T::ydotExpected
static const double ydotExpected
Definition: GLOCNavAlm_T.cpp:156
GLOCNavAlm_T::lambdaExpected
static const double lambdaExpected
Definition: GLOCNavAlm_T.cpp:115
GLOCNavAlm_T::nuExpected
static const double nuExpected
Definition: GLOCNavAlm_T.cpp:145
GLOCNavAlm_T::GM
static const double GM
Definition: GLOCNavAlm_T.cpp:91
GLOCNavAlm_T::iprimeExpected
static const double iprimeExpected
Definition: GLOCNavAlm_T.cpp:122
gnsstk::GLOCNavAlm::NumberCruncher::k2
Deltas k2
Delta values for k=2.
Definition: GLOCNavAlm.hpp:340
gnsstk::GLOCNavAlm::NumberCruncher::Deltatpr
double Deltatpr
Time diff in seconds from ref to interest.
Definition: GLOCNavAlm.hpp:343
GLOCNavAlm_T::NumberCruncherTest
unsigned NumberCruncherTest()
Definition: GLOCNavAlm_T.cpp:589
gnsstk::GLOCNavAlm::Uncorrected::seti
void seti(double DeltaiA)
Definition: GLOCNavAlmUncorrected.hpp:62
GLOCNavAlm_T::WExpected
static const int WExpected
Definition: GLOCNavAlm_T.cpp:110
gnsstk::Xvt::clkbias
double clkbias
Sat clock correction in seconds.
Definition: Xvt.hpp:153
gnsstk::GLOCNavAlm::Corrected::nu
double nu
True anomaly.
Definition: GLOCNavAlm.hpp:296
gnsstk::GLOCNavAlm::Deltas
Definition: GLOCNavAlm.hpp:231
GLOCNavAlm_T::LprimeExpected
static const double LprimeExpected
Definition: GLOCNavAlm_T.cpp:125
gnsstk::GLOCNavAlm::deltaTdot
double deltaTdot
Draconic orbital period rate.
Definition: GLOCNavAlm.hpp:143
gnsstk::GLOCNavAlm::getXvt
bool getXvt(const CommonTime &when, Xvt &xvt, const ObsID &=ObsID()) override
Definition: GLOCNavAlm.cpp:92
GLOCNavAlm_T::fixFitTest
unsigned fixFitTest()
Definition: GLOCNavAlm_T.cpp:431
GLOCNavAlm_T::epsilonA
static const double epsilonA
Definition: GLOCNavAlm_T.cpp:102
gnsstk::GLOCNavAlm::math
NumberCruncher math
Retain as much computed data as possible.
Definition: GLOCNavAlm.hpp:389
GLOCNavAlm_T::LExpected
static const double LExpected
Definition: GLOCNavAlm_T.cpp:119
gnsstk::GLOCNavAlm::NA
unsigned NA
Almanac reference time days since leap year.
Definition: GLOCNavAlm.hpp:133
gnsstk::GLOCNavAlm::NumberCruncher::B
double B
Correction scale factor.
Definition: GLOCNavAlm.hpp:350
GLOCNavAlm_T::omegaExpected
static const double omegaExpected
Definition: GLOCNavAlm_T.cpp:116
gnsstk::GLOCNavAlm::Perturbations::getLk
double getLk() const
Definition: GLOCNavAlm.hpp:162
gnsstk::GLOCNavAlm::Perturbations
Definition: GLOCNavAlm.hpp:148
GLOCNavAlm_T::lprimeExpected
static const double lprimeExpected
Definition: GLOCNavAlm_T.cpp:127
GLOCNavAlm_T::DeltaiA
static const double DeltaiA
Definition: GLOCNavAlm_T.cpp:103
gnsstk::GLOCNavAlm::Perturbations::i
double i
inclination
Definition: GLOCNavAlm.hpp:169
gnsstk::GLOCNavAlm::NumberCruncher::setTdr
void setTdr(double DeltaTA, double DeltaTdotA)
Definition: GLOCNavAlmNumberCruncher.hpp:84
GLOCNavAlm_T::hprimeExpected
static const double hprimeExpected
Definition: GLOCNavAlm_T.cpp:126
gnsstk::GLOCOrbitType
GLOCOrbitType
Values for Word TO in the almanac data.
Definition: GLOCOrbitType.hpp:47
GLOCNavAlm_T::rExpected
static const double rExpected
Definition: GLOCNavAlm_T.cpp:149
gnsstk::GLOCNavAlm::Uncorrected
Definition: GLOCNavAlm.hpp:180
GLOCNavAlm_T::deltaa2_aExpected
static const double deltaa2_aExpected
Definition: GLOCNavAlm_T.cpp:133
gnsstk::GLOCNavAlm::Perturbations::h
double h
Quasi-Keplerian thing (true latitude?).
Definition: GLOCNavAlm.hpp:165
gnsstk::GLOCNavAlm::Deltas::setdeltalambda
void setdeltalambda(double B, double Lk, const Uncorrected &uncor)
Definition: GLOCNavAlmDeltas.hpp:105
GLOCNavAlm_T::constructorTest
unsigned constructorTest()
Definition: GLOCNavAlm_T.cpp:236
gnsstk::GLOCNavAlm::Deltas::setdeltah
void setdeltah(double B, double Lk, const Uncorrected &uncor)
Definition: GLOCNavAlmDeltas.hpp:73
TimeString.hpp
gnsstk::GLOCNavAlm::Corrected::epsilon
double epsilon
epsilon prime, eccentricity.
Definition: GLOCNavAlm.hpp:295
gnsstk::NavMessageType::Almanac
@ Almanac
Low-precision orbits for other than the transmitting SV.
GLOCNavAlm_T::lambdaA
static const double lambdaA
Definition: GLOCNavAlm_T.cpp:100
GLOCNavAlm_T::J20
static const double J20
Definition: GLOCNavAlm_T.cpp:93
GLOCNavAlm_T::BExpected
static const double BExpected
Definition: GLOCNavAlm_T.cpp:131
gnsstk::GLOCNavAlm::Uncorrected::setp
void setp(double epsilonA)
Definition: GLOCNavAlmUncorrected.hpp:103


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