Arbeletche2021CherenkovAngularModel.h
Go to the documentation of this file.
1 
10 #ifndef _atm_Arbeletche2021CherenkovAngularModel_h_
11 #define _atm_Arbeletche2021CherenkovAngularModel_h_
12 
13 namespace atm {
14 
27  private:
28  // fields computed once on construction
30  // fields computed by UpdateParameters(s, n)
31  mutable double fNu, fOmega1, fOmega2, fNormalization;
32  mutable double fThetaEm, fCosThetaEm, fSinThetaEm;
33 
34 
35  void UpdateParameters(const double showerAge, const double refractiveIndex) const;
36  double FunctionK(const double theta) const;
37  double UnnormalizedIntegral(const double lowAngle, const double highAngle) const;
38  double UnnormalizedIntegralLeft(const double lowAngle, const double highAngle) const;
39  double UnnormalizedIntegralRight(const double lowAngle, const double highAngle) const;
40  double UnnormalizedIntegralSineLeft(const double lowAngle, const double highAngle) const;
41  double UnnormalizedIntegralSineRight(const double lowAngle, const double highAngle) const;
42 
43  public:
44  Arbeletche2021CherenkovAngularModel(const double showerEnergyTeV, const double maxTheta);
45 
54  double PDF(const double theta, const double showerAge, const double refractiveIndex) const;
55 
64  double CDF(const double theta, const double showerAge, const double refractiveIndex) const;
65 
75  double Integral(const double lowAngle, const double highAngle, const double showerAge, const double refractiveIndex) const;
76  };
77 
78 } // namespace atm
79 
80 #endif /* _atm_Arbeletche2021CherenkovAngularModel_h_ */
double UnnormalizedIntegral(const double lowAngle, const double highAngle) const
Parametrization of the angular distribution of Cherenkov photons from L. Arbeletche and V...
double UnnormalizedIntegralLeft(const double lowAngle, const double highAngle) const
double CDF(const double theta, const double showerAge, const double refractiveIndex) const
Computes the CDF of the angular distribution of Cherenkov photons.
double UnnormalizedIntegralSineRight(const double lowAngle, const double highAngle) const
double PDF(const double theta, const double showerAge, const double refractiveIndex) const
Computes the PDF of the angular distribution of Cherenkov photons.
Arbeletche2021CherenkovAngularModel(const double showerEnergyTeV, const double maxTheta)
double Integral(const double lowAngle, const double highAngle, const double showerAge, const double refractiveIndex) const
Compute the integral of PDF(theta)*sin(theta) between specified angles.
double UnnormalizedIntegralRight(const double lowAngle, const double highAngle) const
void UpdateParameters(const double showerAge, const double refractiveIndex) const
double UnnormalizedIntegralSineLeft(const double lowAngle, const double highAngle) const

, generated on Tue Sep 26 2023.