AtmCorr.h
Go to the documentation of this file.
1 #ifndef __AtmCorr_h_
2 #define __AtmCorr_h_
3 
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <math.h>
7 #include <fstream>
8 
9 //----------------------------------------------------------------------------------------------
10 // 3 types of atmospheric effects at the same (r,DX) :
11 // Type I --> Showers with the same (theta,psi) but different rho_ground
12 // Type II--> Showers with the same (psi,rho_ground) show theta depedences.
13 // Type III--> Showers with the same (theta,rho_ground) show psi depedences due to the different atmospheric profiles
14 //----------------------------------------------------------------------------------------------
15 
16 // Remarks :
17 // -A wrong attenuation parameter can also induce azimuthal asymmetries that can be confused with atmospheric effects
18 // -Type III corrections for AMIGA are due to imperfections in the Geometrical asymmetries
19 
20 // Corrections calculated using FeQGSJetII
21 
22 
23 namespace AtmCorrNS {
24 
25  const double parAtmTypeI[2][4] = { { 0.0000 , 0.0735 , 0.0395 , 0.0227 } , { 1.0000 , 0.4797 , 0.7292 , 1.3356 }};
26 
27  const double f_mod1_par_WCD[4][3] = { { 0.000, -0.013, 0.089 } , { 0.000, 0.278, 0.028 } , { 0.000, 0.080, 0.052 } , { 0.000, -0.027, 0.083 }};
28  const double f_mod2_par_WCD[4][3] = { { 0.000, -0.108, -0.040 } , { 0.000, -0.436, 0.038 } , { 0.000, -0.182, -0.007 } , { 0.000, -0.120, -0.041 }};
29 
30  const double f_mod1_par_Scin[4][3] = { { 0.000, -0.021, 0.064 } , { 0.000, 0.127, 0.078 } , { 0.000, -0.014, 0.067 } , { 0.000, -0.053, 0.069 }};
31  const double f_mod2_par_Scin[4][3] = { { 0.000, -0.085, -0.018 } , { 0.000, -0.379, 0.047 } , { 0.000, -0.118, -0.019 } , { 0.000, -0.167, 0.015 }};
32 
33  const double f_mod1_par_MD[4][3] = { { 0.000, -0.083, 0.178 } , {0.000, 0.000, 0.000}, {0.000, 0.000, 0.000}, {0.000, 0.000, 0.000} };
34  const double f_mod2_par_MD[4][3] = { { 0.000, 0.000, -0.072 } , {0.000, 0.000, 0.000}, {0.000, 0.000, 0.000}, {0.000, 0.000, 0.000} };
35 
36  class AtmCorr {
37 
38  private:
40  public:
41  AtmCorr(int DetectorType);
42  ~AtmCorr() {};
43 
44  //Type I atmospheric effect
45  double GetAlphaRho(double r, int icomp);
46  double GetCorrTypeI(double r, int icomp, double rhoGround, double hGround);
47 
48  //Type II atmospheric effects
49  double GetCorrTypeII(double r, double theta, int icomp, double hground);
50 
51  //Type III atmospheric effect
52  double GetParCorrTypeIII(double r, int icomp, int ipar);
53  double GetCorrTypeIII(double r, double theta, double psi, int icomp);
54 
55  };
56 }
57 #endif // __AtmCorr_h_
const double f_mod1_par_MD[4][3]
Definition: AtmCorr.h:33
const double parAtmTypeI[2][4]
Definition: AtmCorr.h:25
const double f_mod2_par_MD[4][3]
Definition: AtmCorr.h:34
AtmCorr(int DetectorType)
Definition: AtmCorr.cc:25
double GetCorrTypeIII(double r, double theta, double psi, int icomp)
Definition: AtmCorr.cc:129
const double f_mod2_par_WCD[4][3]
Definition: AtmCorr.h:28
double GetAlphaRho(double r, int icomp)
Definition: AtmCorr.cc:41
double GetParCorrTypeIII(double r, int icomp, int ipar)
Definition: AtmCorr.cc:99
double GetCorrTypeI(double r, int icomp, double rhoGround, double hGround)
Definition: AtmCorr.cc:50
const double f_mod2_par_Scin[4][3]
Definition: AtmCorr.h:31
double GetCorrTypeII(double r, double theta, int icomp, double hground)
Definition: AtmCorr.cc:74
const double f_mod1_par_Scin[4][3]
Definition: AtmCorr.h:30
const double f_mod1_par_WCD[4][3]
Definition: AtmCorr.h:27

, generated on Tue Sep 26 2023.