CMS 3D CMS Logo

EventBase.h
Go to the documentation of this file.
1 #ifndef DataFormats_FWLite_EventBase_h
2 #define DataFormats_FWLite_EventBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWLite
6 // Class : EventBase
7 //
16 //
17 // Original Author: Charles Plager
18 // Created: Tue May 8 15:01:20 EDT 2007
19 //
20 // system include files
21 #include <string>
22 #include <typeinfo>
23 //
24 // // user include files
26 
27 #include "Rtypes.h"
28 
29 namespace edm {
30  class BasicHandle;
31  class ProductID;
32  class WrapperBase;
33 }
34 
35 namespace fwlite
36 {
37  class EventBase : public edm::EventBase
38  {
39  public:
40  EventBase();
41 
42  ~EventBase() override;
43 
44  virtual bool getByLabel(
45  std::type_info const&,
46  char const*,
47  char const*,
48  char const*,
49  void*) const = 0;
50 
51  virtual edm::WrapperBase const* getByProductID(edm::ProductID const&) const = 0;
52 
54 
55  virtual std::string const getBranchNameFor (std::type_info const&,
56  char const*,
57  char const*,
58  char const*) const = 0;
59 
60  virtual bool atEnd() const = 0;
61 
62  virtual EventBase const& operator++() = 0;
63 
64  virtual EventBase const& toBegin() = 0;
65 
66  virtual Long64_t fileIndex() const { return -1; }
67  virtual Long64_t secondaryFileIndex() const { return -1; }
68 
69  private:
70 
71  edm::BasicHandle getByLabelImpl(std::type_info const&, std::type_info const&, const edm::InputTag&) const override;
72  edm::BasicHandle getImpl(std::type_info const&, edm::ProductID const&) const override;
73  };
74 } // fwlite namespace
75 
76 #endif
virtual Long64_t fileIndex() const
Definition: EventBase.h:66
virtual Long64_t secondaryFileIndex() const
Definition: EventBase.h:67
bool getByLabel(InputTag const &, Handle< T > &) const
Definition: EventBase.h:92
HLT enums.