ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigTools
TrigOnlineSpacePointTool
src
TrigL2LayerNumberToolITk.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGONLINESPACEPOINTTOOL_TRIG_L2_LAYER_NUMBER_TOOL_ITK_H
6
#define TRIGONLINESPACEPOINTTOOL_TRIG_L2_LAYER_NUMBER_TOOL_ITK_H
7
8
#include <Gaudi/Property.h>
9
#include <vector>
10
#include <map>
11
#include <tuple>
12
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
#include "
TrigInDetToolInterfaces/ITrigL2LayerNumberTool.h
"
15
16
class
SCT_ID
;
17
class
PixelID
;
18
19
namespace
InDetDD
{
20
class
PixelDetectorManager
;
21
class
SCT_DetectorManager
;
22
}
23
24
struct
PhiEtaHashITk
{
25
26
struct
compare
{
27
public
:
28
bool
operator()
(
const
struct
PhiEtaHashITk
& p1,
const
struct
PhiEtaHashITk
& p2) {
29
if
(p1.m_phiIndex == p2.m_phiIndex) {
30
return
p1.m_etaIndex < p2.m_etaIndex;
31
}
32
else
{
33
return
p1.m_phiIndex < p2.m_phiIndex;
34
}
35
}
36
};
37
38
public
:
39
PhiEtaHashITk
(
short
phi
,
short
eta
,
int
hash) :
m_phiIndex
(
phi
),
m_etaIndex
(
eta
),
m_hash
(hash) {};
40
PhiEtaHashITk
(
const
PhiEtaHashITk
& p) :
m_phiIndex
(p.
m_phiIndex
),
m_etaIndex
(p.
m_etaIndex
),
m_hash
(p.
m_hash
) {};
41
short
m_phiIndex
,
m_etaIndex
;
42
int
m_hash
;
43
};
44
45
46
class
TrigL2LayerNumberToolITk
:
virtual
public
ITrigL2LayerNumberTool
,
public
AthAlgTool
{
47
public
:
48
49
// standard AlgTool methods
50
TrigL2LayerNumberToolITk
(
const
std::string&,
const
std::string&,
const
IInterface*);
51
virtual
~TrigL2LayerNumberToolITk
(){};
52
53
// standard Athena methods
54
virtual
StatusCode
initialize
()
override
;
55
56
//concrete implementations
57
58
virtual
int
maxSiliconLayerNum
()
const override
{
return
m_MaxSiliconLayerNum
;}
59
virtual
int
offsetEndcapPixels
()
const override
{
return
m_OffsetEndcapPixels
;}
60
virtual
int
offsetBarrelSCT
()
const override
{
return
m_OffsetBarrelSCT
;}
61
virtual
int
offsetEndcapSCT
()
const override
{
return
m_OffsetEndcapSCT
;}
62
virtual
void
report
()
const override
;
//prints out the above
63
64
virtual
int
maxNumberOfUniqueLayers
()
const override
{
65
return
static_cast<
int
>
(
m_hashMap
.size());
66
}
67
68
virtual
const
std::vector<short>*
pixelLayers
()
const override
{
69
return
&
m_pixelLayers
;
70
}
71
72
virtual
const
std::vector<short>*
sctLayers
()
const override
{
73
return
&
m_sctLayers
;
74
}
75
76
virtual
const
std::vector<TrigInDetSiLayer>*
layerGeometry
()
const override
{
77
return
&
m_layerGeometry
;
78
}
79
80
protected
:
81
82
Gaudi::Property<bool>
m_useNewScheme
{
this
,
"UseNewLayerScheme"
,
false
};
83
Gaudi::Property<bool>
m_dumpGeometry
{
this
,
"dumpGbtsGeometry"
,
false
};
84
Gaudi::Property<std::string>
m_geometryDumpDir
{
this
,
"geometryDump"
,
""
};
85
//cached values
86
int
m_MaxSiliconLayerNum
{-1};
87
int
m_OffsetEndcapPixels
{-1};
88
int
m_OffsetBarrelSCT
{-1};
89
int
m_OffsetEndcapSCT
{-1};
90
int
m_LastBarrelLayer
{0};
91
92
const
SCT_ID
*
m_sctId
{
nullptr
};
93
const
PixelID
*
m_pixelId
{
nullptr
};
94
const
InDetDD::PixelDetectorManager
*
m_pixelManager
{
nullptr
};
95
const
InDetDD::SCT_DetectorManager
*
m_sctManager
{
nullptr
};
96
97
void
createModuleHashMap
(std::map<std::tuple<int, int, short, short>,std::vector<PhiEtaHashITk> >&);
98
99
std::map<std::tuple<int, int, short, short>,std::vector<PhiEtaHashITk> >
m_hashMap
;
100
std::vector<short>
m_pixelLayers
,
m_sctLayers
;
//hashid addressable arrays of layer numbers
101
std::vector<TrigInDetSiLayer>
m_layerGeometry
;
102
};
103
#endif
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
AthAlgTool.h
ITrigL2LayerNumberTool.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
ITrigL2LayerNumberTool
provides the abstract interface for the silicon layer number tool
Definition
ITrigL2LayerNumberTool.h:20
InDetDD::PixelDetectorManager
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Definition
PixelDetectorManager.h:47
InDetDD::SCT_DetectorManager
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
Definition
SCT_DetectorManager.h:50
PixelID
This is an Identifier helper class for the Pixel subdetector.
Definition
PixelID.h:69
SCT_ID
This is an Identifier helper class for the SCT subdetector.
Definition
SCT_ID.h:68
TrigL2LayerNumberToolITk::~TrigL2LayerNumberToolITk
virtual ~TrigL2LayerNumberToolITk()
Definition
TrigL2LayerNumberToolITk.h:51
TrigL2LayerNumberToolITk::m_LastBarrelLayer
int m_LastBarrelLayer
Definition
TrigL2LayerNumberToolITk.h:90
TrigL2LayerNumberToolITk::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition
TrigL2LayerNumberToolITk.h:94
TrigL2LayerNumberToolITk::m_useNewScheme
Gaudi::Property< bool > m_useNewScheme
Definition
TrigL2LayerNumberToolITk.h:82
TrigL2LayerNumberToolITk::m_OffsetBarrelSCT
int m_OffsetBarrelSCT
Definition
TrigL2LayerNumberToolITk.h:88
TrigL2LayerNumberToolITk::maxNumberOfUniqueLayers
virtual int maxNumberOfUniqueLayers() const override
Definition
TrigL2LayerNumberToolITk.h:64
TrigL2LayerNumberToolITk::m_MaxSiliconLayerNum
int m_MaxSiliconLayerNum
Definition
TrigL2LayerNumberToolITk.h:86
TrigL2LayerNumberToolITk::TrigL2LayerNumberToolITk
TrigL2LayerNumberToolITk(const std::string &, const std::string &, const IInterface *)
Definition
TrigL2LayerNumberToolITk.cxx:17
TrigL2LayerNumberToolITk::pixelLayers
virtual const std::vector< short > * pixelLayers() const override
Definition
TrigL2LayerNumberToolITk.h:68
TrigL2LayerNumberToolITk::m_dumpGeometry
Gaudi::Property< bool > m_dumpGeometry
Definition
TrigL2LayerNumberToolITk.h:83
TrigL2LayerNumberToolITk::m_geometryDumpDir
Gaudi::Property< std::string > m_geometryDumpDir
Definition
TrigL2LayerNumberToolITk.h:84
TrigL2LayerNumberToolITk::offsetEndcapSCT
virtual int offsetEndcapSCT() const override
Definition
TrigL2LayerNumberToolITk.h:61
TrigL2LayerNumberToolITk::createModuleHashMap
void createModuleHashMap(std::map< std::tuple< int, int, short, short >, std::vector< PhiEtaHashITk > > &)
Definition
TrigL2LayerNumberToolITk.cxx:69
TrigL2LayerNumberToolITk::layerGeometry
virtual const std::vector< TrigInDetSiLayer > * layerGeometry() const override
Definition
TrigL2LayerNumberToolITk.h:76
TrigL2LayerNumberToolITk::sctLayers
virtual const std::vector< short > * sctLayers() const override
Definition
TrigL2LayerNumberToolITk.h:72
TrigL2LayerNumberToolITk::initialize
virtual StatusCode initialize() override
Definition
TrigL2LayerNumberToolITk.cxx:25
TrigL2LayerNumberToolITk::m_sctManager
const InDetDD::SCT_DetectorManager * m_sctManager
Definition
TrigL2LayerNumberToolITk.h:95
TrigL2LayerNumberToolITk::offsetBarrelSCT
virtual int offsetBarrelSCT() const override
Definition
TrigL2LayerNumberToolITk.h:60
TrigL2LayerNumberToolITk::m_layerGeometry
std::vector< TrigInDetSiLayer > m_layerGeometry
Definition
TrigL2LayerNumberToolITk.h:101
TrigL2LayerNumberToolITk::m_sctId
const SCT_ID * m_sctId
Definition
TrigL2LayerNumberToolITk.h:92
TrigL2LayerNumberToolITk::m_pixelLayers
std::vector< short > m_pixelLayers
Definition
TrigL2LayerNumberToolITk.h:100
TrigL2LayerNumberToolITk::m_OffsetEndcapPixels
int m_OffsetEndcapPixels
Definition
TrigL2LayerNumberToolITk.h:87
TrigL2LayerNumberToolITk::m_sctLayers
std::vector< short > m_sctLayers
Definition
TrigL2LayerNumberToolITk.h:100
TrigL2LayerNumberToolITk::report
virtual void report() const override
Definition
TrigL2LayerNumberToolITk.cxx:59
TrigL2LayerNumberToolITk::m_OffsetEndcapSCT
int m_OffsetEndcapSCT
Definition
TrigL2LayerNumberToolITk.h:89
TrigL2LayerNumberToolITk::offsetEndcapPixels
virtual int offsetEndcapPixels() const override
Definition
TrigL2LayerNumberToolITk.h:59
TrigL2LayerNumberToolITk::maxSiliconLayerNum
virtual int maxSiliconLayerNum() const override
Definition
TrigL2LayerNumberToolITk.h:58
TrigL2LayerNumberToolITk::m_pixelId
const PixelID * m_pixelId
Definition
TrigL2LayerNumberToolITk.h:93
TrigL2LayerNumberToolITk::m_hashMap
std::map< std::tuple< int, int, short, short >, std::vector< PhiEtaHashITk > > m_hashMap
Definition
TrigL2LayerNumberToolITk.h:99
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
PhiEtaHashITk::compare
Definition
TrigL2LayerNumberToolITk.h:26
PhiEtaHashITk::compare::operator()
bool operator()(const struct PhiEtaHashITk &p1, const struct PhiEtaHashITk &p2)
Definition
TrigL2LayerNumberToolITk.h:28
PhiEtaHashITk::m_hash
int m_hash
Definition
TrigL2LayerNumberToolITk.h:42
PhiEtaHashITk::PhiEtaHashITk
PhiEtaHashITk(const PhiEtaHashITk &p)
Definition
TrigL2LayerNumberToolITk.h:40
PhiEtaHashITk::PhiEtaHashITk
PhiEtaHashITk(short phi, short eta, int hash)
Definition
TrigL2LayerNumberToolITk.h:39
PhiEtaHashITk::m_phiIndex
short m_phiIndex
Definition
TrigL2LayerNumberToolITk.h:41
PhiEtaHashITk::m_etaIndex
short m_etaIndex
Definition
TrigL2LayerNumberToolITk.h:41
Generated on
for ATLAS Offline Software by
1.17.0