List of all members | Public Member Functions | Private Member Functions | Private Attributes
USCMuonProfileNS::USCMuonProfile Class Reference

Muon profile interpolated from maps derived from Monte Carlo simulations. Tables from the Santiago de Compostela group. More...

#include <USCMuonProfile.h>

Inheritance diagram for USCMuonProfileNS::USCMuonProfile:
Inheritance graph
[legend]

Public Member Functions

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...
 
void SetProfile (double theta, double phi, double energy)
 
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...
 
 USCMuonProfile (utl::Branch branch)
 
 ~USCMuonProfile ()
 

Private Member Functions

double approx (double num, double prec=1e-3)
 
double Index2Phi (unsigned int iphi)
 
double Index2Theta (unsigned int itheta)
 
void LoadHistograms (double theta, double phi)
 
unsigned int Phi2IndexLower (double theta)
 
unsigned int Phi2IndexUpper (double theta)
 
double PhiMap (double phi)
 
unsigned int Theta2IndexLower (double theta)
 
unsigned int Theta2IndexUpper (double theta)
 

Private Attributes

double fBPsi
 
TFile * fDensity
 
double fEnergy
 
double fExponent
 
TH2D * fHistDen1
 
TH2D * fHistDen2
 
TH2D * fHistDen3
 
TH2D * fHistDen4
 
unsigned int fIndexPhiLow
 
unsigned int fIndexPhiUp
 
unsigned int fIndexThetaLow
 
unsigned int fIndexThetaUp
 
double fNMuonScale
 
double fNMuonScaleEnergy
 
double fPhi
 
double fTheta
 
std::vector< double > fThetaRange
 

Detailed Description

Muon profile interpolated from maps derived from Monte Carlo simulations. Tables from the Santiago de Compostela group.

Definition at line 26 of file USCMuonProfile.h.

Constructor & Destructor Documentation

USCMuonProfile::USCMuonProfile ( utl::Branch  branch)
USCMuonProfileNS::USCMuonProfile::~USCMuonProfile ( )
inline

Definition at line 29 of file USCMuonProfile.h.

Member Function Documentation

double USCMuonProfileNS::USCMuonProfile::approx ( double  num,
double  prec = 1e-3 
)
inlineprivate
double USCMuonProfile::EnergyMuon ( double  xpos,
double  ypos,
double  theta,
double  phi,
double  energy 
)
virtual

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 283 of file USCMuonProfile.cc.

References utl::deg, fPhi, fTheta, utl::GeV, utl::m, std::pow(), and tls::rPerpendicular().

double USCMuonProfile::GetThetaMax ( )
virtual

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

Implements tls::VMuonProfile.

Definition at line 375 of file USCMuonProfile.cc.

References fThetaRange.

Referenced by SetProfile().

double USCMuonProfile::GetThetaMin ( )
virtual

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

Implements tls::VMuonProfile.

Definition at line 374 of file USCMuonProfile.cc.

References fThetaRange.

Referenced by SetProfile().

double USCMuonProfile::Index2Phi ( unsigned int  iphi)
private

Definition at line 355 of file USCMuonProfile.cc.

Referenced by NMuon().

double USCMuonProfile::Index2Theta ( unsigned int  itheta)
private

Definition at line 348 of file USCMuonProfile.cc.

Referenced by NMuon().

void USCMuonProfile::LoadHistograms ( double  theta,
double  phi 
)
private
double USCMuonProfile::NMuon ( double  xpos,
double  ypos,
double  theta,
double  phi,
double  energy 
)
virtual

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 186 of file USCMuonProfile.cc.

References utl::degree, Extrapolate(), fBPsi, fHistDen1, fHistDen2, fHistDen3, fHistDen4, fIndexPhiLow, fIndexPhiUp, fIndexThetaLow, fIndexThetaUp, fNMuonScaleEnergy, fPhi, fTheta, Index2Phi(), Index2Theta(), InterpolateHistrogram(), utl::kPi, PhiMap(), tls::PsiPerpendicular(), tls::rPerpendicular(), SetProfile(), tls::TankGroundArea(), and ThetaMuon().

unsigned int USCMuonProfile::Phi2IndexLower ( double  theta)
private

Definition at line 332 of file USCMuonProfile.cc.

References approx().

Referenced by LoadHistograms().

unsigned int USCMuonProfile::Phi2IndexUpper ( double  theta)
private

Definition at line 340 of file USCMuonProfile.cc.

References approx().

Referenced by LoadHistograms().

double USCMuonProfile::PhiMap ( double  phi)
private

Definition at line 362 of file USCMuonProfile.cc.

References degree, and tls::kDeclination.

Referenced by LoadHistograms(), and NMuon().

void USCMuonProfileNS::USCMuonProfile::SetProfile ( double  theta,
double  phi,
double  energy 
)
inline
unsigned int USCMuonProfile::Theta2IndexLower ( double  theta)
private

Definition at line 316 of file USCMuonProfile.cc.

References approx().

Referenced by LoadHistograms().

unsigned int USCMuonProfile::Theta2IndexUpper ( double  theta)
private

Definition at line 324 of file USCMuonProfile.cc.

References approx().

Referenced by LoadHistograms().

double USCMuonProfile::ThetaMuon ( double  xpos,
double  ypos,
double  theta,
double  phi,
double  energy 
)
virtual

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 274 of file USCMuonProfile.cc.

Referenced by NMuon().

Member Data Documentation

double USCMuonProfileNS::USCMuonProfile::fBPsi
private

Definition at line 62 of file USCMuonProfile.h.

Referenced by NMuon(), and SetProfile().

TFile* USCMuonProfileNS::USCMuonProfile::fDensity
private

Definition at line 57 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and USCMuonProfile().

double USCMuonProfileNS::USCMuonProfile::fEnergy
private

Definition at line 61 of file USCMuonProfile.h.

Referenced by SetProfile(), and USCMuonProfile().

double USCMuonProfileNS::USCMuonProfile::fExponent
private

Definition at line 64 of file USCMuonProfile.h.

Referenced by SetProfile(), and USCMuonProfile().

TH2D* USCMuonProfileNS::USCMuonProfile::fHistDen1
private

Definition at line 72 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

TH2D* USCMuonProfileNS::USCMuonProfile::fHistDen2
private

Definition at line 73 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

TH2D* USCMuonProfileNS::USCMuonProfile::fHistDen3
private

Definition at line 74 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

TH2D* USCMuonProfileNS::USCMuonProfile::fHistDen4
private

Definition at line 75 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

unsigned int USCMuonProfileNS::USCMuonProfile::fIndexPhiLow
private

Definition at line 70 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

unsigned int USCMuonProfileNS::USCMuonProfile::fIndexPhiUp
private

Definition at line 70 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

unsigned int USCMuonProfileNS::USCMuonProfile::fIndexThetaLow
private

Definition at line 69 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

unsigned int USCMuonProfileNS::USCMuonProfile::fIndexThetaUp
private

Definition at line 69 of file USCMuonProfile.h.

Referenced by LoadHistograms(), and NMuon().

double USCMuonProfileNS::USCMuonProfile::fNMuonScale
private

Definition at line 66 of file USCMuonProfile.h.

Referenced by SetProfile(), and USCMuonProfile().

double USCMuonProfileNS::USCMuonProfile::fNMuonScaleEnergy
private

Definition at line 67 of file USCMuonProfile.h.

Referenced by NMuon(), and SetProfile().

double USCMuonProfileNS::USCMuonProfile::fPhi
private

Definition at line 61 of file USCMuonProfile.h.

Referenced by EnergyMuon(), NMuon(), SetProfile(), and USCMuonProfile().

double USCMuonProfileNS::USCMuonProfile::fTheta
private

Definition at line 61 of file USCMuonProfile.h.

Referenced by EnergyMuon(), NMuon(), SetProfile(), and USCMuonProfile().

std::vector<double> USCMuonProfileNS::USCMuonProfile::fThetaRange
private

Definition at line 59 of file USCMuonProfile.h.

Referenced by GetThetaMax(), GetThetaMin(), SetProfile(), and USCMuonProfile().


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

, generated on Tue Sep 26 2023.