CMS 3D CMS Logo

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  ~StreamerOutputModule() override;
23  static void fillDescriptions(ConfigurationDescriptions& descriptions);
24 
25  private:
26  void start() override;
27  void stop() override;
28  void doOutputHeader(InitMsgBuilder const& init_message) override;
29  void doOutputEvent(EventMsgBuilder const& msg) override;
32 
33  private:
35  }; //end-of-class-def
36 
37  template<typename Consumer>
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
void endLuminosityBlock(edm::LuminosityBlockForOutput const &) override
static void fillDescription(ParameterSetDescription &desc)
void beginLuminosityBlock(edm::LuminosityBlockForOutput const &) override
void doOutputEvent(EventMsgBuilder const &msg) override
void doOutputHeader(InitMsgBuilder const &init_message) override
StreamerOutputModule(ParameterSet const &ps)
static void fillDescriptions(ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
tuple msg
Definition: mps_check.py:277
HLT enums.
edm::propagate_const< std::unique_ptr< Consumer > > c_