#include <ProcessBlock.h>
Public Types | |
using | CacheIdentifier_t = unsigned long |
Public Member Functions | |
CacheIdentifier_t | cacheIdentifier () const |
template<typename PROD , typename... Args> | |
void | emplace (EDPutToken token, Args &&... args) |
template<typename PROD , typename... Args> | |
void | emplace (EDPutTokenT< PROD > token, Args &&... args) |
template<typename PROD > | |
PROD const & | get (EDGetTokenT< PROD > token) const noexcept(false) |
template<typename PROD > | |
bool | getByToken (EDGetToken token, Handle< PROD > &result) const |
template<typename PROD > | |
bool | getByToken (EDGetTokenT< PROD > token, Handle< PROD > &result) const |
template<typename PROD > | |
Handle< PROD > | getHandle (EDGetTokenT< PROD > token) const |
ModuleCallingContext const * | moduleCallingContext () const |
ProcessBlock (ProcessBlockPrincipal const &, ModuleDescription const &, ModuleCallingContext const *, bool isAtEnd) | |
template<typename PROD > | |
void | put (EDPutToken token, std::unique_ptr< PROD > product) |
template<typename PROD > | |
void | put (EDPutTokenT< PROD > token, std::unique_ptr< PROD > product) |
void | setConsumer (EDConsumerBase const *iConsumer) |
void | setProducer (ProducerBase const *iProducer) |
Private Types | |
using | ProductPtrVec = std::vector< edm::propagate_const< std::unique_ptr< WrapperBase > >> |
Private Member Functions | |
void | commit_ (std::vector< edm::ProductResolverIndex > const &iShouldPut) |
template<typename PROD , typename... Args> | |
void | emplaceImpl (EDPutToken::value_type token, Args &&... args) |
ProcessBlockPrincipal const & | processBlockPrincipal () const |
template<typename PROD > | |
void | putImpl (EDPutToken::value_type token, std::unique_ptr< PROD > product) |
ProductPtrVec & | putProducts () |
ProductPtrVec const & | putProducts () const |
Private Attributes | |
ModuleCallingContext const * | moduleCallingContext_ |
PrincipalGetAdapter | provRecorder_ |
ProductPtrVec | putProducts_ |
Friends | |
class | ProducerBase |
template<typename T > | |
class | stream::ProducingModuleAdaptorBase |
Definition at line 36 of file ProcessBlock.h.
using edm::ProcessBlock::CacheIdentifier_t = unsigned long |
If you are caching data from the ProcessBlock, you should also keep this number. If this number changes then you know that the data you have cached is invalid. The value of '0' will never be returned so you can use that to denote that you have not yet checked the value.
Definition at line 63 of file ProcessBlock.h.
|
private |
Definition at line 95 of file ProcessBlock.h.
edm::ProcessBlock::ProcessBlock | ( | ProcessBlockPrincipal const & | pbp, |
ModuleDescription const & | md, | ||
ModuleCallingContext const * | moduleCallingContext, | ||
bool | isAtEnd | ||
) |
Definition at line 6 of file ProcessBlock.cc.
ProcessBlock::CacheIdentifier_t edm::ProcessBlock::cacheIdentifier | ( | ) | const |
Definition at line 18 of file ProcessBlock.cc.
References edm::Principal::cacheIdentifier(), and processBlockPrincipal().
|
private |
Definition at line 26 of file ProcessBlock.cc.
References edm::get_underlying_safe(), edm::Principal::getProductResolverByIndex(), mps_fire::i, edm::isEndTransition(), eostools::move(), edm::PrincipalGetAdapter::principal(), processBlockPrincipal(), provRecorder_, edm::ProcessBlockPrincipal::put(), putProducts(), edm::PrincipalGetAdapter::putTokenIndexToProductResolverIndex(), and edm::PrincipalGetAdapter::transition().
Referenced by edm::stream::ProducingModuleAdaptorBase< EDProducerBase >::commit().
void edm::ProcessBlock::emplace | ( | EDPutToken | token, |
Args &&... | args | ||
) |
Definition at line 177 of file ProcessBlock.h.
References writedatasetfile::args, edm::PrincipalGetAdapter::getTypeIDForPutTokenIndex(), PROD, provRecorder_, edm::principal_get_adapter_detail::throwOnPutOfUninitializedToken(), edm::principal_get_adapter_detail::throwOnPutOfWrongType(), unpackBuffers-CaloStage2::token, and UNLIKELY.
void edm::ProcessBlock::emplace | ( | EDPutTokenT< PROD > | token, |
Args &&... | args | ||
) |
Definition at line 169 of file ProcessBlock.h.
References writedatasetfile::args, PROD, edm::principal_get_adapter_detail::throwOnPutOfUninitializedToken(), unpackBuffers-CaloStage2::token, and UNLIKELY.
Referenced by AlignmentProducerAsAnalyzer::endProcessBlockProduce().
|
private |
Definition at line 202 of file ProcessBlock.h.
References writedatasetfile::args, cms::cuda::assert(), eostools::move(), putProducts(), findQualityFiles::size, relativeConstraints::value, and pfClustersFromHGC3DClusters_cfi::wp.
|
noexcept |
Definition at line 133 of file ProcessBlock.h.
References eostools::move(), PROD, edm::PRODUCT_TYPE, and unpackBuffers-CaloStage2::token.
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), and rrapi.RRApi::workspaces().
bool edm::ProcessBlock::getByToken | ( | EDGetToken | token, |
Handle< PROD > & | result | ||
) | const |
Definition at line 105 of file ProcessBlock.h.
References edm::PrincipalGetAdapter::getByToken_(), moduleCallingContext_, eostools::move(), PROD, edm::PRODUCT_TYPE, provRecorder_, mps_fire::result, and unpackBuffers-CaloStage2::token.
Referenced by edm::get().
bool edm::ProcessBlock::getByToken | ( | EDGetTokenT< PROD > | token, |
Handle< PROD > & | result | ||
) | const |
Definition at line 116 of file ProcessBlock.h.
References edm::PrincipalGetAdapter::getByToken_(), moduleCallingContext_, eostools::move(), PROD, edm::PRODUCT_TYPE, provRecorder_, mps_fire::result, and unpackBuffers-CaloStage2::token.
Handle< PROD > edm::ProcessBlock::getHandle | ( | EDGetTokenT< PROD > | token | ) | const |
Definition at line 127 of file ProcessBlock.h.
References edm::PrincipalGetAdapter::getByToken_(), moduleCallingContext_, eostools::move(), PROD, edm::PRODUCT_TYPE, provRecorder_, and unpackBuffers-CaloStage2::token.
Referenced by edm::GetterOfProducts< trigger::HLTPrescaleTable >::fillHandles().
|
inline |
|
private |
Definition at line 22 of file ProcessBlock.cc.
References edm::PrincipalGetAdapter::principal(), and provRecorder_.
Referenced by cacheIdentifier(), and commit_().
void edm::ProcessBlock::put | ( | EDPutToken | token, |
std::unique_ptr< PROD > | product | ||
) |
Definition at line 152 of file ProcessBlock.h.
References edm::PrincipalGetAdapter::getTypeIDForPutTokenIndex(), eostools::move(), PROD, edm::PrincipalGetAdapter::productInstanceLabel(), provRecorder_, putImpl(), edm::principal_get_adapter_detail::throwOnPutOfNullProduct(), edm::principal_get_adapter_detail::throwOnPutOfUninitializedToken(), edm::principal_get_adapter_detail::throwOnPutOfWrongType(), unpackBuffers-CaloStage2::token, and UNLIKELY.
void edm::ProcessBlock::put | ( | EDPutTokenT< PROD > | token, |
std::unique_ptr< PROD > | product | ||
) |
Definition at line 139 of file ProcessBlock.h.
References eostools::move(), PROD, edm::PrincipalGetAdapter::productInstanceLabel(), provRecorder_, putImpl(), edm::principal_get_adapter_detail::throwOnPutOfNullProduct(), edm::principal_get_adapter_detail::throwOnPutOfUninitializedToken(), unpackBuffers-CaloStage2::token, and UNLIKELY.
|
private |
Definition at line 189 of file ProcessBlock.h.
References cms::cuda::assert(), eostools::move(), putProducts(), findQualityFiles::size, relativeConstraints::value, and pfClustersFromHGC3DClusters_cfi::wp.
Referenced by put().
|
inlineprivate |
Definition at line 96 of file ProcessBlock.h.
References putProducts_.
Referenced by commit_(), emplaceImpl(), and putImpl().
|
inlineprivate |
|
inline |
Definition at line 53 of file ProcessBlock.h.
References provRecorder_, and edm::PrincipalGetAdapter::setConsumer().
Referenced by edm::one::EDFilterBase::doAccessInputProcessBlock(), edm::one::EDProducerBase::doAccessInputProcessBlock(), edm::one::EDAnalyzerBase::doAccessInputProcessBlock(), edm::global::EDAnalyzerBase::doAccessInputProcessBlock(), edm::global::EDProducerBase::doAccessInputProcessBlock(), edm::limited::EDProducerBase::doAccessInputProcessBlock(), edm::limited::EDFilterBase::doAccessInputProcessBlock(), edm::global::EDFilterBase::doAccessInputProcessBlock(), edm::limited::EDAnalyzerBase::doAccessInputProcessBlock(), edm::stream::EDAnalyzerAdaptor< T >::doAccessInputProcessBlock(), edm::stream::ProducingModuleAdaptor< T, M, B >::doAccessInputProcessBlock(), edm::one::EDFilterBase::doBeginProcessBlock(), edm::one::EDProducerBase::doBeginProcessBlock(), edm::one::EDAnalyzerBase::doBeginProcessBlock(), edm::global::EDAnalyzerBase::doBeginProcessBlock(), edm::global::EDProducerBase::doBeginProcessBlock(), edm::limited::EDProducerBase::doBeginProcessBlock(), edm::limited::EDFilterBase::doBeginProcessBlock(), edm::global::EDFilterBase::doBeginProcessBlock(), edm::limited::EDAnalyzerBase::doBeginProcessBlock(), edm::stream::EDAnalyzerAdaptor< T >::doBeginProcessBlock(), edm::stream::ProducingModuleAdaptor< T, M, B >::doBeginProcessBlock(), edm::one::EDFilterBase::doEndProcessBlock(), edm::one::EDProducerBase::doEndProcessBlock(), edm::one::EDAnalyzerBase::doEndProcessBlock(), edm::global::EDAnalyzerBase::doEndProcessBlock(), edm::global::EDProducerBase::doEndProcessBlock(), edm::limited::EDProducerBase::doEndProcessBlock(), edm::limited::EDFilterBase::doEndProcessBlock(), edm::global::EDFilterBase::doEndProcessBlock(), edm::limited::EDAnalyzerBase::doEndProcessBlock(), edm::stream::EDAnalyzerAdaptor< T >::doEndProcessBlock(), and edm::stream::ProducingModuleAdaptor< T, M, B >::doEndProcessBlock().
void edm::ProcessBlock::setProducer | ( | ProducerBase const * | iProducer | ) |
Definition at line 12 of file ProcessBlock.cc.
References provRecorder_, putProducts_, edm::PrincipalGetAdapter::putTokenIndexToProductResolverIndex(), and edm::PrincipalGetAdapter::setProducer().
Referenced by edm::one::EDFilterBase::doBeginProcessBlock(), edm::one::EDProducerBase::doBeginProcessBlock(), edm::global::EDProducerBase::doBeginProcessBlock(), edm::limited::EDProducerBase::doBeginProcessBlock(), edm::limited::EDFilterBase::doBeginProcessBlock(), edm::global::EDFilterBase::doBeginProcessBlock(), edm::stream::ProducingModuleAdaptor< T, M, B >::doBeginProcessBlock(), edm::one::EDFilterBase::doEndProcessBlock(), edm::one::EDProducerBase::doEndProcessBlock(), edm::limited::EDProducerBase::doEndProcessBlock(), edm::global::EDProducerBase::doEndProcessBlock(), edm::limited::EDFilterBase::doEndProcessBlock(), edm::global::EDFilterBase::doEndProcessBlock(), and edm::stream::ProducingModuleAdaptor< T, M, B >::doEndProcessBlock().
|
friend |
Definition at line 89 of file ProcessBlock.h.
|
friend |
Definition at line 91 of file ProcessBlock.h.
|
private |
Definition at line 101 of file ProcessBlock.h.
Referenced by getByToken(), getHandle(), and moduleCallingContext().
|
private |
Definition at line 99 of file ProcessBlock.h.
Referenced by commit_(), emplace(), getByToken(), getHandle(), processBlockPrincipal(), put(), setConsumer(), and setProducer().
|
private |
Definition at line 100 of file ProcessBlock.h.
Referenced by putProducts(), and setProducer().