ATLAS Offline Software
Loading...
Searching...
No Matches
Trigger
EFTracking
EFTrackingFPGAIntegration
EFTrackingFPGAUtility
EFTrackingFPGAUtility
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
14
#include "
AthenaBaseComps/AthAlgTool.h
"
15
#include "
EFTrackingFPGAUtility/IEFTrackingFPGAIntegrationTool.h
"
16
#include "
EFTrackingFPGAUtility/EFTrackingTransient.h
"
17
18
namespace
OutputConversion
19
{
20
// define the FSM for the output conversion
21
enum class
FSM
22
{
23
Unknown
,
24
EventHeader
,
25
EventFooter
,
26
GlobalHits
,
27
GTracks
,
28
Slices
,
29
PixelEDM
,
30
StripEDM
,
31
Error
32
};
33
}
34
35
class
OutputConversionTool
:
public
extends<AthAlgTool, IEFTrackingFPGAIntegrationTool>
36
{
37
public
:
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,
43
EFTrackingTransient::Metadata
*metadata,
44
EFTrackingTransient::PixelClusterAuxInput
&pcAux)
const
;
45
46
StatusCode
decodeStripEDM
(
const
std::vector<uint64_t> &bytestream,
47
EFTrackingTransient::Metadata
*metadata,
48
EFTrackingTransient::StripClusterAuxInput
&scAux)
const
;
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,
62
EFTrackingTransient::Metadata
*metadata,
63
EFTrackingTransient::PixelClusterAuxInput
*pcAux =
nullptr
,
64
EFTrackingTransient::StripClusterAuxInput
*scAux =
nullptr
,
65
OutputConversion::FSM
blockType =
OutputConversion::FSM::Unknown
)
const
;
66
};
67
68
#endif
// EFTRACKING_FPGA_INTEGRATION__OUTPUT_CONVERSION_TOOL_H
AthAlgTool.h
EFTrackingTransient.h
IEFTrackingFPGAIntegrationTool.h
OutputConversionTool
Definition
OutputConversionTool.h:36
OutputConversionTool::decodeStripEDM
StatusCode decodeStripEDM(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata, EFTrackingTransient::StripClusterAuxInput &scAux) const
Definition
OutputConversionTool.cxx:486
OutputConversionTool::decodeGTracks
StatusCode decodeGTracks(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata) const
Definition
OutputConversionTool.cxx:508
OutputConversionTool::decodePixelEDM
StatusCode decodePixelEDM(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata, EFTrackingTransient::PixelClusterAuxInput &pcAux) const
Definition
OutputConversionTool.cxx:478
OutputConversionTool::initialize
StatusCode initialize() override
Definition
OutputConversionTool.cxx:13
OutputConversionTool::decodeSpacePoints
StatusCode decodeSpacePoints(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata) const
Definition
OutputConversionTool.cxx:494
OutputConversionTool::decodeSlices
StatusCode decodeSlices(const std::vector< uint64_t > &bytestream, EFTrackingTransient::Metadata *metadata) const
Definition
OutputConversionTool.cxx:501
OutputConversionTool::decodeFPGAoutput
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.
Definition
OutputConversionTool.cxx:19
OutputConversion
Definition
OutputConversionTool.h:19
OutputConversion::FSM
FSM
Definition
OutputConversionTool.h:22
OutputConversion::FSM::EventFooter
@ EventFooter
Definition
OutputConversionTool.h:25
OutputConversion::FSM::GTracks
@ GTracks
Definition
OutputConversionTool.h:27
OutputConversion::FSM::StripEDM
@ StripEDM
Definition
OutputConversionTool.h:30
OutputConversion::FSM::Unknown
@ Unknown
Definition
OutputConversionTool.h:23
OutputConversion::FSM::Error
@ Error
Definition
OutputConversionTool.h:31
OutputConversion::FSM::GlobalHits
@ GlobalHits
Definition
OutputConversionTool.h:26
OutputConversion::FSM::EventHeader
@ EventHeader
Definition
OutputConversionTool.h:24
OutputConversion::FSM::Slices
@ Slices
Definition
OutputConversionTool.h:28
OutputConversion::FSM::PixelEDM
@ PixelEDM
Definition
OutputConversionTool.h:29
EFTrackingTransient::Metadata
The structure of the Metadata containing data after clusterization.
Definition
EFTrackingTransient.h:136
EFTrackingTransient::PixelClusterAuxInput
The PixelClusterAuxInput struct is used to simplify the creaction of the xAOD::PixelClusterContainer.
Definition
EFTrackingTransient.h:238
EFTrackingTransient::StripClusterAuxInput
The StripClusterAuxInput struct is used to simplify the creaction of the xAOD::StripClusterContainer.
Definition
EFTrackingTransient.h:223
Generated on
for ATLAS Offline Software by
1.14.0