ATLAS Offline Software
Loading...
Searching...
No Matches
xAODToTracccSpacePointConverterAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef ACTSGPUEVENTCNV_XAODTOTRACCCSPACEPOINTCONVERTERALG_H
5#define ACTSGPUEVENTCNV_XAODTOTRACCCSPACEPOINTCONVERTERALG_H
6
11#include "GaudiKernel/ToolHandle.h"
12
14
17
20
21#include <atomic>
22#include <memory_resource>
23#include <vector>
24
25namespace ActsTrk {
26
49{
50public:
51 using AthReentrantAlgorithm::AthReentrantAlgorithm;
52
54 virtual StatusCode initialize() override;
56 virtual StatusCode execute(const EventContext& ctx) const override;
58 virtual StatusCode finalize() override;
59
60private:
64 this, "InputSpacePoints", {}, "Input xAOD space point containers"};
66 this, "InputMeasToCluster", "",
67 "Input mapping from traccc measurement index to xAOD cluster index"};
68
69
73 this, "OutputTracccSpacepoints", "",
74 "Output traccc spacepoint collection buffer"};
75
76
80 this, "OutputSPToHostContainer", "",
81 "Output mapping from traccc spacepoint index to input container number"};
83 this, "OutputSPToHostIndex", "",
84 "Output mapping from traccc spacepoint index to index in the input container"};
85
86
89 ToolHandle<AthDevice::IMemoryResourcesTool> m_MRs{
90 this, "MemoryResourcesTool", "",
91 "The memory resources tool to use for allocating memory on the host and the device"};
92 ToolHandle<AthDevice::ICopiesTool> m_copiesTool{
93 this, "CopiesTool", "", "Tool that provides host and device copy objects"};
94
95
97 mutable std::atomic<unsigned long> m_nSpacePoints = 0;
98};
99
100} // namespace ActsTrk
101
102#endif // ACTSGPUEVENTCNV_XAODTOTRACCCSPACEPOINTCONVERTERALG_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Algorithm converting xAOD space points (host containers) to traccc spacepoints (device buffer).
virtual StatusCode initialize() override
Function initializing the algorithm.
SG::WriteHandleKey< std::vector< unsigned int > > m_outputSPContainerKey
SG::WriteHandleKey< std::vector< unsigned int > > m_outputSPIndexKey
virtual StatusCode finalize() override
Function finalizing the algorithm.
SG::ReadHandleKey< std::vector< unsigned int > > m_inputMeasToClusterKey
SG::ReadHandleKeyArray< xAOD::SpacePointContainer > m_inputSpacePointKeys
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
std::atomic< unsigned long > m_nSpacePoints
The object counter for debug prints in finalize method.
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
SG::WriteHandleKey< traccc::edm::spacepoint_collection::buffer > m_outputSPKey
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray