CMS 3D CMS Logo

LuminosityBlockPrincipal.cc
Go to the documentation of this file.
2 
4 
5 namespace edm {
6 
8  std::shared_ptr<LuminosityBlockAuxiliary> aux,
9  std::shared_ptr<ProductRegistry const> reg,
10  ProcessConfiguration const& pc,
11  HistoryAppender* historyAppender,
12  unsigned int index,
13  bool isForPrimaryProcess) :
14  Base(reg, reg->productLookup(InLumi), pc, InLumi, historyAppender, isForPrimaryProcess),
15  runPrincipal_(),
16  aux_(aux),
17  index_(index),
18  complete_(false) {
19  }
20 
21  void
23  ProcessHistoryRegistry const& processHistoryRegistry,
25 
26  complete_ = false;
27 
28  fillPrincipal(aux_->processHistoryID(), processHistoryRegistry, reader);
29 
30  for(auto& prod : *this) {
31  prod->setProcessHistory(processHistory());
32  }
33  }
34 
35  void
37  BranchDescription const& bd,
38  std::unique_ptr<WrapperBase> edp) const {
39  putOrMerge(bd,std::move(edp));
40  }
41 
42  void
44  std::unique_ptr<WrapperBase> edp) const {
45  auto phb = getProductResolverByIndex(index);
46  phb->putOrMergeProduct(std::move(edp));
47  }
48 
49  unsigned int
51  return index().value();
52  }
53 
54 }
unsigned int ProductResolverIndex
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
unsigned int transitionIndex_() const override
LuminosityBlockIndex index() const
ProcessHistory const & processHistory() const
Definition: Principal.h:141
void fillLuminosityBlockPrincipal(ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
void putOrMerge(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
Definition: Principal.cc:858
unsigned int value() const
edm::propagate_const< std::shared_ptr< LuminosityBlockAuxiliary > > aux_
DelayedReader * reader() const
Definition: Principal.h:184
HLT enums.
ConstProductResolverPtr getProductResolverByIndex(ProductResolverIndex const &oid) const
Definition: Principal.cc:498
void fillPrincipal(ProcessHistoryID const &hist, ProcessHistoryRegistry const &phr, DelayedReader *reader)
Definition: Principal.cc:346
def move(src, dest)
Definition: eostools.py:510
LuminosityBlockPrincipal(std::shared_ptr< LuminosityBlockAuxiliary > aux, std::shared_ptr< ProductRegistry const > reg, ProcessConfiguration const &pc, HistoryAppender *historyAppender, unsigned int index, bool isForPrimaryProcess=true)