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 
8 #include <memory>
9 #include <vector>
10 
11 class InitMsgBuilder;
12 class EventMsgBuilder;
13 namespace edm {
14  class ModuleCallingContext;
16 
18 
19  class StreamerOutputModuleBase : public one::OutputModule<one::WatchRuns, one::WatchLuminosityBlocks> {
20  public:
21  explicit StreamerOutputModuleBase(ParameterSet const& ps);
22  virtual ~StreamerOutputModuleBase();
23  static void fillDescription(ParameterSetDescription & desc);
24 
25  private:
26  virtual void beginRun(RunPrincipal const&, ModuleCallingContext const*) override;
27  virtual void endRun(RunPrincipal const&, ModuleCallingContext const*) override;
28  virtual void beginJob() override;
29  virtual void endJob() override;
30  virtual void writeRun(RunPrincipal const&, ModuleCallingContext const*) override;
31  virtual void writeLuminosityBlock(LuminosityBlockPrincipal const&, ModuleCallingContext const*) override;
32  virtual void write(EventPrincipal const& e, ModuleCallingContext const*) override;
33 
34  virtual void start() = 0;
35  virtual void stop() = 0;
36  virtual void doOutputHeader(InitMsgBuilder const& init_message) = 0;
37  virtual void doOutputEvent(EventMsgBuilder const& msg) = 0;
38 
39  std::auto_ptr<InitMsgBuilder> serializeRegistry();
40  std::auto_ptr<EventMsgBuilder> serializeEvent(EventPrincipal const& e, ModuleCallingContext const* mcc);
42  void setHltMask(EventPrincipal const& e, ModuleCallingContext const*);
43  void setLumiSection();
44 
45  private:
47 
51 
52  // test luminosity sections
55 
57 
59 
60  //Event variables, made class memebers to avoid re instatiation for each event.
61  unsigned int hltsize_;
63  std::vector<bool> l1bit_;
64  std::vector<unsigned char> hltbits_;
66  char host_name_[255];
67 
71  }; //end-of-class-def
72 } // end of namespace-edm
73 
74 #endif
Trig getTriggerResults(EDGetTokenT< TriggerResults > const &token, EventPrincipal const &ep, ModuleCallingContext const *) const
static void fillDescription(ParameterSetDescription &desc)
virtual void doOutputHeader(InitMsgBuilder const &init_message)=0
EventSelector::Strings Strings
std::auto_ptr< InitMsgBuilder > serializeRegistry()
detail::TriggerResultsBasedEventSelector::handle_t Trig
Definition: OutputModule.h:49
virtual void writeRun(RunPrincipal const &, ModuleCallingContext const *) override
virtual void writeLuminosityBlock(LuminosityBlockPrincipal const &, ModuleCallingContext const *) override
virtual void doOutputEvent(EventMsgBuilder const &msg)=0
virtual void write(EventPrincipal const &e, ModuleCallingContext const *) override
unsigned int uint32
Definition: MsgTools.h:13
void setHltMask(EventPrincipal const &e, ModuleCallingContext const *)
StreamerOutputModuleBase(ParameterSet const &ps)
SelectedProducts const * selections_
edm::EDGetTokenT< edm::TriggerResults > trToken_
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_