List of all members | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
ParametricMuonProfileNS::ParametricMuonProfile Class Reference

This class wraps the muon profile implementation, which is based on a multi-dimensional parameterisation of raw Monte-Carlo data. More...

#include <ParametricMuonProfile.h>

Inheritance diagram for ParametricMuonProfileNS::ParametricMuonProfile:
Inheritance graph
[legend]

Public Types

enum  ProfileType { eNMuTank, eCosTheta, eLogEnergy }
 

Public Member Functions

void CachedSetProfile (double theta, double phi, double energy)
 
double EnergyMuon (double xpos, double ypos, double theta, double phi, double energy)
 Expected average muon energy on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. More...
 
double GetThetaMax ()
 Maximum zenith angle, at which the tank response function is defined. More...
 
double GetThetaMin ()
 Minimum zenith angle, at which the tank response function is defined. More...
 
double NMuon (double xpos, double ypos, double theta, double phi, double energy)
 Expected average number of muons per tank, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. More...
 
 ParametricMuonProfile (utl::Branch)
 
double ThetaMuon (double xpos, double ypos, double theta, double phi, double energy)
 Expected average muon inclination angle on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. More...
 
 ~ParametricMuonProfile ()
 

Private Types

typedef std::vector< double > ArrayType
 
typedef boost::multi_array
< double, 3 > 
LocalDataType
 
typedef boost::multi_array
< double, 6 > 
ModelDataType
 

Private Member Functions

void BuildLocalModel ()
 
double D (double theta) const
 
double EvaluateLocalProfile (ProfileType type, double sqr, double zeta) const
 
double EvaluateProfile (ProfileType type, double x, double y, double theta, double phi, double energy)
 
void ReadModelData (const utl::Branch &modelBranch, ModelDataType &tensor, LocalDataType &tensorLocal) const
 
double TotalMuonNumber (double theta, double energy) const
 

Private Attributes

double fBiasCorrection [3]
 
double fBPsi
 
ArrayType fDMaxData
 
double fEnergy
 
LocalDataType fLocalData [3]
 
ModelDataType fModelData [3]
 
ArrayType fNMuData
 
double fNMuonNumber
 
double fPhi
 
double fSqrtRadiusMax
 
double fTheta
 
ArrayType fThetaRange
 

Detailed Description

This class wraps the muon profile implementation, which is based on a multi-dimensional parameterisation of raw Monte-Carlo data.

Author
Hans Dembinski

Definition at line 30 of file ParametricMuonProfile.h.

Member Typedef Documentation

typedef std::vector<double> ParametricMuonProfileNS::ParametricMuonProfile::ArrayType
private

Definition at line 91 of file ParametricMuonProfile.h.

typedef boost::multi_array<double,3> ParametricMuonProfileNS::ParametricMuonProfile::LocalDataType
private

Definition at line 82 of file ParametricMuonProfile.h.

typedef boost::multi_array<double,6> ParametricMuonProfileNS::ParametricMuonProfile::ModelDataType
private

Definition at line 79 of file ParametricMuonProfile.h.

Member Enumeration Documentation

Enumerator
eNMuTank 
eCosTheta 
eLogEnergy 

Definition at line 33 of file ParametricMuonProfile.h.

Constructor & Destructor Documentation

ParametricMuonProfile::ParametricMuonProfile ( utl::Branch  topBranch)
ParametricMuonProfileNS::ParametricMuonProfile::~ParametricMuonProfile ( )
inline

Definition at line 36 of file ParametricMuonProfile.h.

Member Function Documentation

void ParametricMuonProfile::BuildLocalModel ( )
private

Definition at line 173 of file ParametricMuonProfile.cc.

References D(), degree, fLocalData, fModelData, fPhi, fTheta, utl::m, and std::pow().

Referenced by CachedSetProfile().

void ParametricMuonProfileNS::ParametricMuonProfile::CachedSetProfile ( double  theta,
double  phi,
double  energy 
)
inline
double ParametricMuonProfile::D ( double  theta) const
private

Definition at line 73 of file ParametricMuonProfile.cc.

References fDMaxData, and utl::kPi.

Referenced by BuildLocalModel(), and TotalMuonNumber().

double ParametricMuonProfileNS::ParametricMuonProfile::EnergyMuon ( double  xpos,
double  ypos,
double  theta,
double  phi,
double  energy 
)
inlinevirtual

Expected average muon energy on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle.

Implements tls::VMuonProfile.

Definition at line 61 of file ParametricMuonProfile.h.

References eLogEnergy, and EvaluateProfile().

double ParametricMuonProfile::EvaluateLocalProfile ( ProfileType  type,
double  sqr,
double  zeta 
) const
private

Definition at line 152 of file ParametricMuonProfile.cc.

References fLocalData, std::pow(), and result.

Referenced by EvaluateProfile().

double ParametricMuonProfile::EvaluateProfile ( ProfileType  type,
double  x,
double  y,
double  theta,
double  phi,
double  energy 
)
private
double ParametricMuonProfile::GetThetaMax ( )
virtual

Maximum zenith angle, at which the tank response function is defined.

Implements tls::VMuonProfile.

Definition at line 205 of file ParametricMuonProfile.cc.

References fThetaRange.

Referenced by CachedSetProfile().

double ParametricMuonProfile::GetThetaMin ( )
virtual

Minimum zenith angle, at which the tank response function is defined.

Implements tls::VMuonProfile.

Definition at line 202 of file ParametricMuonProfile.cc.

References fThetaRange.

Referenced by CachedSetProfile().

double ParametricMuonProfileNS::ParametricMuonProfile::NMuon ( double  xpos,
double  ypos,
double  theta,
double  phi,
double  energy 
)
inlinevirtual

Expected average number of muons per tank, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle.

Implements tls::VMuonProfile.

Definition at line 55 of file ParametricMuonProfile.h.

References eNMuTank, and EvaluateProfile().

void ParametricMuonProfile::ReadModelData ( const utl::Branch modelBranch,
ModelDataType tensor,
LocalDataType tensorLocal 
) const
private

Definition at line 17 of file ParametricMuonProfile.cc.

References data, utl::Branch::GetChild(), and utl::Branch::GetData().

Referenced by ParametricMuonProfile().

double ParametricMuonProfileNS::ParametricMuonProfile::ThetaMuon ( double  xpos,
double  ypos,
double  theta,
double  phi,
double  energy 
)
inlinevirtual

Expected average muon inclination angle on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle.

Implements tls::VMuonProfile.

Definition at line 58 of file ParametricMuonProfile.h.

References eCosTheta, and EvaluateProfile().

double ParametricMuonProfile::TotalMuonNumber ( double  theta,
double  energy 
) const
private

Definition at line 94 of file ParametricMuonProfile.cc.

References D(), galactic::EeV, fNMuData, and std::pow().

Referenced by CachedSetProfile().

Member Data Documentation

double ParametricMuonProfileNS::ParametricMuonProfile::fBiasCorrection[3]
private

Definition at line 89 of file ParametricMuonProfile.h.

Referenced by EvaluateProfile(), and ParametricMuonProfile().

double ParametricMuonProfileNS::ParametricMuonProfile::fBPsi
private

Definition at line 103 of file ParametricMuonProfile.h.

Referenced by CachedSetProfile(), and EvaluateProfile().

ArrayType ParametricMuonProfileNS::ParametricMuonProfile::fDMaxData
private

Definition at line 93 of file ParametricMuonProfile.h.

Referenced by D(), and ParametricMuonProfile().

double ParametricMuonProfileNS::ParametricMuonProfile::fEnergy
private

Definition at line 102 of file ParametricMuonProfile.h.

Referenced by CachedSetProfile().

LocalDataType ParametricMuonProfileNS::ParametricMuonProfile::fLocalData[3]
private
ModelDataType ParametricMuonProfileNS::ParametricMuonProfile::fModelData[3]
private

Definition at line 80 of file ParametricMuonProfile.h.

Referenced by BuildLocalModel(), and ParametricMuonProfile().

ArrayType ParametricMuonProfileNS::ParametricMuonProfile::fNMuData
private

Definition at line 95 of file ParametricMuonProfile.h.

Referenced by ParametricMuonProfile(), and TotalMuonNumber().

double ParametricMuonProfileNS::ParametricMuonProfile::fNMuonNumber
private

Definition at line 104 of file ParametricMuonProfile.h.

Referenced by CachedSetProfile(), and EvaluateProfile().

double ParametricMuonProfileNS::ParametricMuonProfile::fPhi
private

Definition at line 101 of file ParametricMuonProfile.h.

Referenced by BuildLocalModel(), and CachedSetProfile().

double ParametricMuonProfileNS::ParametricMuonProfile::fSqrtRadiusMax
private

Definition at line 98 of file ParametricMuonProfile.h.

Referenced by EvaluateProfile(), and ParametricMuonProfile().

double ParametricMuonProfileNS::ParametricMuonProfile::fTheta
private

Definition at line 100 of file ParametricMuonProfile.h.

Referenced by BuildLocalModel(), and CachedSetProfile().

ArrayType ParametricMuonProfileNS::ParametricMuonProfile::fThetaRange
private

Definition at line 97 of file ParametricMuonProfile.h.

Referenced by GetThetaMax(), GetThetaMin(), and ParametricMuonProfile().


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

, generated on Tue Sep 26 2023.