24 #ifndef genfit_MaterialEffects_h 
   25 #define genfit_MaterialEffects_h 
   88   double effects(
const std::vector<RKStep>& steps,
 
  107                bool varField = 
true);
 
  120                        double& 
mom, 
double& gammaSquare, 
double& gamma, 
double& betaSquare) 
const;
 
  129   double dEdx(
double Energy) 
const;
 
  133   double dEdxBetheBloch(
double betaSquare, 
double gamma, 
double gammasquare) 
const;
 
  155                     const M1x3& direction, 
double momSquare, 
double betaSquare) 
const;
 
  211 #endif // genfit_MaterialEffects_h 
Helper to store different limits on the stepsize for the RKTRackRep. 
double momentumLoss(double stepSign, double mom, bool linear)
Returns momentum loss. 
void noiseBetheBloch(M7x7 &noise, double mom, double betaSquare, double gamma, double gammaSquare) const 
calculation of energy loss straggeling 
Abstract base class for geometry interfacing. 
double effects(const std::vector< RKStep > &steps, int materialsFXStart, int materialsFXStop, const double &mom, const int &pdg, M7x7 *noise=nullptr)
Calculates energy loss in the traveled path, optional calculation of noise matrix. 
void noiseCoulomb(M7x7 &noise, const M1x3 &direction, double momSquare, double betaSquare) const 
calculation of multiple scattering 
Material properties needed e.g. for material effects calculation. 
void ignoreBoundariesBetweenEqualMaterials(bool opt=true)
double dEdxBetheBloch(double betaSquare, double gamma, double gammasquare) const 
Uses Bethe Bloch formula to calculate dEdx. 
void noiseBrems(M7x7 &noise, double momSquare, double betaSquare) const 
calculation of energy loss straggeling 
void setEnergyLossBrems(bool opt=true)
void stepper(const RKTrackRep *rep, M1x7 &state7, const double &mom, double &relMomLoss, const int &pdg, MaterialProperties ¤tMaterial, StepLimits &limits, bool varField=true)
Returns maximum length so that a specified momentum loss will not be exceeded. 
void setEnergyLossBetheBloch(bool opt=true)
void setNoEffects(bool opt=true)
Stepper and energy loss/noise matrix calculation. 
void getMomGammaBeta(double Energy, double &mom, double &gammaSquare, double &gamma, double &betaSquare) const 
static MaterialEffects * getInstance()
void setNoiseBrems(bool opt=true)
bool ignoreBoundariesBetweenEqualMaterials_
AbsMaterialInterface * materialInterface_
depending on this number a specific msc model is chosen in the noiseCoulomb function. 
void getParticleParameters()
sets charge_, mass_ 
void init(AbsMaterialInterface *matIfc)
set the material interface here. Material interface classes must be derived from AbsMaterialInterface...
void setNoiseBetheBloch(bool opt=true)
bool energyLossBetheBloch_
static MaterialEffects * instance_
void setNoiseCoulomb(bool opt=true)
void setMscModel(const std::string &modelName)
Select the multiple scattering model that will be used during track fit. 
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v) ...
void setDebugLvl(unsigned int lvl=1)
double dEdxBrems(double mom) const 
Returns dEdx. 
virtual ~MaterialEffects()
void drawdEdx(int pdg=11)
double dEdx(double Energy) const 
Calculate dEdx for a given energy.