List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends
atm::Atmosphere Class Reference

Top of the interface to Atmosphere information. More...

#include <atm/Atmosphere.h>

Public Types

enum  EmissionMode { eFluorescence = 0, eCerenkov }
 
enum  ModelWithUncertainty { eMie }
 

Public Member Functions

 Atmosphere ()
 
void SetUncertaintyBound (const ModelWithUncertainty model, const double nSigma) const
 alter Model "model" by "nSigma" standard deviations More...
 
void Update ()
 
 ~Atmosphere ()
 
Rayleigh models
atm::AttenuationResult EvaluateRayleighAttenuation (const utl::Point &xInit, const utl::Point &xFinal, const std::vector< double > &wLength) const
 Compute Rayleigh attenuation between points. More...
 
double EvaluateRayleighAttenuation (const utl::Point &xInit, const utl::Point &xFinal, const double wLength) const
 
atm::ScatteringResult EvaluateRayleighScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const std::vector< double > &xLength) const
 
double EvaluateRayleighScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const double xLength) const
 
atm::ScatteringResult EvaluateRayleighScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const atm::AttenuationResult &rayleighAttenuation) const
 
double EvaluateRayleighScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const double xLength, const double rayleighAttenuation) const
 
double GetRayleighAttenuationLength (const utl::Point &xA, const double wLength) const
 
Mie models
atm::AttenuationResult EvaluateMieAttenuation (const utl::Point &xInit, const utl::Point &xFinal, const std::vector< double > &wLength) const
 
double EvaluateMieAttenuation (const utl::Point &xInit, const utl::Point &xFinal, const double wLength) const
 
atm::ScatteringResult EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const std::vector< double > &xLength) const
 
double EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const double xLength) const
 
atm::ScatteringResult EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const atm::AttenuationResult &mieAttenuation) const
 
double EvaluateMieScattering (const utl::Point &xA, const utl::Point &xB, const double angle, const double distance, const double xLength, const double mieAttenuation) const
 
double GetMieAttenuationLength (const utl::Point &xA, const double wLength) const
 
double GetVerticalAerosolOpticalDepth (const unsigned int eyeId, const double altitude=4.5 *utl::km) const
 Retrieve vertical optical depth at some location and altitude. More...
 
Cloud obscuration models
atm::CloudResult EvaluateCloudCoverage (const fdet::Pixel &pix, const utl::Point &x) const
 
atm::CloudResult EvaluateCloudCoverage (const fevt::Pixel &pix, const utl::Point &x) const
 
atm::CloudResult EvaluateCloudCoverage (const unsigned int eyeId, const unsigned int telId, const unsigned int pixId, const utl::Point &x) const
 
Molecular profile models
const atm::ProfileResultEvaluateDepthVsHeight () const
 Tabulated function giving Y=depth as a function of X=height. More...
 
const atm::ProfileResultEvaluateHeightVsDepth () const
 Tabulated function giving Y=height as a function of X=depth. More...
 
const atm::ProfileResultEvaluatePressureVsHeight () const
 Tabulated function giving Y=air pressure as a function of X=height. More...
 
const atm::ProfileResultEvaluateVaporPressureVsHeight () const
 Tabulated function giving Y=H20 vapor pressure as a function of X=height. More...
 
const atm::ProfileResultEvaluateTemperatureVsHeight () const
 Tabulated function giving Y=temperature as a function of X=height. More...
 
const atm::ProfileResultEvaluateDensityVsHeight () const
 Tabulated function giving Y=density as a function of X=height. More...
 
const atm::ProfileResultEvaluateRefractionIndexVsHeight () const
 Tabulated function giving Y=refraction index as a function of X=height. More...
 
const atm::ProfileResultEvaluateRefractionIndexVsHeight (const double wavelength) const
 Tabulated function giving Y=refraction index as a function of X=height at particular wavelength. More...
 
Slant profile model (non-vertical geometry)

In order to use these methods, first call the InitSlantProfileModel method. Otherwise, an exception will be thrown. Note also that there is no method to get the distance given a height. This is on purpose.

void InitSlantProfileModel (const utl::Point &core, const utl::Vector &dir, const double deltaX) const
 
double IntegratedGrammage (const utl::Point &pStart, const utl::Point &pStop, const double delta) const
 
const atm::ProfileResultEvaluateSlantDepthVsDistance () const
 
const atm::ProfileResultEvaluateDistanceVsSlantDepth () const
 Table of distance as a function of slant depth. More...
 
const atm::ProfileResultEvaluateHeightVsSlantDepth () const
 Table of height as a function of slant depth. More...
 
const atm::ProfileResultEvaluateHeightVsDistance () const
 Table of height as a function of distance. More...
 
Fluorescence models
const utl::TabulatedFunctionEvaluateFluorescenceYield (const double heightAboveSeaLevel) const
 Evaluated Fluorescence Yield for a specific model. More...
 
const std::vector< double > & GetWavelengths (const EmissionMode mode=eFluorescence) const
 
double GetdEdX0 () const
 get reference energy deposit for fluorescence yield model More...
 
double GetDeExcitationTime (const double height) const
 get fluorescence de-excitation time More...
 
double GetVerticalTimeOfFlight (const double height1, const double height2) const
 Evaluate light signal time-of-flight between two altitudes. More...
 
Cherenkov models
void SetCherenkovEnergyCutoff (const double eCut) const
 
double AngularCherenkovCDF (const double theta, const double verticalDepth, const double showerAge) const
 cumulative of angular Cherenkov distribution from 0 to theta More...
 
double AngularCherenkovPDF (const double theta, const double verticalDepth, const double showerAge) const
 angular Cherenkov light distribution More...
 
const utl::TabulatedFunctionEvaluateCherenkovPhotons (const utl::Point &xA, const utl::Point &xB, const double showerAge) const
 
const utl::TabulatedFunctionEvaluateCherenkovDirect (const utl::Point &xA, const utl::Point &xB, const utl::Point &xEye, const double showerAge) const
 
double EvaluateDirectCherenkovProbability (const utl::Point &xA, const utl::Point &xB, const utl::Point &xEye, const double showerAge) const
 
double EvaluateDirectCherenkovProbability (const utl::Point &xA, const utl::Point &xB, const utl::Point &xEye, const double showerAge, const double wavelength) const
 
Low-level database interfaces
const AerosolDBGetAerosolDB () const
 Low-level interface to portion of the database with aerosol information. More...
 
const MolecularDBGetMolecularDB (const MolecularIds::ProfileId &id) const
 Low-level interface to portion of the database with molecular information. More...
 
const OverallQualityDBGetOverallQualityDB () const
 low-level interface to portion of the database summarizing overall quality More...
 
const LidarDBGetLidarDB () const
 low-level interface to portion of the database with cloud data from lidar analysis More...
 
const GOESDBGetGOESDB () const
 low-level interface to the cloud information from the GOES database More...
 

Private Types

typedef std::map
< MolecularIds::ProfileId,
MolecularDB * > 
MolecularDBMap
 

Private Member Functions

 Atmosphere (const Atmosphere &)
 
void Clean ()
 
void Init ()
 
Atmosphereoperator= (const Atmosphere &)
 

Static Private Member Functions

static bool HasModel (VModel *const model)
 

Private Attributes

AerosolDBfAerosolDB = nullptr
 
VCherenkovModelfCherenkovModel = nullptr
 
VCloudModelfCloudModel = nullptr
 
VFluorescenceModelfFluorescenceModel = nullptr
 
GOESDBfGOESDB = nullptr
 
InclinedAtmosphericProfilefInclinedProfileModel = nullptr
 
LidarDBfLidarDB = nullptr
 
VMieModelfMieModel = nullptr
 
MolecularDBMap fMolecularDBMap
 
OverallQualityDBfOverallQualityDB = nullptr
 
VProfileModelfProfileModel = nullptr
 
VRayleighModelfRayleighModel = nullptr
 

Friends

class det::Detector
 

Detailed Description

Top of the interface to Atmosphere information.

Interface to atmospheric models.

The atmosphere interface provides access to atmospheric monitoring data as well as functions to evaluate various atmosphre-related physics (scattering, attenuation, Cherenkov production) based on either parametrizations or on monitoring data.

Author
Stefano Argiro',
Luis Prado Jr
Tom Paul
Date
23 Sep 2003

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).

Definition at line 61 of file Framework/Atmosphere/Atmosphere.h.

Member Typedef Documentation

Definition at line 359 of file Framework/Atmosphere/Atmosphere.h.

Member Enumeration Documentation

Enumerator
eFluorescence 

Fluorescence emission model.

eCerenkov 

Cerenkov emission model.

Definition at line 63 of file Framework/Atmosphere/Atmosphere.h.

Enumerator
eMie 

Definition at line 303 of file Framework/Atmosphere/Atmosphere.h.

Constructor & Destructor Documentation

atm::Atmosphere::Atmosphere ( )
inline

Definition at line 70 of file Framework/Atmosphere/Atmosphere.h.

atm::Atmosphere::~Atmosphere ( )
inline

Definition at line 72 of file Framework/Atmosphere/Atmosphere.h.

References Clean().

atm::Atmosphere::Atmosphere ( const Atmosphere )
private

Member Function Documentation

double atm::Atmosphere::AngularCherenkovCDF ( const double  theta,
const double  verticalDepth,
const double  showerAge 
) const
double atm::Atmosphere::AngularCherenkovPDF ( const double  theta,
const double  verticalDepth,
const double  showerAge 
) const

angular Cherenkov light distribution

Definition at line 858 of file Framework/Atmosphere/Atmosphere.cc.

void atm::Atmosphere::Clean ( )
private

Definition at line 804 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by Update(), and ~Atmosphere().

const TabulatedFunction & atm::Atmosphere::EvaluateCherenkovDirect ( const utl::Point xA,
const utl::Point xB,
const utl::Point xEye,
const double  showerAge 
) const
const TabulatedFunction & atm::Atmosphere::EvaluateCherenkovPhotons ( const utl::Point xA,
const utl::Point xB,
const double  showerAge 
) const
CloudResult atm::Atmosphere::EvaluateCloudCoverage ( const fdet::Pixel pix,
const utl::Point x 
) const
CloudResult atm::Atmosphere::EvaluateCloudCoverage ( const fevt::Pixel pix,
const utl::Point x 
) const

Definition at line 193 of file Framework/Atmosphere/Atmosphere.cc.

CloudResult atm::Atmosphere::EvaluateCloudCoverage ( const unsigned int  eyeId,
const unsigned int  telId,
const unsigned int  pixId,
const utl::Point x 
) const

Definition at line 208 of file Framework/Atmosphere/Atmosphere.cc.

const ProfileResult & atm::Atmosphere::EvaluateDensityVsHeight ( ) const
const ProfileResult & atm::Atmosphere::EvaluateDepthVsHeight ( ) const

Tabulated function giving Y=depth as a function of X=height.

Definition at line 225 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by FdEnergyDepositFinderKG::CFMatrixCalculator::AddBinsOutsideFOV(), FdProfileReconstructorKG::FdProfileReconstructor::AddPointsOutsideFOV(), FdProfileReconstructorKG::FdProfileReconstructor::CalculateGeometryAndDepth(), SdSimpleSimKG::SdSimpleSim::CalculateLogZdist(), FdCherenkovFinderOG::FdCherenkovFinder::CherenkovFinderAtAperture(), ShowerLightSimulatorKG::ShowerLightSimulator::CherenkovLight(), TimeModel::ConvertProductionHeightDistribution(), atm::AnalyticalCherenkovModel::EvaluateCherenkovPhotons(), atm::AnalyticalCherenkovModel::EvaluateDirectCherenkovProbability(), ShowerLightSimulatorKG::ShowerLightSimulator::FluorescenceLight(), atm::ParametricXMLRayleighModel::GDistance(), TimeModel::Get_dNdX(), TimeModel::Get_dNdX_FromProfile(), TimeModelTestKG::TimeModelTest::GetLogZdist(), SdSimpleSimKG::SdSimpleSim::GetLogZdist(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::GillerFraction(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::GoraFraction(), FdProfileReconstructorKG::FdProfileReconstructor::InitializeAtmosphere(), FdProfileFinderOG::FdProfileFinder::LightAtApertureToSize(), TimeModel::MakeProductionHeightDistribution(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::PlotLDF(), ShowerLightSimulatorKG::ShowerLightSimulator::PrimaryCherenkovLight(), MuonProfileBuilder::MuonProfileBuilder::Run(), AtmosphericProfileNS::AtmosphericProfile::Run(), ReadMolecularHLNS::ReadMolecularHL::Run(), ProfileSimulatorOG::ProfileSimulator::Run(), ShowerLightSimulatorKG::ShowerLightSimulator::Run(), LDFTestKG::LDFTest::Run(), SdSimpleSimKG::SdSimpleSim::Run(), LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::Run(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::Run(), testParametricXMLProfileModel::testEvaluateDepth(), testRadiosondeDBProfileModel::testEvaluateDepthVsHeight(), testUSStdADBProfileModel::testEvaluateDepthVsHeight(), testMonthlyAvgDBProfileModel::testEvaluateDepthVsHeight(), testMonthlyAvgDBProfileModel::testEvaluateHeightVsDepth(), testMonthlyAvgDBProfileModel::testOutOfBoundsDepthVsHeight(), and RdGlobalFit::RdGlobalFit::XmaxFromRmax().

double atm::Atmosphere::EvaluateDirectCherenkovProbability ( const utl::Point xA,
const utl::Point xB,
const utl::Point xEye,
const double  showerAge 
) const
double atm::Atmosphere::EvaluateDirectCherenkovProbability ( const utl::Point xA,
const utl::Point xB,
const utl::Point xEye,
const double  showerAge,
const double  wavelength 
) const

Definition at line 689 of file Framework/Atmosphere/Atmosphere.cc.

const ProfileResult & atm::Atmosphere::EvaluateDistanceVsSlantDepth ( ) const
const TabulatedFunction & atm::Atmosphere::EvaluateFluorescenceYield ( const double  heightAboveSeaLevel) const

Evaluated Fluorescence Yield for a specific model.

The fluorescence yield is usually given as y= dEdX/dEdX0 * f(T,P) This function will return f(T,P)

Definition at line 568 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by FdEnergyDepositFinderKG::CFMatrixCalculator::CalculateFluorescenceMatrix(), otoa::LongitudinalXmaxScanner::CalculateLightFactor(), ShowerLightSimulatorKG::ShowerLightSimulator::FluorescenceLight(), and FdProfileFinderOG::FdProfileFinder::LightAtApertureToSize().

const ProfileResult & atm::Atmosphere::EvaluateHeightVsDepth ( ) const
const ProfileResult & atm::Atmosphere::EvaluateHeightVsDistance ( ) const
const ProfileResult & atm::Atmosphere::EvaluateHeightVsSlantDepth ( ) const
AttenuationResult atm::Atmosphere::EvaluateMieAttenuation ( const utl::Point xInit,
const utl::Point xFinal,
const std::vector< double > &  wLength 
) const

Definition at line 116 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by MultipleScatterer::AddPhotons(), FdLaserEnergyReconstructorKG::FdLaserEnergyReconstructor::CalculateAtmosphereCoefficient(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::CalculateAttenuationAlongTrack(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::CalculateAttenuationToEye(), FdEnergyDepositFinderKG::CFMatrixCalculator::CalculateDiagonalParameters(), otoa::LongitudinalXmaxScanner::CalculateLightFactor(), FdCherenkovFinderOG::FdCherenkovFinder::CherenkovFinderAtAperture(), ShowerLightSimulatorKG::ShowerLightSimulator::CherenkovLight(), LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::EvaluateDirectCherenkovHits(), LaserLightSimulatorNA::LaserLightSimulator::EvaluatePhotons(), otoa::FD2ADST::FillAtmosphericProfileVars(), FdCherenkovFinderOG::FdCherenkovFinder::InitialCherenkov(), FdProfileFinderOG::FdProfileFinder::LightAtApertureToSize(), FdEnergyDepositFinderKG::CFMatrixCalculator::MultipleScatteringFraction(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::PekalaFraction(), ShowerLightSimulatorKG::ShowerLightSimulator::PrimaryCherenkovLight(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::RobertsFraction(), ReadAerosolHLNS::ReadAerosolHL::Run(), LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::Run(), testParametricXMLMieModel::testAttenuation(), testMeasuredDBMieModel::testAttenuation(), testSuperMieModel::testGetAttFromDB(), testSuperMieModel::testGetAttFromXML(), testMeasuredDBMieModel::testLambdaDependence(), testMeasuredDBMieModel::testNoData(), testMeasuredDBMieModel::testNoDataMultipleCalls(), testMeasuredDBMieModel::testOutOfBound(), testParametricXMLMieModel::testScattering(), testMeasuredDBMieModel::testUncertainty(), testSuperMieModel::testUncertaintyDB(), testSuperMieModel::testUncertaintyXML(), and testMeasuredDBMieModel::testZoneSelection().

double atm::Atmosphere::EvaluateMieAttenuation ( const utl::Point xInit,
const utl::Point xFinal,
const double  wLength 
) const

Definition at line 132 of file Framework/Atmosphere/Atmosphere.cc.

ScatteringResult atm::Atmosphere::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const std::vector< double > &  xLength 
) const
double atm::Atmosphere::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const double  xLength 
) const

Definition at line 513 of file Framework/Atmosphere/Atmosphere.cc.

ScatteringResult atm::Atmosphere::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const atm::AttenuationResult mieAttenuation 
) const

Definition at line 531 of file Framework/Atmosphere/Atmosphere.cc.

double atm::Atmosphere::EvaluateMieScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const double  xLength,
const double  mieAttenuation 
) const

Definition at line 549 of file Framework/Atmosphere/Atmosphere.cc.

const ProfileResult & atm::Atmosphere::EvaluatePressureVsHeight ( ) const
AttenuationResult atm::Atmosphere::EvaluateRayleighAttenuation ( const utl::Point xInit,
const utl::Point xFinal,
const std::vector< double > &  wLength 
) const

Compute Rayleigh attenuation between points.

Evaluate the attenuation between two points

  • Parameters
    xInit: initial point
  • Parameters
    xFinal: final point
  • Parameters
    wLength: spectrum of inital photons

Definition at line 84 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by MultipleScatterer::AddPhotons(), FdLaserEnergyReconstructorKG::FdLaserEnergyReconstructor::CalculateAtmosphereCoefficient(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::CalculateAttenuationAlongTrack(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::CalculateAttenuationToEye(), FdEnergyDepositFinderKG::CFMatrixCalculator::CalculateDiagonalParameters(), otoa::LongitudinalXmaxScanner::CalculateLightFactor(), FdCherenkovFinderOG::FdCherenkovFinder::CherenkovFinderAtAperture(), ShowerLightSimulatorKG::ShowerLightSimulator::CherenkovLight(), LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::EvaluateDirectCherenkovHits(), LaserLightSimulatorNA::LaserLightSimulator::EvaluatePhotons(), otoa::FD2ADST::FillAtmosphericProfileVars(), FdCherenkovFinderOG::FdCherenkovFinder::InitialCherenkov(), FdProfileFinderOG::FdProfileFinder::LightAtApertureToSize(), FdEnergyDepositFinderKG::CFMatrixCalculator::MultipleScatteringFraction(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::PekalaFraction(), ShowerLightSimulatorKG::ShowerLightSimulator::PrimaryCherenkovLight(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::RobertsFraction(), LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::Run(), testParametricXMLMieModel::testAttenuation(), and testParametricXMLRayleighModel::testEvaluateAttenuation().

double atm::Atmosphere::EvaluateRayleighAttenuation ( const utl::Point xInit,
const utl::Point xFinal,
const double  wLength 
) const

Definition at line 100 of file Framework/Atmosphere/Atmosphere.cc.

ScatteringResult atm::Atmosphere::EvaluateRayleighScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const std::vector< double > &  xLength 
) const
double atm::Atmosphere::EvaluateRayleighScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const double  xLength 
) const

Definition at line 443 of file Framework/Atmosphere/Atmosphere.cc.

ScatteringResult atm::Atmosphere::EvaluateRayleighScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const atm::AttenuationResult rayleighAttenuation 
) const

Definition at line 425 of file Framework/Atmosphere/Atmosphere.cc.

double atm::Atmosphere::EvaluateRayleighScattering ( const utl::Point xA,
const utl::Point xB,
const double  angle,
const double  distance,
const double  xLength,
const double  rayleighAttenuation 
) const

Definition at line 461 of file Framework/Atmosphere/Atmosphere.cc.

const ProfileResult & atm::Atmosphere::EvaluateRefractionIndexVsHeight ( ) const
const ProfileResult & atm::Atmosphere::EvaluateRefractionIndexVsHeight ( const double  wavelength) const

Tabulated function giving Y=refraction index as a function of X=height at particular wavelength.

Definition at line 323 of file Framework/Atmosphere/Atmosphere.cc.

const ProfileResult & atm::Atmosphere::EvaluateSlantDepthVsDistance ( ) const
const ProfileResult & atm::Atmosphere::EvaluateTemperatureVsHeight ( ) const

Tabulated function giving Y=temperature as a function of X=height.

Definition at line 267 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by TelescopeSimulatorLX::FDsimG4Materials::ConstructTableOfMaterials(), atm::AnalyticalCherenkovModel::EvaluateCherenkovPhotons(), atm::AnalyticalCherenkovModel::EvaluateDirectCherenkovProbability(), atm::AirFluorescenceModel::EvaluateFluorescenceYield(), atm::Keilhauer2008FluorescenceModel::EvaluateFluorescenceYield(), atm::AirflyFluorescenceModel::EvaluateFluorescenceYield(), atm::Kakimoto1996FluorescenceModel::EvaluateFluorescenceYield(), atm::Nagano2004FluorescenceModel::EvaluateFluorescenceYield(), atm::HumidAirRayleighModel::EvaluateRayleighAttenuation(), otoa::Detector2ADST::FillDetector(), atm::HumidAirRayleighModel::GetAttenuationLength(), FdProfileReconstructorKG::CherenkovFluorescenceMatrix::GoraFraction(), FdProfileFinderOG::FdProfileFinder::LightAtApertureToSize(), FdProfileConstrainedGeometryFitPG::ChiZeroRegression::MinuitFitFunc(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::PlotLDF(), ReadMolecularHLNS::ReadMolecularHL::Run(), ShowerLightSimulatorKG::ShowerLightSimulator::Run(), LDFTestKG::LDFTest::Run(), SdSimpleSimKG::SdSimpleSim::Run(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::Run(), UniversalityFitter::UniversalityFitter::Run(), testMonthlyAvgDBProfileModel::testCheckUpdates(), testParametricXMLProfileModel::testEvaluateTemperature(), testUSStdADBProfileModel::testEvaluateTemperatureVsHeight(), testRadiosondeDBProfileModel::testEvaluateTemperatureVsHeight(), testMonthlyAvgDBProfileModel::testEvaluateTemperatureVsHeight(), testUSStdADBProfileModel::testNoDataForTimeStamp(), testRadiosondeDBProfileModel::testNoDataForTimeStamp(), testMonthlyAvgDBProfileModel::testNoDataForTimeStamp(), testRadiosondeDBProfileModel::testNoDataMultipleCalls(), and testMonthlyAvgDBProfileModel::testOutOfBoundsTemperatureVsHeight().

const ProfileResult & atm::Atmosphere::EvaluateVaporPressureVsHeight ( ) const
const AerosolDB & atm::Atmosphere::GetAerosolDB ( ) const

Low-level interface to portion of the database with aerosol information.

For an example of using this interface, see the ReadAerosolLLNS::ReadAerosolLL example.

Definition at line 704 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by ReadAerosolLLNS::ReadAerosolLL::Run(), testAtmLowLevelAtmInterface::testAerosolDB(), testAtmLowLevelAtmInterface::testAerosolDBNotFound(), testAtmLowLevelAtmInterface::testAttSlice(), and testAtmLowLevelAtmInterface::testPFSlice().

double atm::Atmosphere::GetdEdX0 ( ) const
double atm::Atmosphere::GetDeExcitationTime ( const double  height) const

get fluorescence de-excitation time

Definition at line 609 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by fdet::FTimeFitModel::GetTimeAtAperture().

const GOESDB & atm::Atmosphere::GetGOESDB ( ) const
const LidarDB & atm::Atmosphere::GetLidarDB ( ) const

low-level interface to portion of the database with cloud data from lidar analysis

For an example of using this interface, see the ReadLidarLLNS::ReadLidarLL example.

Definition at line 724 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by otoa::Detector2ADST::FillLidarData(), ReadLidarLLNS::ReadLidarLL::Run(), testAtmLowLevelAtmInterface::testLidarDB(), and testAtmLowLevelAtmInterface::testVAODSlice().

double atm::Atmosphere::GetMieAttenuationLength ( const utl::Point xA,
const double  wLength 
) const
const MolecularDB & atm::Atmosphere::GetMolecularDB ( const MolecularIds::ProfileId id) const

Low-level interface to portion of the database with molecular information.

For an example of using this interface, see the ReadMolecularLLNS::ReadMolecularLL example.

Definition at line 743 of file Framework/Atmosphere/Atmosphere.cc.

References utl::m.

Referenced by otoa::Detector2ADST::FillDetector(), ReadMolecularLLNS::ReadMolecularLL::Run(), testAtmLowLevelAtmInterface::testMolecularDB(), testAtmLowLevelAtmInterface::testMolecularDBNotFound(), and testAtmLowLevelAtmInterface::testMolecularLayer().

const OverallQualityDB & atm::Atmosphere::GetOverallQualityDB ( ) const

low-level interface to portion of the database summarizing overall quality

For an example of using this interface, see the ReadAtmQualityLLNS::ReadAtmQualityLL example.

Definition at line 714 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by otoa::Detector2ADST::FillDetector(), ReadAtmQualityLLNS::ReadAtmQualityLL::Run(), testAtmLowLevelAtmInterface::testOverallQualityDB(), and testAtmLowLevelAtmInterface::testOverallQualityDBNotFound().

double atm::Atmosphere::GetRayleighAttenuationLength ( const utl::Point xA,
const double  wLength 
) const

Definition at line 480 of file Framework/Atmosphere/Atmosphere.cc.

double atm::Atmosphere::GetVerticalAerosolOpticalDepth ( const unsigned int  eyeId,
const double  altitude = 4.5*utl::km 
) const

Retrieve vertical optical depth at some location and altitude.

Definition at line 163 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by otoa::Detector2ADST::FillDetector().

double atm::Atmosphere::GetVerticalTimeOfFlight ( const double  height1,
const double  height2 
) const

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

Definition at line 620 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by fdet::FTimeFitModel::GetTimeAtAperture().

const vector< double > & atm::Atmosphere::GetWavelengths ( const EmissionMode  mode = eFluorescence) const
bool atm::Atmosphere::HasModel ( VModel *const  model)
staticprivate

Definition at line 762 of file Framework/Atmosphere/Atmosphere.cc.

References ERROR.

void atm::Atmosphere::Init ( void  )
private

Definition at line 773 of file Framework/Atmosphere/Atmosphere.cc.

References DEBUGLOG, and utl::Branch::GetTopBranch().

void atm::Atmosphere::InitSlantProfileModel ( const utl::Point core,
const utl::Vector dir,
const double  deltaX 
) const
double atm::Atmosphere::IntegratedGrammage ( const utl::Point pStart,
const utl::Point pStop,
const double  delta 
) const

Integral of the density along a line connecting two points.

Parameters
[in]deltaThe step size to do the integration in depth.

Definition at line 353 of file Framework/Atmosphere/Atmosphere.cc.

Referenced by atm::ParametricXMLRayleighModel::GDistance().

Atmosphere& atm::Atmosphere::operator= ( const Atmosphere )
private
void atm::Atmosphere::SetCherenkovEnergyCutoff ( const double  eCut) const
void atm::Atmosphere::SetUncertaintyBound ( const ModelWithUncertainty  model,
const double  nSigma 
) const
void atm::Atmosphere::Update ( )
inline

Friends And Related Function Documentation

friend class det::Detector
friend

Definition at line 362 of file Framework/Atmosphere/Atmosphere.h.

Member Data Documentation

AerosolDB* atm::Atmosphere::fAerosolDB = nullptr
mutableprivate

Definition at line 354 of file Framework/Atmosphere/Atmosphere.h.

VCherenkovModel* atm::Atmosphere::fCherenkovModel = nullptr
private

Definition at line 350 of file Framework/Atmosphere/Atmosphere.h.

VCloudModel* atm::Atmosphere::fCloudModel = nullptr
private

Definition at line 351 of file Framework/Atmosphere/Atmosphere.h.

VFluorescenceModel* atm::Atmosphere::fFluorescenceModel = nullptr
private

Definition at line 349 of file Framework/Atmosphere/Atmosphere.h.

GOESDB* atm::Atmosphere::fGOESDB = nullptr
mutableprivate

Definition at line 357 of file Framework/Atmosphere/Atmosphere.h.

InclinedAtmosphericProfile* atm::Atmosphere::fInclinedProfileModel = nullptr
mutableprivate

Definition at line 352 of file Framework/Atmosphere/Atmosphere.h.

LidarDB* atm::Atmosphere::fLidarDB = nullptr
mutableprivate

Definition at line 356 of file Framework/Atmosphere/Atmosphere.h.

VMieModel* atm::Atmosphere::fMieModel = nullptr
private

Definition at line 348 of file Framework/Atmosphere/Atmosphere.h.

MolecularDBMap atm::Atmosphere::fMolecularDBMap
mutableprivate

Definition at line 360 of file Framework/Atmosphere/Atmosphere.h.

OverallQualityDB* atm::Atmosphere::fOverallQualityDB = nullptr
mutableprivate

Definition at line 355 of file Framework/Atmosphere/Atmosphere.h.

VProfileModel* atm::Atmosphere::fProfileModel = nullptr
private

Definition at line 347 of file Framework/Atmosphere/Atmosphere.h.

VRayleighModel* atm::Atmosphere::fRayleighModel = nullptr
private

Definition at line 346 of file Framework/Atmosphere/Atmosphere.h.


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

, generated on Tue Sep 26 2023.