CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
edm::stream::EDProducerBase Class Referenceabstract

#include "FWCore/Framework/interface/stream/EDProducerBase.h"

Inheritance diagram for edm::stream::EDProducerBase:
edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper edm::stream::impl::Accumulator

Public Types

typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
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
 
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)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void beginStream (StreamID)
 
virtual void doAcquire_ (Event const &, EventSetup const &, WaitingTaskWithArenaHolder &)=0
 
 EDProducerBase (const EDProducerBase &)=delete
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endRun (edm::Run const &, edm::EventSetup const &)
 
virtual void endStream ()
 
const EDProducerBaseoperator= (const EDProducerBase &)=delete
 
virtual void produce (Event &, EventSetup const &)=0
 
virtual void registerThinnedAssociations (ProductRegistry const &, ThinnedAssociationsHelper &)
 
void setModuleDescriptionPtr (ModuleDescription const *iDesc)
 

Private Attributes

std::vector< BranchIDgotBranchIDsFromAcquire_
 
ModuleDescription const * moduleDescriptionPtr_
 
std::vector< BranchIDpreviousParentage_
 
ParentageID previousParentageId_
 

Friends

class EDProducerAdaptorBase
 
class ProducingModuleAdaptorBase< EDProducerBase >
 

Additional Inherited Members

- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: [one line class summary]

Usage: <usage>

Definition at line 44 of file EDProducerBase.h.

Member Typedef Documentation

Definition at line 50 of file EDProducerBase.h.

Constructor & Destructor Documentation

EDProducerBase::EDProducerBase ( )

Definition at line 34 of file EDProducerBase.cc.

Referenced by moduleDescription().

34 : moduleDescriptionPtr_(nullptr) {}
ModuleDescription const * moduleDescriptionPtr_
EDProducerBase::~EDProducerBase ( )
override

Definition at line 41 of file EDProducerBase.cc.

41 {}
edm::stream::EDProducerBase::EDProducerBase ( const EDProducerBase )
privatedelete

Member Function Documentation

const std::string & EDProducerBase::baseType ( )
static

Definition at line 76 of file EDProducerBase.cc.

References edm::kBaseType().

76 { return kBaseType; }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::stream::EDProducerBase::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 69 of file EDProducerBase.h.

References produce().

69 {}
virtual void edm::stream::EDProducerBase::beginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 68 of file EDProducerBase.h.

68 {}
virtual void edm::stream::EDProducerBase::beginStream ( StreamID  )
inlineprivatevirtual

Definition at line 67 of file EDProducerBase.h.

67 {}
virtual void edm::stream::EDProducerBase::doAcquire_ ( Event const &  ,
EventSetup const &  ,
WaitingTaskWithArenaHolder  
)
privatepure virtual
virtual void edm::stream::EDProducerBase::endLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 71 of file EDProducerBase.h.

71 {}
virtual void edm::stream::EDProducerBase::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 72 of file EDProducerBase.h.

72 {}
virtual void edm::stream::EDProducerBase::endStream ( )
inlineprivatevirtual

Definition at line 73 of file EDProducerBase.h.

73 {}
void EDProducerBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 66 of file EDProducerBase.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

66  {
68  desc.setUnknown();
69  descriptions.addDefault(desc);
70 }
ModuleDescription const& edm::stream::EDProducerBase::moduleDescription ( ) const
inline

Definition at line 60 of file EDProducerBase.h.

References EDProducerBase(), moduleDescriptionPtr_, and operator=().

60 { return *moduleDescriptionPtr_; }
ModuleDescription const * moduleDescriptionPtr_
const EDProducerBase& edm::stream::EDProducerBase::operator= ( const EDProducerBase )
privatedelete

Referenced by moduleDescription().

void EDProducerBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 72 of file EDProducerBase.cc.

References edm::edmodule_mightGet_config(), edm::kBaseType(), and AlCaHLTBitMon_QueryRunRegistry::string.

72 { edmodule_mightGet_config(iConfig); }
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
virtual void edm::stream::EDProducerBase::produce ( Event ,
EventSetup const &   
)
privatepure virtual
virtual void edm::stream::EDProducerBase::registerThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivatevirtual

Definition at line 75 of file EDProducerBase.h.

References doAcquire_().

75 {}
void edm::stream::EDProducerBase::setModuleDescriptionPtr ( ModuleDescription const *  iDesc)
inlineprivate

Definition at line 79 of file EDProducerBase.h.

References moduleDescriptionPtr_.

79 { moduleDescriptionPtr_ = iDesc; }
ModuleDescription const * moduleDescriptionPtr_

Friends And Related Function Documentation

friend class EDProducerAdaptorBase
friend

Definition at line 46 of file EDProducerBase.h.

Definition at line 47 of file EDProducerBase.h.

Member Data Documentation

std::vector<BranchID> edm::stream::EDProducerBase::gotBranchIDsFromAcquire_
private

Definition at line 82 of file EDProducerBase.h.

ModuleDescription const* edm::stream::EDProducerBase::moduleDescriptionPtr_
private

Definition at line 84 of file EDProducerBase.h.

Referenced by moduleDescription(), and setModuleDescriptionPtr().

std::vector<BranchID> edm::stream::EDProducerBase::previousParentage_
private

Definition at line 81 of file EDProducerBase.h.

ParentageID edm::stream::EDProducerBase::previousParentageId_
private

Definition at line 83 of file EDProducerBase.h.