List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
atm::SimShowerProfileModel Class Reference

Molecular profile using a parametric model stored in a shower file. More...

#include "atm/SimShowerProfileModel.h"

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

Public Member Functions

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

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
 

Private Member Functions

double GetDensityAtHeight (const double height) const
 
double GetDepthAtHeight (const double height) const
 
void LazyInit () const
 
 REGISTER_MODEL (atm::VProfileModel,"SimShower", SimShowerProfileModel)
 

Private Attributes

std::vector< double > fAatm
 
std::vector< double > fBatm
 
std::vector< double > fCatm
 
std::string fCurrentEvent
 
std::vector< double > fHlay
 
bool fInitialized = false
 

Detailed Description

Molecular profile using a parametric model stored in a shower file.

This model is meant to be used together when reading simulated air showers that store the atmosphere parameters in a standard way, usually a piecewise function of the form a + b*exp(-h/c). Currently only CORSIKA files support this. It provides a very simple picture of the atmosphere, only density- and depth-related data is provided. Pressure, water pressure and temperature information is calculated using simplified assumptions. To be used only for true MC Hd simulations.

To use this manager, make sure the following line appears in the atmosphere configuration:

<ProfileModel> SimShower </ProfileModel>

In order to use this with other file types, the file-reading class must set the atmosphere parameters inside ShowerSimData.

Author
Javier Gonzalez
R. Ulrich (improved)
Date
23 Feb 2012

Definition at line 45 of file SimShowerProfileModel.h.

Member Typedef Documentation

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

Definition at line 76 of file VProfileModel.h.

Constructor & Destructor Documentation

atm::SimShowerProfileModel::SimShowerProfileModel ( )
default
virtual atm::SimShowerProfileModel::~SimShowerProfileModel ( )
virtualdefault

Member Function Documentation

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

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

Definition at line 207 of file VProfileModel.cc.

References atm::VProfileModel::fTabRIVsHeightAndWaveLength.

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

const ProfileResult & SimShowerProfileModel::EvaluateDensityVsHeight ( ) const
overridevirtual

Table of density as a function of height.

Implements atm::VProfileModel.

Definition at line 234 of file SimShowerProfileModel.cc.

const ProfileResult & SimShowerProfileModel::EvaluateDepthVsHeight ( ) const
overridevirtual

Table of depth as a function of height.

Implements atm::VProfileModel.

Definition at line 243 of file SimShowerProfileModel.cc.

const ProfileResult & SimShowerProfileModel::EvaluateHeightVsDepth ( ) const
overridevirtual

Table of height as a function of depth.

Implements atm::VProfileModel.

Definition at line 252 of file SimShowerProfileModel.cc.

const ProfileResult & SimShowerProfileModel::EvaluatePressureVsHeight ( ) const
overridevirtual

Table of air pressure as a function of height.

Implements atm::VProfileModel.

Definition at line 207 of file SimShowerProfileModel.cc.

const ProfileResult & atm::VProfileModel::EvaluateRefractionIndexVsHeight ( const double  wl) const
virtualinherited
const ProfileResult & SimShowerProfileModel::EvaluateRefractionIndexVsHeight ( ) const
overridevirtual

Table of refraction index as a function of height.

Reimplemented from atm::VProfileModel.

Definition at line 261 of file SimShowerProfileModel.cc.

const ProfileResult & SimShowerProfileModel::EvaluateTemperatureVsHeight ( ) const
overridevirtual

Table of temperature as a function of height.

Implements atm::VProfileModel.

Definition at line 225 of file SimShowerProfileModel.cc.

const ProfileResult & SimShowerProfileModel::EvaluateVaporPressureVsHeight ( ) const
overridevirtual

Table of H2O vapor pressure as a function of height.

Implements atm::VProfileModel.

Definition at line 216 of file SimShowerProfileModel.cc.

void atm::VProfileModel::ExtendProfilesTo100km ( ) const
protectedinherited
double SimShowerProfileModel::GetDensityAtHeight ( const double  height) const
private

Definition at line 270 of file SimShowerProfileModel.cc.

double SimShowerProfileModel::GetDepthAtHeight ( const double  height) const
private

Definition at line 284 of file SimShowerProfileModel.cc.

double atm::VProfileModel::GetVerticalTimeOfFlight ( const double  height1,
const double  height2 
) const
virtualinherited

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.

bool atm::SimShowerProfileModel::HasData ( ) const
inlineoverridevirtual

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 73 of file SimShowerProfileModel.h.

void SimShowerProfileModel::Init ( void  )
overridevirtual

Implements atm::VModel.

Definition at line 51 of file SimShowerProfileModel.cc.

References INFO.

void SimShowerProfileModel::LazyInit ( ) const
private
atm::SimShowerProfileModel::REGISTER_MODEL ( atm::VProfileModel  ,
"SimShower"  ,
SimShowerProfileModel   
)
private
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

std::vector<double> atm::SimShowerProfileModel::fAatm
mutableprivate

Definition at line 84 of file SimShowerProfileModel.h.

std::vector<double> atm::SimShowerProfileModel::fBatm
mutableprivate

Definition at line 85 of file SimShowerProfileModel.h.

std::vector<double> atm::SimShowerProfileModel::fCatm
mutableprivate

Definition at line 86 of file SimShowerProfileModel.h.

std::string atm::SimShowerProfileModel::fCurrentEvent
mutableprivate

Definition at line 81 of file SimShowerProfileModel.h.

std::vector<double> atm::SimShowerProfileModel::fHlay
mutableprivate

Definition at line 83 of file SimShowerProfileModel.h.

bool atm::SimShowerProfileModel::fInitialized = false
mutableprivate

Definition at line 82 of file SimShowerProfileModel.h.

ProfileResult* atm::VProfileModel::fTabHeightVsLogDepth = nullptr
protectedinherited
ProfileResult* atm::VProfileModel::fTabLogDensityVsHeight = nullptr
protectedinherited
ProfileResult* atm::VProfileModel::fTabLogDepthVsHeight = nullptr
protectedinherited
ProfileResult* atm::VProfileModel::fTabLogPressureVsHeight = nullptr
protectedinherited
ProfileResult* atm::VProfileModel::fTabLogVaporPressureVsHeight = nullptr
protectedinherited
ProfileResult* atm::VProfileModel::fTabRIVsHeight = nullptr
protectedinherited
AltWLFunction atm::VProfileModel::fTabRIVsHeightAndWaveLength
mutableprotectedinherited
ProfileResult* atm::VProfileModel::fTabTemperatureVsHeight = nullptr
protectedinherited

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

, generated on Tue Sep 26 2023.