List of all members | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
TimeModel Class Reference

#include <TimeModel.h>

Public Member Functions

double Eval_e_t (double t)
 
double fe_logt (double *logt, double *r)
 
double fg_logt (double *logt, double *r)
 
double ftMe_logt (double *logt, double *r)
 
double ftMg_logt (double *logt, double *r)
 
double fTotaldNdlogt (double *logt, double *r)
 
double function (double logt, double level)
 
TProfile * Get_dNdX (float zMin, float zMax, int nBin, double cosTheta, double HeightObs)
 
TProfile * Get_dNdX_FromProfile (double cosTheta, double HeightObs)
 
TProfile * Get_dNdz (float zMin, float zMax, int nBin)
 
TProfile * Get_dNdz_FromProfile ()
 
double get_function_zero (double level)
 
double Get_tM_e_t (double MomentumNumber_in)
 
double Get_tM_e_t (double MomentumNumber_in, double z)
 
double Get_tM_g_t (double MomentumNumber_in)
 
double GetDeltaTime ()
 
void GetFirstAndMeanTime (double &t_first, double &t_mean, int N=1)
 
double GetFirstTime (int N=1)
 
double GetLastTime (int N=1)
 
void GetMeanAndRMSOfFirstTime (double &mean_t1, double &RMS_t1, int N=1, int stats=1000)
 
double GetMeanTime (int N=1)
 
double GetMomentumNumber ()
 
double GetRiseTime (double down=0.1, double up=0.5)
 
double GetTimes (int N, double *at)
 
void Info (void)
 
double SetCoordinates (double r, double psi)
 
void SetMomentumNumber (double MomentumNumber_in)
 
 TimeModel (double angle_in, int primary, int Da_flag_in=1)
 
 TimeModel (double angle_in, const utl::TabulatedFunction &MuonProfile, double Xobs, evt::ShowerSimData::ProfileType profType, int Da_flag_in=1)
 
double TotaldNdt (double t, double r, double Delta, double n)
 
 ~TimeModel ()
 

Public Attributes

TF1 * Fe_logt
 
TF1 * Fg_logt
 
TF1 * FtMe_logt
 
TF1 * FtMg_logt
 
TF1 * FTotaldNdlogt
 

Private Member Functions

void ConvertProductionHeightDistribution (double thetadeg, const utl::TabulatedFunction &MuonProdProfile, double Xobs)
 
double cosaDa (double z, double r, double Delta)
 
double dEdt (double t, double x)
 
double dNdE (double E, double x, double r)
 
double dNdlogE (double logE, double x, double r)
 
double dNdlogz (double logz)
 
double dNdz (double z)
 
double dzdt (double t, double r)
 
double E (double t, double x)
 
double e_t (double t, double r, double z, double n)
 
double fdNdlogE (double *logE, double *p)
 
double fe_t (double *t, double *r)
 
double fg_t (double *t, double *r)
 
double g_t (double t, double r, double Delta, double n)
 
double L_t (double z, double r)
 
void MakeProductionHeightDistribution (double thetadeg, const utl::TabulatedFunction &MuonProfile, double XobsVertical)
 
void MakeProductionHeightParameters (double thetadeg, int primary)
 dN/dlnz parametrisation More...
 
double z_t (double t, double r)
 

Private Attributes

double angle
 
double c
 
int Da_flag
 
double Delta
 
utl::TabulatedFunctionfMuonProductionHeightDistribution
 
bool fProductionHeightFromProfile
 
double fZmax
 
double fZmin
 
double gam
 
double int_e
 
double int_g
 
double kappa
 
double lambda
 
double logLambda
 
double logMean
 
double logSigma
 
double logt_e_up
 
double logt_g_low
 
double logt_g_up
 
double m
 
double m2
 
double MomentumNumber
 
double pk
 
double ptc
 
double zMean
 

Detailed Description

Definition at line 19 of file TimeModel.h.

Constructor & Destructor Documentation

TimeModel::TimeModel ( double  angle_in,
int  primary,
int  Da_flag_in = 1 
)
TimeModel::TimeModel ( double  angle_in,
const utl::TabulatedFunction MuonProfile,
double  Xobs,
evt::ShowerSimData::ProfileType  profType,
int  Da_flag_in = 1 
)
TimeModel::~TimeModel ( )

Member Function Documentation

void TimeModel::ConvertProductionHeightDistribution ( double  thetadeg,
const utl::TabulatedFunction MuonProdProfile,
double  Xobs 
)
private
double TimeModel::cosaDa ( double  z,
double  r,
double  Delta 
)
private

Definition at line 573 of file TimeModel.cc.

References Da_flag, L_t(), and sqrt().

Referenced by g_t().

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

Definition at line 807 of file TimeModel.cc.

References c, m2, pk, and sqrt().

Referenced by e_t().

double TimeModel::dNdE ( double  E,
double  x,
double  r 
)
private

Definition at line 812 of file TimeModel.cc.

References gam, kappa, lambda, pk, std::pow(), and ptc.

Referenced by dNdlogE(), and e_t().

double TimeModel::dNdlogE ( double  logE,
double  x,
double  r 
)
private

Definition at line 818 of file TimeModel.cc.

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

Referenced by fdNdlogE().

double TimeModel::dNdlogz ( double  logz)
private

Definition at line 723 of file TimeModel.cc.

References logLambda, logMean, logSigma, RdBeamFormer::norm(), and sqrt().

Referenced by dNdz().

double TimeModel::dNdz ( double  z)
private
double TimeModel::dzdt ( double  t,
double  r 
)
private

Definition at line 593 of file TimeModel.cc.

References c.

Referenced by g_t().

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

Definition at line 803 of file TimeModel.cc.

References c, m2, pk, and sqrt().

Referenced by dNdlogE(), and e_t().

double TimeModel::e_t ( double  t,
double  r,
double  z,
double  n 
)
private

Definition at line 829 of file TimeModel.cc.

References dEdt(), dNdE(), E(), and sqrt().

Referenced by Eval_e_t(), fe_logt(), fe_t(), ftMe_logt(), and TotaldNdt().

double TimeModel::Eval_e_t ( double  t)

Definition at line 1020 of file TimeModel.cc.

References Delta, e_t(), Fe_logt, gThisTimeModel, and zMean.

double TimeModel::fdNdlogE ( double *  logE,
double *  p 
)
private

Definition at line 824 of file TimeModel.cc.

References dNdlogE().

double TimeModel::fe_logt ( double *  logt,
double *  r 
)

Definition at line 847 of file TimeModel.cc.

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

Referenced by LinkTofe_logt().

double TimeModel::fe_t ( double *  t,
double *  r 
)
private

Definition at line 841 of file TimeModel.cc.

References e_t().

double TimeModel::fg_logt ( double *  logt,
double *  r 
)

Definition at line 790 of file TimeModel.cc.

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

Referenced by LinkTofg_logt().

double TimeModel::fg_t ( double *  t,
double *  r 
)
private

Definition at line 785 of file TimeModel.cc.

References g_t().

double TimeModel::ftMe_logt ( double *  logt,
double *  r 
)

Definition at line 852 of file TimeModel.cc.

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

Referenced by LinkToftMe_logt().

double TimeModel::ftMg_logt ( double *  logt,
double *  r 
)

Definition at line 796 of file TimeModel.cc.

References g_t(), MomentumNumber, and std::pow().

Referenced by LinkToftMg_logt().

double TimeModel::fTotaldNdlogt ( double *  logt,
double *  r 
)

Definition at line 1077 of file TimeModel.cc.

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

Referenced by LinkTofTotaldNdlogt().

double TimeModel::function ( double  logt,
double  level 
)

Definition at line 1084 of file TimeModel.cc.

References FTotaldNdlogt, int_e, int_g, and logt_g_low.

double TimeModel::g_t ( double  t,
double  r,
double  Delta,
double  n 
)
private

Definition at line 775 of file TimeModel.cc.

References cosaDa(), dNdz(), dzdt(), and z_t().

Referenced by fg_logt(), fg_t(), ftMg_logt(), and TotaldNdt().

TProfile * TimeModel::Get_dNdX ( float  zMin,
float  zMax,
int  nBin,
double  cosTheta,
double  HeightObs 
)
TProfile * TimeModel::Get_dNdX_FromProfile ( double  cosTheta,
double  HeightObs 
)
TProfile * TimeModel::Get_dNdz ( float  zMin,
float  zMax,
int  nBin 
)

Definition at line 601 of file TimeModel.cc.

References dNdz().

TProfile * TimeModel::Get_dNdz_FromProfile ( )
double TimeModel::get_function_zero ( double  level)

Definition at line 1099 of file TimeModel.cc.

References logt_g_low, logt_g_up, std::pow(), and precision.

Referenced by GetRiseTime().

double TimeModel::Get_tM_e_t ( double  MomentumNumber_in)

Definition at line 1034 of file TimeModel.cc.

References FtMe_logt, gThisTimeModel, int_e, logt_e_up, and MomentumNumber.

double TimeModel::Get_tM_e_t ( double  MomentumNumber_in,
double  z 
)

Definition at line 1042 of file TimeModel.cc.

References Delta, Fe_logt, FtMe_logt, gThisTimeModel, int_e, logt_e_up, and MomentumNumber.

double TimeModel::Get_tM_g_t ( double  MomentumNumber_in)

Definition at line 1026 of file TimeModel.cc.

References FtMg_logt, gThisTimeModel, int_g, logt_g_low, logt_g_up, and MomentumNumber.

double TimeModel::GetDeltaTime ( )

Definition at line 1015 of file TimeModel.cc.

References c, Delta, and gThisTimeModel.

void TimeModel::GetFirstAndMeanTime ( double &  t_first,
double &  t_mean,
int  N = 1 
)

Definition at line 970 of file TimeModel.cc.

References c, Delta, Fe_logt, Fg_logt, gThisTimeModel, and std::pow().

double TimeModel::GetFirstTime ( int  N = 1)

Definition at line 928 of file TimeModel.cc.

References c, Delta, Fe_logt, Fg_logt, gThisTimeModel, and std::pow().

Referenced by GetMeanAndRMSOfFirstTime().

double TimeModel::GetLastTime ( int  N = 1)

Definition at line 986 of file TimeModel.cc.

References c, Delta, Fe_logt, Fg_logt, gThisTimeModel, and std::pow().

void TimeModel::GetMeanAndRMSOfFirstTime ( double &  mean_t1,
double &  RMS_t1,
int  N = 1,
int  stats = 1000 
)

Definition at line 999 of file TimeModel.cc.

References GetFirstTime(), gThisTimeModel, sqrt(), and stats.

double TimeModel::GetMeanTime ( int  N = 1)

Definition at line 958 of file TimeModel.cc.

References c, Delta, Fe_logt, Fg_logt, gThisTimeModel, and std::pow().

double TimeModel::GetMomentumNumber ( )

Definition at line 923 of file TimeModel.cc.

References MomentumNumber.

double TimeModel::GetRiseTime ( double  down = 0.1,
double  up = 0.5 
)

Definition at line 1138 of file TimeModel.cc.

References get_function_zero().

double TimeModel::GetTimes ( int  N,
double *  at 
)

Definition at line 942 of file TimeModel.cc.

References c, Delta, Fe_logt, Fg_logt, gThisTimeModel, and std::pow().

void TimeModel::Info ( void  )

Definition at line 186 of file TimeModel.cc.

References angle, Da_flag, gam, gThisTimeModel, kappa, lambda, logLambda, logMean, logSigma, pk, and ptc.

double TimeModel::L_t ( double  z,
double  r 
)
private

Definition at line 567 of file TimeModel.cc.

References sqrt().

Referenced by cosaDa().

void TimeModel::MakeProductionHeightDistribution ( double  thetadeg,
const utl::TabulatedFunction MuonProfile,
double  XobsVertical 
)
private
void TimeModel::MakeProductionHeightParameters ( double  thetadeg,
int  primary 
)
private

dN/dlnz parametrisation

taken from L. Cazons thesis. Production Height parametrisations for

Photon (0) Protons (1) Iron (2)

at log(E/eV) = 19.0

Definition at line 243 of file TimeModel.cc.

References c, logLambda, logMean, and logSigma.

Referenced by TimeModel().

double TimeModel::SetCoordinates ( double  r,
double  psi 
)
void TimeModel::SetMomentumNumber ( double  MomentumNumber_in)

Definition at line 918 of file TimeModel.cc.

References MomentumNumber.

double TimeModel::TotaldNdt ( double  t,
double  r,
double  Delta,
double  n 
)

Definition at line 1053 of file TimeModel.cc.

References e_t(), g_t(), and zMean.

Referenced by fTotaldNdlogt().

double TimeModel::z_t ( double  t,
double  r 
)
private

Definition at line 588 of file TimeModel.cc.

References c.

Referenced by g_t().

Member Data Documentation

double TimeModel::angle
private

Definition at line 67 of file TimeModel.h.

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

double TimeModel::c
private
int TimeModel::Da_flag
private

Definition at line 79 of file TimeModel.h.

Referenced by cosaDa(), Info(), and TimeModel().

double TimeModel::Delta
private
TF1* TimeModel::Fe_logt
TF1* TimeModel::Fg_logt
utl::TabulatedFunction* TimeModel::fMuonProductionHeightDistribution
private
bool TimeModel::fProductionHeightFromProfile
private

Definition at line 49 of file TimeModel.h.

Referenced by dNdz(), and TimeModel().

TF1* TimeModel::FtMe_logt

Definition at line 116 of file TimeModel.h.

Referenced by Get_tM_e_t(), SetCoordinates(), TimeModel(), and ~TimeModel().

TF1* TimeModel::FtMg_logt

Definition at line 118 of file TimeModel.h.

Referenced by Get_tM_g_t(), SetCoordinates(), TimeModel(), and ~TimeModel().

TF1* TimeModel::FTotaldNdlogt

Definition at line 119 of file TimeModel.h.

Referenced by function(), SetCoordinates(), TimeModel(), and ~TimeModel().

double TimeModel::fZmax
private
double TimeModel::fZmin
private
double TimeModel::gam
private

Definition at line 60 of file TimeModel.h.

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

double TimeModel::int_e
private

Definition at line 76 of file TimeModel.h.

Referenced by function(), Get_tM_e_t(), and SetCoordinates().

double TimeModel::int_g
private

Definition at line 77 of file TimeModel.h.

Referenced by function(), Get_tM_g_t(), and SetCoordinates().

double TimeModel::kappa
private

Definition at line 57 of file TimeModel.h.

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

double TimeModel::lambda
private

Definition at line 58 of file TimeModel.h.

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

double TimeModel::logLambda
private

Definition at line 66 of file TimeModel.h.

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

double TimeModel::logMean
private
double TimeModel::logSigma
private

Definition at line 65 of file TimeModel.h.

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

double TimeModel::logt_e_up
private

Definition at line 62 of file TimeModel.h.

Referenced by Get_tM_e_t(), SetCoordinates(), and TimeModel().

double TimeModel::logt_g_low
private

Definition at line 71 of file TimeModel.h.

Referenced by function(), get_function_zero(), Get_tM_g_t(), and SetCoordinates().

double TimeModel::logt_g_up
private

Definition at line 70 of file TimeModel.h.

Referenced by get_function_zero(), Get_tM_g_t(), and SetCoordinates().

double TimeModel::m
private

Definition at line 54 of file TimeModel.h.

Referenced by TimeModel().

double TimeModel::m2
private

Definition at line 55 of file TimeModel.h.

Referenced by dEdt(), E(), and TimeModel().

double TimeModel::MomentumNumber
private
double TimeModel::pk
private

Definition at line 56 of file TimeModel.h.

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

double TimeModel::ptc
private

Definition at line 59 of file TimeModel.h.

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

double TimeModel::zMean
private

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

, generated on Tue Sep 26 2023.