CMS 3D CMS Logo

EDAnalyzerBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_EDAnalyzerBase_h
2 #define FWCore_Framework_stream_EDAnalyzerBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : EDAnalyzerBase
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
29 
30 // forward declarations
31 namespace edm {
32  namespace stream {
33  class EDAnalyzerAdaptorBase;
34 
36  //This needs access to the parentage cache info
37  friend class EDAnalyzerAdaptorBase;
38 
39  public:
41 
43  EDAnalyzerBase(const EDAnalyzerBase&) = delete; // stop default
44  const EDAnalyzerBase& operator=(const EDAnalyzerBase&) = delete; // stop default
45  ~EDAnalyzerBase() override;
46 
47  static void fillDescriptions(ConfigurationDescriptions& descriptions);
48  static void prevalidate(ConfigurationDescriptions& descriptions);
49  static const std::string& baseType();
50 
51  // Warning: the returned moduleDescription will be invalid during construction
53 
55 
56  private:
58 
59  virtual void beginStream(StreamID) {}
60  virtual void beginRun(edm::Run const&, edm::EventSetup const&) {}
62  virtual void analyze(Event const&, EventSetup const&) = 0;
64  virtual void endRun(edm::Run const&, edm::EventSetup const&) {}
65  virtual void endStream() {}
66 
68  // ---------- member data --------------------------------
71  };
72 
73  } // namespace stream
74 } // namespace edm
75 
76 #endif
edm::StreamID
Definition: StreamID.h:30
edm::stream::EDAnalyzerBase::beginRun
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
Definition: EDAnalyzerBase.h:60
edm::stream::EDAnalyzerBase::beginLuminosityBlock
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: EDAnalyzerBase.h:61
edm::stream::EDAnalyzerBase::endLuminosityBlock
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: EDAnalyzerBase.h:63
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::stream::EDAnalyzerBase::ModuleType
EDAnalyzerAdaptorBase ModuleType
Definition: EDAnalyzerBase.h:40
edm::Run
Definition: Run.h:45
edm
HLT enums.
Definition: AlignableModifier.h:19
cms::cuda::stream
cudaStream_t stream
Definition: HistoContainer.h:57
edm::stream::EDAnalyzerBase::endRun
virtual void endRun(edm::Run const &, edm::EventSetup const &)
Definition: EDAnalyzerBase.h:64
EDAnalyzerAdaptor.h
edm::ModuleDescription
Definition: ModuleDescription.h:21
edm::ProductRegistry
Definition: ProductRegistry.h:37
ModuleDescription.h
edm::stream::EDAnalyzerBase::registerProductsAndCallbacks
void registerProductsAndCallbacks(EDAnalyzerBase const *, ProductRegistry *reg)
Definition: EDAnalyzerBase.cc:65
edm::EDConsumerBase
Definition: EDConsumerBase.h:70
edm::stream::EDAnalyzerBase::prevalidate
static void prevalidate(ConfigurationDescriptions &descriptions)
Definition: EDAnalyzerBase.cc:87
edm::stream::EDAnalyzerBase::beginStream
virtual void beginStream(StreamID)
Definition: EDAnalyzerBase.h:59
edm::stream::EDAnalyzerBase::endStream
virtual void endStream()
Definition: EDAnalyzerBase.h:65
edm::stream::EDAnalyzerBase::EDAnalyzerBase
EDAnalyzerBase()
Definition: EDAnalyzerBase.cc:37
edm::stream::EDAnalyzerBase::callWhenNewProductsRegistered
void callWhenNewProductsRegistered(std::function< void(BranchDescription const &)> const &func)
Definition: EDAnalyzerBase.cc:61
edm::stream::EDAnalyzerBase::callWhenNewProductsRegistered_
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
Definition: EDAnalyzerBase.h:69
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::stream::EDAnalyzerBase::moduleDescription
ModuleDescription const & moduleDescription() const
Definition: EDAnalyzerBase.h:52
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EDConsumerBase.h
edm::stream::EDAnalyzerBase::baseType
static const std::string & baseType()
Definition: EDAnalyzerBase.cc:91
edm::stream::EDAnalyzerBase::setModuleDescriptionPtr
void setModuleDescriptionPtr(ModuleDescription const *iDesc)
Definition: EDAnalyzerBase.h:67
edm::stream::EDAnalyzerBase::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EDAnalyzerBase.cc:81
edm::stream::EDAnalyzerAdaptorBase
Definition: EDAnalyzerAdaptorBase.h:63
edm::EventSetup
Definition: EventSetup.h:57
edm::stream::EDAnalyzerBase::moduleDescriptionPtr_
ModuleDescription const * moduleDescriptionPtr_
Definition: EDAnalyzerBase.h:70
TrackCollections2monitor_cff.func
func
Definition: TrackCollections2monitor_cff.py:359
edm::stream::EDAnalyzerBase::operator=
const EDAnalyzerBase & operator=(const EDAnalyzerBase &)=delete
edm::stream::EDAnalyzerBase::analyze
virtual void analyze(Event const &, EventSetup const &)=0
edm::stream::EDAnalyzerBase
Definition: EDAnalyzerBase.h:35
Frameworkfwd.h
HiBiasedCentrality_cfi.function
function
Definition: HiBiasedCentrality_cfi.py:4
ParameterSetfwd.h
edm::stream::EDAnalyzerBase::~EDAnalyzerBase
~EDAnalyzerBase() override
Definition: EDAnalyzerBase.cc:44
funct::void
TEMPL(T2) struct Divides void
Definition: Factorize.h:24
edm::BranchDescription
Definition: BranchDescription.h:32
edm::Event
Definition: Event.h:73