1 #ifndef DataFormats_Provenance_ProductRegistry_h 2 #define DataFormats_Provenance_ProductRegistry_h 30 class ProductResolverIndexHelper;
56 void setFrozen(
bool initializeLookupInfo =
true);
58 void setFrozen(std::set<TypeID>
const& productTypesConsumed,
59 std::set<TypeID>
const& elementTypesConsumed,
97 for(ProductRegistry::ProductList::const_iterator itEntry =
productList_.begin(),
99 itEntry != itEntryEnd; ++itEntry) {
100 iFunc(itEntry->second);
105 void print(std::ostream& os)
const;
166 std::set<TypeID>
const* elementTypesConsumed,
170 std::set<TypeID>
const* elementTypesConsumed,
171 std::map<TypeID, TypeID>
const& containedTypeMap,
172 std::map<
TypeID, std::vector<TypeWithDict> >& containedTypeToBaseTypesMap);
void initializeTransients()
edm::propagate_const< std::shared_ptr< ProductResolverIndexHelper > > lumiProductLookup_
std::shared_ptr< ProductResolverIndexHelper > & eventProductLookup()
void setProductProduced(BranchType branchType)
unsigned int ProductResolverIndex
void throwIfNotFrozen() const
std::vector< std::string > allBranchNames() const
std::map< BranchKey, BranchDescription const > ConstProductList
std::map< BranchKey, BranchDescription > ProductList
bool anyProducts(BranchType const brType) const
std::shared_ptr< ProductResolverIndexHelper const > lumiProductLookup() const
ProductList::size_type size() const
void addLabelAlias(BranchDescription const &productdesc, std::string const &labelAlias, std::string const &instanceAlias)
std::shared_ptr< ProductResolverIndexHelper const > eventProductLookup() const
virtual void addCalled(BranchDescription const &, bool iFromListener)
ProductList const & productList() const
void initializeLookupTables(std::set< TypeID > const *productTypesConsumed, std::set< TypeID > const *elementTypesConsumed, std::string const *processName)
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &) noexcept
ProductResolverIndex eventNextIndexValue_
std::shared_ptr< ProductResolverIndexHelper const > runProductLookup() const
ProductResolverIndex lumiNextIndexValue_
void checkForDuplicateProcessName(BranchDescription const &desc, std::string const *processName) const
ProductResolverIndex & nextIndexValue(BranchType branchType)
virtual ~ProductRegistry()
std::vector< BranchDescription const * > allBranchDescriptions() const
std::string merge(ProductRegistry const &other, std::string const &fileName, BranchDescription::MatchMode branchesMustMatch=BranchDescription::Permissive)
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
void setFrozen(bool initializeLookupInfo=true)
void freezeIt(bool frozen=true)
void callForEachBranch(T const &iFunc)
std::shared_ptr< ProductResolverIndexHelper > & runProductLookup()
void print(std::ostream &os) const
bool productProduced(BranchType branchType) const
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &) noexcept
std::vector< std::pair< std::string, std::string > > const & aliasToOriginal() const
ProductResolverIndex runNextIndexValue_
ProductList & productListUpdator()
std::vector< std::pair< std::string, std::string > > aliasToOriginal_
std::shared_ptr< ProductResolverIndexHelper const > productLookup(BranchType branchType) const
bool anyProductProduced() const
ProductResolverIndex const & getNextIndexValue(BranchType branchType) const
void throwIfFrozen() const
void updateFromInput(ProductList const &other)
std::array< bool, NumBranchTypes > productProduced_
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
void checkDictionariesOfConsumedTypes(std::set< TypeID > const *productTypesConsumed, std::set< TypeID > const *elementTypesConsumed, std::map< TypeID, TypeID > const &containedTypeMap, std::map< TypeID, std::vector< TypeWithDict > > &containedTypeToBaseTypesMap)
edm::propagate_const< std::shared_ptr< ProductResolverIndexHelper > > eventProductLookup_
ProductResolverIndex indexFrom(BranchID const &iID) const
void addProduct(BranchDescription const &productdesc, bool iFromListener=false)
std::map< BranchID, ProductResolverIndex > branchIDToIndex_
edm::propagate_const< std::shared_ptr< ProductResolverIndexHelper > > runProductLookup_
def branchType(schema, name)
void copyProduct(BranchDescription const &productdesc)
std::shared_ptr< ProductResolverIndexHelper > & lumiProductLookup()