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 
64 
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, EventSetup const& es, WaitingTaskWithArenaHolder& holder) final {
83  doAcquireIfNeeded(this, ev, es, holder);
84  }
85 
86  // ---------- member data --------------------------------
87  };
88 
89  } // namespace stream
90 } // namespace edm
91 
92 #endif
edm::stream::EDProducer::operator=
const EDProducer & operator=(const EDProducer &)=delete
edm::stream::EDProducer::RunContext
RunContextT< RunCache, GlobalCache > RunContext
Definition: EDProducer.h:48
edm::stream::CacheContexts
Definition: CacheContexts.h:71
edm::stream::AbilityToImplementor
Definition: AbilityToImplementor.h:31
AbilityChecker.h
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::HasAbilityToProduceInEndRuns
Definition: moduleAbilities.h:202
cms::cuda::stream
cudaStream_t stream
Definition: HistoContainer.h:57
edm::stream::EDProducer::hasAbilityToProduceInBeginLumis
bool hasAbilityToProduceInBeginLumis() const final
Definition: EDProducer.h:65
edm::stream::EDProducer::HasAbility
AbilityChecker< T... > HasAbility
Definition: EDProducer.h:53
edm::HasAbilityToProduceInEndLumis
Definition: moduleAbilities.h:212
AbilityToImplementor.h
ProducingModuleHelper.h
watchdog.const
const
Definition: watchdog.py:83
edm::stream::EDProducer::GlobalCache
CacheTypes::GlobalCache GlobalCache
Definition: EDProducer.h:45
edm::stream::RunContextT
Definition: Contexts.h:31
edm::WaitingTaskWithArenaHolder
Definition: WaitingTaskWithArenaHolder.h:34
susybsm::HSCParticleType::Type
Type
Definition: HSCParticle.h:20
edm::stream::EDProducer::hasAbilityToProduceInBeginRuns
bool hasAbilityToProduceInBeginRuns() const final
Definition: EDProducer.h:62
edm::stream::EDProducer::hasAbilityToProduceInEndRuns
bool hasAbilityToProduceInEndRuns() const final
Definition: EDProducer.h:63
CacheContexts.h
edm::HasAbilityToProduceInBeginLumis
Definition: moduleAbilities.h:207
edm::stream::EDProducer::doAcquire_
void doAcquire_(Event const &ev, EventSetup const &es, WaitingTaskWithArenaHolder &holder) final
Definition: EDProducer.h:82
edm::stream::EDProducer::EDProducer
EDProducer()=default
edm::stream::AbilityChecker
Definition: AbilityChecker.h:130
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
edm::stream::EDProducer::RunCache
CacheTypes::RunCache RunCache
Definition: EDProducer.h:46
edm::stream::EDProducer::hasAbilityToProduceInEndLumis
bool hasAbilityToProduceInEndLumis() const final
Definition: EDProducer.h:66
Contexts.h
edm::stream::EDProducer::LuminosityBlockContext
LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > LuminosityBlockContext
Definition: EDProducer.h:49
edm::stream::EDProducer::LuminosityBlockSummaryCache
CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
Definition: EDProducer.h:51
edm::stream::EDProducer
Definition: EDProducer.h:38
edm::EventSetup
Definition: EventSetup.h:58
edm::HasAbilityToProduceInBeginProcessBlocks
Definition: moduleAbilities.h:187
edm::HasAbilityToProduceInEndProcessBlocks
Definition: moduleAbilities.h:192
edm::stream::LuminosityBlockContextT
Definition: Contexts.h:43
edm::stream::EDProducer::LuminosityBlockCache
CacheTypes::LuminosityBlockCache LuminosityBlockCache
Definition: EDProducer.h:47
edm::stream::doAcquireIfNeeded
void doAcquireIfNeeded(impl::ExternalWork *, Event const &, EventSetup const &, WaitingTaskWithArenaHolder &)
Definition: ProducingModuleHelper.cc:15
Frameworkfwd.h
T
long double T
Definition: Basic3DVectorLD.h:48
relativeConstraints.value
value
Definition: relativeConstraints.py:53
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
EDProducerBase.h
edm::stream::EDProducer::hasAbilityToProduceInBeginProcessBlocks
bool hasAbilityToProduceInBeginProcessBlocks() const final
Definition: EDProducer.h:55
edm::stream::EDProducer::CacheTypes
CacheContexts< T... > CacheTypes
Definition: EDProducer.h:43
edm::stream::EDProducer::RunSummaryCache
CacheTypes::RunSummaryCache RunSummaryCache
Definition: EDProducer.h:50
edm::stream::EDProducer::hasAbilityToProduceInEndProcessBlocks
bool hasAbilityToProduceInEndProcessBlocks() const final
Definition: EDProducer.h:58
edm::HasAbilityToProduceInBeginRuns
Definition: moduleAbilities.h:197
edm::Event
Definition: Event.h:73