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 _nNmodels, _nNconstants, _nmx, _mmx;
84 std::vector< std::vector<real> > _gG;
85 std::vector< std::vector<real> > _hH;
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);
136 const std::string& path =
"",
138 int Nmax = -1,
int Mmax = -1);
161 real& Bx, real& By, real& Bz)
const {
163 Field(t, lat, lon, h,
false, Bx, By, Bz, dummy, dummy, dummy);
187 real& Bx, real& By, real& Bz,
188 real& Bxt, real& Byt, real& Bzt)
const {
189 Field(t, lat, lon, h,
true, Bx, By, Bz, Bxt, Byt, Bzt);
250 real& H, real& F, real& D, real& I) {
253 H, F, D, I, Ht, Ft, Dt, It);
296 const std::string&
DateTime()
const {
return _date; }
392 static std::string DefaultMagneticPath();
403 static std::string DefaultMagneticName();
409# pragma warning (pop)
Header for GeographicLib::Constants class.
#define GEOGRAPHICLIB_EXPORT
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.
Math::real EquatorialRadius() const
void operator()(real t, real lat, real lon, real h, real &Bx, real &By, real &Bz) const
Math::real MinTime() const
const std::string & Description() const
const std::string & MagneticFile() const
Math::real MaxTime() const
Math::real MaxHeight() const
const std::string & DateTime() const
const std::string & MagneticModelName() const
Math::real Flattening() const
Math::real MinHeight() const
const std::string & MagneticModelDirectory() 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)
Namespace for GeographicLib.