Class to assist in doing all the math to get the XVT.
Definition at line 136 of file GLOFNavAlm.hpp.
#include <GLOFNavAlm.hpp>
|
bool | getXvt (const CommonTime &when, Xvt &xvt, const GLOFNavAlm &alm) |
|
| NumberCruncher () |
| Initialize stuff to NaN. More...
|
|
void | setDeltas (double M, double omega, double a, double dt) |
|
void | setEccArgOfPerigee (double ecc, double omega) |
|
void | setLambdaBar (double M, double omega, double tau, double n) |
|
void | setSemiMajorAxisIncl (double deltaT, double deltai, double omega, double ecc) |
|
|
static double | getomegai (double hi, double li, double epsi) |
|
static double | integrateEin (double Mi, double epsi) |
|
◆ NumberCruncher()
gnsstk::GLOFNavAlm::NumberCruncher::NumberCruncher |
( |
| ) |
|
◆ getomegai()
double gnsstk::GLOFNavAlm::NumberCruncher::getomegai |
( |
double |
hi, |
|
|
double |
li, |
|
|
double |
epsi |
|
) |
| |
|
static |
Get the value for ωi given the already computed values for hi, li and εi.
- Parameters
-
[in] | hi | Value hi as computed by getXvt(). |
[in] | li | Value li as computed by getXvt(). |
[in] | epsi | Value εi as computed by getXvt(). |
- Returns
- The appropriate value for ωi (see Appendix A.3.2.2, probably the Russian-language version as the formatting in the English version is a mess).
Definition at line 410 of file GLOFNavAlm.cpp.
◆ getXvt()
◆ integrateEin()
double gnsstk::GLOFNavAlm::NumberCruncher::integrateEin |
( |
double |
Mi, |
|
|
double |
epsi |
|
) |
| |
|
static |
Numerically integrate to get E_i^(n).
- Parameters
-
[in] | Mi | Value Mi as computed by getXvt(). |
[in] | epsi | Value εi as computed by getXvt(). |
- Returns
- The integrated E_i^(n).
Definition at line 439 of file GLOFNavAlm.cpp.
◆ setDeltas()
void gnsstk::GLOFNavAlm::NumberCruncher::setDeltas |
( |
double |
M, |
|
|
double |
omega, |
|
|
double |
a, |
|
|
double |
dt |
|
) |
| |
Set the deltas values.
- Parameters
-
[in] | M | Computed mean anomaly, I think. |
[in] | omega | Argument of perigee. |
[in] | a | Satellite orbit semi-major axis. |
[in] | dt | The delta time in seconds, τ=ti-tλk named dt instead of tau here to avoid confusion with other tau. |
- Precondition
- coslambdaBar, sinlambdaBar, cos2lambdaBar, sin2lambdaBar, cos3lambdaBar, sin3lambdaBar, cos4lambdaBar, sin4lambdaBar, tau, n, l, h, JTerm, JsinTerm, Jsini2Term, Jcosi2term must be set.
Definition at line 383 of file GLOFNavAlm.cpp.
◆ setEccArgOfPerigee()
void gnsstk::GLOFNavAlm::NumberCruncher::setEccArgOfPerigee |
( |
double |
ecc, |
|
|
double |
omega |
|
) |
| |
Set terms related to eccentricity and argument of perigee
- Parameters
-
[in] | ecc | The satellite's orbital eccentricity. |
[in] | omega | The satellite's orbital argument of perigee. |
- Postcondition
- h and l are set.
Definition at line 271 of file GLOFNavAlm.cpp.
◆ setLambdaBar()
void gnsstk::GLOFNavAlm::NumberCruncher::setLambdaBar |
( |
double |
M, |
|
|
double |
omega, |
|
|
double |
tau, |
|
|
double |
n |
|
) |
| |
Set lambdaBar and related data members according to the given values.
- Parameters
-
[in] | M | Computed mean anomaly, I think. |
[in] | omega | Argument of perigee. |
[in] | tau | Either 0 or time between ti and tλk in seconds (see the mess of math in the ICD or the implementation in setDeltas). |
[in] | n | the value of n (2pi/Tdeltap) as computed by GLOFNavAlm::setSemiMajorAxisIncl. |
- Postcondition
- lambdabar, coslambdaBar, sinlambdaBar, cos2lambdaBar, sin2lambdaBar, cos3lambdaBar, sin3lambdaBar, cos4lambdaBar, sin4lambdaBar are set.
Definition at line 361 of file GLOFNavAlm.cpp.
◆ setSemiMajorAxisIncl()
void gnsstk::GLOFNavAlm::NumberCruncher::setSemiMajorAxisIncl |
( |
double |
deltaT, |
|
|
double |
deltai, |
|
|
double |
omega, |
|
|
double |
ecc |
|
) |
| |
Set terms related to the orbit semi-major axis and inclination.
- Parameters
-
[in] | deltaT | Delta T parameter from broadcast almanac. |
[in] | deltai | Delta i parameter from broadcast almanac. |
[in] | omega | omega (lower-case) parameter from broadcast almanac. |
[in] | ecc | epsilon (lower-case) parameter from broadcast almanac (eccentricity). |
Definition at line 288 of file GLOFNavAlm.cpp.
◆ Deltas
double gnsstk::GLOFNavAlm::NumberCruncher::a |
|
private |
◆ cos2lambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::cos2lambdaBar |
|
private |
◆ cos3lambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::cos3lambdaBar |
|
private |
◆ cos4lambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::cos4lambdaBar |
|
private |
◆ cosi
double gnsstk::GLOFNavAlm::NumberCruncher::cosi |
|
private |
◆ cosi2
double gnsstk::GLOFNavAlm::NumberCruncher::cosi2 |
|
private |
◆ coslambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::coslambdaBar |
|
private |
◆ deltas
Deltas gnsstk::GLOFNavAlm::NumberCruncher::deltas |
|
private |
◆ earthvs
double gnsstk::GLOFNavAlm::NumberCruncher::earthvs |
|
private |
◆ ecc2
double gnsstk::GLOFNavAlm::NumberCruncher::ecc2 |
|
private |
◆ ecc2obv
double gnsstk::GLOFNavAlm::NumberCruncher::ecc2obv |
|
private |
double gnsstk::GLOFNavAlm::NumberCruncher::h |
|
private |
double gnsstk::GLOFNavAlm::NumberCruncher::i |
|
private |
◆ Jcosi2Term
double gnsstk::GLOFNavAlm::NumberCruncher::Jcosi2Term |
|
private |
◆ Jsini2Term
double gnsstk::GLOFNavAlm::NumberCruncher::Jsini2Term |
|
private |
◆ JsinTerm
double gnsstk::GLOFNavAlm::NumberCruncher::JsinTerm |
|
private |
◆ JTerm
double gnsstk::GLOFNavAlm::NumberCruncher::JTerm |
|
private |
double gnsstk::GLOFNavAlm::NumberCruncher::l |
|
private |
◆ lambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::lambdaBar |
|
private |
double gnsstk::GLOFNavAlm::NumberCruncher::n |
|
private |
◆ nu
double gnsstk::GLOFNavAlm::NumberCruncher::nu |
|
private |
◆ sin2lambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::sin2lambdaBar |
|
private |
◆ sin3lambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::sin3lambdaBar |
|
private |
◆ sin4lambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::sin4lambdaBar |
|
private |
◆ sini
double gnsstk::GLOFNavAlm::NumberCruncher::sini |
|
private |
◆ sini2
double gnsstk::GLOFNavAlm::NumberCruncher::sini2 |
|
private |
◆ sinlambdaBar
double gnsstk::GLOFNavAlm::NumberCruncher::sinlambdaBar |
|
private |
◆ tau
double gnsstk::GLOFNavAlm::NumberCruncher::tau |
|
private |
◆ Tdeltap
double gnsstk::GLOFNavAlm::NumberCruncher::Tdeltap |
|
private |
The documentation for this class was generated from the following files: