icedb
version 0.5.1
Snow particle scattering database API
|
The raw dielectric providers implementations. More...
Functions | |
void | _init () |
void | mWaterLiebe (double f, double t, std::complex< double > &m) |
void | mWaterFreshMeissnerWentz (double f, double t, std::complex< double > &m) |
void | mIceMatzler (double f, double t, std::complex< double > &m) |
void | mIceWarren (double f, double t, std::complex< double > &m) |
Ice complex refractive index for microwave/uv. More... | |
void | mWaterHanel (double lambda, std::complex< double > &m) |
Water complex refractive index for ir/vis. More... | |
void | mIceHanel (double lambda, std::complex< double > &m) |
Ice complex refractive index for ir/vis. More... | |
void | mNaClHanel (double lambda, std::complex< double > &m) |
Sodium chloride refractive index for ir/vis. More... | |
void | mSeaSaltHanel (double lambda, std::complex< double > &m) |
Sea salt refractive index for ir/vis. More... | |
void | mDustHanel (double lambda, std::complex< double > &m) |
Dust-like particle refractive index for ir/vis. More... | |
void | mSandOHanel (double lambda, std::complex< double > &m) |
Sand O-ray refractvie index for ir/vis (birefringent) More... | |
void | mSandEHanel (double lambda, std::complex< double > &m) |
Sand E-ray refractive index for ir/vis (birefringent) More... | |
Variables | |
std::mutex | m_refracts |
all_providers_mp | allProvidersSet |
std::map< std::string, all_providers_mp > | providersSet |
std::map< std::string, provider_mp > | providersByName |
std::set< std::string > | substs |
The raw dielectric providers implementations.
void icedb::refract::implementations::_init | ( | ) |
Definition at line 21 of file refract.cpp.
References icedb::refract::provider_s::FREQ, icedb::refract::provider_s::FREQTEMP, icedb::refract::provider_s::generate(), mDustHanel(), mIceHanel(), mIceMatzler(), mIceWarren(), mNaClHanel(), mSandEHanel(), mSandOHanel(), mSeaSaltHanel(), mWaterFreshMeissnerWentz(), mWaterHanel(), and mWaterLiebe().
Referenced by icedb::refract::findProvider(), icedb::refract::findProviderByName(), icedb::refract::findProviders(), and icedb::refract::listAllProviders().
void icedb::refract::implementations::mDustHanel | ( | double | lambda, |
std::complex< double > & | m | ||
) |
Dust-like particle refractive index for ir/vis.
Definition at line 569 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::setupHanelB(), and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mIceHanel | ( | double | lambda, |
std::complex< double > & | m | ||
) |
Ice complex refractive index for ir/vis.
Definition at line 529 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::setupHanelA(), and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mIceMatzler | ( | double | f, |
double | t, | ||
std::complex< double > & | m | ||
) |
Ice complex refractive index Christian Matzler (2006)
Definition at line 360 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mIceWarren | ( | double | f, |
double | t, | ||
std::complex< double > & | m | ||
) |
Ice complex refractive index for microwave/uv.
Definition at line 389 of file refractImpl.cpp.
References icedb::units::converter::convert(), ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::m_setup, and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mNaClHanel | ( | double | lambda, |
std::complex< double > & | m | ||
) |
Sodium chloride refractive index for ir/vis.
Definition at line 542 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::setupHanelA(), and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mSandEHanel | ( | double | lambda, |
std::complex< double > & | m | ||
) |
Sand E-ray refractive index for ir/vis (birefringent)
Definition at line 595 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::setupHanelB(), and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mSandOHanel | ( | double | lambda, |
std::complex< double > & | m | ||
) |
Sand O-ray refractvie index for ir/vis (birefringent)
Definition at line 582 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::setupHanelB(), and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mSeaSaltHanel | ( | double | lambda, |
std::complex< double > & | m | ||
) |
Sea salt refractive index for ir/vis.
Definition at line 556 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::setupHanelA(), and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mWaterFreshMeissnerWentz | ( | double | f, |
double | t, | ||
std::complex< double > & | m | ||
) |
Water complex refractive index for microwave for 0 to 500 GHz, temps from -20 to 40 C. This one is for pure water (salinity = 0). There is also a model with salinity (TBI). Meissner and Wentz (2004)
Definition at line 316 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mWaterHanel | ( | double | lambda, |
std::complex< double > & | m | ||
) |
Water complex refractive index for ir/vis.
Definition at line 516 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, anonymous_namespace{refractImpl.cpp}::setupHanelA(), and icedb::error::xModelOutOfRange.
Referenced by _init().
void icedb::refract::implementations::mWaterLiebe | ( | double | f, |
double | t, | ||
std::complex< double > & | m | ||
) |
Water complex refractive index for microwave for 0 to 1000 GHz Liebe, Hufford and Manabe (1991)
Definition at line 292 of file refractImpl.cpp.
References ICEDB_log, icedb::logging::ICEDB_LOG_DEBUG_2, ICEDB_throw, and icedb::error::xModelOutOfRange.
Referenced by _init().
all_providers_mp icedb::refract::implementations::allProvidersSet |
Definition at line 17 of file refract.cpp.
Referenced by icedb::refract::findProvider(), icedb::refract::findProviderByName(), icedb::refract::findProviders(), icedb::refract::listAllProviders(), and icedb::refract::provider_s::registerFunc().
std::mutex icedb::refract::implementations::m_refracts |
Definition at line 16 of file refract.cpp.
std::map<std::string, provider_mp> icedb::refract::implementations::providersByName |
Definition at line 19 of file refract.cpp.
Referenced by icedb::refract::findProvider(), icedb::refract::findProviderByName(), icedb::refract::findProviders(), and icedb::refract::provider_s::registerFunc().
std::map<std::string, all_providers_mp> icedb::refract::implementations::providersSet |
Definition at line 18 of file refract.cpp.
Referenced by icedb::refract::findProvider(), icedb::refract::findProviders(), icedb::refract::listAllProviders(), and icedb::refract::provider_s::registerFunc().
std::set<std::string> icedb::refract::implementations::substs |
Definition at line 20 of file refract.cpp.
Referenced by icedb::refract::enumSubstances(), and icedb::refract::provider_s::registerFunc().