CMS 3D CMS Logo

EDProducer.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_limited_EDProducer_h
2 #define FWCore_Framework_limited_EDProducer_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : edm::limited::EDProducer
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 18 Jul 2013 11:51:07 GMT
19 //
20 
21 // system include files
22 
23 // user include files
26 
27 // forward declarations
28 
29 namespace edm {
30  namespace limited {
31  template <typename... T>
33  CheckAbility<edm::module::Abilities::kRunSummaryCache, T...>::kHasIt &
34  CheckAbility<edm::module::Abilities::kEndRunProducer, T...>::kHasIt,
35  CheckAbility<edm::module::Abilities::kLuminosityBlockSummaryCache, T...>::kHasIt &
36  CheckAbility<edm::module::Abilities::kEndLuminosityBlockProducer, T...>::kHasIt,
37  T>::Type...,
38  public virtual EDProducerBase {
39  public:
41  : EDProducerBase(iPSet),
42  producer::SpecializeAbilityToImplementor<
43  CheckAbility<edm::module::Abilities::kRunSummaryCache, T...>::kHasIt &
44  CheckAbility<edm::module::Abilities::kEndRunProducer, T...>::kHasIt,
45  CheckAbility<edm::module::Abilities::kLuminosityBlockSummaryCache, T...>::kHasIt &
46  CheckAbility<edm::module::Abilities::kEndLuminosityBlockProducer, T...>::kHasIt,
47  T>::Type(iPSet)... {}
48 
49  // ---------- const member functions ---------------------
50  bool wantsGlobalRuns() const final { return WantsGlobalRunTransitions<T...>::value; }
52  bool wantsStreamRuns() const final { return WantsStreamRunTransitions<T...>::value; }
54 
56 
58 
59  // ---------- static member functions --------------------
60 
61  // ---------- member functions ---------------------------
62 
63  private:
64  EDProducer(const EDProducer&) = delete;
65 
66  const EDProducer& operator=(const EDProducer&) = delete;
67 
68  // ---------- member data --------------------------------
69  };
70 
71  } // namespace limited
72 } // namespace edm
73 
74 #endif
bool hasAbilityToProduceInRuns() const final
Definition: EDProducer.h:55
const EDProducer & operator=(const EDProducer &)=delete
bool wantsStreamRuns() const final
Definition: EDProducer.h:52
bool hasAbilityToProduceInLumis() const final
Definition: EDProducer.h:57
EDProducer(edm::ParameterSet const &iPSet)
Definition: EDProducer.h:40
bool wantsGlobalLuminosityBlocks() const final
Definition: EDProducer.h:51
bool wantsGlobalRuns() const final
Definition: EDProducer.h:50
bool wantsStreamLuminosityBlocks() const final
Definition: EDProducer.h:53
HLT enums.
long double T
Definition: vlib.h:208