ATLAS Offline Software
EFTrackingXrtAlgorithm.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef EFTRACKING_XRT_ALGORITHM
6 #define EFTRACKING_XRT_ALGORITHM
7 
9 #include "Gaudi/Property.h"
10 
11 // Gaudi::Property<std::map<std::string, std::vector<std::map<std::string, std::string>>>>
12 #include "Gaudi/Parsers/Factory.h"
15 
16 #include "xrt/xrt_device.h"
17 #include "xrt/xrt_kernel.h"
18 
31 {
35  std::vector<SG::ReadHandleKey<std::vector<unsigned long>>> m_inputDataStreamKeys{};
36  std::vector<SG::WriteHandleKey<std::vector<unsigned long>>> m_outputDataStreamKeys{};
37 
38  Gaudi::Property<std::string> m_xclbinPath{
39  this,
40  "xclbinPath",
41  "",
42  "Path to Xilinx Compute Language Binary (firmware)."
43  };
44 
45  Gaudi::Property<
46  std::map<std::string, std::vector<std::map<std::string, std::string>>>
48  this,
49  "kernelDefinitions",
50  {},
51  "List of named kernels."
52  };
53 
54  Gaudi::Property<std::size_t> m_bufferSize {
55  this,
56  "bufferSize",
57  8192,
58  "Capacity of xrt buffers in terms of 64bit words."
59  };
60 
61  public:
62  EFTrackingXrtAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
63  StatusCode initialize() override final;
64  StatusCode execute(const EventContext& ctx) const override final;
65 };
66 
67 #endif
68 
ReadHandleKeyArray.h
EFTrackingXrtAlgorithm::EFTrackingXrtAlgorithm
EFTrackingXrtAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: EFTrackingXrtAlgorithm.cxx:7
EFTrackingXrtAlgorithm
Definition: EFTrackingXrtAlgorithm.h:31
EFTrackingXrtAlgorithm::m_inputDataStreamKeys
std::vector< SG::ReadHandleKey< std::vector< unsigned long > > > m_inputDataStreamKeys
Keys to access encoded 64bit words following the EFTracking specification.
Definition: EFTrackingXrtAlgorithm.h:35
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthReentrantAlgorithm.h
WriteHandleKeyArray.h
EFTrackingXrtAlgorithm::execute
StatusCode execute(const EventContext &ctx) const override final
Definition: EFTrackingXrtAlgorithm.cxx:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
EFTrackingXrtAlgorithm::initialize
StatusCode initialize() override final
Definition: EFTrackingXrtAlgorithm.cxx:13
EFTrackingXrtAlgorithm::m_xclbinPath
Gaudi::Property< std::string > m_xclbinPath
Definition: EFTrackingXrtAlgorithm.h:38
EFTrackingXrtAlgorithm::m_outputDataStreamKeys
std::vector< SG::WriteHandleKey< std::vector< unsigned long > > > m_outputDataStreamKeys
Definition: EFTrackingXrtAlgorithm.h:36
EFTrackingXrtAlgorithm::m_bufferSize
Gaudi::Property< std::size_t > m_bufferSize
Definition: EFTrackingXrtAlgorithm.h:54
EFTrackingXrtAlgorithm::m_kernelDefinitions
Gaudi::Property< std::map< std::string, std::vector< std::map< std::string, std::string > > > > m_kernelDefinitions
Definition: EFTrackingXrtAlgorithm.h:47