List of all members | Public Member Functions | Private Member Functions | Private Attributes
atm::SuperMieModel Class Reference

Compute Mie scattering/attenuation using the best data source. More...

#include <SuperMieModel.h>

Inheritance diagram for atm::SuperMieModel:
Inheritance graph
[legend]

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::VRandomSamplerEvaluateScatteringAngleDistribution (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

MeasuredDBMieModelfMeasuredDBMieModel
 
ParametricXMLMieModelfParametricXMLMieModel
 

Detailed Description

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:

Author
T. Paul
Date
5 Mar 2006

Definition at line 42 of file SuperMieModel.h.

Constructor & Destructor Documentation

SuperMieModel::SuperMieModel ( )

Definition at line 31 of file SuperMieModel.cc.

References fMeasuredDBMieModel, and fParametricXMLMieModel.

SuperMieModel::~SuperMieModel ( )
virtual

Definition at line 36 of file SuperMieModel.cc.

References fMeasuredDBMieModel, and fParametricXMLMieModel.

Member Function Documentation

AttenuationResult SuperMieModel::EvaluateMieAttenuation ( const utl::Point xInit,
const utl::Point xFinal,
const std::vector< double > &  wLength 
) const
virtual
double SuperMieModel::EvaluateMieAttenuation ( const utl::Point xInit,
const utl::Point xFinal,
double  wLength 
) const
virtual
ScatteringResult SuperMieModel::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const std::vector< double > &  wLength 
) const
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().

ScatteringResult SuperMieModel::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const atm::AttenuationResult mieAttenuation 
) const
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().

double SuperMieModel::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
double  wLength 
) const
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().

double SuperMieModel::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
double  wLength,
const double  mieAttenuation 
) const
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().

double SuperMieModel::EvaluateScatteringAngle ( const utl::Point p,
const double  angle,
const double  wLength 
) const
virtual
const utl::VRandomSampler & VMieModel::EvaluateScatteringAngleDistribution ( const utl::Point p,
const double  wLength 
) const
virtualinherited
double SuperMieModel::GetAttenuationLength ( const utl::Point p,
const double  wLength 
) const
virtual
double SuperMieModel::GetVerticalAerosolOpticalDepth ( const unsigned int  eyeId,
const double  altitude 
) const
virtual
bool atm::SuperMieModel::HasData ( ) const
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.

void SuperMieModel::Init ( void  )
virtual
atm::SuperMieModel::REGISTER_MODEL ( atm::VMieModel  ,
"Super"  ,
SuperMieModel   
)
private
void SuperMieModel::SetUncertaintyBound ( double  nSigma) const
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().

Member Data Documentation

MeasuredDBMieModel* atm::SuperMieModel::fMeasuredDBMieModel
private
ParametricXMLMieModel* atm::SuperMieModel::fParametricXMLMieModel
private

The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.