CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
StreamerFileReader.h
Go to the documentation of this file.
1 #ifndef IOPool_Streamer_StreamerFileReader_h
2 #define IOPool_Streamer_StreamerFileReader_h
3 
5 
6 #include "boost/shared_ptr.hpp"
7 
8 #include <memory>
9 #include <string>
10 #include <vector>
11 
12 class EventMsgView;
13 class InitMsgView;
14 
15 namespace edm {
17  class EventPrincipal;
18  class EventSkipperByID;
19  struct InputSourceDescription;
20  class ParameterSet;
21  class StreamerInputFile;
23  public:
24  StreamerFileReader(ParameterSet const& pset, InputSourceDescription const& desc);
25  virtual ~StreamerFileReader();
26 
27  InitMsgView const* getHeader();
28  EventMsgView const* getNextEvent();
29  bool newHeader();
30  static void fillDescriptions(ConfigurationDescriptions& descriptions);
31 
32  private:
33  virtual bool checkNextEvent();
34  virtual void skip(int toSkip);
35  virtual void closeFile_();
36  virtual void reset_();
37 
38  std::vector<std::string> streamerNames_; // names of Streamer files
39  std::unique_ptr<StreamerInputFile> streamReader_;
40  boost::shared_ptr<EventSkipperByID> eventSkipperByID_;
42  };
43 } //end-of-namespace-def
44 
45 #endif
46 
StreamerFileReader(ParameterSet const &pset, InputSourceDescription const &desc)
InitMsgView const * getHeader()
virtual void skip(int toSkip)
boost::shared_ptr< EventSkipperByID > eventSkipperByID_
std::vector< std::string > streamerNames_
static void fillDescriptions(ConfigurationDescriptions &descriptions)
std::unique_ptr< StreamerInputFile > streamReader_
EventMsgView const * getNextEvent()