CMS 3D CMS Logo

PuttableSourceBase.h
Go to the documentation of this file.
1 #ifndef FWCore_Sources_PuttableSourceBase_h
2 #define FWCore_Sources_PuttableSourceBase_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Sources
6 // Class : PuttableSourceBase
7 //
16 //
17 // Original Author: root
18 // Created: Tue, 26 Sep 2017 20:51:50 GMT
19 //
20 
21 // system include files
22 
23 // user include files
27 
28 // forward declarations
29 namespace edm {
30  class PuttableSourceBase : public InputSource, public ProducerBase {
31  public:
33 
34  // ---------- const member functions ---------------------
35 
36  // ---------- static member functions --------------------
37 
38  // ---------- member functions ---------------------------
41  void registerProducts() final;
42 
43  bool hasAbilityToProduceInBeginRuns() const final { return true; }
44 
45  bool hasAbilityToProduceInBeginLumis() const final { return true; }
46 
47  protected:
48  //If inheriting class overrides, they need to call this function as well
49  void beginJob() override;
50 
51  private:
52  void doBeginLumi(LuminosityBlockPrincipal& lbp, ProcessContext const*) override;
53  void doBeginRun(RunPrincipal& rp, ProcessContext const*) override;
54 
55  virtual void beginRun(Run&);
57 
58  PuttableSourceBase(const PuttableSourceBase&) = delete;
59 
61 
62  // ---------- member data --------------------------------
63  };
64 } // namespace edm
65 
66 #endif
virtual void beginRun(Run &)
void beginJob() override
Begin protected makes it easier to do template programming.
void doBeginLumi(LuminosityBlockPrincipal &lbp, ProcessContext const *) override
Called by framework at beginning of lumi block.
void registerProducts() final
Register any produced products.
void registerProducts(ProducerBase *, ProductRegistry *, ModuleDescription const &)
Definition: ProducerBase.cc:57
void resolvePutIndicies(BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
Definition: ProducerBase.cc:79
virtual void beginLuminosityBlock(LuminosityBlock &)
bool hasAbilityToProduceInBeginRuns() const final
void doBeginRun(RunPrincipal &rp, ProcessContext const *) override
Called by framework at beginning of run.
bool hasAbilityToProduceInBeginLumis() const final
PuttableSourceBase(ParameterSet const &, InputSourceDescription const &)
HLT enums.
PuttableSourceBase & operator=(const PuttableSourceBase &)=delete
Definition: Run.h:45