00001 #include "FastShowerUtils/Samplers/TailAuxC0EmEcalBar1.h"
00002 #include "FastShowerUtils/PolyArgs.h"
00003 #include <cmath>
00004 namespace FastShower{
00005
00006 double TailAuxC0EmEcalBar1::value(const PolyArgs& pa) const {
00007 double energy = pa.pp()->energy();
00008 double aDelPhi = fabs(pa.pp()->delPhi());
00009 double p1 = 2.650;
00010 double p2 = -0.115;
00011 double p3 = 0.050;
00012
00013 double result = p1*std::exp(p2*energy) + p3;
00014 if ((energy>15.) && (energy<70.)) {
00015 result = (aDelPhi>0.03) ?
00016 (2.+10.*aDelPhi)*result :
00017 (1.+20.*aDelPhi)*result;
00018 }
00019 return result;
00020 }
00021
00022 IFn* TailAuxC0EmEcalBar1::clone() const { return new TailAuxC0EmEcalBar1();}
00023 }
00024
00025