Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace edm