icedb  version 0.5.1
Snow particle scattering database API
Namespaces | Macros | Functions
refractBoost.hpp File Reference
#include "../defs.h"
#include <complex>
#include <functional>
#include <iostream>
#include <map>
#include <string>
#include <vector>
#include <boost/parameter/keyword.hpp>
#include <boost/parameter/name.hpp>
#include <boost/parameter/preprocessor.hpp>
#include <boost/lexical_cast.hpp>
#include "../units/units.hpp"
#include "refractBase.hpp"
#include "../optionsForwards.hpp"
Include dependency graph for refractBoost.hpp:

Go to the source code of this file.

Namespaces

 icedb
 
 icedb::refract
 
 icedb::refract::boost
 

Macros

#define standardGenericProvider(name)
 Really generic (has everything and hides details from user) More...
 
#define standardFTmProvider(name)
 
#define standardLmProvider(name)
 

Functions

 icedb::refract::boost::standardGenericProvider (mWater)
 
 icedb::refract::boost::standardGenericProvider (mIce)
 
 icedb::refract::boost::standardGenericProvider (mOther)
 
 icedb::refract::boost::standardFTmProvider (mWaterLiebe)
 
 icedb::refract::boost::standardFTmProvider (mIceMatzler)
 
 icedb::refract::boost::standardFTmProvider (mIceWarren)
 
 icedb::refract::boost::standardFTmProvider (mWaterFreshMeissnerWentz)
 
 icedb::refract::boost::standardLmProvider (mWaterHanel)
 
 icedb::refract::boost::standardLmProvider (mIceHanel)
 
 icedb::refract::boost::standardLmProvider (mNaClHanel)
 
 icedb::refract::boost::standardLmProvider (mSeaSaltHanel)
 
 icedb::refract::boost::standardLmProvider (mDustHanel)
 
 icedb::refract::boost::standardLmProvider (mSandOHanel)
 
 icedb::refract::boost::standardLmProvider (mSandEHanel)
 

Macro Definition Documentation

◆ standardFTmProvider

#define standardFTmProvider (   name)
Value:
BOOST_PARAMETER_FUNCTION( \
(void), \
name, \
tag, \
(required \
(frequency, (double)) \
(temperature, (double)) \
(in_out(m), *)) \
(optional \
(freq_units, *, std::string("GHz")) \
(temp_units, *, std::string("degK"))) \
) \
{ \
double freq = rtmath::units::conv_spec(freq_units, "GHz").convert(frequency); \
double temp = rtmath::units::converter(temp_units, "degK").convert(temperature); \
implementations:: name(freq, temp, m); \
}

Definition at line 58 of file refractBoost.hpp.

◆ standardGenericProvider

#define standardGenericProvider (   name)
Value:
BOOST_PARAMETER_FUNCTION( \
(void), \
name, \
tag, \
(required \
(frequency, (double)) \
(temperature, (double)) \
(in_out(m), *)) \
(optional \
(freq_units, *, std::string("GHz")) \
(temp_units, *, std::string("K")) \
(provider, (const char*), "")) \
) \
{ \
double freq = rtmath::units::conv_spec(freq_units, "GHz").convert(frequency); \
double temp = rtmath::units::converter(temp_units, "degK").convert(temperature); \
implementations:: name(freq, temp, m, provider); \
}

Really generic (has everything and hides details from user)

Dielectric providers - these use f and T to automatically determine the correct base dielectric function to use.

Definition at line 34 of file refractBoost.hpp.

◆ standardLmProvider

#define standardLmProvider (   name)
Value:
BOOST_PARAMETER_FUNCTION( \
(void), \
name, \
tag, \
(required \
(frequency, (double)) \
(in_out(m), *) ) \
(optional \
(temperature, (double), 0) \
(freq_units, *, std::string("GHz")) \
(temp_units, *, std::string("degK")) ) \
) \
{ \
double lambda = rtmath::units::conv_spec(freq_units, "um").convert(frequency); \
double temp = rtmath::units::converter(temp_units, "degK").convert(temperature); \
implementations:: name(lambda, m); \
}

Definition at line 82 of file refractBoost.hpp.