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 : implementors
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 09 May 2013 18:40:17 GMT
19 //
20 
21 // system include files
22 #include <string>
23 #include <set>
24 
25 // user include files
27 
28 // forward declarations
29 
30 namespace edm {
32 
33  namespace one {
34  namespace impl {
35 
36  template<typename T>
37  class SharedResourcesUser : public virtual T {
38  public:
39  template< typename... Args>
43 
44  virtual ~SharedResourcesUser() {}
45 
46  protected:
47 
48  void usesResource(std::string const& iName);
49  void usesResource();
50  private:
52  std::set<std::string> resourceNames_;
53  };
54 
55  template <typename T>
56  class RunWatcher : public virtual T {
57  public:
58  RunWatcher() = default;
59  RunWatcher(RunWatcher const&) = delete;
60  RunWatcher& operator=(RunWatcher const&) = delete;
61 
62  private:
63  void doBeginRun_(Run const& rp, EventSetup const& c) override final;
64  void doEndRun_(Run const& rp, EventSetup const& c) override final;
65 
66 
67  virtual void beginRun(edm::Run const&, edm::EventSetup const&) = 0;
68  virtual void endRun(edm::Run const&, edm::EventSetup const&) = 0;
69  };
70 
71  template <typename T>
72  class LuminosityBlockWatcher : public virtual T {
73  public:
74  LuminosityBlockWatcher() = default;
77 
78  private:
79  void doBeginLuminosityBlock_(LuminosityBlock const& rp, EventSetup const& c) override final;
80  void doEndLuminosityBlock_(LuminosityBlock const& rp, EventSetup const& c) override final;
81 
82  virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) = 0;
83  virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) = 0;
84  };
85 
86  template <typename T>
87  class BeginRunProducer : public virtual T {
88  public:
89  BeginRunProducer() = default;
90  BeginRunProducer( BeginRunProducer const&) = delete;
92 
93  private:
94  void doBeginRunProduce_(Run& rp, EventSetup const& c) override final;
95 
96  virtual void beginRunProduce(edm::Run&, edm::EventSetup const&) = 0;
97  };
98 
99  template <typename T>
100  class EndRunProducer : public virtual T {
101  public:
102  EndRunProducer() = default;
103  EndRunProducer( EndRunProducer const&) = delete;
104  EndRunProducer& operator=(EndRunProducer const&) = delete;
105 
106  private:
107 
108  void doEndRunProduce_(Run& rp, EventSetup const& c) override final;
109 
110  virtual void endRunProduce(edm::Run&, edm::EventSetup const&) = 0;
111  };
112 
113  template <typename T>
114  class BeginLuminosityBlockProducer : public virtual T {
115  public:
116  BeginLuminosityBlockProducer() = default;
119 
120  private:
121  void doBeginLuminosityBlockProduce_(LuminosityBlock& lbp, EventSetup const& c) override final;
122 
124  };
125 
126  template <typename T>
127  class EndLuminosityBlockProducer : public virtual T {
128  public:
129  EndLuminosityBlockProducer() = default;
132 
133  private:
134  void doEndLuminosityBlockProduce_(LuminosityBlock& lbp, EventSetup const& c) override final;
135 
137  };
138  }
139  }
140 }
141 
142 #endif
void doEndLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c) overridefinal
void doBeginLuminosityBlock_(LuminosityBlock const &rp, EventSetup const &c) overridefinal
virtual void endRunProduce(edm::Run &, edm::EventSetup const &)=0
virtual void endRun(edm::Run const &, edm::EventSetup const &)=0
SharedResourcesUser & operator=(SharedResourcesUser const &)=delete
void doBeginRun_(Run const &rp, EventSetup const &c) overridefinal
LuminosityBlockWatcher & operator=(LuminosityBlockWatcher const &)=delete
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
SharedResourcesAcquirer createAcquirer() override
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
std::set< std::string > resourceNames_
Definition: implementors.h:52
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:41