ATLAS Offline Software
RPCRODDecode.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrigT1RPChardware_RPCRODDecode_H
6 #define TrigT1RPChardware_RPCRODDecode_H
7 
11 
12 class RPCRODDecode : public BaseObject {
13 public:
14  RPCRODDecode();
15  ~RPCRODDecode();
17  void RODAddresses(const RODword *RODData, const sbit32 numberOfStatusElements, const sbit32 statusBlockPosition);
18  void RODHeader(const RODword *ROBData);
19  int pushWord(const ubit16 inword, uint NOBXS);
20  int pushWord(const RODword inword, ubit16 j, uint NOBXS);
21  MatrixReadOut *CMFragment() { return &CMRO; };
23  void gimeCMROData();
24  void RODHeaderDisplay();
25  //
26  // ROD structure control flags
27  ubit16 gimeCMFlag() { return m_CMFlag; };
28  ubit16 gimePADFlag() { return m_PADFlag; };
29  ubit16 gimeRXFlag() { return m_RXFlag; };
30  void enablePrintOut();
31  void disablePrintOut();
32  //
33  // ROD HEADER
46  //
47  // Sector, PAd and Matrix identifiers
52  //
53  // service objects
60 
61 private:
62  bool m_isSLBody{};
63  //
64  // ROD Data address
65  sbit32 m_RODDataAddress{sbit32(0xdeadcafe)};// ROD Data Address
66  //
67  // define "previous" type of 16-bit data record
69  recType m_previousRecord{recType::Empty};
70  //
71  // RPC data markers
72  ubit16 m_field{0xf000}; // field map of word identifier
73  ubit16 m_noRecord16{9999}; // no record content for 16bit words
74  RODword m_noRecord32{0xdeadcafe}; // no record content for 32bit words
75  // ubit16 PADSubHeader;
76  // ubit16 PADPreFooter;
77  // ubit16 reserved3{0xd000};
78  ubit16 m_reserved4{0xe000}; // reserved
79  // ubit16 reserved5{0xf000};
80  //
81  // data structure control flags
85  //
86  // enable printouts
88 };
89 
90 #endif
RPCRODDecode::sourceIdentifier
RODword sourceIdentifier
Definition: RPCRODDecode.h:37
RPCRODStructure.h
RPCRODDecode::m_previousRecord
recType m_previousRecord
Definition: RPCRODDecode.h:69
RPCRODDecode::SourceModuleType
ubit16 SourceModuleType
Definition: RPCRODDecode.h:43
RPCRODDecode::CMSub
@ CMSub
Definition: RPCRODDecode.h:68
RPCRODDecode::enablePrintOut
void enablePrintOut()
Definition: RPCRODDecode.cxx:35
RPCRODDecode::CMROS
MatrixReadOutStructure CMROS
Definition: RPCRODDecode.h:56
RPCRODDecode::RXFoot
@ RXFoot
Definition: RPCRODDecode.h:68
RPCRODDecode::m_noRecord32
RODword m_noRecord32
Definition: RPCRODDecode.h:74
PadReadOutStructure
Definition: PadReadOutStructure.h:13
RPCRODDecode::RXROS
RXReadOutStructure RXROS
Definition: RPCRODDecode.h:54
RPCRODDecode::CMHead
@ CMHead
Definition: RPCRODDecode.h:68
RPCRODDecode::formatVersion
RODword formatVersion
Definition: RPCRODDecode.h:36
SectorLogicReadOut
Definition: SectorLogicReadOut.h:17
RPCRODDecode::Level1Type
RODword Level1Type
Definition: RPCRODDecode.h:40
RODword
uint32_t RODword
Definition: Lvl1Def.h:18
RPCRODDecode::PadHead
@ PadHead
Definition: RPCRODDecode.h:68
ROBData_T
templete data class to wrap ROB fragment for accessing ROD data
Definition: ROBData.h:46
RPCRODDecode::Level1ID
RODword Level1ID
Definition: RPCRODDecode.h:38
RPCRODDecode::disablePrintOut
void disablePrintOut()
Definition: RPCRODDecode.cxx:37
RPCRODDecode::CMBod
@ CMBod
Definition: RPCRODDecode.h:68
RPCRODDecode::Empty
@ Empty
Definition: RPCRODDecode.h:68
RPCRODDecode::m_RODDataAddress
sbit32 m_RODDataAddress
Definition: RPCRODDecode.h:65
RPCRODDecode::recType
recType
Definition: RPCRODDecode.h:68
RPCRODDecode::BunchXingID
RODword BunchXingID
Definition: RPCRODDecode.h:39
RPCRODDecode::SourceSubDetectorID
ubit16 SourceSubDetectorID
Definition: RPCRODDecode.h:44
BaseObject.h
sbit32
int32_t sbit32
Definition: Lvl1Def.h:19
RPCRODDecode::m_PADFlag
ubit16 m_PADFlag
Definition: RPCRODDecode.h:83
RPCRODDecode::gimeRODDataAddress
sbit32 gimeRODDataAddress()
Definition: RPCRODDecode.h:16
RPCRODDecode::PadID
ubit16 PadID
Definition: RPCRODDecode.h:49
RPCRODDecode::SLHead
@ SLHead
Definition: RPCRODDecode.h:68
RPCRODDecode::CMFragment
MatrixReadOut * CMFragment()
Definition: RPCRODDecode.h:21
RPCRODDecode::RXHead
@ RXHead
Definition: RPCRODDecode.h:68
RPCRODDecode::m_enablePrintOut
bool m_enablePrintOut
Definition: RPCRODDecode.h:87
RPCRODDecode::SLFragment
SectorLogicReadOut * SLFragment()
Definition: RPCRODDecode.h:22
RPCRODDecode::PadPre
@ PadPre
Definition: RPCRODDecode.h:68
RPCRODDecode::CMID
ubit16 CMID
Definition: RPCRODDecode.h:50
RPCRODDecode::PadSub
@ PadSub
Definition: RPCRODDecode.h:68
RPCRODDecode::RODHeader
void RODHeader(const RODword *ROBData)
Definition: RPCRODDecode.cxx:753
MatrixReadOut
Definition: MatrixReadOut.h:18
RPCRODDecode::DetectorEventType
RODword DetectorEventType
Definition: RPCRODDecode.h:41
RPCRODDecode::SLFoot
@ SLFoot
Definition: RPCRODDecode.h:68
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
RPCRODDecode::RPCRODDecode
RPCRODDecode()
Definition: RPCRODDecode.cxx:9
RPCRODDecode::m_field
ubit16 m_field
Definition: RPCRODDecode.h:72
RPCRODDecode::SLRO
SectorLogicReadOut SLRO
Definition: RPCRODDecode.h:59
RPCRODDecode::RODAddresses
void RODAddresses(const RODword *RODData, const sbit32 numberOfStatusElements, const sbit32 statusBlockPosition)
Definition: RPCRODDecode.cxx:804
RPCRODDecode::m_CMFlag
ubit16 m_CMFlag
Definition: RPCRODDecode.h:82
Lvl1Def.h
RPCRODDecode::gimePADFlag
ubit16 gimePADFlag()
Definition: RPCRODDecode.h:28
RPCRODDecode::CMFragCheck
ubit16 CMFragCheck
Definition: RPCRODDecode.h:51
RPCRODDecode
Definition: RPCRODDecode.h:12
RPCRODDecode::gimeCMFlag
ubit16 gimeCMFlag()
Definition: RPCRODDecode.h:27
RPCRODDecode::CMFoot
@ CMFoot
Definition: RPCRODDecode.h:68
RPCRODDecode::m_RXFlag
ubit16 m_RXFlag
Definition: RPCRODDecode.h:84
RPCRODDecode::PDROS
PadReadOutStructure PDROS
Definition: RPCRODDecode.h:55
RPCRODDecode::CMRO
MatrixReadOut CMRO
Definition: RPCRODDecode.h:57
RPCRODDecode::headerSize
RODword headerSize
Definition: RPCRODDecode.h:35
BaseObject
Definition: BaseObject.h:13
RPCRODDecode::m_isSLBody
bool m_isSLBody
Definition: RPCRODDecode.h:62
MatrixReadOutStructure
Definition: MatrixReadOutStructure.h:13
RPCRODDecode::~RPCRODDecode
~RPCRODDecode()
Definition: RPCRODDecode.cxx:33
RPCRODDecode::RODHeaderDisplay
void RODHeaderDisplay()
Definition: RPCRODDecode.cxx:815
RPCRODDecode::SectorID
ubit16 SectorID
Definition: RPCRODDecode.h:48
SectorLogicReadOutStructure
Definition: SectorLogicReadOutStructure.h:11
RPCRODDecode::gimeCMROData
void gimeCMROData()
Definition: RPCRODDecode.cxx:707
RPCRODDecode::SLROS
SectorLogicReadOutStructure SLROS
Definition: RPCRODDecode.h:58
RPCRODDecode::pushWord
int pushWord(const ubit16 inword, uint NOBXS)
Definition: RPCRODDecode.cxx:55
RXReadOutStructure
Definition: RXReadOutStructure.h:14
RPCRODDecode::headerMarker
RODword headerMarker
Definition: RPCRODDecode.h:34
ubit16
unsigned short int ubit16
Definition: RpcByteStreamEncoder.h:20
RPCRODDecode::gimeRXFlag
ubit16 gimeRXFlag()
Definition: RPCRODDecode.h:29
RPCRODDecode::PadFoot
@ PadFoot
Definition: RPCRODDecode.h:68
RPCRODDecode::SourceModuleID
ubit16 SourceModuleID
Definition: RPCRODDecode.h:45
RPCRODDecode::SourceReserved
ubit16 SourceReserved
Definition: RPCRODDecode.h:42
RPCRODDecode::m_noRecord16
ubit16 m_noRecord16
Definition: RPCRODDecode.h:73
RPCRODDecode::m_reserved4
ubit16 m_reserved4
Definition: RPCRODDecode.h:78