CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
outputmoduleAbilityToImplementor.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_one_outputmoduleAbilityToImplementor_h
2 #define FWCore_Framework_one_outputmoduleAbilityToImplementor_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : outputmodule::AbilityToImplementor
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 09 May 2013 19:39:58 GMT
19 //
20 
21 // system include files
22 
23 // user include files
28 
29 // forward declarations
30 
31 namespace edm {
32  class FileBlock;
33  class ModuleCallingContext;
34 
35  namespace one {
36  namespace outputmodule {
37  class RunWatcher : public virtual OutputModuleBase {
38  public:
40  RunWatcher(RunWatcher const&) = delete;
41  RunWatcher& operator=(RunWatcher const&) = delete;
42 
43  private:
44  void doBeginRun_(RunPrincipal const& rp, ModuleCallingContext const*) override final;
45  void doEndRun_(RunPrincipal const& rp, ModuleCallingContext const*) override final;
46 
47 
48  virtual void beginRun(edm::RunPrincipal const&, ModuleCallingContext const*) = 0;
49  virtual void endRun(edm::RunPrincipal const&, ModuleCallingContext const*) = 0;
50  };
51 
52  class LuminosityBlockWatcher : public virtual OutputModuleBase {
53  public:
54  LuminosityBlockWatcher(edm::ParameterSet const&iPSet): OutputModuleBase(iPSet) {}
57 
58  private:
59  void doBeginLuminosityBlock_(LuminosityBlockPrincipal const& lbp, ModuleCallingContext const*) override final;
60  void doEndLuminosityBlock_(LuminosityBlockPrincipal const& lbp, ModuleCallingContext const*) override final;
61 
62  virtual void beginLuminosityBlock(edm::LuminosityBlockPrincipal const&, ModuleCallingContext const*) = 0;
63  virtual void endLuminosityBlock(edm::LuminosityBlockPrincipal const&, ModuleCallingContext const*) = 0;
64  };
65 
66  class InputFileWatcher : public virtual OutputModuleBase {
67  public:
68  InputFileWatcher(edm::ParameterSet const&iPSet): OutputModuleBase(iPSet) {}
69  InputFileWatcher(InputFileWatcher const&) = delete;
71 
72  private:
73  void doRespondToOpenInputFile_(FileBlock const&) override final;
74  void doRespondToCloseInputFile_(FileBlock const&) override final;
75 
76  virtual void respondToOpenInputFile(FileBlock const&) = 0;
77  virtual void respondToCloseInputFile(FileBlock const&) = 0;
78  };
79 
80  template<typename T> struct AbilityToImplementor;
81 
82  template<>
83  struct AbilityToImplementor<edm::one::SharedResources> {
85  };
86 
87  template<>
90  };
91 
92  template<>
95  };
96 
97  template<>
100  };
101 }
102  }
103 }
104 
105 
106 #endif
virtual void endRun(edm::RunPrincipal const &, ModuleCallingContext const *)=0
void doBeginRun_(RunPrincipal const &rp, ModuleCallingContext const *) overridefinal
edm::one::impl::SharedResourcesUser< edm::one::OutputModuleBase > Type
virtual void doRespondToCloseInputFile_(FileBlock const &)
virtual void doRespondToOpenInputFile_(FileBlock const &)
virtual void doBeginLuminosityBlock_(LuminosityBlockPrincipal const &, ModuleCallingContext const *)
virtual void doEndLuminosityBlock_(LuminosityBlockPrincipal const &, ModuleCallingContext const *)
string const
Definition: compareJSON.py:14
virtual void beginRun(edm::RunPrincipal const &, ModuleCallingContext const *)=0
void doEndRun_(RunPrincipal const &rp, ModuleCallingContext const *) overridefinal
RunWatcher & operator=(RunWatcher const &)=delete
long double T
def template
Definition: svgfig.py:520