CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/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                   uint32 droppedEventsCount,
00014                   std::vector<bool>& l1_bits,
00015                   uint8* hlt_bits, uint32 hlt_bit_count, 
00016                   uint32 adler32_chksum, const char* host_name);
00017 
00018   void setOrigDataSize(uint32);
00019   uint8* startAddress() const { return buf_; }
00020   void setEventLength(uint32 len);
00021   uint8* eventAddr() const { return event_addr_; }
00022   uint32 headerSize() const {return event_addr_-buf_;} 
00023   uint32 size() const;
00024   uint32 bufferSize() const {return size_;}
00025 
00026 private:
00027   uint8* buf_;
00028   uint32 size_;
00029   uint8* event_addr_;
00030 };
00031 
00032 #endif
00033