CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
implementors.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_one_implementors_h
2 #define FWCore_Framework_one_implementors_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : producerAbilities
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 09 May 2013 18:40:17 GMT
19 // $Id: implementors.h,v 1.1 2013/05/17 14:49:44 chrjones Exp $
20 //
21 
22 // system include files
23 #include <string>
24 
25 // user include files
27 
28 // forward declarations
29 
30 namespace edm {
31  namespace one {
32  namespace impl {
33 
35  public:
36  SharedResourcesUser() = default;
39 
40  virtual ~SharedResourcesUser() = default;
41 
42  protected:
44 
45  void usesResource(std::string const& iName = kUnknownResource);
46  };
47 
48  template <typename T>
49  class RunWatcher : public virtual T {
50  public:
51  RunWatcher() = default;
52  RunWatcher(RunWatcher const&) = delete;
53  RunWatcher& operator=(RunWatcher const&) = delete;
54 
55  private:
56  void doBeginRun_(Run const& rp, EventSetup const& c) override final;
57  void doEndRun_(Run const& rp, EventSetup const& c) override final;
58 
59 
60  virtual void beginRun(edm::Run const&, edm::EventSetup const&) = 0;
61  virtual void endRun(edm::Run const&, edm::EventSetup const&) = 0;
62  };
63 
64  template <typename T>
65  class LuminosityBlockWatcher : public virtual T {
66  public:
67  LuminosityBlockWatcher() = default;
70 
71  private:
72  void doBeginLuminosityBlock_(LuminosityBlock const& rp, EventSetup const& c) override final;
73  void doEndLuminosityBlock_(LuminosityBlock const& rp, EventSetup const& c) override final;
74 
75  virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) = 0;
76  virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) = 0;
77  };
78 
79  template <typename T>
80  class BeginRunProducer : public virtual T {
81  public:
82  BeginRunProducer() = default;
83  BeginRunProducer( BeginRunProducer const&) = delete;
85 
86  private:
87  void doBeginRunProduce_(Run& rp, EventSetup const& c) override final;
88 
89  virtual void beginRunProduce(edm::Run&, edm::EventSetup const&) = 0;
90  };
91 
92  template <typename T>
93  class EndRunProducer : public virtual T {
94  public:
95  EndRunProducer() = default;
96  EndRunProducer( EndRunProducer const&) = delete;
97  EndRunProducer& operator=(EndRunProducer const&) = delete;
98 
99  private:
100 
101  void doEndRunProduce_(Run& rp, EventSetup const& c) override final;
102 
103  virtual void endRunProduce(edm::Run&, edm::EventSetup const&) = 0;
104  };
105 
106  template <typename T>
107  class BeginLuminosityBlockProducer : public virtual T {
108  public:
109  BeginLuminosityBlockProducer() = default;
112 
113  private:
114  void doBeginLuminosityBlockProduce_(LuminosityBlock& lbp, EventSetup const& c) override final;
115 
117  };
118 
119  template <typename T>
120  class EndLuminosityBlockProducer : public virtual T {
121  public:
122  EndLuminosityBlockProducer() = default;
125 
126  private:
127  void doEndLuminosityBlockProduce_(LuminosityBlock& lbp, EventSetup const& c) override final;
128 
130  };
131  }
132  }
133 }
134 
135 #endif
void doEndLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c) overridefinal
void doBeginLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) overridefinal
static const std::string kUnknownResource
Definition: implementors.h:43
virtual ~SharedResourcesUser()=default
virtual void endRunProduce(edm::Run &, edm::EventSetup const &)=0
virtual void endRun(edm::Run const &, edm::EventSetup const &)=0
void doBeginRun_(Run const &rp, EventSetup const &c) overridefinal
LuminosityBlockWatcher & operator=(LuminosityBlockWatcher const &)=delete
void usesResource(std::string const &iName=kUnknownResource)
BeginRunProducer & operator=(BeginRunProducer const &)=delete
RunWatcher & operator=(RunWatcher const &)=delete
void doBeginRunProduce_(Run &rp, EventSetup const &c) overridefinal
BeginLuminosityBlockProducer & operator=(BeginLuminosityBlockProducer const &)=delete
virtual void beginLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &)=0
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
void doBeginLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c) overridefinal
SharedResourcesUser & operator=(SharedResourcesUser const &)=delete
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)=0
EndRunProducer & operator=(EndRunProducer const &)=delete
void doEndLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) overridefinal
EndLuminosityBlockProducer & operator=(EndLuminosityBlockProducer const &)=delete
virtual void beginRunProduce(edm::Run &, edm::EventSetup const &)=0
virtual void beginRun(edm::Run const &, edm::EventSetup const &)=0
virtual void endLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &)=0
void doEndRun_(Run const &rp, EventSetup const &c) overridefinal
void doEndRunProduce_(Run &rp, EventSetup const &c) overridefinal
long double T
Definition: Run.h:36