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:
53  ~EventForOutput() override;
54 
55  EventAuxiliary const& eventAuxiliary() const { return aux_; }
56  EventID const& id() const { return aux_.id(); }
57  EventNumber_t event() const { return aux_.event(); }
58  LuminosityBlockNumber_t luminosityBlock() const { return aux_.luminosityBlock(); }
59  Timestamp const& time() const { return aux_.time(); }
60 
62  StreamID streamID() const { return streamID_; }
63 
64  LuminosityBlockForOutput const& getLuminosityBlock() const { return *luminosityBlock_; }
65 
66  RunForOutput const& getRun() const;
67 
68  RunNumber_t run() const { return id().run(); }
69 
70  BranchListIndexes const& branchListIndexes() const;
71 
72  EventSelectionIDVector const& eventSelectionIDs() const;
73 
74  ProductProvenanceRetriever const* productProvenanceRetrieverPtr() const;
75 
76  private:
77  friend class edmtest::TestOutputModule; // For testing
78 
79  EventPrincipal const& eventPrincipal() const;
80 
82  std::shared_ptr<LuminosityBlockForOutput const> const luminosityBlock_;
83 
85  };
86 } // namespace edm
87 #endif
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