CbmRoot
Loading...
Searching...
No Matches
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.
 
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 CbmTrdParModGasoperator= (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
 

Detailed Description

Definition of gas parameters for one TRD module.

Definition at line 20 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 22 of file CbmTrdParModGas.h.

Constructor & Destructor Documentation

◆ CbmTrdParModGas() [1/2]

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.

◆ ~CbmTrdParModGas()

CbmTrdParModGas::~CbmTrdParModGas ( )
virtual

Definition at line 82 of file CbmTrdParModGas.cxx.

◆ CbmTrdParModGas() [2/2]

CbmTrdParModGas::CbmTrdParModGas ( const CbmTrdParModGas & ref)
private

Member Function Documentation

◆ EfCkeV()

Float_t CbmTrdParModGas::EfCkeV ( Float_t efc) const

Convert pad-plane charge in fC to energy deposit [keV] taking into account the gas gain.

Parameters
[in]efccharge in fC
Returns
energy deposit in keV

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().

◆ 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 88 of file CbmTrdParModGas.cxx.

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

Referenced by CbmTrdModuleSim2D::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 166 of file CbmTrdParModGas.cxx.

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

Referenced by CbmTrdModuleSim2D::MakeDigi().

◆ GetCO2()

Double_t CbmTrdParModGas::GetCO2 ( ) const
inline

Definition at line 33 of file CbmTrdParModGas.h.

References fPercentCO2.

◆ GetConfig()

virtual uint16_t CbmTrdParMod::GetConfig ( ) const
inlinevirtualinherited

Definition at line 17 of file CbmTrdParMod.h.

References CbmTrdParMod::fConfig.

◆ GetDetName()

const Char_t * CbmTrdParModGas::GetDetName ( ) const
inline

Definition at line 34 of file CbmTrdParModGas.h.

References GetDetType().

Referenced by Print().

◆ GetDetType()

Int_t CbmTrdParModGas::GetDetType ( ) const
inline

Definition at line 35 of file CbmTrdParModGas.h.

References fConfig, kDetType, and TESTBIT.

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

◆ GetDriftTime()

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().

◆ GetElectricPotential()

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

Definition at line 37 of file CbmTrdParModGas.h.

◆ GetFileName()

TString CbmTrdParModGas::GetFileName ( ) const
inline

Definition at line 57 of file CbmTrdParModGas.h.

References fFileNamePID.

Referenced by CbmTrdParSetGas::putParams().

◆ GetModuleId()

virtual int CbmTrdParMod::GetModuleId ( ) const
inlinevirtualinherited

◆ GetNobleGas()

Double_t CbmTrdParModGas::GetNobleGas ( ) const
inline

Definition at line 58 of file CbmTrdParModGas.h.

References fPercentCO2.

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

◆ GetNobleGasName()

const Char_t * CbmTrdParModGas::GetNobleGasName ( ) const
inline

Definition at line 59 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 185 of file CbmTrdParModGas.cxx.

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

Referenced by CbmTrdModuleSim2D::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 195 of file CbmTrdParModGas.cxx.

References fgkBindingEnergy, GetNobleGasType(), and NSHELLS.

Referenced by CbmTrdModuleSim2D::MakeDigi().

◆ GetPidType()

Int_t CbmTrdParModGas::GetPidType ( ) const
inline

Definition at line 70 of file CbmTrdParModGas.h.

References fConfig, kPID, and TESTBIT.

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 149 of file CbmTrdParModGas.cxx.

References GetNobleGasType().

Referenced by GetBindingEnergy(), and GetNonIonizingBR().

◆ GetUanode()

UShort_t CbmTrdParModGas::GetUanode ( ) const
inline

Definition at line 75 of file CbmTrdParModGas.h.

References fUa.

Referenced by CbmTrdParSetGas::putParams().

◆ GetUdrift()

UShort_t CbmTrdParModGas::GetUdrift ( ) const
inline

Definition at line 76 of file CbmTrdParModGas.h.

References fUd.

Referenced by CbmTrdParSetGas::putParams().

◆ GetVersion()

virtual uint8_t CbmTrdParMod::GetVersion ( ) const
inlinevirtualinherited

Definition at line 19 of file CbmTrdParMod.h.

References CbmTrdParMod::fVersion.

◆ 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 229 of file CbmTrdParModGas.cxx.

References fDriftMap, fDw, and VERBOSE.

Referenced by CbmTrdModuleSim2D::MakeDigi().

◆ SetCO2()

void CbmTrdParModGas::SetCO2 ( Double_t p)
inline

Definition at line 99 of file CbmTrdParModGas.h.

References fPercentCO2.

◆ SetConfigId()

virtual void CbmTrdParMod::SetConfigId ( uint16_t c)
inlinevirtualinherited

Definition at line 21 of file CbmTrdParMod.h.

References CbmTrdParMod::fConfig.

◆ SetDetType()

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

Definition at line 98 of file CbmTrdParModGas.h.

References CLRBIT, fConfig, kDetType, and SETBIT.

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 277 of file CbmTrdParModGas.cxx.

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

◆ SetDw()

void CbmTrdParModGas::SetDw ( Double_t dw)
inline

Definition at line 96 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 100 of file CbmTrdParModGas.h.

References fFileNamePID.

◆ SetGasThick()

void CbmTrdParModGas::SetGasThick ( Double_t sz)
inline

Definition at line 97 of file CbmTrdParModGas.h.

References fGasThick.

◆ SetModuleId()

virtual void CbmTrdParMod::SetModuleId ( int m)
inlinevirtualinherited

◆ SetNobleGas()

void CbmTrdParModGas::SetNobleGas ( Double_t p)
inline

Definition at line 101 of file CbmTrdParModGas.h.

References fPercentCO2.

◆ SetNobleGasType()

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

Definition at line 102 of file CbmTrdParModGas.h.

References CLRBIT, fConfig, kNobleGasType, and SETBIT.

Referenced by CbmTrdParModGas().

◆ SetPidType()

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

Definition at line 103 of file CbmTrdParModGas.h.

References CLRBIT, fConfig, kPID, and SETBIT.

Referenced by CbmTrdParManager::CreateModuleParameters().

◆ SetVersion()

virtual void CbmTrdParMod::SetVersion ( uint8_t v)
inlinevirtualinherited

Definition at line 23 of file CbmTrdParMod.h.

References CbmTrdParMod::fVersion, and v.

Member Data Documentation

◆ fConfig

Int_t CbmTrdParModGas::fConfig
private

config TRD gas see CbmTrdParModGasDef

Definition at line 114 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 120 of file CbmTrdParModGas.h.

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

◆ fDw

Double_t CbmTrdParModGas::fDw
private

anode wire pitch

Definition at line 117 of file CbmTrdParModGas.h.

Referenced by ScanDriftTime(), and SetDw().

◆ fFileNamePID

TString CbmTrdParModGas::fFileNamePID
private

filename for PID database

Definition at line 121 of file CbmTrdParModGas.h.

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

◆ fGasThick

Double_t CbmTrdParModGas::fGasThick
private

gas thickness

Definition at line 118 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 22 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 27 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 127 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 38 of file CbmTrdParModGas.h.

Referenced by EfCkeV(), and 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 32 of file CbmTrdParModGas.h.

Referenced by EfCkeV(), and EkevFC().

◆ fModuleId

int CbmTrdParMod::fModuleId = 0
protectedinherited

◆ fPercentCO2

Double_t CbmTrdParModGas::fPercentCO2
private

Percentage of CO2.

Definition at line 119 of file CbmTrdParModGas.h.

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

◆ fUa

UShort_t CbmTrdParModGas::fUa
private

anode voltage

Definition at line 115 of file CbmTrdParModGas.h.

Referenced by CbmTrdParModGas(), EfCkeV(), EkevFC(), GetUanode(), Print(), SetDriftMap(), and SetElectricPotential().

◆ fUd

UShort_t CbmTrdParModGas::fUd
private

drift voltage

Definition at line 116 of file CbmTrdParModGas.h.

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

◆ fVersion

uint8_t CbmTrdParMod::fVersion = 0
protectedinherited

version of the parameter

Definition at line 26 of file CbmTrdParMod.h.

Referenced by CbmTrdParModDigi::GetPadPlaneType(), CbmTrdParMod::GetVersion(), and CbmTrdParMod::SetVersion().


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