ATLAS Offline Software
Loading...
Searching...
No Matches
CUDASPFormationAlgProviderTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5// Local include(s).
7
8// Athena Acts include(s).
10
11// Traccc include(s).
12#include "traccc/cuda/seeding/silicon_pixel_spacepoint_formation_algorithm.hpp"
13
14namespace ActsTrk {
15
17{
18 ATH_MSG_DEBUG("Initializing.");
19
20 ATH_CHECK(m_MRs.retrieve());
21 ATH_CHECK(m_copy.retrieve());
22 ATH_CHECK(m_streamTool.retrieve());
23
24 ATH_MSG_DEBUG("Successfully initialized");
25 return StatusCode::SUCCESS;
26}
27
30{
31
32 ATH_MSG_VERBOSE("Constructing CUDA traccc pixel spacepoint formation algorithm");
33
34 auto copy = m_copy->copy(ctx);
35
36 return {copy, std::make_shared<traccc::cuda::silicon_pixel_spacepoint_formation_algorithm>(
37 traccc::memory_resource{m_MRs->mainMR(), m_MRs->hostMR()},
38 *copy,
39 traccc::cuda::stream_wrapper{m_streamTool->stream(ctx)},
40 makeActsAthenaLogger(this, "TracccSPFormationCUDA"))};
41
42}
43
44} // namespace ActsTrk
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_VERBOSE(x,...)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Definition Logger.cxx:64
virtual DeviceAlgorithmT< traccc::device::silicon_pixel_spacepoint_formation_algorithm > getAlgorithm(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.
Convenience type for the "algorithm provider" tools.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...