#include <ProducerBase.h>
Public Types | |
template<typename T > | |
using | BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T > |
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) |
EDPutToken | transforms (const TypeID &id, std::string instanceName) |
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 |
EDPutToken | transforms (const TypeID &id, std::string instanceName) |
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 | 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 |
class | TransformerBase |
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::BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT<T> |
Definition at line 85 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 92 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 87 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(), MEtoEDMConverter::MEtoEDMConverter(), edm::SwitchProducer::SwitchProducer(), edmtest::TestGetterOfProducts::TestGetterOfProducts(), TriggerResultsFilter::TriggerResultsFilter(), and TriggerSummaryProducerAOD::TriggerSummaryProducerAOD().
|
inlineprivate |
Definition at line 122 of file ProducerBase.h.
References putIndicies_.
Referenced by edm::PuttableSourceBase::doBeginLumi(), edm::one::EDFilterBase::doBeginLuminosityBlock(), edm::one::EDProducerBase::doBeginLuminosityBlock(), edm::limited::EDProducerBase::doBeginLuminosityBlock(), edm::global::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::global::EDFilterBase::doBeginProcessBlock(), edm::limited::EDFilterBase::doBeginProcessBlock(), edm::PuttableSourceBase::doBeginRun(), edm::one::EDFilterBase::doBeginRun(), edm::one::EDProducerBase::doBeginRun(), edm::limited::EDProducerBase::doBeginRun(), edm::global::EDProducerBase::doBeginRun(), edm::global::EDFilterBase::doBeginRun(), edm::limited::EDFilterBase::doBeginRun(), edm::one::EDProducerBase::doEndLuminosityBlock(), edm::one::EDFilterBase::doEndLuminosityBlock(), edm::limited::EDProducerBase::doEndLuminosityBlock(), edm::global::EDProducerBase::doEndLuminosityBlock(), edm::global::EDFilterBase::doEndLuminosityBlock(), edm::limited::EDFilterBase::doEndLuminosityBlock(), edm::one::EDFilterBase::doEndProcessBlock(), edm::one::EDProducerBase::doEndProcessBlock(), edm::limited::EDProducerBase::doEndProcessBlock(), edm::global::EDProducerBase::doEndProcessBlock(), edm::global::EDFilterBase::doEndProcessBlock(), edm::limited::EDFilterBase::doEndProcessBlock(), edm::one::EDProducerBase::doEndRun(), edm::one::EDFilterBase::doEndRun(), edm::global::EDProducerBase::doEndRun(), edm::limited::EDProducerBase::doEndRun(), edm::global::EDFilterBase::doEndRun(), edm::limited::EDFilterBase::doEndRun(), 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 |
Definition at line 127 of file ProducerBase.h.
References putIndicies_.
|
inline |
Definition at line 97 of file ProducerBase.h.
References putIndicies_.
|
inlineprotected |
Definition at line 138 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 143 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 150 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 155 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 161 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 133 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 168 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 177 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 119 of file ProductRegistryHelper.h.
|
inlineprotectednoexcept |
Definition at line 123 of file ProductRegistryHelper.h.
|
inlineprotected |
Definition at line 128 of file ProductRegistryHelper.h.
|
protected |
Definition at line 105 of file ProducerBase.cc.
Referenced by ConfigurableAnalysis::ConfigurableAnalysis(), and NTuplingDevice::NTuplingDevice().
|
inline |
Definition at line 101 of file ProducerBase.h.
References putTokenToResolverIndex_.
Referenced by edm::PrincipalGetAdapter::getBranchDescription(), edm::PrincipalGetAdapter::getProductID(), edm::PrincipalGetAdapter::putTokenIndexToProductResolverIndex(), and edm::TransformerBase::transformImpAsync().
|
inline |
Definition at line 102 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::one::EDFilterBase::registerProductsAndCallbacks(), edm::one::EDProducerBase::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().
|
inlineprivate |
Definition at line 186 of file ProductRegistryHelper.h.
Referenced by edm::TransformerBase::registerTransformAsyncImp(), and edm::TransformerBase::registerTransformImp().
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::TransformerBase::extendUpdateLookup(), edm::TransformerBase::findMatchingIndex(), edm::PrincipalGetAdapter::getPutTokenIndex(), edm::PrincipalGetAdapter::getTypeIDForPutTokenIndex(), and edm::PrincipalGetAdapter::productInstanceLabel().
|
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 119 of file ProducerBase.h.
|
friend |
Definition at line 117 of file ProducerBase.h.
|
private |
Definition at line 133 of file ProducerBase.h.
Referenced by callWhenNewProductsRegistered(), and registrationCallback().
|
private |
Definition at line 134 of file ProducerBase.h.
Referenced by commit_(), indiciesForPutProducts(), and resolvePutIndicies().
|
private |
Definition at line 135 of file ProducerBase.h.
Referenced by putTokenIndexToProductResolverIndex(), and resolvePutIndicies().