CherenkovModel.h
Go to the documentation of this file.
1 #ifndef _atm_CherenkovModel_h_
2 #define _atm_CherenkovModel_h_
3 
4 
5 namespace atm {
6 
17 
18  public:
19  //Global Constants.
20  static const int kN_WAVE_BIN = 20;
21  static const double kWAVE_MAX = 449.3;
22  static const double kWAVE_MIN = 303.1;
23  static const double kWAVE_STEP = (kWAVE_MAX - kWAVE_MIN) / kN_WAVE_BIN;
24 
25  public:
27 
28  double GaisserHillas(double chi,double chi0,double chimax, double Nmax,double lambda) const;
29  double Energy(double beta) const;
30  double Beta(double energy) const;
31  double CKVThreshold(double n_index) const;
32  double Distance(double x1[],double x2[]) const;
33  double GDistance(double x1[],double x2[]) const;
34  double TrackLengthH(double energy,double chi,double chimax) const;
35  double TrackLengthN(double energy,double chi,double chimax) const;
36  double CKVPhot(double trl,double n_index,double beta,double dslant,double l1,double l2) const;
37  void CKVIntegral(double& xlo,double& xhi,double& xb,double& integral) const;
38  void CKVDirect(double bin,double theta,double height,double rp,double chimax,std::vector<double>& DirCh)const;
39  void CKVBeam(double h1,double h2,double theta,double chimax,std::vector<double>& BeamCh) const;
40  void CKVRayleigh(double h1,double h2,double theta,double rr,std::vector<double>& RayCh) const;
41  void CKVAerosol(double h1,double h2,double theta,double rr,std::vector<double>& AerCh) const;
42 
43  virtual ~CherenkovModel() { }
44 
45  private:
46  double Fu(double x,double a) const;
47 
48  };
49 
50 }
51 
52 
53 #endif
static const int kN_WAVE_BIN
virtual ~CherenkovModel()
static const double kWAVE_STEP
double TrackLengthN(double energy, double chi, double chimax) const
void CKVDirect(double bin, double theta, double height, double rp, double chimax, std::vector< double > &DirCh) const
void CKVIntegral(double &xlo, double &xhi, double &xb, double &integral) const
static const double kWAVE_MAX
model of Cherenkov light production in a shower
double CKVPhot(double trl, double n_index, double beta, double dslant, double l1, double l2) const
double Energy(double beta) const
static const double kWAVE_MIN
double TrackLengthH(double energy, double chi, double chimax) const
double Distance(double x1[], double x2[]) const
void CKVRayleigh(double h1, double h2, double theta, double rr, std::vector< double > &RayCh) const
void CKVBeam(double h1, double h2, double theta, double chimax, std::vector< double > &BeamCh) const
double GaisserHillas(double chi, double chi0, double chimax, double Nmax, double lambda) const
double Beta(double energy) const
double Fu(double x, double a) const
double GDistance(double x1[], double x2[]) const
double CKVThreshold(double n_index) const
void CKVAerosol(double h1, double h2, double theta, double rr, std::vector< double > &AerCh) const

, generated on Tue Sep 26 2023.