ATLAS Offline Software
Loading...
Searching...
No Matches
TracccMeasurementConverterAlg.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 ACTSGPUEVENT_TRACCCMEASUREMENTCONVERTERALG_H
5#define ACTSGPUEVENT_TRACCCMEASUREMENTCONVERTERALG_H
6
10
12#include "traccc/edm/measurement_collection.hpp"
15
22
28
30
31#include "GaudiKernel/ToolHandle.h"
32
33namespace ActsTrk {
34
36{
37public:
38 using AthReentrantAlgorithm::AthReentrantAlgorithm;
39
40 virtual StatusCode initialize() override;
41 virtual StatusCode execute(const EventContext& ctx) const override;
42 virtual StatusCode finalize() override;
43
44private:
45 // ---- Input ----
47 this, "InputMeasurements", "TracccMeasurements",
48 "Input traccc measurement collection buffer"};
49
50 // ---- Output ----
52 this, "OutputPixelClusters", "ITkTracccPixelClusters",
53 "Output xAOD pixel cluster container"};
54
56 this, "OutputStripClusters", "ITkTracccStripClusters",
57 "Output xAOD strip cluster container"};
58
59 // ---- Tool ----
60 ToolHandle<AthDevice::IMemoryResourceTool> m_hostMR{
61 this, "HostMR", "", "Host memory resource tool"};
62 ToolHandle<AthDevice::ICopyTool> m_copy{
63 this, "CopyProviderTool", "", "Vecmem copy provider tool"};
65 this, "DetectorDescriptionSvc", "ActsTrk::JSONDeviceDetectorDescriptionProviderSvc"};
66
67 // ---- object counters ----
68 mutable std::atomic<int> m_nPix = 0;
69 mutable std::atomic<int> m_nStrip = 0;
70 mutable std::atomic<int> m_nMeas = 0;
71
72
73 const std::unordered_map<uint64_t, Identifier>* m_detrayToAthena;
74
75 const PixelID* m_pixelID{nullptr};
76 const SCT_ID* m_stripID{nullptr};
79};
80
81} // namespace ActsTrk
82
83#endif // ACTSGPUEVENT_TRACCCMEASUREMENTCONVERTERALG_H
This is an Identifier helper class for the Pixel subdetector.
This is an Identifier helper class for the SCT subdetector.
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.
SG::ReadHandleKey< traccc::edm::measurement_collection::buffer > m_inputMeasKey
SG::WriteHandleKey< xAOD::StripClusterContainer > m_outputStripKey
ServiceHandle< ActsTrk::IDeviceDetectorDescriptionProviderSvc > m_detDescSvc
ToolHandle< AthDevice::IMemoryResourceTool > m_hostMR
const std::unordered_map< uint64_t, Identifier > * m_detrayToAthena
SG::WriteHandleKey< xAOD::PixelClusterContainer > m_outputPixelKey
const InDetDD::SCT_DetectorManager * m_stripManager
const InDetDD::PixelDetectorManager * m_pixelManager
virtual StatusCode execute(const EventContext &ctx) const override
An algorithm that can be simultaneously executed in multiple threads.
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:69
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
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...