File indexing completed on 2025-01-31 02:19:24
0001 #include "FWCore/Framework/interface/LuminosityBlockPrincipal.h"
0002 #include "FWCore/Framework/interface/ProductPutterBase.h"
0003 #include "DataFormats/Provenance/interface/ProductRegistry.h"
0004
0005 namespace edm {
0006 LuminosityBlockPrincipal::LuminosityBlockPrincipal(std::shared_ptr<ProductRegistry const> reg,
0007 std::vector<std::shared_ptr<ProductResolverBase>>&& resolvers,
0008 ProcessConfiguration const& pc,
0009 HistoryAppender* historyAppender,
0010 unsigned int index)
0011 : Base(reg, std::move(resolvers), pc, InLumi, historyAppender), runPrincipal_(), index_(index) {}
0012
0013 void LuminosityBlockPrincipal::fillLuminosityBlockPrincipal(ProcessHistory const* processHistory,
0014 DelayedReader* reader) {
0015 fillPrincipal(aux_.processHistoryID(), processHistory, reader);
0016 }
0017
0018 void LuminosityBlockPrincipal::put(ProductDescription const& bd, std::unique_ptr<WrapperBase> edp) const {
0019 put_(bd, std::move(edp));
0020 }
0021
0022 void LuminosityBlockPrincipal::put(ProductResolverIndex index, std::unique_ptr<WrapperBase> edp) const {
0023 auto phb = getProductResolverByIndex(index);
0024 dynamic_cast<ProductPutterBase const*>(phb)->putProduct(std::move(edp));
0025 }
0026
0027 unsigned int LuminosityBlockPrincipal::transitionIndex_() const { return index().value(); }
0028
0029 }