CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::ProductRegistry Class Reference

#include <ProductRegistry.h>

Inheritance diagram for edm::ProductRegistry:
edm::SignallingProductRegistry

Classes

struct  Transients
 

Public Types

typedef std::map< BranchKey,
BranchDescription const > 
ConstProductList
 
typedef std::map< BranchKey,
BranchDescription
ProductList
 

Public Member Functions

void addLabelAlias (BranchDescription const &productdesc, std::string const &labelAlias, std::string const &instanceAlias)
 
void addProduct (BranchDescription const &productdesc, bool iFromListener=false)
 
std::vector< std::pair
< std::string, std::string >
> const & 
aliasToOriginal () const
 
std::vector< BranchDescription
const * > 
allBranchDescriptions () const
 
std::vector< std::string > allBranchNames () const
 
bool anyProductProduced () const
 
bool anyProducts (BranchType const brType) const
 
template<typename T >
void callForEachBranch (T const &iFunc)
 
void copyProduct (BranchDescription const &productdesc)
 
bool frozen () const
 
ProductHolderIndex const & getNextIndexValue (BranchType branchType) const
 
ProductHolderIndex indexFrom (BranchID const &iID) const
 
void initializeTransients ()
 
std::string merge (ProductRegistry const &other, std::string const &fileName, BranchDescription::MatchMode branchesMustMatch=BranchDescription::Permissive)
 
std::vector< TypeID > const & missingDictionaries () const
 
std::vector< TypeID > & missingDictionariesForUpdate ()
 
void print (std::ostream &os) const
 
ProductList const & productList () const
 
ProductListproductListUpdator ()
 
std::shared_ptr
< ProductHolderIndexHelper
const > 
productLookup (BranchType branchType) const
 
std::shared_ptr
< ProductHolderIndexHelper
productLookup (BranchType branchType)
 
bool productProduced (BranchType branchType) const
 
 ProductRegistry ()
 
 ProductRegistry (ProductList const &productList, bool toBeFrozen=true)
 
void setFrozen (bool initializeLookupInfo=true)
 
ProductList::size_type size () const
 
void updateFromInput (ProductList const &other)
 
void updateFromInput (std::vector< BranchDescription > const &other)
 
virtual ~ProductRegistry ()
 

Private Member Functions

virtual void addCalled (BranchDescription const &, bool iFromListener)
 
void freezeIt (bool frozen=true)
 
void initializeLookupTables ()
 
ProductHolderIndexnextIndexValue (BranchType branchType)
 
void setProductProduced (BranchType branchType)
 
void throwIfFrozen () const
 
void throwIfNotFrozen () const
 

Private Attributes

ProductList productList_
 
Transients transient_
 

Detailed Description

author Stefano ARGIRO author Bill Tanenbaum

Date
19 Jul 2005

Definition at line 31 of file ProductRegistry.h.

Member Typedef Documentation

Definition at line 45 of file ProductRegistry.h.

Definition at line 34 of file ProductRegistry.h.

Constructor & Destructor Documentation

edm::ProductRegistry::ProductRegistry ( )

Definition at line 30 of file ProductRegistry.cc.

edm::ProductRegistry::ProductRegistry ( ProductList const &  productList,
bool  toBeFrozen = true 
)
explicit

Definition at line 70 of file ProductRegistry.cc.

virtual edm::ProductRegistry::~ProductRegistry ( )
inlinevirtual

Definition at line 43 of file ProductRegistry.h.

Member Function Documentation

void edm::ProductRegistry::addCalled ( BranchDescription const &  ,
bool  iFromListener 
)
privatevirtual

Reimplemented in edm::SignallingProductRegistry.

Definition at line 174 of file ProductRegistry.cc.

void edm::ProductRegistry::addLabelAlias ( BranchDescription const &  productdesc,
std::string const &  labelAlias,
std::string const &  instanceAlias 
)

Definition at line 92 of file ProductRegistry.cc.

void edm::ProductRegistry::addProduct ( BranchDescription const &  productdesc,
bool  iFromListener = false 
)

Definition at line 77 of file ProductRegistry.cc.

Referenced by edm::ProductRegistryHelper::addToRegistry().

std::vector<std::pair<std::string, std::string> > const& edm::ProductRegistry::aliasToOriginal ( ) const
inline

Definition at line 119 of file ProductRegistry.h.

std::vector< BranchDescription const * > edm::ProductRegistry::allBranchDescriptions ( ) const

Definition at line 189 of file ProductRegistry.cc.

std::vector< std::string > edm::ProductRegistry::allBranchNames ( ) const

Definition at line 178 of file ProductRegistry.cc.

bool edm::ProductRegistry::anyProductProduced ( ) const
inline

Definition at line 109 of file ProductRegistry.h.

bool edm::ProductRegistry::anyProducts ( BranchType const  brType) const

Definition at line 122 of file ProductRegistry.cc.

template<typename T >
void edm::ProductRegistry::callForEachBranch ( T const &  iFunc)
inline
void edm::ProductRegistry::copyProduct ( BranchDescription const &  productdesc)

Definition at line 108 of file ProductRegistry.cc.

void edm::ProductRegistry::freezeIt ( bool  frozen = true)
inlineprivate

Definition at line 166 of file ProductRegistry.h.

bool edm::ProductRegistry::frozen ( ) const
inline

Definition at line 127 of file ProductRegistry.h.

ProductHolderIndex const & edm::ProductRegistry::getNextIndexValue ( BranchType  branchType) const

Definition at line 336 of file ProductRegistry.cc.

ProductHolderIndex edm::ProductRegistry::indexFrom ( BranchID const &  iID) const

Definition at line 321 of file ProductRegistry.cc.

void edm::ProductRegistry::initializeLookupTables ( )
private

Definition at line 259 of file ProductRegistry.cc.

void edm::ProductRegistry::initializeTransients ( )
inline

Definition at line 125 of file ProductRegistry.h.

std::string edm::ProductRegistry::merge ( ProductRegistry const &  other,
std::string const &  fileName,
BranchDescription::MatchMode  branchesMustMatch = BranchDescription::Permissive 
)

Definition at line 214 of file ProductRegistry.cc.

std::vector<TypeID> const& edm::ProductRegistry::missingDictionaries ( ) const
inline

Definition at line 111 of file ProductRegistry.h.

std::vector<TypeID>& edm::ProductRegistry::missingDictionariesForUpdate ( )
inline

Definition at line 115 of file ProductRegistry.h.

ProductHolderIndex & edm::ProductRegistry::nextIndexValue ( BranchType  branchType)
private

Definition at line 343 of file ProductRegistry.cc.

void edm::ProductRegistry::print ( std::ostream &  os) const

Definition at line 329 of file ProductRegistry.cc.

ProductList const& edm::ProductRegistry::productList ( ) const
inline
ProductList& edm::ProductRegistry::productListUpdator ( )
inline

Definition at line 68 of file ProductRegistry.h.

Referenced by edm::WorkerManager::setOnDemandProducts().

std::shared_ptr< ProductHolderIndexHelper const > edm::ProductRegistry::productLookup ( BranchType  branchType) const

Definition at line 134 of file ProductRegistry.cc.

Referenced by edm::WorkerManager::beginJob().

std::shared_ptr< ProductHolderIndexHelper > edm::ProductRegistry::productLookup ( BranchType  branchType)

Definition at line 141 of file ProductRegistry.cc.

bool edm::ProductRegistry::productProduced ( BranchType  branchType) const
inline

Definition at line 108 of file ProductRegistry.h.

void edm::ProductRegistry::setFrozen ( bool  initializeLookupInfo = true)

Definition at line 148 of file ProductRegistry.cc.

void edm::ProductRegistry::setProductProduced ( BranchType  branchType)
inlineprivate

Definition at line 161 of file ProductRegistry.h.

ProductList::size_type edm::ProductRegistry::size ( void  ) const
inline

Definition at line 96 of file ProductRegistry.h.

void edm::ProductRegistry::throwIfFrozen ( ) const
private

Definition at line 158 of file ProductRegistry.cc.

void edm::ProductRegistry::throwIfNotFrozen ( ) const
private

Definition at line 166 of file ProductRegistry.cc.

void edm::ProductRegistry::updateFromInput ( ProductList const &  other)
void edm::ProductRegistry::updateFromInput ( std::vector< BranchDescription > const &  other)

Definition at line 207 of file ProductRegistry.cc.

Member Data Documentation

ProductList edm::ProductRegistry::productList_
private

Definition at line 175 of file ProductRegistry.h.

Transients edm::ProductRegistry::transient_
private

Definition at line 176 of file ProductRegistry.h.