CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
StreamerOutputModuleBase.h
Go to the documentation of this file.
1 #ifndef IOPool_Streamer_StreamerOutputModuleBase_h
2 #define IOPool_Streamer_StreamerOutputModuleBase_h
3 
7 #include <memory>
8 #include <vector>
9 
10 class InitMsgBuilder;
11 class EventMsgBuilder;
12 namespace edm {
13  class ModuleCallingContext;
15 
17  public:
18  explicit StreamerOutputModuleBase(ParameterSet const& ps);
19  virtual ~StreamerOutputModuleBase();
20  static void fillDescription(ParameterSetDescription & desc);
21 
22  private:
23  virtual void beginRun(RunPrincipal const&, ModuleCallingContext const*) override;
24  virtual void endRun(RunPrincipal const&, ModuleCallingContext const*) override;
25  virtual void beginJob() override;
26  virtual void endJob() override;
27  virtual void writeRun(RunPrincipal const&, ModuleCallingContext const*) override;
28  virtual void writeLuminosityBlock(LuminosityBlockPrincipal const&, ModuleCallingContext const*) override;
29  virtual void write(EventPrincipal const& e, ModuleCallingContext const*) override;
30 
31  virtual void start() const = 0;
32  virtual void stop() const = 0;
33  virtual void doOutputHeader(InitMsgBuilder const& init_message) const = 0;
34  virtual void doOutputEvent(EventMsgBuilder const& msg) const = 0;
35 
36  std::auto_ptr<InitMsgBuilder> serializeRegistry();
37  std::auto_ptr<EventMsgBuilder> serializeEvent(EventPrincipal const& e, ModuleCallingContext const* mcc);
38  void setHltMask(EventPrincipal const& e, ModuleCallingContext const*);
39  void setLumiSection();
40 
41  private:
43 
47 
48  // test luminosity sections
51 
53 
55 
56  //Event variables, made class memebers to avoid re instatiation for each event.
57  unsigned int hltsize_;
59  std::vector<bool> l1bit_;
60  std::vector<unsigned char> hltbits_;
62  char host_name_[255];
63 
66  }; //end-of-class-def
67 } // end of namespace-edm
68 
69 #endif
static void fillDescription(ParameterSetDescription &desc)
virtual void doOutputHeader(InitMsgBuilder const &init_message) const =0
std::vector< std::string > Strings
Definition: MsgTools.h:18
std::auto_ptr< InitMsgBuilder > serializeRegistry()
virtual void doOutputEvent(EventMsgBuilder const &msg) const =0
virtual void stop() const =0
virtual void writeRun(RunPrincipal const &, ModuleCallingContext const *) override
virtual void writeLuminosityBlock(LuminosityBlockPrincipal const &, ModuleCallingContext const *) override
virtual void write(EventPrincipal const &e, ModuleCallingContext const *) override
virtual void start() const =0
unsigned int uint32
Definition: MsgTools.h:13
void setHltMask(EventPrincipal const &e, ModuleCallingContext const *)
StreamerOutputModuleBase(ParameterSet const &ps)
SelectedProducts const * selections_
std::auto_ptr< EventMsgBuilder > serializeEvent(EventPrincipal const &e, ModuleCallingContext const *mcc)
virtual void beginRun(RunPrincipal const &, ModuleCallingContext const *) override
std::vector< BranchDescription const * > SelectedProducts
virtual void endRun(RunPrincipal const &, ModuleCallingContext const *) override
std::vector< unsigned char > hltbits_