BmnRoot
26.10.0-19-g6979a6c6
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnMaterialEffects.h
Go to the documentation of this file.
1
/**
2
* \file BmnMaterialEffects.h
3
* \author Andrey Lebedev <andrey.lebedev@gsi.de> - Original author. First version of code for CBM experiment.
4
* \author Sergey Merts <Sergey.Merts@gmail.com> - Modification for BMN experiment.
5
* \date 2008-2014
6
* \brief Interface for material effects calculation algorithm.
7
*/
8
9
#ifndef BmnMaterialEffects_H_
10
#define BmnMaterialEffects_H_
11
12
#include "
BmnEnums.h
"
13
#include "FairTrackParam.h"
14
15
class
BmnMaterialInfo
;
16
17
/**
18
* \class BmnMaterialEffects
19
* \author Andrey Lebedev <andrey.lebedev@gsi.de> - Original author. First version of code for CBM experiment.
20
* \author Sergey Merts <Sergey.Merts@gmail.com> - Modification for BMN experiment.
21
* \date 2008-2014
22
* \brief Interface for material effects calculation algorithm.
23
*/
24
class
BmnMaterialEffects
25
{
26
public
:
27
/**
28
* \brief Constructor.
29
*/
30
BmnMaterialEffects
();
31
32
/**
33
* \brief Destructor.
34
*/
35
virtual
~BmnMaterialEffects
();
36
37
/**
38
* \brief Main function to be implemented for concrete material effects calculation algorithm.
39
* \param[in,out] par Input/Output track parameters.
40
* \param[in] mat Material information.
41
* \param[in] pdg PDG code
42
* \param[in] downstream Propagation direction (true for downstream, false for upstream).
43
* \return Status code.
44
*/
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
63
private
:
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_*/
BmnEnums.h
Define enumerations used in tracking.
BmnStatus
BmnStatus
Define status code.
Definition
BmnEnums.h:93
Bool_t
bool Bool_t
Int_t
int Int_t
Float_t
float Float_t
BmnMaterialEffects::fDownstream
Bool_t fDownstream
Definition
BmnMaterialEffects.h:64
BmnMaterialEffects::CalcSigmaSqQp
Float_t CalcSigmaSqQp(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:258
BmnMaterialEffects::BetheBlochSimple
Float_t BetheBlochSimple(const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:332
BmnMaterialEffects::AddEnergyLoss
void AddEnergyLoss(FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:51
BmnMaterialEffects::dEdx
Float_t dEdx(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:169
BmnMaterialEffects::BmnMaterialEffects
BmnMaterialEffects()
Constructor.
Definition
BmnMaterialEffects.cxx:20
BmnMaterialEffects::CalcQpAfterEloss
Float_t CalcQpAfterEloss(Float_t qp, Float_t eloss) const
Definition
BmnMaterialEffects.cxx:233
BmnMaterialEffects::Update
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.
Definition
BmnMaterialEffects.cxx:29
BmnMaterialEffects::fIsElectron
Bool_t fIsElectron
Definition
BmnMaterialEffects.h:66
BmnMaterialEffects::BetheHeitler
Float_t BetheHeitler(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:308
BmnMaterialEffects::EnergyLoss
Float_t EnergyLoss(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:162
BmnMaterialEffects::CalcSigmaSqQpElectron
Float_t CalcSigmaSqQpElectron(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:291
BmnMaterialEffects::BetheBlochElectron
Float_t BetheBlochElectron(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:212
BmnMaterialEffects::fMass
Float_t fMass
Definition
BmnMaterialEffects.h:65
BmnMaterialEffects::CalcThetaSq
Float_t CalcThetaSq(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:147
BmnMaterialEffects::MPVEnergyLoss
Float_t MPVEnergyLoss(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:337
BmnMaterialEffects::BetheBloch
Float_t BetheBloch(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:177
BmnMaterialEffects::CalcI
Float_t CalcI(Float_t Z) const
Definition
BmnMaterialEffects.cxx:298
BmnMaterialEffects::AddThinScatter
void AddThinScatter(FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:124
BmnMaterialEffects::AddThickScatter
void AddThickScatter(FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:82
BmnMaterialEffects::PairProduction
Float_t PairProduction(const FairTrackParam *par, const BmnMaterialInfo *mat) const
Definition
BmnMaterialEffects.cxx:321
BmnMaterialEffects::~BmnMaterialEffects
virtual ~BmnMaterialEffects()
Destructor.
Definition
BmnMaterialEffects.cxx:27
BmnMaterialEffects::fIsMuon
Bool_t fIsMuon
Definition
BmnMaterialEffects.h:67
BmnMaterialInfo
Definition
BmnMaterialInfo.h:21
base
math
BmnMaterialEffects.h
Generated on
for BmnRoot by
1.17.0