ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUDataPreparation
src
DeviceClusterizationAlg.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 ACTSGPUDATAPREPARATION_DEVICECLUSTERIZATIONALG_H
5
#define ACTSGPUDATAPREPARATION_DEVICECLUSTERIZATIONALG_H
6
7
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
8
#include "GaudiKernel/ToolHandle.h"
9
#include "
StoreGate/ReadHandleKey.h
"
10
#include "
StoreGate/WriteHandleKey.h
"
11
12
#include "
IDeviceClusterizationAlgProviderTool.h
"
13
#include "
AthDeviceInterfaces/IMemoryResourceTool.h
"
14
#include "
AthDeviceInterfaces/ICopyTool.h
"
15
#include "
ActsGPUEvent/TracccSiliconCellCollection.h
"
16
#include "
ActsGPUEvent/TracccMeasurementCollection.h
"
17
#include "
ActsGPUEvent/TracccSiliconClusterCollection.h
"
18
#include "
ActsGPUEvent/TracccDetectorConditionsDescription.h
"
19
#include "
ActsGPUEvent/TracccDetectorDesignDescription.h
"
20
21
namespace
ActsTrk
{
46
class
DeviceClusterizationAlg
:
public
AthReentrantAlgorithm
{
47
public
:
48
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
49
51
virtual
StatusCode
initialize
()
override
;
53
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
54
55
private
:
56
57
Gaudi::Property<bool>
m_retrieveClusterCells
{
58
this
,
"RetrieveClusterCells"
,
true
,
59
"Whether to retrieve cell indices associated to the clusters."
};
60
62
Gaudi::Property<std::string>
m_deviceDesignObjectName
{
63
this
,
"DeviceDigitizationObjectName"
,
"TracccDeviceDigitizationConfig"
,
64
"Traccc device digitization object"
};
65
Gaudi::Property<std::string>
m_deviceCondObjectName
{
66
this
,
"DeviceConditionsObjectName"
,
"TracccDeviceConditionsConfig"
,
67
"Traccc device conditions object"
};
68
69
71
ToolHandle<IDeviceClusterizationAlgProviderTool>
m_clusteringAlgProviderTool
{
72
this
,
"ClusteringAlgProviderTool"
,
""
,
73
"Tool providing the appropriate backend device clusterization algorithm"
};
74
75
ToolHandle<AthDevice::IMemoryResourceTool>
m_deviceMR
{
76
this
,
"DeviceMR"
,
""
,
77
"Device memory resource tool"
};
78
80
SG::ReadHandleKey<traccc::edm::silicon_cell_collection::const_view>
m_inputCellsKey
{
81
this
,
"InputTracccCells"
,
""
,
82
"Input traccc cell collection buffer"
};
83
86
SG::WriteHandleKey<traccc::edm::measurement_collection::buffer>
m_outputMeasKey
{
87
this
,
"OutputTracccMeasurements"
,
""
,
88
"Output uncalibrated traccc measurement collection buffer"
};
89
SG::WriteHandleKey<traccc::edm::silicon_cluster_collection::buffer>
m_outputClusterKey
{
90
this
,
"OutputTracccClusters"
,
""
,
91
"Output uncalibrated traccc cluster collection buffer"
};
92
93
94
// Device buffers — retrieved from detStore
95
const
traccc::detector_design_description::const_view*
m_deviceDesign
{
nullptr
};
96
const
traccc::detector_conditions_description::const_view*
m_deviceCond
{
nullptr
};
97
98
};
99
100
}
// namespace ActsTrk
101
102
#endif
// ACTSGPUDATAPREPARATION_DEVICECLUSTERIZATIONALG_H
AthReentrantAlgorithm.h
ICopyTool.h
IDeviceClusterizationAlgProviderTool.h
IMemoryResourceTool.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.
TracccDetectorConditionsDescription.h
TracccDetectorDesignDescription.h
TracccMeasurementCollection.h
TracccSiliconCellCollection.h
TracccSiliconClusterCollection.h
ActsTrk::DeviceClusterizationAlg
Algorithm executing traccc clusterization and measurement sorting on the GPU.
Definition
DeviceClusterizationAlg.h:46
ActsTrk::DeviceClusterizationAlg::m_deviceCondObjectName
Gaudi::Property< std::string > m_deviceCondObjectName
Definition
DeviceClusterizationAlg.h:65
ActsTrk::DeviceClusterizationAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
Definition
DeviceClusterizationAlg.cxx:36
ActsTrk::DeviceClusterizationAlg::m_outputMeasKey
SG::WriteHandleKey< traccc::edm::measurement_collection::buffer > m_outputMeasKey
Definition
DeviceClusterizationAlg.h:86
ActsTrk::DeviceClusterizationAlg::m_outputClusterKey
SG::WriteHandleKey< traccc::edm::silicon_cluster_collection::buffer > m_outputClusterKey
Definition
DeviceClusterizationAlg.h:89
ActsTrk::DeviceClusterizationAlg::initialize
virtual StatusCode initialize() override
Function initializing the algorithm.
Definition
DeviceClusterizationAlg.cxx:19
ActsTrk::DeviceClusterizationAlg::m_deviceDesign
const traccc::detector_design_description::const_view * m_deviceDesign
Definition
DeviceClusterizationAlg.h:95
ActsTrk::DeviceClusterizationAlg::m_clusteringAlgProviderTool
ToolHandle< IDeviceClusterizationAlgProviderTool > m_clusteringAlgProviderTool
Definition
DeviceClusterizationAlg.h:71
ActsTrk::DeviceClusterizationAlg::m_deviceCond
const traccc::detector_conditions_description::const_view * m_deviceCond
Definition
DeviceClusterizationAlg.h:96
ActsTrk::DeviceClusterizationAlg::m_deviceDesignObjectName
Gaudi::Property< std::string > m_deviceDesignObjectName
Definition
DeviceClusterizationAlg.h:62
ActsTrk::DeviceClusterizationAlg::m_retrieveClusterCells
Gaudi::Property< bool > m_retrieveClusterCells
Definition
DeviceClusterizationAlg.h:57
ActsTrk::DeviceClusterizationAlg::m_inputCellsKey
SG::ReadHandleKey< traccc::edm::silicon_cell_collection::const_view > m_inputCellsKey
Definition
DeviceClusterizationAlg.h:80
ActsTrk::DeviceClusterizationAlg::m_deviceMR
ToolHandle< AthDevice::IMemoryResourceTool > m_deviceMR
Definition
DeviceClusterizationAlg.h:75
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
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
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