ATLAS Offline Software
Loading...
Searching...
No Matches
PadReadOutStructure.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TrigT1RPChardware_PadReadOutStructure_H
6#define TrigT1RPChardware_PadReadOutStructure_H
7
14public:
16 PadReadOutStructure(ubit16 inputData);
19 void setInit();
20 //
21 ubit16 makeHeader(ubit16 *inputData);
22 ubit16 makeBody(ubit16 *inputData) { return *inputData; };
23 // ubit16 makeFooter_new(ubit16* errorCode);
24 ubit16 makeSubHeader() { return 0; };
27
28 //**************************************************//
29 // general user methods to decode ReadOut stream //
30 //**************************************************//
31 ubit16 decodeFragment(ubit16 inputWord, char &field);
32 ubit16 padid() const { return m_padid; };
33 ubit16 status() const { return m_status; };
34 ubit16 errorCode() const { return m_errorCode; };
35 ubit16 l1id() const { return m_l1id; };
36 ubit16 bcid() const { return m_bcid; };
37 ubit16 fifoCM() const { return m_fifoCM; };
38 ubit16 fifoOR() const { return m_fifoOR; };
39 ubit16 fifoL1() const { return m_fifoL1; };
40 ubit16 fifoPAD() const { return m_fifoPAD; };
41 ubit16 errorSH() const { return m_errorSH; };
42 ubit16 errorL1() const { return m_errorL1; };
43 ubit16 errorH() const { return m_errorH; };
44 ubit16 errorCM() const { return m_errorCM; };
45 ubit16 errorCMID() const { return m_errorCMID; };
46
47 bool isHeader();
48 bool isBody();
49 bool isFooter();
50
51 bool isPreFooter();
52 bool isSubHeader();
53
54 //
55private:
56 //
57 // header
60 // subheader
62
63 // prefooter
64 ubit16 m_fifoCM; // busy status (fifo on CMs) OR
65 ubit16 m_fifoOR; // busy status (fifo of CMs on pad) OR (fifo L1)
66 ubit16 m_fifoL1; // busy status (fifo on L1)
67 ubit16 m_fifoPAD; // busy status (fifo of CMs on pad)
69
70 // footer
71 ubit16 m_errorSH; // error in subheader
72 ubit16 m_errorL1; // error in L1ID
73 ubit16 m_errorH; // error in Header
74 ubit16 m_errorCM; // error in CM
75 ubit16 m_errorCMID; // Id of CM with error
77 //
78 // internal objects;
79 //
82
83 //
84 // some static parameter describing the structure
85 //
86 static const ubit16 s_headerNum = 3;
87 static const ubit16 s_headerPos[s_headerNum];
88 static const ubit16 s_headerLen[s_headerNum];
89 static const ubit16 s_headerVal;
90 static const ubit16 s_subHeaderNum = 2;
93 static const ubit16 s_subHeaderVal;
94 static const ubit16 s_prefooterNum = 5;
97 static const ubit16 s_prefooterVal;
98 static const ubit16 s_footerNum = 6;
99 static const ubit16 s_footerPos[s_footerNum];
100 static const ubit16 s_footerLen[s_footerNum];
101 static const ubit16 s_footerVal;
102 //
103 // pointer to a temporary array
104 //
106 //
107};
108
109#endif
unsigned short int ubit16
static const ubit16 s_subHeaderNum
ubit16 makeFooter(ubit16 errorCode)
static const ubit16 s_footerNum
static const ubit16 s_prefooterLen[s_prefooterNum]
static const ubit16 s_subHeaderVal
static const ubit16 s_subHeaderLen[s_subHeaderNum]
static const ubit16 s_footerLen[s_footerNum]
static const ubit16 s_headerVal
static const ubit16 s_prefooterVal
ubit16 makeBody(ubit16 *inputData)
static const ubit16 s_prefooterPos[s_prefooterNum]
static const ubit16 s_headerNum
static const ubit16 s_footerPos[s_footerNum]
static const ubit16 s_subHeaderPos[s_subHeaderNum]
static const ubit16 s_footerVal
~PadReadOutStructure()=default
MatrixReadOutStructure m_MRS
static const ubit16 s_prefooterNum
static const ubit16 s_headerLen[s_headerNum]
ubit16 makeHeader(ubit16 *inputData)
static const ubit16 s_headerPos[s_headerNum]
ubit16 decodeFragment(ubit16 inputWord, char &field)
RPCReadOut()=default
char field() const
Definition RPCReadOut.h:19