CMS 3D CMS Logo

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
edm::ProductResolverIndex
unsigned int ProductResolverIndex
Definition: ProductResolverIndex.h:8
edm::ProcessBlockPrincipal::index
unsigned int index() const
Definition: ProcessBlockPrincipal.h:35
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::Principal
Definition: Principal.h:56
ProcessBlockPrincipal.h
ProductRegistry.h
edm::Principal::getProductResolverByIndex
ConstProductResolverPtr getProductResolverByIndex(ProductResolverIndex const &oid) const
Definition: Principal.cc:562
edm::InProcess
Definition: BranchType.h:11
edm::ProcessBlockPrincipal::put
void put(ProductResolverIndex index, std::unique_ptr< WrapperBase > edp) const
Definition: ProcessBlockPrincipal.cc:21
DQM.reader
reader
Definition: DQM.py:105
edm::Principal::reader
DelayedReader * reader() const
Definition: Principal.h:187
ProductPutterBase.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ProcessBlockPrincipal::processName_
std::string processName_
Definition: ProcessBlockPrincipal.h:40
edm::Principal::fillPrincipal
void fillPrincipal(DelayedReader *reader)
Definition: Principal.cc:402
edm::ProcessBlockPrincipal::transitionIndex_
unsigned int transitionIndex_() const final
Definition: ProcessBlockPrincipal.cc:26
BranchType.h
edm::ProcessBlockPrincipal::fillProcessBlockPrincipal
void fillProcessBlockPrincipal(std::string const &processName, DelayedReader *reader=nullptr)
Definition: ProcessBlockPrincipal.cc:16
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::DelayedReader
Definition: DelayedReader.h:29
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
edm::ProcessBlockPrincipal::ProcessBlockPrincipal
ProcessBlockPrincipal(std::shared_ptr< ProductRegistry const >, ProcessConfiguration const &, bool isForPrimaryProcess=true)
Definition: ProcessBlockPrincipal.cc:11
edm::ProcessConfiguration
Definition: ProcessConfiguration.h:14