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