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
#include "vecmem/utils/cuda/copy.hpp"
22
23
namespace
ActsTrk
{
48
class
DeviceClusterizationAlg
:
public
AthReentrantAlgorithm
{
49
public
:
50
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
51
53
virtual
StatusCode
initialize
()
override
;
55
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
56
57
private
:
58
59
Gaudi::Property<bool>
m_retrieveClusterCells
{
60
this
,
"RetrieveClusterCells"
,
true
,
61
"Whether to retrieve cell indices associated to the clusters."
};
62
64
Gaudi::Property<std::string>
m_deviceDesignObjectName
{
65
this
,
"DeviceDigitizationObjectName"
,
"TracccDeviceDigitizationConfig"
,
66
"Traccc device digitization object"
};
67
Gaudi::Property<std::string>
m_deviceCondObjectName
{
68
this
,
"DeviceConditionsObjectName"
,
"TracccDeviceConditionsConfig"
,
69
"Traccc device conditions object"
};
70
71
73
ToolHandle<IDeviceClusterizationAlgProviderTool>
m_clusteringAlgProviderTool
{
74
this
,
"ClusteringAlgProviderTool"
,
""
,
75
"Tool providing the appropriate backend device clusterization algorithm"
};
76
77
ToolHandle<AthDevice::IMemoryResourceTool>
m_deviceMR
{
78
this
,
"DeviceMR"
,
""
,
79
"Device memory resource tool"
};
80
82
SG::ReadHandleKey<traccc::edm::silicon_cell_collection::const_view>
m_inputCellsKey
{
83
this
,
"InputTracccCells"
,
""
,
84
"Input traccc cell collection buffer"
};
85
88
SG::WriteHandleKey<traccc::edm::measurement_collection::buffer>
m_outputMeasKey
{
89
this
,
"OutputTracccMeasurements"
,
""
,
90
"Output uncalibrated traccc measurement collection buffer"
};
91
SG::WriteHandleKey<traccc::edm::silicon_cluster_collection::buffer>
m_outputClusterKey
{
92
this
,
"OutputTracccClusters"
,
""
,
93
"Output uncalibrated traccc cluster collection buffer"
};
94
95
96
// Device buffers — retrieved from detStore
97
const
traccc::detector_design_description::const_view*
m_deviceDesign
{
nullptr
};
98
const
traccc::detector_conditions_description::const_view*
m_deviceCond
{
nullptr
};
99
100
};
101
102
}
// namespace ActsTrk
103
104
#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:48
ActsTrk::DeviceClusterizationAlg::m_deviceCondObjectName
Gaudi::Property< std::string > m_deviceCondObjectName
Definition
DeviceClusterizationAlg.h:67
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:88
ActsTrk::DeviceClusterizationAlg::m_outputClusterKey
SG::WriteHandleKey< traccc::edm::silicon_cluster_collection::buffer > m_outputClusterKey
Definition
DeviceClusterizationAlg.h:91
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:97
ActsTrk::DeviceClusterizationAlg::m_clusteringAlgProviderTool
ToolHandle< IDeviceClusterizationAlgProviderTool > m_clusteringAlgProviderTool
Definition
DeviceClusterizationAlg.h:73
ActsTrk::DeviceClusterizationAlg::m_deviceCond
const traccc::detector_conditions_description::const_view * m_deviceCond
Definition
DeviceClusterizationAlg.h:98
ActsTrk::DeviceClusterizationAlg::m_deviceDesignObjectName
Gaudi::Property< std::string > m_deviceDesignObjectName
Definition
DeviceClusterizationAlg.h:64
ActsTrk::DeviceClusterizationAlg::m_retrieveClusterCells
Gaudi::Property< bool > m_retrieveClusterCells
Definition
DeviceClusterizationAlg.h:59
ActsTrk::DeviceClusterizationAlg::m_inputCellsKey
SG::ReadHandleKey< traccc::edm::silicon_cell_collection::const_view > m_inputCellsKey
Definition
DeviceClusterizationAlg.h:82
ActsTrk::DeviceClusterizationAlg::m_deviceMR
ToolHandle< AthDevice::IMemoryResourceTool > m_deviceMR
Definition
DeviceClusterizationAlg.h:77
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