24 #ifndef GFMATERIALEFFECTS_H
25 #define GFMATERIALEFFECTS_H
68 double effects(
const std::vector<TVector3>& points,
69 const std::vector<double>& pointPaths,
72 const bool& doNoise =
false,
73 TMatrixT<Double_t>* noise = NULL,
74 const TMatrixT<Double_t>* jacobian = NULL,
75 const TVector3* directionBefore = NULL,
76 const TVector3* directionAfter = NULL);
81 double stepper(
const double& maxDist,
95 return stepper(maxDist, pos.X(),pos.Y(),pos.Z(),dir.X(),dir.Y(),dir.Z(),mom,
pdg);};
125 TMatrixT<double>* noise)
const;
318 TMatrixT<double>* noise,
319 const TMatrixT<double>* jacobian,
320 const TVector3* directionBefore,
321 const TVector3* directionAfter)
const;
335 TMatrixT<double>* noise)
const;
static GFMaterialEffects * getInstance()
void noiseBrems(const double &mom, TMatrixT< double > *noise) const
calculation of energy loss straggeling
void noiseCoulomb(const double &mom, TMatrixT< double > *noise, const TMatrixT< double > *jacobian, const TVector3 *directionBefore, const TVector3 *directionAfter) const
calculation of multiple scattering
void setNoiseBrems(bool opt=true)
virtual ~GFMaterialEffects()
void setNoiseBetheBloch(bool opt=true)
double energyLossBrems(const double &mom) const
Returns energy loss.
void noiseBetheBloch(const double &mom, TMatrixT< double > *noise) const
calculation of energy loss straggling
void setEnergyLossBrems(bool opt=true)
double stepper(const double &maxDist, const TVector3 &pos, const TVector3 &dir, const double &mom, const int &pdg)
void setNoiseCoulomb(bool opt=true)
double MeanExcEnergy_get(int Z)
void setEnergyLossBetheBloch(bool opt=true)
static GFMaterialEffects * finstance
void calcBeta(double mom)
sets fbeta, fgamma, fgammasquare; must only be used after calling getParameters() ...
double effects(const std::vector< TVector3 > &points, const std::vector< double > &pointPaths, const double &mom, const int &pdg, const bool &doNoise=false, TMatrixT< Double_t > *noise=NULL, const TMatrixT< Double_t > *jacobian=NULL, const TVector3 *directionBefore=NULL, const TVector3 *directionAfter=NULL)
Calculates energy loss in the travelled path, optional calculation of noise matrix.
bool fEnergyLossBetheBloch
void getParameters()
contains energy loss classes
double energyLossBetheBloch(const double &mom)
Returns energy loss.
double stepper(const double &maxDist, const double &posx, const double &posy, const double &posz, const double &dirx, const double &diry, const double &dirz, const double &mom, const int &pdg)
Returns maximum length so that a specified momentum loss will not be exceeded.