CMS 3D CMS Logo

RunBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Common_RunBase_h
2 #define FWCore_Common_RunBase_h
3 
4 // -*- C++ -*-
5 //
6 // Package: FWCore/Common
7 // Class : RunBase
8 //
19 //
20 // Original Author: Eric Vaandering
21 // Created: Tue Jan 12 15:31:00 CDT 2010
22 //
23 
30 
31 namespace edm {
32 
33  class RunBase {
34  public:
35  RunBase();
36  virtual ~RunBase();
37 
38  // AUX functions.
39  RunID const& id() const { return runAuxiliary().id(); }
40  RunNumber_t run() const { return runAuxiliary().run(); }
41  Timestamp const& beginTime() const { return runAuxiliary().beginTime(); }
42  Timestamp const& endTime() const { return runAuxiliary().endTime(); }
43 
44  virtual edm::RunAuxiliary const& runAuxiliary() const = 0;
45 
47  template <typename PROD>
48  bool getByLabel(InputTag const& tag, Handle<PROD>& result) const;
49 
50  private:
51  virtual BasicHandle getByLabelImpl(std::type_info const& iWrapperType,
52  std::type_info const& iProductType,
53  InputTag const& iTag) const = 0;
54  };
55 
56  template <typename T>
58  result.clear();
59  BasicHandle bh = this->getByLabelImpl(typeid(Wrapper<T>), typeid(T), tag);
60  result = convert_handle<T>(std::move(bh));
61  if (result.failedToGet()) {
62  return false;
63  }
64  return true;
65  }
66 
67 } // namespace edm
68 #endif
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
same as above, but using the InputTag class
RunID const & id() const
Definition: RunBase.h:39
Timestamp const & endTime() const
Definition: RunBase.h:42
RunNumber_t run() const
Definition: RunBase.h:40
Timestamp const & endTime() const
Definition: RunAuxiliary.h:40
RunID const & id() const
Definition: RunAuxiliary.h:37
Timestamp const & beginTime() const
Definition: RunAuxiliary.h:39
virtual BasicHandle getByLabelImpl(std::type_info const &iWrapperType, std::type_info const &iProductType, InputTag const &iTag) const =0
virtual ~RunBase()
Definition: RunBase.cc:24
bool failedToGet() const
Definition: HandleBase.h:78
virtual edm::RunAuxiliary const & runAuxiliary() const =0
Timestamp const & beginTime() const
Definition: RunBase.h:41
HLT enums.
unsigned int RunNumber_t
long double T
RunNumber_t run() const
Definition: RunAuxiliary.h:41
def move(src, dest)
Definition: eostools.py:511