LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "AssnsGroup.h"
Public Member Functions | |
AssnsGroup ()=default | |
bool | isReady () const override |
EDProduct const * | getIt () const override |
EDProduct const * | anyProduct () const override |
EDProduct const * | uniqueProduct () const override |
EDProduct const * | uniqueProduct (TypeID const &wanted_wrapper_type) const override |
bool | resolveProductIfAvailable (TypeID const &) const override |
void | removeCachedProduct () const override |
bool | productUnavailable () const |
cet::exempt_ptr< ProductProvenance const > | productProvenancePtr () const |
BranchDescription const & | productDescription () const |
std::string const & | moduleLabel () const |
std::string const & | productInstanceName () const |
std::string const & | processName () const |
ProductStatus | status () const |
void | setResolvers (BranchMapper const &bm, DelayedReader const &dr) |
bool | resolveProduct (TypeID const &) const override |
void | write (std::ostream &os) const |
ProductID const & | productID () const |
TypeID const & | producedWrapperType () const |
RangeSet const & | rangeOfValidity () const |
Protected Member Functions | |
AssnsGroup (BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type, std::unique_ptr< EDProduct > &&edp=nullptr, cet::exempt_ptr< Worker > productProducer=cet::exempt_ptr< Worker >()) | |
AssnsGroup (BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, std::unique_ptr< EDProduct > &&edp, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type) | |
AssnsGroup (BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, cet::exempt_ptr< Worker > productProducer, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type) | |
TypeID const & | partnerWrapperType () const |
bool | makePartner (TypeID const &wanted_wrapper_type, std::unique_ptr< EDProduct > &partner) const |
std::unique_ptr< EDProduct > | obtainDesiredProduct (TypeID const &) const |
void | setProduct (std::unique_ptr< EDProduct > &&prod) const |
void | throwResolveLogicError (TypeID const &wanted_wrapper_type) const |
Private Attributes | |
TypeID | partnerWrapperType_ |
std::unique_ptr< EDProduct > | partnerProduct_ |
Friends | |
template<typename... ARGS> | |
std::unique_ptr< Group > | gfactory::detail::make_group (BranchDescription const &, ARGS &&...args) |
Definition at line 16 of file AssnsGroup.h.
|
default |
|
inlineprotected |
Definition at line 28 of file AssnsGroup.h.
References partnerProduct_, and partnerWrapperType_.
|
inlineprotected |
Definition at line 46 of file AssnsGroup.h.
|
inlineprotected |
Definition at line 60 of file AssnsGroup.h.
|
overridevirtual |
Implements art::EDProductGetter.
Reimplemented in art::AssnsGroupWithData.
Definition at line 13 of file AssnsGroup.cc.
References art::Group::anyProduct(), and partnerProduct_.
Referenced by art::AssnsGroupWithData::anyProduct(), and isReady().
|
overridevirtual |
Implements art::EDProductGetter.
Definition at line 7 of file AssnsGroup.cc.
References uniqueProduct().
Referenced by isReady().
|
inlineoverridevirtual |
Implements art::EDProductGetter.
Definition at line 77 of file AssnsGroup.h.
References anyProduct(), getIt(), removeCachedProduct(), resolveProductIfAvailable(), and uniqueProduct().
|
inlineprotected |
Definition at line 103 of file AssnsGroup.h.
References art::EDProduct::makePartner(), art::TypeID::typeInfo(), and art::Group::uniqueProduct().
Referenced by resolveProductIfAvailable(), and art::AssnsGroupWithData::resolveProductIfAvailable().
|
inlineinherited |
Definition at line 123 of file Group.h.
References art::Group::branchDescription_.
|
protectedinherited |
Definition at line 76 of file Group.cc.
References art::Group::productDescription(), art::Group::productResolver_, and art::Group::rangeOfValidity_.
Referenced by art::Group::rangeOfValidity(), and art::Group::resolveProductIfAvailable().
|
inlineprotected |
Definition at line 97 of file AssnsGroup.h.
References partnerWrapperType_.
Referenced by art::AssnsGroupWithData::resolveProductIfAvailable().
|
inlineinherited |
Definition at line 135 of file Group.h.
References art::Group::branchDescription_, and art::Group::status().
|
inlineinherited |
Definition at line 162 of file Group.h.
References art::Group::removeCachedProduct(), and art::Group::wrapperType_.
Referenced by art::Group::getIt(), art::detail::PrincipalProcessor< DETAIL >::operator()(), resolveProductIfAvailable(), and art::AssnsGroupWithData::resolveProductIfAvailable().
|
inlineinherited |
Definition at line 117 of file Group.h.
References art::Group::branchDescription_.
Referenced by art::Group::obtainDesiredProduct(), and art::Group::resolveProduct().
|
inlineinherited |
Definition at line 156 of file Group.h.
References art::Group::pid_.
|
inlineinherited |
Definition at line 129 of file Group.h.
References art::Group::branchDescription_.
|
inherited |
Definition at line 96 of file Group.cc.
References art::Group::branchDescription_, and art::Group::ppResolver_.
Referenced by art::detail::PrincipalProcessor< DETAIL >::operator()(), art::Group::resolveProduct(), art::Group::status(), and art::Group::uniqueProduct().
|
inherited |
Definition at line 84 of file Group.cc.
References art::Group::dropped(), art::productstatus::present(), art::Group::status(), and art::productstatus::unknown().
Referenced by art::Group::Group(), art::Group::resolveProduct(), resolveProductIfAvailable(), art::AssnsGroupWithData::resolveProductIfAvailable(), and art::Group::resolveProductIfAvailable().
|
inlineinherited |
Definition at line 170 of file Group.h.
References art::Group::dropped(), art::Group::obtainDesiredProduct(), art::Group::rangeOfValidity_, art::Group::setProduct(), and art::Group::throwResolveLogicError().
|
overridevirtual |
Reimplemented from art::Group.
Reimplemented in art::AssnsGroupWithData.
Definition at line 66 of file AssnsGroup.cc.
References partnerProduct_, and art::Group::removeCachedProduct().
Referenced by isReady(), and art::AssnsGroupWithData::removeCachedProduct().
|
overridevirtualinherited |
Implements art::EDProductGetter.
Definition at line 45 of file Group.cc.
References e, art::Group::productDescription(), art::errors::ProductNotFound, art::Group::productProvenancePtr(), art::Group::productUnavailable(), and art::Group::resolveProductIfAvailable().
Referenced by art::detail::PrincipalProcessor< DETAIL >::operator()(), and art::Group::setResolvers().
|
overridevirtual |
Implements art::EDProductGetter.
Reimplemented in art::AssnsGroupWithData.
Definition at line 44 of file AssnsGroup.cc.
References makePartner(), partnerProduct_, partnerWrapperType_, art::Group::producedWrapperType(), art::Group::productUnavailable(), art::Group::resolveProductIfAvailable(), art::Group::throwResolveLogicError(), uniqueProduct(), and art::Group::uniqueProduct().
Referenced by isReady(), and art::AssnsGroupWithData::resolveProductIfAvailable().
|
protectedinherited |
Definition at line 116 of file Group.cc.
References art::Group::product_.
Referenced by art::Group::rangeOfValidity(), and art::Group::resolveProductIfAvailable().
|
inlineinherited |
Definition at line 143 of file Group.h.
References art::Group::ppResolver_, art::Group::productResolver_, art::Group::resolveProduct(), art::Group::resolveProductIfAvailable(), and art::Group::write().
|
inherited |
Definition at line 14 of file Group.cc.
References art::productstatus::dropped(), art::Group::dropped(), art::productstatus::neverCreated(), art::productstatus::present(), art::Group::product_, art::Group::productProvenancePtr(), and art::productstatus::unknown().
Referenced by art::Group::processName(), and art::Group::productUnavailable().
|
protectedinherited |
Definition at line 123 of file Group.cc.
References art::TypeID::className(), and art::errors::LogicError.
Referenced by art::Group::rangeOfValidity(), resolveProductIfAvailable(), art::AssnsGroupWithData::resolveProductIfAvailable(), and art::Group::resolveProductIfAvailable().
|
overridevirtual |
Implements art::EDProductGetter.
Definition at line 23 of file AssnsGroup.cc.
References art::errors::LogicError.
Referenced by art::AssnsGroupWithData::AssnsGroupWithData(), getIt(), isReady(), resolveProductIfAvailable(), art::AssnsGroupWithData::resolveProductIfAvailable(), and art::AssnsGroupWithData::uniqueProduct().
|
overridevirtual |
Implements art::EDProductGetter.
Reimplemented in art::AssnsGroupWithData.
Definition at line 32 of file AssnsGroup.cc.
References partnerProduct_, partnerWrapperType_, and art::Group::uniqueProduct().
|
inherited |
Definition at line 139 of file Group.cc.
References art::Group::pid_.
Referenced by art::operator<<(), and art::Group::setResolvers().
|
friend |
|
mutableprivate |
Definition at line 117 of file AssnsGroup.h.
Referenced by anyProduct(), AssnsGroup(), removeCachedProduct(), resolveProductIfAvailable(), and uniqueProduct().
|
private |
Definition at line 116 of file AssnsGroup.h.
Referenced by AssnsGroup(), partnerWrapperType(), resolveProductIfAvailable(), and uniqueProduct().