GENFIT
Rev:NoNumberAvailable
|
Go to the documentation of this file.
24 #ifndef genfit_MaterialEffects_h
25 #define genfit_MaterialEffects_h
87 double effects(
const std::vector<RKStep>& steps,
92 M7x7* noise =
nullptr);
106 bool varField =
true);
119 double& mom,
double& gammaSquare,
double& gamma,
double& betaSquare)
const;
125 double momentumLoss(
double stepSign,
double mom,
bool linear);
128 double dEdx(
double Energy)
const;
132 double dEdxBetheBloch(
double betaSquare,
double gamma,
double gammasquare)
const;
143 void noiseBetheBloch(
M7x7& noise,
double mom,
double betaSquare,
double gamma,
double gammaSquare)
const;
154 const M1x3& direction,
double momSquare,
double betaSquare)
const;
166 void noiseBrems(
M7x7& noise,
double momSquare,
double betaSquare)
const;
210 #endif // genfit_MaterialEffects_h
void noiseCoulomb(M7x7 &noise, const M1x3 &direction, double momSquare, double betaSquare) const
calculation of multiple scattering
void getParticleParameters()
sets charge_, mass_
double dEdxBrems(double mom) const
Returns dEdx.
AbsMaterialInterface * materialInterface_
depending on this number a specific msc model is chosen in the noiseCoulomb function.
void setEnergyLossBrems(bool opt=true)
Abstract base class for geometry interfacing.
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.
Defines for I/O streams used for error and debug printing.
Stepper and energy loss/noise matrix calculation.
void setDebugLvl(unsigned int lvl=1)
void setNoiseCoulomb(bool opt=true)
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v)
double dEdxBetheBloch(double betaSquare, double gamma, double gammasquare) const
Uses Bethe Bloch formula to calculate dEdx.
virtual ~MaterialEffects()
void noiseBetheBloch(M7x7 &noise, double mom, double betaSquare, double gamma, double gammaSquare) const
calculation of energy loss straggeling
double dEdx(double Energy) const
Calculate dEdx for a given energy.
bool ignoreBoundariesBetweenEqualMaterials_
static MaterialEffects * instance_
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 setNoiseBrems(bool opt=true)
double momentumLoss(double stepSign, double mom, bool linear)
Returns momentum loss.
void ignoreBoundariesBetweenEqualMaterials(bool opt=true)
void setMscModel(const std::string &modelName)
Select the multiple scattering model that will be used during track fit.
void getMomGammaBeta(double Energy, double &mom, double &gammaSquare, double &gamma, double &betaSquare) const
Helper to store different limits on the stepsize for the RKTRackRep.
void setNoiseBetheBloch(bool opt=true)
void noiseBrems(M7x7 &noise, double momSquare, double betaSquare) const
calculation of energy loss straggeling
void setNoEffects(bool opt=true)
static MaterialEffects * getInstance()
void init(AbsMaterialInterface *matIfc)
set the material interface here. Material interface classes must be derived from AbsMaterialInterface...
void setEnergyLossBetheBloch(bool opt=true)
void drawdEdx(int pdg=11)
Material properties needed e.g. for material effects calculation.
bool energyLossBetheBloch_