#include <ProducesCollector.h>
Public Member Functions | |
ProducesCollector & | operator= (ProducesCollector &&)=default |
ProducesCollector & | operator= (ProducesCollector const &) |
template<class ProductType > | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces () |
template<typename ProductType , Transition B> | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces () |
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) |
template<class ProductType > | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
template<typename ProductType , Transition B> | |
ProductRegistryHelper::BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
ProducesCollector ()=delete | |
ProducesCollector (ProducesCollector &&)=default | |
ProducesCollector (ProducesCollector const &) | |
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 43 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.
|
default |
ProducesCollector & edm::ProducesCollector::operator= | ( | ProducesCollector const & | other | ) |
Definition at line 7 of file ProducesCollector.cc.
References edm::get_underlying(), helper_, and trackingPlots::other.
|
inline |
Definition at line 52 of file ProducesCollector.h.
References helper_.
Referenced by CaloTruthAccumulator::CaloTruthAccumulator(), CastorDigiProducer::CastorDigiProducer(), EcalDigiProducer::EcalDigiProducer(), EcalDigiProducer_Ph2::EcalDigiProducer_Ph2(), EcalTBDigiProducer::EcalTBDigiProducer(), EcalTimeDigiProducer::EcalTimeDigiProducer(), HcalDigiProducer::HcalDigiProducer(), HcalTBDigiProducer::HcalTBDigiProducer(), HGCDigiProducer::HGCDigiProducer(), MTDDigitizerBase::MTDDigitizerBase(), cms::Phase2TrackerDigitizer::Phase2TrackerDigitizer(), cms::PileupVertexAccumulator::PileupVertexAccumulator(), PreMixingCaloParticleWorker::PreMixingCaloParticleWorker(), edm::PreMixingCrossingFrameWorker< T >::PreMixingCrossingFrameWorker(), PreMixingDigiSimLinkWorker< DigiSimLinkCollection >::PreMixingDigiSimLinkWorker(), PreMixingEcalWorker::PreMixingEcalWorker(), PreMixingHcalWorker::PreMixingHcalWorker(), PreMixingHGCalWorker::PreMixingHGCalWorker(), 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 62 of file ProducesCollector.h.
References TtFullHadDaughter::B, and helper_.
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_, MuonErrorMatrixAdjuster_cfi::instanceName, and eostools::move().
|
inline |
Definition at line 76 of file ProducesCollector.h.
References TtFullHadDaughter::B, helper_, triggerObjects_cff::id, MuonErrorMatrixAdjuster_cfi::instanceName, and eostools::move().
|
inline |
Definition at line 57 of file ProducesCollector.h.
References helper_, MuonErrorMatrixAdjuster_cfi::instanceName, and eostools::move().
|
inline |
Definition at line 67 of file ProducesCollector.h.
References TtFullHadDaughter::B, helper_, MuonErrorMatrixAdjuster_cfi::instanceName, and eostools::move().
|
friend |
Definition at line 83 of file ProducesCollector.h.
|
private |
Definition at line 86 of file ProducesCollector.h.
Referenced by operator=(), and produces().