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
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