CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ProcessBlockPrincipal.cc
Go to the documentation of this file.
3 
6 
7 #include <utility>
8 
9 namespace edm {
10 
11  ProcessBlockPrincipal::ProcessBlockPrincipal(std::shared_ptr<ProductRegistry const> reg,
12  ProcessConfiguration const& pc,
13  bool isForPrimaryProcess)
14  : Principal(reg, reg->productLookup(InProcess), pc, InProcess, nullptr, isForPrimaryProcess) {}
15 
17  processName_ = processNameOfBlock;
18  fillPrincipal(processNameOfBlock, reader);
19  }
20 
21  void ProcessBlockPrincipal::put(ProductResolverIndex index, std::unique_ptr<WrapperBase> edp) const {
22  auto phb = getProductResolverByIndex(index);
23  dynamic_cast<ProductPutterBase const*>(phb)->putProduct(std::move(edp));
24  }
25 
27  // Concurrent ProcessBlocks does not make any sense so just always
28  // return 0 here.
29  return 0;
30  }
31 
32 } // namespace edm
void fillPrincipal(DelayedReader *reader)
Definition: Principal.cc:402
unsigned int transitionIndex_() const final
unsigned int ProductResolverIndex
void put(ProductResolverIndex index, std::unique_ptr< WrapperBase > edp) const
void fillProcessBlockPrincipal(std::string const &processName, DelayedReader *reader=nullptr)
def move
Definition: eostools.py:511
tuple reader
Definition: DQM.py:105
ProcessBlockPrincipal(std::shared_ptr< ProductRegistry const >, ProcessConfiguration const &, bool isForPrimaryProcess=true)
ConstProductResolverPtr getProductResolverByIndex(ProductResolverIndex const &oid) const
Definition: Principal.cc:562