ATLAS Offline Software
FPGADataFormatAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 
6 
7 #ifndef EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATTER_BASE_H
8 #define EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATTER_BASE_H
9 
10 // Athena include
14 #include "FPGADataFormatTool.h"
15 #include "TestVectorTool.h"
16 #include "OutputConversionTool.h"
17 #include "xAODClusterMaker.h"
18 #include "xAODSpacePointMaker.h"
19 #include "GaudiKernel/ServiceHandle.h"
20 #include "GaudiKernel/IChronoSvc.h"
21 
22 // STL include
23 #include <string>
24 #include <vector>
25 
30 {
31  public:
32  using AthReentrantAlgorithm::AthReentrantAlgorithm;
33 
34  virtual StatusCode initialize() override;
35 
39  virtual StatusCode execute(const EventContext &ctx) const override;
40 
41  private:
42  SG::ReadHandleKey<PixelRDO_Container> m_pixelRDOKey { this, "PixelRDO", "ITkPixelRDOs" };
43  SG::ReadHandleKey<SCT_RDO_Container> m_stripRDOKey { this, "StripRDO", "ITkStripRDOs" };
44 
45  // Test vector related properties
46  Gaudi::Property<std::string> m_pixelEDMRefTVPath{this, "PixelEDMRefTV", "",
47  "Path to pixel EDM L2G reference test vector"};
48  Gaudi::Property<std::string> m_stripEDMRefTVPath{this, "StripEDMRefTV", "",
49  "Path to strip EDM L2G reference test vector"};
50  Gaudi::Property<std::string> m_spacePointRefTVPath{this, "SpacePointRefTV", "",
51  "Path to space point reference test vector"};
52 
53  // Tool for converting the RDO into FPGA format
54  ToolHandle<FPGADataFormatTool> m_FPGADataFormatTool{this, "FPGADataFormatTool", "FPGADataFormatTool", "tool to convert RDOs into FPGA data format"};
55 
56  // Tool for reading in TV
57  ToolHandle<TestVectorTool> m_testVectorTool{this, "TestVectorTool", "TestVectorTool", "tool to read in test vector"};
58 
59  // Tool for output conversion
60  ToolHandle<OutputConversionTool> m_outputConversionTool{this, "OutputConversionTool", "OutputConversionTool", "tool for output conversion"};
61 
62  // Tool for making xAOD containers
63  ToolHandle<xAODClusterMaker> m_xAODClusterMaker{this, "xAODClusterMaker", "xAODClusterMaker", "tool for making xAOD cluster"};
64  ToolHandle<xAODSpacePointMaker> m_xAODSpacePointMaker{this, "xAODSpacePointMaker", "xAODSpacePointMaker", "tool for making xAOD space point"};
65 
66  // Chrono service
68 };
69 
70 #endif // EFTRACKING_FPGA_INTEGRATION_INTEGRATION_BASE_H
FPGADataFormatAlg::m_stripRDOKey
SG::ReadHandleKey< SCT_RDO_Container > m_stripRDOKey
Definition: FPGADataFormatAlg.h:43
FPGADataFormatAlg::m_xAODSpacePointMaker
ToolHandle< xAODSpacePointMaker > m_xAODSpacePointMaker
Definition: FPGADataFormatAlg.h:64
xAODSpacePointMaker.h
FPGADataFormatAlg::m_xAODClusterMaker
ToolHandle< xAODClusterMaker > m_xAODClusterMaker
Definition: FPGADataFormatAlg.h:63
FPGADataFormatAlg::m_chronoSvc
ServiceHandle< IChronoStatSvc > m_chronoSvc
Definition: FPGADataFormatAlg.h:67
FPGADataFormatAlg::m_pixelEDMRefTVPath
Gaudi::Property< std::string > m_pixelEDMRefTVPath
Pixel L2G reference test vector.
Definition: FPGADataFormatAlg.h:46
SG::ReadHandleKey< PixelRDO_Container >
FPGADataFormatAlg::m_testVectorTool
ToolHandle< TestVectorTool > m_testVectorTool
Definition: FPGADataFormatAlg.h:57
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
FPGADataFormatAlg::m_pixelRDOKey
SG::ReadHandleKey< PixelRDO_Container > m_pixelRDOKey
Definition: FPGADataFormatAlg.h:42
SCT_RDO_Container.h
FPGADataFormatAlg::initialize
virtual StatusCode initialize() override
Definition: FPGADataFormatAlg.cxx:9
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FPGADataFormatAlg::m_FPGADataFormatTool
ToolHandle< FPGADataFormatTool > m_FPGADataFormatTool
Definition: FPGADataFormatAlg.h:54
OutputConversionTool.h
FPGADataFormatAlg
Testing alogrithms for RDO to FPGA data converted.
Definition: FPGADataFormatAlg.h:30
FPGADataFormatAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Performs the data convertsion.
Definition: FPGADataFormatAlg.cxx:25
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
FPGADataFormatAlg::m_outputConversionTool
ToolHandle< OutputConversionTool > m_outputConversionTool
Definition: FPGADataFormatAlg.h:60
PixelRDO_Container.h
xAODClusterMaker.h
FPGADataFormatTool.h
TestVectorTool.h
FPGADataFormatAlg::m_stripEDMRefTVPath
Gaudi::Property< std::string > m_stripEDMRefTVPath
Strip L2G reference test vector.
Definition: FPGADataFormatAlg.h:48
FPGADataFormatAlg::m_spacePointRefTVPath
Gaudi::Property< std::string > m_spacePointRefTVPath
Space point reference test vector.
Definition: FPGADataFormatAlg.h:50
ServiceHandle< IChronoStatSvc >