#include <MuonTimeModel.h>
Public Member Functions | |
double | dNdz (const double z) |
double | e_logt (const double logt) |
double | g_logt (const double logt) |
double | GetDeltaTime () |
void | GetFirstAndMeanTime (double &t_first, double &t_mean, const int n=1) |
double | GetFirstTime (const int n=1) |
double | GetLastTime (const int n=1) |
void | GetMeanAndRMSOfFirstTime (double &mean_t1, double &rms_t1, const int n=1, const int stats=1000) |
double | GetMeanTime (const int n=1) |
double | GetTimes (const int n, double *const at) |
void | Info () |
MuonTimeModel (utl::RandomEngine &randomEngine, const double theta=0, const double logE=19, const int primary=1, const bool flagAngularFactorDa_in=true) | |
MuonTimeModel (utl::RandomEngine &randomEngine, const double theta, const utl::TabulatedFunction *LogzDist, const bool flagAngularFactorDa_in=true, const bool flagDecayFactor_in=true) | |
void | SetCoordinates (const double r, const double zeta) |
void | SetCoordinates (const double r, const double zeta, const double delta) |
double | TotaldNdlogt (const double logt) |
double | TotaldNdt (const double t) |
~MuonTimeModel () | |
Private Member Functions | |
double | cosaDa (double z) |
double | DecayFactor_Z (double Z) |
double | dEdt (double t, double x) |
void | DefaultSettings () |
double | dNdE (double E, double x) |
double | dNdlogE (double logE, double x) |
double | dNdlogz (double logz) |
double | dZdt (double t) |
double | E (double t, double x) |
double | e_t (double t) |
double | g_t (double t) |
double | GetParametricLogLambda (const double cosTheta, const double, const int) const |
double | GetParametricLogMean (const double cosTheta, const double, const int) const |
double | GetParametricLogSigma (const double cosTheta, const double, const int) const |
double | L_Z (const double z) const |
void | UpdateModel () |
double | Z_t (double t) |
Static Private Member Functions | |
static double | ErrF (const double) |
static double | ErrFC (const double x) |
static double | GammaP (const double, const double) |
static double | GammaQ (const double, const double) |
static void | gcf (double &, const double, const double, double &) |
static void | gser (double &, const double, const double, double &) |
Private Attributes | |
double | fCosTheta |
double | fDelta |
utl::TabulatedFunction * | fGeometricalLogtDist |
utl::VRandomSampler * | fGRDGeometricalLogtDist |
utl::VRandomSampler * | fGRDKinematicalLogtDist |
utl::TabulatedFunction * | fKinematicalLogtDist |
bool | flagAngularFactorDa |
bool | flagDecayFactor |
bool | flagUserdNdlogz |
double | fLogE |
double | fLogt_e_low |
double | fLogt_e_up |
utl::TabulatedFunction * | fLogzDist |
int | fNLogSteps |
int | fPrimary |
double | fR |
utl::RandomEngine & | fRandomEngine |
double | fTheta |
double | fZeta |
double | fzMean |
double | logstep_e |
double | logstep_g |
double | logt_g_low |
double | logt_g_up |
Static Private Attributes | |
static const double | fgGamma = 2.6 |
static const double | fgKappa = 0.8 |
static const double | fgLambda = 1 |
static const double | fgM2 = 0.011 |
static const double | fgPk = 0.0002 |
static const double | fgQ = 0.17 |
Definition at line 16 of file MuonTimeModel.h.
MuonTimeModel::MuonTimeModel | ( | utl::RandomEngine & | randomEngine, |
const double | theta = 0 , |
||
const double | logE = 19 , |
||
const int | primary = 1 , |
||
const bool | flagAngularFactorDa_in = true |
||
) |
Definition at line 30 of file MuonTimeModel.cc.
References DefaultSettings(), fCosTheta, flagUserdNdlogz, fLogE, fPrimary, fzMean, GetParametricLogMean(), and std::pow().
MuonTimeModel::MuonTimeModel | ( | utl::RandomEngine & | randomEngine, |
const double | theta, | ||
const utl::TabulatedFunction * | LogzDist, | ||
const bool | flagAngularFactorDa_in = true , |
||
const bool | flagDecayFactor_in = true |
||
) |
Definition at line 55 of file MuonTimeModel.cc.
References DefaultSettings(), flagUserdNdlogz, fLogzDist, fzMean, utl::TabulatedFunction::GetNPoints(), and std::pow().
MuonTimeModel::~MuonTimeModel | ( | ) |
Definition at line 96 of file MuonTimeModel.cc.
References fGeometricalLogtDist, fGRDGeometricalLogtDist, fGRDKinematicalLogtDist, fKinematicalLogtDist, and fLogzDist.
|
private |
Definition at line 198 of file MuonTimeModel.cc.
References fDelta, flagAngularFactorDa, fR, L_Z(), and sqrt().
Referenced by g_t().
|
private |
Definition at line 187 of file MuonTimeModel.cc.
References fgGamma, flagDecayFactor, fR, and std::pow().
Referenced by g_t().
|
private |
Definition at line 297 of file MuonTimeModel.cc.
References fgM2, fgPk, utl::kSpeedOfLight, and sqrt().
Referenced by e_t().
|
private |
Definition at line 86 of file MuonTimeModel.cc.
References fLogt_e_low, fLogt_e_up, fNLogSteps, fR, and fZeta.
Referenced by MuonTimeModel().
|
private |
|
private |
Definition at line 321 of file MuonTimeModel.cc.
References dNdE(), E(), and std::pow().
|
private |
Definition at line 226 of file MuonTimeModel.cc.
References ErrFC(), fCosTheta, flagUserdNdlogz, fLogE, fLogzDist, fPrimary, GetParametricLogLambda(), GetParametricLogMean(), GetParametricLogSigma(), RdBeamFormer::norm(), sqrt(), utl::TabulatedFunction::XBack(), and utl::TabulatedFunction::Y().
Referenced by dNdz().
double MuonTimeModel::dNdz | ( | const double | z | ) |
|
private |
Definition at line 219 of file MuonTimeModel.cc.
References fR, and utl::kSpeedOfLight.
Referenced by g_t().
|
private |
Definition at line 290 of file MuonTimeModel.cc.
References fgM2, fgPk, utl::kSpeedOfLight, and sqrt().
double MuonTimeModel::e_logt | ( | const double | logt | ) |
Definition at line 340 of file MuonTimeModel.cc.
References e_t(), and std::pow().
Referenced by UpdateModel().
|
private |
Definition at line 329 of file MuonTimeModel.cc.
References dEdt(), dNdE(), E(), fDelta, fzMean, and L_Z().
Referenced by e_logt(), and TotaldNdt().
|
staticprivate |
Definition at line 698 of file MuonTimeModel.cc.
References GammaP().
|
staticprivate |
Definition at line 705 of file MuonTimeModel.cc.
References GammaP(), and GammaQ().
Referenced by dNdlogz().
double MuonTimeModel::g_logt | ( | const double | logt | ) |
Definition at line 278 of file MuonTimeModel.cc.
References g_t(), and std::pow().
Referenced by UpdateModel().
|
private |
Definition at line 267 of file MuonTimeModel.cc.
References cosaDa(), DecayFactor_Z(), dNdz(), dZdt(), fDelta, and Z_t().
Referenced by g_logt(), and TotaldNdt().
|
staticprivate |
|
staticprivate |
|
staticprivate |
Definition at line 613 of file MuonTimeModel.cc.
References RdGeoCeLDFFitter::a, RdGeoCeLDFFitter::b, RdGeoCeLDFFitter::c, kEPS, kFPMIN, kITMAX, and utl::LogGamma().
double MuonTimeModel::GetDeltaTime | ( | ) |
Definition at line 523 of file MuonTimeModel.cc.
References fDelta, and utl::kSpeedOfLight.
void MuonTimeModel::GetFirstAndMeanTime | ( | double & | t_first, |
double & | t_mean, | ||
const int | n = 1 |
||
) |
Definition at line 461 of file MuonTimeModel.cc.
References fDelta, fGRDGeometricalLogtDist, fGRDKinematicalLogtDist, fRandomEngine, utl::RandomEngine::GetEngine(), utl::kSpeedOfLight, std::pow(), and utl::VRandomSampler::shoot().
double MuonTimeModel::GetFirstTime | ( | const int | n = 1 | ) |
Definition at line 409 of file MuonTimeModel.cc.
References fDelta, fGRDGeometricalLogtDist, fGRDKinematicalLogtDist, fRandomEngine, utl::RandomEngine::GetEngine(), utl::kSpeedOfLight, std::pow(), and utl::VRandomSampler::shoot().
Referenced by GetMeanAndRMSOfFirstTime(), and SdSimpleSimKG::SdSimpleSim::Run().
double MuonTimeModel::GetLastTime | ( | const int | n = 1 | ) |
Definition at line 485 of file MuonTimeModel.cc.
References fDelta, fGRDGeometricalLogtDist, fGRDKinematicalLogtDist, fRandomEngine, utl::RandomEngine::GetEngine(), utl::kSpeedOfLight, std::pow(), and utl::VRandomSampler::shoot().
void MuonTimeModel::GetMeanAndRMSOfFirstTime | ( | double & | mean_t1, |
double & | rms_t1, | ||
const int | n = 1 , |
||
const int | stats = 1000 |
||
) |
Definition at line 503 of file MuonTimeModel.cc.
References GetFirstTime(), sqrt(), and stats.
Referenced by TimeModelTestKG::TimeModelTest::Run().
double MuonTimeModel::GetMeanTime | ( | const int | n = 1 | ) |
Definition at line 446 of file MuonTimeModel.cc.
References fDelta, fGRDGeometricalLogtDist, fGRDKinematicalLogtDist, fRandomEngine, utl::RandomEngine::GetEngine(), utl::kSpeedOfLight, std::pow(), and utl::VRandomSampler::shoot().
|
inlineprivate |
Definition at line 123 of file MuonTimeModel.h.
|
inlineprivate |
Definition at line 83 of file MuonTimeModel.h.
Referenced by dNdlogz(), Info(), and MuonTimeModel().
|
inlineprivate |
Definition at line 96 of file MuonTimeModel.h.
double MuonTimeModel::GetTimes | ( | const int | n, |
double *const | at | ||
) |
Definition at line 427 of file MuonTimeModel.cc.
References fDelta, fGRDGeometricalLogtDist, fGRDKinematicalLogtDist, fRandomEngine, utl::RandomEngine::GetEngine(), utl::kSpeedOfLight, std::pow(), and utl::VRandomSampler::shoot().
|
staticprivate |
Definition at line 577 of file MuonTimeModel.cc.
References RdGeoCeLDFFitter::a, kEPS, kITMAX, and utl::LogGamma().
void MuonTimeModel::Info | ( | ) |
Definition at line 107 of file MuonTimeModel.cc.
References utl::deg, fgGamma, fgKappa, fgLambda, fgPk, fgQ, flagAngularFactorDa, flagUserdNdlogz, fLogE, fPrimary, fR, fTheta, fZeta, fzMean, GetParametricLogLambda(), GetParametricLogMean(), and GetParametricLogSigma().
Referenced by TimeModelTestKG::TimeModelTest::Run(), and SdSimpleSimKG::SdSimpleSim::Run().
|
inlineprivate |
void MuonTimeModel::SetCoordinates | ( | const double | r, |
const double | zeta | ||
) |
Definition at line 348 of file MuonTimeModel.cc.
References fDelta, fR, fTheta, fZeta, and UpdateModel().
Referenced by TimeModelTestKG::TimeModelTest::Run(), and SdSimpleSimKG::SdSimpleSim::Run().
void MuonTimeModel::SetCoordinates | ( | const double | r, |
const double | zeta, | ||
const double | delta | ||
) |
Definition at line 359 of file MuonTimeModel.cc.
References fDelta, fR, fZeta, and UpdateModel().
double MuonTimeModel::TotaldNdlogt | ( | const double | logt | ) |
Definition at line 554 of file MuonTimeModel.cc.
References std::pow(), and TotaldNdt().
double MuonTimeModel::TotaldNdt | ( | const double | t | ) |
Definition at line 531 of file MuonTimeModel.cc.
Referenced by TotaldNdlogt().
|
private |
Definition at line 371 of file MuonTimeModel.cc.
References e_logt(), utl::RandomSamplerFromPDF::eLinear, fDelta, fGeometricalLogtDist, fGRDGeometricalLogtDist, fGRDKinematicalLogtDist, fKinematicalLogtDist, fLogt_e_low, fLogt_e_up, fNLogSteps, fR, fzMean, g_logt(), logstep_e, logstep_g, logt_g_low, logt_g_up, utl::TabulatedFunction::PushBack(), and sqrt().
Referenced by SetCoordinates().
|
private |
Definition at line 212 of file MuonTimeModel.cc.
References fR, and utl::kSpeedOfLight.
Referenced by g_t().
|
private |
Definition at line 154 of file MuonTimeModel.h.
Referenced by dNdlogz(), and MuonTimeModel().
|
private |
Definition at line 160 of file MuonTimeModel.h.
Referenced by cosaDa(), e_t(), g_t(), GetDeltaTime(), GetFirstAndMeanTime(), GetFirstTime(), GetLastTime(), GetMeanTime(), GetTimes(), SetCoordinates(), and UpdateModel().
|
private |
Definition at line 170 of file MuonTimeModel.h.
Referenced by UpdateModel(), and ~MuonTimeModel().
|
staticprivate |
Definition at line 150 of file MuonTimeModel.h.
Referenced by DecayFactor_Z(), dNdE(), and Info().
|
staticprivate |
Definition at line 147 of file MuonTimeModel.h.
|
staticprivate |
Definition at line 148 of file MuonTimeModel.h.
|
staticprivate |
Definition at line 145 of file MuonTimeModel.h.
|
staticprivate |
|
staticprivate |
Definition at line 149 of file MuonTimeModel.h.
|
private |
Definition at line 167 of file MuonTimeModel.h.
Referenced by GetFirstAndMeanTime(), GetFirstTime(), GetLastTime(), GetMeanTime(), GetTimes(), UpdateModel(), and ~MuonTimeModel().
|
private |
Definition at line 168 of file MuonTimeModel.h.
Referenced by GetFirstAndMeanTime(), GetFirstTime(), GetLastTime(), GetMeanTime(), GetTimes(), UpdateModel(), and ~MuonTimeModel().
|
private |
Definition at line 171 of file MuonTimeModel.h.
Referenced by UpdateModel(), and ~MuonTimeModel().
|
private |
Definition at line 164 of file MuonTimeModel.h.
|
private |
Definition at line 165 of file MuonTimeModel.h.
Referenced by DecayFactor_Z().
|
private |
Definition at line 143 of file MuonTimeModel.h.
Referenced by dNdlogz(), Info(), and MuonTimeModel().
|
private |
Definition at line 155 of file MuonTimeModel.h.
Referenced by dNdlogz(), Info(), and MuonTimeModel().
|
private |
Definition at line 179 of file MuonTimeModel.h.
Referenced by DefaultSettings(), and UpdateModel().
|
private |
Definition at line 178 of file MuonTimeModel.h.
Referenced by DefaultSettings(), and UpdateModel().
|
private |
Definition at line 172 of file MuonTimeModel.h.
Referenced by dNdlogz(), MuonTimeModel(), and ~MuonTimeModel().
|
private |
Definition at line 144 of file MuonTimeModel.h.
Referenced by DefaultSettings(), and UpdateModel().
|
private |
Definition at line 156 of file MuonTimeModel.h.
Referenced by dNdlogz(), Info(), and MuonTimeModel().
|
private |
Definition at line 161 of file MuonTimeModel.h.
Referenced by cosaDa(), DecayFactor_Z(), DefaultSettings(), dNdE(), dZdt(), Info(), L_Z(), SetCoordinates(), UpdateModel(), and Z_t().
|
private |
Definition at line 141 of file MuonTimeModel.h.
Referenced by GetFirstAndMeanTime(), GetFirstTime(), GetLastTime(), GetMeanTime(), and GetTimes().
|
private |
Definition at line 153 of file MuonTimeModel.h.
Referenced by Info(), and SetCoordinates().
|
private |
Definition at line 162 of file MuonTimeModel.h.
Referenced by DefaultSettings(), Info(), and SetCoordinates().
|
private |
Definition at line 158 of file MuonTimeModel.h.
Referenced by e_t(), Info(), MuonTimeModel(), and UpdateModel().
|
private |
Definition at line 175 of file MuonTimeModel.h.
Referenced by UpdateModel().
|
private |
Definition at line 174 of file MuonTimeModel.h.
Referenced by UpdateModel().
|
private |
Definition at line 177 of file MuonTimeModel.h.
Referenced by UpdateModel().
|
private |
Definition at line 176 of file MuonTimeModel.h.
Referenced by UpdateModel().