LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
RunPrincipal.cc
Go to the documentation of this file.
2 // vim: set sw=2:
3 
8 
9 namespace art {
10 
12  RunAuxiliary const& aux,
13  ProcessConfiguration const& pc,
14  cet::exempt_ptr<ProductTable const> presentProducts,
15  std::unique_ptr<BranchMapper>&& mapper,
16  std::unique_ptr<DelayedReader>&& rtrv)
17  : Principal{pc,
19  presentProducts,
20  std::move(mapper),
21  std::move(rtrv)}
22  , aux_{aux}
23  {
25  cet::exempt_ptr<EDProductGetterFinder const>{this});
26  if (ProductMetaData::instance().productProduced(InRun)) {
28  }
29  }
30 
31  ProcessHistoryID const&
33  {
34  return aux().processHistoryID_;
35  }
36 
37  void
39  {
40  return aux().setProcessHistoryID(phid);
41  }
42 
43  void
45  {
48  }
49 
50  void
52  std::unique_ptr<EDProduct>&& edp,
53  BranchDescription const& pd,
54  std::unique_ptr<ProductProvenance const>&& productProvenance,
55  RangeSet&& rs)
56  {
57  assert(edp);
58  branchMapper().insert(std::move(productProvenance));
60  gfactory::make_group(pd, pd.productID(), std::move(rs), std::move(edp)));
61  }
62 
63 } // namespace art
void setGroupFinder(cet::exempt_ptr< EDProductGetterFinder const > ep)
Definition: DelayedReader.h:38
void put(std::unique_ptr< EDProduct > &&, BranchDescription const &, std::unique_ptr< ProductProvenance const > &&, RangeSet &&)
Definition: RunPrincipal.cc:51
void setProcessHistoryID(ProcessHistoryID const &phid) const
Definition: RunAuxiliary.h:45
RunAuxiliary aux_
Definition: RunPrincipal.h:103
ProcessHistoryID const & processHistoryID() const override
Definition: RunPrincipal.cc:32
DelayedReader & productReader()
Definition: Principal.h:198
void addToProcessHistory()
Definition: Principal.cc:80
BranchMapper const & branchMapper() const
Definition: Principal.h:144
static ProductMetaData const & instance()
result_t insert(std::unique_ptr< ProductProvenance const > &&)
Definition: BranchMapper.cc:24
RunPrincipal(RunAuxiliary const &, ProcessConfiguration const &, cet::exempt_ptr< ProductTable const > presentProducts, std::unique_ptr< BranchMapper > &&=std::make_unique< BranchMapper >(), std::unique_ptr< DelayedReader > &&=std::make_unique< NoDelayedReader >())
Definition: RunPrincipal.cc:11
ProcessHistoryID processHistoryID_
Definition: RunAuxiliary.h:101
ProductID productID() const
virtual void fillGroup(BranchDescription const &)=0
void setProcessHistoryID(ProcessHistoryID const &) override
Definition: RunPrincipal.cc:38
static RangeSet invalid()
Definition: RangeSet.cc:46
RunAuxiliary const & aux() const
Definition: RunPrincipal.h:41
void fillGroup(BranchDescription const &) override
Definition: RunPrincipal.cc:44
HLT enums.
std::unique_ptr< Group > make_group(BranchDescription const &, ProductID const &, RangeSet &&)
Definition: GroupFactory.h:44