ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDigitization
PixelDigitization
src
SensorSimPlanarTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
12
#ifndef PIXELDIGITIZATION_SensorSimPlanarTool_H
13
#define PIXELDIGITIZATION_SensorSimPlanarTool_H
14
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "
InDetCondTools/ISiLorentzAngleTool.h
"
//ToolHandle template parameter
17
#include "
SensorSimTool.h
"
18
#include "
RadDamageUtil.h
"
//ToolHandle template parameter
19
#include "
PixelConditionsData/PixelHistoConverter.h
"
20
#include <vector>
21
#include <utility>
//std::pair
22
23
24
25
class
SensorSimPlanarTool
:
public
SensorSimTool
{
26
public
:
27
SensorSimPlanarTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent);
28
virtual
StatusCode
initialize
()
override
;
29
virtual
StatusCode
finalize
()
override
;
30
virtual
~SensorSimPlanarTool
();
31
32
virtual
StatusCode
induceCharge
(
const
TimedHitPtr<SiHit>
& phit,
33
SiChargedDiodeCollection
& chargedDiodes,
34
const
InDetDD::SiDetectorElement
& Module,
35
const
InDetDD::PixelModuleDesign
& p_design,
36
std::vector< std::pair<double, double> >& trfHitRecord,
37
std::vector<double>& initialConditions,
38
CLHEP::HepRandomEngine* rndmEngine,
39
const
EventContext &ctx)
const override
;
40
41
private
:
42
SensorSimPlanarTool
();
43
44
//Apply slim edge inefficiencies for IBL sensors
45
static
void
applyIBLSlimEdges
(
double
& energyPerStep,
double
& eta_drifted) ;
46
47
// Map for radiation damage simulation
48
std::vector<PixelHistoConverter>
m_ramoPotentialMap
;
49
std::vector<PixelHistoConverter>
m_distanceMap_e
;
50
std::vector<PixelHistoConverter>
m_distanceMap_h
;
51
std::vector<PixelHistoConverter>
m_lorentzMap_e
;
52
std::vector<PixelHistoConverter>
m_lorentzMap_h
;
53
std::vector<PixelHistoConverter>
m_lorentzCorrection
;
54
std::vector<PixelHistoConverter>
m_chargeCorrection
;
55
std::vector<PixelHistoConverter>
m_distanceCorrection
;
56
57
Gaudi::Property<int>
m_numberOfSteps
58
{
59
this
,
"numberOfSteps"
, 50,
"Geant4:number of steps for PixelPlanar"
60
};
61
62
Gaudi::Property<bool>
m_doInterpolateEfield
63
{
64
this
,
"doInterpolateEfield"
,
false
,
"doInterpolateEfield bool: should be flag"
65
};
66
67
Gaudi::Property<std::vector<std::string> >
m_fluenceMap
68
{
69
this
,
"FluenceMap"
, {
70
"PixelDigitization/maps_IBL_PL_400V_fl5_5e14.root"
,
71
"PixelDigitization/maps_PIX_400V_fl5_19e14.root"
,
72
"PixelDigitization/maps_PIX_250V_fl2_28e14.root"
,
73
"PixelDigitization/maps_PIX_250V_fl1_53e14.root"
74
},
75
"Fluence map for radiation damage when interpolation method is activated"
76
};
77
78
Gaudi::Property<std::vector<double> >
m_fluenceLayer
79
{
80
this
,
"FluenceLayer"
, {
81
5.50e14, 5.19e14, 2.28e14, 1.53e14
82
},
"Fluence for radiation damage when interpolation method is activated"
83
};
84
85
Gaudi::Property<std::vector<float> >
m_voltageLayer
86
{
87
this
,
"BiasVoltageLayer"
, {
88
400.0, 400.0, 250.0, 250.0
89
},
"Bias voltage for radiation damage when interpolation method is activated"
90
};
91
92
ToolHandle<RadDamageUtil>
m_radDamageUtil
93
{
94
this
,
"RadDamageUtil"
,
"RadDamageUtil"
,
"Rad Damage utility"
95
};
96
97
ToolHandle<ISiLorentzAngleTool>
m_lorentzAngleTool
98
{
99
this
,
"LorentzAngleTool"
,
"PixelLorentzAngleTool"
,
"Tool to retreive Lorentz angle"
100
};
101
};
102
103
#endif
// PIXELDIGITIZATION_SensorSimPlanarTool_H
AthAlgTool.h
ISiLorentzAngleTool.h
PixelHistoConverter.h
RadDamageUtil.h
SensorSimTool.h
InDetDD::PixelModuleDesign
Class used to describe the design of a module (diode segmentation and readout scheme).
Definition
PixelModuleDesign.h:45
InDetDD::SiDetectorElement
Class to hold geometrical description of a silicon detector element.
Definition
SiDetectorElement.h:109
SensorSimPlanarTool::~SensorSimPlanarTool
virtual ~SensorSimPlanarTool()
SensorSimPlanarTool::m_lorentzCorrection
std::vector< PixelHistoConverter > m_lorentzCorrection
Definition
SensorSimPlanarTool.h:53
SensorSimPlanarTool::m_ramoPotentialMap
std::vector< PixelHistoConverter > m_ramoPotentialMap
Definition
SensorSimPlanarTool.h:48
SensorSimPlanarTool::induceCharge
virtual StatusCode induceCharge(const TimedHitPtr< SiHit > &phit, SiChargedDiodeCollection &chargedDiodes, const InDetDD::SiDetectorElement &Module, const InDetDD::PixelModuleDesign &p_design, std::vector< std::pair< double, double > > &trfHitRecord, std::vector< double > &initialConditions, CLHEP::HepRandomEngine *rndmEngine, const EventContext &ctx) const override
Definition
SensorSimPlanarTool.cxx:255
SensorSimPlanarTool::initialize
virtual StatusCode initialize() override
Definition
SensorSimPlanarTool.cxx:42
SensorSimPlanarTool::applyIBLSlimEdges
static void applyIBLSlimEdges(double &energyPerStep, double &eta_drifted)
Definition
SensorSimPlanarTool.cxx:719
SensorSimPlanarTool::finalize
virtual StatusCode finalize() override
Definition
SensorSimPlanarTool.cxx:247
SensorSimPlanarTool::m_chargeCorrection
std::vector< PixelHistoConverter > m_chargeCorrection
Definition
SensorSimPlanarTool.h:54
SensorSimPlanarTool::m_numberOfSteps
Gaudi::Property< int > m_numberOfSteps
Definition
SensorSimPlanarTool.h:58
SensorSimPlanarTool::SensorSimPlanarTool
SensorSimPlanarTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
SensorSimPlanarTool.cxx:33
SensorSimPlanarTool::m_lorentzMap_e
std::vector< PixelHistoConverter > m_lorentzMap_e
Definition
SensorSimPlanarTool.h:51
SensorSimPlanarTool::SensorSimPlanarTool
SensorSimPlanarTool()
SensorSimPlanarTool::m_lorentzAngleTool
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
Definition
SensorSimPlanarTool.h:98
SensorSimPlanarTool::m_doInterpolateEfield
Gaudi::Property< bool > m_doInterpolateEfield
Definition
SensorSimPlanarTool.h:63
SensorSimPlanarTool::m_fluenceMap
Gaudi::Property< std::vector< std::string > > m_fluenceMap
Definition
SensorSimPlanarTool.h:68
SensorSimPlanarTool::m_lorentzMap_h
std::vector< PixelHistoConverter > m_lorentzMap_h
Definition
SensorSimPlanarTool.h:52
SensorSimPlanarTool::m_distanceMap_h
std::vector< PixelHistoConverter > m_distanceMap_h
Definition
SensorSimPlanarTool.h:50
SensorSimPlanarTool::m_distanceMap_e
std::vector< PixelHistoConverter > m_distanceMap_e
Definition
SensorSimPlanarTool.h:49
SensorSimPlanarTool::m_fluenceLayer
Gaudi::Property< std::vector< double > > m_fluenceLayer
Definition
SensorSimPlanarTool.h:79
SensorSimPlanarTool::m_radDamageUtil
ToolHandle< RadDamageUtil > m_radDamageUtil
Definition
SensorSimPlanarTool.h:93
SensorSimPlanarTool::m_voltageLayer
Gaudi::Property< std::vector< float > > m_voltageLayer
Definition
SensorSimPlanarTool.h:86
SensorSimPlanarTool::m_distanceCorrection
std::vector< PixelHistoConverter > m_distanceCorrection
Definition
SensorSimPlanarTool.h:55
SensorSimTool::SensorSimTool
SensorSimTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
SensorSimTool.h:47
SiChargedDiodeCollection
Definition
SiChargedDiodeCollection.h:109
TimedHitPtr
a smart pointer to a hit that also provides access to the extended timing info of the host event.
Definition
TimedHitPtr.h:18
type
Generated on
for ATLAS Offline Software by
1.17.0