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 
56 
58 
59  EDProducer() = default;
60  //virtual ~EDProducer();
61 
62  // ---------- const member functions ---------------------
63 
64  // ---------- static member functions --------------------
65 
66  // ---------- member functions ---------------------------
67 
68  private:
69  EDProducer(const EDProducer&) = delete; // stop default
70 
71  const EDProducer& operator=(const EDProducer&) = delete; // stop default
72 
73  void doAcquire_(Event const& ev, EventSetup const& es, WaitingTaskWithArenaHolder& holder) override final {
74  doAcquireIfNeeded(this, ev, es, holder);
75  }
76 
77  // ---------- member data --------------------------------
78  };
79 
80  } // namespace stream
81 } // namespace edm
82 
83 #endif
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
bool hasAbilityToProduceInRuns() const final
Definition: EDProducer.h:55
CacheContexts< T... > CacheTypes
Definition: EDProducer.h:43
bool ev
CacheTypes::RunSummaryCache RunSummaryCache
Definition: EDProducer.h:50
CacheTypes::LuminosityBlockCache LuminosityBlockCache
Definition: EDProducer.h:47
void doAcquire_(Event const &ev, EventSetup const &es, WaitingTaskWithArenaHolder &holder) override final
Definition: EDProducer.h:73
AbilityChecker< T... > HasAbility
Definition: EDProducer.h:53
CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
Definition: EDProducer.h:51
const EDProducer & operator=(const EDProducer &)=delete
bool hasAbilityToProduceInLumis() const final
Definition: EDProducer.h:57
HLT enums.
void doAcquireIfNeeded(impl::ExternalWork *, Event const &, EventSetup const &, WaitingTaskWithArenaHolder &)
long double T