10 #ifndef _atm_ParametricXMLRayleighModel_h_
11 #define _atm_ParametricXMLRayleighModel_h_
14 #include <atm/VRayleighModel.h>
19 class ScatteringResult;
20 class AttenuationResult;
46 const double distance,
47 const std::vector<double>& wLength)
const;
53 const double distance,
59 const std::vector<double>& wLength)
const;
64 const double distance,
65 double wLength)
const;
70 const double distance,
72 const double raylAtt)
const;
76 double wLength)
const;
80 const double wLength)
const;
84 const double wLength)
const;
105 #endif // _atm_ParametricXMLRayleighModel_h_
double fIntegrationStepWidth
bool fIntegratedGDistance
atm::AttenuationResult EvaluateRayleighAttenuation(const utl::Point &xInit, const utl::Point &xFinal, const std::vector< double > &wLength) const
Calculate the Rayleigh attenuation between two points for a vector of wavelengths.
atm::ScatteringResult EvaluateRayleighScattering(const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const std::vector< double > &wLength) const
Calculate the fraction of Rayleigh scattering photons in the beam.
Base class for an Rayleigh Model.
bool HasData() const
True if a data source is for the given model.
Class holding the output of the ScatteringResult function.
virtual ~ParametricXMLRayleighModel()
double EvaluateScatteringAngle(const utl::Point &p, const double angle, const double wLength) const
Parametric model for Rayleigh scattering and attenuation using.
double GetAttenuationLength(const utl::Point &p, const double wLength) const
Attenuation [slant depth]; assumes const Rayleigh X-section vs height.
ParametricXMLRayleighModel()
REGISTER_MODEL(atm::VRayleighModel,"ParametricXML", ParametricXMLRayleighModel)
double GDistance(const utl::Point &xA, const utl::Point &xB) const
Get the distance between two points in massive length.
Class describing the Atmospheric attenuation.