| 1 | // | 
| 2 | // globals.h | 
| 3 | // | 
| 4 | #pragma once | 
| 5 |  | 
| 6 | #include "math.h" | 
| 7 |  | 
| 8 | const double PI           = 3.141592653589793; | 
| 9 | const double TWOPI        = 2.0 * PI; | 
| 10 | const double RADS_PER_DEG = PI / 180.0; | 
| 11 |  | 
| 12 | const double GM           = 398601.2;   // Earth gravitational constant, km^3/sec^2 | 
| 13 | const double GEOSYNC_ALT  = 42241.892;  // km | 
| 14 | const double EARTH_DIA    = 12800.0;    // km | 
| 15 | const double DAY_SIDERAL  = (23 * 3600) + (56 * 60) + 4.09;  // sec | 
| 16 | const double DAY_24HR     = (24 * 3600);   // sec | 
| 17 |  | 
| 18 | const double AE           = 1.0; | 
| 19 | const double AU           = 149597870.0;  // Astronomical unit (km) (IAU 76) | 
| 20 | const double SR           = 696000.0;     // Solar radius (km)      (IAU 76) | 
| 21 | const double TWOTHRD      = 2.0 / 3.0; | 
| 22 | const double XKMPER_WGS72 = 6378.135;     // Earth equatorial radius - km (WGS '72) | 
| 23 | const double F            = 1.0 / 298.26; // Earth flattening (WGS '72) | 
| 24 | const double GE           = 398600.8;     // Earth gravitational constant (WGS '72) | 
| 25 | const double J2           = 1.0826158E-3; // J2 harmonic (WGS '72) | 
| 26 | const double J3           = -2.53881E-6;  // J3 harmonic (WGS '72) | 
| 27 | const double J4           = -1.65597E-6;  // J4 harmonic (WGS '72) | 
| 28 | const double CK2          = J2 / 2.0; | 
| 29 | const double CK4          = -3.0 * J4 / 8.0; | 
| 30 | const double XJ3          = J3; | 
| 31 | const double E6A          = 1.0e-06; | 
| 32 | const double QO           = AE + 120.0 / XKMPER_WGS72; | 
| 33 | const double S            = AE + 78.0  / XKMPER_WGS72; | 
| 34 | const double HR_PER_DAY   = 24.0;          // Hours per day   (solar) | 
| 35 | const double MIN_PER_DAY  = 1440.0;        // Minutes per day (solar) | 
| 36 | const double SEC_PER_DAY  = 86400.0;       // Seconds per day (solar) | 
| 37 | const double OMEGA_E      = 1.00273790934; // earth rotation per sideral day | 
| 38 | const double XKE          = sqrt(3600.0 * GE /           //sqrt(ge) ER^3/min^2 | 
| 39 | (XKMPER_WGS72 * XKMPER_WGS72 * XKMPER_WGS72)); | 
| 40 | const double QOMS2T       = pow((QO - S), 4);            //(QO - S)^4 ER^4 | 
| 41 |  | 
| 42 | // Utility functions | 
| 43 | double sqr   (const double x); | 
| 44 | double Fmod2p(const double arg); | 
| 45 | double AcTan (const double sinx, double cosx); | 
| 46 |  | 
| 47 | double rad2deg(const double); | 
| 48 | double deg2rad(const double); |