| 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);
|