ATLAS Offline Software
Loading...
Searching...
No Matches
CUDATrackFindingAlgProviderTool.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/finding/combinatorial_kalman_filter_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
25CUDATrackFindingAlgProviderTool::getAlgorithm(const EventContext& ctx, const traccc::finding_config& trkfinding_config) const
26{
27
28 ATH_MSG_VERBOSE("Constructing CUDA traccc track finding algorithm");
29
30 auto copy = m_copy->copy(ctx);
31
32 return {copy, std::make_shared<traccc::cuda::combinatorial_kalman_filter_algorithm>(
33 trkfinding_config,
34 traccc::memory_resource{m_MRs->mainMR(), m_MRs->hostMR()},
35 *copy,
36 traccc::cuda::stream_wrapper{m_streamTool->stream(ctx)},
37 makeActsAthenaLogger(this, "TracccTrackFindingCUDA"),
38 nullptr)};
39
40}
41
42} // 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
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...