CMS 3D CMS Logo

RawInputSource.h
Go to the documentation of this file.
1 #ifndef FWCore_Sources_RawInputSource_h
2 #define FWCore_Sources_RawInputSource_h
3 
4 /*----------------------------------------------------------------------
5 ----------------------------------------------------------------------*/
6 
7 #include <memory>
8 #include <utility>
9 
13 
14 namespace edm {
15  class ParameterSet;
16  class Timestamp;
17  class RawInputSource : public InputSource {
18  public:
20  ~RawInputSource() override;
22 
23  //Next::kFile is only needed if the ProductRegistry must be updated
24  enum class Next { kEvent, kFile, kStop };
25 
26  protected:
27  void makeEvent(EventPrincipal& eventPrincipal, EventAuxiliary const& eventAuxiliary);
28  virtual Next checkNext() = 0;
29  virtual void read(EventPrincipal& eventPrincipal) = 0;
31 
32  private:
33  void readEvent_(EventPrincipal& eventPrincipal) override;
34  std::shared_ptr<LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_() override;
35  std::shared_ptr<RunAuxiliary> readRunAuxiliary_() override;
36  virtual void reset_();
37  void rewind_() override;
38  ItemType getNextItemType() override;
39  void closeFile_() final;
40  std::shared_ptr<FileBlock> readFile_() final;
41  virtual void genuineCloseFile() {}
42  virtual void genuineReadFile() {}
43 
46  };
47 } // namespace edm
48 #endif
virtual void genuineCloseFile()
void readEvent_(EventPrincipal &eventPrincipal) override
virtual void genuineReadFile()
std::shared_ptr< LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_() override
void closeFile_() final
void setInputFileTransitionsEachEvent()
RawInputSource(ParameterSet const &pset, InputSourceDescription const &desc)
~RawInputSource() override
virtual Next checkNext()=0
bool inputFileTransitionsEachEvent_
virtual void read(EventPrincipal &eventPrincipal)=0
std::shared_ptr< FileBlock > readFile_() final
std::shared_ptr< RunAuxiliary > readRunAuxiliary_() override
void rewind_() override
ItemType getNextItemType() override
virtual void reset_()
HLT enums.
void makeEvent(EventPrincipal &eventPrincipal, EventAuxiliary const &eventAuxiliary)
static void fillDescription(ParameterSetDescription &description)