satellite-sgp4ext.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------
2  *
3  * sgp4ext.h
4  *
5  * this file contains extra routines needed for the main test program for sgp4.
6  * these routines are derived from the astro libraries.
7  *
8  * companion code for
9  * fundamentals of astrodynamics and applications
10  * 2007
11  * by david vallado
12  *
13  * (w) 719-573-2600, email dvallado@agi.com
14  *
15  * current :
16  * 20 apr 07 david vallado
17  * misc documentation updates
18  * changes :
19  * 14 aug 06 david vallado
20  * original baseline
21  *
22  * code from https://gitlab.inesctec.pt/pmms/ns3-satellite
23  * ---------------------------------------------------------------- */
24 
25 #ifndef SAT_SGP4EXT_H
26 #define SAT_SGP4EXT_H
27 
28 #include "satellite-sgp4unit.h"
29 
30 #include <math.h>
31 #include <string.h>
32 
33 double sgn(double x);
34 
35 double mag(double x[3]);
36 
37 void cross(double vec1[3], double vec2[3], double outvec[3]);
38 
39 double dot(double x[3], double y[3]);
40 
41 double angle(double vec1[3], double vec2[3]);
42 
43 void newtonnu(double ecc, double nu, double& e0, double& m);
44 
45 // double asinh (double xval);
46 
47 void rv2coe(double r[3],
48  double v[3],
49  double mu,
50  double& p,
51  double& a,
52  double& ecc,
53  double& incl,
54  double& omega,
55  double& argp,
56  double& nu,
57  double& m,
58  double& arglat,
59  double& truelon,
60  double& lonper);
61 
62 void jday(int year, int mon, int day, int hr, int minute, double sec, double& jd);
63 
64 void days2mdhms(int year, double days, int& mon, int& day, int& hr, int& minute, double& sec);
65 
66 void invjday(double jd, int& year, int& mon, int& day, int& hr, int& minute, double& sec);
67 
68 #endif // SAT_SGP4EXT_H
void invjday(double jd, int &year, int &mon, int &day, int &hr, int &minute, double &sec)
void cross(double vec1[3], double vec2[3], double outvec[3])
double sgn(double x)
void days2mdhms(int year, double days, int &mon, int &day, int &hr, int &minute, double &sec)
void newtonnu(double ecc, double nu, double &e0, double &m)
double angle(double vec1[3], double vec2[3])
void rv2coe(double r[3], double v[3], double mu, double &p, double &a, double &ecc, double &incl, double &omega, double &argp, double &nu, double &m, double &arglat, double &truelon, double &lonper)
double dot(double x[3], double y[3])
double mag(double x[3])
void jday(int year, int mon, int day, int hr, int minute, double sec, double &jd)