CMS 3D CMS Logo

EDFilter.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_global_EDFilter_h
2 #define FWCore_Framework_global_EDFilter_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : edm::global::EDFilter
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Tue, 23 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 global {
31  template <typename... T>
32  class EDFilter : public virtual EDFilterBase,
34  CheckAbility<edm::module::Abilities::kRunSummaryCache, T...>::kHasIt &
35  CheckAbility<edm::module::Abilities::kEndRunProducer, T...>::kHasIt,
36  CheckAbility<edm::module::Abilities::kLuminosityBlockSummaryCache, T...>::kHasIt &
37  CheckAbility<edm::module::Abilities::kEndLuminosityBlockProducer, T...>::kHasIt,
38  T>::Type... {
39  public:
40  EDFilter() = default;
41 // We do this only in the case of the intel compiler as this might
42 // end up creating a lot of code bloat due to inline symbols being generated
43 // in each DSO which uses this header.
44 #ifdef __INTEL_COMPILER
45  virtual ~EDFilter() = default;
46 #endif
47  // ---------- const member functions ---------------------
48  bool wantsGlobalRuns() const final { return WantsGlobalRunTransitions<T...>::value; }
50 
51  bool wantsStreamRuns() const final { return WantsStreamRunTransitions<T...>::value; }
53 
55 
57 
58  // ---------- static member functions --------------------
59 
60  // ---------- member functions ---------------------------
61 
62  private:
63  EDFilter(const EDFilter&) = delete;
64 
65  const EDFilter& operator=(const EDFilter&) = delete;
66 
67  // ---------- member data --------------------------------
68  };
69 
70  } // namespace global
71 } // namespace edm
72 
73 #endif
bool wantsStreamLuminosityBlocks() const final
Definition: EDFilter.h:52
bool wantsStreamRuns() const final
Definition: EDFilter.h:51
bool hasAbilityToProduceInLumis() const final
Definition: EDFilter.h:56
bool hasAbilityToProduceInRuns() const final
Definition: EDFilter.h:54
bool wantsGlobalRuns() const final
Definition: EDFilter.h:48
bool wantsGlobalLuminosityBlocks() const final
Definition: EDFilter.h:49
HLT enums.
long double T
const EDFilter & operator=(const EDFilter &)=delete