CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LuminosityBlockBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Common_LuminosityBlockBase_h
2 #define FWCore_Common_LuminosityBlockBase_h
3 
4 // -*- C++ -*-
5 //
6 // Package: FWCore/Common
7 // Class : LuminosityBlockBase
8 //
19 //
20 // Original Author: Eric Vaandering
21 // Created: Tue Jan 12 15:31:00 CDT 2010
22 //
23 
24 #if !defined(__CINT__) && !defined(__MAKECINT__)
25 
33 
34 namespace edm {
35 
37  public:
39  virtual ~LuminosityBlockBase();
40 
41  // AUX functions.
44  }
45 
46  RunNumber_t run() const {
47  return luminosityBlockAuxiliary().run();
48  }
49 
51  return luminosityBlockAuxiliary().id();
52  }
53 
54  Timestamp const& beginTime() const {
56  }
57  Timestamp const& endTime() const {
59  }
60 
62 
64  template<typename PROD>
65  bool
66  getByLabel(InputTag const& tag, Handle<PROD>& result) const;
67 
68  private:
69  virtual BasicHandle getByLabelImpl(std::type_info const& iWrapperType, std::type_info const& iProductType, const InputTag& iTag) const = 0;
70 
71  };
72 
73 #if !defined(__REFLEX__)
74  template<class T>
75  bool
77  result.clear();
78  BasicHandle bh = this->getByLabelImpl(typeid(Wrapper<T>), typeid(T), tag);
79  convert_handle(std::move(bh), result); // throws on conversion error
80  if (result.failedToGet()) {
81  return false;
82  }
83  return true;
84  }
85 #endif
86 
87 }
88 #endif
89 #endif
LuminosityBlockID id() const
virtual edm::LuminosityBlockAuxiliary const & luminosityBlockAuxiliary() const =0
Timestamp const & beginTime() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
same as above, but using the InputTag class
unsigned int LuminosityBlockNumber_t
virtual BasicHandle getByLabelImpl(std::type_info const &iWrapperType, std::type_info const &iProductType, const InputTag &iTag) const =0
LuminosityBlockNumber_t luminosityBlock() const
Timestamp const & endTime() const
tuple result
Definition: query.py:137
def move
Definition: eostools.py:510
RunNumber_t run() const
Timestamp const & endTime() const
Timestamp const & beginTime() const
LuminosityBlockNumber_t luminosityBlock() const
void convert_handle(BasicHandle &&bh, Handle< T > &result)
Definition: ConvertHandle.h:20
bool failedToGet() const
Definition: HandleBase.h:79
unsigned int RunNumber_t
long double T
LuminosityBlockID const & id() const