List of all members | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
utl::MuonTimeModel Class Reference

#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::TabulatedFunctionfGeometricalLogtDist
 
utl::VRandomSamplerfGRDGeometricalLogtDist
 
utl::VRandomSamplerfGRDKinematicalLogtDist
 
utl::TabulatedFunctionfKinematicalLogtDist
 
bool flagAngularFactorDa
 
bool flagDecayFactor
 
bool flagUserdNdlogz
 
double fLogE
 
double fLogt_e_low
 
double fLogt_e_up
 
utl::TabulatedFunctionfLogzDist
 
int fNLogSteps
 
int fPrimary
 
double fR
 
utl::RandomEnginefRandomEngine
 
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
 

Detailed Description

Definition at line 16 of file MuonTimeModel.h.

Constructor & Destructor Documentation

MuonTimeModel::MuonTimeModel ( utl::RandomEngine randomEngine,
const double  theta = 0,
const double  logE = 19,
const int  primary = 1,
const bool  flagAngularFactorDa_in = true 
)
MuonTimeModel::MuonTimeModel ( utl::RandomEngine randomEngine,
const double  theta,
const utl::TabulatedFunction LogzDist,
const bool  flagAngularFactorDa_in = true,
const bool  flagDecayFactor_in = true 
)
MuonTimeModel::~MuonTimeModel ( )

Member Function Documentation

double MuonTimeModel::cosaDa ( double  z)
private

Definition at line 198 of file MuonTimeModel.cc.

References fDelta, flagAngularFactorDa, fR, L_Z(), and sqrt().

Referenced by g_t().

double MuonTimeModel::DecayFactor_Z ( double  Z)
private

Definition at line 187 of file MuonTimeModel.cc.

References fgGamma, flagDecayFactor, fR, and std::pow().

Referenced by g_t().

double MuonTimeModel::dEdt ( double  t,
double  x 
)
private

Definition at line 297 of file MuonTimeModel.cc.

References fgM2, fgPk, utl::kSpeedOfLight, and sqrt().

Referenced by e_t().

void MuonTimeModel::DefaultSettings ( )
private

Definition at line 86 of file MuonTimeModel.cc.

References fLogt_e_low, fLogt_e_up, fNLogSteps, fR, and fZeta.

Referenced by MuonTimeModel().

double MuonTimeModel::dNdE ( double  E,
double  x 
)
private

Definition at line 308 of file MuonTimeModel.cc.

References fgGamma, fgKappa, fgLambda, fgPk, fgQ, fR, and std::pow().

Referenced by dNdlogE(), and e_t().

double MuonTimeModel::dNdlogE ( double  logE,
double  x 
)
private

Definition at line 321 of file MuonTimeModel.cc.

References dNdE(), E(), and std::pow().

double MuonTimeModel::dNdlogz ( double  logz)
private
double MuonTimeModel::dNdz ( const double  z)

Definition at line 258 of file MuonTimeModel.cc.

References dNdlogz().

Referenced by g_t().

double MuonTimeModel::dZdt ( double  t)
private

Definition at line 219 of file MuonTimeModel.cc.

References fR, and utl::kSpeedOfLight.

Referenced by g_t().

double MuonTimeModel::E ( double  t,
double  x 
)
private

Definition at line 290 of file MuonTimeModel.cc.

References fgM2, fgPk, utl::kSpeedOfLight, and sqrt().

Referenced by dNdlogE(), and e_t().

double MuonTimeModel::e_logt ( const double  logt)

Definition at line 340 of file MuonTimeModel.cc.

References e_t(), and std::pow().

Referenced by UpdateModel().

double MuonTimeModel::e_t ( double  t)
private

Definition at line 329 of file MuonTimeModel.cc.

References dEdt(), dNdE(), E(), fDelta, fzMean, and L_Z().

Referenced by e_logt(), and TotaldNdt().

double MuonTimeModel::ErrF ( const double  x)
staticprivate

Definition at line 698 of file MuonTimeModel.cc.

References GammaP().

double MuonTimeModel::ErrFC ( const double  x)
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().

double MuonTimeModel::g_t ( double  t)
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().

double MuonTimeModel::GammaP ( const double  a,
const double  x 
)
staticprivate

Definition at line 654 of file MuonTimeModel.cc.

References utl::g, gcf(), and gser().

Referenced by ErrF(), and ErrFC().

double MuonTimeModel::GammaQ ( const double  a,
const double  x 
)
staticprivate

Definition at line 680 of file MuonTimeModel.cc.

References utl::g, gcf(), and gser().

Referenced by ErrFC().

void MuonTimeModel::gcf ( double &  gammcf,
const double  a,
const double  x,
double &  gln 
)
staticprivate

Definition at line 613 of file MuonTimeModel.cc.

References RdGeoCeLDFFitter::a, RdGeoCeLDFFitter::b, RdGeoCeLDFFitter::c, kEPS, kFPMIN, kITMAX, and utl::LogGamma().

Referenced by GammaP(), and GammaQ().

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 
)
double MuonTimeModel::GetFirstTime ( const int  n = 1)
double MuonTimeModel::GetLastTime ( const int  n = 1)
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)
double utl::MuonTimeModel::GetParametricLogLambda ( const double  cosTheta,
const double  ,
const int   
) const
inlineprivate

Definition at line 123 of file MuonTimeModel.h.

Referenced by dNdlogz(), and Info().

double utl::MuonTimeModel::GetParametricLogMean ( const double  cosTheta,
const double  ,
const int   
) const
inlineprivate

Definition at line 83 of file MuonTimeModel.h.

Referenced by dNdlogz(), Info(), and MuonTimeModel().

double utl::MuonTimeModel::GetParametricLogSigma ( const double  cosTheta,
const double  ,
const int   
) const
inlineprivate

Definition at line 96 of file MuonTimeModel.h.

Referenced by dNdlogz(), and Info().

double MuonTimeModel::GetTimes ( const int  n,
double *const  at 
)
void MuonTimeModel::gser ( double &  gamser,
const double  a,
const double  x,
double &  gln 
)
staticprivate

Definition at line 577 of file MuonTimeModel.cc.

References RdGeoCeLDFFitter::a, kEPS, kITMAX, and utl::LogGamma().

Referenced by GammaP(), and GammaQ().

void MuonTimeModel::Info ( )
double utl::MuonTimeModel::L_Z ( const double  z) const
inlineprivate

Definition at line 58 of file MuonTimeModel.h.

References fR, and sqrt().

Referenced by cosaDa(), and e_t().

void MuonTimeModel::SetCoordinates ( const double  r,
const double  zeta 
)
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.

References e_t(), and g_t().

Referenced by TotaldNdlogt().

void MuonTimeModel::UpdateModel ( )
private
double MuonTimeModel::Z_t ( double  t)
private

Definition at line 212 of file MuonTimeModel.cc.

References fR, and utl::kSpeedOfLight.

Referenced by g_t().

Member Data Documentation

double utl::MuonTimeModel::fCosTheta
private

Definition at line 154 of file MuonTimeModel.h.

Referenced by dNdlogz(), and MuonTimeModel().

double utl::MuonTimeModel::fDelta
private
utl::TabulatedFunction* utl::MuonTimeModel::fGeometricalLogtDist
private

Definition at line 170 of file MuonTimeModel.h.

Referenced by UpdateModel(), and ~MuonTimeModel().

const double MuonTimeModel::fgGamma = 2.6
staticprivate

Definition at line 150 of file MuonTimeModel.h.

Referenced by DecayFactor_Z(), dNdE(), and Info().

const double MuonTimeModel::fgKappa = 0.8
staticprivate

Definition at line 147 of file MuonTimeModel.h.

Referenced by dNdE(), and Info().

const double MuonTimeModel::fgLambda = 1
staticprivate

Definition at line 148 of file MuonTimeModel.h.

Referenced by dNdE(), and Info().

const double MuonTimeModel::fgM2 = 0.011
staticprivate

Definition at line 145 of file MuonTimeModel.h.

Referenced by dEdt(), and E().

const double MuonTimeModel::fgPk = 0.0002
staticprivate

Definition at line 146 of file MuonTimeModel.h.

Referenced by dEdt(), dNdE(), E(), and Info().

const double MuonTimeModel::fgQ = 0.17
staticprivate

Definition at line 149 of file MuonTimeModel.h.

Referenced by dNdE(), and Info().

utl::VRandomSampler* utl::MuonTimeModel::fGRDGeometricalLogtDist
private
utl::VRandomSampler* utl::MuonTimeModel::fGRDKinematicalLogtDist
private
utl::TabulatedFunction* utl::MuonTimeModel::fKinematicalLogtDist
private

Definition at line 171 of file MuonTimeModel.h.

Referenced by UpdateModel(), and ~MuonTimeModel().

bool utl::MuonTimeModel::flagAngularFactorDa
private

Definition at line 164 of file MuonTimeModel.h.

Referenced by cosaDa(), and Info().

bool utl::MuonTimeModel::flagDecayFactor
private

Definition at line 165 of file MuonTimeModel.h.

Referenced by DecayFactor_Z().

bool utl::MuonTimeModel::flagUserdNdlogz
private

Definition at line 143 of file MuonTimeModel.h.

Referenced by dNdlogz(), Info(), and MuonTimeModel().

double utl::MuonTimeModel::fLogE
private

Definition at line 155 of file MuonTimeModel.h.

Referenced by dNdlogz(), Info(), and MuonTimeModel().

double utl::MuonTimeModel::fLogt_e_low
private

Definition at line 179 of file MuonTimeModel.h.

Referenced by DefaultSettings(), and UpdateModel().

double utl::MuonTimeModel::fLogt_e_up
private

Definition at line 178 of file MuonTimeModel.h.

Referenced by DefaultSettings(), and UpdateModel().

utl::TabulatedFunction* utl::MuonTimeModel::fLogzDist
private

Definition at line 172 of file MuonTimeModel.h.

Referenced by dNdlogz(), MuonTimeModel(), and ~MuonTimeModel().

int utl::MuonTimeModel::fNLogSteps
private

Definition at line 144 of file MuonTimeModel.h.

Referenced by DefaultSettings(), and UpdateModel().

int utl::MuonTimeModel::fPrimary
private

Definition at line 156 of file MuonTimeModel.h.

Referenced by dNdlogz(), Info(), and MuonTimeModel().

double utl::MuonTimeModel::fR
private
utl::RandomEngine& utl::MuonTimeModel::fRandomEngine
private
double utl::MuonTimeModel::fTheta
private

Definition at line 153 of file MuonTimeModel.h.

Referenced by Info(), and SetCoordinates().

double utl::MuonTimeModel::fZeta
private

Definition at line 162 of file MuonTimeModel.h.

Referenced by DefaultSettings(), Info(), and SetCoordinates().

double utl::MuonTimeModel::fzMean
private

Definition at line 158 of file MuonTimeModel.h.

Referenced by e_t(), Info(), MuonTimeModel(), and UpdateModel().

double utl::MuonTimeModel::logstep_e
private

Definition at line 175 of file MuonTimeModel.h.

Referenced by UpdateModel().

double utl::MuonTimeModel::logstep_g
private

Definition at line 174 of file MuonTimeModel.h.

Referenced by UpdateModel().

double utl::MuonTimeModel::logt_g_low
private

Definition at line 177 of file MuonTimeModel.h.

Referenced by UpdateModel().

double utl::MuonTimeModel::logt_g_up
private

Definition at line 176 of file MuonTimeModel.h.

Referenced by UpdateModel().


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.