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