ATLAS Offline Software
Loading...
Searching...
No Matches
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
8#include "GaudiKernel/ToolHandle.h"
12
21
22namespace ActsTrk {
48public:
49 using AthReentrantAlgorithm::AthReentrantAlgorithm;
50
52 virtual StatusCode initialize() override;
54 virtual StatusCode execute(const EventContext& ctx) const override;
55
56private:
57
58 Gaudi::Property<bool> m_retrieveClusterCells{
59 this, "RetrieveClusterCells", true,
60 "Whether to retrieve cell indices associated to the clusters."};
61
63 Gaudi::Property<std::string> m_deviceDesignObjectName{
64 this, "DeviceDigitizationObjectName", "TracccDeviceDigitizationConfig",
65 "Traccc device digitization object"};
66
67
69 ToolHandle<IDeviceClusterizationAlgProviderTool> m_clusteringAlgProviderTool{
70 this, "ClusteringAlgProviderTool", "",
71 "Tool providing the appropriate backend device clusterization algorithm"};
72
73 ToolHandle<AthDevice::IMemoryResourceTool> m_deviceMR{
74 this, "DeviceMR", "",
75 "Device memory resource tool"};
76
79 this, "InputTracccCells", "",
80 "Input traccc cell collection buffer"};
81
85 this, "OutputTracccMeasurements", "",
86 "Output uncalibrated traccc measurement collection buffer"};
88 this, "OutputTracccClusters", "",
89 "Output uncalibrated traccc cluster collection buffer"};
90
91
92 // Device buffers — retrieved from detStore
93 const traccc::detector_design_description::const_view* m_deviceDesign{nullptr};
95 this, "DeviceConditionsObjectName", "TracccDeviceConditionsConfig",
96 "Traccc device conditions object"};
97};
98
99} // namespace ActsTrk
100
101#endif // ACTSGPUDATAPREPARATION_DEVICECLUSTERIZATIONALG_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Algorithm executing traccc clusterization and measurement sorting on the GPU.
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
SG::WriteHandleKey< traccc::edm::measurement_collection::buffer > m_outputMeasKey
SG::WriteHandleKey< traccc::edm::silicon_cluster_collection::buffer > m_outputClusterKey
SG::ReadCondHandleKey< traccc::detector_conditions_description::buffer > m_deviceCondObjectName
virtual StatusCode initialize() override
Function initializing the algorithm.
const traccc::detector_design_description::const_view * m_deviceDesign
ToolHandle< IDeviceClusterizationAlgProviderTool > m_clusteringAlgProviderTool
Gaudi::Property< std::string > m_deviceDesignObjectName
Gaudi::Property< bool > m_retrieveClusterCells
SG::ReadHandleKey< traccc::edm::silicon_cell_collection::const_view > m_inputCellsKey
ToolHandle< AthDevice::IMemoryResourceTool > m_deviceMR
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...