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::streamer {
9  template <typename Consumer>
19  public:
20  explicit StreamerOutputModule(ParameterSet const& ps);
21  ~StreamerOutputModule() override;
22  static void fillDescriptions(ConfigurationDescriptions& descriptions);
23 
24  private:
25  void start() override;
26  void stop() override;
27  void doOutputHeader(InitMsgBuilder const& init_message) override;
28  void doOutputEvent(EventMsgBuilder const& msg) override;
31 
32  private:
34  }; //end-of-class-def
35 
36  template <typename Consumer>
38  : edm::one::OutputModuleBase::OutputModuleBase(ps), StreamerOutputModuleBase(ps), c_(new Consumer(ps)) {}
39 
40  template <typename Consumer>
42 
43  template <typename Consumer>
45  c_->start();
46  }
47 
48  template <typename Consumer>
50  c_->stop();
51  }
52 
53  template <typename Consumer>
55  c_->doOutputHeader(init_message);
56  }
57 
58  //______________________________________________________________________________
59  template <typename Consumer>
61  c_->doOutputEvent(msg); // You can't use msg in StreamerOutputModule after this point
62  }
63 
64  template <typename Consumer>
66 
67  template <typename Consumer>
69 
70  template <typename Consumer>
74  Consumer::fillDescription(desc);
75  descriptions.add("streamerOutput", desc);
76  }
77 } // namespace edm::streamer
78 
79 #endif
edm::propagate_const< std::unique_ptr< Consumer > > c_
void beginLuminosityBlock(edm::LuminosityBlockForOutput const &) override
void doOutputEvent(EventMsgBuilder const &msg) override
static void fillDescriptions(ConfigurationDescriptions &descriptions)
static void fillDescription(ParameterSetDescription &desc)
void endLuminosityBlock(edm::LuminosityBlockForOutput const &) override
StreamerOutputModule(ParameterSet const &ps)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
tuple msg
Definition: mps_check.py:286
HLT enums.
void doOutputHeader(InitMsgBuilder const &init_message) override