12 #ifndef _atm_HumidAirRayleighModel_h_
13 #define _atm_HumidAirRayleighModel_h_
15 #include <atm/VRayleighModel.h>
20 class ScatteringResult;
21 class AttenuationResult;
44 const double distance,
45 const std::vector<double>& wLength)
const;
51 const double distance,
57 const std::vector<double>& wLength)
const;
62 const double distance,
63 double wLength)
const;
68 const double distance,
70 double wLength)
const;
74 double wLength)
const;
78 const double wLength)
const;
82 const double wLength)
const;
95 const double pressure,
96 const double vaporPressure)
const;
99 const double refIndex,
100 const double temperature,
101 const double pressure,
102 const double vaporPressure)
const;
110 #endif // _atm_HumidAirRayleighModel_h_
bool HasData() const
True if a data source is for the given model.
Model for Rayleigh scattering and attenuation in a humid atmosphere.
REGISTER_MODEL(atm::VRayleighModel,"HumidAir", HumidAirRayleighModel)
double GetAttenuationLength(const utl::Point &p, const double wLength) const
Attenuation in units of length [1/scattering coefficient].
double EvaluateScatteringAngle(const utl::Point &p, const double angle, const double wLength) const
Base class for an Rayleigh Model.
Class holding the output of the ScatteringResult function.
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.
virtual ~HumidAirRayleighModel()
double RayleighCrossSection(const double wl, const double refIndex, const double temperature, const double pressure, const double vaporPressure) const
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.
double KingFactor(const double wl, const double pressure, const double vaporPressure) const
Class describing the Atmospheric attenuation.
double fIntegrationStepWidth