Get the magnetic field of the earth dependent on location and time. More...
#include <MagneticFieldModel.h>
Public Member Functions | |
ParametricGeoMagneticField | ModelForTime (const utl::UTCDate &date) |
ParametricGeoMagneticField | ModelForTime (const utl::TimeStamp &time) |
ParametricGeoMagneticField | ModelForYear (double year) |
Static Public Member Functions | |
static double | GetDeclination (const utl::Point &position, const utl::TimeStamp &time) |
returns declination in radians More... | |
static double | GetInclination (const utl::Point &position, const utl::TimeStamp &time) |
returns inclination in radians More... | |
static utl::Vector | GetMagneticFieldVector (const utl::Point &position, const utl::TimeStamp &time) |
returns the magnetic field at a specific place at a specific time More... | |
static double | GetStrength (const utl::Point &position, const utl::TimeStamp &time) |
returns field strength of magnetic field More... | |
static MagneticFieldModel & | instance () |
Protected Member Functions | |
double | decimalYear (int year, int month, int day) |
Protected Attributes | |
ParametricGeoMagChange * | fChangeModel |
std::vector < ParametricGeoMagneticField > | fModels |
Private Member Functions | |
void | Init () |
MagneticFieldModel () | |
Get the magnetic field of the earth dependent on location and time.
Definition at line 33 of file MagneticFieldModel.h.
|
private |
Definition at line 17 of file MagneticFieldModel.cc.
References Init().
|
protected |
Definition at line 92 of file MagneticFieldModel.cc.
|
static |
returns declination in radians
Definition at line 67 of file MagneticFieldModel.cc.
References fwk::LocalCoordinateSystemConstructor< Policy >::Create(), and utl::degree.
Referenced by RdREASSimPreparatorNG::RdREASSimPreparatorNG::CreateSimulationInput(), RdREASSimPreparator::RdREASSimPreparator::Run(), and RdZHAireSSimPreparator::RdZHAireSSimPreparator::Run().
|
static |
returns inclination in radians
Definition at line 75 of file MagneticFieldModel.cc.
References fwk::LocalCoordinateSystemConstructor< Policy >::Create(), and utl::degree.
|
static |
returns the magnetic field at a specific place at a specific time
Definition at line 84 of file MagneticFieldModel.cc.
Referenced by RdREASSimPreparatorNG::RdREASSimPreparatorNG::CreateSimulationInput(), RdREASSimPreparatorNG::RdREASSimPreparatorNG::GetEarlyLateCorrectedAxisDistance(), GetStrength(), RdStationSimPulseFinder::RdStationSimPulseFinder::Run(), RdStationPolarizationRejector::RdStationPolarizationRejector::Run(), RdEventInitializer::RdEventInitializer::Run(), RdREASSimPreparator::RdREASSimPreparator::Run(), RdLDFChargeExcessCorrector::RdLDFChargeExcessCorrector::Run(), RdZHAireSSimPreparator::RdZHAireSSimPreparator::Run(), and testMagneticFieldModel::testIGRFValues().
|
inlinestatic |
returns field strength of magnetic field
Definition at line 51 of file MagneticFieldModel.h.
References utl::Vector::GetMag(), and GetMagneticFieldVector().
|
private |
Definition at line 29 of file MagneticFieldModel.cc.
References utl::g, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetFirstChild(), fwk::CentralConfig::GetInstance(), utl::Branch::GetNextSibling(), fwk::CentralConfig::GetTopBranch(), and galactic::year.
Referenced by MagneticFieldModel().
|
static |
Definition at line 22 of file MagneticFieldModel.cc.
Referenced by RdREASSimPreparatorNG::RdREASSimPreparatorNG::CreateSimulationInput(), RdREASSimPreparatorNG::RdREASSimPreparatorNG::GetEarlyLateCorrectedAxisDistance(), det::Detector::GetGeoMagneticField(), RdStationSimPulseFinder::RdStationSimPulseFinder::Run(), RdStationPolarizationRejector::RdStationPolarizationRejector::Run(), RdEventInitializer::RdEventInitializer::Run(), RdREASSimPreparator::RdREASSimPreparator::Run(), RdLDFChargeExcessCorrector::RdLDFChargeExcessCorrector::Run(), RdZHAireSSimPreparator::RdZHAireSSimPreparator::Run(), and testMagneticFieldModel::testIGRFValues().
fwk::ParametricGeoMagneticField fwk::MagneticFieldModel::ModelForTime | ( | const utl::UTCDate & | date | ) |
Definition at line 106 of file MagneticFieldModel.cc.
References utl::day, utl::UTCDate::GetDay(), utl::UTCDate::GetMonth(), utl::UTCDate::GetYear(), and galactic::year.
Referenced by ModelForTime().
|
inline |
Definition at line 58 of file MagneticFieldModel.h.
References ModelForTime().
fwk::ParametricGeoMagneticField fwk::MagneticFieldModel::ModelForYear | ( | double | year | ) |
Definition at line 116 of file MagneticFieldModel.cc.
References ERROR, Extrapolate(), fwk::ParametricGeoMagneticField::GetBaseYear(), fwk::ParametricGeoMagneticField::Interpolate(), and galactic::year.
|
protected |
Definition at line 70 of file MagneticFieldModel.h.
|
protected |
Definition at line 69 of file MagneticFieldModel.h.