1#ifndef PERTURB_SGP4_HPP
2#define PERTURB_SGP4_HPP
61#if (defined(PERTURB_SGP4_ENABLE_DEBUG) && defined(PERTURB_DISABLE_IO))
62#error "Cannot enable SGP4 debug without I/O functionality"
69#define PERTURB_SGP4_SGP4Version "SGP4 Version 2020-07-13"
92 int epochyr, epochtynumrev;
99 double aycof , con41 , cc1 , cc4 , cc5 , d2 , d3 , d4 ,
100 delmo , eta , argpdot, omgcof , sinmao , t , t2cof, t3cof ,
101 t4cof , t5cof , x1mth2 , x7thm1 , mdot , nodedot, xlcof , xmcof ,
106 double d2201 , d2211 , d3210 , d3222 , d4410 , d4422 , d5220 , d5232 ,
107 d5421 , d5433 , dedt , del1 , del2 , del3 , didt , dmdt ,
108 dnodt , domdt , e3 , ee2 , peo , pgho , pho , pinco ,
109 plo , se2 , se3 , sgh2 , sgh3 , sgh4 , sh2 , sh3 ,
110 si2 , si3 , sl2 , sl3 , sl4 , gsto , xfact , xgh2 ,
111 xgh3 , xgh4 , xh2 , xh3 , xi2 , xi3 , xl2 , xl3 ,
112 xl4 , xlamo , zmol , zmos , atime , xli , xni;
114 double a, altp, alta, epochdays, jdsatepoch, jdsatepochF, nddot, ndot,
115 bstar, rcse, inclo, nodeo, ecco, argpo, mo, no_kozai;
117 char classification, intldesg[11];
123 double am , em , im , Om , om , mm , nm;
125 double tumin, mus, radiusearthkm, xke, j2, j3, j4, j3oj2;
130 unsigned char active;
131 unsigned char not_orbital;
145 gravconsttype whichconst,
char opsmode,
const char satn[5],
const double epoch,
146 const double xbstar,
const double xndot,
const double xnddot,
const double xecco,
const double xargpo,
147 const double xinclo,
const double xmo,
const double xno,
148 const double xnodeo,
elsetrec& satrec
155 double r[3],
double v[3]
160 gravconsttype whichconst,
163 double& radiusearthkm,
171#ifndef PERTURB_DISABLE_IO
175 char longstr1[130],
char longstr2[130],
176 char typerun,
char typeinput,
char opsmode,
177 gravconsttype whichconst,
178 double& startmfe,
double& stopmfe,
double& deltamin,
201 double vec1[3],
double vec2[3],
double outvec[3]
206 double x[3],
double y[3]
217 double ecc,
double nu,
218 double& e0,
double& m
228 double r[3],
double v[3],
double mus,
229 double& p,
double& a,
double& ecc,
double& incl,
double& omega,
double& argp,
230 double& nu,
double& m,
double& arglat,
double& truelon,
double& lonper
235 int year,
int mon,
int day,
int hr,
int minute,
double sec,
236 double& jd,
double& jdFrac
241 int year,
double days,
242 int& mon,
int& day,
int& hr,
int& minute,
double& sec
247 double jd,
double jdFrac,
248 int& year,
int& mon,
int& day,
249 int& hr,
int& minute,
double& sec
double mag_SGP4(double x[3])
Definition: sgp4.cpp:2565
void newtonnu_SGP4(double ecc, double nu, double &e0, double &m)
Definition: sgp4.cpp:2750
void getgravconst(gravconsttype whichconst, double &tumin, double &mus, double &radiusearthkm, double &xke, double &j2, double &j3, double &j4, double &j3oj2)
Definition: sgp4.cpp:2102
bool sgp4(elsetrec &satrec, double tsince, double r[3], double v[3])
Definition: sgp4.cpp:1770
void rv2coe_SGP4(double r[3], double v[3], double mus, double &p, double &a, double &ecc, double &incl, double &omega, double &argp, double &nu, double &m, double &arglat, double &truelon, double &lonper)
Definition: sgp4.cpp:2864
void twoline2rv(char longstr1[130], char longstr2[130], char typerun, char typeinput, char opsmode, gravconsttype whichconst, double &startmfe, double &stopmfe, double &deltamin, elsetrec &satrec)
Definition: sgp4.cpp:2202
double gstime_SGP4(double jdut1)
Definition: sgp4.cpp:2507
bool sgp4init(gravconsttype whichconst, char opsmode, const char satn[5], const double epoch, const double xbstar, const double xndot, const double xnddot, const double xecco, const double xargpo, const double xinclo, const double xmo, const double xno, const double xnodeo, elsetrec &satrec)
Definition: sgp4.cpp:1384
void invjday_SGP4(double jd, double jdFrac, int &year, int &mon, int &day, int &hr, int &minute, double &sec)
Definition: sgp4.cpp:3236
double asinh_SGP4(double xval)
Definition: sgp4.cpp:2706
double angle_SGP4(double vec1[3], double vec2[3])
Definition: sgp4.cpp:2660
void cross_SGP4(double vec1[3], double vec2[3], double outvec[3])
Definition: sgp4.cpp:2595
void jday_SGP4(int year, int mon, int day, int hr, int minute, double sec, double &jd, double &jdFrac)
Definition: sgp4.cpp:3101
void days2mdhms_SGP4(int year, double days, int &mon, int &day, int &hr, int &minute, double &sec)
Definition: sgp4.cpp:3162
double dot_SGP4(double x[3], double y[3])
Definition: sgp4.cpp:2628
Primary namespace for the perturb library, everything is in here.
Definition: perturb.hpp:32