ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUDataPreparation
src
DeviceSPFormationAlg.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 ACTSGPUDATAPREPARATION_DEVICESPFORMATIONALG_H
5
#define ACTSGPUDATAPREPARATION_DEVICESPFORMATIONALG_H
6
7
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
8
#include "GaudiKernel/ToolHandle.h"
9
#include "
StoreGate/ReadHandleKey.h
"
10
#include "
StoreGate/WriteHandleKey.h
"
11
12
#include "
IDeviceSPFormationAlgProviderTool.h
"
13
#include "
AthDeviceInterfaces/IMemoryResourceTool.h
"
14
#include "
AthDeviceInterfaces/ICopyTool.h
"
15
#include "
ActsGPUEvent/TracccDetectorGeometryDescription.h
"
16
#include "
ActsGPUEvent/TracccMeasurementCollection.h
"
17
#include "
ActsGPUEvent/TracccSpacepointCollection.h
"
18
19
20
21
#include "vecmem/utils/cuda/copy.hpp"
22
23
namespace
ActsTrk
{
40
class
DeviceSPFormationAlg
:
public
AthReentrantAlgorithm
{
41
public
:
42
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
43
45
virtual
StatusCode
initialize
()
override
;
47
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
48
49
private
:
50
53
Gaudi::Property<std::string>
m_deviceDetectorName
{
54
this
,
"DeviceDetectorName"
,
"DetrayDeviceDetector"
,
55
"Detray device detector object"
};
56
57
59
ToolHandle<IDeviceSPFormationAlgProviderTool>
m_spAlgProviderTool
{
60
this
,
"SPFormationAlgProviderTool"
,
""
,
61
"Tool providing the appropriate backend device spacepoint formation algorithm"
};
62
63
ToolHandle<AthDevice::IMemoryResourceTool>
m_deviceMR
{
64
this
,
"DeviceMR"
,
""
,
65
"Device memory resource tool"
};
66
68
SG::ReadHandleKey<traccc::edm::measurement_collection::const_view>
m_inputMeasKey
{
69
this
,
"InputTracccMeasurements"
,
""
,
70
"Input traccc measurement collection buffer"
};
71
74
SG::WriteHandleKey<traccc::edm::spacepoint_collection::buffer>
m_outputPixelSPKey
{
75
this
,
"OutputTracccPixelSpacepoints"
,
""
,
76
"Output traccc pixel spacepoint collection buffer"
};
77
78
79
// Device buffers — retrieved from detStore
80
const
traccc::detector_buffer*
m_deviceDetector
{
nullptr
};
81
82
};
83
84
}
// namespace ActsTrk
85
86
#endif
// ACTSGPUDATAPREPARATION_DEVICESPFORMATIONALG_H
AthReentrantAlgorithm.h
ICopyTool.h
IDeviceSPFormationAlgProviderTool.h
IMemoryResourceTool.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.
TracccDetectorGeometryDescription.h
TracccMeasurementCollection.h
TracccSpacepointCollection.h
ActsTrk::DeviceSPFormationAlg
Algorithm executing traccc (pixel) spacepoint formation on the GPU.
Definition
DeviceSPFormationAlg.h:40
ActsTrk::DeviceSPFormationAlg::initialize
virtual StatusCode initialize() override
Function initializing the algorithm.
Definition
DeviceSPFormationAlg.cxx:19
ActsTrk::DeviceSPFormationAlg::m_deviceDetector
const traccc::detector_buffer * m_deviceDetector
Definition
DeviceSPFormationAlg.h:80
ActsTrk::DeviceSPFormationAlg::m_deviceMR
ToolHandle< AthDevice::IMemoryResourceTool > m_deviceMR
Definition
DeviceSPFormationAlg.h:63
ActsTrk::DeviceSPFormationAlg::m_spAlgProviderTool
ToolHandle< IDeviceSPFormationAlgProviderTool > m_spAlgProviderTool
Definition
DeviceSPFormationAlg.h:59
ActsTrk::DeviceSPFormationAlg::m_deviceDetectorName
Gaudi::Property< std::string > m_deviceDetectorName
Definition
DeviceSPFormationAlg.h:53
ActsTrk::DeviceSPFormationAlg::m_outputPixelSPKey
SG::WriteHandleKey< traccc::edm::spacepoint_collection::buffer > m_outputPixelSPKey
Definition
DeviceSPFormationAlg.h:74
ActsTrk::DeviceSPFormationAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
Definition
DeviceSPFormationAlg.cxx:34
ActsTrk::DeviceSPFormationAlg::m_inputMeasKey
SG::ReadHandleKey< traccc::edm::measurement_collection::const_view > m_inputMeasKey
Definition
DeviceSPFormationAlg.h:68
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
Generated on
for ATLAS Offline Software by
1.17.0