11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_MAKEASSOCIATEDDATAFROM_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_MAKEASSOCIATEDDATAFROM_H 32 template <
typename Tag,
typename Assns>
35 return proxy::makeAssociatedData<Tag>(assns, minSize);
38 template <
typename Assns>
41 return makeAssociatedDataFrom<typename Assns::right_t>(assns, minSize);
69 template <
typename Main,
typename Aux,
typename Metadata,
typename Tag,
typename Event>
72 std::size_t minSize = 0);
74 template <
typename Main,
typename Aux,
typename Metadata,
typename Event>
77 return makeAssociatedDataFrom<Main, Aux, Metadata, Aux, Event>(event, tag, minSize);
80 template <
typename Main,
typename Aux,
typename Event>
83 return makeAssociatedDataFrom<Main, Aux, void, Aux, Event>(event, tag, minSize);
111 template <
typename Aux,
typename Metadata,
typename Tag,
typename Handle,
typename Event>
114 template <
typename Aux,
typename Metadata,
typename Handle,
typename Event>
117 return makeAssociatedDataFrom<Aux, Metadata, Aux, Handle, Event>(
118 std::forward<Handle>(handle), event, tag);
121 template <
typename Aux,
typename Handle,
typename Event>
124 return makeAssociatedDataFrom<Aux, void, Aux, Handle, Event>(
125 std::forward<Handle>(handle), event, tag);
142 template <
typename Tag,
typename MainColl,
typename Assns>
145 return proxy::makeAssociatedData<Tag>(assns, mainColl.size());
148 template <
typename MainColl,
typename Assns>
151 return makeAssociatedDataFrom<typename Assns::right_t>(mainColl, assns);
169 template <
typename Main,
typename Aux,
typename Metadata,
typename Tag,
typename Event>
177 using Metadata_t = Metadata;
179 using Assns_t =
typename AssociatedData_t::assns_t;
181 return makeAssociatedDataFrom<Tag>(*(
event.template getValidHandle<Assns_t>(tag)));
186 template <
typename Aux,
typename Metadata,
typename Tag,
typename Handle,
typename Event>
192 using Metadata_t = Metadata;
193 return makeAssociatedDataFrom<Main_t, Aux_t, Metadata_t, Tag>(event, tag, handle->size());
198 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_MAKEASSOCIATEDDATAFROM_H
auto makeAssociatedDataFrom(Assns const &assns, std::size_t minSize=0)
Auxiliary data from one-to-many sequential association.
Object to draft associated data interface.
Encloses LArSoft data product proxy objects and utilities.See this doxygen module for an introduction...
Event finding and building.