ATLAS Offline Software
Loading...
Searching...
No Matches
OutputConversionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
10
11#ifndef EFTRACKING_FPGA_INTEGRATION__OUTPUT_CONVERSION_TOOL_H
12#define EFTRACKING_FPGA_INTEGRATION__OUTPUT_CONVERSION_TOOL_H
13
17
19{
20 // define the FSM for the output conversion
33}
34
35class OutputConversionTool : public extends<AthAlgTool, IEFTrackingFPGAIntegrationTool>
36{
37public:
38 using extends::extends;
39 StatusCode initialize() override;
40
41 // User-level functions to decode the clusters/L2G/SpacePoints
42 StatusCode decodePixelEDM(const std::vector<uint64_t> &bytestream,
45
46 StatusCode decodeStripEDM(const std::vector<uint64_t> &bytestream,
49
50 StatusCode decodeSpacePoints(const std::vector<uint64_t> &bytestream, EFTrackingTransient::Metadata *metadata) const;
51
52 StatusCode decodeSlices(const std::vector<uint64_t> &bytestream, EFTrackingTransient::Metadata *metadata) const;
53
54 StatusCode decodeGTracks(const std::vector<uint64_t> &bytestream, EFTrackingTransient::Metadata *metadata) const;
55
56
61 StatusCode decodeFPGAoutput(const std::vector<uint64_t> &bytestream,
66};
67
68#endif // EFTRACKING_FPGA_INTEGRATION__OUTPUT_CONVERSION_TOOL_H
StatusCode decodeStripEDM(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata, EFTrackingTransient::StripClusterAuxInput &scAux) const
StatusCode decodeGTracks(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata) const
StatusCode decodePixelEDM(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata, EFTrackingTransient::PixelClusterAuxInput &pcAux) const
StatusCode initialize() override
StatusCode decodeSpacePoints(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata) const
StatusCode decodeSlices(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata) const
StatusCode decodeFPGAoutput(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata, EFTrackingTransient::PixelClusterAuxInput *pcAux=nullptr, EFTrackingTransient::StripClusterAuxInput *scAux=nullptr, OutputConversion::FSM blockType=OutputConversion::FSM::Unknown) const
Decode the FPGA output based on the type.
The structure of the Metadata containing data after clusterization.
The PixelClusterAuxInput struct is used to simplify the creaction of the xAOD::PixelClusterContainer.
The StripClusterAuxInput struct is used to simplify the creaction of the xAOD::StripClusterContainer.