CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/IOPool/Streamer/interface/EventMsgBuilder.h

Go to the documentation of this file.
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                   uint32 adler32_chksum, const char* host_name);
00016 
00017   void setOrigDataSize(uint32);
00018   uint8* startAddress() const { return buf_; }
00019   void setEventLength(uint32 len);
00020   uint8* eventAddr() const { return event_addr_; }
00021   uint32 headerSize() const {return event_addr_-buf_;} 
00022   uint32 size() const;
00023   uint32 bufferSize() const {return size_;}
00024 
00025 private:
00026   uint8* buf_;
00027   uint32 size_;
00028   uint8* event_addr_;
00029 };
00030 
00031 #endif
00032