10 #if !defined(GEOGRAPHICLIB_MAGNETICMODEL_HPP)
11 #define GEOGRAPHICLIB_MAGNETICMODEL_HPP 1
19 # pragma warning (push)
20 # pragma warning (disable: 4251)
78 static const int idlength_ = 8;
79 std::string _name, _dir, _description, _date, _filename, _id;
80 real _t0, _dt0, _tmin, _tmax, _a, _hmin, _hmax;
81 int _Nmodels, _Nconstants, _nmx, _mmx;
84 std::vector< std::vector<real> > _G;
85 std::vector< std::vector<real> > _H;
86 std::vector<SphericalHarmonic> _harm;
87 void Field(real t, real lat, real lon, real h,
bool diffp,
88 real& Bx, real& By, real& Bz,
89 real& Bxt, real& Byt, real& Bzt)
const;
90 void ReadMetadata(
const std::string& name);
134 const std::string& path =
"",
136 int Nmax = -1,
int Mmax = -1);
156 real& Bx, real& By, real& Bz)
const {
158 Field(t, lat, lon, h,
false, Bx, By, Bz, dummy, dummy, dummy);
179 real& Bx, real& By, real& Bz,
180 real& Bxt, real& Byt, real& Bzt)
const {
181 Field(t, lat, lon, h,
true, Bx, By, Bz, Bxt, Byt, Bzt);
218 real& H, real& F, real& D, real& I) {
221 H, F, D, I, Ht, Ft, Dt, It);
264 const std::string&
DateTime()
const {
return _date; }
353 Math::real MajorRadius()
const {
return EquatorialRadius(); }
366 static std::string DefaultMagneticPath();
377 static std::string DefaultMagneticName();
382 #if defined(_MSC_VER)
383 # pragma warning (pop)
Header for GeographicLib::Constants class.
#define GEOGRAPHICLIB_EXPORT
#define GEOGRAPHICLIB_DEPRECATED(msg)
Header for GeographicLib::Geocentric class.
GeographicLib::Math::real real
Header for GeographicLib::SphericalHarmonic class.
Math::real Flattening() const
Math::real EquatorialRadius() const
static const Geocentric & WGS84()
Geomagnetic field on a circle of latitude.
Model of the earth's magnetic field.
const std::string & DateTime() const
const std::string & Description() const
Math::real EquatorialRadius() const
void operator()(real t, real lat, real lon, real h, real &Bx, real &By, real &Bz) const
const std::string & MagneticModelDirectory() const
Math::real MinTime() const
Math::real MaxTime() const
Math::real MaxHeight() const
const std::string & MagneticFile() const
Math::real Flattening() const
Math::real MinHeight() const
const std::string & MagneticModelName() const
void operator()(real t, real lat, real lon, real h, real &Bx, real &By, real &Bz, real &Bxt, real &Byt, real &Bzt) const
static void FieldComponents(real Bx, real By, real Bz, real &H, real &F, real &D, real &I)
Mathematical functions needed by GeographicLib.
Namespace for GeographicLib.