ATLAS Offline Software
Loading...
Searching...
No Matches
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).
7
8// Athena Acts include(s).
10
11// Traccc include(s).
12#include "traccc/hip/clusterization/clusterization_algorithm.hpp"
13#include "traccc/hip/clusterization/measurement_sorting_algorithm.hpp"
14
15namespace ActsTrk {
16
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
25
26 ATH_MSG_DEBUG("Successfully initialized");
27 return StatusCode::SUCCESS;
28}
29
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)},
42 makeActsAthenaLogger(this, "TracccClusterizationHIP"))};
43}
44
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
#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
Convenience type for the "algorithm provider" tools.
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
virtual DeviceAlgorithmT< sorting_algorithm_type > getSortingAlgorithm(const EventContext &ctx) const override
Function constructing the traccc hip measurement sorting algorithm Neccesary because the CKF requires...
virtual DeviceAlgorithmT< traccc::device::clusterization_algorithm > getClusterizationAlgorithm(const EventContext &ctx) const override
Function constructing the traccc hip clusterization algorithm.
virtual StatusCode initialize() override
Function initializing the algorithm.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...