BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnMaterialEffects Class Reference

Interface for material effects calculation algorithm. More...

#include <BmnMaterialEffects.h>

Public Member Functions

 BmnMaterialEffects ()
 Constructor.
virtual ~BmnMaterialEffects ()
 Destructor.
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
void AddThickScatter (FairTrackParam *par, const BmnMaterialInfo *mat) const
void AddThinScatter (FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcThetaSq (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t EnergyLoss (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t dEdx (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBloch (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBlochElectron (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcQpAfterEloss (Float_t qp, Float_t eloss) const
Float_t CalcSigmaSqQp (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcSigmaSqQpElectron (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcI (Float_t Z) const
Float_t BetheHeitler (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t PairProduction (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBlochSimple (const BmnMaterialInfo *mat) const
Float_t MPVEnergyLoss (const FairTrackParam *par, const BmnMaterialInfo *mat) const
 BmnMaterialEffects ()
 Constructor.
virtual ~BmnMaterialEffects ()
 Destructor.
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
void AddThickScatter (FairTrackParam *par, const BmnMaterialInfo *mat) const
void AddThinScatter (FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcThetaSq (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t EnergyLoss (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t dEdx (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBloch (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBlochElectron (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcQpAfterEloss (Float_t qp, Float_t eloss) const
Float_t CalcSigmaSqQp (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcSigmaSqQpElectron (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t CalcI (Float_t Z) const
Float_t BetheHeitler (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t PairProduction (const FairTrackParam *par, const BmnMaterialInfo *mat) const
Float_t BetheBlochSimple (const BmnMaterialInfo *mat) const
Float_t MPVEnergyLoss (const FairTrackParam *par, const BmnMaterialInfo *mat) const

Private Attributes

Bool_t fDownstream
Float_t fMass
Bool_t fIsElectron
Bool_t fIsMuon

Detailed Description

Author
Andrey Lebedev andre.nosp@m.y.le.nosp@m.bedev.nosp@m.@gsi.nosp@m..de - Original author. First version of code for CBM experiment.
Sergey Merts Serge.nosp@m.y.Me.nosp@m.rts@g.nosp@m.mail.nosp@m..com - Modification for BMN experiment.
Date
2008-2014

Definition at line 24 of file BmnMaterialEffects.h.

Constructor & Destructor Documentation

◆ BmnMaterialEffects() [1/2]

BmnMaterialEffects::BmnMaterialEffects ( )

Definition at line 20 of file BmnMaterialEffects.cxx.

References fDownstream, fIsElectron, fIsMuon, and fMass.

◆ ~BmnMaterialEffects() [1/2]

BmnMaterialEffects::~BmnMaterialEffects ( )
virtual

Definition at line 27 of file BmnMaterialEffects.cxx.

◆ BmnMaterialEffects() [2/2]

BmnMaterialEffects::BmnMaterialEffects ( )

◆ ~BmnMaterialEffects() [2/2]

virtual BmnMaterialEffects::~BmnMaterialEffects ( )
virtual

Member Function Documentation

◆ AddEnergyLoss() [1/2]

void BmnMaterialEffects::AddEnergyLoss ( FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 51 of file BmnMaterialEffects.cxx.

References CalcQpAfterEloss(), CalcSigmaSqQp(), CalcSigmaSqQpElectron(), EnergyLoss(), fDownstream, fIsElectron, BmnMaterialInfo::GetLength(), and BmnMaterialInfo::GetRL().

Referenced by Update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddEnergyLoss() [2/2]

void BmnMaterialEffects::AddEnergyLoss ( FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ AddThickScatter() [1/2]

void BmnMaterialEffects::AddThickScatter ( FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 82 of file BmnMaterialEffects.cxx.

References CalcThetaSq(), fDownstream, and BmnMaterialInfo::GetLength().

Referenced by Update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddThickScatter() [2/2]

void BmnMaterialEffects::AddThickScatter ( FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ AddThinScatter() [1/2]

void BmnMaterialEffects::AddThinScatter ( FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 124 of file BmnMaterialEffects.cxx.

References CalcThetaSq(), and BmnMaterialInfo::GetLength().

Referenced by Update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddThinScatter() [2/2]

void BmnMaterialEffects::AddThinScatter ( FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ BetheBloch() [1/2]

Float_t BmnMaterialEffects::BetheBloch ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 177 of file BmnMaterialEffects.cxx.

References CalcI(), fMass, BmnMaterialInfo::GetA(), BmnMaterialInfo::GetRho(), BmnMaterialInfo::GetZ(), and z.

Referenced by dEdx().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BetheBloch() [2/2]

Float_t BmnMaterialEffects::BetheBloch ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ BetheBlochElectron() [1/2]

Float_t BmnMaterialEffects::BetheBlochElectron ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 212 of file BmnMaterialEffects.cxx.

References CalcI(), BmnMaterialInfo::GetA(), and BmnMaterialInfo::GetZ().

Here is the call graph for this function:

◆ BetheBlochElectron() [2/2]

Float_t BmnMaterialEffects::BetheBlochElectron ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ BetheBlochSimple() [1/2]

Float_t BmnMaterialEffects::BetheBlochSimple ( const BmnMaterialInfo * mat) const

Definition at line 332 of file BmnMaterialEffects.cxx.

References BmnMaterialInfo::GetA(), and BmnMaterialInfo::GetZ().

Here is the call graph for this function:

◆ BetheBlochSimple() [2/2]

Float_t BmnMaterialEffects::BetheBlochSimple ( const BmnMaterialInfo * mat) const

◆ BetheHeitler() [1/2]

Float_t BmnMaterialEffects::BetheHeitler ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 308 of file BmnMaterialEffects.cxx.

References fMass, BmnMaterialInfo::GetRho(), and BmnMaterialInfo::GetRL().

Here is the call graph for this function:

◆ BetheHeitler() [2/2]

Float_t BmnMaterialEffects::BetheHeitler ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ CalcI() [1/2]

Float_t BmnMaterialEffects::CalcI ( Float_t Z) const

Definition at line 298 of file BmnMaterialEffects.cxx.

Referenced by BetheBloch(), BetheBlochElectron(), and MPVEnergyLoss().

Here is the caller graph for this function:

◆ CalcI() [2/2]

Float_t BmnMaterialEffects::CalcI ( Float_t Z) const

◆ CalcQpAfterEloss() [1/2]

Float_t BmnMaterialEffects::CalcQpAfterEloss ( Float_t qp,
Float_t eloss ) const

Definition at line 233 of file BmnMaterialEffects.cxx.

References fDownstream, and fMass.

Referenced by AddEnergyLoss().

Here is the caller graph for this function:

◆ CalcQpAfterEloss() [2/2]

Float_t BmnMaterialEffects::CalcQpAfterEloss ( Float_t qp,
Float_t eloss ) const

◆ CalcSigmaSqQp() [1/2]

Float_t BmnMaterialEffects::CalcSigmaSqQp ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 258 of file BmnMaterialEffects.cxx.

References fMass, BmnMaterialInfo::GetA(), BmnMaterialInfo::GetLength(), BmnMaterialInfo::GetRho(), and BmnMaterialInfo::GetZ().

Referenced by AddEnergyLoss().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalcSigmaSqQp() [2/2]

Float_t BmnMaterialEffects::CalcSigmaSqQp ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ CalcSigmaSqQpElectron() [1/2]

Float_t BmnMaterialEffects::CalcSigmaSqQpElectron ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 291 of file BmnMaterialEffects.cxx.

References BmnMaterialInfo::GetLength(), BmnMaterialInfo::GetRL(), and x.

Referenced by AddEnergyLoss().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalcSigmaSqQpElectron() [2/2]

Float_t BmnMaterialEffects::CalcSigmaSqQpElectron ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ CalcThetaSq() [1/2]

Float_t BmnMaterialEffects::CalcThetaSq ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 147 of file BmnMaterialEffects.cxx.

References fMass, BmnMaterialInfo::GetLength(), BmnMaterialInfo::GetRL(), x, and z.

Referenced by AddThickScatter(), and AddThinScatter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalcThetaSq() [2/2]

Float_t BmnMaterialEffects::CalcThetaSq ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ dEdx() [1/2]

Float_t BmnMaterialEffects::dEdx ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 169 of file BmnMaterialEffects.cxx.

References BetheBloch().

Referenced by EnergyLoss().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dEdx() [2/2]

Float_t BmnMaterialEffects::dEdx ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ EnergyLoss() [1/2]

Float_t BmnMaterialEffects::EnergyLoss ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 162 of file BmnMaterialEffects.cxx.

References dEdx(), BmnMaterialInfo::GetLength(), and BmnMaterialInfo::GetRho().

Referenced by AddEnergyLoss().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnergyLoss() [2/2]

Float_t BmnMaterialEffects::EnergyLoss ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ MPVEnergyLoss() [1/2]

Float_t BmnMaterialEffects::MPVEnergyLoss ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 337 of file BmnMaterialEffects.cxx.

References CalcI(), fMass, BmnMaterialInfo::GetA(), BmnMaterialInfo::GetLength(), BmnMaterialInfo::GetRho(), BmnMaterialInfo::GetZ(), and x.

Here is the call graph for this function:

◆ MPVEnergyLoss() [2/2]

Float_t BmnMaterialEffects::MPVEnergyLoss ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

References fDownstream, fIsElectron, fIsMuon, and fMass.

◆ PairProduction() [1/2]

Float_t BmnMaterialEffects::PairProduction ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

Definition at line 321 of file BmnMaterialEffects.cxx.

References fMass, BmnMaterialInfo::GetRho(), and BmnMaterialInfo::GetRL().

Here is the call graph for this function:

◆ PairProduction() [2/2]

Float_t BmnMaterialEffects::PairProduction ( const FairTrackParam * par,
const BmnMaterialInfo * mat ) const

◆ Update() [1/2]

BmnStatus BmnMaterialEffects::Update ( FairTrackParam * par,
const BmnMaterialInfo * mat,
Int_t pdg,
Bool_t downstream )
virtual
Parameters
[in,out]parInput/Output track parameters.
[in]matMaterial information.
[in]pdgPDG code
[in]downstreamPropagation direction (true for downstream, false for upstream).
Returns
Status code.

Definition at line 29 of file BmnMaterialEffects.cxx.

References AddEnergyLoss(), AddThickScatter(), AddThinScatter(), fDownstream, fIsElectron, fIsMuon, fMass, BmnMaterialInfo::GetLength(), TDatabasePDG::GetParticle(), BmnMaterialInfo::GetRho(), TDatabasePDG::Instance(), kBMNSUCCESS, and TParticlePDG::Mass().

Here is the call graph for this function:

◆ Update() [2/2]

virtual BmnStatus BmnMaterialEffects::Update ( FairTrackParam * par,
const BmnMaterialInfo * mat,
Int_t pdg,
Bool_t downstream )
virtual
Parameters
[in,out]parInput/Output track parameters.
[in]matMaterial information.
[in]pdgPDG code
[in]downstreamPropagation direction (true for downstream, false for upstream).
Returns
Status code.

Member Data Documentation

◆ fDownstream

Bool_t BmnMaterialEffects::fDownstream
private

◆ fIsElectron

Bool_t BmnMaterialEffects::fIsElectron
private

Definition at line 66 of file BmnMaterialEffects.h.

Referenced by BmnMaterialEffects(), AddEnergyLoss(), MPVEnergyLoss(), and Update().

◆ fIsMuon

Bool_t BmnMaterialEffects::fIsMuon
private

Definition at line 67 of file BmnMaterialEffects.h.

Referenced by BmnMaterialEffects(), MPVEnergyLoss(), and Update().

◆ fMass


The documentation for this class was generated from the following files: