00001 #ifndef IOPool_Streamer_StreamDQMOutputFile_h 00002 #define IOPool_Streamer_StreamDQMOutputFile_h 00003 00006 #include "IOPool/Streamer/interface/MsgTools.h" 00007 00008 #include "IOPool/Streamer/interface/DQMEventMessage.h" 00009 #include "IOPool/Streamer/interface/DQMEventMsgBuilder.h" 00010 00011 #include "IOPool/Streamer/interface/StreamerFileIO.h" 00012 00013 #include "boost/shared_ptr.hpp" 00014 00015 #include <exception> 00016 #include <fstream> 00017 #include <iostream> 00018 00019 class StreamDQMOutputFile 00023 { 00024 public: 00025 explicit StreamDQMOutputFile(const std::string& name); 00029 ~StreamDQMOutputFile(); 00030 00036 uint64 write(const DQMEventMsgView&); 00037 uint64 write(const DQMEventMsgBuilder&); 00038 00039 //Returns how many bytes were written out 00040 //uint32 writeEOF(uint32 statusCode, 00041 //const std::vector<uint32>& hltStats); 00042 00043 private: 00044 void writeDQMEventHeader(const DQMEventMsgView& inview); 00045 void writeDQMEventHeader(const DQMEventMsgBuilder& inview); 00046 boost::shared_ptr<OutputFile> dqmstreamfile_; 00047 }; 00048 00049 #endif