19 #ifndef __UnivParamNS_h_
20 #define __UnivParamNS_h_
29 namespace UnivParamNS {
34 const bool XmaxShift[4] = {
false,
false,
false,
false };
36 const bool UseDL[4] = {
false,
false,
false,
false };
42 const double DXref[4] = { 400., 400., 400., 400.};
45 const std::string
parNameDX[
nParDX] = {
"S_{ref} ",
"#gamma ",
"DX_{max} ",
"#lambda ",
"f_{#lambda,E}",
"DX_{0}",
"icomp" };
46 const int nParUsed[
nParDX - 1][4] = { {4, 4, 4, 4}, {2, 2, 2, 2}, {3, 4, 3, 3 }, {3, 3, 3, 2}, {0, 2, 0, 1}, {1, 1, 1, 1} };
51 const double parSref_WCD[4][4] = { { 1.496e+01 , 1.148e+00 , 1.145e+01 , 5.093e+03 },
52 { 1.380e+01 , 2.205e+00 , 4.334e+00 , 1.027e+03 },
53 { 3.003e+00 , 1.112e+00 , 8.522e+00 , 3.794e+03 },
54 { 3.417e+00 , 2.312e+00 , 1.039e+01 , 8.591e+03 }
56 const double parGamma_WCD[4][4] = { { 9.411e-01 , -1.930e-02 , 0.000e+00 , 0.000e+00 },
57 { 9.919e-01 , 1.484e-02 , 0.000e+00 , 0.000e+00 },
58 { 9.415e-01 , -1.793e-02 , 0.000e+00 , 0.000e+00 },
59 { 9.228e-01 , 1.244e-02 , 0.000e+00 , 0.000e+00 }
61 const double parDXmax_WCD[4][4] = { { -3.448e+02 , 6.806e+02 , 5.425e-01 , 0.000e+00 },
62 { 1.677e+02 , 8.201e+02 , 1.919e+03 , 3.842e+01 },
63 { -3.591e+01 , 3.567e+02 , 7.201e-01 , 0.000e+00 },
64 { -8.914e+01 , 4.388e+01 , 8.398e-01 , 0.000e+00 }
66 const double parLambda_WCD[4][4] = { { 2.442e+04 , -2.388e+04 , -3.354e-03 , 0.000e+00 },
67 { 6.952e+01 , 1.388e+01 , -1.153e+01 , 0.000e+00 },
68 { 2.522e+05 , -2.516e+05 , -3.589e-04 , 0.000e+00 },
69 { 1.055e+02 , 6.658e+00 , 0.000e+00 , 0.000e+00 }
71 const double parfLambdaE_WCD[4][4] = { { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
72 { 3.821e-02 , 1.633e-04 , 0.000e+00 , 0.000e+00 },
73 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
74 { -1.921e-02 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
76 const double parDX0_WCD[4][4] = { { -2.500e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
77 { -5.000e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
78 { -2.500e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
79 { -8.000e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
82 const double parSref_Scin[4][4] = { { 3.223e+00 , 1.135e+00 , 1.292e+01 , 6.166e+03 },
83 { 9.273e+00 , 2.194e+00 , 5.890e+00 , 1.692e+03 },
84 { 1.232e+00 , 1.017e+00 , 8.543e+00 , 3.993e+03 },
85 { 1.248e+00 , 1.973e+00 , 7.309e+00 , 4.769e+03 }
87 const double parGamma_Scin[4][4] = { { 9.392e-01 , -1.324e-02 , 0.000e+00 , 0.000e+00 },
88 { 9.891e-01 , 2.095e-02 , 0.000e+00 , 0.000e+00 },
89 { 9.422e-01 , -1.596e-02 , 0.000e+00 , 0.000e+00 },
90 { 9.207e-01 , 4.101e-02 , 0.000e+00 , 0.000e+00 }
92 const double parDXmax_Scin[4][4] = { { -1.950e+02 , 4.144e+02 , 7.012e-01 , 0.000e+00 },
93 { 1.485e+02 , 1.000e+03 , 2.567e+03 , 2.997e+01 },
94 { 4.523e+01 , 1.446e+02 , 1.190e+00 , 0.000e+00 },
95 { -7.091e+01 , 3.782e+00 , 2.549e+00 , 0.000e+00 }
97 const double parLambda_Scin[4][4] = { { 2.064e+04 , -2.020e+04 , -6.592e-03 , 0.000e+00 },
98 { 7.091e+01 , 1.642e+01 , -9.233e+00 , 0.000e+00 },
99 { 6.686e+03 , -6.290e+03 , -1.396e-02 , 0.000e+00 },
100 { 1.077e+02 , 1.286e+01 , 0.000e+00 , 0.000e+00 }
103 { 3.606e-02 , -4.638e-03 , 0.000e+00 , 0.000e+00 },
104 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
105 { -3.762e-02 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
107 const double parDX0_Scin[4][4] = { { -2.500e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
108 { -5.000e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
109 { -2.500e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
110 { -8.000e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
116 const double parSref_MD[4][4] = { { 8.769e+00 , 1.083e+00 , 1.130e+01 , 3.809e+03 },
117 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
118 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
119 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
121 const double parGamma_MD[4][4] = { { 9.505e-01 , -3.088e-02 , 0.000e+00 , 0.000e+00 },
122 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
123 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
124 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
126 const double parDXmax_MD[4][4] = { { -2.042e+02 , 7.968e+02 , 6.415e-01 , 0.000e+00 },
127 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
128 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
129 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
131 const double parLambda_MD[4][4] = { { 1.045e+04 , -9.968e+03 , -9.857e-03 , 0.000e+00 },
132 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
133 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
134 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
136 const double parfLambdaE_MD[4][4] = { { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
137 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
138 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
139 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
141 const double parDX0_MD[4][4] = { { -2.500e+02 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
142 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
143 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 },
144 { 0.000e+00 , 0.000e+00 , 0.000e+00 , 0.000e+00 }
178 double DXFunc(
double DX,
double logE,
double* parDX);
182 double RFuncPar(
int icomp,
int iparDX ,
int ipar);
183 double RFunc(
double r,
int icomp,
int iparDX);
184 double RFunc(
double r,
int icomp,
int iparDX ,
double* par);
186 double GetS0(
double r,
double DX,
double logE,
int icomp,
double Nmu);
187 double GetS0(
double r,
double DX,
double logE,
int icomp);
189 double GetSignal(
double r,
double XmaxEdep,
double logE,
double theta,
double psi,
double rhoGround,
double hGround,
double Nmu,
int icomp0,
int iatm);
190 double GetLogE(
double vem,
double r,
double XmaxEdep,
double theta,
double psi,
double rhoGround,
double hGround,
double Nmu,
int iatm);
192 double GetSignal(
double r,
double* DX,
double logE,
double theta,
double psi,
double rhoGround,
double hGround,
double Nmu,
int icomp0);
196 #endif // __UnivParamNS_h_
const double parDX0_MD[4][4]
const double rAccurate_low
const bool UseDiffusive[4]
const double parSref_Scin[4][4]
const double parSref_WCD[4][4]
const double parGamma_Scin[4][4]
const double parSref_MD[4][4]
const double parDXmax_Scin[4][4]
const int nParUsed[nParDX-1][4]
double DXFunc(double DX, double logE, double *parDX)
const double parfLambdaE_Scin[4][4]
double GetSignal(double r, double XmaxEdep, double logE, double theta, double psi, double rhoGround, double hGround, double Nmu, int icomp0, int iatm)
const double parLambda_Scin[4][4]
const double parDX0_Scin[4][4]
double GetS0(double r, double DX, double logE, int icomp, double Nmu)
double RFuncPar(int icomp, int iparDX, int ipar)
const double parGamma_MD[4][4]
const double parfLambdaE_WCD[4][4]
const double parLambda_WCD[4][4]
const double rAccurate_high
double RFunc(double r, int icomp, int iparDX)
double GetLogE(double vem, double r, double XmaxEdep, double theta, double psi, double rhoGround, double hGround, double Nmu, int iatm)
const double parGamma_WCD[4][4]
double GetAlphaFluct(double r, int icomp)
const double parDX0_WCD[4][4]
const double parLambda_MD[4][4]
const std::string parNameDX[nParDX]
UnivParam(int DetectorType)
const double parfLambdaE_MD[4][4]
const double parDXmax_MD[4][4]
const double parDXmax_WCD[4][4]