00001 #pragma ident "$Id: EGM96GravityModel.hpp 2457 2010-08-18 14:20:12Z coandrei $"
00002
00008 #ifndef GPSTK_EGM96_GRAVITY_MODEL_HPP
00009 #define GPSTK_EGM96_GRAVITY_MODEL_HPP
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include "SphericalHarmonicGravity.hpp"
00036
00037
00038 namespace gpstk
00039 {
00042
00046 class EGM96GravityModel : public SphericalHarmonicGravity
00047 {
00048 public:
00050 EGM96GravityModel (int n = 20, int m = 20)
00051 : SphericalHarmonicGravity( n, m )
00052 {
00053 gmData.modelName = "EGM96";
00054
00055 gmData.GM = 3.9860044150E+14;
00056 gmData.refDistance = 6378136.300000;
00057
00058 gmData.includesPermTide = false;
00059
00060 gmData.refMJD = 46431.0;
00061 gmData.dotC20 = 1.1627553400E-11;
00062 gmData.dotC21 = -0.3200000000E-11;
00063 gmData.dotS21 = 1.6200000000E-11;
00064
00065 gmData.maxDegree = 70;
00066 gmData.maxOrder = 70;
00067
00068 gmData.unnormalizedCS.resize(71, 71);
00069 gmData.unnormalizedCS = &gmcs[0][0];
00070 }
00071
00072 virtual ~EGM96GravityModel(){};
00073
00074 virtual void initialize(){};
00075
00076 private:
00077
00084 static const double gmcs[71][71];
00085
00086 };
00087
00088
00089
00090 }
00091
00092 #endif // GPSTK_EGM96_GRAVITY_MODEL_HPP
00093