FWCore
Framework
src
ProcessBlockPrincipal.cc
Go to the documentation of this file.
1
#include "
FWCore/Framework/interface/ProcessBlockPrincipal.h
"
2
#include "
FWCore/Framework/src/ProductPutterBase.h
"
3
4
#include "
DataFormats/Provenance/interface/ProductRegistry.h
"
5
#include "
DataFormats/Provenance/interface/BranchType.h
"
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
16
void
ProcessBlockPrincipal::fillProcessBlockPrincipal
(
std::string
const
& processNameOfBlock,
DelayedReader
*
reader
) {
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
26
unsigned
int
ProcessBlockPrincipal::transitionIndex_
()
const
{
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
Generated for CMSSW Reference Manual by
1.8.16