CbmRoot
Loading...
Searching...
No Matches
CbmLitMaterialEffectsImp.h
Go to the documentation of this file.
1/* Copyright (C) 2008-2012 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
12#ifndef CBMLITMATERIALEFFECTSIMP_H_
13#define CBMLITMATERIALEFFECTSIMP_H_
14
15#include "base/CbmLitFloat.h"
17
20
28 public:
33
38
42 LitStatus Update(CbmLitTrackParam* par, const CbmLitMaterialInfo* mat, int pdg, bool downstream);
43
44 // LitStatus Update2(
45 // CbmLitTrackParam* par,
46 // const CbmLitMaterialInfo* mat);
47 public:
48 void AddThinScatter(CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
49
50 void AddThickScatter(CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
51
52 void AddEnergyLoss(CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
53
54 litfloat CalcThetaSq(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
55
57
58 litfloat BetheBloch(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
59
61
62 litfloat EnergyLoss(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
63
64 litfloat dEdx(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
65
67
68 litfloat CalcSigmaSqQp(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
69
71
72 litfloat MPVEnergyLoss(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
73
74 litfloat BetheHeitler(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
75
76 litfloat PairProduction(const CbmLitTrackParam* par, const CbmLitMaterialInfo* mat) const;
77
78 litfloat CalcI(litfloat Z) const;
79
80 private:
81 bool fDownstream; // Propagation direction
82 litfloat fMass; // Hypothesis on particle mass
83 bool fIsElectron; // True if particle is an electron or positron
84 bool fIsMuon; // True if particle is muon
85};
86
87#endif /*CBMLITMATERIALEFFECTSIMP_H_*/
LitStatus
Definition CbmLitEnums.h:29
Define floating point number type litfloat.
double litfloat
Definition CbmLitFloat.h:19
Interface for material effects calculation algorithm.
Calculation of multiple scattering and energy loss.
litfloat CalcThetaSq(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
LitStatus Update(CbmLitTrackParam *par, const CbmLitMaterialInfo *mat, int pdg, bool downstream)
Inherited from CbmLitMaterialEffects.
litfloat CalcI(litfloat Z) const
void AddEnergyLoss(CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat BetheBlochElectron(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat BetheHeitler(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat dEdx(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat MPVEnergyLoss(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat CalcSigmaSqQpElectron(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
void AddThickScatter(CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
void AddThinScatter(CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
virtual ~CbmLitMaterialEffectsImp()
Destructor.
litfloat CalcQpAfterEloss(litfloat qp, litfloat eloss) const
litfloat PairProduction(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat BetheBloch(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat CalcSigmaSqQp(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
litfloat BetheBlochSimple(const CbmLitMaterialInfo *mat) const
litfloat EnergyLoss(const CbmLitTrackParam *par, const CbmLitMaterialInfo *mat) const
Interface for material effects calculation algorithm.
Data class for track parameters.