1 #ifndef _fwk_MagneticFieldModel_h_
2 #define _fwk_MagneticFieldModel_h_
13 #include <utl/Vector.h>
14 #include <utl/Point.h>
15 #include <utl/AugerUnits.h>
16 #include <utl/UTCDateTime.h>
18 #include <fwk/CoordinateSystemRegistry.h>
19 #include <fwk/LocalCoordinateSystem.h>
69 std::vector <ParametricGeoMagneticField>
fModels;
static double GetInclination(const utl::Point &position, const utl::TimeStamp &time)
returns inclination in radians
Rate-of-change model for spherical harmonics parametrisation of geomagnetic field.
static double GetDeclination(const utl::Point &position, const utl::TimeStamp &time)
returns declination in radians
A TimeStamp holds GPS second and nanosecond for some event.
static MagneticFieldModel & instance()
static utl::Vector GetMagneticFieldVector(const utl::Point &position, const utl::TimeStamp &time)
returns the magnetic field at a specific place at a specific time
ParametricGeoMagneticField ModelForTime(const utl::UTCDate &date)
ParametricGeoMagneticField ModelForYear(double year)
ParametricGeoMagneticField ModelForTime(const utl::TimeStamp &time)
Spherical harmonics parametrisation of geomagnetic field.
static double GetStrength(const utl::Point &position, const utl::TimeStamp &time)
returns field strength of magnetic field
Get the magnetic field of the earth dependent on location and time.
std::vector< ParametricGeoMagneticField > fModels
double decimalYear(int year, int month, int day)
ParametricGeoMagChange * fChangeModel