CMS 3D CMS Logo

EDProducer.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_EDProducer_h
2 #define FWCore_Framework_stream_EDProducer_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : EDProducer
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 01 Aug 2013 21:41:42 GMT
19 //
20 
21 // system include files
22 
23 // user include files
31 // forward declarations
32 namespace edm {
33 
34  class WaitingTaskWithArenaHolder;
35 
36  namespace stream {
37  template <typename... T>
38  class EDProducer : public AbilityToImplementor<T>::Type...,
39  public std::conditional<CheckAbility<edm::module::Abilities::kAccumulator, T...>::kHasIt,
40  impl::EmptyType,
41  EDProducerBase>::type {
42  public:
43  typedef CacheContexts<T...> CacheTypes;
44 
45  typedef typename CacheTypes::GlobalCache GlobalCache;
46  typedef typename CacheTypes::RunCache RunCache;
47  typedef typename CacheTypes::LuminosityBlockCache LuminosityBlockCache;
50  typedef typename CacheTypes::RunSummaryCache RunSummaryCache;
51  typedef typename CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache;
52 
54 
57 
60 
61  EDProducer() = default;
62  //virtual ~EDProducer();
63 
64  // ---------- const member functions ---------------------
65 
66  // ---------- static member functions --------------------
67 
68  // ---------- member functions ---------------------------
69 
70  private:
71  EDProducer(const EDProducer&) = delete; // stop default
72 
73  const EDProducer& operator=(const EDProducer&) = delete; // stop default
74 
75  void doAcquire_(Event const& ev, EventSetup const& es, WaitingTaskWithArenaHolder& holder) final {
76  doAcquireIfNeeded(this, ev, es, holder);
77  }
78 
79  // ---------- member data --------------------------------
80  };
81 
82  } // namespace stream
83 } // namespace edm
84 
85 #endif
bool hasAbilityToProduceInBeginLumis() const final
Definition: EDProducer.h:58
LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > LuminosityBlockContext
Definition: EDProducer.h:49
type
Definition: HCALResponse.h:21
CacheTypes::GlobalCache GlobalCache
Definition: EDProducer.h:45
CacheTypes::RunCache RunCache
Definition: EDProducer.h:46
RunContextT< RunCache, GlobalCache > RunContext
Definition: EDProducer.h:48
CacheContexts< T... > CacheTypes
Definition: EDProducer.h:43
bool ev
bool hasAbilityToProduceInEndRuns() const final
Definition: EDProducer.h:56
CacheTypes::RunSummaryCache RunSummaryCache
Definition: EDProducer.h:50
void doAcquire_(Event const &ev, EventSetup const &es, WaitingTaskWithArenaHolder &holder) final
Definition: EDProducer.h:75
CacheTypes::LuminosityBlockCache LuminosityBlockCache
Definition: EDProducer.h:47
AbilityChecker< T... > HasAbility
Definition: EDProducer.h:53
CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
Definition: EDProducer.h:51
const EDProducer & operator=(const EDProducer &)=delete
bool hasAbilityToProduceInBeginRuns() const final
Definition: EDProducer.h:55
bool hasAbilityToProduceInEndLumis() const final
Definition: EDProducer.h:59
HLT enums.
void doAcquireIfNeeded(impl::ExternalWork *, Event const &, EventSetup const &, WaitingTaskWithArenaHolder &)
long double T