11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_PARALLELDATAPROXYMAKER_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_PARALLELDATAPROXYMAKER_H 105 template<
typename Event,
typename Handle,
typename MainArgs>
107 (Event
const&
event, Handle&& mainHandle, MainArgs
const& mainArgs)
110 (event, std::forward<Handle>(mainHandle),
art::InputTag(mainArgs));
127 template<
typename Event,
typename Handle,
typename MainArgs>
129 Event
const& event, Handle&& mainHandle,
134 createFromTag(event, std::forward<Handle>(mainHandle), auxInputTag);
149 template<
typename Event,
typename Handle,
typename MainArgs>
153 return makeParallelDataFrom<aux_collection_t, aux_element_t, data_tag>
159 template<
typename Event,
typename Handle>
163 return makeParallelDataFrom<aux_collection_t, aux_element_t, data_tag>
164 (event, auxInputTag);
204 typename Main,
typename Aux,
typename CollProxy,
typename Tag = Aux,
205 typename AuxColl = std::vector<Aux>
253 <
typename Event,
typename Handle,
typename MainArgs,
typename... Args>
255 Event
const& event, Handle&& mainHandle, MainArgs
const& margs,
261 std::forward<Handle>(mainHandle),
263 std::forward<Args>(args)...
280 template <
typename Aux,
typename AuxTag,
typename AuxColl =
void>
282 template <
typename CollProxy>
284 <
typename CollProxy::main_element_t, Aux, CollProxy, AuxTag, AuxColl>;
287 template <
typename Aux,
typename AuxTag>
289 template <
typename CollProxy>
291 <
typename CollProxy::main_element_t, Aux, CollProxy, AuxTag>;
301 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_PARALLELDATAPROXYMAKER_H Object to draft parallel data interface.
Helper functions to create proxy::ParallelData objects.
Creates an associated data wrapper for the specified types.
static auto make(Event const &event, Handle &&mainHandle, MainArgs const &margs, Args &&...args)
Create a association proxy collection using main collection tag.
Auxiliary data from parallel data products.
AuxColl aux_collection_t
Type of the auxiliary data product.
Encloses LArSoft data product proxy objects and utilities.See this doxygen module for an introduction...
Creates an parallel data wrapper for the specified types.
static auto createFromTag(Event const &event, Handle &&, art::InputTag const &auxInputTag)
Main main_element_t
Type of the main datum.
Tag data_tag
Tag labelling the associated data we are going to produce.
static auto make(Event const &event, Handle &&mainHandle, MainArgs const &mainArgs)
Create a parallel data proxy collection using main collection tag.
static auto make(Event const &event, Handle &&mainHandle, MainArgs const &, art::InputTag const &auxInputTag)
Create a parallel data proxy collection using the specified tag.
Event finding and building.
Aux aux_element_t
Type of the auxiliary datum.