00001 #ifndef IOPool_Streamer_EventMsgBuilder_h 00002 #define IOPool_Streamer_EventMsgBuilder_h 00003 00004 #include "IOPool/Streamer/interface/MsgTools.h" 00005 00006 // ------------------ event message builder ---------------- 00007 00008 class EventMsgBuilder 00009 { 00010 public: 00011 EventMsgBuilder(void* buf, uint32 size, 00012 uint32 run, uint32 event, uint32 lumi, uint32 outModId, 00013 std::vector<bool>& l1_bits, 00014 uint8* hlt_bits, uint32 hlt_bit_count); 00015 00016 void setOrigDataSize(uint32); 00017 uint8* startAddress() const { return buf_; } 00018 void setEventLength(uint32 len); 00019 uint8* eventAddr() const { return event_addr_; } 00020 uint32 headerSize() const {return event_addr_-buf_;} 00021 uint32 size() const; 00022 uint32 bufferSize() const {return size_;} 00023 00024 private: 00025 uint8* buf_; 00026 uint32 size_; 00027 uint8* event_addr_; 00028 }; 00029 00030 #endif 00031