CMS 3D CMS Logo

implementors.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_limited_implementors_h
2 #define FWCore_Framework_limited_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
33 
34 // forward declarations
35 namespace edm {
36 
37  namespace limited {
38  namespace impl {
39  class EmptyType {
40  public:
42  };
43 
44  template <typename T, typename C>
45  class StreamCacheHolder : public virtual T {
46  public:
47  StreamCacheHolder(edm::ParameterSet const& iPSet) : T(iPSet) {}
50  ~StreamCacheHolder() override {
51  for (auto c : caches_) {
52  delete c;
53  }
54  }
55 
56  protected:
57  C* streamCache(edm::StreamID iID) const { return caches_[iID.value()]; }
58 
59  private:
60  void preallocStreams(unsigned int iNStreams) final { caches_.resize(iNStreams, static_cast<C*>(nullptr)); }
61  void doBeginStream_(StreamID id) final { caches_[id.value()] = beginStream(id).release(); }
62  void doEndStream_(StreamID id) final {
63  endStream(id);
64  delete caches_[id.value()];
65  caches_[id.value()] = nullptr;
66  }
67  void doStreamBeginRun_(StreamID id, Run const& rp, EventSetup const& c) final { streamBeginRun(id, rp, c); }
68  void doStreamEndRun_(StreamID id, Run const& rp, EventSetup const& c) final { streamEndRun(id, rp, c); }
69  void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const& lbp, EventSetup const& c) final {
70  streamBeginLuminosityBlock(id, lbp, c);
71  }
72  void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const& lbp, EventSetup const& c) final {
73  streamEndLuminosityBlock(id, lbp, c);
74  }
75 
76  virtual std::unique_ptr<C> beginStream(edm::StreamID) const = 0;
77  virtual void streamBeginRun(edm::StreamID, edm::Run const&, edm::EventSetup const&) const {}
79  edm::LuminosityBlock const&,
80  edm::EventSetup const&) const {}
82  edm::LuminosityBlock const&,
83  edm::EventSetup const&) const {}
84  virtual void streamEndRun(edm::StreamID, edm::Run const&, edm::EventSetup const&) const {}
85  virtual void endStream(edm::StreamID) const {}
86 
87  //When threaded we will have a container for N items whre N is # of streams
88  std::vector<C*> caches_;
89  };
90 
91  template <typename T, typename C>
92  class InputProcessBlockCacheHolder : public virtual T {
93  public:
97  ~InputProcessBlockCacheHolder() noexcept(false) override {}
98 
99  protected:
100  // Not implemented yet
101  // const C* inputProcessBlockCache(ProcessBlockIndex index) const { return caches_.at(index).get(); }
102 
103  private:
104  // Not yet fully implemented, will never get called
105  void doAccessInputProcessBlock_(ProcessBlock const& pb) final {
106  caches_.push_back(accessInputProcessBlock(pb));
107  }
108 
109  // Not yet fully implemented, will never get called
110  virtual std::shared_ptr<C> accessInputProcessBlock(ProcessBlock const&) const = 0;
111 
112  std::vector<std::shared_ptr<C>> caches_;
113  };
114 
115  template <typename T, typename C>
116  class RunCacheHolder : public virtual T {
117  public:
118  RunCacheHolder(edm::ParameterSet const& iPSet) : T(iPSet) {}
119  RunCacheHolder(RunCacheHolder<T, C> const&) = delete;
121  ~RunCacheHolder() noexcept(false) override{};
122 
123  protected:
124  C const* runCache(edm::RunIndex iID) const { return cache_.get(); }
125 
126  private:
127  void doBeginRun_(Run const& rp, EventSetup const& c) final { cache_ = globalBeginRun(rp, c); }
128  void doEndRun_(Run const& rp, EventSetup const& c) final {
129  globalEndRun(rp, c);
130  cache_ = nullptr; // propagate_const<T> has no reset() function
131  }
132 
133  virtual std::shared_ptr<C> globalBeginRun(edm::Run const&, edm::EventSetup const&) const = 0;
134  virtual void globalEndRun(edm::Run const&, edm::EventSetup const&) const = 0;
135  //When threaded we will have a container for N items whre N is # of simultaneous runs
137  };
138 
139  template <typename T, typename C>
140  class LuminosityBlockCacheHolder : public virtual T {
141  public:
145  ~LuminosityBlockCacheHolder() noexcept(false) override{};
146 
147  protected:
148  C const* luminosityBlockCache(edm::LuminosityBlockIndex iID) const { return caches_[iID].get(); }
149 
150  private:
151  void preallocLumis(unsigned int iNLumis) final { caches_.reset(new std::shared_ptr<C>[iNLumis]); }
152 
153  void doBeginLuminosityBlock_(LuminosityBlock const& lp, EventSetup const& c) final {
154  caches_[lp.index()] = globalBeginLuminosityBlock(lp, c);
155  }
156  void doEndLuminosityBlock_(LuminosityBlock const& lp, EventSetup const& c) final {
158  caches_[lp.index()].reset();
159  }
160 
161  virtual std::shared_ptr<C> globalBeginLuminosityBlock(edm::LuminosityBlock const&,
162  edm::EventSetup const&) const = 0;
163  virtual void globalEndLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) const = 0;
164  //When threaded we will have a container for N items whre N is # of simultaneous runs
165  std::unique_ptr<std::shared_ptr<C>[]> caches_;
166  };
167 
168  template <typename T, typename C>
170 
171  template <typename T, typename C>
172  class RunSummaryCacheHolder : public virtual T {
173  public:
174  RunSummaryCacheHolder(edm::ParameterSet const& iPSet) : T(iPSet) {}
177  ~RunSummaryCacheHolder() noexcept(false) override{};
178 
179  private:
180  friend class EndRunSummaryProducer<T, C>;
181  void doBeginRunSummary_(edm::Run const& rp, EventSetup const& c) final {
183  }
184  void doStreamEndRunSummary_(StreamID id, Run const& rp, EventSetup const& c) final {
185  //NOTE: in future this will need to be serialized
186  std::lock_guard<std::mutex> guard(mutex_);
187  streamEndRunSummary(id, rp, c, cache_.get());
188  }
189  void doEndRunSummary_(Run const& rp, EventSetup const& c) final { globalEndRunSummary(rp, c, cache_.get()); }
190 
191  virtual std::shared_ptr<C> globalBeginRunSummary(edm::Run const&, edm::EventSetup const&) const = 0;
192  virtual void streamEndRunSummary(StreamID, edm::Run const&, edm::EventSetup const&, C*) const = 0;
193 
194  virtual void globalEndRunSummary(edm::Run const&, edm::EventSetup const&, C*) const = 0;
195 
196  //When threaded we will have a container for N items where N is # of simultaneous runs
197  std::shared_ptr<C> cache_;
199  };
200 
201  template <typename T, typename C>
203 
204  template <typename T, typename C>
205  class LuminosityBlockSummaryCacheHolder : public virtual T {
206  public:
211 
212  private:
213  void preallocLumisSummary(unsigned int iNLumis) final { caches_.reset(new std::shared_ptr<C>[iNLumis]); }
214 
216 
218  caches_[lb.index()] = globalBeginLuminosityBlockSummary(lb, c);
219  }
220 
222  std::lock_guard<std::mutex> guard(mutex_);
223  streamEndLuminosityBlockSummary(id, lb, c, caches_[lb.index()].get());
224  }
226  globalEndLuminosityBlockSummary(lb, c, caches_[lb.index()].get());
227  maybeClearCache(lb);
228  }
229 
230  virtual std::shared_ptr<C> globalBeginLuminosityBlockSummary(edm::LuminosityBlock const&,
231  edm::EventSetup const&) const = 0;
233  edm::LuminosityBlock const&,
234  edm::EventSetup const&,
235  C*) const = 0;
236 
237  virtual void globalEndLuminosityBlockSummary(edm::LuminosityBlock const&, edm::EventSetup const&, C*) const = 0;
238 
239  virtual void maybeClearCache(LuminosityBlock const& lb) { caches_[lb.index()].reset(); }
240 
241  //When threaded we will have a container for N items where N is # of simultaneous Lumis
242  std::unique_ptr<std::shared_ptr<C>[]> caches_;
244  };
245 
246  template <typename T>
247  class WatchProcessBlock : public virtual T {
248  public:
249  WatchProcessBlock(edm::ParameterSet const& iPSet) : T(iPSet) {}
250  WatchProcessBlock(WatchProcessBlock const&) = delete;
252  ~WatchProcessBlock() noexcept(false) override{};
253 
254  private:
255  void doBeginProcessBlock_(ProcessBlock const&) final;
256  void doEndProcessBlock_(ProcessBlock const&) final;
257 
258  virtual void beginProcessBlock(ProcessBlock const&) const {}
259  virtual void endProcessBlock(ProcessBlock const&) const {}
260  };
261 
262  template <typename T>
263  class BeginProcessBlockProducer : public virtual T {
264  public:
268  ~BeginProcessBlockProducer() noexcept(false) override{};
269 
270  private:
272 
273  virtual void beginProcessBlockProduce(edm::ProcessBlock&) const = 0;
274  };
275 
276  template <typename T>
277  class EndProcessBlockProducer : public virtual T {
278  public:
279  EndProcessBlockProducer(edm::ParameterSet const& iPSet) : T(iPSet) {}
282  ~EndProcessBlockProducer() noexcept(false) override{};
283 
284  private:
286 
287  virtual void endProcessBlockProduce(edm::ProcessBlock&) const = 0;
288  };
289 
290  template <typename T>
291  class BeginRunProducer : public virtual T {
292  public:
293  BeginRunProducer(edm::ParameterSet const& iPSet) : T(iPSet) {}
294  BeginRunProducer(BeginRunProducer const&) = delete;
295  BeginRunProducer& operator=(BeginRunProducer const&) = delete;
296  ~BeginRunProducer() noexcept(false) override{};
297 
298  private:
299  void doBeginRunProduce_(Run& rp, EventSetup const& c) final;
300 
301  virtual void globalBeginRunProduce(edm::Run&, edm::EventSetup const&) const = 0;
302  };
303 
304  template <typename T>
305  class EndRunProducer : public virtual T {
306  public:
307  EndRunProducer(edm::ParameterSet const& iPSet) : T(iPSet) {}
308  EndRunProducer(EndRunProducer const&) = delete;
309  EndRunProducer& operator=(EndRunProducer const&) = delete;
310  ~EndRunProducer() noexcept(false) override{};
311 
312  private:
313  void doEndRunProduce_(Run& rp, EventSetup const& c) final;
314 
315  virtual void globalEndRunProduce(edm::Run&, edm::EventSetup const&) const = 0;
316  };
317 
318  template <typename T, typename C>
319  class EndRunSummaryProducer : public RunSummaryCacheHolder<T, C> {
320  public:
321  EndRunSummaryProducer(edm::ParameterSet const& iPSet) : T(iPSet), RunSummaryCacheHolder<T, C>(iPSet) {}
324  ~EndRunSummaryProducer() noexcept(false) override{};
325 
326  private:
327  void doEndRunProduce_(Run& rp, EventSetup const& c) final {
329  }
330 
331  virtual void globalEndRunProduce(edm::Run&, edm::EventSetup const&, C const*) const = 0;
332  };
333 
334  template <typename T>
335  class BeginLuminosityBlockProducer : public virtual T {
336  public:
340  ~BeginLuminosityBlockProducer() noexcept(false) override{};
341 
342  private:
345  };
346 
347  template <typename T>
348  class EndLuminosityBlockProducer : public virtual T {
349  public:
353  ~EndLuminosityBlockProducer() noexcept(false) override{};
354 
355  private:
358  };
359 
360  template <typename T, typename S>
361  class EndLuminosityBlockSummaryProducer : public LuminosityBlockSummaryCacheHolder<T, S> {
362  public:
364  : T(iPSet), LuminosityBlockSummaryCacheHolder<T, S>(iPSet) {}
368 
369  private:
373  }
374 
375  virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock&, edm::EventSetup const&, S const*) const = 0;
376 
377  // Do nothing because the cache is cleared in doEndLuminosityBlockProduce_
378  void maybeClearCache(LuminosityBlock const&) final {}
379  };
380 
381  template <typename T>
382  class Accumulator : public virtual T {
383  public:
384  Accumulator(edm::ParameterSet const& iPSet) : T(iPSet) {}
385  Accumulator() = default;
386  Accumulator(Accumulator const&) = delete;
387  Accumulator& operator=(Accumulator const&) = delete;
388  ~Accumulator() noexcept(false) override{};
389 
390  private:
391  bool hasAccumulator() const override { return true; }
392 
393  void produce(StreamID streamID, Event& ev, EventSetup const& es) const final { accumulate(streamID, ev, es); }
394 
395  virtual void accumulate(StreamID streamID, Event const& ev, EventSetup const& es) const = 0;
396  };
397  } // namespace impl
398  } // namespace limited
399 } // namespace edm
400 
401 #endif
edm::limited::impl::RunCacheHolder::globalEndRun
virtual void globalEndRun(edm::Run const &, edm::EventSetup const &) const =0
edm::limited::impl::RunSummaryCacheHolder
Definition: implementors.h:172
edm::limited::impl::EndLuminosityBlockSummaryProducer
Definition: implementors.h:202
edm::limited::impl::InputProcessBlockCacheHolder::InputProcessBlockCacheHolder
InputProcessBlockCacheHolder(edm::ParameterSet const &iPSet)
Definition: implementors.h:94
edm::StreamID
Definition: StreamID.h:30
edm::limited::impl::LuminosityBlockSummaryCacheHolder::doBeginLuminosityBlockSummary_
void doBeginLuminosityBlockSummary_(edm::LuminosityBlock const &lb, EventSetup const &c) final
Definition: implementors.h:217
edm::limited::impl::EndLuminosityBlockProducer::~EndLuminosityBlockProducer
~EndLuminosityBlockProducer() noexcept(false) override
Definition: implementors.h:353
edm::limited::impl::StreamCacheHolder::streamBeginRun
virtual void streamBeginRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
Definition: implementors.h:77
edm::limited::impl::InputProcessBlockCacheHolder::operator=
InputProcessBlockCacheHolder & operator=(InputProcessBlockCacheHolder const &)=delete
edm::limited::impl::StreamCacheHolder::beginStream
virtual std::unique_ptr< C > beginStream(edm::StreamID) const =0
edm::limited::impl::EndRunProducer::doEndRunProduce_
void doEndRunProduce_(Run &rp, EventSetup const &c) final
Definition: implementorsMethods.h:57
edm::limited::impl::LuminosityBlockSummaryCacheHolder::preallocLumisSummary
void preallocLumisSummary(unsigned int iNLumis) final
Definition: implementors.h:213
edm::limited::impl::RunSummaryCacheHolder::doEndRunSummary_
void doEndRunSummary_(Run const &rp, EventSetup const &c) final
Definition: implementors.h:189
edm::limited::impl::RunCacheHolder::~RunCacheHolder
~RunCacheHolder() noexcept(false) override
Definition: implementors.h:121
funct::false
false
Definition: Factorize.h:29
edm::limited::impl::BeginLuminosityBlockProducer::BeginLuminosityBlockProducer
BeginLuminosityBlockProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:337
edm::limited::impl::EndRunSummaryProducer::~EndRunSummaryProducer
~EndRunSummaryProducer() noexcept(false) override
Definition: implementors.h:324
edm::limited::impl::LuminosityBlockCacheHolder::globalEndLuminosityBlock
virtual void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
edm::limited::impl::RunCacheHolder::doBeginRun_
void doBeginRun_(Run const &rp, EventSetup const &c) final
Definition: implementors.h:127
propagate_const.h
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
edm::limited::impl::BeginLuminosityBlockProducer::~BeginLuminosityBlockProducer
~BeginLuminosityBlockProducer() noexcept(false) override
Definition: implementors.h:340
LuminosityBlock.h
edm::LuminosityBlock::index
LuminosityBlockIndex index() const
Definition: LuminosityBlock.cc:28
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::limited::impl::RunCacheHolder::doEndRun_
void doEndRun_(Run const &rp, EventSetup const &c) final
Definition: implementors.h:128
edm::limited::impl::BeginRunProducer::operator=
BeginRunProducer & operator=(BeginRunProducer const &)=delete
edm::limited::impl::EndProcessBlockProducer::endProcessBlockProduce
virtual void endProcessBlockProduce(edm::ProcessBlock &) const =0
edm::limited::impl::BeginProcessBlockProducer::BeginProcessBlockProducer
BeginProcessBlockProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:265
edm::limited::impl::LuminosityBlockCacheHolder
Definition: implementors.h:140
edm::limited::impl::EndProcessBlockProducer
Definition: implementors.h:277
edm::limited::impl::EndLuminosityBlockSummaryProducer::operator=
EndLuminosityBlockSummaryProducer & operator=(EndLuminosityBlockSummaryProducer const &)=delete
edm::limited::impl::EndRunProducer::operator=
EndRunProducer & operator=(EndRunProducer const &)=delete
edm::propagate_const::get
constexpr element_type const * get() const
Definition: propagate_const.h:64
edm::limited::impl::BeginRunProducer
Definition: implementors.h:291
edm::limited::impl::StreamCacheHolder::streamEndRun
virtual void streamEndRun(edm::StreamID, edm::Run const &, edm::EventSetup const &) const
Definition: implementors.h:84
edm::limited::impl::LuminosityBlockCacheHolder::LuminosityBlockCacheHolder
LuminosityBlockCacheHolder(edm::ParameterSet const &iPSet)
Definition: implementors.h:142
ProcessBlockIndex.h
edm::limited::impl::RunCacheHolder::globalBeginRun
virtual std::shared_ptr< C > globalBeginRun(edm::Run const &, edm::EventSetup const &) const =0
edm::limited::impl::StreamCacheHolder::doEndStream_
void doEndStream_(StreamID id) final
Definition: implementors.h:62
edm::limited::impl::EndRunSummaryProducer::EndRunSummaryProducer
EndRunSummaryProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:321
edm::StreamID::value
unsigned int value() const
Definition: StreamID.h:43
edm::limited::impl::BeginLuminosityBlockProducer::operator=
BeginLuminosityBlockProducer & operator=(BeginLuminosityBlockProducer const &)=delete
edm::limited::impl::WatchProcessBlock::operator=
WatchProcessBlock & operator=(WatchProcessBlock const &)=delete
edm::limited::impl::LuminosityBlockSummaryCacheHolder::globalEndLuminosityBlockSummary
virtual void globalEndLuminosityBlockSummary(edm::LuminosityBlock const &, edm::EventSetup const &, C *) const =0
edm::limited::impl::EndLuminosityBlockProducer::doEndLuminosityBlockProduce_
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
Definition: implementorsMethods.h:67
edm::limited::impl::WatchProcessBlock::~WatchProcessBlock
~WatchProcessBlock() noexcept(false) override
Definition: implementors.h:252
edm::limited::impl::RunCacheHolder::RunCacheHolder
RunCacheHolder(edm::ParameterSet const &iPSet)
Definition: implementors.h:118
edm::limited::impl::RunCacheHolder::cache_
edm::propagate_const< std::shared_ptr< C > > cache_
Definition: implementors.h:136
edm::limited::impl::EmptyType
Definition: implementors.h:39
edm::limited::impl::RunSummaryCacheHolder::streamEndRunSummary
virtual void streamEndRunSummary(StreamID, edm::Run const &, edm::EventSetup const &, C *) const =0
edm::limited::impl::LuminosityBlockCacheHolder::caches_
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:165
edm::limited::impl::BeginProcessBlockProducer
Definition: implementors.h:263
edm::limited::impl::StreamCacheHolder::doStreamBeginLuminosityBlock_
void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
Definition: implementors.h:69
edm::limited::impl::LuminosityBlockSummaryCacheHolder::doEndLuminosityBlockSummary_
void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c) final
Definition: implementors.h:225
edm::limited::impl::LuminosityBlockSummaryCacheHolder::LuminosityBlockSummaryCacheHolder
LuminosityBlockSummaryCacheHolder(edm::ParameterSet const &iPSet)
Definition: implementors.h:207
edm::propagate_const
Definition: propagate_const.h:32
edm::limited::impl::RunCacheHolder::runCache
C const * runCache(edm::RunIndex iID) const
Definition: implementors.h:124
edm::limited::impl::WatchProcessBlock::WatchProcessBlock
WatchProcessBlock(edm::ParameterSet const &iPSet)
Definition: implementors.h:249
edm::limited::impl::StreamCacheHolder::preallocStreams
void preallocStreams(unsigned int iNStreams) final
Definition: implementors.h:60
edm::limited::impl::BeginProcessBlockProducer::beginProcessBlockProduce
virtual void beginProcessBlockProduce(edm::ProcessBlock &) const =0
edm::LuminosityBlockIndex
Definition: LuminosityBlockIndex.h:33
edm::limited::impl::LuminosityBlockCacheHolder::globalBeginLuminosityBlock
virtual std::shared_ptr< C > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
edm::limited::impl::BeginLuminosityBlockProducer::globalBeginLuminosityBlockProduce
virtual void globalBeginLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) const =0
edm::limited::impl::LuminosityBlockCacheHolder::~LuminosityBlockCacheHolder
~LuminosityBlockCacheHolder() noexcept(false) override
Definition: implementors.h:145
edm::limited::impl::BeginLuminosityBlockProducer::doBeginLuminosityBlockProduce_
void doBeginLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
Definition: implementorsMethods.h:62
edm::limited::impl::EndRunSummaryProducer
Definition: implementors.h:169
edm::limited::impl::LuminosityBlockCacheHolder::doBeginLuminosityBlock_
void doBeginLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
Definition: implementors.h:153
edm::limited::impl::Accumulator::accumulate
virtual void accumulate(StreamID streamID, Event const &ev, EventSetup const &es) const =0
edm::limited::impl::Accumulator::~Accumulator
~Accumulator() noexcept(false) override
Definition: implementors.h:388
edm::limited::impl::EndProcessBlockProducer::operator=
EndProcessBlockProducer & operator=(EndProcessBlockProducer const &)=delete
edm::limited::impl::LuminosityBlockCacheHolder::luminosityBlockCache
C const * luminosityBlockCache(edm::LuminosityBlockIndex iID) const
Definition: implementors.h:148
edm::limited::impl::InputProcessBlockCacheHolder::caches_
std::vector< std::shared_ptr< C > > caches_
Definition: implementors.h:112
edm::limited::impl::EndRunProducer::~EndRunProducer
~EndRunProducer() noexcept(false) override
Definition: implementors.h:310
edm::limited::impl::LuminosityBlockCacheHolder::doEndLuminosityBlock_
void doEndLuminosityBlock_(LuminosityBlock const &lp, EventSetup const &c) final
Definition: implementors.h:156
edm::limited::impl::RunSummaryCacheHolder::operator=
RunSummaryCacheHolder< T, C > & operator=(RunSummaryCacheHolder< T, C > const &)=delete
edm::limited::impl::EndRunSummaryProducer::doEndRunProduce_
void doEndRunProduce_(Run &rp, EventSetup const &c) final
Definition: implementors.h:327
edm::limited::impl::RunSummaryCacheHolder::RunSummaryCacheHolder
RunSummaryCacheHolder(edm::ParameterSet const &iPSet)
Definition: implementors.h:174
edm::limited::impl::RunSummaryCacheHolder::globalEndRunSummary
virtual void globalEndRunSummary(edm::Run const &, edm::EventSetup const &, C *) const =0
edm::limited::impl::StreamCacheHolder::doStreamEndLuminosityBlock_
void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c) final
Definition: implementors.h:72
edm::limited::impl::InputProcessBlockCacheHolder::accessInputProcessBlock
virtual std::shared_ptr< C > accessInputProcessBlock(ProcessBlock const &) const =0
edm::limited::impl::RunSummaryCacheHolder::cache_
std::shared_ptr< C > cache_
Definition: implementors.h:197
edm::limited::impl::EndProcessBlockProducer::EndProcessBlockProducer
EndProcessBlockProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:279
edm::limited::impl::StreamCacheHolder::streamCache
C * streamCache(edm::StreamID iID) const
Definition: implementors.h:57
edm::limited::impl::WatchProcessBlock::doBeginProcessBlock_
void doBeginProcessBlock_(ProcessBlock const &) final
Definition: implementorsMethods.h:32
RunIndex.h
edm::limited::impl::Accumulator::Accumulator
Accumulator(edm::ParameterSet const &iPSet)
Definition: implementors.h:384
edm::limited::impl::Accumulator::operator=
Accumulator & operator=(Accumulator const &)=delete
edm::limited::impl::EndRunSummaryProducer::operator=
EndRunSummaryProducer & operator=(EndRunSummaryProducer const &)=delete
edm::limited::impl::EndProcessBlockProducer::doEndProcessBlockProduce_
void doEndProcessBlockProduce_(ProcessBlock &) final
Definition: implementorsMethods.h:47
edm::limited::impl::EmptyType::EmptyType
EmptyType(edm::ParameterSet const &)
Definition: implementors.h:41
edm::limited::impl::EndLuminosityBlockProducer
Definition: implementors.h:348
edm::limited::impl::LuminosityBlockSummaryCacheHolder::doStreamEndLuminosityBlockSummary_
void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lb, EventSetup const &c) final
Definition: implementors.h:221
edm::limited::impl::WatchProcessBlock
Definition: implementors.h:247
edm::ParameterSet
Definition: ParameterSet.h:47
edm::limited::impl::RunSummaryCacheHolder::globalBeginRunSummary
virtual std::shared_ptr< C > globalBeginRunSummary(edm::Run const &, edm::EventSetup const &) const =0
edm::limited::impl::RunSummaryCacheHolder::doStreamEndRunSummary_
void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c) final
Definition: implementors.h:184
edm::limited::impl::EndLuminosityBlockSummaryProducer::maybeClearCache
void maybeClearCache(LuminosityBlock const &) final
Definition: implementors.h:378
edm::limited::impl::EndRunProducer::globalEndRunProduce
virtual void globalEndRunProduce(edm::Run &, edm::EventSetup const &) const =0
edm::limited::impl::InputProcessBlockCacheHolder::doAccessInputProcessBlock_
void doAccessInputProcessBlock_(ProcessBlock const &pb) final
Definition: implementors.h:105
edm::limited::impl::LuminosityBlockSummaryCacheHolder::streamEndLuminosityBlockSummary
virtual void streamEndLuminosityBlockSummary(StreamID, edm::LuminosityBlock const &, edm::EventSetup const &, C *) const =0
edm::limited::impl::EndLuminosityBlockSummaryProducer::~EndLuminosityBlockSummaryProducer
~EndLuminosityBlockSummaryProducer() noexcept(false) override
Definition: implementors.h:367
edm::limited::impl::Accumulator
Definition: implementors.h:382
edm::limited::impl::Accumulator::produce
void produce(StreamID streamID, Event &ev, EventSetup const &es) const final
Definition: implementors.h:393
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:675
edm::limited::impl::LuminosityBlockSummaryCacheHolder::operator=
LuminosityBlockSummaryCacheHolder< T, C > & operator=(LuminosityBlockSummaryCacheHolder< T, C > const &)=delete
edm::limited::impl::EndLuminosityBlockProducer::globalEndLuminosityBlockProduce
virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) const =0
edm::limited::impl::StreamCacheHolder::StreamCacheHolder
StreamCacheHolder(edm::ParameterSet const &iPSet)
Definition: implementors.h:47
edm::limited::impl::StreamCacheHolder::caches_
std::vector< C * > caches_
Definition: implementors.h:88
mutex
static std::mutex mutex
Definition: Proxy.cc:8
edm::limited::impl::StreamCacheHolder::doStreamBeginRun_
void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c) final
Definition: implementors.h:67
edm::limited::impl::WatchProcessBlock::beginProcessBlock
virtual void beginProcessBlock(ProcessBlock const &) const
Definition: implementors.h:258
edm::limited::impl::BeginRunProducer::~BeginRunProducer
~BeginRunProducer() noexcept(false) override
Definition: implementors.h:296
edm::limited::impl::RunSummaryCacheHolder::mutex_
std::mutex mutex_
Definition: implementors.h:198
edm::global::impl::EndLuminosityBlockSummaryProducer
Definition: implementors.h:202
edm::limited::impl::BeginRunProducer::doBeginRunProduce_
void doBeginRunProduce_(Run &rp, EventSetup const &c) final
Definition: implementorsMethods.h:52
edm::EventSetup
Definition: EventSetup.h:58
edm::limited::impl::EndLuminosityBlockSummaryProducer::doEndLuminosityBlockProduce_
void doEndLuminosityBlockProduce_(LuminosityBlock &lb, EventSetup const &c) final
Definition: implementors.h:370
edm::limited::impl::EndRunProducer
Definition: implementors.h:305
edm::limited::impl::EndProcessBlockProducer::~EndProcessBlockProducer
~EndProcessBlockProducer() noexcept(false) override
Definition: implementors.h:282
edm::limited::impl::LuminosityBlockSummaryCacheHolder::globalBeginLuminosityBlockSummary
virtual std::shared_ptr< C > globalBeginLuminosityBlockSummary(edm::LuminosityBlock const &, edm::EventSetup const &) const =0
edm::limited::impl::WatchProcessBlock::endProcessBlock
virtual void endProcessBlock(ProcessBlock const &) const
Definition: implementors.h:259
edm::limited::impl::BeginLuminosityBlockProducer
Definition: implementors.h:335
edm::limited::impl::InputProcessBlockCacheHolder
Definition: implementors.h:92
impl
Definition: trackAlgoPriorityOrder.h:18
edm::limited::impl::EndLuminosityBlockProducer::operator=
EndLuminosityBlockProducer & operator=(EndLuminosityBlockProducer const &)=delete
edm::limited::impl::StreamCacheHolder::streamEndLuminosityBlock
virtual void streamEndLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
Definition: implementors.h:81
edm::limited::impl::EndLuminosityBlockSummaryProducer::EndLuminosityBlockSummaryProducer
EndLuminosityBlockSummaryProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:363
edm::limited::impl::BeginProcessBlockProducer::~BeginProcessBlockProducer
~BeginProcessBlockProducer() noexcept(false) override
Definition: implementors.h:268
gen::C
C
Definition: PomwigHadronizer.cc:78
edm::limited::impl::WatchProcessBlock::doEndProcessBlock_
void doEndProcessBlock_(ProcessBlock const &) final
Definition: implementorsMethods.h:37
Frameworkfwd.h
T
long double T
Definition: Basic3DVectorLD.h:48
edm::limited::impl::EndRunProducer::EndRunProducer
EndRunProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:307
edm::limited::impl::EndLuminosityBlockSummaryProducer::globalEndLuminosityBlockProduce
virtual void globalEndLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &, S const *) const =0
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
edm::limited::impl::StreamCacheHolder::~StreamCacheHolder
~StreamCacheHolder() override
Definition: implementors.h:50
edm::limited::impl::RunSummaryCacheHolder::~RunSummaryCacheHolder
~RunSummaryCacheHolder() noexcept(false) override
Definition: implementors.h:177
edm::limited::impl::StreamCacheHolder
Definition: implementors.h:45
edm::limited::impl::StreamCacheHolder::streamBeginLuminosityBlock
virtual void streamBeginLuminosityBlock(edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const
Definition: implementors.h:78
edm::limited::impl::StreamCacheHolder::doBeginStream_
void doBeginStream_(StreamID id) final
Definition: implementors.h:61
edm::RunIndex
Definition: RunIndex.h:32
LuminosityBlockIndex.h
edm::limited::impl::LuminosityBlockSummaryCacheHolder::maybeClearCache
virtual void maybeClearCache(LuminosityBlock const &lb)
Definition: implementors.h:239
edm::limited::impl::InputProcessBlockCacheHolder::~InputProcessBlockCacheHolder
~InputProcessBlockCacheHolder() noexcept(false) override
Definition: implementors.h:97
S
Definition: CSCDBL1TPParametersExtended.h:16
edm::limited::impl::BeginRunProducer::globalBeginRunProduce
virtual void globalBeginRunProduce(edm::Run &, edm::EventSetup const &) const =0
edm::limited::impl::StreamCacheHolder::operator=
StreamCacheHolder< T, C > & operator=(StreamCacheHolder< T, C > const &)=delete
edm::limited::impl::LuminosityBlockSummaryCacheHolder
Definition: implementors.h:205
edm::limited::impl::RunCacheHolder
Definition: implementors.h:116
edm::limited::impl::LuminosityBlockSummaryCacheHolder::caches_
std::unique_ptr< std::shared_ptr< C >[]> caches_
Definition: implementors.h:242
edm::limited::impl::RunSummaryCacheHolder::doBeginRunSummary_
void doBeginRunSummary_(edm::Run const &rp, EventSetup const &c) final
Definition: implementors.h:181
edm::limited::impl::Accumulator::Accumulator
Accumulator()=default
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
edm::limited::impl::BeginProcessBlockProducer::operator=
BeginProcessBlockProducer & operator=(BeginProcessBlockProducer const &)=delete
edm::limited::impl::LuminosityBlockCacheHolder::preallocLumis
void preallocLumis(unsigned int iNLumis) final
Definition: implementors.h:151
edm::limited::impl::LuminosityBlockSummaryCacheHolder::~LuminosityBlockSummaryCacheHolder
~LuminosityBlockSummaryCacheHolder() noexcept(false) override
Definition: implementors.h:210
edm::Event
Definition: Event.h:73
edm::limited::impl::RunCacheHolder::operator=
RunCacheHolder< T, C > & operator=(RunCacheHolder< T, C > const &)=delete
StreamID.h
edm::limited::impl::LuminosityBlockCacheHolder::operator=
LuminosityBlockCacheHolder< T, C > & operator=(LuminosityBlockCacheHolder< T, C > const &)=delete
edm::ProcessBlock
Definition: ProcessBlock.h:36
edm::limited::impl::EndRunSummaryProducer::globalEndRunProduce
virtual void globalEndRunProduce(edm::Run &, edm::EventSetup const &, C const *) const =0
edm::limited::impl::StreamCacheHolder::endStream
virtual void endStream(edm::StreamID) const
Definition: implementors.h:85
edm::limited::impl::BeginProcessBlockProducer::doBeginProcessBlockProduce_
void doBeginProcessBlockProduce_(ProcessBlock &) final
Definition: implementorsMethods.h:42
edm::limited::impl::EndLuminosityBlockProducer::EndLuminosityBlockProducer
EndLuminosityBlockProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:350
edm::limited::impl::BeginRunProducer::BeginRunProducer
BeginRunProducer(edm::ParameterSet const &iPSet)
Definition: implementors.h:293
edm::limited::impl::StreamCacheHolder::doStreamEndRun_
void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c) final
Definition: implementors.h:68
edm::limited::impl::LuminosityBlockSummaryCacheHolder::mutex_
std::mutex mutex_
Definition: implementors.h:243
edm::limited::impl::Accumulator::hasAccumulator
bool hasAccumulator() const override
Definition: implementors.h:391