13 #include <utl/AugerUnits.h>
30 if (theta < GetThetaMin()) theta = GetThetaMin();
31 else if (theta > GetThetaMax()) theta = GetThetaMax();
36 double xShower, yShower;
38 xp = cos(phi)*x + sin(phi)*y;
39 yp =-sin(phi)*x + cos(phi)*y;
42 xShower = cos(theta)*xp - sin(theta)*zp;
46 double r =
sqrt(xShower*xShower + yShower*yShower);
48 if (r>4000*
m) r = 4000*
m;
50 double thetaDeg = theta/
deg;
54 double p2 = -0.0149130;
55 double p3 = 6.53067e-05;
57 double B = p0 + p1*thetaDeg + p2*
pow(thetaDeg,2) + p3*
pow(thetaDeg,3.);
58 double C = 0.204301 + 3.17347*B;
60 double q0 = 2.40906e+01;
61 double q1 = -3.13028e-01;
62 double q2 = -4.95571e+02;
63 double q3 = 1.15072e+01;
64 double q4 = -6.42068e-02;
66 double Rp=exp(q0 + thetaDeg*q1) + q2 + thetaDeg*q3+
pow(thetaDeg,2.)*q4;
68 double ratio = Rp/r + C - B*log10(r);
virtual ~SimpleEMComponent()
double pow(const double x, const unsigned int i)
Class representing a document branch.
SimpleEMComponent(utl::Branch branch)
virtual double SignalRatio(double x, double y, double rmu, double theta, double phi)