ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUEventCnv
src
TracccMeasurementConverterAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef ACTSGPUEVENT_TRACCCMEASUREMENTCONVERTERALG_H
5
#define ACTSGPUEVENT_TRACCCMEASUREMENTCONVERTERALG_H
6
7
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
8
#include "
StoreGate/ReadHandleKey.h
"
9
#include "
StoreGate/WriteHandleKey.h
"
10
11
#include "
ActsGPUEvent/TracccMeasurementCollection.h
"
12
#include "
ActsGPUEvent/TracccSiliconClusterCollection.h
"
13
#include "
ActsGPUEvent/TracccSiliconCellCollection.h
"
14
#include "traccc/edm/measurement_collection.hpp"
15
#include "
AthDeviceInterfaces/IMemoryResourceTool.h
"
16
#include "
AthDeviceInterfaces/ICopyTool.h
"
17
18
#include "
xAODInDetMeasurement/PixelClusterContainer.h
"
19
#include "
xAODInDetMeasurement/PixelClusterAuxContainer.h
"
20
#include "
xAODInDetMeasurement/StripClusterContainer.h
"
21
#include "
xAODInDetMeasurement/StripClusterAuxContainer.h
"
22
#include "
xAODInDetMeasurement/SpacePointContainer.h
"
23
#include "
xAODInDetMeasurement/SpacePointAuxContainer.h
"
24
25
#include "
InDetIdentifier/PixelID.h
"
26
#include "
InDetIdentifier/SCT_ID.h
"
27
#include "
InDetReadoutGeometry/SiDetectorElement.h
"
28
#include "
PixelReadoutGeometry/PixelDetectorManager.h
"
29
#include "
SCT_ReadoutGeometry/SCT_DetectorManager.h
"
30
31
#include "
PixelReadoutGeometry/PixelModuleDesign.h
"
32
#include "
ReadoutGeometryBase/SiCellId.h
"
33
#include "
SCT_ReadoutGeometry/SCT_BarrelModuleSideDesign.h
"
34
#include "
SCT_ReadoutGeometry/SCT_ForwardModuleSideDesign.h
"
35
#include "
SCT_ReadoutGeometry/SCT_ModuleSideDesign.h
"
36
#include "
SCT_ReadoutGeometry/StripStereoAnnulusDesign.h
"
37
38
39
#include "
ActsGPUInterfaces/IDeviceDetectorDescriptionProviderSvc.h
"
40
41
#include "GaudiKernel/ToolHandle.h"
42
43
namespace
ActsTrk
{
44
58
class
TracccMeasurementConverterAlg
:
public
AthReentrantAlgorithm
59
{
60
public
:
61
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
62
64
virtual
StatusCode
initialize
()
override
;
66
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
68
virtual
StatusCode
finalize
()
override
;
69
70
private
:
71
73
Gaudi::Property<bool>
m_convertClustersWithCells
{
74
this
,
"ConvertClustersWithCells"
,
true
,
75
"Whether to associate cells with the clusters."
};
76
79
SG::ReadHandleKey<traccc::edm::measurement_collection::buffer>
m_inputMeasKey
{
80
this
,
"InputMeasurements"
,
"TracccMeasurements"
,
81
"Input traccc measurement collection buffer"
};
82
SG::ReadHandleKey<traccc::edm::silicon_cluster_collection::buffer>
m_inputClusterKey
{
83
this
,
"InputClusters"
,
"TracccClusters"
,
84
"Input traccc cluster collection buffer"
};
85
SG::ReadHandleKey<traccc::edm::silicon_cell_collection::buffer>
m_inputCellsKey
{
86
this
,
"InputCells"
,
"TracccCells"
,
87
"Input traccc cell collection buffer"
};
88
89
92
SG::WriteHandleKey<xAOD::PixelClusterContainer>
m_outputPixelKey
{
93
this
,
"OutputPixelClusters"
,
"ITkTracccPixelClusters"
,
94
"Output xAOD pixel cluster container"
};
95
SG::WriteHandleKey<xAOD::StripClusterContainer>
m_outputStripKey
{
96
this
,
"OutputStripClusters"
,
"ITkTracccStripClusters"
,
97
"Output xAOD strip cluster container"
};
98
99
101
ToolHandle<AthDevice::IMemoryResourceTool>
m_hostMR
{
102
this
,
"HostMR"
,
""
,
"Host memory resource tool"
};
103
104
ToolHandle<AthDevice::ICopyTool>
m_copy
{
105
this
,
"CopyProviderTool"
,
""
,
"Vecmem copy provider tool"
};
106
107
ServiceHandle<ActsTrk::IDeviceDetectorDescriptionProviderSvc>
m_detDescSvc
{
108
this
,
"DetectorDescriptionSvc"
,
"ActsTrk::JSONDeviceDetectorDescriptionProviderSvc"
};
109
112
mutable
std::atomic<int>
m_nPix
= 0;
113
mutable
std::atomic<int>
m_nStrip
= 0;
114
mutable
std::atomic<int>
m_nMeas
= 0;
116
118
const
std::unordered_map<uint64_t, Identifier>*
m_detrayToAthena
{};
119
122
const
PixelID
*
m_pixelID
{
nullptr
};
123
const
SCT_ID
*
m_stripID
{
nullptr
};
124
Gaudi::Property<std::string>
m_idHelperName
{
this
,
"IDHelperName"
,
"PixelID"
,
125
"Pixel-like ID helper name to retrieve from DetectorStore"
};
126
127
const
InDetDD::PixelDetectorManager
*
m_pixelManager
{
nullptr
};
128
const
InDetDD::SCT_DetectorManager
*
m_stripManager
{
nullptr
};
130
};
131
132
}
// namespace ActsTrk
133
134
#endif
// ACTSGPUEVENT_TRACCCMEASUREMENTCONVERTERALG_H
AthReentrantAlgorithm.h
PixelClusterContainer.h
SpacePointContainer.h
ICopyTool.h
IDeviceDetectorDescriptionProviderSvc.h
IMemoryResourceTool.h
PixelClusterAuxContainer.h
PixelDetectorManager.h
PixelID.h
This is an Identifier helper class for the Pixel subdetector.
PixelModuleDesign.h
SCT_BarrelModuleSideDesign.h
SCT_DetectorManager.h
SCT_ForwardModuleSideDesign.h
SCT_ID.h
This is an Identifier helper class for the SCT subdetector.
SCT_ModuleSideDesign.h
SiCellId.h
SiDetectorElement.h
SpacePointAuxContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
StripClusterAuxContainer.h
StripClusterContainer.h
StripStereoAnnulusDesign.h
TracccMeasurementCollection.h
TracccSiliconCellCollection.h
TracccSiliconClusterCollection.h
ActsTrk::TracccMeasurementConverterAlg
Algorithm converting traccc measurements (device buffer) to xAOD clusters (host container).
Definition
TracccMeasurementConverterAlg.h:59
ActsTrk::TracccMeasurementConverterAlg::m_inputMeasKey
SG::ReadHandleKey< traccc::edm::measurement_collection::buffer > m_inputMeasKey
Definition
TracccMeasurementConverterAlg.h:79
ActsTrk::TracccMeasurementConverterAlg::m_outputStripKey
SG::WriteHandleKey< xAOD::StripClusterContainer > m_outputStripKey
Definition
TracccMeasurementConverterAlg.h:95
ActsTrk::TracccMeasurementConverterAlg::finalize
virtual StatusCode finalize() override
Function finalizing the algorthm.
Definition
TracccMeasurementConverterAlg.cxx:404
ActsTrk::TracccMeasurementConverterAlg::m_convertClustersWithCells
Gaudi::Property< bool > m_convertClustersWithCells
Definition
TracccMeasurementConverterAlg.h:73
ActsTrk::TracccMeasurementConverterAlg::m_idHelperName
Gaudi::Property< std::string > m_idHelperName
Definition
TracccMeasurementConverterAlg.h:124
ActsTrk::TracccMeasurementConverterAlg::m_nMeas
std::atomic< int > m_nMeas
Definition
TracccMeasurementConverterAlg.h:114
ActsTrk::TracccMeasurementConverterAlg::m_inputCellsKey
SG::ReadHandleKey< traccc::edm::silicon_cell_collection::buffer > m_inputCellsKey
Definition
TracccMeasurementConverterAlg.h:85
ActsTrk::TracccMeasurementConverterAlg::m_inputClusterKey
SG::ReadHandleKey< traccc::edm::silicon_cluster_collection::buffer > m_inputClusterKey
Definition
TracccMeasurementConverterAlg.h:82
ActsTrk::TracccMeasurementConverterAlg::m_detDescSvc
ServiceHandle< ActsTrk::IDeviceDetectorDescriptionProviderSvc > m_detDescSvc
Definition
TracccMeasurementConverterAlg.h:107
ActsTrk::TracccMeasurementConverterAlg::m_stripID
const SCT_ID * m_stripID
Definition
TracccMeasurementConverterAlg.h:123
ActsTrk::TracccMeasurementConverterAlg::m_hostMR
ToolHandle< AthDevice::IMemoryResourceTool > m_hostMR
Definition
TracccMeasurementConverterAlg.h:101
ActsTrk::TracccMeasurementConverterAlg::m_nPix
std::atomic< int > m_nPix
The object counters for debug prints in finalize method {.
Definition
TracccMeasurementConverterAlg.h:112
ActsTrk::TracccMeasurementConverterAlg::m_pixelID
const PixelID * m_pixelID
Conversion helpers (to retrieve module design, hash, etc.) {.
Definition
TracccMeasurementConverterAlg.h:122
ActsTrk::TracccMeasurementConverterAlg::m_detrayToAthena
const std::unordered_map< uint64_t, Identifier > * m_detrayToAthena
The athena <-> detray identifier map.
Definition
TracccMeasurementConverterAlg.h:118
ActsTrk::TracccMeasurementConverterAlg::m_outputPixelKey
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_outputPixelKey
Definition
TracccMeasurementConverterAlg.h:92
ActsTrk::TracccMeasurementConverterAlg::m_copy
ToolHandle< AthDevice::ICopyTool > m_copy
Definition
TracccMeasurementConverterAlg.h:104
ActsTrk::TracccMeasurementConverterAlg::initialize
virtual StatusCode initialize() override
Function initializing the algorithm.
Definition
TracccMeasurementConverterAlg.cxx:19
ActsTrk::TracccMeasurementConverterAlg::m_stripManager
const InDetDD::SCT_DetectorManager * m_stripManager
Definition
TracccMeasurementConverterAlg.h:128
ActsTrk::TracccMeasurementConverterAlg::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition
TracccMeasurementConverterAlg.h:127
ActsTrk::TracccMeasurementConverterAlg::m_nStrip
std::atomic< int > m_nStrip
Definition
TracccMeasurementConverterAlg.h:113
ActsTrk::TracccMeasurementConverterAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
Definition
TracccMeasurementConverterAlg.cxx:137
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
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:49
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
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Generated on
for ATLAS Offline Software by
1.17.0