ATLAS Offline Software
FPGADataFormatTool.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 #ifndef EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATTOOL_H
6 #define EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATTOOL_H
7 
10 
15 #include "InDetIdentifier/SCT_ID.h"
18 #include <cinttypes>
19 
20 
22 : public extends<AthAlgTool, IEFTrackingFPGADataFormatTool> {
23  public:
24  using extends::extends;
25 
26  virtual StatusCode initialize() override;
27 
32  const PixelRDO_Container &pixelRDO,
33  std::vector<uint64_t> &encodedData,
34  const EventContext &ctx) const override;
39  const SCT_RDO_Container &stripRDO,
40  std::vector<uint64_t> &encodedData,
41  const EventContext &ctx) const override;
42 
43  private:
44  const PixelID* m_pixelId = nullptr;
45  const SCT_ID* m_sctId = nullptr;
46 
49 
50  // Helper function for converting pixel RDO
52  const PixelRDO_Container &pixelRDO,
53  std::vector<uint64_t> &encodedData,
54  const EventContext &ctx
55  ) const;
56 
57  // Helper function for converting strip RDO
59  const SCT_RDO_Container &stripRDO,
60  std::vector<uint64_t> &encodedData,
61  const EventContext &ctx
62  ) const;
63 
64  // Helper function for common header and Footer info
65  StatusCode fillHeader(std::vector<uint64_t> &encodedData) const;
66  StatusCode fillFooter(std::vector<uint64_t> &encodedData) const;
67 
68  // For module
69  StatusCode fillModuleHeader(const InDetDD::SiDetectorElement* sielement, std::vector<uint64_t> &encodedData) const;
70 
71 
72 };
73 
74 #endif // EFTRACKING_FPGA_INTEGRATION_FPGADATAFORMATTOOL_H
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
FPGADataFormatTool::fillFooter
StatusCode fillFooter(std::vector< uint64_t > &encodedData) const
Definition: FPGADataFormatTool.cxx:261
SCT_ID.h
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
FPGADataFormatTool::fillHeader
StatusCode fillHeader(std::vector< uint64_t > &encodedData) const
Definition: FPGADataFormatTool.cxx:244
FPGADataFormatTool::convertPixelRDO
StatusCode convertPixelRDO(const PixelRDO_Container &pixelRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:57
FPGADataFormatTool
Definition: FPGADataFormatTool.h:22
FPGADataFormatTool::initialize
virtual StatusCode initialize() override
Definition: FPGADataFormatTool.cxx:9
IEFTrackingFPGADataFormatTool.h
FPGADataFormatTool::m_PIX_mgr
const InDetDD::SiDetectorManager * m_PIX_mgr
Definition: FPGADataFormatTool.h:47
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
FPGADataFormatTool::convertStripRDO
StatusCode convertStripRDO(const SCT_RDO_Container &stripRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:109
SCT_RDO_Container.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
FPGADataFormatTool::fillModuleHeader
StatusCode fillModuleHeader(const InDetDD::SiDetectorElement *sielement, std::vector< uint64_t > &encodedData) const
Definition: FPGADataFormatTool.cxx:278
FPGADataFormatTool::m_pixelId
const PixelID * m_pixelId
Definition: FPGADataFormatTool.h:44
FPGADataFormatTool::convertStripHitsToFPGADataFormat
virtual StatusCode convertStripHitsToFPGADataFormat(const SCT_RDO_Container &stripRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const override
Covert the Strip RDOs to the test vector format as requited by FPGA EF tracking alogrithms.
Definition: FPGADataFormatTool.cxx:38
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
FPGADataFormatTool::m_sctId
const SCT_ID * m_sctId
Definition: FPGADataFormatTool.h:45
PixelRDO_Container.h
SiDetectorElement.h
SCT_ID
Definition: SCT_ID.h:68
InDetDD::SiDetectorManager
Definition: SiDetectorManager.h:60
SiDetectorManager.h
FPGADataFormatTool::m_SCT_mgr
const InDetDD::SiDetectorManager * m_SCT_mgr
Definition: FPGADataFormatTool.h:48
FPGADataFormatTool::convertPixelHitsToFPGADataFormat
virtual StatusCode convertPixelHitsToFPGADataFormat(const PixelRDO_Container &pixelRDO, std::vector< uint64_t > &encodedData, const EventContext &ctx) const override
Covert the Pixel RDOs to the test vector format as requited by FPGA EF tracking alogrithms.
Definition: FPGADataFormatTool.cxx:20
PixelID
Definition: PixelID.h:67
EFTrackingDataFormats.h