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