ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsPatternRecognition
src
GbtsLayerTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ACTSTRK_GBTSLAYERTOOL_H
6
#define ACTSTRK_GBTSLAYERTOOL_H
7
8
// Athena
9
#include "
AthenaBaseComps/AthAlgTool.h
"
10
#include "
ActsToolInterfaces/IGbtsLayerTool.h
"
11
12
#include <Gaudi/Property.h>
13
14
#include <map>
15
#include <tuple>
16
#include <vector>
17
18
class
SCT_ID
;
19
class
PixelID
;
20
21
namespace
InDetDD
{
22
class
PixelDetectorManager
;
23
class
SCT_DetectorManager
;
24
}
// namespace InDetDD
25
26
namespace
ActsTrk
{
27
36
class
GbtsLayerTool
final :
public
extends<AthAlgTool, IGbtsLayerTool> {
37
public
:
38
GbtsLayerTool
(
const
std::string&
type
,
const
std::string& name,
39
const
IInterface* parent);
40
virtual
~GbtsLayerTool
() =
default
;
41
42
virtual
StatusCode
initialize
()
override
;
43
44
virtual
const
std::vector<Acts::Experimental::GbtsLayerDescription>&
45
layerDescriptions
()
const override
{
46
return
m_layerDescriptions
;
47
}
48
49
virtual
const
std::vector<short>&
pixelLayers
()
const override
{
50
return
m_pixelLayers
;
51
}
52
53
virtual
const
std::vector<short>&
stripLayers
()
const override
{
54
return
m_stripLayers
;
55
}
56
57
virtual
const
std::vector<GbtsTechnology>&
layerTechnologies
()
const override
{
58
return
m_layerTechnologies
;
59
}
60
61
private
:
63
struct
ModuleEntry
{
64
short
phiIndex
{};
65
short
etaIndex
{};
66
int
hash
{};
67
};
68
71
using
LayerKey
= std::tuple<int, int, short, short>;
72
74
StatusCode
buildLayers
();
75
76
Gaudi::Property<bool>
m_dumpGeometry
{
this
,
"dumpGbtsGeometry"
,
false
,
77
"dump the layer geometry to a file"
};
78
Gaudi::Property<std::string>
m_geometryDumpDir
{
79
this
,
"geometryDump"
,
""
,
"file to dump the layer geometry to"
};
80
81
const
PixelID
*
m_pixelId
{
nullptr
};
82
const
SCT_ID
*
m_stripId
{
nullptr
};
83
const
InDetDD::PixelDetectorManager
*
m_pixelManager
{
nullptr
};
84
const
InDetDD::SCT_DetectorManager
*
m_stripManager
{
nullptr
};
85
86
std::vector<Acts::Experimental::GbtsLayerDescription>
m_layerDescriptions
;
88
std::vector<GbtsTechnology>
m_layerTechnologies
;
90
std::vector<short>
m_pixelLayers
,
m_stripLayers
;
91
};
92
93
}
// namespace ActsTrk
94
95
#endif
AthAlgTool.h
IGbtsLayerTool.h
ActsTrk::GbtsLayerTool::initialize
virtual StatusCode initialize() override
Definition
GbtsLayerTool.cxx:35
ActsTrk::GbtsLayerTool::m_layerTechnologies
std::vector< GbtsTechnology > m_layerTechnologies
What each layer is made of, parallel to m_layerDescriptions.
Definition
GbtsLayerTool.h:88
ActsTrk::GbtsLayerTool::m_stripId
const SCT_ID * m_stripId
Definition
GbtsLayerTool.h:82
ActsTrk::GbtsLayerTool::pixelLayers
virtual const std::vector< short > & pixelLayers() const override
Definition
GbtsLayerTool.h:49
ActsTrk::GbtsLayerTool::m_layerDescriptions
std::vector< Acts::Experimental::GbtsLayerDescription > m_layerDescriptions
Definition
GbtsLayerTool.h:86
ActsTrk::GbtsLayerTool::buildLayers
StatusCode buildLayers()
Group the modules into layers and fill the descriptions and hash maps.
Definition
GbtsLayerTool.cxx:50
ActsTrk::GbtsLayerTool::~GbtsLayerTool
virtual ~GbtsLayerTool()=default
ActsTrk::GbtsLayerTool::m_pixelId
const PixelID * m_pixelId
Definition
GbtsLayerTool.h:81
ActsTrk::GbtsLayerTool::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition
GbtsLayerTool.h:83
ActsTrk::GbtsLayerTool::stripLayers
virtual const std::vector< short > & stripLayers() const override
Definition
GbtsLayerTool.h:53
ActsTrk::GbtsLayerTool::m_geometryDumpDir
Gaudi::Property< std::string > m_geometryDumpDir
Definition
GbtsLayerTool.h:78
ActsTrk::GbtsLayerTool::layerDescriptions
virtual const std::vector< Acts::Experimental::GbtsLayerDescription > & layerDescriptions() const override
Definition
GbtsLayerTool.h:45
ActsTrk::GbtsLayerTool::m_dumpGeometry
Gaudi::Property< bool > m_dumpGeometry
Definition
GbtsLayerTool.h:76
ActsTrk::GbtsLayerTool::LayerKey
std::tuple< int, int, short, short > LayerKey
Layer key: (side, technology, volume id, layer id).
Definition
GbtsLayerTool.h:71
ActsTrk::GbtsLayerTool::GbtsLayerTool
GbtsLayerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
GbtsLayerTool.cxx:31
ActsTrk::GbtsLayerTool::m_stripManager
const InDetDD::SCT_DetectorManager * m_stripManager
Definition
GbtsLayerTool.h:84
ActsTrk::GbtsLayerTool::layerTechnologies
virtual const std::vector< GbtsTechnology > & layerTechnologies() const override
Definition
GbtsLayerTool.h:57
ActsTrk::GbtsLayerTool::m_stripLayers
std::vector< short > m_stripLayers
Definition
GbtsLayerTool.h:90
ActsTrk::GbtsLayerTool::m_pixelLayers
std::vector< short > m_pixelLayers
Wafer hash addressable dense GBTS layer indices.
Definition
GbtsLayerTool.h:90
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
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
ActsTrk::GbtsLayerTool::ModuleEntry
One module, as grouped into a layer.
Definition
GbtsLayerTool.h:63
ActsTrk::GbtsLayerTool::ModuleEntry::etaIndex
short etaIndex
Definition
GbtsLayerTool.h:65
ActsTrk::GbtsLayerTool::ModuleEntry::phiIndex
short phiIndex
Definition
GbtsLayerTool.h:64
ActsTrk::GbtsLayerTool::ModuleEntry::hash
int hash
Definition
GbtsLayerTool.h:66
type
Generated on
for ATLAS Offline Software by
1.17.0