BmnRoot
Loading...
Searching...
No Matches
BmnMaterialEffects.h
Go to the documentation of this file.
1
9#ifndef BmnMaterialEffects_H_
10#define BmnMaterialEffects_H_
11
12#include "BmnEnums.h"
13#include "FairTrackParam.h"
14
15class BmnMaterialInfo;
16
25public:
26
31
36
45 virtual BmnStatus Update(FairTrackParam* par, const BmnMaterialInfo* mat, Int_t pdg, Bool_t downstream);
46 void AddEnergyLoss(FairTrackParam* par, const BmnMaterialInfo* mat) const;
47 void AddThickScatter(FairTrackParam* par, const BmnMaterialInfo* mat) const;
48 void AddThinScatter(FairTrackParam* par, const BmnMaterialInfo* mat) const;
49 Float_t CalcThetaSq(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
50 Float_t EnergyLoss(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
51 Float_t dEdx(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
52 Float_t BetheBloch(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
53 Float_t BetheBlochElectron( const FairTrackParam* par, const BmnMaterialInfo* mat) const;
54 Float_t CalcQpAfterEloss(Float_t qp, Float_t eloss) const;
55 Float_t CalcSigmaSqQp(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
56 Float_t CalcSigmaSqQpElectron(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
57 Float_t CalcI(Float_t Z) const;
58 Float_t BetheHeitler(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
59 Float_t PairProduction(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
60 Float_t BetheBlochSimple(const BmnMaterialInfo* mat) const;
61 Float_t MPVEnergyLoss(const FairTrackParam* par, const BmnMaterialInfo* mat) const;
62
63private:
64 Bool_t fDownstream; // Propagation direction
65 Float_t fMass; // Hypothesis on particle mass
66 Bool_t fIsElectron; // True if particle is an electron or positron
67 Bool_t fIsMuon; // True if particle is muon
68};
69
70#endif /*BmnMaterialEffects_H_*/
BmnStatus
Definition BmnEnums.h:24
Interface for material effects calculation algorithm.
Float_t CalcSigmaSqQp(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBlochSimple(const BmnMaterialInfo *mat) const
virtual BmnStatus Update(FairTrackParam *par, const BmnMaterialInfo *mat, Int_t pdg, Bool_t downstream)
Main function to be implemented for concrete material effects calculation algorithm.
void AddEnergyLoss(FairTrackParam *par, const BmnMaterialInfo *mat) const
virtual ~BmnMaterialEffects()
Destructor.
Float_t dEdx(const FairTrackParam *par, const BmnMaterialInfo *mat) const
BmnMaterialEffects()
Constructor.
Float_t CalcQpAfterEloss(Float_t qp, Float_t eloss) const
Float_t BetheHeitler(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t EnergyLoss(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcSigmaSqQpElectron(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBlochElectron(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcThetaSq(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t MPVEnergyLoss(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBloch(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcI(Float_t Z) const
void AddThinScatter(FairTrackParam *par, const BmnMaterialInfo *mat) const
void AddThickScatter(FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t PairProduction(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Define enumerations used in tracking.