#include <NonParametricXMLMieModel.h>
Public Types | |
typedef std::vector< double > | PhaseFunction |
Phase function table (arbitrary angular binning between 0, 180 degrees) More... | |
Public Member Functions | |
atm::AttenuationResult | EvaluateMieAttenuation (const utl::Point &xInit, const utl::Point &xFinal, const std::vector< double > &wLength) const |
Calculate the aerosol attenuation between two points. More... | |
double | EvaluateMieAttenuation (const utl::Point &xInit, const utl::Point &xFinal, const double wLength) const |
Calculate the attenuation between two points at a single wavelength. Uses a basic three-parameter aerosol model. More... | |
atm::ScatteringResult | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const std::vector< double > &wLength) const |
Aerosol scattering fraction in a wavelength band. More... | |
atm::ScatteringResult | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const atm::AttenuationResult &mieAttenuation) const |
Aerosol scattering fraction in a wavelength band with a pre-calculated Mie attenuation. More... | |
double | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const double wLength) const |
Aerosol scattering fraction at a fixed wavelength. More... | |
double | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const double wLength, const double mieAttenuation) const |
Aerosol scattering fraction at a fixed wavelength with a pre-calculated Mie attenuation. More... | |
double | EvaluateScatteringAngle (const utl::Point &p, const double angle, const double wLength) const |
Calculation is done independent of the position and wavelength. More... | |
virtual const utl::VRandomSampler & | EvaluateScatteringAngleDistribution (const utl::Point &p, const double wLength) const |
double | GetAttenuationLength (const utl::Point &p, const double wLength) const |
Horizontal attenuation length (inverse of extinction coefficient). Grows with altitude as aerosol distribution decreases. More... | |
double | GetVerticalAerosolOpticalDepth (const unsigned int eyeId, const double altitude) const |
Calculate VAOD at some altitude (w.r.t. sea level) above a given eye. More... | |
bool | HasData () const |
True if a data source is for the given model. More... | |
void | Init () |
void | SetOpticalDepth (const utl::TabulatedFunction &vaod, const utl::TabulatedFunction &alpha) |
Override the XML config aerosol profile (use a function of height above sea level) More... | |
void | SetPhaseFunction (const PhaseFunction &phaseFunc) |
Override the XML config phase function, which should be a function of arbitrary binning from 0 to 180 degrees inclusive. More... | |
virtual void | SetUncertaintyBound (const double nSigma) const |
alter Model by nSigma standard deviations More... | |
virtual | ~NonParametricXMLMieModel () |
Destructor - should be virtual for base classes. More... | |
Private Member Functions | |
REGISTER_MODEL (atm::VMieModel,"NonParametricXML", NonParametricXMLMieModel) | |
Private Attributes | |
utl::ShadowPtr < utl::TabulatedFunction > | fAlphaVsHeight |
Aerosol extinction coefficient vs. height. More... | |
double | fGamma |
Angstrom exponent of the aerosol scattering wavelength dependence. More... | |
double | fGammaError |
PhaseFunction | fPF |
Phase function table (arbitrary angular binning between 0, 180 degrees) More... | |
utl::ShadowPtr < utl::TabulatedFunction > | fVAODVsHeight |
Vertical aerosol optical depth vs. height. More... | |
Definition at line 20 of file NonParametricXMLMieModel.h.
typedef std::vector<double> atm::NonParametricXMLMieModel::PhaseFunction |
Phase function table (arbitrary angular binning between 0, 180 degrees)
Definition at line 77 of file NonParametricXMLMieModel.h.
|
inlinevirtual |
Destructor - should be virtual for base classes.
Definition at line 24 of file NonParametricXMLMieModel.h.
|
virtual |
Calculate the aerosol attenuation between two points.
Implements atm::VMieModel.
Definition at line 194 of file NonParametricXMLMieModel.cc.
References utl::TabulatedFunctionErrors::PushBack().
|
virtual |
Calculate the attenuation between two points at a single wavelength. Uses a basic three-parameter aerosol model.
Implements atm::VMieModel.
Definition at line 218 of file NonParametricXMLMieModel.cc.
References utl::abs(), utl::ReferenceEllipsoid::eWGS84, utl::ReferenceEllipsoid::Get(), utl::kLn10, utl::m, max, utl::nanometer, utl::ReferenceEllipsoid::PointToLatitudeLongitudeHeight(), std::pow(), and utl::swap().
|
virtual |
Aerosol scattering fraction in a wavelength band.
Implements atm::VMieModel.
Definition at line 107 of file NonParametricXMLMieModel.cc.
References utl::TabulatedFunctionErrors::PushBack().
|
virtual |
Aerosol scattering fraction in a wavelength band with a pre-calculated Mie attenuation.
Implements atm::VMieModel.
Definition at line 132 of file NonParametricXMLMieModel.cc.
References utl::TabulatedFunction::GetNPoints(), atm::AttenuationResult::GetTransmissionFactor(), utl::TabulatedFunction::GetX(), utl::TabulatedFunction::GetY(), and utl::TabulatedFunctionErrors::PushBack().
|
virtual |
Aerosol scattering fraction at a fixed wavelength.
Implements atm::VMieModel.
Definition at line 159 of file NonParametricXMLMieModel.cc.
|
virtual |
Aerosol scattering fraction at a fixed wavelength with a pre-calculated Mie attenuation.
Implements atm::VMieModel.
Definition at line 176 of file NonParametricXMLMieModel.cc.
References std::pow().
|
virtual |
Calculation is done independent of the position and wavelength.
Implements atm::VMieModel.
Definition at line 333 of file NonParametricXMLMieModel.cc.
References utl::kPi.
|
virtualinherited |
Definition at line 35 of file VMieModel.cc.
References utl::deg, atm::VMieModel::EvaluateScatteringAngle(), atm::VMieModel::fAngularDistribution, and utl::TabulatedFunction::PushBack().
|
virtual |
Horizontal attenuation length (inverse of extinction coefficient). Grows with altitude as aerosol distribution decreases.
Implements atm::VMieModel.
Definition at line 307 of file NonParametricXMLMieModel.cc.
References utl::ReferenceEllipsoid::eWGS84, utl::ReferenceEllipsoid::Get(), utl::nanometer, utl::ReferenceEllipsoid::PointToLatitudeLongitudeHeight(), and std::pow().
|
virtual |
Calculate VAOD at some altitude (w.r.t. sea level) above a given eye.
Implements atm::VMieModel.
Definition at line 279 of file NonParametricXMLMieModel.cc.
|
inlinevirtual |
True if a data source is for the given model.
This method is meant to be checked to determine whether the given model is able to find valid data to evaluate. Typically it will always be true for parametric models which rely on an XML file, and will be true or false for database-based models, depending on whether or not relevant data are found in the DB for the current detector time
Implements atm::VModel.
Definition at line 71 of file NonParametricXMLMieModel.h.
|
virtual |
Implements atm::VModel.
Definition at line 40 of file NonParametricXMLMieModel.cc.
References utl::Branch::GetChild(), utl::Branch::GetData(), and utl::Branch::GetTopBranch().
|
private |
void NonParametricXMLMieModel::SetOpticalDepth | ( | const utl::TabulatedFunction & | vaod, |
const utl::TabulatedFunction & | alpha | ||
) |
Override the XML config aerosol profile (use a function of height above sea level)
Definition at line 87 of file NonParametricXMLMieModel.cc.
void NonParametricXMLMieModel::SetPhaseFunction | ( | const PhaseFunction & | phaseFunc | ) |
Override the XML config phase function, which should be a function of arbitrary binning from 0 to 180 degrees inclusive.
Definition at line 97 of file NonParametricXMLMieModel.cc.
|
virtualinherited |
alter Model by nSigma standard deviations
Reimplemented in atm::MeasuredDBMieModel, and atm::SuperMieModel.
Definition at line 11 of file VModel.cc.
References ERROR.
|
private |
Aerosol extinction coefficient vs. height.
Definition at line 87 of file NonParametricXMLMieModel.h.
|
private |
Angstrom exponent of the aerosol scattering wavelength dependence.
Definition at line 93 of file NonParametricXMLMieModel.h.
|
private |
Definition at line 94 of file NonParametricXMLMieModel.h.
|
private |
Phase function table (arbitrary angular binning between 0, 180 degrees)
Definition at line 90 of file NonParametricXMLMieModel.h.
|
private |
Vertical aerosol optical depth vs. height.
Definition at line 84 of file NonParametricXMLMieModel.h.