CbmRoot
|
#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 | |
CbmTrdRadiator & | operator= (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... | |
Definition at line 24 of file CbmTrdRadiator.h.
CbmTrdRadiator::CbmTrdRadiator | ( | ) |
Default constructor
Definition at line 29 of file CbmTrdRadiator.cxx.
CbmTrdRadiator::CbmTrdRadiator | ( | Bool_t | SimpleTR, |
Int_t | Nfoils, | ||
Float_t | FoilThick, | ||
Float_t | GapThick | ||
) |
Constructor
Definition at line 33 of file CbmTrdRadiator.cxx.
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::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.
|
virtual |
Destructor
Definition at line 143 of file CbmTrdRadiator.cxx.
References fDetSpectrum, fDetSpectrumA, fFinal, fNMom, fSpectrum, fWinSpectrum, and i.
|
private |
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().
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().
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().
Float_t CbmTrdRadiator::GammaF | ( | ) |
Compute the gamma factor
Definition at line 1022 of file CbmTrdRadiator.cxx.
References fMom.
Referenced by TRspectrum().
Float_t CbmTrdRadiator::GetMuAir | ( | Float_t | energyMeV | ) |
Definition at line 1263 of file CbmTrdRadiator.cxx.
References Interpolate().
Referenced by Sigma().
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().
Float_t CbmTrdRadiator::GetMuCO2 | ( | Float_t | energyMeV | ) |
Definition at line 1329 of file CbmTrdRadiator.cxx.
References Interpolate().
Referenced by SigmaDet().
Float_t CbmTrdRadiator::GetMuKa | ( | Float_t | energyMeV | ) |
Definition at line 1178 of file CbmTrdRadiator.cxx.
References Interpolate().
Float_t CbmTrdRadiator::GetMuMy | ( | Float_t | energyMeV | ) |
Definition at line 1361 of file CbmTrdRadiator.cxx.
References Interpolate().
Referenced by Sigma(), and SigmaWin().
Float_t CbmTrdRadiator::GetMuPo | ( | Float_t | energyMeV | ) |
Definition at line 1235 of file CbmTrdRadiator.cxx.
References Interpolate().
Referenced by Sigma().
Float_t CbmTrdRadiator::GetMuPok | ( | Float_t | energyMeV | ) |
Definition at line 1153 of file CbmTrdRadiator.cxx.
References Interpolate().
Referenced by Sigma().
Float_t CbmTrdRadiator::GetMuXe | ( | Float_t | energyMeV | ) |
Definition at line 1296 of file CbmTrdRadiator.cxx.
References Interpolate().
Referenced by SigmaDet().
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().
void CbmTrdRadiator::Init | ( | ) |
Init function
Definition at line 405 of file CbmTrdRadiator.cxx.
References CreateHistograms(), fCom1, fCom2, fDetType, fFinal, fFoilDens, fFoilMaterial, fFoilOmega, fFoilThick, fGapDens, fGapOmega, fGapThick, fGasThick, fNFoils, fNMom, fnPhotonCorr, fRadType, fSimpleTR, fWinDens, fWinThick, CbmTrdGas::GetCO2(), CbmTrdGas::GetDetType(), CbmTrdGas::GetGasThick(), CbmTrdGas::GetNobleGas(), i, CbmTrdGas::Init(), CbmTrdGas::Instance(), and ProduceSpectra().
void CbmTrdRadiator::Init | ( | Bool_t | SimpleTR, |
Int_t | Nfoils, | ||
Float_t | FoilThick, | ||
Float_t | GapThick | ||
) |
Init function
Definition at line 317 of file CbmTrdRadiator.cxx.
References CreateHistograms(), fCom1, fCom2, fDetType, fFinal, fFoilDens, fFoilOmega, fFoilThick, fGapDens, fGapOmega, fGapThick, fGasThick, fNFoils, fNMom, fnPhotonCorr, fSimpleTR, fWinDens, fWinThick, CbmTrdGas::GetCO2(), CbmTrdGas::GetDetType(), CbmTrdGas::GetGasThick(), CbmTrdGas::GetNobleGas(), i, CbmTrdGas::Init(), CbmTrdGas::Instance(), and ProduceSpectra().
void CbmTrdRadiator::Init | ( | Bool_t | SimpleTR, |
Int_t | Nfoils, | ||
Float_t | FoilThick, | ||
Float_t | GapTick, | ||
TString | material = "polyethylen" |
||
) |
Init function
Definition at line 201 of file CbmTrdRadiator.cxx.
References CreateHistograms(), fCom1, fCom2, fDetType, fFinal, fFoilDens, fFoilMaterial, fFoilOmega, fFoilThick, fGapDens, fGapOmega, fGapThick, fGasThick, fNFoils, fNMom, fnPhotonCorr, fSimpleTR, fWinDens, fWinThick, CbmTrdGas::GetCO2(), CbmTrdGas::GetDetType(), CbmTrdGas::GetGasThick(), CbmTrdGas::GetNobleGas(), i, CbmTrdGas::Init(), CbmTrdGas::Instance(), and ProduceSpectra().
Referenced by CbmTrdDigitizer::Init().
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().
Bool_t CbmTrdRadiator::LatticeHit | ( | const CbmTrdPoint * | point | ) |
Definition at line 618 of file CbmTrdRadiator.cxx.
References CbmTrdPoint::GetXIn(), CbmTrdPoint::GetXOut(), CbmTrdPoint::GetYIn(), CbmTrdPoint::GetYOut(), CbmTrdPoint::GetZIn(), CbmTrdPoint::GetZOut(), i, and pos.
Referenced by CbmTrdQa::Exec(), CbmTrdModuleSimR::MakeDigi(), and CbmTrdModuleSimT::MakeDigi().
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().
|
private |
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().
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().
|
inline |
Definition at line 136 of file CbmTrdRadiator.h.
References fFoilThick.
|
inline |
Definition at line 137 of file CbmTrdRadiator.h.
References fGapThick.
|
inline |
Setters for private data memebers
Definition at line 135 of file CbmTrdRadiator.h.
References fNFoils.
void CbmTrdRadiator::SetSigma | ( | Int_t | SigmaT | ) |
Definition at line 1035 of file CbmTrdRadiator.cxx.
References fSigma, fSigmaDet, fSigmaWin, fSpBinWidth, fSpNBins, Sigma(), SigmaDet(), and SigmaWin().
Referenced by DetTRspectrum(), TRspectrum(), and WinTRspectrum().
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().
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().
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().
Int_t CbmTrdRadiator::TRspectrum | ( | ) |
Compute the TR spectrum
Definition at line 862 of file CbmTrdRadiator.cxx.
References fDetSpectrum, fDetSpectrumA, fFoilOmega, fFoilThickCorr, fGapOmega, fGapThickCorr, fNFoils, fSigma, fSpBinWidth, fSpectrum, fSpNBins, GammaF(), xMath::Pi(), and SetSigma().
Referenced by ProcessTR().
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().
|
private |
Definition at line 179 of file CbmTrdRadiator.h.
Referenced by Init(), and SigmaDet().
|
private |
Definition at line 180 of file CbmTrdRadiator.h.
Referenced by Init(), and SigmaDet().
|
private |
TR absorbed in Detector.
Definition at line 195 of file CbmTrdRadiator.h.
Referenced by CreateHistograms(), DetTRspectrum(), TRspectrum(), WinTRspectrum(), and ~CbmTrdRadiator().
|
private |
TR spectra in gas-window foil.
Definition at line 194 of file CbmTrdRadiator.h.
Referenced by CreateHistograms(), DetTRspectrum(), ELoss(), ProduceSpectra(), TRspectrum(), and ~CbmTrdRadiator().
|
private |
Definition at line 148 of file CbmTrdRadiator.h.
Referenced by Init(), and ProcessTR().
|
private |
Definition at line 205 of file CbmTrdRadiator.h.
Referenced by ELoss(), GetTR(), and ProcessTR().
|
private |
[fNMom] Track momenta for which spectra
Definition at line 201 of file CbmTrdRadiator.h.
Referenced by CbmTrdRadiator(), CreateHistograms(), ELoss(), Init(), ProduceSpectra(), and ~CbmTrdRadiator().
|
private |
Definition at line 149 of file CbmTrdRadiator.h.
Referenced by ProcessTR(), and WinTRspectrum().
|
private |
Definition at line 160 of file CbmTrdRadiator.h.
|
private |
Definition at line 154 of file CbmTrdRadiator.h.
|
private |
Definition at line 162 of file CbmTrdRadiator.h.
Referenced by Init(), and TRspectrum().
|
private |
Definition at line 152 of file CbmTrdRadiator.h.
Referenced by Init(), ProcessTR(), and SetFoilThick().
|
private |
Definition at line 168 of file CbmTrdRadiator.h.
Referenced by ProcessTR(), Sigma(), and TRspectrum().
|
private |
Definition at line 161 of file CbmTrdRadiator.h.
|
private |
Definition at line 163 of file CbmTrdRadiator.h.
Referenced by Init(), and TRspectrum().
|
private |
Definition at line 153 of file CbmTrdRadiator.h.
Referenced by Init(), ProcessTR(), and SetGapThick().
|
private |
Definition at line 169 of file CbmTrdRadiator.h.
Referenced by ProcessTR(), Sigma(), and TRspectrum().
|
private |
Definition at line 155 of file CbmTrdRadiator.h.
Referenced by Init(), ProcessTR(), and SigmaDet().
|
private |
Definition at line 170 of file CbmTrdRadiator.h.
Referenced by ProcessTR().
|
private |
Definition at line 207 of file CbmTrdRadiator.h.
Referenced by GammaF(), GetTR(), ProcessTR(), and ProduceSpectra().
|
private |
Definition at line 151 of file CbmTrdRadiator.h.
Referenced by Init(), SetNFoils(), and TRspectrum().
|
staticprivate |
TR passed through Detector.
Definition at line 197 of file CbmTrdRadiator.h.
Referenced by CbmTrdRadiator(), CreateHistograms(), GetTR(), Init(), ProduceSpectra(), and ~CbmTrdRadiator().
|
private |
Definition at line 164 of file CbmTrdRadiator.h.
|
private |
Definition at line 203 of file CbmTrdRadiator.h.
Referenced by DetTRspectrum(), ELoss(), ProcessTR(), and ProduceSpectra().
|
private |
Absorption spectra for different momenta.
Definition at line 202 of file CbmTrdRadiator.h.
Referenced by ELoss(), and ProduceSpectra().
|
private |
Definition at line 173 of file CbmTrdRadiator.h.
|
private |
Definition at line 147 of file CbmTrdRadiator.h.
Referenced by Init().
|
private |
Definition at line 187 of file CbmTrdRadiator.h.
Referenced by SetSigma(), and TRspectrum().
|
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().
|
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().
|
private |
Definition at line 150 of file CbmTrdRadiator.h.
|
private |
Definition at line 184 of file CbmTrdRadiator.h.
Referenced by CreateHistograms(), DetTRspectrum(), SetSigma(), and TRspectrum().
|
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().
|
staticprivate |
Definition at line 182 of file CbmTrdRadiator.h.
Referenced by CreateHistograms(), DetTRspectrum(), ProduceSpectra(), SetSigma(), TRspectrum(), and WinTRspectrum().
|
staticprivate |
Definition at line 183 of file CbmTrdRadiator.h.
Referenced by CreateHistograms().
|
private |
Definition at line 198 of file CbmTrdRadiator.h.
Referenced by GetTR(), and ProduceSpectra().
|
private |
Definition at line 176 of file CbmTrdRadiator.h.
Referenced by Init(), and SigmaWin().
TString CbmTrdRadiator::fWindowFoil |
Definition at line 112 of file CbmTrdRadiator.h.
|
private |
TR photon energy spectrum.
Definition at line 193 of file CbmTrdRadiator.h.
Referenced by CreateHistograms(), DetTRspectrum(), WinTRspectrum(), and ~CbmTrdRadiator().
|
private |
Definition at line 177 of file CbmTrdRadiator.h.
Referenced by Init(), and SigmaWin().