test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
StreamerOutputModule.h
Go to the documentation of this file.
1 #ifndef IOPool_Streamer_StreamerOutputModule_h
2 #define IOPool_Streamer_StreamerOutputModule_h
3 
7 
8 namespace edm {
9  template<typename Consumer>
11 
20  public:
21  explicit StreamerOutputModule(ParameterSet const& ps);
22  virtual ~StreamerOutputModule();
23  static void fillDescriptions(ConfigurationDescriptions& descriptions);
24 
25  private:
26  virtual void start() override;
27  virtual void stop() override;
28  virtual void doOutputHeader(InitMsgBuilder const& init_message) override;
29  virtual void doOutputEvent(EventMsgBuilder const& msg) override;
32 
33  private:
35  }; //end-of-class-def
36 
37  template<typename Consumer>
39  edm::one::OutputModuleBase::OutputModuleBase(ps),
41  c_(new Consumer(ps))
42  {
43  }
44 
45  template<typename Consumer>
47 
48  template<typename Consumer>
49  void
51  c_->start();
52  }
53 
54  template<typename Consumer>
55  void
57  c_->stop();
58  }
59 
60  template<typename Consumer>
61  void
63  c_->doOutputHeader(init_message);
64  }
65 
66 //______________________________________________________________________________
67  template<typename Consumer>
68  void
70  c_->doOutputEvent(msg); // You can't use msg in StreamerOutputModule after this point
71  }
72 
73  template<typename Consumer>
74  void
76 
77  template<typename Consumer>
78  void
80 
81  template<typename Consumer>
82  void
86  Consumer::fillDescription(desc);
87  descriptions.add("streamerOutput", desc);
88  }
89 } // end of namespace-edm
90 
91 #endif
static void fillDescription(ParameterSetDescription &desc)
virtual void doOutputEvent(EventMsgBuilder const &msg) override
virtual void doOutputHeader(InitMsgBuilder const &init_message) override
virtual void stop() override
virtual void beginLuminosityBlock(edm::LuminosityBlockPrincipal const &, edm::ModuleCallingContext const *) override
StreamerOutputModule(ParameterSet const &ps)
virtual void start() override
static void fillDescriptions(ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
virtual void endLuminosityBlock(edm::LuminosityBlockPrincipal const &, edm::ModuleCallingContext const *) override
edm::propagate_const< std::unique_ptr< Consumer > > c_