1 #ifndef art_Framework_Principal_AssnsGroupWithData_h 2 #define art_Framework_Principal_AssnsGroupWithData_h 8 #include "cetlib/exempt_ptr.h" 11 class AssnsGroupWithData;
17 template <
typename... ARGS>
30 TypeID const& primary_wrapper_type,
31 TypeID const& partner_wrapper_type,
32 TypeID const& base_wrapper_type,
33 TypeID const& partner_base_wrapper_type,
34 std::unique_ptr<EDProduct>&& edp =
nullptr,
35 cet::exempt_ptr<Worker> productProducer = cet::exempt_ptr<Worker>())
52 std::unique_ptr<EDProduct>&& edp,
53 TypeID const& primary_wrapper_type,
54 TypeID const& partner_wrapper_type,
55 TypeID const& base_wrapper_type,
56 TypeID const& partner_base_wrapper_type)
63 partner_base_wrapper_type,
70 cet::exempt_ptr<Worker> productProducer,
71 TypeID const& primary_wrapper_type,
72 TypeID const& partner_wrapper_type,
73 TypeID const& base_wrapper_type,
74 TypeID const& partner_base_wrapper_type)
81 partner_base_wrapper_type,
91 TypeID const& wanted_wrapper_type)
const override;
EDProduct const * uniqueProduct() const override
std::unique_ptr< EDProduct > partnerBaseProduct_
AssnsGroupWithData(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 &base_wrapper_type, TypeID const &partner_base_wrapper_type)
EDProduct const * anyProduct() const override
std::unique_ptr< Group > make_group(BranchDescription const &pd, ARGS &&...args)
std::unique_ptr< EDProduct > baseProduct_
TypeID partnerBaseWrapperType_
bool resolveProductIfAvailable(TypeID const &) const override
AssnsGroupWithData()=default
void removeCachedProduct() const override
AssnsGroupWithData(BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, std::unique_ptr< EDProduct > &&edp, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type, TypeID const &base_wrapper_type, TypeID const &partner_base_wrapper_type)
AssnsGroupWithData(BranchDescription const &pd, ProductID const &pid, RangeSet &&rs, TypeID const &primary_wrapper_type, TypeID const &partner_wrapper_type, TypeID const &base_wrapper_type, TypeID const &partner_base_wrapper_type, std::unique_ptr< EDProduct > &&edp=nullptr, cet::exempt_ptr< Worker > productProducer=cet::exempt_ptr< Worker >())