24 #ifndef GFMATERIALEFFECTS_H 25 #define GFMATERIALEFFECTS_H 33 #include "TDatabasePDG.h" 34 #include "TGeoMaterial.h" 35 #include "TGeoManager.h" 76 double effects(
const std::vector<TVector3>& points,
77 const std::vector<double>& pointPaths,
80 const bool& doNoise =
false,
81 TMatrixT<Double_t>*
noise = NULL,
82 const TMatrixT<Double_t>* jacobian = NULL,
83 const TVector3* directionBefore = NULL,
84 const TVector3* directionAfter = NULL);
89 double stepper(
const double& maxDist,
103 return stepper(maxDist, pos.X(),pos.Y(),pos.Z(),dir.X(),dir.Y(),dir.Z(),mom,pdg);};
133 TMatrixT<double>*
noise)
const;
326 TMatrixT<double>* noise,
327 const TMatrixT<double>* jacobian,
328 const TVector3* directionBefore,
329 const TVector3* directionAfter)
const;
343 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)
Generic Interface to magnetic fields in GENFIT.
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.