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
30 
31 // forward declarations
32 namespace edm {
33 
34  class WaitingTaskWithArenaHolder;
35 
36  namespace stream {
37  namespace impl {
38  class EmptyType {};
39 
40  template <typename C>
42  public:
43  GlobalCacheHolder() = default;
44  GlobalCacheHolder(GlobalCacheHolder<C> const&) = delete;
46 
47  void setGlobalCache(C const* iCache) { cache_ = iCache; }
48 
49  protected:
50  C const* globalCache() const { return cache_; }
51 
52  private:
53  C const* cache_;
54  };
55 
56  template <typename C>
58  public:
59  InputProcessBlockCacheHolder() = default;
62  //void setProcessBlockCache(C const* iCache) { cache_ = iCache; }
63 
64  protected:
65  //C const* inputProcessBlockCache() const { return cache_; }
66 
67  private:
68  //C const* cache_;
69  };
70 
71  template <typename C>
73  public:
74  RunCacheHolder() = default;
75  RunCacheHolder(RunCacheHolder<C> const&) = delete;
77  void setRunCache(C const* iCache) { cache_ = iCache; }
78 
79  protected:
80  C const* runCache() const { return cache_; }
81 
82  private:
83  C const* cache_;
84  };
85 
86  template <typename C>
88  public:
89  LuminosityBlockCacheHolder() = default;
92  void setLuminosityBlockCache(C const* iCache) { cache_ = iCache; }
93 
94  protected:
95  C const* luminosityBlockCache() const { return cache_; }
96 
97  private:
98  C const* cache_;
99  };
100 
101  template <typename C>
103  public:
104  RunSummaryCacheHolder() = default;
107  virtual ~RunSummaryCacheHolder() noexcept(false) {}
108 
109  private:
110  virtual void endRunSummary(edm::Run const&, edm::EventSetup const&, C*) const = 0;
111  };
112 
113  template <typename C>
115  public:
120 
121  private:
122  virtual void endLuminosityBlockSummary(edm::LuminosityBlock const&, edm::EventSetup const&, C*) const = 0;
123  };
124 
126  public:
127  WatchProcessBlock() = default;
128  WatchProcessBlock(WatchProcessBlock const&) = delete;
130 
133  };
134 
136  public:
137  BeginProcessBlockProducer() = default;
140 
143  };
144 
146  public:
147  EndProcessBlockProducer() = default;
150 
153  };
154 
156  public:
157  BeginRunProducer() = default;
158  BeginRunProducer(BeginRunProducer const&) = delete;
159  BeginRunProducer& operator=(BeginRunProducer const&) = delete;
160 
163  };
164 
166  public:
167  EndRunProducer() = default;
168  EndRunProducer(EndRunProducer const&) = delete;
169  EndRunProducer& operator=(EndRunProducer const&) = delete;
170 
173  };
174 
176  public:
177  BeginLuminosityBlockProducer() = default;
180 
183  };
184 
186  public:
187  EndLuminosityBlockProducer() = default;
190 
193  };
194 
195  class ExternalWork {
196  public:
197  ExternalWork() = default;
198  ExternalWork(ExternalWork const&) = delete;
199  ExternalWork& operator=(ExternalWork const&) = delete;
200  virtual ~ExternalWork() noexcept(false){};
201 
202  virtual void acquire(Event const&, edm::EventSetup const&, WaitingTaskWithArenaHolder) = 0;
203  };
204 
205  class Accumulator : public EDProducerBase {
206  public:
207  Accumulator() = default;
208  Accumulator(Accumulator const&) = delete;
209  Accumulator& operator=(Accumulator const&) = delete;
210  ~Accumulator() noexcept(false) override{};
211 
212  virtual void accumulate(Event const& ev, EventSetup const& es) = 0;
213 
214  void produce(Event& ev, EventSetup const& es) final { accumulate(ev, es); }
215  };
216  } // namespace impl
217  } // namespace stream
218 } // namespace edm
219 
220 #endif
edm::stream::impl::LuminosityBlockSummaryCacheHolder::LuminosityBlockSummaryCacheHolder
LuminosityBlockSummaryCacheHolder()=default
edm::stream::impl::BeginProcessBlockProducer::operator=
BeginProcessBlockProducer & operator=(BeginProcessBlockProducer const &)=delete
edm::stream::impl::GlobalCacheHolder::cache_
C const * cache_
Definition: implementors.h:53
edm::stream::impl::BeginRunProducer::operator=
BeginRunProducer & operator=(BeginRunProducer const &)=delete
funct::false
false
Definition: Factorize.h:29
edm::stream::impl::RunSummaryCacheHolder::~RunSummaryCacheHolder
virtual ~RunSummaryCacheHolder() noexcept(false)
Definition: implementors.h:107
edm::stream::impl::EndRunProducer::EndRunProducer
EndRunProducer()=default
edm::stream::impl::RunCacheHolder::setRunCache
void setRunCache(C const *iCache)
Definition: implementors.h:77
edm::stream::impl::RunCacheHolder::cache_
C const * cache_
Definition: implementors.h:83
edm::stream::impl::EndProcessBlockProducer
Definition: implementors.h:145
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::stream::impl::ExternalWork::operator=
ExternalWork & operator=(ExternalWork const &)=delete
edm::stream::impl::RunSummaryCacheHolder
Definition: implementors.h:102
cms::cuda::stream
cudaStream_t stream
Definition: HistoContainer.h:57
edm::stream::EDProducerBase
Definition: EDProducerBase.h:44
edm::stream::impl::GlobalCacheHolder::GlobalCacheHolder
GlobalCacheHolder()=default
edm::stream::impl::ExternalWork::~ExternalWork
virtual ~ExternalWork() noexcept(false)
Definition: implementors.h:200
edm::stream::impl::LuminosityBlockCacheHolder::LuminosityBlockCacheHolder
LuminosityBlockCacheHolder()=default
edm::stream::impl::RunSummaryCacheHolder::operator=
RunSummaryCacheHolder< C > & operator=(RunSummaryCacheHolder< C > const &)=delete
edm::stream::impl::LuminosityBlockSummaryCacheHolder::endLuminosityBlockSummary
virtual void endLuminosityBlockSummary(edm::LuminosityBlock const &, edm::EventSetup const &, C *) const =0
edm::stream::impl::BeginRunProducer::BeginRunProducer
BeginRunProducer()=default
edm::stream::impl::BeginLuminosityBlockProducer
Definition: implementors.h:175
edm::stream::impl::RunSummaryCacheHolder::endRunSummary
virtual void endRunSummary(edm::Run const &, edm::EventSetup const &, C *) const =0
edm::stream::impl::RunCacheHolder::RunCacheHolder
RunCacheHolder()=default
edm::stream::impl::BeginProcessBlockProducer::BeginProcessBlockProducer
BeginProcessBlockProducer()=default
edm::stream::impl::WatchProcessBlock::operator=
WatchProcessBlock & operator=(WatchProcessBlock const &)=delete
edm::WaitingTaskWithArenaHolder
Definition: WaitingTaskWithArenaHolder.h:34
edm::stream::impl::LuminosityBlockSummaryCacheHolder::~LuminosityBlockSummaryCacheHolder
virtual ~LuminosityBlockSummaryCacheHolder() noexcept(false)
Definition: implementors.h:119
edm::stream::impl::EndRunProducer::operator=
EndRunProducer & operator=(EndRunProducer const &)=delete
edm::stream::impl::ExternalWork::ExternalWork
ExternalWork()=default
edm::stream::impl::EndLuminosityBlockProducer::EndLuminosityBlockProducer
EndLuminosityBlockProducer()=default
edm::stream::impl::LuminosityBlockCacheHolder
Definition: implementors.h:87
edm::stream::impl::BeginLuminosityBlockProducer::operator=
BeginLuminosityBlockProducer & operator=(BeginLuminosityBlockProducer const &)=delete
edm::stream::impl::GlobalCacheHolder::setGlobalCache
void setGlobalCache(C const *iCache)
Definition: implementors.h:47
edm::stream::impl::Accumulator::operator=
Accumulator & operator=(Accumulator const &)=delete
edm::stream::impl::Accumulator::produce
void produce(Event &ev, EventSetup const &es) final
Definition: implementors.h:214
edm::stream::impl::LuminosityBlockSummaryCacheHolder::operator=
LuminosityBlockSummaryCacheHolder< C > & operator=(LuminosityBlockSummaryCacheHolder< C > const &)=delete
edm::stream::impl::GlobalCacheHolder::operator=
GlobalCacheHolder< C > & operator=(GlobalCacheHolder< C > const &)=delete
RunIndex.h
edm::stream::impl::InputProcessBlockCacheHolder::InputProcessBlockCacheHolder
InputProcessBlockCacheHolder()=default
edm::stream::impl::WatchProcessBlock::WatchProcessBlock
WatchProcessBlock()=default
edm::stream::impl::GlobalCacheHolder
Definition: implementors.h:41
edm::stream::impl::EndLuminosityBlockProducer
Definition: implementors.h:185
edm::stream::impl::InputProcessBlockCacheHolder
Definition: implementors.h:57
edm::stream::impl::ExternalWork::acquire
virtual void acquire(Event const &, edm::EventSetup const &, WaitingTaskWithArenaHolder)=0
edm::stream::impl::InputProcessBlockCacheHolder::operator=
InputProcessBlockCacheHolder & operator=(InputProcessBlockCacheHolder const &)=delete
edm::stream::impl::EndProcessBlockProducer::EndProcessBlockProducer
EndProcessBlockProducer()=default
edm::stream::impl::WatchProcessBlock
Definition: implementors.h:125
edm::stream::impl::LuminosityBlockSummaryCacheHolder
Definition: implementors.h:114
edm::EventSetup
Definition: EventSetup.h:58
edm::stream::impl::EndLuminosityBlockProducer::operator=
EndLuminosityBlockProducer & operator=(EndLuminosityBlockProducer const &)=delete
edm::stream::impl::LuminosityBlockCacheHolder::operator=
LuminosityBlockCacheHolder< C > & operator=(LuminosityBlockCacheHolder< C > const &)=delete
edm::stream::impl::RunCacheHolder
Definition: implementors.h:72
edm::stream::impl::LuminosityBlockCacheHolder::setLuminosityBlockCache
void setLuminosityBlockCache(C const *iCache)
Definition: implementors.h:92
impl
Definition: trackAlgoPriorityOrder.h:18
gen::C
C
Definition: PomwigHadronizer.cc:78
Frameworkfwd.h
edm::stream::impl::BeginProcessBlockProducer
Definition: implementors.h:135
edm::stream::impl::Accumulator::accumulate
virtual void accumulate(Event const &ev, EventSetup const &es)=0
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
edm::stream::impl::Accumulator::~Accumulator
~Accumulator() noexcept(false) override
Definition: implementors.h:210
edm::stream::impl::ExternalWork
Definition: implementors.h:195
edm::stream::impl::EmptyType
Definition: implementors.h:38
EDProducerBase.h
LuminosityBlockIndex.h
edm::stream::impl::EndProcessBlockProducer::operator=
EndProcessBlockProducer & operator=(EndProcessBlockProducer const &)=delete
edm::stream::impl::RunCacheHolder::runCache
C const * runCache() const
Definition: implementors.h:80
edm::stream::impl::GlobalCacheHolder::globalCache
C const * globalCache() const
Definition: implementors.h:50
edm::stream::impl::LuminosityBlockCacheHolder::cache_
C const * cache_
Definition: implementors.h:98
edm::stream::impl::BeginLuminosityBlockProducer::BeginLuminosityBlockProducer
BeginLuminosityBlockProducer()=default
edm::stream::impl::RunCacheHolder::operator=
RunCacheHolder< C > & operator=(RunCacheHolder< C > const &)=delete
edm::Event
Definition: Event.h:73
StreamID.h
edm::stream::impl::RunSummaryCacheHolder::RunSummaryCacheHolder
RunSummaryCacheHolder()=default
edm::stream::impl::LuminosityBlockCacheHolder::luminosityBlockCache
C const * luminosityBlockCache() const
Definition: implementors.h:95
edm::stream::impl::BeginRunProducer
Definition: implementors.h:155
edm::stream::impl::Accumulator::Accumulator
Accumulator()=default
edm::stream::impl::EndRunProducer
Definition: implementors.h:165
edm::stream::impl::Accumulator
Definition: implementors.h:205