ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUPatternRecognition
src
cuda
CUDATrackFindingAlgProviderTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
CUDATrackFindingAlgProviderTool.h
"
5
6
#include "traccc/cuda/finding/combinatorial_kalman_filter_algorithm.hpp"
7
8
#include "
ActsInterop/Logger.h
"
9
10
namespace
ActsTrk
{
11
12
StatusCode
CUDATrackFindingAlgProviderTool::initialize
()
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
24
DeviceAlgorithmT<traccc::device::combinatorial_kalman_filter_algorithm>
25
CUDATrackFindingAlgProviderTool::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
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x,...)
Definition
AthMsgStreamMacros.h:42
CUDATrackFindingAlgProviderTool.h
Logger.h
makeActsAthenaLogger
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
ActsTrk::CUDATrackFindingAlgProviderTool::m_MRs
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
Definition
CUDATrackFindingAlgProviderTool.h:50
ActsTrk::CUDATrackFindingAlgProviderTool::initialize
virtual StatusCode initialize() override
Function initializing the algorithm.
Definition
CUDATrackFindingAlgProviderTool.cxx:12
ActsTrk::CUDATrackFindingAlgProviderTool::m_streamTool
ToolHandle< AthCUDA::IStreamTool > m_streamTool
Definition
CUDATrackFindingAlgProviderTool.h:58
ActsTrk::CUDATrackFindingAlgProviderTool::m_copy
ToolHandle< AthDevice::ICopyTool > m_copy
Definition
CUDATrackFindingAlgProviderTool.h:55
ActsTrk::CUDATrackFindingAlgProviderTool::getAlgorithm
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.
Definition
CUDATrackFindingAlgProviderTool.cxx:25
ActsTrk::DeviceAlgorithmT
Convenience type for the "algorithm provider" tools.
Definition
DeviceAlgorithmT.h:15
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Generated on
for ATLAS Offline Software by
1.17.0