#include <ProducesCollector.h>
Public Member Functions | |
ProducesCollector & | operator= (ProducesCollector const &) |
ProducesCollector & | operator= (ProducesCollector &&)=default |
template<class ProductType > | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces () |
template<class ProductType > | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<Transition Tr = Transition::Event> | |
auto | produces (std::string instanceName) noexcept |
template<Transition Tr = Transition::Event> | |
auto | produces () noexcept |
ProductRegistryHelper::BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
template<Transition B> | |
ProductRegistryHelper::BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
ProducesCollector ()=delete | |
ProducesCollector (ProducesCollector const &) | |
ProducesCollector (ProducesCollector &&)=default | |
Private Member Functions | |
ProducesCollector (ProductRegistryHelper *helper) | |
Private Attributes | |
propagate_const< ProductRegistryHelper * > | helper_ |
Friends | |
class | ProducerBase |
Description: Helper class to gather produces information for the ProducerBase class.
Usage: The constructor of a module can get an instance of edm::ProducesCollector by calling its producesCollector() method. This instance can then be passed to helper classes in order to register the data the helper will put into the Event, LuminosityBlock or Run.
Note this only supports use of the Transition enum. The produce template functions using
the BranchType enum are not supported by this class. We still support the BranchType enum in ProducerBase for backward compatibility reasons, but even there they are deprecated and we are trying to migrate client code to use the template functions using the Transition enum.
WARNING: The ProducesCollector should be used during the time that modules are being
constructed. It should not be saved and used later. It will not work if it is used to call the produces function during beginJob, beginRun, beginLuminosity block, event processing or at any later time. It can be used while the module constructor is running or be contained in a functor passed to the Framework with a call to callWhenNewProductsRegistered.
Definition at line 45 of file ProducesCollector.h.
|
delete |
edm::ProducesCollector::ProducesCollector | ( | ProducesCollector const & | other | ) |
Definition at line 5 of file ProducesCollector.cc.
|
default |
|
private |
Definition at line 18 of file ProducesCollector.cc.
ProducesCollector & edm::ProducesCollector::operator= | ( | ProducesCollector const & | other | ) |
Definition at line 7 of file ProducesCollector.cc.
References edm::get_underlying(), helper_, and trackingPlots::other.
|
default |
|
inline |
Definition at line 54 of file ProducesCollector.h.
References helper_.
Referenced by CaloTruthAccumulator::CaloTruthAccumulator(), CastorDigiProducer::CastorDigiProducer(), EcalDigiProducer::EcalDigiProducer(), EcalDigiProducer_Ph2::EcalDigiProducer_Ph2(), EcalTimeDigiProducer::EcalTimeDigiProducer(), HcalDigiProducer::HcalDigiProducer(), HcalTBDigiProducer::HcalTBDigiProducer(), HGCDigiProducer::HGCDigiProducer(), MTDDigitizerBase::MTDDigitizerBase(), MtdTruthAccumulator::MtdTruthAccumulator(), cms::Phase2TrackerDigitizer::Phase2TrackerDigitizer(), cms::PileupVertexAccumulator::PileupVertexAccumulator(), PreMixingCaloParticleWorker::PreMixingCaloParticleWorker(), edm::PreMixingCrossingFrameWorker< T >::PreMixingCrossingFrameWorker(), PreMixingDigiSimLinkWorker< DigiSimLinkCollection >::PreMixingDigiSimLinkWorker(), PreMixingEcalWorker::PreMixingEcalWorker(), PreMixingHcalWorker::PreMixingHcalWorker(), PreMixingHGCalWorker::PreMixingHGCalWorker(), PreMixingMtdTruthWorker::PreMixingMtdTruthWorker(), PreMixingMuonWorker< CSCWireDigiCollection >::PreMixingMuonWorker(), edm::PreMixingPileupCopy::PreMixingPileupCopy(), PreMixingSiPixelWorker::PreMixingSiPixelWorker(), PreMixingSiStripWorker::PreMixingSiStripWorker(), PreMixingTrackingParticleWorker::PreMixingTrackingParticleWorker(), hitTripletEDProducerT::ImplSeedingHitSets::produces(), hitTripletEDProducerT::ImplIntermediateHitTriplets::produces(), RecoTrackAccumulator::RecoTrackAccumulator(), VariableNTupler::registerleaves(), StringBasedNTupler::registerleaves(), simproducer::ProductInfo< T >::registerProduct(), fastsim::TrackerSimHitProducer::registerProducts(), RPCCPPFUnpacker::RPCCPPFUnpacker(), cms::SiPixelDigitizer::SiPixelDigitizer(), SiStripDigitizer::SiStripDigitizer(), TrackCollectionCloner::TrackCollectionCloner(), and TrackingTruthAccumulator::TrackingTruthAccumulator().
|
inline |
Definition at line 59 of file ProducesCollector.h.
References helper_, and eostools::move().
|
inline |
Definition at line 64 of file ProducesCollector.h.
|
inline |
Definition at line 69 of file ProducesCollector.h.
References B, helper_, and eostools::move().
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 78 of file ProducesCollector.h.
ProductRegistryHelper::BranchAliasSetter edm::ProducesCollector::produces | ( | const TypeID & | id, |
std::string | instanceName = std::string() , |
||
bool | recordProvenance = true |
||
) |
Definition at line 12 of file ProducesCollector.cc.
References helper_, and eostools::move().
|
inline |
Definition at line 87 of file ProducesCollector.h.
References B, helper_, EcalPhiSymFlatTableProducers_cfi::id, and eostools::move().
|
friend |
Definition at line 94 of file ProducesCollector.h.
|
private |
Definition at line 97 of file ProducesCollector.h.
Referenced by operator=(), and produces().