CMS 3D CMS Logo

implementors.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_global_implementors_h
2 #define FWCore_Framework_global_implementors_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : implementors
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 18 Jul 2013 11:52:34 GMT
19 //
20 
21 // system include files
22 #include <memory>
23 #include <mutex>
24 
25 // user include files
32 
33 // forward declarations
34 namespace edm {
35 
36  class WaitingTaskWithArenaHolder;
37 
38  namespace global {
39  namespace impl {
40  class EmptyType {};
41 
42  template <typename T, typename C>
43  class StreamCacheHolder : public virtual T {
44  public:
45  StreamCacheHolder() = default;
48  ~StreamCacheHolder() override {
49  for (auto c : caches_) {
50  delete c;
51  }
52  }
53 
54  protected:
55  C* streamCache(edm::StreamID iID) const { return caches_[iID.value()]; }
56 
57  private:
58  void preallocStreams(unsigned int iNStreams) final { caches_.resize(iNStreams, static_cast<C*>(nullptr)); }
59  void doBeginStream_(StreamID id) final { caches_[id.value()] = beginStream(id).release(); }
60  void doEndStream_(StreamID id) final {
61  endStream(id);
62  delete caches_[id.value()];
63  caches_[id.value()] = nullptr;
64  }
65  void doStreamBeginRun_(StreamID id, Run const& rp, EventSetup const& c) final { streamBeginRun(id, rp, c); }
66  void doStreamEndRun_(StreamID id, Run const& rp, EventSetup const& c) final { streamEndRun(id, rp, c); }
67  void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const& lbp, EventSetup const& c) final {
68  streamBeginLuminosityBlock(id, lbp, c);
69  }
70  void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const& lbp, EventSetup const& c) final {
71  streamEndLuminosityBlock(id, lbp, c);
72  }
73 
74  virtual std::unique_ptr<C> beginStream(edm::StreamID) const = 0;
75  virtual void streamBeginRun(edm::StreamID, edm::Run const&, edm::EventSetup const&) const {}
77  edm::LuminosityBlock const&,
78  edm::EventSetup const&) const {}
80  edm::LuminosityBlock const&,
81  edm::EventSetup const&) const {}
82  virtual void streamEndRun(edm::StreamID, edm::Run const&, edm::EventSetup const&) const {}
83  virtual void endStream(edm::StreamID) const {}
84 
85  //When threaded we will have a container for N items whre N is # of streams
86  std::vector<C*> caches_;
87  };
88 
89  template <typename T, typename C>
90  class RunCacheHolder : public virtual T {
91  public:
92  RunCacheHolder() = default;
93  RunCacheHolder(RunCacheHolder<T, C> const&) = delete;
95  ~RunCacheHolder() noexcept(false) override{};
96 
97  protected:
98  C const* runCache(edm::RunIndex iID) const { return cache_.get(); }
99 
100  private:
101  void doBeginRun_(Run const& rp, EventSetup const& c) final { cache_ = globalBeginRun(rp, c); }
102  void doEndRun_(Run const& rp, EventSetup const& c) final {
103  globalEndRun(rp, c);
104  cache_ = nullptr; // propagate_const<T> has no reset() function
105  }
106 
107  virtual std::shared_ptr<C> globalBeginRun(edm::Run const&, edm::EventSetup const&) const = 0;
108  virtual void globalEndRun(edm::Run const&, edm::EventSetup const&) const = 0;
109  //When threaded we will have a container for N items whre N is # of simultaneous runs
111  };
112 
113  template <typename T, typename C>
114  class LuminosityBlockCacheHolder : public virtual T {
115  public:
116  LuminosityBlockCacheHolder() = default;
119  ~LuminosityBlockCacheHolder() noexcept(false) override{};
120 
121  protected:
122  void preallocLumis(unsigned int iNLumis) final { caches_.reset(new std::shared_ptr<C>[iNLumis]); }
123 
124  C const* luminosityBlockCache(edm::LuminosityBlockIndex iID) const { return caches_[iID].get(); }
125 
126  private:
127  void doBeginLuminosityBlock_(LuminosityBlock const& lp, EventSetup const& c) final {
128  caches_[lp.index()] = globalBeginLuminosityBlock(lp, c);
129  }
130  void doEndLuminosityBlock_(LuminosityBlock const& lp, EventSetup const& c) final {
132  caches_[lp.index()].reset();
133  }
134 
135  virtual std::shared_ptr<C> globalBeginLuminosityBlock(edm::LuminosityBlock const&,
136  edm::EventSetup const&) const = 0;
137  virtual void globalEndLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) const = 0;
138  //When threaded we will have a container for N items whre N is # of simultaneous runs
139  std::unique_ptr<std::shared_ptr<C>[]> caches_;
140  };
141 
142  template <typename T, typename C>
144 
145  template <typename T, typename C>
146  class RunSummaryCacheHolder : public virtual T {
147  public:
148  RunSummaryCacheHolder() = default;
151  ~RunSummaryCacheHolder() noexcept(false) override{};
152 
153  private:
154  friend class EndRunSummaryProducer<T, C>;
155  void doBeginRunSummary_(edm::Run const& rp, EventSetup const& c) final {
157  }
158  void doStreamEndRunSummary_(StreamID id, Run const& rp, EventSetup const& c) final {
159  //NOTE: in future this will need to be serialized
160  std::lock_guard<std::mutex> guard(mutex_);
161  streamEndRunSummary(id, rp, c, cache_.get());
162  }
163  void doEndRunSummary_(Run const& rp, EventSetup const& c) final { globalEndRunSummary(rp, c, cache_.get()); }
164 
165  virtual std::shared_ptr<C> globalBeginRunSummary(edm::Run const&, edm::EventSetup const&) const = 0;
166  virtual void streamEndRunSummary(StreamID, edm::Run const&, edm::EventSetup const&, C*) const = 0;
167 
168  virtual void globalEndRunSummary(edm::Run const&, edm::EventSetup const&, C*) const = 0;
169 
170  //When threaded we will have a container for N items where N is # of simultaneous runs
171  std::shared_ptr<C> cache_;
173  };
174 
175  template <typename T, typename C>
177 
178  template <typename T, typename C>
179  class LuminosityBlockSummaryCacheHolder : public virtual T {
180  public:
185 
186  private:
187  void preallocLumisSummary(unsigned int iNLumis) final { caches_.reset(new std::shared_ptr<C>[iNLumis]); }
188 
190 
192  caches_[lb.index()] = globalBeginLuminosityBlockSummary(lb, c);
193  }
194 
196  std::lock_guard<std::mutex> guard(mutex_);
197  streamEndLuminosityBlockSummary(id, lb, c, caches_[lb.index()].get());
198  }
200  globalEndLuminosityBlockSummary(lb, c, caches_[lb.index()].get());
201  maybeClearCache(lb);
202  }
203 
204  virtual std::shared_ptr<C> globalBeginLuminosityBlockSummary(edm::LuminosityBlock const&,
205  edm::EventSetup const&) const = 0;
207  edm::LuminosityBlock const&,
208  edm::EventSetup const&,
209  C*) const = 0;
210 
211  virtual void globalEndLuminosityBlockSummary(edm::LuminosityBlock const&, edm::EventSetup const&, C*) const = 0;
212 
213  virtual void maybeClearCache(LuminosityBlock const& lb) { caches_[lb.index()].reset(); }
214 
215  //When threaded we will have a container for N items where N is # of simultaneous Lumis
216  std::unique_ptr<std::shared_ptr<C>[]> caches_;
218  };
219 
220  template <typename T>
221  class BeginRunProducer : public virtual T {
222  public:
223  BeginRunProducer() = default;
224  BeginRunProducer(BeginRunProducer const&) = delete;
225  BeginRunProducer& operator=(BeginRunProducer const&) = delete;
226  ~BeginRunProducer() noexcept(false) override{};
227 
228  private:
229  void doBeginRunProduce_(Run& rp, EventSetup const& c) final;
230 
231  virtual void globalBeginRunProduce(edm::Run&, edm::EventSetup const&) const = 0;
232  };
233 
234  template <typename T>
235  class EndRunProducer : public virtual T {
236  public:
237  EndRunProducer() = default;
238  EndRunProducer(EndRunProducer const&) = delete;
239  EndRunProducer& operator=(EndRunProducer const&) = delete;
240  ~EndRunProducer() noexcept(false) override{};
241 
242  private:
243  void doEndRunProduce_(Run& rp, EventSetup const& c) final;
244 
245  virtual void globalEndRunProduce(edm::Run&, edm::EventSetup const&) const = 0;
246  };
247 
248  template <typename T, typename C>
249  class EndRunSummaryProducer : public RunSummaryCacheHolder<T, C> {
250  public:
251  EndRunSummaryProducer() = default;
254  ~EndRunSummaryProducer() noexcept(false) override{};
255 
256  private:
257  void doEndRunProduce_(Run& rp, EventSetup const& c) final {
259  }
260 
261  virtual void globalEndRunProduce(edm::Run&, edm::EventSetup const&, C const*) const = 0;
262  };
263 
264  template <typename T>
265  class BeginLuminosityBlockProducer : public virtual T {
266  public:
267  BeginLuminosityBlockProducer() = default;
270  ~BeginLuminosityBlockProducer() noexcept(false) override{};
271 
272  private:
275  };
276 
277  template <typename T>
278  class EndLuminosityBlockProducer : public virtual T {
279  public:
280  EndLuminosityBlockProducer() = default;
283  ~EndLuminosityBlockProducer() noexcept(false) override{};
284 
285  private:
288  };
289 
290  template <typename T, typename S>
291  class EndLuminosityBlockSummaryProducer : public LuminosityBlockSummaryCacheHolder<T, S> {
292  public:
297 
298  private:
302  }
303 
304  virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock&, edm::EventSetup const&, S const*) const = 0;
305 
306  // Do nothing because the cache is cleared in doEndLuminosityBlockProduce_
307  void maybeClearCache(LuminosityBlock const&) final {}
308  };
309 
310  template <typename T>
311  class ExternalWork : public virtual T {
312  public:
313  ExternalWork() = default;
314  ExternalWork(ExternalWork const&) = delete;
315  ExternalWork& operator=(ExternalWork const&) = delete;
316  ~ExternalWork() noexcept(false) override{};
317 
318  private:
319  bool hasAcquire() const override { return true; }
320 
322 
323  virtual void acquire(StreamID, Event const&, edm::EventSetup const&, WaitingTaskWithArenaHolder) const = 0;
324  };
325 
326  template <typename T>
327  class Accumulator : public virtual T {
328  public:
329  Accumulator() = default;
330  Accumulator(Accumulator const&) = delete;
331  Accumulator& operator=(Accumulator const&) = delete;
332  ~Accumulator() noexcept(false) override{};
333 
334  private:
335  bool hasAccumulator() const override { return true; }
336 
337  void produce(StreamID streamID, Event& ev, EventSetup const& es) const final { accumulate(streamID, ev, es); }
338 
339  virtual void accumulate(StreamID streamID, Event const& ev, EventSetup const& es) const = 0;
340  };
341  } // namespace impl
342  } // namespace global
343 } // namespace edm
344 
345 #endif
edm::global::impl::RunSummaryCacheHolder::cache_
std::shared_ptr< C > cache_
Definition: implementors.h:171
edm::global::impl::LuminosityBlockCacheHolder::preallocLumis
void preallocLumis(unsigned int iNLumis) final
Definition: implementors.h:122
edm::StreamID
Definition: StreamID.h:30
edm::global::impl::StreamCacheHolder::endStream
virtual void endStream(edm::StreamID) const
Definition: implementors.h:83
edm::global::impl::RunSummaryCacheHolder::RunSummaryCacheHolder
RunSummaryCacheHolder()=default
edm::global::impl::EndRunSummaryProducer
Definition: implementors.h:143
edm::global::impl::StreamCacheHolder::caches_
std::vector< C * > caches_
Definition: implementors.h:86
funct::false
false
Definition: Factorize.h:34
edm::global::impl::ExternalWork::acquire
virtual void acquire(StreamID, Event const &, edm::EventSetup const &, WaitingTaskWithArenaHolder) const =0
edm::global::impl::EndLuminosityBlockSummaryProducer::globalEndLuminosityBlockProduce
virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &, S const *) const =0
edm::global::impl::BeginRunProducer::globalBeginRunProduce
virtual void globalBeginRunProduce(edm::Run &, edm::EventSetup const &) const =0
edm::global::impl::EndLuminosityBlockSummaryProducer::EndLuminosityBlockSummaryProducer
EndLuminosityBlockSummaryProducer()=default
edm::global::impl::LuminosityBlockCacheHolder::caches_
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:139
propagate_const.h
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::global::impl::RunCacheHolder::doEndRun_
void doEndRun_(Run const &rp, EventSetup const &c) final
Definition: implementors.h:102
edm::Run
Definition: Run.h:45
LuminosityBlock.h
edm::LuminosityBlock::index
LuminosityBlockIndex index() const
Definition: LuminosityBlock.cc:20
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::global::impl::LuminosityBlockSummaryCacheHolder::doStreamEndLuminosityBlockSummary_
void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lb, EventSetup const &c) final
Definition: implementors.h:195
edm::global::impl::StreamCacheHolder::operator=
StreamCacheHolder< T, C > & operator=(StreamCacheHolder< T, C > const &)=delete
edm::global::impl::EndRunSummaryProducer::operator=
EndRunSummaryProducer & operator=(EndRunSummaryProducer const &)=delete
edm::global::impl::LuminosityBlockCacheHolder::doBeginLuminosityBlock_
void doBeginLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
Definition: implementors.h:127
edm::global::impl::EndLuminosityBlockProducer
Definition: implementors.h:278
edm::global::impl::RunCacheHolder::~RunCacheHolder
~RunCacheHolder() noexcept(false) override
Definition: implementors.h:95
edm::global::impl::RunSummaryCacheHolder::globalEndRunSummary
virtual void globalEndRunSummary(edm::Run const &, edm::EventSetup const &, C *) const =0
edm::global::impl::LuminosityBlockSummaryCacheHolder::mutex_
std::mutex mutex_
Definition: implementors.h:217
edm::global::impl::EndLuminosityBlockProducer::doEndLuminosityBlockProduce_
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
Definition: implementorsMethods.h:48
edm::global::impl::EndRunProducer::operator=
EndRunProducer & operator=(EndRunProducer const &)=delete
edm::global::impl::ExternalWork::hasAcquire
bool hasAcquire() const override
Definition: implementors.h:319
edm::StreamID::value
unsigned int value() const
Definition: StreamID.h:42
edm::global::impl::BeginLuminosityBlockProducer::globalBeginLuminosityBlockProduce
virtual void globalBeginLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) const =0
edm::global::impl::BeginRunProducer::BeginRunProducer
BeginRunProducer()=default
edm::global::impl::LuminosityBlockSummaryCacheHolder::~LuminosityBlockSummaryCacheHolder
~LuminosityBlockSummaryCacheHolder() noexcept(false) override
Definition: implementors.h:184
edm::global::impl::StreamCacheHolder
Definition: implementors.h:43
edm::global::impl::LuminosityBlockSummaryCacheHolder
Definition: implementors.h:179
edm::global::impl::EndLuminosityBlockProducer::~EndLuminosityBlockProducer
~EndLuminosityBlockProducer() noexcept(false) override
Definition: implementors.h:283
edm::global::impl::EndLuminosityBlockSummaryProducer::~EndLuminosityBlockSummaryProducer
~EndLuminosityBlockSummaryProducer() noexcept(false) override
Definition: implementors.h:296
edm::global::impl::RunCacheHolder::globalEndRun
virtual void globalEndRun(edm::Run const &, edm::EventSetup const &) const =0
edm::global::impl::Accumulator::hasAccumulator
bool hasAccumulator() const override
Definition: implementors.h:335
edm::global::impl::LuminosityBlockSummaryCacheHolder::operator=
LuminosityBlockSummaryCacheHolder< T, C > & operator=(LuminosityBlockSummaryCacheHolder< T, C > const &)=delete
edm::global::impl::BeginLuminosityBlockProducer::BeginLuminosityBlockProducer
BeginLuminosityBlockProducer()=default
edm::global::impl::LuminosityBlockSummaryCacheHolder::globalEndLuminosityBlockSummary
virtual void globalEndLuminosityBlockSummary(edm::LuminosityBlock const &, edm::EventSetup const &, C *) const =0
edm::global::impl::EndLuminosityBlockSummaryProducer::doEndLuminosityBlockProduce_
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
Definition: implementors.h:299
edm::global::impl::LuminosityBlockCacheHolder::globalEndLuminosityBlock
virtual void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
edm::global::impl::BeginRunProducer::doBeginRunProduce_
void doBeginRunProduce_(Run &rp, EventSetup const &c) final
Definition: implementorsMethods.h:33
edm::global::impl::StreamCacheHolder::doStreamEndLuminosityBlock_
void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
Definition: implementors.h:70
edm::global::impl::StreamCacheHolder::StreamCacheHolder
StreamCacheHolder()=default
edm::WaitingTaskWithArenaHolder
Definition: WaitingTaskWithArenaHolder.h:31
edm::propagate_const::get
element_type const * get() const
Definition: propagate_const.h:64
edm::global::impl::RunSummaryCacheHolder::operator=
RunSummaryCacheHolder< T, C > & operator=(RunSummaryCacheHolder< T, C > const &)=delete
edm::propagate_const
Definition: propagate_const.h:32
edm::global::impl::StreamCacheHolder::doStreamBeginRun_
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final
Definition: implementors.h:65
edm::global::impl::StreamCacheHolder::streamBeginLuminosityBlock
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
Definition: implementors.h:76
edm::LuminosityBlockIndex
Definition: LuminosityBlockIndex.h:33
edm::global::impl::LuminosityBlockCacheHolder::luminosityBlockCache
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
Definition: implementors.h:124
edm::global::impl::EndLuminosityBlockProducer::operator=
EndLuminosityBlockProducer & operator=(EndLuminosityBlockProducer const &)=delete
edm::global::impl::EndLuminosityBlockProducer::globalEndLuminosityBlockProduce
virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) const =0
edm::global::impl::EndRunProducer::EndRunProducer
EndRunProducer()=default
edm::global::impl::ExternalWork::~ExternalWork
~ExternalWork() noexcept(false) override
Definition: implementors.h:316
edm::global::impl::EndRunSummaryProducer::~EndRunSummaryProducer
~EndRunSummaryProducer() noexcept(false) override
Definition: implementors.h:254
edm::global::impl::EndRunProducer::~EndRunProducer
~EndRunProducer() noexcept(false) override
Definition: implementors.h:240
edm::global::impl::LuminosityBlockSummaryCacheHolder::doBeginLuminosityBlockSummary_
void doBeginLuminosityBlockSummary_(edm::LuminosityBlock const &lb, EventSetup const &c) final
Definition: implementors.h:191
edm::global::impl::RunSummaryCacheHolder::doEndRunSummary_
void doEndRunSummary_(Run const &rp, EventSetup const &c) final
Definition: implementors.h:163
edm::global::impl::RunSummaryCacheHolder::globalBeginRunSummary
virtual std::shared_ptr< C > globalBeginRunSummary(edm::Run const &, edm::EventSetup const &) const =0
edm::global::impl::StreamCacheHolder::~StreamCacheHolder
~StreamCacheHolder() override
Definition: implementors.h:48
edm::global::impl::BeginRunProducer
Definition: implementors.h:221
edm::global::impl::LuminosityBlockSummaryCacheHolder::caches_
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:216
edm::global::impl::StreamCacheHolder::beginStream
virtual std::unique_ptr< C > beginStream(edm::StreamID) const =0
edm::global::impl::EndLuminosityBlockSummaryProducer::maybeClearCache
void maybeClearCache(LuminosityBlock const &) final
Definition: implementors.h:307
edm::global::impl::BeginLuminosityBlockProducer
Definition: implementors.h:265
edm::global::impl::Accumulator::accumulate
virtual void accumulate(StreamID streamID, Event const &ev, EventSetup const &es) const =0
edm::global::impl::RunSummaryCacheHolder::streamEndRunSummary
virtual void streamEndRunSummary(StreamID, edm::Run const &, edm::EventSetup const &, C *) const =0
mutex
static boost::mutex mutex
Definition: Proxy.cc:9
edm::global::impl::ExternalWork
Definition: implementors.h:311
RunIndex.h
edm::global::impl::BeginRunProducer::~BeginRunProducer
~BeginRunProducer() noexcept(false) override
Definition: implementors.h:226
edm::global::impl::RunCacheHolder::operator=
RunCacheHolder< T, C > & operator=(RunCacheHolder< T, C > const &)=delete
edm::global::impl::RunCacheHolder::doBeginRun_
void doBeginRun_(Run const &rp, EventSetup const &c) final
Definition: implementors.h:101
edm::global::impl::RunCacheHolder::runCache
C const * runCache(edm::RunIndex iID) const
Definition: implementors.h:98
edm::global::impl::BeginRunProducer::operator=
BeginRunProducer & operator=(BeginRunProducer const &)=delete
edm::global::impl::LuminosityBlockSummaryCacheHolder::globalBeginLuminosityBlockSummary
virtual std::shared_ptr< C > globalBeginLuminosityBlockSummary(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
edm::global::impl::EndRunSummaryProducer::EndRunSummaryProducer
EndRunSummaryProducer()=default
edm::global::impl::EndRunProducer::globalEndRunProduce
virtual void globalEndRunProduce(edm::Run &, edm::EventSetup const &) const =0
edm::global::impl::RunSummaryCacheHolder::doBeginRunSummary_
void doBeginRunSummary_(edm::Run const &rp, EventSetup const &c) final
Definition: implementors.h:155
edm::global::impl::StreamCacheHolder::streamBeginRun
virtual void streamBeginRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
Definition: implementors.h:75
edm::global::impl::LuminosityBlockCacheHolder::~LuminosityBlockCacheHolder
~LuminosityBlockCacheHolder() noexcept(false) override
Definition: implementors.h:119
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:669
edm::global::impl::StreamCacheHolder::doBeginStream_
void doBeginStream_(StreamID id) final
Definition: implementors.h:59
edm::global::impl::RunSummaryCacheHolder::mutex_
std::mutex mutex_
Definition: implementors.h:172
edm::global::impl::RunCacheHolder::globalBeginRun
virtual std::shared_ptr< C > globalBeginRun(edm::Run const &, edm::EventSetup const &) const =0
edm::global::impl::EmptyType
Definition: implementors.h:40
edm::global::impl::RunSummaryCacheHolder::~RunSummaryCacheHolder
~RunSummaryCacheHolder() noexcept(false) override
Definition: implementors.h:151
edm::global::impl::EndRunSummaryProducer::doEndRunProduce_
void doEndRunProduce_(Run &rp, EventSetup const &c) final
Definition: implementors.h:257
edm::global::impl::EndLuminosityBlockSummaryProducer
Definition: implementors.h:176
edm::global::impl::BeginLuminosityBlockProducer::operator=
BeginLuminosityBlockProducer & operator=(BeginLuminosityBlockProducer const &)=delete
edm::global::impl::ExternalWork::operator=
ExternalWork & operator=(ExternalWork const &)=delete
edm::EventSetup
Definition: EventSetup.h:57
edm::global::impl::Accumulator::produce
void produce(StreamID streamID, Event &ev, EventSetup const &es) const final
Definition: implementors.h:337
edm::global::impl::EndRunProducer
Definition: implementors.h:235
edm::global::impl::StreamCacheHolder::preallocStreams
void preallocStreams(unsigned int iNStreams) final
Definition: implementors.h:58
edm::global::impl::RunCacheHolder
Definition: implementors.h:90
edm::global::impl::Accumulator::~Accumulator
~Accumulator() noexcept(false) override
Definition: implementors.h:332
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::global::impl::EndLuminosityBlockSummaryProducer::operator=
EndLuminosityBlockSummaryProducer & operator=(EndLuminosityBlockSummaryProducer const &)=delete
edm::global::impl::LuminosityBlockSummaryCacheHolder::maybeClearCache
virtual void maybeClearCache(LuminosityBlock const &lb)
Definition: implementors.h:213
edm::global::impl::LuminosityBlockCacheHolder::LuminosityBlockCacheHolder
LuminosityBlockCacheHolder()=default
edm::global::impl::LuminosityBlockSummaryCacheHolder::streamEndLuminosityBlockSummary
virtual void streamEndLuminosityBlockSummary(StreamID, edm::LuminosityBlock const &, edm::EventSetup const &, C *) const =0
edm::global::impl::RunCacheHolder::cache_
edm::propagate_const< std::shared_ptr< C > > cache_
Definition: implementors.h:110
impl
Definition: trackAlgoPriorityOrder.h:18
edm::global::impl::LuminosityBlockSummaryCacheHolder::LuminosityBlockSummaryCacheHolder
LuminosityBlockSummaryCacheHolder()=default
gen::C
C
Definition: PomwigHadronizer.cc:76
Frameworkfwd.h
T
long double T
Definition: Basic3DVectorLD.h:48
edm::global::impl::EndRunProducer::doEndRunProduce_
void doEndRunProduce_(Run &rp, EventSetup const &c) final
Definition: implementorsMethods.h:38
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
edm::global::impl::StreamCacheHolder::doStreamBeginLuminosityBlock_
void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
Definition: implementors.h:67
edm::global::impl::Accumulator::Accumulator
Accumulator()=default
edm::global::impl::ExternalWork::doAcquire_
void doAcquire_(StreamID, Event const &, edm::EventSetup const &, WaitingTaskWithArenaHolder &) final
Definition: implementorsMethods.h:53
edm::global::impl::LuminosityBlockCacheHolder::doEndLuminosityBlock_
void doEndLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
Definition: implementors.h:130
edm::global::impl::StreamCacheHolder::streamCache
C * streamCache(edm::StreamID iID) const
Definition: implementors.h:55
edm::global::impl::StreamCacheHolder::doStreamEndRun_
void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c) final
Definition: implementors.h:66
edm::global::impl::LuminosityBlockSummaryCacheHolder::preallocLumisSummary
void preallocLumisSummary(unsigned int iNLumis) final
Definition: implementors.h:187
edm::RunIndex
Definition: RunIndex.h:32
edm::global::impl::LuminosityBlockCacheHolder
Definition: implementors.h:114
edm::global::impl::LuminosityBlockCacheHolder::operator=
LuminosityBlockCacheHolder< T, C > & operator=(LuminosityBlockCacheHolder< T, C > const &)=delete
LuminosityBlockIndex.h
S
Definition: CSCDBL1TPParametersExtended.h:16
edm::global::impl::BeginLuminosityBlockProducer::~BeginLuminosityBlockProducer
~BeginLuminosityBlockProducer() noexcept(false) override
Definition: implementors.h:270
edm::global::impl::LuminosityBlockSummaryCacheHolder::doEndLuminosityBlockSummary_
void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c) final
Definition: implementors.h:199
edm::global::impl::RunSummaryCacheHolder
Definition: implementors.h:146
edm::global::impl::StreamCacheHolder::streamEndRun
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
Definition: implementors.h:82
edm::Event
Definition: Event.h:73
edm::global::impl::StreamCacheHolder::doEndStream_
void doEndStream_(StreamID id) final
Definition: implementors.h:60
edm::global::impl::RunCacheHolder::RunCacheHolder
RunCacheHolder()=default
edm::global::impl::LuminosityBlockCacheHolder::globalBeginLuminosityBlock
virtual std::shared_ptr< C > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
StreamID.h
edm::global::impl::StreamCacheHolder::streamEndLuminosityBlock
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
Definition: implementors.h:79
edm::global::impl::EndRunSummaryProducer::globalEndRunProduce
virtual void globalEndRunProduce(edm::Run &, edm::EventSetup const &, C const *) const =0
edm::global::impl::EndLuminosityBlockProducer::EndLuminosityBlockProducer
EndLuminosityBlockProducer()=default
edm::global::impl::ExternalWork::ExternalWork
ExternalWork()=default
edm::global::impl::Accumulator
Definition: implementors.h:327
edm::global::impl::Accumulator::operator=
Accumulator & operator=(Accumulator const &)=delete
edm::global::impl::BeginLuminosityBlockProducer::doBeginLuminosityBlockProduce_
void doBeginLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
Definition: implementorsMethods.h:43
edm::global::impl::RunSummaryCacheHolder::doStreamEndRunSummary_
void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c) final
Definition: implementors.h:158