CMS 3D CMS Logo

FRDEventMessage.h
Go to the documentation of this file.
1 #ifndef IOPool_Streamer_FRDEventMessage_h
2 #define IOPool_Streamer_FRDEventMessage_h
3 
71 
72 #include <array>
73 
74 namespace edm::streamer {
83  };
84 
92  };
93 
103  };
104 
113  };
114 
120  };
121 
125  };
126 
128 
130  constexpr std::array<uint32, FRDHeaderMaxVersion + 1> FRDHeaderVersionSize{{0,
131  2 * sizeof(uint32),
132  (4 + 1024) * sizeof(uint32),
133  7 * sizeof(uint32),
134  8 * sizeof(uint32),
135  6 * sizeof(uint32),
136  6 * sizeof(uint32)}};
137 
139  public:
140  FRDEventMsgView(void* buf);
141 
142  uint8* startAddress() const { return buf_; }
143  void* payload() const { return payload_; }
144  uint32 size() const { return size_; }
145 
146  uint16 version() const { return version_; }
147  uint16 flags() const { return flags_; }
148  uint32 run() const { return run_; }
149  uint32 lumi() const { return lumi_; }
150  uint64 event() const { return event_; }
151  uint32 eventSize() const { return eventSize_; }
152  uint32 paddingSize() const { return paddingSize_; }
153  uint32 adler32() const { return adler32_; }
154  uint32 crc32c() const { return crc32c_; }
155 
156  bool isRealData() const { return !(flags_ & FRDEVENT_MASK_ISGENDATA); }
157 
158  private:
160  void* payload_;
171  };
172 } // namespace edm::streamer
173 #endif
constexpr std::array< uint32, FRDHeaderMaxVersion+1 > FRDHeaderVersionSize
constexpr size_t FRDHeaderMaxVersion
unsigned char uint8
Definition: MsgTools.h:12
const uint16 FRDEVENT_MASK_ISGENDATA
unsigned long long uint64
Definition: MsgTools.h:15
unsigned short uint16
Definition: MsgTools.h:13
unsigned int uint32
Definition: MsgTools.h:14