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 
9 
14 #include "InDetIdentifier/SCT_ID.h"
17 #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 std::vector<IdentifierHash>& hashList,
35  const EventContext &ctx) const override;
40  const SCT_RDO_Container &stripRDO,
41  std::vector<uint64_t> &encodedData,
42  const std::vector<IdentifierHash>& hashList,
43  const EventContext &ctx) const override;
44 
46  const FPGATrackSimTrackCollection* tracks,
47  std::vector<uint64_t> &encodedData,
48  const EventContext &ctx
49  ) const override;
50 
51  private:
52  const PixelID* m_pixelId = nullptr;
53  const SCT_ID* m_sctId = nullptr;
54 
57 
58  // Helper function for converting pixel RDO
60  const PixelRDO_Container &pixelRDO,
61  std::vector<uint64_t> &encodedData,
62  const std::vector<IdentifierHash>& hashList,
63  const EventContext &ctx
64  ) const;
65 
66  // Helper function for converting strip RDO
68  const SCT_RDO_Container &stripRDO,
69  std::vector<uint64_t> &encodedData,
70  const std::vector<IdentifierHash>& hashList,
71  const EventContext &ctx
72  ) const;
73 
75  const FPGATrackSimTrackCollection* tracks,
76  std::vector<uint64_t> &encodedData,
77  const EventContext &ctx
78  ) const;
79 
80  // Helper function for common header and Footer info
81  StatusCode fillHeader(std::vector<uint64_t> &encodedData) const;
82  StatusCode fillFooter(std::vector<uint64_t> &encodedData) const;
83 
84  // For module
85  StatusCode fillModuleHeader(const InDetDD::SiDetectorElement* sielement, std::vector<uint64_t> &encodedData) const;
86 
87 
88 };
89 
90 #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::convertStripHitsToFPGADataFormat
virtual StatusCode convertStripHitsToFPGADataFormat(const SCT_RDO_Container &stripRDO, std::vector< uint64_t > &encodedData, const std::vector< IdentifierHash > &hashList, const EventContext &ctx) const override
Covert the Strip RDOs to the test vector format as requited by FPGA EF tracking alogrithms.
Definition: FPGADataFormatTool.cxx:39
FPGADataFormatTool::fillFooter
StatusCode fillFooter(std::vector< uint64_t > &encodedData) const
Definition: FPGADataFormatTool.cxx:372
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:355
FPGADataFormatTool
Definition: FPGADataFormatTool.h:22
FPGADataFormatTool::convertFPGATracks
StatusCode convertFPGATracks(const FPGATrackSimTrackCollection *tracks, std::vector< uint64_t > &encodedData, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:77
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:55
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
FPGADataFormatTool::convertPixelHitsToFPGADataFormat
virtual StatusCode convertPixelHitsToFPGADataFormat(const PixelRDO_Container &pixelRDO, std::vector< uint64_t > &encodedData, const std::vector< IdentifierHash > &hashList, 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
FPGADataFormatTool::convertStripRDO
StatusCode convertStripRDO(const SCT_RDO_Container &stripRDO, std::vector< uint64_t > &encodedData, const std::vector< IdentifierHash > &hashList, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:223
FPGADataFormatTool::convertFPGATracksToFPGADataFormat
virtual StatusCode convertFPGATracksToFPGADataFormat(const FPGATrackSimTrackCollection *tracks, std::vector< uint64_t > &encodedData, const EventContext &ctx) const override
Definition: FPGADataFormatTool.cxx:59
SCT_RDO_Container.h
FPGATrackSimTrackCollection.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:389
FPGADataFormatTool::m_pixelId
const PixelID * m_pixelId
Definition: FPGADataFormatTool.h:52
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
FPGADataFormatTool::m_sctId
const SCT_ID * m_sctId
Definition: FPGADataFormatTool.h:53
PixelRDO_Container.h
SiDetectorElement.h
FPGATrackSimTrackCollection
std::vector< FPGATrackSimTrack > FPGATrackSimTrackCollection
Definition: FPGATrackSimTrackCollection.h:13
SCT_ID
Definition: SCT_ID.h:68
InDetDD::SiDetectorManager
Definition: SiDetectorManager.h:60
FPGADataFormatTool::convertPixelRDO
StatusCode convertPixelRDO(const PixelRDO_Container &pixelRDO, std::vector< uint64_t > &encodedData, const std::vector< IdentifierHash > &hashList, const EventContext &ctx) const
Definition: FPGADataFormatTool.cxx:169
SiDetectorManager.h
FPGADataFormatTool::m_SCT_mgr
const InDetDD::SiDetectorManager * m_SCT_mgr
Definition: FPGADataFormatTool.h:56
PixelID
Definition: PixelID.h:67