ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetSimUtils
TRT_PAI_Process
src
TRT_PAI_Process.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRT_PAI_Process_h
6
#define TRT_PAI_Process_h
7
8
#include "GaudiKernel/ServiceHandle.h"
9
#include "GaudiKernel/ToolHandle.h"
10
11
#include "
TRT_PAI_Process/ITRT_PAITool.h
"
12
#include "
TRT_PAI_gasMixture.h
"
13
14
#include "
AthenaBaseComps/AthAlgTool.h
"
15
16
#include <vector>
17
#include <string>
18
19
namespace
CLHEP
{
20
class
HepRandomEngine;
21
}
22
41
42
class
TRT_PAI_Process
final :
public
extends<AthAlgTool, ITRT_PAITool> {
43
44
public
:
45
49
TRT_PAI_Process
(
const
std::string&
type
,
50
const
std::string& name,
51
const
IInterface* parent );
61
virtual
StatusCode
initialize
()
override
final
;
62
63
virtual
StatusCode
finalize
()
override
final
;
64
73
virtual
double
GetMeanFreePath
(
double
scaledKineticEnergy,
74
double
squaredCharge)
const
override
final
;
85
virtual
double
GetEnergyTransfer
(
double
scaledKineticEnergy, CLHEP::HepRandomEngine *rndmEngine)
const
override
final
;
86
87
private
:
88
// Constants that define the span and granularity of the tables:
89
const
unsigned
int
m_nTabulatedGammaValues
{56};
90
const
double
m_gamExpMin
{-2.};
// Min Lorentz gamma: 1+10^(m_gamExpMin)
91
const
double
m_gamExpMax
{5.};
// Max Lorentz gamma: 1+10^(m_gamExpMax)
92
const
double
m_deltaGamExp
{};
93
94
// Arrays to hold tables:
95
std::vector<float>
m_en_array
;
96
std::vector< std::vector<float> >
m_fn_array
;
97
std::vector<float>
m_dndx
;
98
TRT_PAI_gasMixture
*
m_trtgas
{};
99
100
104
double
ScaledEkin2GamVarTab
(
double
scaledKineticEnergy)
const
;
105
106
std::string
m_gasType
{
"Auto"
};
107
108
};
109
110
#endif
AthAlgTool.h
ITRT_PAITool.h
TRT_PAI_gasMixture.h
TRT_PAI_Process::m_deltaGamExp
const double m_deltaGamExp
Definition
TRT_PAI_Process.h:92
TRT_PAI_Process::m_trtgas
TRT_PAI_gasMixture * m_trtgas
Definition
TRT_PAI_Process.h:98
TRT_PAI_Process::m_gasType
std::string m_gasType
Definition
TRT_PAI_Process.h:106
TRT_PAI_Process::TRT_PAI_Process
TRT_PAI_Process(const std::string &type, const std::string &name, const IInterface *parent)
Not much action.
Definition
TRT_PAI_Process.cxx:33
TRT_PAI_Process::finalize
virtual StatusCode finalize() override final
Definition
TRT_PAI_Process.cxx:234
TRT_PAI_Process::ScaledEkin2GamVarTab
double ScaledEkin2GamVarTab(double scaledKineticEnergy) const
Converting Lorentz gamma to table index (well, double).
Definition
TRT_PAI_Process.cxx:240
TRT_PAI_Process::GetEnergyTransfer
virtual double GetEnergyTransfer(double scaledKineticEnergy, CLHEP::HepRandomEngine *rndmEngine) const override final
Get the energy transferred from the charged particle to the gas (CLHEP units).
Definition
TRT_PAI_Process.cxx:278
TRT_PAI_Process::m_dndx
std::vector< float > m_dndx
Definition
TRT_PAI_Process.h:97
TRT_PAI_Process::m_fn_array
std::vector< std::vector< float > > m_fn_array
Definition
TRT_PAI_Process.h:96
TRT_PAI_Process::initialize
virtual StatusCode initialize() override final
Initialization of the PAI model:
Definition
TRT_PAI_Process.cxx:43
TRT_PAI_Process::GetMeanFreePath
virtual double GetMeanFreePath(double scaledKineticEnergy, double squaredCharge) const override final
Get the mean free path in gas (CLHEP units).
Definition
TRT_PAI_Process.cxx:247
TRT_PAI_Process::m_gamExpMax
const double m_gamExpMax
Definition
TRT_PAI_Process.h:91
TRT_PAI_Process::m_en_array
std::vector< float > m_en_array
Definition
TRT_PAI_Process.h:95
TRT_PAI_Process::m_nTabulatedGammaValues
const unsigned int m_nTabulatedGammaValues
Definition
TRT_PAI_Process.h:89
TRT_PAI_Process::m_gamExpMin
const double m_gamExpMin
Definition
TRT_PAI_Process.h:90
TRT_PAI_gasMixture
Gas mixture = mixture of gas components.
Definition
TRT_PAI_gasMixture.h:18
CLHEP
STD'S.
Definition
CaloNoiseCompCondAlg.h:57
type
Generated on
for ATLAS Offline Software by
1.17.0