ATLAS Offline Software
ALFA_RawDataContainerReadOut.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 ALFA_RAWDATACONTAINERREADOUT_H
6 #define ALFA_RAWDATACONTAINERREADOUT_H
7 
8 #include "ALFA_ReadOut.h"
10 
11 #include <stdint.h>
12 #include <vector>
13 
15 
16 #include "eformat/SourceIdentifier.h"
17 #include "eformat/Version.h"
19 
23 
27 
28 
29 // Decoding methods for a ROD
30 // S. Diglio
31 
33 {
34 
35  private:
36 
37  // Raw data word and word header
38 
40 
41  // Data members
42  uint16_t m_subdetId; // Sub-detector Id
43  uint16_t m_mrodId; // MROD Id
44  uint32_t m_lvl1Id; // Lvl1 Id
45  uint16_t m_ecrId; // ECR Id
46  uint16_t m_bcId; // Bunch crossing Id
47  uint32_t m_runNum; // Run sequence number
48  uint16_t m_runType; // Run Type
49  uint16_t m_triggerTypeId; // Trigger type Id
50  uint32_t m_DetEventType; // Detector Event Type
51 
52 
53  uint32_t m_timestamp; // timestamp
54  uint32_t m_BCId; // Bunch Crossing Id
55 
56 
57  // Data words in the ROD header
58 
59  // Full Event marker
60  static constexpr uint32_t s_FullEVmarker = 0xaa1234aa;
61  // ROB marker
62  static constexpr uint32_t s_ROBmarker = 0xdd1234dd;
63  // ROD marker
64  static constexpr uint32_t s_RODmarker = 0xee1234ee;
65 
66  static constexpr uint32_t s_RODheadersize = 0x00000009;
67  static constexpr uint32_t s_RODversion = 0x03010000;
68 
69  public:
71 
72  bool is_FullEVmarker() const {return m_wordMarker == s_FullEVmarker;}
73  bool is_ROBmarker() const {return m_wordMarker == s_ROBmarker;}
74  bool is_RODmarker() const {return m_wordMarker == s_RODmarker;}
75 
76 
77  void decodeWord(uint32_t dataWord);
78  void decodeHeader(std::vector<uint32_t>& vData);
79  void decodeHeaderFull(std::vector<uint32_t>& );
80 
81 
82 
83  // Retrieve decoded results
84  uint16_t subdetId() const {return m_subdetId;}
85  uint16_t mrodId() const {return m_mrodId;}
86  uint32_t runNum() const {return m_runNum;}
87  uint16_t runType() const {return m_runType;}
88  uint32_t lvl1Id() const {return m_lvl1Id;}
89  uint16_t ecrId() const {return m_ecrId;}
90  uint16_t bcId() const {return m_bcId;}
93 
94  uint32_t TimeStamp() const {return m_timestamp;}
95  uint32_t BCId() const {return m_BCId;}
96 
97  private:
98 
99  // Private functions
100  void setZero();
101  void setZeroFull();
102 }; // ALFA_RODREADOUT_H
103 
104 #endif
ALFA_RawDataContainer_charge.h
ALFA_RawDataContainerReadOut::m_subdetId
uint16_t m_subdetId
Definition: ALFA_RawDataContainerReadOut.h:42
ALFA_RawDataContainerReadOut::m_bcId
uint16_t m_bcId
Definition: ALFA_RawDataContainerReadOut.h:46
ALFA_RawDataContainerReadOut::s_RODheadersize
static constexpr uint32_t s_RODheadersize
Definition: ALFA_RawDataContainerReadOut.h:66
ALFA_RawDataContainerReadOut::runType
uint16_t runType() const
Definition: ALFA_RawDataContainerReadOut.h:87
ALFA_RawDataContainerReadOut::m_mrodId
uint16_t m_mrodId
Definition: ALFA_RawDataContainerReadOut.h:43
ALFA_RawDataContainerReadOut::lvl1Id
uint32_t lvl1Id() const
Definition: ALFA_RawDataContainerReadOut.h:88
ALFA_RawDataContainerReadOut::m_BCId
uint32_t m_BCId
Definition: ALFA_RawDataContainerReadOut.h:54
ALFA_RawDataContainerReadOut::decodeWord
void decodeWord(uint32_t dataWord)
Definition: ALFA_RawDataContainerReadOut.cxx:31
ALFA_RawDataContainer.h
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
ALFA_RawDataContainerReadOut::s_RODmarker
static constexpr uint32_t s_RODmarker
Definition: ALFA_RawDataContainerReadOut.h:64
ALFA_RawDataContainerReadOut::DetEventType
uint32_t DetEventType() const
Definition: ALFA_RawDataContainerReadOut.h:92
ALFA_RawDataContainerReadOut::is_FullEVmarker
bool is_FullEVmarker() const
Definition: ALFA_RawDataContainerReadOut.h:72
ALFA_RawDataReadOut_charge.h
ALFA_RawDataContainerReadOut::m_triggerTypeId
uint16_t m_triggerTypeId
Definition: ALFA_RawDataContainerReadOut.h:49
ALFA_RawDataContainerReadOut::setZero
void setZero()
Definition: ALFA_RawDataContainerReadOut.cxx:126
ALFA_RawDataContainerReadOut::m_runNum
uint32_t m_runNum
Definition: ALFA_RawDataContainerReadOut.h:47
ALFA_RawDataContainerReadOut::m_DetEventType
uint32_t m_DetEventType
Definition: ALFA_RawDataContainerReadOut.h:50
ALFA_RawDataContainerReadOut::m_runType
uint16_t m_runType
Definition: ALFA_RawDataContainerReadOut.h:48
ALFA_RawDataContainerReadOut::BCId
uint32_t BCId() const
Definition: ALFA_RawDataContainerReadOut.h:95
ALFA_RawData_charge.h
ALFA_RawDataContainerReadOut::bcId
uint16_t bcId() const
Definition: ALFA_RawDataContainerReadOut.h:90
ALFA_RawDataContainerReadOut::m_timestamp
uint32_t m_timestamp
Definition: ALFA_RawDataContainerReadOut.h:53
ALFA_RawDataContainerReadOut::m_wordMarker
uint32_t m_wordMarker
Definition: ALFA_RawDataContainerReadOut.h:39
ALFA_RawData.h
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
ALFA_RawDataContainerReadOut::decodeHeader
void decodeHeader(std::vector< uint32_t > &vData)
Definition: ALFA_RawDataContainerReadOut.cxx:60
ALFA_RawDataContainerReadOut::decodeHeaderFull
void decodeHeaderFull(std::vector< uint32_t > &)
Definition: ALFA_RawDataContainerReadOut.cxx:36
RawEvent.h
AthAlgTool.h
ALFA_RawDataContainerReadOut::is_ROBmarker
bool is_ROBmarker() const
Definition: ALFA_RawDataContainerReadOut.h:73
ALFA_ReadOut
Definition: ALFA_ReadOut.h:14
ALFA_RawDataContainerReadOut::ALFA_RawDataContainerReadOut
ALFA_RawDataContainerReadOut()
Definition: ALFA_RawDataContainerReadOut.cxx:15
ALFA_RawDataContainerReadOut::TimeStamp
uint32_t TimeStamp() const
Definition: ALFA_RawDataContainerReadOut.h:94
ALFA_RawDataContainerReadOut::s_FullEVmarker
static constexpr uint32_t s_FullEVmarker
Definition: ALFA_RawDataContainerReadOut.h:60
ALFA_RawDataContainerReadOut::m_ecrId
uint16_t m_ecrId
Definition: ALFA_RawDataContainerReadOut.h:45
ALFA_RawDataContainerReadOut::s_ROBmarker
static constexpr uint32_t s_ROBmarker
Definition: ALFA_RawDataContainerReadOut.h:62
ALFA_RawDataContainerReadOut::setZeroFull
void setZeroFull()
Definition: ALFA_RawDataContainerReadOut.cxx:139
ALFA_ReadOut.h
ALFA_RawDataCollection.h
ALFA_RawDataContainerReadOut::mrodId
uint16_t mrodId() const
Definition: ALFA_RawDataContainerReadOut.h:85
ALFA_RawDataCollection_charge.h
ALFA_RawDataContainerReadOut::runNum
uint32_t runNum() const
Definition: ALFA_RawDataContainerReadOut.h:86
ALFA_RawDataContainerReadOut::trigtypeId
uint16_t trigtypeId() const
Definition: ALFA_RawDataContainerReadOut.h:91
ALFA_RawDataContainerReadOut::s_RODversion
static constexpr uint32_t s_RODversion
Definition: ALFA_RawDataContainerReadOut.h:67
ALFA_RawDataContainerReadOut
Definition: ALFA_RawDataContainerReadOut.h:33
ALFA_RawDataContainerReadOut::subdetId
uint16_t subdetId() const
Definition: ALFA_RawDataContainerReadOut.h:84
ALFA_RawDataContainerReadOut::is_RODmarker
bool is_RODmarker() const
Definition: ALFA_RawDataContainerReadOut.h:74
ALFA_RawDataContainerReadOut::ecrId
uint16_t ecrId() const
Definition: ALFA_RawDataContainerReadOut.h:89
ALFA_RawDataContainerReadOut::m_lvl1Id
uint32_t m_lvl1Id
Definition: ALFA_RawDataContainerReadOut.h:44