| 
    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().
 1.8.13