LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "Group.h"
Public Member Functions | |
Group ()=default | |
bool | productUnavailable () const |
bool | isReady () const override |
EDProduct const * | getIt () const override |
EDProduct const * | anyProduct () const override |
EDProduct const * | uniqueProduct () const override |
EDProduct const * | uniqueProduct (TypeID const &) const override |
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 |
bool | resolveProductIfAvailable (TypeID const &) const override |
void | write (std::ostream &os) const |
ProductID const & | productID () const |
TypeID const & | producedWrapperType () const |
virtual void | removeCachedProduct () const |
RangeSet const & | rangeOfValidity () const |
Protected Member Functions | |
Group (BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, art::TypeID const &wrapper_type, std::unique_ptr< EDProduct > &&edp=nullptr, cet::exempt_ptr< Worker > productProducer=cet::exempt_ptr< Worker >{}) | |
Group (BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, cet::exempt_ptr< Worker > productProducer, art::TypeID const &wrapper_type) | |
Group (BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, std::unique_ptr< EDProduct > &&edp, art::TypeID const &wrapper_type) | |
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 Member Functions | |
bool | dropped () const |
Private Attributes | |
TypeID | wrapperType_ {} |
cet::exempt_ptr< BranchMapper const > | ppResolver_ {nullptr} |
cet::exempt_ptr< DelayedReader const > | productResolver_ {nullptr} |
std::unique_ptr< EDProduct > | product_ {nullptr} |
cet::exempt_ptr< BranchDescription const > | branchDescription_ {nullptr} |
ProductID | pid_ {} |
cet::exempt_ptr< Worker > | productProducer_ {nullptr} |
RangeSet | rangeOfValidity_ {RangeSet::invalid()} |
Friends | |
template<typename... ARGS> | |
std::unique_ptr< Group > | gfactory::detail::make_group (BranchDescription const &, ARGS &&...args) |
|
default |
|
inlineprotected |
Definition at line 49 of file Group.h.
References branchDescription_, pid_, product_, productProducer_, rangeOfValidity_, and wrapperType_.
|
inlineprotected |
Definition at line 63 of file Group.h.
|
inlineprotected |
Definition at line 71 of file Group.h.
References productUnavailable().
|
inlineoverridevirtual |
Implements art::EDProductGetter.
Definition at line 97 of file Group.h.
References product_.
Referenced by art::AssnsGroup::anyProduct(), and art::detail::PrincipalProcessor< DETAIL >::operator()().
|
private |
Definition at line 132 of file Group.cc.
References branchDescription_.
Referenced by productUnavailable(), rangeOfValidity(), and status().
|
inlineoverridevirtual |
Implements art::EDProductGetter.
Definition at line 90 of file Group.h.
References producedWrapperType(), product_, and resolveProductIfAvailable().
|
inlineoverridevirtual |
|
inline |
Definition at line 123 of file Group.h.
References branchDescription_.
|
protected |
Definition at line 76 of file Group.cc.
References productDescription(), productResolver_, and rangeOfValidity_.
Referenced by rangeOfValidity(), and resolveProductIfAvailable().
|
inline |
Definition at line 135 of file Group.h.
References branchDescription_, and status().
|
inline |
Definition at line 162 of file Group.h.
References removeCachedProduct(), and wrapperType_.
Referenced by getIt(), art::detail::PrincipalProcessor< DETAIL >::operator()(), art::AssnsGroup::resolveProductIfAvailable(), and art::AssnsGroupWithData::resolveProductIfAvailable().
|
inline |
Definition at line 117 of file Group.h.
References branchDescription_.
Referenced by obtainDesiredProduct(), and resolveProduct().
|
inline |
|
inline |
Definition at line 129 of file Group.h.
References branchDescription_.
cet::exempt_ptr< art::ProductProvenance const > art::Group::productProvenancePtr | ( | ) | const |
Definition at line 96 of file Group.cc.
References branchDescription_, and ppResolver_.
Referenced by art::detail::PrincipalProcessor< DETAIL >::operator()(), resolveProduct(), status(), and uniqueProduct().
bool art::Group::productUnavailable | ( | ) | const |
Definition at line 84 of file Group.cc.
References dropped(), art::productstatus::present(), status(), and art::productstatus::unknown().
Referenced by Group(), resolveProduct(), art::AssnsGroup::resolveProductIfAvailable(), art::AssnsGroupWithData::resolveProductIfAvailable(), and resolveProductIfAvailable().
|
inline |
Definition at line 170 of file Group.h.
References dropped(), obtainDesiredProduct(), rangeOfValidity_, setProduct(), and throwResolveLogicError().
|
virtual |
Reimplemented in art::AssnsGroupWithData, and art::AssnsGroup.
Definition at line 106 of file Group.cc.
References branchDescription_, and product_.
Referenced by producedWrapperType(), and art::AssnsGroup::removeCachedProduct().
|
overridevirtual |
Implements art::EDProductGetter.
Definition at line 45 of file Group.cc.
References e, productDescription(), art::errors::ProductNotFound, productProvenancePtr(), productUnavailable(), and resolveProductIfAvailable().
Referenced by art::detail::PrincipalProcessor< DETAIL >::operator()(), and setResolvers().
|
overridevirtual |
Implements art::EDProductGetter.
Definition at line 60 of file Group.cc.
References obtainDesiredProduct(), product_, productUnavailable(), setProduct(), throwResolveLogicError(), and wrapperType_.
Referenced by getIt(), resolveProduct(), art::AssnsGroup::resolveProductIfAvailable(), and setResolvers().
|
protected |
Definition at line 116 of file Group.cc.
References product_.
Referenced by rangeOfValidity(), and resolveProductIfAvailable().
|
inline |
Definition at line 143 of file Group.h.
References ppResolver_, productResolver_, resolveProduct(), resolveProductIfAvailable(), and write().
art::ProductStatus art::Group::status | ( | ) | const |
Definition at line 14 of file Group.cc.
References art::productstatus::dropped(), dropped(), art::productstatus::neverCreated(), art::productstatus::present(), product_, productProvenancePtr(), and art::productstatus::unknown().
Referenced by processName(), and productUnavailable().
|
protected |
Definition at line 123 of file Group.cc.
References art::TypeID::className(), and art::errors::LogicError.
Referenced by rangeOfValidity(), art::AssnsGroup::resolveProductIfAvailable(), art::AssnsGroupWithData::resolveProductIfAvailable(), and resolveProductIfAvailable().
|
inlineoverridevirtual |
Implements art::EDProductGetter.
Definition at line 103 of file Group.h.
References product_.
Referenced by art::AssnsGroup::makePartner(), art::AssnsGroup::resolveProductIfAvailable(), and art::AssnsGroup::uniqueProduct().
Implements art::EDProductGetter.
Definition at line 109 of file Group.h.
References product_, and productProvenancePtr().
void art::Group::write | ( | std::ostream & | os | ) | const |
Definition at line 139 of file Group.cc.
References pid_.
Referenced by art::operator<<(), and setResolvers().
|
friend |
|
private |
Definition at line 191 of file Group.h.
Referenced by dropped(), Group(), moduleLabel(), processName(), productDescription(), productInstanceName(), productProvenancePtr(), and removeCachedProduct().
|
mutableprivate |
Definition at line 192 of file Group.h.
Referenced by Group(), productID(), and write().
|
private |
Definition at line 188 of file Group.h.
Referenced by productProvenancePtr(), and setResolvers().
|
mutableprivate |
Definition at line 190 of file Group.h.
Referenced by anyProduct(), getIt(), Group(), removeCachedProduct(), resolveProductIfAvailable(), setProduct(), status(), and uniqueProduct().
|
private |
|
private |
Definition at line 189 of file Group.h.
Referenced by obtainDesiredProduct(), and setResolvers().
|
mutableprivate |
Definition at line 194 of file Group.h.
Referenced by Group(), obtainDesiredProduct(), and rangeOfValidity().
|
private |
Definition at line 187 of file Group.h.
Referenced by Group(), producedWrapperType(), and resolveProductIfAvailable().