ATLAS Offline Software
Loading...
Searching...
No Matches
CUDASPFormationAlgProviderTool.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_CUDASPFORMATIONALGPROVIDERTOOL_H
5#define ACTSGPUDATAPREPARATION_CUDASPFORMATIONALGPROVIDERTOOL_H
6
12
13#include "vecmem/utils/cuda/copy.hpp"
14
15#include <Gaudi/Property.h>
16#include <memory>
17#include <string>
18
19namespace ActsTrk {
20
36 : public extends<AthAlgTool, IDeviceSPFormationAlgProviderTool>
37{
38public:
39 using extends::extends;
41 virtual StatusCode initialize() override;
42
45 virtual std::pair<std::shared_ptr<const vecmem::copy>, std::shared_ptr<const traccc::device::silicon_pixel_spacepoint_formation_algorithm>> getPixelSPFormationAlgorithm(const EventContext& ctx) const override;
46
47
48private:
49
51 ToolHandle<AthDevice::IMemoryResourcesTool> m_MRs{
52 this, "MemoryResourcesTool", "",
53 "The memory resources tool to use for allocating memory on the device"};
54
56 ToolHandle<AthDevice::ICopyTool> m_copy{
57 this, "CopyProviderTool", "", "Vecmem copy provider tool"};
58
59 ToolHandle<AthCUDA::IStreamTool> m_streamTool{
60 this, "StreamTool", "", "CUDA stream provider tool"};
61
62};
63
64} // namespace ActsTrk
65
66#endif // ACTSGPUDATAPREPARATION_CUDASPFORMATIONALGPROVIDERTOOL_H
Tool providing CUDA-based traccc spacepoint formation algorithm.
virtual std::pair< std::shared_ptr< const vecmem::copy >, std::shared_ptr< const traccc::device::silicon_pixel_spacepoint_formation_algorithm > > getPixelSPFormationAlgorithm(const EventContext &ctx) const override
Function constructing the traccc cuda clusterization algorithm.
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
virtual StatusCode initialize() override
Function initializing the algorithm.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...