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"
11
20
21#include "vecmem/utils/cuda/copy.hpp"
22
23namespace ActsTrk {
24
26public:
27 using AthReentrantAlgorithm::AthReentrantAlgorithm;
28
29 virtual StatusCode initialize() override;
30 virtual StatusCode execute(const EventContext& ctx) const override;
31
32private:
33
34 // ---------- configuration ----------
35 Gaudi::Property<bool> m_retrieveClusterCells{
36 this, "RetrieveClusterCells", true,
37 "Whether to retrieve cell indices associated to the clusters."};
38 Gaudi::Property<std::string> m_deviceDesignObjectName{
39 this, "DeviceDigitizationObjectName", "TracccDeviceDigitizationConfig",
40 "Traccc device digitization object"};
41 Gaudi::Property<std::string> m_deviceCondObjectName{
42 this, "DeviceConditionsObjectName", "TracccDeviceConditionsConfig",
43 "Traccc device conditions object"};
44
45 // ---------- tools ----------
46 ToolHandle<IDeviceClusterizationAlgProviderTool> m_clusteringAlgProviderTool{
47 this, "ClusteringAlgProviderTool", "",
48 "Tool providing the appropriate backend device clusterization algorithm"};
49
50 ToolHandle<AthDevice::IMemoryResourceTool> m_deviceMR{
51 this, "DeviceMR", "",
52 "Device memory resource tool"};
53 // for debugging prints only
54 ToolHandle<AthDevice::ICopyTool> m_copy{
55 this, "CopyProviderTool", "", "Vecmem copy provider tool"};
56
57 // ---------- data handles ----------
59 this, "InputTracccCells", "",
60 "Input traccc cell collection buffer"};
62 this, "OutputTracccMeasurements", "",
63 "Output uncalibrated traccc measurement collection buffer"};
65 this, "OutputTracccClusters", "",
66 "Output uncalibrated traccc cluster collection buffer"};
67
68 // Device buffers — retrieved from detStore
69 const traccc::detector_design_description::buffer* m_deviceDesign;
70 const traccc::detector_conditions_description::buffer* m_deviceCond;
71
72};
73
74} // namespace ActsTrk
75
76#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.
Gaudi::Property< std::string > m_deviceCondObjectName
virtual StatusCode execute(const EventContext &ctx) const override
ToolHandle< AthDevice::ICopyTool > m_copy
SG::WriteHandleKey< traccc::edm::measurement_collection::buffer > m_outputMeasKey
SG::WriteHandleKey< traccc::edm::silicon_cluster_collection::buffer > m_outputClusterKey
const traccc::detector_design_description::buffer * m_deviceDesign
virtual StatusCode initialize() override
ToolHandle< IDeviceClusterizationAlgProviderTool > m_clusteringAlgProviderTool
const traccc::detector_conditions_description::buffer * m_deviceCond
Gaudi::Property< std::string > m_deviceDesignObjectName
Gaudi::Property< bool > m_retrieveClusterCells
SG::ReadHandleKey< traccc::edm::silicon_cell_collection::buffer > 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...