#include <ProducerBase.h>
Public Types | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Member Functions | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
std::vector< bool > const & | recordProvenanceList () const |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
TypeLabelList const & | typeLabelList () const |
used by the fwk to register the list of products of this module More... | |
~ProducerBase () noexcept(false) override | |
Protected Member Functions | |
template<Transition Tr = Transition::Event> | |
auto | produces (std::string instanceName) noexcept |
declare what type of product will make and with which optional label More... | |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
template<Transition Tr = Transition::Event> | |
auto | produces () noexcept |
ProducesCollector | producesCollector () |
Private Member Functions | |
template<typename P > | |
void | commit_ (P &iPrincipal) |
template<typename P , typename I > | |
void | commit_ (P &iPrincipal, I *iID) |
Private Member Functions inherited from edm::ProductRegistryHelper | |
virtual bool | hasAbilityToProduceInBeginLumis () const |
virtual bool | hasAbilityToProduceInBeginProcessBlocks () const |
virtual bool | hasAbilityToProduceInBeginRuns () const |
virtual bool | hasAbilityToProduceInEndLumis () const |
virtual bool | hasAbilityToProduceInEndProcessBlocks () const |
virtual bool | hasAbilityToProduceInEndRuns () const |
template<Transition Tr = Transition::Event> | |
auto | produces (std::string instanceName) noexcept |
declare what type of product will make and with which optional label More... | |
template<Transition Tr = Transition::Event> | |
auto | produces () noexcept |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<BranchType B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<Transition B> | |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
ProductRegistryHelper () | |
std::vector< bool > const & | recordProvenanceList () const |
TypeLabelList const & | typeLabelList () const |
used by the fwk to register the list of products of this module More... | |
virtual | ~ProductRegistryHelper () noexcept(false) |
Private Attributes | |
std::function< void(BranchDescription const &)> | callWhenNewProductsRegistered_ |
std::array< std::vector< edm::ProductResolverIndex >, edm::NumBranchTypes > | putIndicies_ |
std::vector< edm::ProductResolverIndex > | putTokenToResolverIndex_ |
Friends | |
class | EDFilter |
class | EDProducer |
class | global::EDFilterBase |
class | global::EDProducerBase |
class | limited::EDFilterBase |
class | limited::EDProducerBase |
class | one::EDFilterBase |
class | one::EDProducerBase |
class | PuttableSourceBase |
template<typename T > | |
class | stream::ProducingModuleAdaptorBase |
Additional Inherited Members | |
Private Types inherited from edm::ProductRegistryHelper | |
typedef std::vector< TypeLabelItem > | TypeLabelList |
Static Private Member Functions inherited from edm::ProductRegistryHelper | |
static void | addToRegistry (TypeLabelList::const_iterator const &iBegin, TypeLabelList::const_iterator const &iEnd, ModuleDescription const &iDesc, ProductRegistry &iReg, ProductRegistryHelper *iProd, bool iIsListener=false) |
Definition at line 71 of file ProducerBase.h.
using edm::ProducerBase::ModuleToResolverIndicies = std::unordered_multimap<std::string, std::tuple<edm::TypeID const*, const char*, edm::ProductResolverIndex> > |
Definition at line 90 of file ProducerBase.h.
Definition at line 73 of file ProducerBase.h.
edm::ProducerBase::ProducerBase | ( | ) |
Definition at line 16 of file ProducerBase.cc.
|
overridenoexcept |
Definition at line 17 of file ProducerBase.cc.
|
inline |
Definition at line 85 of file ProducerBase.h.
References callWhenNewProductsRegistered_, and EcalMonitorTask_cff::func.
Referenced by edm::ConcurrentHadronizerFilter< HAD, DEC >::ConcurrentHadronizerFilter(), DQMEDHarvester::DQMEDHarvester(), EcalDeadCellTriggerPrimitiveFilter::EcalDeadCellTriggerPrimitiveFilter(), edm::HadronizerFilter< HAD, DEC >::HadronizerFilter(), edm::SwitchProducer::SwitchProducer(), TriggerResultsFilter::TriggerResultsFilter(), and TriggerSummaryProducerAOD::TriggerSummaryProducerAOD().
|
inlineprivate |
Definition at line 121 of file ProducerBase.h.
References putIndicies_.
Referenced by edm::PuttableSourceBase::doBeginLumi(), edm::EDProducer::doBeginLuminosityBlock(), edm::EDFilter::doBeginLuminosityBlock(), edm::one::EDFilterBase::doBeginLuminosityBlock(), edm::one::EDProducerBase::doBeginLuminosityBlock(), edm::global::EDProducerBase::doBeginLuminosityBlock(), edm::limited::EDProducerBase::doBeginLuminosityBlock(), edm::global::EDFilterBase::doBeginLuminosityBlock(), edm::limited::EDFilterBase::doBeginLuminosityBlock(), edm::one::EDProducerBase::doBeginProcessBlock(), edm::one::EDFilterBase::doBeginProcessBlock(), edm::global::EDProducerBase::doBeginProcessBlock(), edm::limited::EDProducerBase::doBeginProcessBlock(), edm::limited::EDFilterBase::doBeginProcessBlock(), edm::global::EDFilterBase::doBeginProcessBlock(), edm::PuttableSourceBase::doBeginRun(), edm::EDProducer::doBeginRun(), edm::EDFilter::doBeginRun(), edm::one::EDProducerBase::doBeginRun(), edm::one::EDFilterBase::doBeginRun(), edm::global::EDProducerBase::doBeginRun(), edm::limited::EDProducerBase::doBeginRun(), edm::limited::EDFilterBase::doBeginRun(), edm::global::EDFilterBase::doBeginRun(), edm::EDProducer::doEndLuminosityBlock(), edm::EDFilter::doEndLuminosityBlock(), edm::one::EDProducerBase::doEndLuminosityBlock(), edm::one::EDFilterBase::doEndLuminosityBlock(), edm::global::EDProducerBase::doEndLuminosityBlock(), edm::limited::EDProducerBase::doEndLuminosityBlock(), edm::global::EDFilterBase::doEndLuminosityBlock(), edm::limited::EDFilterBase::doEndLuminosityBlock(), edm::one::EDProducerBase::doEndProcessBlock(), edm::one::EDFilterBase::doEndProcessBlock(), edm::global::EDProducerBase::doEndProcessBlock(), edm::limited::EDProducerBase::doEndProcessBlock(), edm::global::EDFilterBase::doEndProcessBlock(), edm::limited::EDFilterBase::doEndProcessBlock(), edm::EDProducer::doEndRun(), edm::EDFilter::doEndRun(), edm::one::EDFilterBase::doEndRun(), edm::one::EDProducerBase::doEndRun(), edm::global::EDProducerBase::doEndRun(), edm::limited::EDProducerBase::doEndRun(), edm::limited::EDFilterBase::doEndRun(), edm::global::EDFilterBase::doEndRun(), edm::EDProducer::doEvent(), edm::global::EDFilterBase::doEvent(), edm::EDFilter::doEvent(), edm::one::EDProducerBase::doEvent(), edm::one::EDFilterBase::doEvent(), edm::global::EDProducerBase::doEvent(), edm::limited::EDFilterBase::doEvent(), and edm::limited::EDProducerBase::doEvent().
|
inlineprivate |
Definition at line 126 of file ProducerBase.h.
References putIndicies_.
|
inline |
Definition at line 95 of file ProducerBase.h.
References putIndicies_.
|
inlineprotected |
Definition at line 153 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 136 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 141 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 148 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 131 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 159 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 166 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 175 of file ProductRegistryHelper.h.
|
inlineprotectednoexcept |
declare what type of product will make and with which optional label
the statement
should be added to the producer ctor for every product
Definition at line 117 of file ProductRegistryHelper.h.
|
inlineprotectednoexcept |
Definition at line 121 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 126 of file ProductRegistryHelper.h.
|
protected |
Definition at line 105 of file ProducerBase.cc.
Referenced by ConfigurableAnalysis::ConfigurableAnalysis(), and NTuplingDevice::NTuplingDevice().
|
inline |
Definition at line 99 of file ProducerBase.h.
References putTokenToResolverIndex_.
Referenced by edm::PrincipalGetAdapter::getBranchDescription(), edm::PrincipalGetAdapter::getProductID(), and edm::PrincipalGetAdapter::putTokenIndexToProductResolverIndex().
|
inline |
Definition at line 100 of file ProductRegistryHelper.h.
Referenced by edm::PrincipalGetAdapter::recordProvenanceList().
void edm::ProducerBase::registerProducts | ( | ProducerBase * | producer, |
ProductRegistry * | iReg, | ||
ModuleDescription const & | md | ||
) |
Definition at line 57 of file ProducerBase.cc.
References edm::ProductRegistryHelper::addToRegistry(), edm::ProductRegistry::callForEachBranch(), relativeConstraints::empty, registrationCallback(), and edm::ProductRegistryHelper::typeLabelList().
Referenced by edm::EDProducer::registerProductsAndCallbacks(), edm::EDFilter::registerProductsAndCallbacks(), edm::one::EDProducerBase::registerProductsAndCallbacks(), edm::one::EDFilterBase::registerProductsAndCallbacks(), edm::global::EDProducerBase::registerProductsAndCallbacks(), edm::limited::EDProducerBase::registerProductsAndCallbacks(), edm::global::EDFilterBase::registerProductsAndCallbacks(), and edm::limited::EDFilterBase::registerProductsAndCallbacks().
std::function< void(BranchDescription const &)> edm::ProducerBase::registrationCallback | ( | ) | const |
used by the fwk to register list of products
Definition at line 19 of file ProducerBase.cc.
References callWhenNewProductsRegistered_.
Referenced by registerProducts().
void edm::ProducerBase::resolvePutIndicies | ( | BranchType | iBranchType, |
ModuleToResolverIndicies const & | iIndicies, | ||
std::string const & | moduleLabel | ||
) |
Definition at line 79 of file ProducerBase.cc.
References edm::convertToBranchType(), mps_fire::i, SiStripPI::max, HerwigMaxPtPartonFilter_cfi::moduleLabel, putIndicies_, putTokenToResolverIndex_, FastTimerService_cff::range, and edm::ProductRegistryHelper::typeLabelList().
Referenced by edm::PuttableSourceBase::beginJob().
ProductRegistryHelper::TypeLabelList const & edm::ProductRegistryHelper::typeLabelList |
used by the fwk to register the list of products of this module
Definition at line 20 of file ProductRegistryHelper.cc.
Referenced by edm::PrincipalGetAdapter::getPutTokenIndex(), edm::PrincipalGetAdapter::getTypeIDForPutTokenIndex(), and edm::PrincipalGetAdapter::productInstanceLabel().
|
friend |
Definition at line 109 of file ProducerBase.h.
|
friend |
Definition at line 108 of file ProducerBase.h.
|
friend |
Definition at line 113 of file ProducerBase.h.
|
friend |
Definition at line 112 of file ProducerBase.h.
|
friend |
Definition at line 115 of file ProducerBase.h.
|
friend |
Definition at line 114 of file ProducerBase.h.
|
friend |
Definition at line 111 of file ProducerBase.h.
|
friend |
Definition at line 110 of file ProducerBase.h.
|
friend |
Definition at line 116 of file ProducerBase.h.
|
friend |
Definition at line 118 of file ProducerBase.h.
|
private |
Definition at line 130 of file ProducerBase.h.
Referenced by callWhenNewProductsRegistered(), and registrationCallback().
|
private |
Definition at line 131 of file ProducerBase.h.
Referenced by commit_(), indiciesForPutProducts(), and resolvePutIndicies().
|
private |
Definition at line 132 of file ProducerBase.h.
Referenced by putTokenIndexToProductResolverIndex(), and resolvePutIndicies().