List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
atm::VProfileModel Class Referenceabstract

Base class for a Profile Model. More...

#include <VProfileModel.h>

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

Public Member Functions

virtual const ProfileResultEvaluateDensityVsHeight () const =0
 Return a table of air density vs. altitude. More...
 
virtual const ProfileResultEvaluateDepthVsHeight () const =0
 Return a table of vertical column depth vs. altitude. More...
 
virtual const ProfileResultEvaluateHeightVsDepth () const =0
 Return a table of altitude vs atmospheric column depth. More...
 
virtual const ProfileResultEvaluatePressureVsHeight () const =0
 Return a table of air pressure vs. altitude. More...
 
virtual const ProfileResultEvaluateRefractionIndexVsHeight () const
 Return a table of wavelength-independent refractive index vs. altitude. More...
 
virtual const ProfileResultEvaluateRefractionIndexVsHeight (const double wl) const
 Return a table of wavelength-independent refractive index vs. altitude. More...
 
virtual const ProfileResultEvaluateTemperatureVsHeight () const =0
 Return a table of air temperature vs. altitude. More...
 
virtual const ProfileResultEvaluateVaporPressureVsHeight () const =0
 Return a table of H2O vapor pressure vs. altitude. More...
 
virtual double GetVerticalTimeOfFlight (const double height1, const double height2) const
 Evaluate light signal time-of-flight between two altitudes. More...
 
virtual bool HasData () const =0
 True if a data source is for the given model. More...
 
virtual void Init ()=0
 
virtual void SetUncertaintyBound (const double nSigma) const
 alter Model by nSigma standard deviations More...
 
 VProfileModel ()
 
virtual ~VProfileModel ()
 

Protected Types

typedef std::map< double,
ProfileResult * > 
AltWLFunction
 

Protected Member Functions

void CleanRIVsWavelength () const
 Clean up refraction indices. Derived modules decide when to do this. More...
 
void ExtendProfilesTo100km () const
 

Protected Attributes

ProfileResultfTabHeightVsLogDepth = nullptr
 
ProfileResultfTabLogDensityVsHeight = nullptr
 
ProfileResultfTabLogDepthVsHeight = nullptr
 
ProfileResultfTabLogPressureVsHeight = nullptr
 
ProfileResultfTabLogVaporPressureVsHeight = nullptr
 
ProfileResultfTabRIVsHeight = nullptr
 
AltWLFunction fTabRIVsHeightAndWaveLength
 
ProfileResultfTabTemperatureVsHeight = nullptr
 

Detailed Description

Base class for a Profile Model.

Important note: that whenever "height" or "altitude" is invoked, this means height over the "sea level", i.e. height above the WGS84 ellipsoid (or the height of the UTM coordinate).

Author
Luis Prado Jr
Date
21 Sep 2003

Definition at line 26 of file VProfileModel.h.

Member Typedef Documentation

typedef std::map<double, ProfileResult*> atm::VProfileModel::AltWLFunction
protected

Definition at line 76 of file VProfileModel.h.

Constructor & Destructor Documentation

atm::VProfileModel::VProfileModel ( )

Definition at line 34 of file VProfileModel.cc.

atm::VProfileModel::~VProfileModel ( )
virtual

Member Function Documentation

void atm::VProfileModel::CleanRIVsWavelength ( ) const
protected

Clean up refraction indices. Derived modules decide when to do this.

Definition at line 207 of file VProfileModel.cc.

References fTabRIVsHeightAndWaveLength.

Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), and ~VProfileModel().

virtual const ProfileResult& atm::VProfileModel::EvaluateDensityVsHeight ( ) const
pure virtual
virtual const ProfileResult& atm::VProfileModel::EvaluateDepthVsHeight ( ) const
pure virtual
virtual const ProfileResult& atm::VProfileModel::EvaluateHeightVsDepth ( ) const
pure virtual
virtual const ProfileResult& atm::VProfileModel::EvaluatePressureVsHeight ( ) const
pure virtual
const ProfileResult & atm::VProfileModel::EvaluateRefractionIndexVsHeight ( ) const
virtual

Return a table of wavelength-independent refractive index vs. altitude.

Reimplemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.

Definition at line 60 of file VProfileModel.cc.

References fTabRIVsHeight.

const ProfileResult & atm::VProfileModel::EvaluateRefractionIndexVsHeight ( const double  wl) const
virtual
virtual const ProfileResult& atm::VProfileModel::EvaluateTemperatureVsHeight ( ) const
pure virtual
virtual const ProfileResult& atm::VProfileModel::EvaluateVaporPressureVsHeight ( ) const
pure virtual
void atm::VProfileModel::ExtendProfilesTo100km ( ) const
protected
double atm::VProfileModel::GetVerticalTimeOfFlight ( const double  height1,
const double  height2 
) const
virtual

Evaluate light signal time-of-flight between two altitudes.

Definition at line 116 of file VProfileModel.cc.

References utl::cm, utl::cm2, utl::g, utl::kRefractiveIndexSeaLevel, utl::kSpeedOfLight, utl::m, and max.

virtual bool atm::VModel::HasData ( ) const
pure virtualinherited

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

Implemented in atm::SuperMieModel, atm::MeasuredDBMieModel, atm::MieModelOff, atm::RayleighModelOff, atm::LidarCloudDBModel, atm::ParametricXMLMieModel, atm::ParametricXMLRayleighModel, atm::HumidAirRayleighModel, atm::AnalyticalCherenkovModel, atm::SimShowerProfileModel, atm::NonParametricXMLMieModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, atm::AirflyFluorescenceModel, atm::Kakimoto1996FluorescenceModel, atm::Nagano2004FluorescenceModel, atm::USStdADBProfileModel, atm::ConstantFluorescenceModel, atm::Keilhauer2008FluorescenceModel, and atm::AirFluorescenceModel.

virtual void atm::VModel::Init ( )
pure virtualinherited
void VModel::SetUncertaintyBound ( const double  nSigma) const
virtualinherited

alter Model by nSigma standard deviations

Reimplemented in atm::MeasuredDBMieModel, and atm::SuperMieModel.

Definition at line 11 of file VModel.cc.

References ERROR.

Member Data Documentation

ProfileResult* atm::VProfileModel::fTabHeightVsLogDepth = nullptr
protected
ProfileResult* atm::VProfileModel::fTabLogDensityVsHeight = nullptr
protected
ProfileResult* atm::VProfileModel::fTabLogDepthVsHeight = nullptr
protected
ProfileResult* atm::VProfileModel::fTabLogPressureVsHeight = nullptr
protected
ProfileResult* atm::VProfileModel::fTabLogVaporPressureVsHeight = nullptr
protected
ProfileResult* atm::VProfileModel::fTabRIVsHeight = nullptr
protected
AltWLFunction atm::VProfileModel::fTabRIVsHeightAndWaveLength
mutableprotected

Definition at line 77 of file VProfileModel.h.

Referenced by CleanRIVsWavelength(), and EvaluateRefractionIndexVsHeight().

ProfileResult* atm::VProfileModel::fTabTemperatureVsHeight = nullptr
protected

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

, generated on Tue Sep 26 2023.