24 #ifndef GFMATERIALEFFECTS_H 25 #define GFMATERIALEFFECTS_H 65 double effects(
const std::vector<TVector3> &points,
const std::vector<double> &pointPaths,
const double &mom,
const int &pdg,
const bool &doNoise =
false,
66 TMatrixT<double> *noise =
nullptr,
const TMatrixT<double> *jacobian =
nullptr,
const TVector3 *directionBefore =
nullptr,
67 const TVector3 *directionAfter =
nullptr);
72 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,
75 double stepper(
const double &maxDist,
const TVector3 &pos,
const TVector3 &dir,
const double &mom,
const int &pdg)
77 return stepper(maxDist, pos.X(), pos.Y(), pos.Z(), dir.X(), dir.Y(), dir.Z(), mom, pdg);
85 void calcBeta(
double mom);
93 double energyLossBetheBloch(
const double &mom);
104 void noiseBetheBloch(
const double &mom, TMatrixT<double> *noise)
const;
296 void noiseCoulomb(
const double &mom, TMatrixT<double> *noise,
const TMatrixT<double> *jacobian,
const TVector3 *directionBefore,
const TVector3 *directionAfter)
const;
303 double energyLossBrems(
const double &mom)
const;
309 void noiseBrems(
const double &mom, TMatrixT<double> *noise)
const;
311 bool fEnergyLossBetheBloch;
312 bool fNoiseBetheBloch;
314 bool fEnergyLossBrems;
330 double fradiationLength;
void setNoiseBrems(bool opt=true)
Contains stepper and energy loss/noise matrix calculation.
void setNoiseCoulomb(bool opt=true)
void setEnergyLossBrems(bool opt=true)
static GFMaterialEffects * getInstance()
void setEnergyLossBetheBloch(bool opt=true)
void setNoiseBetheBloch(bool opt=true)
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.
double stepper(const double &maxDist, const TVector3 &pos, const TVector3 &dir, const double &mom, const int &pdg)
double effects(const std::vector< TVector3 > &points, const std::vector< double > &pointPaths, const double &mom, const int &pdg, const bool &doNoise=false, TMatrixT< double > *noise=nullptr, const TMatrixT< double > *jacobian=nullptr, const TVector3 *directionBefore=nullptr, const TVector3 *directionAfter=nullptr)
Calculates energy loss in the travelled path, optional calculation of noise matrix.