24#ifndef genfit_MaterialEffects_h
25#define genfit_MaterialEffects_h
51class MaterialEffects {
88 double effects(
const std::vector<genfit::RKStep>& steps,
93 M7x7* noise =
nullptr);
107 bool varField =
true);
143 const M1x3& direction)
const;
Abstract base class for geometry interfacing.
Stepper and energy loss/noise matrix calculation.
void setMscModel(const std::string &modelName)
Select the multiple scattering model that will be used during track fit.
void setNoEffects(bool opt=true)
void setNoiseBetheBloch(bool opt=true)
void noiseBrems(M7x7 &noise) const
calculation of energy loss straggeling
void noiseBetheBloch(M7x7 &noise) const
calculation of energy loss straggeling
virtual ~MaterialEffects()
double effects(const std::vector< genfit::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.
bool energyLossBetheBloch_
void setEnergyLossBrems(bool opt=true)
static MaterialEffects * instance_
void setEnergyLossBetheBloch(bool opt=true)
void ignoreBoundariesBetweenEqualMaterials(bool opt=true)
bool ignoreBoundariesBetweenEqualMaterials_
static MaterialEffects * getInstance()
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 getParticleParameters(double mom)
sets charge_, mass_ and calculates beta_, gamma_, fgammasquare;
void init(AbsMaterialInterface *matIfc)
set the material interface here. Material interface classes must be derived from AbsMaterialInterface...
AbsMaterialInterface * materialInterface_
depending on this number a specific msc model is chosen in the noiseCoulomb function.
void setNoiseCoulomb(bool opt=true)
double energyLossBetheBloch()
Returns energy loss.
double energyLossBrems() const
Returns energy loss.
void setNoiseBrems(bool opt=true)
void noiseCoulomb(M7x7 &noise, const M1x3 &direction) const
calculation of multiple scattering
Material properties needed e.g. for material effects calculation.
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v)
Helper to store different limits on the stepsize for the RKTRackRep.