24 #ifndef GFMATERIALEFFECTS_H 
   25 #define GFMATERIALEFFECTS_H 
   66   double effects(
const std::vector<TVector3>& points, 
 
   67                  const std::vector<double>& pointPaths, 
 
   70                  const bool& doNoise = 
false,
 
   71                        TMatrixT<double>* 
noise = NULL,
 
   72                  const TMatrixT<double>* jacobian = NULL,
 
   73                  const TVector3* directionBefore = NULL, 
 
   74                  const TVector3* directionAfter = NULL);
 
   79   double stepper(
const double& maxDist,
 
   94     return stepper(maxDist, pos.X(),pos.Y(),pos.Z(),dir.X(),dir.Y(),dir.Z(),
mom,pdg);
 
  122                              TMatrixT<double>* 
noise) 
const;
 
  315                           TMatrixT<double>* 
noise,
 
  316                     const TMatrixT<double>* jacobian,
 
  317                     const TVector3* directionBefore,
 
  318                     const TVector3* directionAfter) 
const;
 
  332                         TMatrixT<double>* 
noise) 
const;
 
void setNoiseBrems(bool opt=true)
void noiseCoulomb(const double &mom, TMatrixT< double > *noise, const TMatrixT< double > *jacobian, const TVector3 *directionBefore, const TVector3 *directionAfter) const 
calculation of multiple scattering 
void noiseBrems(const double &mom, TMatrixT< double > *noise) const 
calculation of energy loss straggeling 
void calcBeta(double mom)
sets fbeta, fgamma, fgammasquare; must only be used after calling getParameters() ...
Contains stepper and energy loss/noise matrix calculation. 
void noiseBetheBloch(const double &mom, TMatrixT< double > *noise) const 
calculation of energy loss straggeling 
void setNoiseCoulomb(bool opt=true)
void setEnergyLossBrems(bool opt=true)
static GFMaterialEffects * finstance
double energyLossBetheBloch(const double &mom)
Returns energy loss. 
void getParameters()
sets fmatDensity, fmatZ, fmatA, fradiationLength, fmEE, fcharge, fmass; 
double energyLossBrems(const double &mom) const 
Returns energy loss. 
virtual ~GFMaterialEffects()
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. 
bool fEnergyLossBetheBloch
double stepper(const double &maxDist, const TVector3 &pos, const TVector3 &dir, const double &mom, const int &pdg)
static GFMaterialEffects * getInstance()
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=NULL, const TMatrixT< double > *jacobian=NULL, const TVector3 *directionBefore=NULL, const TVector3 *directionAfter=NULL)
Calculates energy loss in the travelled path, optional calculation of noise matrix.