CbmRoot
CbmTrdParModGas Class Reference

Definition of gas parameters for one TRD module. More...

#include <CbmTrdParModGas.h>

Inheritance diagram for CbmTrdParModGas:
[legend]
Collaboration diagram for CbmTrdParModGas:
[legend]

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. More...
 
Float_t EkevFC (Float_t ekev) const
 Convert Energy debposit in keV to pad-plane charge taking into account the gas gain. More...
 
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. More...
 
Char_t GetPEshell (Float_t Ex) const
 Get first atomic shell which can be excited by PE effect. More...
 
Int_t GetPidType () const
 
Int_t GetShellId (const Char_t shell) const
 Get atomic shell index. More...
 
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. More...
 
void SetDriftMap (TH2F *hm, TDirectory *d)
 Load drift map for current settings from repository. More...
 
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 Int_t GetModuleId () const
 
virtual void SetModuleId (Int_t m)
 

Protected Attributes

Int_t fModuleId
 module id More...
 

Private Member Functions

 CbmTrdParModGas (const CbmTrdParModGas &ref)
 
const CbmTrdParModGasoperator= (const CbmTrdParModGas &ref)
 

Private Attributes

Int_t fConfig
 config TRD gas see CbmTrdParModGasDef More...
 
UShort_t fUa
 anode voltage More...
 
UShort_t fUd
 drift voltage More...
 
Double_t fDw
 anode wire pitch More...
 
Double_t fGasThick
 gas thickness More...
 
Double_t fPercentCO2
 Percentage of CO2. More...
 
TH2F * fDriftMap
 drift time map for one amplification cell More...
 
TString fFileNamePID
 filename for PID database More...
 

Static Private Attributes

static Float_t fgkBindingEnergy [2][NSHELLS]
 binding energy in keV for first atomic shells of Ar and Xe More...
 
static Float_t fgkBR [2][NSHELLS - 1]
 branching ratio for non-ionizing decay of Ar and Xe More...
 
static Float_t fgkWi [3]
 average energy to produce one electron-ion pair for ar, xe and co2 More...
 
static Float_t fgkGGainUaPar [2] = {-10.1676, 8.3745}
 gas gaian parametrization on Ua for Ar on Buch detector More...
 
static Float_t fgkE0 = 866.1047
 min energy [ADC ch] which can be measured More...
 

Detailed Description

Definition of gas parameters for one TRD module.

Definition at line 16 of file CbmTrdParModGas.h.

Member Enumeration Documentation

◆ CbmTrdParModGasDef

Enumerator
kDetType 
kNobleGasType 

Type of noble gas (Xe=0, Ar=1)

kPID 

PID Method (ANN=0, Likelihood=1)

Definition at line 18 of file CbmTrdParModGas.h.

Constructor & Destructor Documentation

◆ CbmTrdParModGas() [1/2]

CbmTrdParModGas::CbmTrdParModGas ( const char *  title = "TRD gas properties definition")

Definition at line 38 of file CbmTrdParModGas.cxx.

References CbmTrdParMod::fModuleId, fUa, fUd, SetNobleGasType(), and VERBOSE.

◆ ~CbmTrdParModGas()

CbmTrdParModGas::~CbmTrdParModGas ( )
virtual

Definition at line 80 of file CbmTrdParModGas.cxx.

◆ CbmTrdParModGas() [2/2]

CbmTrdParModGas::CbmTrdParModGas ( const CbmTrdParModGas ref)
private

Member Function Documentation

◆ EkevFC()

Float_t CbmTrdParModGas::EkevFC ( Float_t  ekev) const

Convert Energy debposit in keV to pad-plane charge taking into account the gas gain.

Parameters
[in]ekevEnergy deposit in keV
Returns
charge at FASP input in fC

Definition at line 85 of file CbmTrdParModGas.cxx.

References fgkGGainUaPar, fgkWi, fPercentCO2, fUa, GetNobleGasType(), and VERBOSE.

Referenced by CbmTrdModuleSimT::MakeDigi().

◆ GetBindingEnergy()

Float_t CbmTrdParModGas::GetBindingEnergy ( const Char_t  shell = 'K',
Bool_t  main = kTRUE 
) const

Get binding energy for the working gas.

Parameters
[in]shellshell id in capitals e.g. K, L, M ...
See also
GetPEshell()
Parameters
[in]mainswitch between main and escape peak [main=true]

Definition at line 143 of file CbmTrdParModGas.cxx.

References fgkBindingEnergy, GetNobleGasType(), GetShellId(), and NSHELLS.

Referenced by CbmTrdModuleSimT::MakeDigi().

◆ GetCO2()

Double_t CbmTrdParModGas::GetCO2 ( ) const
inline

Definition at line 28 of file CbmTrdParModGas.h.

References fPercentCO2.

◆ GetDetName()

const Char_t* CbmTrdParModGas::GetDetName ( ) const
inline

Definition at line 29 of file CbmTrdParModGas.h.

References GetDetType().

Referenced by Print().

◆ GetDetType()

Int_t CbmTrdParModGas::GetDetType ( ) const
inline

Definition at line 30 of file CbmTrdParModGas.h.

References fConfig, and kDetType.

Referenced by GetDetName(), and CbmTrdParSetGas::putParams().

◆ GetDriftTime()

Double_t CbmTrdParModGas::GetDriftTime ( Double_t  y0,
Double_t  z0 
) const

Definition at line 189 of file CbmTrdParModGas.cxx.

References fDriftMap, and VERBOSE.

Referenced by CbmTrdModuleSimT::MakeDigi().

◆ GetElectricPotential()

void CbmTrdParModGas::GetElectricPotential ( Int_t &  ua,
Int_t &  ud 
) const
inline

Definition at line 32 of file CbmTrdParModGas.h.

References fUa, and fUd.

◆ GetFileName()

TString CbmTrdParModGas::GetFileName ( ) const
inline

Definition at line 46 of file CbmTrdParModGas.h.

References fFileNamePID.

◆ GetModuleId()

virtual Int_t CbmTrdParMod::GetModuleId ( ) const
inlinevirtualinherited

◆ GetNobleGas()

Double_t CbmTrdParModGas::GetNobleGas ( ) const
inline

Definition at line 47 of file CbmTrdParModGas.h.

References fPercentCO2.

Referenced by Print(), and CbmTrdParSetGas::putParams().

◆ GetNobleGasName()

const Char_t* CbmTrdParModGas::GetNobleGasName ( ) const
inline

Definition at line 48 of file CbmTrdParModGas.h.

References GetNobleGasType().

Referenced by Print().

◆ GetNobleGasType()

Int_t CbmTrdParModGas::GetNobleGasType ( ) const
inline

◆ GetNonIonizingBR()

Float_t CbmTrdParModGas::GetNonIonizingBR ( const Char_t  shell = 'K') const

Get branching ration for radiative process on the.

Parameters
[in]shellshell id in capitals e.g. K, L, M ...
See also
GetPEshell()

Definition at line 165 of file CbmTrdParModGas.cxx.

References fgkBR, GetNobleGasType(), and GetShellId().

Referenced by CbmTrdModuleSimT::MakeDigi().

◆ GetPEshell()

Char_t CbmTrdParModGas::GetPEshell ( Float_t  Ex) const

Get first atomic shell which can be excited by PE effect.

Parameters
[in]Exenergy of the incident X [keV]
Returns
atomic shell name

Definition at line 174 of file CbmTrdParModGas.cxx.

References fgkBindingEnergy, GetNobleGasType(), and NSHELLS.

Referenced by CbmTrdModuleSimT::MakeDigi().

◆ GetPidType()

Int_t CbmTrdParModGas::GetPidType ( ) const
inline

Definition at line 63 of file CbmTrdParModGas.h.

References fConfig, and kPID.

Referenced by Print(), and CbmTrdParSetGas::putParams().

◆ GetShellId()

Int_t CbmTrdParModGas::GetShellId ( const Char_t  shell) const

Get atomic shell index.

Parameters
[in]shellshell name

Return index of atomic shell. shell name can be 'K', 'L' and 'M'

Definition at line 126 of file CbmTrdParModGas.cxx.

References GetNobleGasType().

Referenced by GetBindingEnergy(), and GetNonIonizingBR().

◆ GetUanode()

UShort_t CbmTrdParModGas::GetUanode ( ) const
inline

Definition at line 68 of file CbmTrdParModGas.h.

References fUa.

Referenced by CbmTrdParSetGas::putParams().

◆ GetUdrift()

UShort_t CbmTrdParModGas::GetUdrift ( ) const
inline

Definition at line 69 of file CbmTrdParModGas.h.

References fUd.

Referenced by CbmTrdParSetGas::putParams().

◆ operator=()

const CbmTrdParModGas& CbmTrdParModGas::operator= ( const CbmTrdParModGas ref)
private

◆ Print()

void CbmTrdParModGas::Print ( Option_t *  opt = "") const
virtual

◆ ScanDriftTime()

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.

Parameters
y0entry point on y in amplification cell coordinates (+- anode pitch/2)
z0entry point on z (+- chmb_height/2)
dzdyTrack angle in the y-z plane
dytrack span on y
See also
CbmTrdModuleSimT::ScanPadPlane() CbmTrdModuleSimT::AddDigi()
Author
A.Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro

Definition at line 210 of file CbmTrdParModGas.cxx.

References fDriftMap, fDw, VERBOSE, and z1.

Referenced by CbmTrdModuleSimT::MakeDigi().

◆ SetCO2()

void CbmTrdParModGas::SetCO2 ( Double_t  p)
inline

Definition at line 95 of file CbmTrdParModGas.h.

References fPercentCO2.

◆ SetDetType()

void CbmTrdParModGas::SetDetType ( Int_t  gsi = 0)
inline

Definition at line 92 of file CbmTrdParModGas.h.

References fConfig, and kDetType.

Referenced by CbmTrdParManager::CreateModuleParameters().

◆ SetDriftMap()

void CbmTrdParModGas::SetDriftMap ( TH2F *  hm,
TDirectory *  d 
)

Load drift map for current settings from repository.

Parameters
[in]hmhistogram obtained as interpolation
[in]dROOT directory of CbmRoot
See also
CbmTrdParSetGas::GetDriftMap()

Load drift map in the module and get ownership

Definition at line 265 of file CbmTrdParModGas.cxx.

References d, fDriftMap, CbmTrdParMod::fModuleId, fUa, fUd, and VERBOSE.

◆ SetDw()

void CbmTrdParModGas::SetDw ( Double_t  dw)
inline

Definition at line 90 of file CbmTrdParModGas.h.

References fDw.

◆ SetElectricPotential()

void CbmTrdParModGas::SetElectricPotential ( Int_t  ua,
Int_t  ud 
)
inline

Definition at line 104 of file CbmTrdParModGas.h.

References fUa, and fUd.

◆ SetFileName()

void CbmTrdParModGas::SetFileName ( const Char_t *  fn)
inline

Definition at line 96 of file CbmTrdParModGas.h.

References fFileNamePID.

◆ SetGasThick()

void CbmTrdParModGas::SetGasThick ( Double_t  sz)
inline

Definition at line 91 of file CbmTrdParModGas.h.

References fGasThick.

◆ SetModuleId()

virtual void CbmTrdParMod::SetModuleId ( Int_t  m)
inlinevirtualinherited

Definition at line 17 of file CbmTrdParMod.h.

References CbmTrdParMod::fModuleId, and m.

Referenced by CbmTrdParManager::CreateModuleParameters().

◆ SetNobleGas()

void CbmTrdParModGas::SetNobleGas ( Double_t  p)
inline

Definition at line 97 of file CbmTrdParModGas.h.

References fPercentCO2.

◆ SetNobleGasType()

void CbmTrdParModGas::SetNobleGasType ( Int_t  ar = 1)
inline

Definition at line 98 of file CbmTrdParModGas.h.

References fConfig, and kNobleGasType.

Referenced by CbmTrdParModGas().

◆ SetPidType()

void CbmTrdParModGas::SetPidType ( Int_t  like = 1)
inline

Definition at line 101 of file CbmTrdParModGas.h.

References fConfig, and kPID.

Referenced by CbmTrdParManager::CreateModuleParameters().

Member Data Documentation

◆ fConfig

Int_t CbmTrdParModGas::fConfig
private

config TRD gas see CbmTrdParModGasDef

Definition at line 113 of file CbmTrdParModGas.h.

Referenced by GetDetType(), GetNobleGasType(), GetPidType(), SetDetType(), SetNobleGasType(), and SetPidType().

◆ fDriftMap

TH2F* CbmTrdParModGas::fDriftMap
private

drift time map for one amplification cell

Definition at line 119 of file CbmTrdParModGas.h.

Referenced by GetDriftTime(), ScanDriftTime(), and SetDriftMap().

◆ fDw

Double_t CbmTrdParModGas::fDw
private

anode wire pitch

Definition at line 116 of file CbmTrdParModGas.h.

Referenced by ScanDriftTime(), and SetDw().

◆ fFileNamePID

TString CbmTrdParModGas::fFileNamePID
private

filename for PID database

Definition at line 120 of file CbmTrdParModGas.h.

Referenced by GetFileName(), Print(), and SetFileName().

◆ fGasThick

Double_t CbmTrdParModGas::fGasThick
private

gas thickness

Definition at line 117 of file CbmTrdParModGas.h.

Referenced by SetGasThick().

◆ fgkBindingEnergy

Float_t CbmTrdParModGas::fgkBindingEnergy
staticprivate
Initial value:
= {
{34.5, 5.1, 1.1},
{3.2, 0.25, 0.1}
}

binding energy in keV for first atomic shells of Ar and Xe

Definition at line 122 of file CbmTrdParModGas.h.

Referenced by GetBindingEnergy(), and GetPEshell().

◆ fgkBR

Float_t CbmTrdParModGas::fgkBR
staticprivate
Initial value:
= {
{0.11, 0.02},
{0.11, 0.02}
}

branching ratio for non-ionizing decay of Ar and Xe

Definition at line 126 of file CbmTrdParModGas.h.

Referenced by GetNonIonizingBR().

◆ fgkE0

Float_t CbmTrdParModGas::fgkE0 = 866.1047
staticprivate

min energy [ADC ch] which can be measured

Definition at line 132 of file CbmTrdParModGas.h.

◆ fgkGGainUaPar

Float_t CbmTrdParModGas::fgkGGainUaPar = {-10.1676, 8.3745}
staticprivate

gas gaian parametrization on Ua for Ar on Buch detector

Definition at line 130 of file CbmTrdParModGas.h.

Referenced by EkevFC().

◆ fgkWi

Float_t CbmTrdParModGas::fgkWi
staticprivate
Initial value:
= {
23.1,
25.8,
33
}

average energy to produce one electron-ion pair for ar, xe and co2

Definition at line 128 of file CbmTrdParModGas.h.

Referenced by EkevFC().

◆ fModuleId

Int_t CbmTrdParMod::fModuleId
protectedinherited

◆ fPercentCO2

Double_t CbmTrdParModGas::fPercentCO2
private

Percentage of CO2.

Definition at line 118 of file CbmTrdParModGas.h.

Referenced by EkevFC(), GetCO2(), GetNobleGas(), SetCO2(), and SetNobleGas().

◆ fUa

UShort_t CbmTrdParModGas::fUa
private

◆ fUd

UShort_t CbmTrdParModGas::fUd
private

drift voltage

Definition at line 115 of file CbmTrdParModGas.h.

Referenced by CbmTrdParModGas(), GetElectricPotential(), GetUdrift(), Print(), SetDriftMap(), and SetElectricPotential().


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