9 #ifndef _atm_ParametricXMLMieModel_h_
10 #define _atm_ParametricXMLMieModel_h_
13 #include <atm/VMieModel.h>
28 const double distance,
29 const std::vector<double>& wLength)
const;
34 const double distance,
39 const std::vector<double>& wLength)
const;
44 const double distance,
45 const double wLength)
const;
50 const double distance,
52 const double mieAttenuation)
const;
56 const double wLength)
const;
59 const double altitude)
const;
62 const double wLength)
const;
69 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 dis...
Base class for a Mie Model.
double fHScl
Scale height of the aerosol "entrainment layer" above the mixing layer.
virtual ~ParametricXMLMieModel()
Destructor - should be virtual for base classes.
void SetAngstromCoeff(const double gamma)
double fGamma
Angstrom exponent of the aerosol scattering wavelength dependence.
double GetHorizAttLength() const
PFParameters fPhaseFunction
void SetMixHeight(const double hMix)
Class holding the output of the ScatteringResult function.
double fHGnd
Prevailing ground height used in the aerosol model.
double GetScaleHeight() const
double GetVerticalAerosolOpticalDepth(const unsigned int eyeId, const double altitude) const
Calculate VAOD at some altitude (w.r.t. sea level) above a given eye.
REGISTER_MODEL(atm::VMieModel,"ParametricXML", ParametricXMLMieModel)
double EvaluateScatteringAngle(const utl::Point &p, const double angle, const double wLength) const
Calculation is done independent of the position and wavelength.
double GetAngstromCoeff() const
double GetGroundHeightASL() const
void SetHorizAttLength(const double lMix)
double fHMix
Mixing layer height (w.r.t. prevailing ground level).
void SetGroundHeightASL(const double hGnd)
double fLMix
Mixing layer (i.e., ground-level) horizontal attenuation length.
atm::AttenuationResult EvaluateMieAttenuation(const utl::Point &xInit, const utl::Point &xFinal, const std::vector< double > &wLength) const
Calculate the aerosol attenuation between two points.
struct atm::ParametricXMLMieModel::PFParameters PFParameters
Phase function table (modified Henyey-Greenstein function).
double GetMixHeight() const
Class for computing aerosol scattering and attenuation using simple parameterizations.
bool HasData() const
True if a data source is for the given model.
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.
Class describing the Atmospheric attenuation.
void SetScaleHeight(const double hScl)
Phase function table (modified Henyey-Greenstein function).