10 #if !defined(GEOGRAPHICLIB_MAGNETICCIRCLE_HPP) 11 #define GEOGRAPHICLIB_MAGNETICCIRCLE_HPP 1 41 real _a, _f, _lat, _h, _t, _cphi, _sphi,
_t1, _dt0;
46 real cphi, real sphi, real t1, real dt0,
51 , _lat(
Math::LatFix(lat))
58 , _interpolate(interpolate)
65 real cphi, real sphi, real t1, real dt0,
78 , _interpolate(interpolate)
85 void Field(real
lon,
bool diffp,
86 real& Bx, real& By, real& Bz,
87 real& Bxt, real& Byt, real& Bzt)
const;
114 void operator()(real lon, real& Bx, real& By, real& Bz)
const {
116 Field(lon,
false, Bx, By, Bz, dummy, dummy, dummy);
134 real& Bxt, real& Byt, real& Bzt)
const {
135 Field(lon,
true, Bx, By, Bz, Bxt, Byt, Bzt);
145 bool Init()
const {
return _a > 0; }
180 #endif // GEOGRAPHICLIB_MAGNETICCIRCLE_HPP MagneticCircle(real a, real f, real lat, real h, real t, real cphi, real sphi, real t1, real dt0, bool interpolate, const CircularEngine &circ0, const CircularEngine &circ1)
#define GEOGRAPHICLIB_EXPORT
Mathematical functions needed by GeographicLib.
Model of the earth's magnetic field.
Geomagnetic field on a circle of latitude.
void operator()(real lon, real &Bx, real &By, real &Bz, real &Bxt, real &Byt, real &Bzt) const
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Namespace for GeographicLib.
Header for GeographicLib::CircularEngine class.
void operator()(real lon, real &Bx, real &By, real &Bz) const
Spherical harmonic sums for a circle.
Header for GeographicLib::Constants class.
Math::real Height() const
MagneticCircle(real a, real f, real lat, real h, real t, real cphi, real sphi, real t1, real dt0, bool interpolate, const CircularEngine &circ0, const CircularEngine &circ1, const CircularEngine &circ2)
T interpolate(const T &X, const T &Y, double t, typename MakeOptionalJacobian< T, T >::type Hx={}, typename MakeOptionalJacobian< T, T >::type Hy={})
Math::real Latitude() const
Math::real MajorRadius() const
Math::real Flattening() const