CbmRoot
CbmTrdRadiator Class Reference

#include <CbmTrdRadiator.h>

Public Member Functions

 CbmTrdRadiator ()
 
 CbmTrdRadiator (Bool_t SimpleTR, Int_t Nfoils, Float_t FoilThick, Float_t GapThick)
 
 CbmTrdRadiator (Bool_t SimpleTR, Int_t Nfoils, Float_t FoilThick, Float_t GapThick, TString material, TString prototype)
 
 CbmTrdRadiator (Bool_t SimpleTR, TString prototype)
 
virtual ~CbmTrdRadiator ()
 
void CreateHistograms ()
 
void Init (Bool_t SimpleTR, Int_t Nfoils, Float_t FoilThick, Float_t GapTick, TString material)
 
void Init (Bool_t SimpleTR, Int_t Nfoils, Float_t FoilThick, Float_t GapThick)
 
void Init ()
 
void ProduceSpectra ()
 
Int_t ELoss (Int_t index)
 
void ProcessTR ()
 
Int_t TRspectrum ()
 
Int_t WinTRspectrum ()
 
Int_t DetTRspectrum ()
 
Float_t GammaF ()
 
Float_t Sigma (Float_t energykeV)
 
Float_t SigmaWin (Float_t energykeV)
 
Float_t SigmaDet (Float_t energykeV)
 
Float_t GetMuAl (Float_t energyMeV)
 
Float_t GetMuPo (Float_t energyMeV)
 
Float_t GetMuPok (Float_t energyMeV)
 
Float_t GetMuKa (Float_t energyMeV)
 
Float_t GetMuAir (Float_t energyMeV)
 
Float_t GetMuXe (Float_t energyMeV)
 
Float_t GetMuCO2 (Float_t energyMeV)
 
Float_t GetMuMy (Float_t energyMeV)
 
Float_t GetTR (TVector3 mom)
 
Float_t Interpolate (Float_t energyMeV, Float_t *en, Float_t *mu, Int_t n)
 
Int_t Locate (Float_t *xv, Int_t n, Float_t xval, Int_t &kl, Float_t &dx)
 
void SetNFoils (Int_t n)
 
void SetFoilThick (Float_t t)
 
void SetGapThick (Float_t t)
 
void SetSigma (Int_t SigmaT)
 
Bool_t LatticeHit (const CbmTrdPoint *point)
 

Public Attributes

TString fWindowFoil
 

Private Member Functions

CbmTrdRadiatoroperator= (const CbmTrdRadiator &)
 
 CbmTrdRadiator (const CbmTrdRadiator &)
 

Private Attributes

TString fRadType
 
Int_t fDetType
 
Bool_t fFirstPass
 
Bool_t fSimpleTR
 
Int_t fNFoils
 
Float_t fFoilThick
 
Float_t fGapThick
 
TString fFoilMaterial
 
Float_t fGasThick
 
Float_t fFoilDens
 
Float_t fGapDens
 
Float_t fFoilOmega
 
Float_t fGapOmega
 
Float_t fnPhotonCorr
 
Float_t fFoilThickCorr
 
Float_t fGapThickCorr
 
Float_t fGasThickCorr
 
Float_t fnTRprod
 
Float_t fWinDens
 
Float_t fWinThick
 
Float_t fCom1
 
Float_t fCom2
 
Float_t fSpBinWidth
 
Float_t * fSigma
 
Float_t * fSigmaWin
 [fSpNBins] Array of sigma values for the foil of the radiator More...
 
Float_t * fSigmaDet
 [fSpNBins] Array of sigma values for the entrance window of detector More...
 
TH1D * fSpectrum
 [fSpNBins] Array of sigma values for the active gas More...
 
TH1D * fWinSpectrum
 TR photon energy spectrum. More...
 
TH1D * fDetSpectrumA
 TR spectra in gas-window foil. More...
 
TH1D * fDetSpectrum
 TR absorbed in Detector. More...
 
Double_t * fTrackMomentum
 
TH1D * fFinal [fNMom]
 [fNMom] Track momenta for which spectra More...
 
Float_t fnTRabs [fNMom]
 Absorption spectra for different momenta. More...
 
Float_t fnTRab
 
Float_t fELoss
 
TVector3 fMom
 

Static Private Attributes

static const Int_t fSpNBins = 100
 
static const Int_t fSpRange = 50
 
static const Int_t fNMom = 14
 TR passed through Detector. More...
 

Detailed Description

Definition at line 24 of file CbmTrdRadiator.h.

Constructor & Destructor Documentation

◆ CbmTrdRadiator() [1/5]

CbmTrdRadiator::CbmTrdRadiator ( )

Default constructor

Definition at line 29 of file CbmTrdRadiator.cxx.

◆ CbmTrdRadiator() [2/5]

CbmTrdRadiator::CbmTrdRadiator ( Bool_t  SimpleTR,
Int_t  Nfoils,
Float_t  FoilThick,
Float_t  GapThick 
)

Constructor

Definition at line 33 of file CbmTrdRadiator.cxx.

◆ CbmTrdRadiator() [3/5]

CbmTrdRadiator::CbmTrdRadiator ( Bool_t  SimpleTR,
Int_t  Nfoils,
Float_t  FoilThick,
Float_t  GapThick,
TString  material,
TString  prototype 
)

Constructor

Definition at line 41 of file CbmTrdRadiator.cxx.

References CreateHistograms(), fFinal, fNMom, and i.

◆ CbmTrdRadiator() [4/5]

CbmTrdRadiator::CbmTrdRadiator ( Bool_t  SimpleTR,
TString  prototype 
)

Constructor 20.02.2013 to include external files with tr-spectra

Definition at line 93 of file CbmTrdRadiator.cxx.

References CreateHistograms(), fFinal, fNMom, and i.

◆ ~CbmTrdRadiator()

CbmTrdRadiator::~CbmTrdRadiator ( )
virtual

Destructor

Definition at line 143 of file CbmTrdRadiator.cxx.

References fDetSpectrum, fDetSpectrumA, fFinal, fNMom, fSpectrum, fWinSpectrum, and i.

◆ CbmTrdRadiator() [5/5]

CbmTrdRadiator::CbmTrdRadiator ( const CbmTrdRadiator )
private

Member Function Documentation

◆ CreateHistograms()

void CbmTrdRadiator::CreateHistograms ( )

Create the needed histograms

Definition at line 160 of file CbmTrdRadiator.cxx.

References fDetSpectrum, fDetSpectrumA, fFinal, fNMom, fSpBinWidth, fSpectrum, fSpNBins, fSpRange, fWinSpectrum, and i.

Referenced by CbmTrdRadiator(), and Init().

◆ DetTRspectrum()

Int_t CbmTrdRadiator::DetTRspectrum ( )

Compute the TR spectrum in the Detector

Definition at line 981 of file CbmTrdRadiator.cxx.

References fDetSpectrum, fDetSpectrumA, fnTRab, fSigmaDet, fSpBinWidth, fSpNBins, fWinSpectrum, and SetSigma().

Referenced by ProcessTR().

◆ ELoss()

Int_t CbmTrdRadiator::ELoss ( Int_t  index)

Final energy loss computation

Definition at line 813 of file CbmTrdRadiator.cxx.

References fDetSpectrumA, fELoss, fFinal, fnPhotonCorr, fnTRab, fnTRabs, and i.

Referenced by GetTR(), and ProcessTR().

◆ GammaF()

Float_t CbmTrdRadiator::GammaF ( )

Compute the gamma factor

Definition at line 1022 of file CbmTrdRadiator.cxx.

References fMom.

Referenced by TRspectrum().

◆ GetMuAir()

Float_t CbmTrdRadiator::GetMuAir ( Float_t  energyMeV)

Definition at line 1263 of file CbmTrdRadiator.cxx.

References Interpolate().

Referenced by Sigma().

◆ GetMuAl()

Float_t CbmTrdRadiator::GetMuAl ( Float_t  energyMeV)

Computation of photon absorption cross sections taken from http://physics.nist.gov/PhysRefData/Xcom/html/xcom1.html

Definition at line 1204 of file CbmTrdRadiator.cxx.

References Interpolate().

◆ GetMuCO2()

Float_t CbmTrdRadiator::GetMuCO2 ( Float_t  energyMeV)

Definition at line 1329 of file CbmTrdRadiator.cxx.

References Interpolate().

Referenced by SigmaDet().

◆ GetMuKa()

Float_t CbmTrdRadiator::GetMuKa ( Float_t  energyMeV)

Definition at line 1178 of file CbmTrdRadiator.cxx.

References Interpolate().

◆ GetMuMy()

Float_t CbmTrdRadiator::GetMuMy ( Float_t  energyMeV)

Definition at line 1361 of file CbmTrdRadiator.cxx.

References Interpolate().

Referenced by Sigma(), and SigmaWin().

◆ GetMuPo()

Float_t CbmTrdRadiator::GetMuPo ( Float_t  energyMeV)

Definition at line 1235 of file CbmTrdRadiator.cxx.

References Interpolate().

Referenced by Sigma().

◆ GetMuPok()

Float_t CbmTrdRadiator::GetMuPok ( Float_t  energyMeV)

Definition at line 1153 of file CbmTrdRadiator.cxx.

References Interpolate().

Referenced by Sigma().

◆ GetMuXe()

Float_t CbmTrdRadiator::GetMuXe ( Float_t  energyMeV)

Definition at line 1296 of file CbmTrdRadiator.cxx.

References Interpolate().

Referenced by SigmaDet().

◆ GetTR()

Float_t CbmTrdRadiator::GetTR ( TVector3  mom)

Calculate the TR for a given momentum

Definition at line 732 of file CbmTrdRadiator.cxx.

References ELoss(), fELoss, fMom, fNMom, fSimpleTR, fTrackMomentum, i, m, and ProcessTR().

Referenced by CbmTrdModuleSimR::MakeDigi(), and CbmTrdModuleSimT::MakeDigi().

◆ Init() [1/3]

◆ Init() [2/3]

void CbmTrdRadiator::Init ( Bool_t  SimpleTR,
Int_t  Nfoils,
Float_t  FoilThick,
Float_t  GapThick 
)

◆ Init() [3/3]

void CbmTrdRadiator::Init ( Bool_t  SimpleTR,
Int_t  Nfoils,
Float_t  FoilThick,
Float_t  GapTick,
TString  material = "polyethylen" 
)

◆ Interpolate()

Float_t CbmTrdRadiator::Interpolate ( Float_t  energyMeV,
Float_t *  en,
Float_t *  mu,
Int_t  n 
)

Interpolate between given points of table

Definition at line 1391 of file CbmTrdRadiator.cxx.

References Locate().

Referenced by GetMuAir(), GetMuAl(), GetMuCO2(), GetMuKa(), GetMuMy(), GetMuPo(), GetMuPok(), and GetMuXe().

◆ LatticeHit()

◆ Locate()

Int_t CbmTrdRadiator::Locate ( Float_t *  xv,
Int_t  n,
Float_t  xval,
Int_t &  kl,
Float_t &  dx 
)

Locate a point in 1-dim grid

Definition at line 1415 of file CbmTrdRadiator.cxx.

Referenced by Interpolate().

◆ operator=()

CbmTrdRadiator& CbmTrdRadiator::operator= ( const CbmTrdRadiator )
private

◆ ProcessTR()

void CbmTrdRadiator::ProcessTR ( )

Main function for TR production

Definition at line 771 of file CbmTrdRadiator.cxx.

References DetTRspectrum(), ELoss(), fDetType, fELoss, fFirstPass, fFoilThick, fFoilThickCorr, fGapThick, fGapThickCorr, fGasThick, fGasThickCorr, fMom, fnTRab, TRspectrum(), and WinTRspectrum().

Referenced by GetTR(), and ProduceSpectra().

◆ ProduceSpectra()

void CbmTrdRadiator::ProduceSpectra ( )

Spectra production

Definition at line 698 of file CbmTrdRadiator.cxx.

References fDetSpectrumA, fFinal, fMom, fNMom, fnTRab, fnTRabs, fSpNBins, fTrackMomentum, i, and ProcessTR().

Referenced by Init().

◆ SetFoilThick()

void CbmTrdRadiator::SetFoilThick ( Float_t  t)
inline

Definition at line 136 of file CbmTrdRadiator.h.

References fFoilThick.

◆ SetGapThick()

void CbmTrdRadiator::SetGapThick ( Float_t  t)
inline

Definition at line 137 of file CbmTrdRadiator.h.

References fGapThick.

◆ SetNFoils()

void CbmTrdRadiator::SetNFoils ( Int_t  n)
inline

Setters for private data memebers

Definition at line 135 of file CbmTrdRadiator.h.

References fNFoils.

◆ SetSigma()

void CbmTrdRadiator::SetSigma ( Int_t  SigmaT)

◆ Sigma()

Float_t CbmTrdRadiator::Sigma ( Float_t  energykeV)

Compute the sigma coeff. for one-gap-one-foil radiator

Definition at line 1071 of file CbmTrdRadiator.cxx.

References fFoilDens, fFoilMaterial, fFoilThickCorr, fGapDens, fGapThickCorr, GetMuAir(), GetMuMy(), GetMuPo(), and GetMuPok().

Referenced by SetSigma().

◆ SigmaDet()

Float_t CbmTrdRadiator::SigmaDet ( Float_t  energykeV)

Compute the sigma coeff. for the detector gas

Definition at line 1130 of file CbmTrdRadiator.cxx.

References fCom1, fCom2, fGasThick, GetMuCO2(), and GetMuXe().

Referenced by SetSigma().

◆ SigmaWin()

Float_t CbmTrdRadiator::SigmaWin ( Float_t  energykeV)

Compute the sigma coeff. for the gas-.window foil

Definition at line 1104 of file CbmTrdRadiator.cxx.

References fWinDens, fWinThick, and GetMuMy().

Referenced by SetSigma().

◆ TRspectrum()

Int_t CbmTrdRadiator::TRspectrum ( )

◆ WinTRspectrum()

Int_t CbmTrdRadiator::WinTRspectrum ( )

Compute the TR spectrum in the Window foil

Definition at line 944 of file CbmTrdRadiator.cxx.

References fDetSpectrum, fFirstPass, fSigmaWin, fSpectrum, fSpNBins, fWinSpectrum, and SetSigma().

Referenced by ProcessTR().

Member Data Documentation

◆ fCom1

Float_t CbmTrdRadiator::fCom1
private

Definition at line 179 of file CbmTrdRadiator.h.

Referenced by Init(), and SigmaDet().

◆ fCom2

Float_t CbmTrdRadiator::fCom2
private

Definition at line 180 of file CbmTrdRadiator.h.

Referenced by Init(), and SigmaDet().

◆ fDetSpectrum

TH1D* CbmTrdRadiator::fDetSpectrum
private

TR absorbed in Detector.

Definition at line 195 of file CbmTrdRadiator.h.

Referenced by CreateHistograms(), DetTRspectrum(), TRspectrum(), WinTRspectrum(), and ~CbmTrdRadiator().

◆ fDetSpectrumA

TH1D* CbmTrdRadiator::fDetSpectrumA
private

TR spectra in gas-window foil.

Definition at line 194 of file CbmTrdRadiator.h.

Referenced by CreateHistograms(), DetTRspectrum(), ELoss(), ProduceSpectra(), TRspectrum(), and ~CbmTrdRadiator().

◆ fDetType

Int_t CbmTrdRadiator::fDetType
private

Definition at line 148 of file CbmTrdRadiator.h.

Referenced by Init(), and ProcessTR().

◆ fELoss

Float_t CbmTrdRadiator::fELoss
private

Definition at line 205 of file CbmTrdRadiator.h.

Referenced by ELoss(), GetTR(), and ProcessTR().

◆ fFinal

TH1D* CbmTrdRadiator::fFinal[fNMom]
private

[fNMom] Track momenta for which spectra

Definition at line 201 of file CbmTrdRadiator.h.

Referenced by CbmTrdRadiator(), CreateHistograms(), ELoss(), Init(), ProduceSpectra(), and ~CbmTrdRadiator().

◆ fFirstPass

Bool_t CbmTrdRadiator::fFirstPass
private

Definition at line 149 of file CbmTrdRadiator.h.

Referenced by ProcessTR(), and WinTRspectrum().

◆ fFoilDens

Float_t CbmTrdRadiator::fFoilDens
private

Definition at line 160 of file CbmTrdRadiator.h.

Referenced by Init(), and Sigma().

◆ fFoilMaterial

TString CbmTrdRadiator::fFoilMaterial
private

Definition at line 154 of file CbmTrdRadiator.h.

Referenced by Init(), and Sigma().

◆ fFoilOmega

Float_t CbmTrdRadiator::fFoilOmega
private

Definition at line 162 of file CbmTrdRadiator.h.

Referenced by Init(), and TRspectrum().

◆ fFoilThick

Float_t CbmTrdRadiator::fFoilThick
private

Definition at line 152 of file CbmTrdRadiator.h.

Referenced by Init(), ProcessTR(), and SetFoilThick().

◆ fFoilThickCorr

Float_t CbmTrdRadiator::fFoilThickCorr
private

Definition at line 168 of file CbmTrdRadiator.h.

Referenced by ProcessTR(), Sigma(), and TRspectrum().

◆ fGapDens

Float_t CbmTrdRadiator::fGapDens
private

Definition at line 161 of file CbmTrdRadiator.h.

Referenced by Init(), and Sigma().

◆ fGapOmega

Float_t CbmTrdRadiator::fGapOmega
private

Definition at line 163 of file CbmTrdRadiator.h.

Referenced by Init(), and TRspectrum().

◆ fGapThick

Float_t CbmTrdRadiator::fGapThick
private

Definition at line 153 of file CbmTrdRadiator.h.

Referenced by Init(), ProcessTR(), and SetGapThick().

◆ fGapThickCorr

Float_t CbmTrdRadiator::fGapThickCorr
private

Definition at line 169 of file CbmTrdRadiator.h.

Referenced by ProcessTR(), Sigma(), and TRspectrum().

◆ fGasThick

Float_t CbmTrdRadiator::fGasThick
private

Definition at line 155 of file CbmTrdRadiator.h.

Referenced by Init(), ProcessTR(), and SigmaDet().

◆ fGasThickCorr

Float_t CbmTrdRadiator::fGasThickCorr
private

Definition at line 170 of file CbmTrdRadiator.h.

Referenced by ProcessTR().

◆ fMom

TVector3 CbmTrdRadiator::fMom
private

Definition at line 207 of file CbmTrdRadiator.h.

Referenced by GammaF(), GetTR(), ProcessTR(), and ProduceSpectra().

◆ fNFoils

Int_t CbmTrdRadiator::fNFoils
private

Definition at line 151 of file CbmTrdRadiator.h.

Referenced by Init(), SetNFoils(), and TRspectrum().

◆ fNMom

const Int_t CbmTrdRadiator::fNMom = 14
staticprivate

TR passed through Detector.

Definition at line 197 of file CbmTrdRadiator.h.

Referenced by CbmTrdRadiator(), CreateHistograms(), GetTR(), Init(), ProduceSpectra(), and ~CbmTrdRadiator().

◆ fnPhotonCorr

Float_t CbmTrdRadiator::fnPhotonCorr
private

Definition at line 164 of file CbmTrdRadiator.h.

Referenced by ELoss(), and Init().

◆ fnTRab

Float_t CbmTrdRadiator::fnTRab
private

Definition at line 203 of file CbmTrdRadiator.h.

Referenced by DetTRspectrum(), ELoss(), ProcessTR(), and ProduceSpectra().

◆ fnTRabs

Float_t CbmTrdRadiator::fnTRabs[fNMom]
private

Absorption spectra for different momenta.

Definition at line 202 of file CbmTrdRadiator.h.

Referenced by ELoss(), and ProduceSpectra().

◆ fnTRprod

Float_t CbmTrdRadiator::fnTRprod
private

Definition at line 173 of file CbmTrdRadiator.h.

◆ fRadType

TString CbmTrdRadiator::fRadType
private

Definition at line 147 of file CbmTrdRadiator.h.

Referenced by Init().

◆ fSigma

Float_t* CbmTrdRadiator::fSigma
private

Definition at line 187 of file CbmTrdRadiator.h.

Referenced by SetSigma(), and TRspectrum().

◆ fSigmaDet

Float_t* CbmTrdRadiator::fSigmaDet
private

[fSpNBins] Array of sigma values for the entrance window of detector

Definition at line 190 of file CbmTrdRadiator.h.

Referenced by DetTRspectrum(), and SetSigma().

◆ fSigmaWin

Float_t* CbmTrdRadiator::fSigmaWin
private

[fSpNBins] Array of sigma values for the foil of the radiator

Definition at line 189 of file CbmTrdRadiator.h.

Referenced by SetSigma(), and WinTRspectrum().

◆ fSimpleTR

Bool_t CbmTrdRadiator::fSimpleTR
private

Definition at line 150 of file CbmTrdRadiator.h.

Referenced by GetTR(), and Init().

◆ fSpBinWidth

Float_t CbmTrdRadiator::fSpBinWidth
private

Definition at line 184 of file CbmTrdRadiator.h.

Referenced by CreateHistograms(), DetTRspectrum(), SetSigma(), and TRspectrum().

◆ fSpectrum

TH1D* CbmTrdRadiator::fSpectrum
private

[fSpNBins] Array of sigma values for the active gas

Definition at line 192 of file CbmTrdRadiator.h.

Referenced by CreateHistograms(), TRspectrum(), WinTRspectrum(), and ~CbmTrdRadiator().

◆ fSpNBins

const Int_t CbmTrdRadiator::fSpNBins = 100
staticprivate

◆ fSpRange

const Int_t CbmTrdRadiator::fSpRange = 50
staticprivate

Definition at line 183 of file CbmTrdRadiator.h.

Referenced by CreateHistograms().

◆ fTrackMomentum

Double_t* CbmTrdRadiator::fTrackMomentum
private

Definition at line 198 of file CbmTrdRadiator.h.

Referenced by GetTR(), and ProduceSpectra().

◆ fWinDens

Float_t CbmTrdRadiator::fWinDens
private

Definition at line 176 of file CbmTrdRadiator.h.

Referenced by Init(), and SigmaWin().

◆ fWindowFoil

TString CbmTrdRadiator::fWindowFoil

Definition at line 112 of file CbmTrdRadiator.h.

◆ fWinSpectrum

TH1D* CbmTrdRadiator::fWinSpectrum
private

TR photon energy spectrum.

Definition at line 193 of file CbmTrdRadiator.h.

Referenced by CreateHistograms(), DetTRspectrum(), WinTRspectrum(), and ~CbmTrdRadiator().

◆ fWinThick

Float_t CbmTrdRadiator::fWinThick
private

Definition at line 177 of file CbmTrdRadiator.h.

Referenced by Init(), and SigmaWin().


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