1 #ifndef art_Framework_Principal_Principal_h 2 #define art_Framework_Principal_Principal_h 38 #include "cetlib/exempt_ptr.h" 82 std::
string const& productInstanceName,
83 std::
string const& processName) const;
115 for (
auto const& val :
groups_) {
116 if (!val.second->productUnavailable()) {
117 val.second->resolveProduct(val.second->producedWrapperType());
125 for (
auto const& val :
groups_) {
126 (void)val.second->productProvenancePtr();
223 bool resolveProd)
const;
235 bool stopIfProcessHasMatch)
const;
240 bool stopIfProcessHasMatch)
const;
245 bool stopIfProcessHasMatch,
251 TypeID wanted_wrapper)
const;
274 mutable std::map<ProductID, std::shared_ptr<DeferredProductGetter const>>
cet::exempt_ptr< ProductTable const > presentProducts_
GroupQueryResultVec findGroupsForProduct(WrappedTypeID const &wrapped, SelectorBase const &, bool stopIfProcessHasMatch) const
virtual ~Principal() noexcept=default
std::unique_ptr< BranchMapper > branchMapperPtr_
bool presentFromSource(ProductID) const
std::map< std::string, std::vector< ProductID >> ProcessLookup
void fillGroup(std::unique_ptr< Group > &&group)
size_t findGroupsFromInputFile(WrappedTypeID const &wrapped, SelectorBase const &, GroupQueryResultVec &results, bool stopIfProcessHasMatch) const
const_iterator cbegin() const
ProcessHistory processHistory_
void removeCachedProduct(ProductID const pid) const
cet::exempt_ptr< Group const > getGroup(ProductID const pid) const
int tryNextSecondaryFile() const
cet::exempt_ptr< ProductTable const > producedProducts_
std::string const & producedClassName() const
GroupQueryResult getBySelector(WrappedTypeID const &wrapped, SelectorBase const &) const
collection_type::const_iterator const_iterator
virtual RangeSet seenRanges() const =0
std::unique_ptr< DelayedReader > store_
DelayedReader & productReader()
cet::exempt_ptr< Group const > getResolvedGroup(ProductID const pid, bool resolveProd) const
void readImmediate() const
bool processHistoryModified_
const_iterator cend() const
void setProducedProducts(ProductTable const &producedProducts)
OutputHandle getForOutput(ProductID const, bool resolveProd) const
const_iterator begin() const
size_t findGroups(ProcessLookup const &, SelectorBase const &, GroupQueryResultVec &results, bool stopIfProcessHasMatch, TypeID wanted_wrapper=TypeID{}) const
void addToProcessHistory()
BranchMapper const & branchMapper() const
ProcessHistory::const_iterator ProcessNameConstIterator
std::string const & moduleLabel() const
GroupQueryResultVec getMatchingSequence(SelectorBase const &) const
std::map< ProductID, std::shared_ptr< DeferredProductGetter const > > deferredGetters_
const_iterator end() const
GroupCollection::size_type size_type
void readProvenanceImmediate() const
virtual ProcessHistoryID const & processHistoryID() const =0
ProductID productID() const
virtual void fillGroup(BranchDescription const &)=0
std::vector< GroupQueryResult > GroupQueryResultVec
GroupQueryResultVec getMany(WrappedTypeID const &wrapped, SelectorBase const &) const
BranchMapper & branchMapper()
void addSecondaryPrincipal(std::unique_ptr< Principal > &&val)
EDProductGetter const * productGetter(ProductID const pid) const
int nextSecondaryFileIdx_
GroupQueryResultVec matchingSequenceFromInputFile(SelectorBase const &) const
ProcessConfiguration const & processConfiguration_
cet::exempt_ptr< Group const > result() const
std::map< ProductID, std::unique_ptr< Group >> GroupCollection
ProcessHistory const & processHistory() const
EDProductGetter const * getEDProductGetterImpl(ProductID const pid) const final override
virtual BranchType branchType() const =0
size_t findGroupsForProcess(std::vector< ProductID > const &vpid, SelectorBase const &selector, GroupQueryResultVec &results, TypeID wanted_wrapper) const
std::string const & processName() const
EDProductGetter const * deferredGetter_(ProductID const pid) const
std::vector< std::unique_ptr< Principal > > secondaryPrincipals_
GroupQueryResult getByProductID(ProductID const pid) const
GroupCollection::const_iterator const_iterator
std::string const & friendlyClassName() const
ProcessConfiguration const & processConfiguration() const
cet::exempt_ptr< Group const > getGroupForPtr(ProductID const pid) const
GroupQueryResult getByLabel(WrappedTypeID const &wrapped, std::string const &label, std::string const &productInstanceName, std::string const &processName) const
virtual void setProcessHistoryID(ProcessHistoryID const &)=0