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*/
5
6#include "traccc/cuda/seeding/silicon_pixel_spacepoint_formation_algorithm.hpp"
7
9
10namespace ActsTrk {
11
13{
14 ATH_MSG_DEBUG("Initializing.");
15
16 ATH_CHECK(m_MRs.retrieve());
17 ATH_CHECK(m_copy.retrieve());
18 ATH_CHECK(m_streamTool.retrieve());
19
20 ATH_MSG_DEBUG("Successfully initialized");
21 return StatusCode::SUCCESS;
22}
23
24std::pair<std::shared_ptr<const vecmem::copy>, std::shared_ptr<const traccc::device::silicon_pixel_spacepoint_formation_algorithm>>
26{
27
28 ATH_MSG_VERBOSE("Constructing CUDA traccc pixel spacepoint formation algorithm");
29 traccc::memory_resource mr{m_MRs->mainMR(), m_MRs->hostMR()};
30 auto copy = m_copy->copy(ctx);
31
32 return std::make_pair(copy, std::make_shared<traccc::cuda::silicon_pixel_spacepoint_formation_algorithm>(
33 mr,
34 *copy,
35 traccc::cuda::stream_wrapper{m_streamTool->stream(ctx)},
36 makeActsAthenaLogger(this, "TracccSPFormationCUDA")));
37
38}
39
40} // namespace ActsTrk
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_DEBUG(x)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
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...