CbmRoot
|
Definition of gas parameters for one TRD module. More...
#include <CbmTrdParModGas.h>
Public Types | |
enum | CbmTrdParModGasDef { kDetType = 0 , kNobleGasType , kPID } |
Public Member Functions | |
CbmTrdParModGas (const char *title="TRD gas properties definition") | |
virtual | ~CbmTrdParModGas () |
Double_t | GetCO2 () const |
const Char_t * | GetDetName () const |
Int_t | GetDetType () const |
Double_t | GetDriftTime (Double_t y0, Double_t z0) const |
void | GetElectricPotential (Int_t &ua, Int_t &ud) const |
Float_t | GetBindingEnergy (const Char_t shell='K', Bool_t main=kTRUE) const |
Get binding energy for the working gas. | |
Float_t | EkevFC (Float_t ekev) const |
Convert Energy debposit in keV to pad-plane charge taking into account the gas gain. | |
Float_t | EfCkeV (Float_t efc) const |
Convert pad-plane charge in fC to energy deposit [keV] taking into account the gas gain. | |
TString | GetFileName () const |
Double_t | GetNobleGas () const |
const Char_t * | GetNobleGasName () const |
Int_t | GetNobleGasType () const |
Float_t | GetNonIonizingBR (const Char_t shell='K') const |
Get branching ration for radiative process on the. | |
Char_t | GetPEshell (Float_t Ex) const |
Get first atomic shell which can be excited by PE effect. | |
Int_t | GetPidType () const |
Int_t | GetShellId (const Char_t shell) const |
Get atomic shell index. | |
UShort_t | GetUanode () const |
UShort_t | GetUdrift () const |
virtual void | Print (Option_t *opt="") const |
Double_t | ScanDriftTime (Double_t y0, Double_t z0, Double_t dzdy, Double_t dy) const |
Get prompt signal for track segment in the y-z plane. | |
void | SetDriftMap (TH2F *hm, TDirectory *d) |
Load drift map for current settings from repository. | |
void | SetDw (Double_t dw) |
void | SetGasThick (Double_t sz) |
void | SetDetType (Int_t gsi=0) |
void | SetCO2 (Double_t p) |
void | SetFileName (const Char_t *fn) |
void | SetNobleGas (Double_t p) |
void | SetNobleGasType (Int_t ar=1) |
void | SetPidType (Int_t like=1) |
void | SetElectricPotential (Int_t ua, Int_t ud) |
virtual uint16_t | GetConfig () const |
virtual int | GetModuleId () const |
virtual uint8_t | GetVersion () const |
virtual void | SetConfigId (uint16_t c) |
virtual void | SetModuleId (int m) |
virtual void | SetVersion (uint8_t v) |
Protected Attributes | |
uint8_t | fVersion = 0 |
version of the parameter | |
int | fModuleId = 0 |
module id | |
Private Member Functions | |
CbmTrdParModGas (const CbmTrdParModGas &ref) | |
const CbmTrdParModGas & | operator= (const CbmTrdParModGas &ref) |
Private Attributes | |
Int_t | fConfig |
config TRD gas see CbmTrdParModGasDef | |
UShort_t | fUa |
anode voltage | |
UShort_t | fUd |
drift voltage | |
Double_t | fDw |
anode wire pitch | |
Double_t | fGasThick |
gas thickness | |
Double_t | fPercentCO2 |
Percentage of CO2. | |
TH2F * | fDriftMap |
drift time map for one amplification cell | |
TString | fFileNamePID |
filename for PID database | |
Static Private Attributes | |
static Float_t | fgkBindingEnergy [2][NSHELLS] |
binding energy in keV for first atomic shells of Ar and Xe | |
static Float_t | fgkBR [2][NSHELLS - 1] |
branching ratio for non-ionizing decay of Ar and Xe | |
static Float_t | fgkWi [3] |
average energy to produce one electron-ion pair for ar, xe and co2 | |
static Float_t | fgkGGainUaPar [2] = {-10.1676, 8.3745} |
gas gaian parametrization on Ua for Ar on Buch detector | |
static Float_t | fgkE0 = 866.1047 |
min energy [ADC ch] which can be measured | |
Definition of gas parameters for one TRD module.
Definition at line 20 of file CbmTrdParModGas.h.
Enumerator | |
---|---|
kDetType | |
kNobleGasType | Type of noble gas (Xe=0, Ar=1) |
kPID | PID Method (ANN=0, Likelihood=1) |
Definition at line 22 of file CbmTrdParModGas.h.
CbmTrdParModGas::CbmTrdParModGas | ( | const char * | title = "TRD gas properties definition" | ) |
Definition at line 42 of file CbmTrdParModGas.cxx.
References CbmTrdParMod::fModuleId, fUa, fUd, SetNobleGasType(), and VERBOSE.
|
virtual |
Definition at line 82 of file CbmTrdParModGas.cxx.
|
private |
Float_t CbmTrdParModGas::EfCkeV | ( | Float_t | efc | ) | const |
Convert pad-plane charge in fC to energy deposit [keV] taking into account the gas gain.
[in] | efc | charge in fC |
Convert energy deposit to no of primary ionisations and apply gas gain. Currently gas gain is evaluated from 55Fe spectrum analysis on ArCO2(80/20)
Definition at line 122 of file CbmTrdParModGas.cxx.
References fgkGGainUaPar, fgkWi, fPercentCO2, fUa, GetNobleGasType(), and VERBOSE.
Referenced by CbmTrdModuleSim2D::AddDigi().
Float_t CbmTrdParModGas::EkevFC | ( | Float_t | ekev | ) | const |
Convert Energy debposit in keV to pad-plane charge taking into account the gas gain.
[in] | ekev | Energy deposit in keV |
Definition at line 88 of file CbmTrdParModGas.cxx.
References fgkGGainUaPar, fgkWi, fPercentCO2, fUa, GetNobleGasType(), and VERBOSE.
Referenced by CbmTrdModuleSim2D::MakeDigi().
Float_t CbmTrdParModGas::GetBindingEnergy | ( | const Char_t | shell = 'K', |
Bool_t | main = kTRUE ) const |
Get binding energy for the working gas.
[in] | shell | shell id in capitals e.g. K, L, M ... |
[in] | main | switch between main and escape peak [main=true] |
Definition at line 166 of file CbmTrdParModGas.cxx.
References fgkBindingEnergy, GetNobleGasType(), GetShellId(), main(), and NSHELLS.
Referenced by CbmTrdModuleSim2D::MakeDigi().
|
inline |
Definition at line 33 of file CbmTrdParModGas.h.
References fPercentCO2.
|
inlinevirtualinherited |
Definition at line 17 of file CbmTrdParMod.h.
References CbmTrdParMod::fConfig.
|
inline |
|
inline |
Definition at line 35 of file CbmTrdParModGas.h.
References fConfig, kDetType, and TESTBIT.
Referenced by GetDetName(), and CbmTrdParSetGas::putParams().
Double_t CbmTrdParModGas::GetDriftTime | ( | Double_t | y0, |
Double_t | z0 ) const |
Definition at line 210 of file CbmTrdParModGas.cxx.
References fDriftMap, and VERBOSE.
Referenced by CbmTrdModuleSim2D::MakeDigi().
|
inline |
Definition at line 37 of file CbmTrdParModGas.h.
|
inline |
Definition at line 57 of file CbmTrdParModGas.h.
References fFileNamePID.
Referenced by CbmTrdParSetGas::putParams().
|
inlinevirtualinherited |
Definition at line 18 of file CbmTrdParMod.h.
References CbmTrdParMod::fModuleId.
Referenced by CbmTrdParSet::addParam(), and CbmMcbm2018UnpackerAlgoTrdR::CreateHistogram().
|
inline |
Definition at line 58 of file CbmTrdParModGas.h.
References fPercentCO2.
Referenced by Print(), and CbmTrdParSetGas::putParams().
|
inline |
Definition at line 59 of file CbmTrdParModGas.h.
References GetNobleGasType().
Referenced by Print().
|
inline |
Definition at line 60 of file CbmTrdParModGas.h.
References fConfig, kNobleGasType, and TESTBIT.
Referenced by EfCkeV(), EkevFC(), GetBindingEnergy(), GetNobleGasName(), GetNonIonizingBR(), GetPEshell(), and GetShellId().
Float_t CbmTrdParModGas::GetNonIonizingBR | ( | const Char_t | shell = 'K' | ) | const |
Get branching ration for radiative process on the.
[in] | shell | shell id in capitals e.g. K, L, M ... |
Definition at line 185 of file CbmTrdParModGas.cxx.
References fgkBR, GetNobleGasType(), and GetShellId().
Referenced by CbmTrdModuleSim2D::MakeDigi().
Char_t CbmTrdParModGas::GetPEshell | ( | Float_t | Ex | ) | const |
Get first atomic shell which can be excited by PE effect.
[in] | Ex | energy of the incident X [keV] |
Definition at line 195 of file CbmTrdParModGas.cxx.
References fgkBindingEnergy, GetNobleGasType(), and NSHELLS.
Referenced by CbmTrdModuleSim2D::MakeDigi().
|
inline |
Definition at line 70 of file CbmTrdParModGas.h.
References fConfig, kPID, and TESTBIT.
Referenced by Print(), and CbmTrdParSetGas::putParams().
Int_t CbmTrdParModGas::GetShellId | ( | const Char_t | shell | ) | const |
Get atomic shell index.
[in] | shell | shell name |
Return index of atomic shell. shell name can be 'K', 'L' and 'M'
Definition at line 149 of file CbmTrdParModGas.cxx.
References GetNobleGasType().
Referenced by GetBindingEnergy(), and GetNonIonizingBR().
|
inline |
Definition at line 75 of file CbmTrdParModGas.h.
References fUa.
Referenced by CbmTrdParSetGas::putParams().
|
inline |
Definition at line 76 of file CbmTrdParModGas.h.
References fUd.
Referenced by CbmTrdParSetGas::putParams().
|
inlinevirtualinherited |
Definition at line 19 of file CbmTrdParMod.h.
References CbmTrdParMod::fVersion.
|
private |
|
virtual |
Definition at line 220 of file CbmTrdParModGas.cxx.
References fFileNamePID, CbmTrdParMod::fModuleId, fUa, fUd, GetDetName(), GetNobleGas(), GetNobleGasName(), and GetPidType().
Referenced by CbmTrdParManager::CreateModuleParameters().
Double_t CbmTrdParModGas::ScanDriftTime | ( | Double_t | y0, |
Double_t | z0, | ||
Double_t | dzdy, | ||
Double_t | dy ) const |
Get prompt signal for track segment in the y-z plane.
y0 | entry point on y in amplification cell coordinates (+- anode pitch/2) |
z0 | entry point on z (+- chmb_height/2) |
dzdy | Track angle in the y-z plane |
dy | track span on y |
Definition at line 229 of file CbmTrdParModGas.cxx.
References fDriftMap, fDw, and VERBOSE.
Referenced by CbmTrdModuleSim2D::MakeDigi().
|
inline |
Definition at line 99 of file CbmTrdParModGas.h.
References fPercentCO2.
|
inlinevirtualinherited |
Definition at line 21 of file CbmTrdParMod.h.
References CbmTrdParMod::fConfig.
|
inline |
Definition at line 98 of file CbmTrdParModGas.h.
References CLRBIT, fConfig, kDetType, and SETBIT.
Referenced by CbmTrdParManager::CreateModuleParameters().
void CbmTrdParModGas::SetDriftMap | ( | TH2F * | hm, |
TDirectory * | d ) |
Load drift map for current settings from repository.
[in] | hm | histogram obtained as interpolation |
[in] | d | ROOT directory of CbmRoot |
Load drift map in the module and get ownership
Definition at line 277 of file CbmTrdParModGas.cxx.
References fDriftMap, CbmTrdParMod::fModuleId, fUa, fUd, and VERBOSE.
|
inline |
Definition at line 96 of file CbmTrdParModGas.h.
References fDw.
|
inline |
Definition at line 104 of file CbmTrdParModGas.h.
|
inline |
Definition at line 100 of file CbmTrdParModGas.h.
References fFileNamePID.
|
inline |
Definition at line 97 of file CbmTrdParModGas.h.
References fGasThick.
|
inlinevirtualinherited |
Definition at line 22 of file CbmTrdParMod.h.
References CbmTrdParMod::fModuleId.
Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdParSetAsic::getParams(), and CbmTrdParSetGeo::Init().
|
inline |
Definition at line 101 of file CbmTrdParModGas.h.
References fPercentCO2.
|
inline |
Definition at line 102 of file CbmTrdParModGas.h.
References CLRBIT, fConfig, kNobleGasType, and SETBIT.
Referenced by CbmTrdParModGas().
|
inline |
Definition at line 103 of file CbmTrdParModGas.h.
References CLRBIT, fConfig, kPID, and SETBIT.
Referenced by CbmTrdParManager::CreateModuleParameters().
|
inlinevirtualinherited |
Definition at line 23 of file CbmTrdParMod.h.
References CbmTrdParMod::fVersion, and v.
|
private |
config TRD gas see CbmTrdParModGasDef
Definition at line 114 of file CbmTrdParModGas.h.
Referenced by GetDetType(), GetNobleGasType(), GetPidType(), SetDetType(), SetNobleGasType(), and SetPidType().
|
private |
drift time map for one amplification cell
Definition at line 120 of file CbmTrdParModGas.h.
Referenced by GetDriftTime(), ScanDriftTime(), and SetDriftMap().
|
private |
anode wire pitch
Definition at line 117 of file CbmTrdParModGas.h.
Referenced by ScanDriftTime(), and SetDw().
|
private |
filename for PID database
Definition at line 121 of file CbmTrdParModGas.h.
Referenced by GetFileName(), Print(), and SetFileName().
|
private |
|
staticprivate |
binding energy in keV for first atomic shells of Ar and Xe
Definition at line 22 of file CbmTrdParModGas.h.
Referenced by GetBindingEnergy(), and GetPEshell().
|
staticprivate |
branching ratio for non-ionizing decay of Ar and Xe
Definition at line 27 of file CbmTrdParModGas.h.
Referenced by GetNonIonizingBR().
|
staticprivate |
min energy [ADC ch] which can be measured
Definition at line 127 of file CbmTrdParModGas.h.
|
staticprivate |
gas gaian parametrization on Ua for Ar on Buch detector
Definition at line 38 of file CbmTrdParModGas.h.
|
staticprivate |
average energy to produce one electron-ion pair for ar, xe and co2
Definition at line 32 of file CbmTrdParModGas.h.
|
protectedinherited |
module id
Definition at line 28 of file CbmTrdParMod.h.
Referenced by CbmTrdParModGas(), CbmTrdParMod::GetModuleId(), CbmTrdParModDigi::Print(), Print(), SetDriftMap(), and CbmTrdParMod::SetModuleId().
|
private |
Percentage of CO2.
Definition at line 119 of file CbmTrdParModGas.h.
Referenced by EfCkeV(), EkevFC(), GetCO2(), GetNobleGas(), SetCO2(), and SetNobleGas().
|
private |
anode voltage
Definition at line 115 of file CbmTrdParModGas.h.
Referenced by CbmTrdParModGas(), EfCkeV(), EkevFC(), GetUanode(), Print(), SetDriftMap(), and SetElectricPotential().
|
private |
drift voltage
Definition at line 116 of file CbmTrdParModGas.h.
Referenced by CbmTrdParModGas(), GetUdrift(), Print(), SetDriftMap(), and SetElectricPotential().
|
protectedinherited |
version of the parameter
Definition at line 26 of file CbmTrdParMod.h.
Referenced by CbmTrdParModDigi::GetPadPlaneType(), CbmTrdParMod::GetVersion(), and CbmTrdParMod::SetVersion().