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 <memory>
7 #include <string>
8 #include <vector>
9 
10 class EventMsgView;
11 class InitMsgView;
12 
13 namespace edm {
15  class EventPrincipal;
16  class EventSkipperByID;
17  struct InputSourceDescription;
18  class ParameterSet;
19  class StreamerInputFile;
21  public:
22  StreamerFileReader(ParameterSet const& pset, InputSourceDescription const& desc);
23  virtual ~StreamerFileReader();
24 
25  InitMsgView const* getHeader();
26  EventMsgView const* getNextEvent();
27  bool newHeader();
28  static void fillDescriptions(ConfigurationDescriptions& descriptions);
29 
30  private:
31  virtual bool checkNextEvent();
32  virtual void skip(int toSkip);
33  virtual void genuineCloseFile() override;
34  virtual void reset_();
35 
36  std::vector<std::string> streamerNames_; // names of Streamer files
37  std::unique_ptr<StreamerInputFile> streamReader_;
38  std::shared_ptr<EventSkipperByID> eventSkipperByID_;
40  };
41 } //end-of-namespace-def
42 
43 #endif
44 
virtual void genuineCloseFile() override
StreamerFileReader(ParameterSet const &pset, InputSourceDescription const &desc)
InitMsgView const * getHeader()
virtual void skip(int toSkip)
std::vector< std::string > streamerNames_
std::shared_ptr< EventSkipperByID > eventSkipperByID_
static void fillDescriptions(ConfigurationDescriptions &descriptions)
std::unique_ptr< StreamerInputFile > streamReader_
EventMsgView const * getNextEvent()