ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUDataPreparation
src
hip
HIPClusterizationAlgProviderTool.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).
6
#include "
HIPClusterizationAlgProviderTool.h
"
7
8
// Athena Acts include(s).
9
#include "
ActsInterop/Logger.h
"
10
11
// Traccc include(s).
12
#include "traccc/hip/clusterization/clusterization_algorithm.hpp"
13
#include "traccc/hip/clusterization/measurement_sorting_algorithm.hpp"
14
15
namespace
ActsTrk
{
16
17
StatusCode
HIPClusterizationAlgProviderTool::initialize
() {
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
m_clusteringConfig
.sort_cells =
m_sortCells
;
25
26
ATH_MSG_DEBUG
(
"Successfully initialized"
);
27
return
StatusCode::SUCCESS;
28
}
29
30
DeviceAlgorithmT<traccc::device::clusterization_algorithm>
31
HIPClusterizationAlgProviderTool::getClusterizationAlgorithm
(
32
const
EventContext& ctx)
const
{
33
34
ATH_MSG_VERBOSE
(
"Constructing HIP traccc clusterization algorithm"
);
35
auto
copy =
m_copy
->copy(ctx);
36
37
return
{copy,
38
std::make_shared<traccc::hip::clusterization_algorithm>(
39
traccc::memory_resource{
m_MRs
->mainMR(),
m_MRs
->hostMR()}, *copy,
40
traccc::hip::stream_wrapper{
m_streamTool
->stream(ctx)},
41
m_clusteringConfig
,
42
makeActsAthenaLogger
(
this
,
"TracccClusterizationHIP"
))};
43
}
44
45
DeviceAlgorithmT<IDeviceClusterizationAlgProviderTool::sorting_algorithm_type>
46
HIPClusterizationAlgProviderTool::getSortingAlgorithm
(
47
const
EventContext& ctx)
const
{
48
49
ATH_MSG_VERBOSE
(
"Constructing HIP traccc measurement sorting algorithm"
);
50
auto
copy =
m_copy
->copy(ctx);
51
52
return
{copy,
53
std::make_shared<traccc::hip::measurement_sorting_algorithm>(
54
traccc::memory_resource{
m_MRs
->mainMR(),
m_MRs
->hostMR()}, *copy,
55
traccc::hip::stream_wrapper{
m_streamTool
->stream(ctx)},
56
makeActsAthenaLogger
(
this
,
"TracccMeasurementSortingHIP"
))};
57
}
58
59
}
// 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
HIPClusterizationAlgProviderTool.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::DeviceAlgorithmT
Convenience type for the "algorithm provider" tools.
Definition
DeviceAlgorithmT.h:15
ActsTrk::HIPClusterizationAlgProviderTool::m_streamTool
ToolHandle< AthHIP::IStreamTool > m_streamTool
Definition
HIPClusterizationAlgProviderTool.h:67
ActsTrk::HIPClusterizationAlgProviderTool::m_MRs
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
Definition
HIPClusterizationAlgProviderTool.h:59
ActsTrk::HIPClusterizationAlgProviderTool::getSortingAlgorithm
virtual DeviceAlgorithmT< sorting_algorithm_type > getSortingAlgorithm(const EventContext &ctx) const override
Function constructing the traccc hip measurement sorting algorithm Neccesary because the CKF requires...
Definition
HIPClusterizationAlgProviderTool.cxx:46
ActsTrk::HIPClusterizationAlgProviderTool::getClusterizationAlgorithm
virtual DeviceAlgorithmT< traccc::device::clusterization_algorithm > getClusterizationAlgorithm(const EventContext &ctx) const override
Function constructing the traccc hip clusterization algorithm.
Definition
HIPClusterizationAlgProviderTool.cxx:31
ActsTrk::HIPClusterizationAlgProviderTool::m_sortCells
Gaudi::Property< bool > m_sortCells
Definition
HIPClusterizationAlgProviderTool.h:54
ActsTrk::HIPClusterizationAlgProviderTool::m_clusteringConfig
traccc::clustering_config m_clusteringConfig
Definition
HIPClusterizationAlgProviderTool.h:51
ActsTrk::HIPClusterizationAlgProviderTool::m_copy
ToolHandle< AthDevice::ICopyTool > m_copy
Definition
HIPClusterizationAlgProviderTool.h:64
ActsTrk::HIPClusterizationAlgProviderTool::initialize
virtual StatusCode initialize() override
Function initializing the algorithm.
Definition
HIPClusterizationAlgProviderTool.cxx:17
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