CMS 3D CMS Logo

EventForOutput.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_EventForOutput_h
2 #define FWCore_Framework_EventForOutput_h
3 
4 // -*- C++ -*-
5 //
6 // Package: Framework
7 // Class : EventForOutput
8 //
12 /*----------------------------------------------------------------------
13 ----------------------------------------------------------------------*/
14 
24 
31 
32 #include <memory>
33 #include <string>
34 #include <typeinfo>
35 #include <vector>
36 
37 class testEventGetRefBeforePut;
38 
39 namespace edmtest {
40  class TestOutputModule;
41 }
42 
43 namespace edm {
44 
45  class BranchDescription;
46  class ModuleCallingContext;
47  class ProductProvenanceRetriever;
48  class EDConsumerBase;
49 
51  public:
52  EventForOutput(EventPrincipal const& ep, ModuleDescription const& md,
53  ModuleCallingContext const*);
54  ~EventForOutput() override;
55 
56  EventAuxiliary const& eventAuxiliary() const {return aux_;}
57  EventID const& id() const {return aux_.id();}
58  EventNumber_t event() const {return aux_.event();}
59  LuminosityBlockNumber_t luminosityBlock() const {return aux_.luminosityBlock();}
60  Timestamp const& time() const {return aux_.time();}
61 
63  StreamID streamID() const {
64  return streamID_;
65  }
66 
69  return *luminosityBlock_;
70  }
71 
72  RunForOutput const&
73  getRun() const;
74 
76  run() const {return id().run();}
77 
78  BranchListIndexes const& branchListIndexes() const;
79 
80  EventSelectionIDVector const& eventSelectionIDs() const;
81 
82  ProductProvenanceRetriever const* productProvenanceRetrieverPtr() const;
83 
84  private:
85  friend class edmtest::TestOutputModule; // For testing
86 
87  EventPrincipal const&
88  eventPrincipal() const;
89 
91  std::shared_ptr<LuminosityBlockForOutput const> const luminosityBlock_;
92 
94  };
95 }
96 #endif
97 
EventID const & id() const
EventAuxiliary const & eventAuxiliary() const
RunNumber_t run() const
unsigned long long EventNumber_t
unsigned int LuminosityBlockNumber_t
std::vector< EventSelectionID > EventSelectionIDVector
std::vector< BranchListIndex > BranchListIndexes
LuminosityBlockForOutput const & getLuminosityBlock() const
Timestamp const & time() const
std::shared_ptr< LuminosityBlockForOutput const > const luminosityBlock_
StreamID streamID() const
HLT enums.
LuminosityBlockNumber_t luminosityBlock() const
unsigned int RunNumber_t
EventAuxiliary const & aux_
EventNumber_t event() const