ATLAS Offline Software
Loading...
Searching...
No Matches
HIPClusterizationAlgProviderTool.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_HIPCLUSTERIZATIONALGPROVIDERTOOL_H
5#define ACTSGPUDATAPREPARATION_HIPCLUSTERIZATIONALGPROVIDERTOOL_H
6
7// Local include(s).
9
10// Framework include(s).
15#include "Gaudi/Property.h"
16#include "GaudiKernel/ToolHandle.h"
17
18namespace ActsTrk {
19
33 : public extends<AthAlgTool, IDeviceClusterizationAlgProviderTool> {
34 public:
35 using extends::extends;
37 virtual StatusCode initialize() override;
38
42 getClusterizationAlgorithm(const EventContext& ctx) const override;
43
48 const EventContext& ctx) const override;
49
50 private:
51 traccc::clustering_config m_clusteringConfig{};
52
54 Gaudi::Property<bool> m_sortCells{
55 this, "CellSorting", true,
56 "Whether to sort traccc cells on GPU prior to clusterization"};
57
59 ToolHandle<AthDevice::IMemoryResourcesTool> m_MRs{
60 this, "MemoryResourcesTool", "",
61 "The memory resources tool to use for allocating memory on the device"};
62
64 ToolHandle<AthDevice::ICopyTool> m_copy{this, "CopyProviderTool", "",
65 "Vecmem copy provider tool"};
66
67 ToolHandle<AthHIP::IStreamTool> m_streamTool{this, "StreamTool", "",
68 "HIP stream provider tool"};
69};
70
71} // namespace ActsTrk
72
73#endif // ACTSGPUDATAPREPARATION_HIPCLUSTERIZATIONALGPROVIDERTOOL_H
Convenience type for the "algorithm provider" tools.
Tool providing HIP-based traccc clusterization and measurement sorting algorithms.
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
virtual DeviceAlgorithmT< sorting_algorithm_type > getSortingAlgorithm(const EventContext &ctx) const override
Function constructing the traccc hip measurement sorting algorithm Neccesary because the CKF requires...
virtual DeviceAlgorithmT< traccc::device::clusterization_algorithm > getClusterizationAlgorithm(const EventContext &ctx) const override
Function constructing the traccc hip clusterization algorithm.
virtual StatusCode initialize() override
Function initializing the algorithm.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...