00001 #ifndef IOPool_Streamer_StreamDQMInputFile_h 00002 #define IOPool_Streamer_StreamDQMInputFile_h 00003 00004 #include "IOPool/Streamer/interface/DQMEventMessage.h" 00005 00006 #include "boost/shared_ptr.hpp" 00007 00008 #include<string> 00009 #include<vector> 00010 #include<fstream> 00011 00012 class StreamDQMInputFile 00013 { 00014 public: 00015 00017 explicit StreamDQMInputFile(const std::string& name); 00018 00019 ~StreamDQMInputFile(); 00020 00021 bool next() ; 00023 const DQMEventMsgView* currentRecord() const { return currentEvMsg_.get(); } 00026 private: 00027 00028 int readDQMEventMessage(); 00029 00030 boost::shared_ptr<DQMEventMsgView> currentEvMsg_; 00031 std::auto_ptr<std::ifstream> ist_; 00032 std::vector<char> eventBuf_; 00033 }; 00034 00035 #endif