CMS 3D CMS Logo

EDFilterBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_EDFilterBase_h
2 #define FWCore_Framework_stream_EDFilterBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : EDFilterBase
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Fri, 02 Aug 2013 00:11:27 GMT
19 //
20 
21 // system include files
22 
23 // user include files
30 
31 // forward declarations
32 namespace edm {
33 
34  class ProductRegistry;
35  class ThinnedAssociationsHelper;
36  class WaitingTaskWithArenaHolder;
37 
38  namespace stream {
39  class EDFilterAdaptorBase;
40  template <typename>
41  class ProducingModuleAdaptorBase;
42 
44  //This needs access to the parentage cache info
45  friend class EDFilterAdaptorBase;
47 
48  public:
50 
51  EDFilterBase();
52  ~EDFilterBase() override;
53 
54  static void fillDescriptions(ConfigurationDescriptions& descriptions);
55  static void prevalidate(ConfigurationDescriptions& descriptions);
56  static const std::string& baseType();
57 
58  // Warning: the returned moduleDescription will be invalid during construction
60 
61  private:
62  EDFilterBase(const EDFilterBase&) = delete; // stop default
63 
64  const EDFilterBase& operator=(const EDFilterBase&) = delete; // stop default
65 
66  virtual void beginStream(StreamID) {}
67  virtual void beginRun(edm::Run const&, edm::EventSetup const&) {}
69  virtual bool filter(Event&, EventSetup const&) = 0;
71  virtual void endRun(edm::Run const&, edm::EventSetup const&) {}
72  virtual void endStream() {}
73 
75 
76  virtual void doAcquire_(Event const&, EventSetup const&, WaitingTaskWithArenaHolder&) = 0;
77 
79  // ---------- member data --------------------------------
80 
81  std::vector<BranchID> previousParentage_;
82  std::vector<BranchID> gotBranchIDsFromAcquire_;
85  };
86  } // namespace stream
87 } // namespace edm
88 #endif
virtual void beginStream(StreamID)
Definition: EDFilterBase.h:66
virtual void registerThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
Definition: EDFilterBase.h:74
virtual void endRun(edm::Run const &, edm::EventSetup const &)
Definition: EDFilterBase.h:71
ModuleDescription const & moduleDescription() const
Definition: EDFilterBase.h:59
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EDFilterBase.cc:66
EDFilterAdaptorBase ModuleType
Definition: EDFilterBase.h:49
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: EDFilterBase.h:68
static const std::string & baseType()
Definition: EDFilterBase.cc:76
std::vector< BranchID > gotBranchIDsFromAcquire_
Definition: EDFilterBase.h:82
ParentageID previousParentageId_
Definition: EDFilterBase.h:83
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
Definition: EDFilterBase.h:67
virtual bool filter(Event &, EventSetup const &)=0
std::vector< BranchID > previousParentage_
Definition: EDFilterBase.h:81
HLT enums.
ModuleDescription const * moduleDescriptionPtr_
Definition: EDFilterBase.h:84
static void prevalidate(ConfigurationDescriptions &descriptions)
Definition: EDFilterBase.cc:72
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: EDFilterBase.h:70
void setModuleDescriptionPtr(ModuleDescription const *iDesc)
Definition: EDFilterBase.h:78
const EDFilterBase & operator=(const EDFilterBase &)=delete
virtual void endStream()
Definition: EDFilterBase.h:72
Definition: Run.h:45
virtual void doAcquire_(Event const &, EventSetup const &, WaitingTaskWithArenaHolder &)=0