10 #if !defined(GEOGRAPHICLIB_MAGNETICMODEL_HPP)
11 #define GEOGRAPHICLIB_MAGNETICMODEL_HPP 1
19 # pragma warning (push)
20 # pragma warning (disable: 4251)
72 static const int idlength_ = 8;
73 std::string _name, _dir, _description, _date, _filename, _id;
74 real _t0, _dt0, _tmin, _tmax, _a, _hmin, _hmax;
75 int _Nmodels, _Nconstants;
78 std::vector< std::vector<real> > _G;
79 std::vector< std::vector<real> > _H;
80 std::vector<SphericalHarmonic> _harm;
81 void Field(real t, real lat, real lon, real h,
bool diffp,
82 real& Bx, real& By, real& Bz,
83 real& Bxt, real& Byt, real& Bzt)
const;
84 void ReadMetadata(
const std::string& name);
120 const std::string& path =
"",
141 real& Bx, real& By, real& Bz)
const {
143 Field(t, lat, lon, h,
false, Bx, By, Bz, dummy, dummy, dummy);
164 real& Bx, real& By, real& Bz,
165 real& Bxt, real& Byt, real& Bzt)
const {
166 Field(t, lat, lon, h,
true, Bx, By, Bz, Bxt, Byt, Bzt);
203 real& H, real& F, real& D, real& I) {
206 H, F, D, I, Ht, Ft, Dt, It);
249 const std::string&
DateTime()
const {
return _date; }
335 static std::string DefaultMagneticPath();
346 static std::string DefaultMagneticName();
351 #if defined(_MSC_VER)
352 # pragma warning (pop)
355 #endif // GEOGRAPHICLIB_MAGNETICMODEL_HPP