File indexing completed on 2023-03-17 11:02:19
0001 #include "FWCore/Framework/interface/ProcessBlockPrincipal.h"
0002 #include "FWCore/Framework/interface/ProductPutterBase.h"
0003
0004 #include "DataFormats/Provenance/interface/ProductRegistry.h"
0005 #include "DataFormats/Provenance/interface/BranchType.h"
0006
0007 #include <utility>
0008
0009 namespace edm {
0010
0011 ProcessBlockPrincipal::ProcessBlockPrincipal(std::shared_ptr<ProductRegistry const> reg,
0012 ProcessConfiguration const& pc,
0013 bool isForPrimaryProcess)
0014 : Principal(reg, reg->productLookup(InProcess), pc, InProcess, nullptr, isForPrimaryProcess) {}
0015
0016 void ProcessBlockPrincipal::fillProcessBlockPrincipal(std::string const& processNameOfBlock, DelayedReader* reader) {
0017 processName_ = processNameOfBlock;
0018 fillPrincipal(processNameOfBlock, reader);
0019 }
0020
0021 void ProcessBlockPrincipal::put(ProductResolverIndex index, std::unique_ptr<WrapperBase> edp) const {
0022 auto phb = getProductResolverByIndex(index);
0023 dynamic_cast<ProductPutterBase const*>(phb)->putProduct(std::move(edp));
0024 }
0025
0026 unsigned int ProcessBlockPrincipal::transitionIndex_() const {
0027
0028
0029 return 0;
0030 }
0031
0032 }