Compute Mie scattering/attenuation using the best data source. More...
#include <SuperMieModel.h>
Public Member Functions | |
atm::AttenuationResult | EvaluateMieAttenuation (const utl::Point &xInit, const utl::Point &xFinal, const std::vector< double > &wLength) const |
Compute attenuation between two points for several wavelengths. More... | |
double | EvaluateMieAttenuation (const utl::Point &xInit, const utl::Point &xFinal, double wLength) const |
Compute attenuation between two points. More... | |
atm::ScatteringResult | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const std::vector< double > &wLength) const |
Compute scattering intensity at point at a particular angle and distance from track defined by two points for several wavelengths. More... | |
atm::ScatteringResult | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const atm::AttenuationResult &mieAttenuation) const |
Compute scattering intensity at point at a particular angle and distance from track defined by two points for several wavelengths (using precomputed attenuation) More... | |
double | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, double wLength) const |
Compute scattering intensity at point at a particular angle and distance from track defined by two points. More... | |
double | EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, double wLength, const double mieAttenuation) const |
Compute scattering intensity at point at a particular angle and distance from track defined by two points (using precomputed attenuation) More... | |
double | EvaluateScatteringAngle (const utl::Point &p, const double angle, const double wLength) const |
virtual const utl::VRandomSampler & | EvaluateScatteringAngleDistribution (const utl::Point &p, const double wLength) const |
double | GetAttenuationLength (const utl::Point &p, const double wLength) const |
double | GetVerticalAerosolOpticalDepth (const unsigned int eyeId, const double altitude) const |
Compute the aerosol optical depth at some height above a given eye. More... | |
bool | HasData () const |
True if a data source is for the given model. More... | |
void | Init () |
void | SetUncertaintyBound (double nSigma) const |
alter Model by nSigma standard deviations More... | |
SuperMieModel () | |
virtual | ~SuperMieModel () |
Private Member Functions | |
REGISTER_MODEL (atm::VMieModel,"Super", SuperMieModel) | |
Private Attributes | |
MeasuredDBMieModel * | fMeasuredDBMieModel |
ParametricXMLMieModel * | fParametricXMLMieModel |
Compute Mie scattering/attenuation using the best data source.
"atm/SuperMieModel.h"
This model attempts to find data, in order, by checking the following sources:
Definition at line 42 of file SuperMieModel.h.
SuperMieModel::SuperMieModel | ( | ) |
Definition at line 31 of file SuperMieModel.cc.
References fMeasuredDBMieModel, and fParametricXMLMieModel.
|
virtual |
Definition at line 36 of file SuperMieModel.cc.
References fMeasuredDBMieModel, and fParametricXMLMieModel.
|
virtual |
Compute attenuation between two points for several wavelengths.
Implements atm::VMieModel.
Definition at line 101 of file SuperMieModel.cc.
References atm::ParametricXMLMieModel::EvaluateMieAttenuation(), atm::MeasuredDBMieModel::EvaluateMieAttenuation(), fMeasuredDBMieModel, fParametricXMLMieModel, and atm::MeasuredDBMieModel::HasData().
|
virtual |
Compute attenuation between two points.
Implements atm::VMieModel.
Definition at line 111 of file SuperMieModel.cc.
References atm::ParametricXMLMieModel::EvaluateMieAttenuation(), atm::MeasuredDBMieModel::EvaluateMieAttenuation(), fMeasuredDBMieModel, fParametricXMLMieModel, and atm::MeasuredDBMieModel::HasData().
|
virtual |
Compute scattering intensity at point at a particular angle and distance from track defined by two points for several wavelengths.
Implements atm::VMieModel.
Definition at line 48 of file SuperMieModel.cc.
References atm::ParametricXMLMieModel::EvaluateMieScattering(), atm::MeasuredDBMieModel::EvaluateMieScattering(), fMeasuredDBMieModel, fParametricXMLMieModel, and atm::MeasuredDBMieModel::HasData().
|
virtual |
Compute scattering intensity at point at a particular angle and distance from track defined by two points for several wavelengths (using precomputed attenuation)
Implements atm::VMieModel.
Definition at line 61 of file SuperMieModel.cc.
References atm::ParametricXMLMieModel::EvaluateMieScattering(), atm::MeasuredDBMieModel::EvaluateMieScattering(), fMeasuredDBMieModel, fParametricXMLMieModel, and atm::MeasuredDBMieModel::HasData().
|
virtual |
Compute scattering intensity at point at a particular angle and distance from track defined by two points.
Implements atm::VMieModel.
Definition at line 74 of file SuperMieModel.cc.
References atm::ParametricXMLMieModel::EvaluateMieScattering(), atm::MeasuredDBMieModel::EvaluateMieScattering(), fMeasuredDBMieModel, fParametricXMLMieModel, and atm::MeasuredDBMieModel::HasData().
|
virtual |
Compute scattering intensity at point at a particular angle and distance from track defined by two points (using precomputed attenuation)
Implements atm::VMieModel.
Definition at line 87 of file SuperMieModel.cc.
References atm::ParametricXMLMieModel::EvaluateMieScattering(), atm::MeasuredDBMieModel::EvaluateMieScattering(), fMeasuredDBMieModel, fParametricXMLMieModel, and atm::MeasuredDBMieModel::HasData().
|
virtual |
Implements atm::VMieModel.
Definition at line 138 of file SuperMieModel.cc.
References atm::ParametricXMLMieModel::EvaluateScatteringAngle(), atm::MeasuredDBMieModel::EvaluateScatteringAngle(), fMeasuredDBMieModel, fParametricXMLMieModel, and atm::MeasuredDBMieModel::HasData().
|
virtualinherited |
Definition at line 35 of file VMieModel.cc.
References utl::deg, atm::VMieModel::EvaluateScatteringAngle(), atm::VMieModel::fAngularDistribution, and utl::TabulatedFunction::PushBack().
|
virtual |
Implements atm::VMieModel.
Definition at line 130 of file SuperMieModel.cc.
References fMeasuredDBMieModel, fParametricXMLMieModel, atm::ParametricXMLMieModel::GetAttenuationLength(), atm::MeasuredDBMieModel::GetAttenuationLength(), and atm::MeasuredDBMieModel::HasData().
|
virtual |
Compute the aerosol optical depth at some height above a given eye.
Implements atm::VMieModel.
Definition at line 123 of file SuperMieModel.cc.
References fMeasuredDBMieModel, fParametricXMLMieModel, atm::ParametricXMLMieModel::GetVerticalAerosolOpticalDepth(), atm::MeasuredDBMieModel::GetVerticalAerosolOpticalDepth(), and atm::MeasuredDBMieModel::HasData().
|
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 102 of file SuperMieModel.h.
|
virtual |
Implements atm::VModel.
Definition at line 42 of file SuperMieModel.cc.
References fMeasuredDBMieModel, fParametricXMLMieModel, atm::ParametricXMLMieModel::Init(), and atm::MeasuredDBMieModel::Init().
|
private |
|
virtual |
alter Model by nSigma standard deviations
Reimplemented from atm::VModel.
Definition at line 148 of file SuperMieModel.cc.
References fMeasuredDBMieModel, and atm::MeasuredDBMieModel::SetUncertaintyBound().
|
private |
Definition at line 109 of file SuperMieModel.h.
Referenced by EvaluateMieAttenuation(), EvaluateMieScattering(), EvaluateScatteringAngle(), GetAttenuationLength(), GetVerticalAerosolOpticalDepth(), Init(), SetUncertaintyBound(), SuperMieModel(), and ~SuperMieModel().
|
private |
Definition at line 110 of file SuperMieModel.h.
Referenced by EvaluateMieAttenuation(), EvaluateMieScattering(), EvaluateScatteringAngle(), GetAttenuationLength(), GetVerticalAerosolOpticalDepth(), Init(), SuperMieModel(), and ~SuperMieModel().