13 #include <utl/ErrorLogger.h>
15 #include <tls/Atmosphere.h>
16 #include <tls/UnivParam.h>
17 #include <tls/UnivTimeKGLogNormal.h>
18 #include <tls/UnivTimeKGGamma.h>
40 vector<UnivTimeKG::TimeModel*> timeModels;
42 for (
int icomp = 0; icomp < 4; ++icomp) {
53 double density = 1.04e-3 *
gram /
cm3;
58 double theta = 36 *
degree;
60 double height = 1400 *
meter;
66 double rho = 1000 *
meter;
72 double integratedSignal = fpar.
GetSignal(rho /
cm, xmax_eg / gpercm2, logE,
73 theta, psi, density / (
gram /
cm3), height /
cm,
81 timeModels[sigComp]->setShapeParameters(DX / gpercm2, rho, psi, theta, logE);
83 double S = timeModels[sigComp]->pdf(planeFrontTime - fpTime) * integratedSignal *
tracebinning;
85 cout <<
"S " << S << endl;
87 double Scdf = timeModels[sigComp]->cdf(planeFrontTime - fpTime);
89 cout <<
"cdf S (normed)" << Scdf << endl;
91 double tinv = fpTime + timeModels[sigComp]->invcdf(Scdf);
93 cout <<
"t " << tinv << endl;
95 double pftimeit = fpTime;
99 cdf = timeModels[sigComp]->cdf(pftimeit - fpTime);
100 cout <<
"rel. time [ns]: " << pftimeit <<
", CDF (normed): " << cdf << endl;
104 double startTimeProb = timeModels[0]->firstParticlePdfSmeared(planeFrontTime - fpTime, 20);
106 cout <<
"start time probability: " << startTimeProb << endl;
113 UnivTimeKGTester::Finish()
void Init()
Initialise the registry.
const double tracebinning
double GetSignal(double r, double XmaxEdep, double logE, double theta, double psi, double rhoGround, double hGround, double Nmu, int icomp0, int iatm)
float Get_DX_DL_i(float r, float psi, float SlantDepth, float theta, float hground, bool UseDL, bool IsDiffusive)
constexpr double nanosecond
ResultFlag
Flag returned by module methods to the RunController.
void SetCurrentAtmosphere(AtmModel theAtm)