ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUEventCnv
src
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
7
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
8
#include "
StoreGate/ReadHandleKey.h
"
9
#include "
StoreGate/ReadHandleKeyArray.h
"
10
#include "
StoreGate/WriteHandleKey.h
"
11
#include "GaudiKernel/ToolHandle.h"
12
13
#include "
ActsGPUEvent/TracccSpacepointCollection.h
"
14
15
#include "
AthDeviceInterfaces/IMemoryResourcesTool.h
"
16
#include "
AthDeviceInterfaces/ICopiesTool.h
"
17
18
#include "
xAODInDetMeasurement/SpacePointContainer.h
"
19
#include "
SGTools/StlVectorClids.h
"
20
21
#include <atomic>
22
#include <memory_resource>
23
#include <vector>
24
25
namespace
ActsTrk
{
26
48
class
xAODToTracccSpacePointConverterAlg
:
public
AthReentrantAlgorithm
49
{
50
public
:
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
60
private
:
63
SG::ReadHandleKeyArray<xAOD::SpacePointContainer>
m_inputSpacePointKeys
{
64
this
,
"InputSpacePoints"
, {},
"Input xAOD space point containers"
};
65
SG::ReadHandleKey<std::vector<unsigned int>
>
m_inputMeasToClusterKey
{
66
this
,
"InputMeasToCluster"
,
""
,
67
"Input mapping from traccc measurement index to xAOD cluster index"
};
68
69
72
SG::WriteHandleKey<traccc::edm::spacepoint_collection::buffer>
m_outputSPKey
{
73
this
,
"OutputTracccSpacepoints"
,
""
,
74
"Output traccc spacepoint collection buffer"
};
75
76
79
SG::WriteHandleKey<std::vector<unsigned int>
>
m_outputSPContainerKey
{
80
this
,
"OutputSPToHostContainer"
,
""
,
81
"Output mapping from traccc spacepoint index to input container number"
};
82
SG::WriteHandleKey<std::vector<unsigned int>
>
m_outputSPIndexKey
{
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
AthReentrantAlgorithm.h
SpacePointContainer.h
ICopiesTool.h
IMemoryResourcesTool.h
StlVectorClids.h
ReadHandleKeyArray.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TracccSpacepointCollection.h
ActsTrk::xAODToTracccSpacePointConverterAlg
Algorithm converting xAOD space points (host containers) to traccc spacepoints (device buffer).
Definition
xAODToTracccSpacePointConverterAlg.h:49
ActsTrk::xAODToTracccSpacePointConverterAlg::initialize
virtual StatusCode initialize() override
Function initializing the algorithm.
Definition
xAODToTracccSpacePointConverterAlg.cxx:17
ActsTrk::xAODToTracccSpacePointConverterAlg::m_outputSPContainerKey
SG::WriteHandleKey< std::vector< unsigned int > > m_outputSPContainerKey
Definition
xAODToTracccSpacePointConverterAlg.h:79
ActsTrk::xAODToTracccSpacePointConverterAlg::m_outputSPIndexKey
SG::WriteHandleKey< std::vector< unsigned int > > m_outputSPIndexKey
Definition
xAODToTracccSpacePointConverterAlg.h:82
ActsTrk::xAODToTracccSpacePointConverterAlg::finalize
virtual StatusCode finalize() override
Function finalizing the algorithm.
Definition
xAODToTracccSpacePointConverterAlg.cxx:154
ActsTrk::xAODToTracccSpacePointConverterAlg::m_inputMeasToClusterKey
SG::ReadHandleKey< std::vector< unsigned int > > m_inputMeasToClusterKey
Definition
xAODToTracccSpacePointConverterAlg.h:65
ActsTrk::xAODToTracccSpacePointConverterAlg::m_inputSpacePointKeys
SG::ReadHandleKeyArray< xAOD::SpacePointContainer > m_inputSpacePointKeys
Definition
xAODToTracccSpacePointConverterAlg.h:63
ActsTrk::xAODToTracccSpacePointConverterAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
Definition
xAODToTracccSpacePointConverterAlg.cxx:40
ActsTrk::xAODToTracccSpacePointConverterAlg::m_nSpacePoints
std::atomic< unsigned long > m_nSpacePoints
The object counter for debug prints in finalize method.
Definition
xAODToTracccSpacePointConverterAlg.h:97
ActsTrk::xAODToTracccSpacePointConverterAlg::m_MRs
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
Definition
xAODToTracccSpacePointConverterAlg.h:89
ActsTrk::xAODToTracccSpacePointConverterAlg::m_outputSPKey
SG::WriteHandleKey< traccc::edm::spacepoint_collection::buffer > m_outputSPKey
Definition
xAODToTracccSpacePointConverterAlg.h:72
ActsTrk::xAODToTracccSpacePointConverterAlg::m_copiesTool
ToolHandle< AthDevice::ICopiesTool > m_copiesTool
Definition
xAODToTracccSpacePointConverterAlg.h:92
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
SG::ReadHandleKeyArray
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Definition
StoreGate/StoreGate/ReadHandleKeyArray.h:32
Generated on
for ATLAS Offline Software by
1.17.0