22 using namespace AtmCorrNS;
27 if (DetectorType < 0 || DetectorType > 2) {
28 printf(
"AtmCorr: Incorrect Detector type %d \n", DetectorType);
43 double r_km = r / 1e5;
56 const double rhoGroundRef = fatm.
GetDensity(hGround);
59 if (icomp > 0 && icomp < 4) {
61 double fcorr = (1 - alphaRho * (rhoGround - rhoGroundRef) * 1e3 / 0.03);
82 if (icomp > 0 && icomp < 4) {
87 double fcorr = (1. - alphaRho * (rhoAboveGround - rhoAboveGroundRef) * 1.e3 / 0.03);
103 if (ipar < 0 || ipar > 1)
106 const double* par = 0;
120 printf(
"unknown case\n");
124 return par[0] + par[1] * r / 1.e5 + par[2] * r * r / 1e10;
140 const double theta_deg = theta * 180 / M_PI;
141 const double f_mod = f_mod1 * theta_deg / 60 + f_mod2 *
pow(theta_deg / 60, 2);
142 const double fcorr = (1 + cos(psi) * f_mod);
const double f_mod1_par_MD[4][3]
const double parAtmTypeI[2][4]
const double f_mod2_par_MD[4][3]
AtmCorr(int DetectorType)
double GetCorrTypeIII(double r, double theta, double psi, int icomp)
const double f_mod2_par_WCD[4][3]
double GetAlphaRho(double r, int icomp)
double pow(const double x, const unsigned int i)
float GetDensity(float h)
double GetParCorrTypeIII(double r, int icomp, int ipar)
double GetCorrTypeI(double r, int icomp, double rhoGround, double hGround)
float GetDensityAboveGround(float hground, float theta, float nRad)
const double f_mod2_par_Scin[4][3]
double GetCorrTypeII(double r, double theta, int icomp, double hground)
const double f_mod1_par_Scin[4][3]
const double f_mod1_par_WCD[4][3]