1 #ifndef DataFormats_Provenance_BranchMapper_h
2 #define DataFormats_Provenance_BranchMapper_h
14 #include "tbb/concurrent_unordered_set.h"
24 class ProvenanceReaderBase;
65 mutable tbb::concurrent_unordered_set<ProductProvenance, ProductProvenanceHasher, ProductProvenanceEqual>
entryInfoSet_;
76 virtual std::set<ProductProvenance>
readProvenance(
unsigned int transitionIndex)
const = 0;
BranchID const & branchID() const
void readProvenance() const
tbb::concurrent_unordered_set< ProductProvenance, ProductProvenanceHasher, ProductProvenanceEqual > entryInfoSet_
void deepCopy(ProductProvenanceRetriever const &)
ProductProvenanceRetriever & operator=(ProductProvenanceRetriever const &)=delete
unsigned int transitionIndex_
~ProductProvenanceRetriever()
virtual ~ProvenanceReaderBase()
void mergeProvenanceRetrievers(std::shared_ptr< ProductProvenanceRetriever > other)
size_t operator()(ProductProvenance const &tid) const
std::shared_ptr< const ProvenanceReaderBase > provenanceReader_
bool operator()(ProductProvenance const &iLHS, ProductProvenance const iRHS) const
std::atomic< const std::set< ProductProvenance > * > readEntryInfoSet_
virtual std::set< ProductProvenance > readProvenance(unsigned int transitionIndex) const =0
ProductProvenanceRetriever(unsigned int iTransitionIndex)
edm::propagate_const< std::shared_ptr< ProductProvenanceRetriever > > nextRetriever_
ProductProvenance const * branchIDToProvenance(BranchID const &bid) const
void setTransitionIndex(unsigned int transitionIndex)
void insertIntoSet(ProductProvenance const &provenanceProduct) const