ATLAS Offline Software
Loading...
Searching...
No Matches
CUDATrkParamAlgProviderTool.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/seed_parameter_estimation_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
29CUDATrkParamAlgProviderTool::getAlgorithm(const EventContext& ctx, const traccc::track_params_estimation_config& trkparam_config) const
30{
31
32 ATH_MSG_VERBOSE("Constructing CUDA traccc track parameter estimation algorithm");
33 auto copy = m_copy->copy(ctx);
34
35 return {copy, std::make_shared<traccc::cuda::seed_parameter_estimation_algorithm>(
36 trkparam_config,
37 traccc::memory_resource{m_MRs->mainMR(), m_MRs->hostMR()},
38 *copy,
39 traccc::cuda::stream_wrapper{m_streamTool->stream(ctx)},
40 makeActsAthenaLogger(this, "TracccTrkParamEstimationCUDA"))};
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
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
ToolHandle< AthCUDA::IStreamTool > m_streamTool
ToolHandle< AthDevice::ICopyTool > m_copy
virtual DeviceAlgorithmT< traccc::device::seed_parameter_estimation_algorithm > getAlgorithm(const EventContext &ctx, const traccc::track_params_estimation_config &trkparam_config) const override
Function constructing the traccc cuda track parameter estimation algorithm.
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...