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() override;
44 
45  static void fillDescriptions(ConfigurationDescriptions& descriptions);
46  static void prevalidate(ConfigurationDescriptions& descriptions);
47  static const std::string& baseType();
48 
49  // Warning: the returned moduleDescription will be invalid during construction
51 
53 
54  private:
55  EDAnalyzerBase(const EDAnalyzerBase&) = delete; // stop default
56 
57  const EDAnalyzerBase& operator=(const EDAnalyzerBase&) = delete; // stop default
58 
60 
61  virtual void beginStream(StreamID) {}
62  virtual void beginRun(edm::Run const&, edm::EventSetup const&) {}
64  virtual void analyze(Event const&, EventSetup const&) = 0;
66  virtual void endRun(edm::Run const&, edm::EventSetup const&) {}
67  virtual void endStream() {}
68 
70  // ---------- member data --------------------------------
73  };
74 
75  } // namespace stream
76 } // namespace edm
77 
78 #endif
edm::StreamID
Definition: StreamID.h:30
edm::stream::EDAnalyzerBase::beginRun
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
Definition: EDAnalyzerBase.h:62
edm::stream::EDAnalyzerBase::beginLuminosityBlock
virtual void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: EDAnalyzerBase.h:63
edm::stream::EDAnalyzerBase::endLuminosityBlock
virtual void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
Definition: EDAnalyzerBase.h:65
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:66
EDAnalyzerAdaptor.h
edm::ModuleDescription
Definition: ModuleDescription.h:21
edm::ProductRegistry
Definition: ProductRegistry.h:34
ModuleDescription.h
edm::stream::EDAnalyzerBase::registerProductsAndCallbacks
void registerProductsAndCallbacks(EDAnalyzerBase const *, ProductRegistry *reg)
Definition: EDAnalyzerBase.cc:65
edm::EDConsumerBase
Definition: EDConsumerBase.h:62
edm::stream::EDAnalyzerBase::prevalidate
static void prevalidate(ConfigurationDescriptions &descriptions)
Definition: EDAnalyzerBase.cc:87
edm::stream::EDAnalyzerBase::beginStream
virtual void beginStream(StreamID)
Definition: EDAnalyzerBase.h:61
edm::stream::EDAnalyzerBase::endStream
virtual void endStream()
Definition: EDAnalyzerBase.h:67
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:71
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::stream::EDAnalyzerBase::moduleDescription
ModuleDescription const & moduleDescription() const
Definition: EDAnalyzerBase.h:50
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:69
edm::stream::EDAnalyzerBase::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EDAnalyzerBase.cc:81
edm::stream::EDAnalyzerAdaptorBase
Definition: EDAnalyzerAdaptorBase.h:62
edm::EventSetup
Definition: EventSetup.h:57
edm::stream::EDAnalyzerBase::moduleDescriptionPtr_
ModuleDescription const * moduleDescriptionPtr_
Definition: EDAnalyzerBase.h:72
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:29
edm::BranchDescription
Definition: BranchDescription.h:32
edm::Event
Definition: Event.h:73