#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<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
declare what type of product will make and with which optional label More... | |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
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) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
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<class ProductType > | |
BranchAliasSetterT< ProductType > | produces () |
declare what type of product will make and with which optional label More... | |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces () |
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) |
template<class ProductType > | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , BranchType B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
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 70 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 89 of file ProducerBase.h.
Definition at line 72 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 84 of file ProducerBase.h.
References callWhenNewProductsRegistered_, and TrackCollections2monitor_cff::func.
Referenced by edm::ConcurrentHadronizerFilter< HAD, DEC >::ConcurrentHadronizerFilter(), DQMEDHarvester::DQMEDHarvester(), EcalDeadCellTriggerPrimitiveFilter::EcalDeadCellTriggerPrimitiveFilter(), edm::HadronizerFilter< HAD, DEC >::HadronizerFilter(), edm::SwitchProducer::SwitchProducer(), and TriggerSummaryProducerAOD::TriggerSummaryProducerAOD().
|
inlineprivate |
Definition at line 120 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::EDFilter::doEvent(), edm::global::EDFilterBase::doEvent(), edm::one::EDProducerBase::doEvent(), edm::one::EDFilterBase::doEvent(), edm::global::EDProducerBase::doEvent(), edm::limited::EDFilterBase::doEvent(), and edm::limited::EDProducerBase::doEvent().
|
inlineprivate |
|
inline |
Definition at line 94 of file ProducerBase.h.
References putIndicies_.
|
inlineprotected |
Definition at line 130 of file ProductRegistryHelper.h.
|
inlineprotected |
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 108 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 118 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 148 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 141 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 157 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 135 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 113 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 123 of file ProductRegistryHelper.h.
|
protected |
Definition at line 105 of file ProducerBase.cc.
Referenced by ConfigurableAnalysis::ConfigurableAnalysis(), and NTuplingDevice::NTuplingDevice().
|
inline |
Definition at line 98 of file ProducerBase.h.
References putTokenToResolverIndex_.
Referenced by edm::PrincipalGetAdapter::getBranchDescription(), edm::PrincipalGetAdapter::getProductID(), and edm::PrincipalGetAdapter::putTokenIndexToProductResolverIndex().
|
inline |
Definition at line 91 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, RawToDigi_Repacked_cff::producer, registrationCallback(), and edm::ProductRegistryHelper::typeLabelList().
Referenced by edm::EDProducer::registerProductsAndCallbacks(), edm::EDFilter::registerProductsAndCallbacks(), edm::one::EDProducerBase::registerProductsAndCallbacks(), edm::one::EDFilterBase::registerProductsAndCallbacks(), edm::limited::EDProducerBase::registerProductsAndCallbacks(), edm::global::EDProducerBase::registerProductsAndCallbacks(), edm::limited::EDFilterBase::registerProductsAndCallbacks(), and edm::global::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 108 of file ProducerBase.h.
|
friend |
Definition at line 107 of file ProducerBase.h.
|
friend |
Definition at line 112 of file ProducerBase.h.
|
friend |
Definition at line 111 of file ProducerBase.h.
|
friend |
Definition at line 114 of file ProducerBase.h.
|
friend |
Definition at line 113 of file ProducerBase.h.
|
friend |
Definition at line 110 of file ProducerBase.h.
|
friend |
Definition at line 109 of file ProducerBase.h.
|
friend |
Definition at line 115 of file ProducerBase.h.
|
friend |
Definition at line 117 of file ProducerBase.h.
|
private |
Definition at line 129 of file ProducerBase.h.
Referenced by callWhenNewProductsRegistered(), and registrationCallback().
|
private |
Definition at line 130 of file ProducerBase.h.
Referenced by commit_(), indiciesForPutProducts(), and resolvePutIndicies().
|
private |
Definition at line 131 of file ProducerBase.h.
Referenced by putTokenIndexToProductResolverIndex(), and resolvePutIndicies().