ATLAS Offline Software
Loading...
Searching...
No Matches
CUDATrackFindingAlgProviderTool.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 ACTSGPUPATTERNRECOGNITION_CUDATRACKFINDINGALGPROVIDERTOOL_H
5#define ACTSGPUPATTERNRECOGNITION_CUDATRACKFINDINGALGPROVIDERTOOL_H
6
12
13#include <Gaudi/Property.h>
14#include <memory>
15#include <string>
16
17namespace ActsTrk {
18
34 : public extends<AthAlgTool, IDeviceTrackFindingAlgProviderTool>
35{
36public:
37 using extends::extends;
39 virtual StatusCode initialize() override;
40
43
44 virtual DeviceAlgorithmT<traccc::device::combinatorial_kalman_filter_algorithm> getAlgorithm(const EventContext& ctx, const traccc::finding_config& trkfinding_config) const override;
45
46
47private:
48
50 ToolHandle<AthDevice::IMemoryResourcesTool> m_MRs{
51 this, "MemoryResourcesTool", "",
52 "The memory resources tool to use for allocating memory on the device"};
53
55 ToolHandle<AthDevice::ICopyTool> m_copy{
56 this, "CopyProviderTool", "", "Vecmem copy provider tool"};
57
58 ToolHandle<AthCUDA::IStreamTool> m_streamTool{
59 this, "StreamTool", "", "CUDA stream provider tool"};
60
61};
62
63} // namespace ActsTrk
64
65#endif // ACTSGPUPATTERNRECOGNITION_CUDATRACKFINDINGALGPROVIDERTOOL_H
Tool providing CUDA-based traccc track findng algorithm.
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
virtual StatusCode initialize() override
Function initializing the algorithm.
virtual DeviceAlgorithmT< traccc::device::combinatorial_kalman_filter_algorithm > getAlgorithm(const EventContext &ctx, const traccc::finding_config &trkfinding_config) const override
Function constructing the traccc cuda track finding algorithm.
Convenience type for the "algorithm provider" tools.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...