icedb  version 0.5.1
Snow particle scattering database API
Namespaces | Functions | Variables
refract.cpp File Reference
#include <cmath>
#include <complex>
#include <valarray>
#include <mutex>
#include <set>
#include "../icedb/refract/refract.hpp"
#include "../icedb/refract/refractBase.hpp"
#include "../icedb/zeros.hpp"
#include "../icedb/units/units.hpp"
#include "../icedb/error.hpp"
#include "../icedb/logging.hpp"
Include dependency graph for refract.cpp:

Go to the source code of this file.

Namespaces

 icedb
 
 icedb::refract
 
 icedb::refract::implementations
 The raw dielectric providers implementations.
 

Functions

void icedb::refract::implementations::_init ()
 
all_providers_p icedb::refract::listAllProviders ()
 
all_providers_p icedb::refract::listAllProviders (const std::string &subst)
 
void icedb::refract::enumProvider (provider_p p, std::ostream &out)
 
void icedb::refract::enumProviders (all_providers_p p, std::ostream &out)
 
void icedb::refract::enumSubstances (std::ostream &out)
 
provider_p icedb::refract::findProviderByName (const std::string &providerName)
 
provider_p icedb::refract::findProvider (const std::string &subst, bool haveFreq, bool haveTemp, const std::string &start)
 
all_providers_p icedb::refract::findProviders (const std::string &subst, bool haveFreq, bool haveTemp)
 
void icedb::refract::prepRefract (provider_p prov, const std::string &inFreqUnits, refractFunction_freqonly_t &res)
 
void icedb::refract::prepRefract (provider_p prov, const std::string &inFreqUnits, const std::string &inTempUnits, refractFunction_freq_temp_t &res)
 
void icedb::refract::bruggeman (std::complex< double > Ma, std::complex< double > Mb, double fa, std::complex< double > &Mres)
 
void icedb::refract::debyeDry (std::complex< double > Ma, std::complex< double > Mb, double fa, std::complex< double > &Mres)
 
void icedb::refract::maxwellGarnettSpheres (std::complex< double > Ma, std::complex< double > Mb, double fa, std::complex< double > &Mres)
 
void icedb::refract::maxwellGarnettEllipsoids (std::complex< double > Ma, std::complex< double > Mb, double fa, std::complex< double > &Mres)
 
void icedb::refract::sihvola (std::complex< double > Ma, std::complex< double > Mb, double fa, double nu, std::complex< double > &Mres)
 
std::complex< double > icedb::refract::mToE (std::complex< double > m)
 m to e converters More...
 
void icedb::refract::mToE (std::complex< double > m, std::complex< double > &e)
 
std::complex< double > icedb::refract::eToM (std::complex< double > e)
 
void icedb::refract::eToM (std::complex< double > e, std::complex< double > &m)
 
double icedb::refract::guessTemp (double freq, const std::complex< double > &m, std::function< void(double freq, double temp, std::complex< double > &mres)> meth, double TA, double TB)
 

Variables

std::mutex icedb::refract::implementations::m_refracts
 
all_providers_mp icedb::refract::implementations::allProvidersSet
 
std::map< std::string, all_providers_mp > icedb::refract::implementations::providersSet
 
std::map< std::string, provider_mp > icedb::refract::implementations::providersByName
 
std::set< std::string > icedb::refract::implementations::substs