LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
EventPrincipal.h
Go to the documentation of this file.
1 #ifndef art_Framework_Principal_EventPrincipal_h
2 #define art_Framework_Principal_EventPrincipal_h
3 // vim: set sw=2 expandtab :
4 
11 #include "cetlib/exempt_ptr.h"
12 
13 #include <memory>
14 
15 namespace art {
16 
17  class EventPrincipal final : public Principal {
18  public:
21 
23  EventPrincipal(EventAuxiliary const& aux,
24  ProcessConfiguration const& pc,
25  cet::exempt_ptr<ProductTable const> presentProducts,
26  std::unique_ptr<DelayedReader>&& rtrv =
27  std::make_unique<NoDelayedReader>(),
28  bool lastInSubRun = false);
29 
30  Event makeEvent(ModuleContext const& mc);
31  Event makeEvent(ModuleContext const& mc) const;
32 
33  EventAuxiliary const& eventAux() const;
34  EventID const& eventID() const;
35  EventNumber_t event() const;
36  SubRunNumber_t subRun() const;
37  RunNumber_t run() const;
38 
39  Timestamp const& time() const;
40 
41  SubRunPrincipal const& subRunPrincipal() const;
42  void setSubRunPrincipal(cet::exempt_ptr<SubRunPrincipal const> srp);
44  bool isReal() const;
45  bool isLastInSubRun() const;
46 
47  void createGroupsForProducedProducts(ProductTables const& producedProducts);
49 
50  private:
51  cet::exempt_ptr<SubRunPrincipal const> subRunPrincipal_{nullptr};
54  };
55 
56 } // namespace art
57 
58 // Local Variables:
59 // mode: c++
60 // End:
61 
62 #endif /* art_Framework_Principal_EventPrincipal_h */
SubRunNumber_t subRun() const
SubRunPrincipal const & subRunPrincipal() const
EventAuxiliary aux_
RunNumber_t run() const
Event makeEvent(ModuleContext const &mc)
EventAuxiliary::ExperimentType ExperimentType() const
EventNumber_t event() const
void setSubRunPrincipal(cet::exempt_ptr< SubRunPrincipal const > srp)
bool isReal() const
Timestamp const & time() const
EventPrincipal(EventAuxiliary const &aux, ProcessConfiguration const &pc, cet::exempt_ptr< ProductTable const > presentProducts, std::unique_ptr< DelayedReader > &&rtrv=std::make_unique< NoDelayedReader >(), bool lastInSubRun=false)
static constexpr BranchType branch_type
cet::exempt_ptr< SubRunPrincipal const > subRunPrincipal_
EventID const & eventID() const
bool isLastInSubRun() const
IDNumber_t< Level::SubRun > SubRunNumber_t
Definition: IDNumber.h:119
IDNumber_t< Level::Event > EventNumber_t
Definition: IDNumber.h:118
void createGroupsForProducedProducts(ProductTables const &producedProducts)
BranchType
Definition: BranchType.h:20
Definition: MVAAlg.h:12
static constexpr BranchType branch_type
EventAuxiliary const & eventAux() const
IDNumber_t< Level::Run > RunNumber_t
Definition: IDNumber.h:120