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  {
43 
44  public:
45  typedef CacheContexts<T...> CacheTypes;
46 
47  typedef typename CacheTypes::GlobalCache GlobalCache;
48  typedef typename CacheTypes::RunCache RunCache;
49  typedef typename CacheTypes::LuminosityBlockCache LuminosityBlockCache;
52  RunCache,
53  GlobalCache> LuminosityBlockContext;
54  typedef typename CacheTypes::RunSummaryCache RunSummaryCache;
55  typedef typename CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache;
56 
58 
59 
60  bool hasAbilityToProduceInRuns() const final {
62  }
63 
64  bool hasAbilityToProduceInLumis() const final {
66  }
67 
68  EDProducer() = default;
69  //virtual ~EDProducer();
70 
71  // ---------- const member functions ---------------------
72 
73  // ---------- static member functions --------------------
74 
75  // ---------- member functions ---------------------------
76 
77  private:
78  EDProducer(const EDProducer&) = delete; // stop default
79 
80  const EDProducer& operator=(const EDProducer&) = delete; // stop default
81 
82  void doAcquire_(Event const& ev,
83  EventSetup const& es,
84  WaitingTaskWithArenaHolder& holder) override final {
85  doAcquireIfNeeded(this, ev, es, holder);
86  }
87 
88  // ---------- member data --------------------------------
89 
90  };
91 
92  }
93 }
94 
95 
96 #endif
LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > LuminosityBlockContext
Definition: EDProducer.h:53
type
Definition: HCALResponse.h:21
CacheTypes::GlobalCache GlobalCache
Definition: EDProducer.h:47
CacheTypes::RunCache RunCache
Definition: EDProducer.h:48
bool hasAbilityToProduceInRuns() const final
Definition: EDProducer.h:60
CacheContexts< T... > CacheTypes
Definition: EDProducer.h:45
bool ev
CacheTypes::RunSummaryCache RunSummaryCache
Definition: EDProducer.h:54
CacheTypes::LuminosityBlockCache LuminosityBlockCache
Definition: EDProducer.h:49
void doAcquire_(Event const &ev, EventSetup const &es, WaitingTaskWithArenaHolder &holder) override final
Definition: EDProducer.h:82
AbilityChecker< T... > HasAbility
Definition: EDProducer.h:57
CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
Definition: EDProducer.h:55
const EDProducer & operator=(const EDProducer &)=delete
bool hasAbilityToProduceInLumis() const final
Definition: EDProducer.h:64
RunContextT< RunCache, GlobalCache > RunContext
Definition: EDProducer.h:50
HLT enums.
void doAcquireIfNeeded(impl::ExternalWork *, Event const &, EventSetup const &, WaitingTaskWithArenaHolder &)
long double T