CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/IOPool/Streamer/interface/DQMEventMsgBuilder.h

Go to the documentation of this file.
00001 #ifndef IOPool_Streamer_DQMEventMsgBuilder_h
00002 #define IOPool_Streamer_DQMEventMsgBuilder_h
00003 
00040 #include "IOPool/Streamer/interface/MsgTools.h"
00041 #include "IOPool/Streamer/interface/DQMEventMessage.h"
00042 
00043 #include "DataFormats/Provenance/interface/Timestamp.h"
00044 
00045 
00046 // ------------------ dqm event message builder ----------------
00047 
00048 class DQMEventMsgBuilder
00049 {
00050  public:
00051   DQMEventMsgBuilder(void* buf, uint32 bufSize, uint32 run, uint32 event,
00052                      edm::Timestamp timeStamp,
00053                      uint32 lumiSection, uint32 updateNumber,
00054                      uint32 adler32_chksum,
00055                      const char* host_name,
00056                      std::string const& releaseTag,
00057                      std::string const& topFolderName,
00058                      DQMEvent::TObjectTable monitorElementsBySubFolder);
00059 
00060   uint32 bufferSize() const { return bufSize_; }
00061   uint8* startAddress() const { return buf_; }
00062   uint32 headerSize() const { return eventAddr_-buf_; }
00063   void setCompressionFlag(uint32);
00064   void setFUProcessId(uint32);
00065   void setFUGuid(uint32);
00066   void setMergeCount(uint32);
00067   uint8* eventAddress() const  { return eventAddr_; }
00068   void setEventLength(uint32 len);
00069   uint32 size() const;
00070 
00071  private:
00072   uint8* buf_;
00073   uint32 bufSize_;
00074   uint8* eventAddr_;
00075 };
00076 
00077 #endif