CMS 3D CMS Logo

implementors.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_implementors_h
2 #define FWCore_Framework_stream_implementors_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : implementors
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Fri, 02 Aug 2013 11:52:34 GMT
19 //
20 
21 // system include files
22 #include <memory>
23 
24 // user include files
29 
30 // forward declarations
31 namespace edm {
32 
33  class WaitingTaskWithArenaHolder;
34 
35  namespace stream {
36  namespace impl {
37  class EmptyType {};
38 
39 
40  template <typename C>
42  public:
43  GlobalCacheHolder() = default;
44  GlobalCacheHolder( GlobalCacheHolder<C> const&) = delete;
45  GlobalCacheHolder<C>& operator=(GlobalCacheHolder<C> const&) = delete;
46 
47  void setGlobalCache(C const* iCache) {
48  cache_=iCache;
49  }
50  protected:
51  C const* globalCache() const { return cache_; }
52  private:
53  C const* cache_;
54  };
55 
56  template <typename C>
58  public:
59  RunCacheHolder() = default;
60  RunCacheHolder( RunCacheHolder<C> const&) = delete;
61  RunCacheHolder<C>& operator=(RunCacheHolder<C> const&) = delete;
62  void setRunCache(C const* iCache) { cache_=iCache; }
63  protected:
64  C const* runCache() const { return cache_; }
65  private:
66  C const* cache_;
67  };
68 
69  template <typename C>
71  public:
72  LuminosityBlockCacheHolder() = default;
75  void setLuminosityBlockCache(C const* iCache) { cache_=iCache; }
76  protected:
77  C const* luminosityBlockCache() const { return cache_; }
78  private:
79  C const* cache_;
80  };
81 
82  template <typename C>
84  public:
85  RunSummaryCacheHolder() = default;
87  RunSummaryCacheHolder<C>& operator=(RunSummaryCacheHolder<C> const&) = delete;
89  private:
90  virtual void endRunSummary(edm::Run const&, edm::EventSetup const&, C*) const = 0;
91  };
92 
93  template <typename C>
95  public:
100  private:
101 
102  virtual void endLuminosityBlockSummary(edm::LuminosityBlock const&, edm::EventSetup const&, C*) const = 0;
103  };
104 
105 
107  public:
108  BeginRunProducer() = default;
109  BeginRunProducer( BeginRunProducer const&) = delete;
110  BeginRunProducer& operator=(BeginRunProducer const&) = delete;
111 
114  };
115 
117  public:
118  EndRunProducer() = default;
119  EndRunProducer( EndRunProducer const&) = delete;
120  EndRunProducer& operator=(EndRunProducer const&) = delete;
121 
122  private:
123 
126  };
127 
129  public:
130  BeginLuminosityBlockProducer() = default;
133 
134  private:
137  };
138 
140  public:
141  EndLuminosityBlockProducer() = default;
143  EndLuminosityBlockProducer& operator=(EndLuminosityBlockProducer const&) = delete;
144 
145  private:
148  };
149 
150  class ExternalWork {
151  public:
152  ExternalWork() = default;
153  ExternalWork(ExternalWork const&) = delete;
154  ExternalWork& operator=(ExternalWork const&) = delete;
155  virtual ~ExternalWork() noexcept(false) {};
156 
157  virtual void acquire(Event const&,
158  edm::EventSetup const&,
160  };
161  }
162  }
163 }
164 
165 
166 #endif
virtual ~RunSummaryCacheHolder() noexcept(false)
Definition: implementors.h:88
#define noexcept
virtual ~LuminosityBlockSummaryCacheHolder() noexcept(false)
Definition: implementors.h:99
virtual ~ExternalWork() noexcept(false)
Definition: implementors.h:155
void setGlobalCache(C const *iCache)
Definition: implementors.h:47
void setRunCache(C const *iCache)
Definition: implementors.h:62
HLT enums.
Definition: Run.h:43