#include <ProcessBlock.h>
Public Types | |
using | CacheIdentifier_t = unsigned long |
Public Member Functions | |
CacheIdentifier_t | cacheIdentifier () const |
template<typename PROD , typename... Args> | |
void | emplace (EDPutTokenT< PROD > token, Args &&... args) |
template<typename PROD , typename... Args> | |
void | emplace (EDPutToken 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) | |
std::string const & | processName () const |
template<typename PROD > | |
void | put (EDPutTokenT< PROD > token, std::unique_ptr< PROD > product) |
template<typename PROD > | |
void | put (EDPutToken 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 97 of file ProcessBlock.h.
edm::ProcessBlock::ProcessBlock | ( | ProcessBlockPrincipal const & | pbp, |
ModuleDescription const & | md, | ||
ModuleCallingContext const * | moduleCallingContext, | ||
bool | isAtEnd | ||
) |
Definition at line 7 of file ProcessBlock.cc.
ProcessBlock::CacheIdentifier_t edm::ProcessBlock::cacheIdentifier | ( | ) | const |
Definition at line 19 of file ProcessBlock.cc.
References edm::Principal::cacheIdentifier(), and processBlockPrincipal().
|
private |
Definition at line 29 of file ProcessBlock.cc.
References Options::const, 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 | ( | EDPutTokenT< PROD > | token, |
Args &&... | args | ||
) |
Definition at line 171 of file ProcessBlock.h.
References writedatasetfile::args, PROD, edm::principal_get_adapter_detail::throwOnPutOfUninitializedToken(), unpackBuffers-CaloStage2::token, and UNLIKELY.
Referenced by AlignmentProducerAsAnalyzer::endProcessBlockProduce().
void edm::ProcessBlock::emplace | ( | EDPutToken | token, |
Args &&... | args | ||
) |
Definition at line 179 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.
|
private |
Definition at line 203 of file ProcessBlock.h.
References writedatasetfile::args, cms::cuda::assert(), edm::detail::do_post_insert_if_available(), eostools::move(), putProducts(), findQualityFiles::size, and l1tPFClustersFromHGC3DClusters_cfi::wp.
|
noexcept |
Definition at line 135 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(), edmtest::TestFindProduct::accessInputProcessBlock(), edmtest::TestFindProduct::beginProcessBlock(), rrapi.RRApi::columns(), rrapi.RRApi::count(), rrapi.RRApi::data(), edmtest::TestFindProduct::endProcessBlock(), 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 107 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 edmtest::TestFindProduct::endProcessBlock().
bool edm::ProcessBlock::getByToken | ( | EDGetTokenT< PROD > | token, |
Handle< PROD > & | result | ||
) | const |
Definition at line 118 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 129 of file ProcessBlock.h.
References edm::PrincipalGetAdapter::getByToken_(), moduleCallingContext_, eostools::move(), PROD, edm::PRODUCT_TYPE, provRecorder_, and unpackBuffers-CaloStage2::token.
Referenced by edmtest::TestFindProduct::endProcessBlock().
|
inline |
Definition at line 78 of file ProcessBlock.h.
References moduleCallingContext_.
|
private |
Definition at line 25 of file ProcessBlock.cc.
References Options::const, edm::PrincipalGetAdapter::principal(), and provRecorder_.
Referenced by cacheIdentifier(), commit_(), and processName().
std::string const & edm::ProcessBlock::processName | ( | ) | const |
Definition at line 23 of file ProcessBlock.cc.
References processBlockPrincipal(), and edm::ProcessBlockPrincipal::processName().
void edm::ProcessBlock::put | ( | EDPutTokenT< PROD > | token, |
std::unique_ptr< PROD > | product | ||
) |
Definition at line 141 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.
void edm::ProcessBlock::put | ( | EDPutToken | token, |
std::unique_ptr< PROD > | product | ||
) |
Definition at line 154 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.
|
private |
Definition at line 191 of file ProcessBlock.h.
References cms::cuda::assert(), edm::detail::do_post_insert_if_available(), eostools::move(), putProducts(), findQualityFiles::size, and l1tPFClustersFromHGC3DClusters_cfi::wp.
Referenced by put().
|
inlineprivate |
Definition at line 98 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::EDAnalyzerBase::doAccessInputProcessBlock(), edm::global::EDAnalyzerBase::doAccessInputProcessBlock(), edm::one::EDFilterBase::doAccessInputProcessBlock(), edm::one::EDProducerBase::doAccessInputProcessBlock(), edm::limited::EDAnalyzerBase::doAccessInputProcessBlock(), edm::global::EDProducerBase::doAccessInputProcessBlock(), edm::limited::EDProducerBase::doAccessInputProcessBlock(), edm::global::EDFilterBase::doAccessInputProcessBlock(), edm::limited::EDFilterBase::doAccessInputProcessBlock(), edm::stream::EDAnalyzerAdaptor< T >::doAccessInputProcessBlock(), edm::stream::ProducingModuleAdaptor< T, M, B >::doAccessInputProcessBlock(), edm::one::EDAnalyzerBase::doBeginProcessBlock(), edm::global::EDAnalyzerBase::doBeginProcessBlock(), edm::one::EDFilterBase::doBeginProcessBlock(), edm::one::EDProducerBase::doBeginProcessBlock(), edm::limited::EDAnalyzerBase::doBeginProcessBlock(), edm::global::EDProducerBase::doBeginProcessBlock(), edm::limited::EDProducerBase::doBeginProcessBlock(), edm::global::EDFilterBase::doBeginProcessBlock(), edm::limited::EDFilterBase::doBeginProcessBlock(), edm::stream::EDAnalyzerAdaptor< T >::doBeginProcessBlock(), edm::stream::ProducingModuleAdaptor< T, M, B >::doBeginProcessBlock(), edm::one::EDAnalyzerBase::doEndProcessBlock(), edm::global::EDAnalyzerBase::doEndProcessBlock(), edm::one::EDFilterBase::doEndProcessBlock(), edm::one::EDProducerBase::doEndProcessBlock(), edm::limited::EDAnalyzerBase::doEndProcessBlock(), edm::global::EDProducerBase::doEndProcessBlock(), edm::limited::EDProducerBase::doEndProcessBlock(), edm::global::EDFilterBase::doEndProcessBlock(), edm::limited::EDFilterBase::doEndProcessBlock(), edm::stream::EDAnalyzerAdaptor< T >::doEndProcessBlock(), and edm::stream::ProducingModuleAdaptor< T, M, B >::doEndProcessBlock().
void edm::ProcessBlock::setProducer | ( | ProducerBase const * | iProducer | ) |
Definition at line 13 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::global::EDFilterBase::doBeginProcessBlock(), edm::limited::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::global::EDFilterBase::doEndProcessBlock(), edm::limited::EDFilterBase::doEndProcessBlock(), and edm::stream::ProducingModuleAdaptor< T, M, B >::doEndProcessBlock().
|
friend |
Definition at line 91 of file ProcessBlock.h.
|
friend |
Definition at line 93 of file ProcessBlock.h.
|
private |
Definition at line 103 of file ProcessBlock.h.
Referenced by getByToken(), getHandle(), and moduleCallingContext().
|
private |
Definition at line 101 of file ProcessBlock.h.
Referenced by commit_(), emplace(), getByToken(), getHandle(), processBlockPrincipal(), put(), setConsumer(), and setProducer().
|
private |
Definition at line 102 of file ProcessBlock.h.
Referenced by putProducts(), and setProducer().