11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_PROXYASAUXPROXYMAKER_H
12 #define LARDATA_RECOBASEPROXY_PROXYBASE_PROXYASAUXPROXYMAKER_H
20 #include "canvas/Utilities/InputTag.h"
47 typename AuxTag = AuxProxy
79 <
typename Event,
typename Handle,
typename MainArgs,
typename... AuxArgs>
81 Event
const& event, Handle&&, MainArgs
const&,
82 art::InputTag
const& auxProxyTag, AuxArgs&&...
args
86 (event, auxProxyTag, std::forward<AuxArgs>(
args)...);
89 (std::move(auxProxy));
96 template <
typename Event,
typename... AuxArgs>
99 art::InputTag
const& auxProxyTag,
103 return getCollection<aux_proxy_t>
104 (event, auxProxyTag, std::forward<AuxArgs>(
args)...);
161 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_PROXYASAUXPROXYMAKER_H
Tag data_tag
Tag labelling the associated data we are going to produce.
AuxProxy aux_proxy_t
Tag-type of the auxiliary proxy (not the type of the proxy!).
static auto makeAuxiliaryProxy(Event const &event, art::InputTag const &auxProxyTag, AuxArgs &&...args)
Creates the proxy to be used as parallel data.
Main main_element_t
Type of the main datum.
Creates an auxiliary proxy wrapper for the specified proxy.
Data encapsulating a collection proxy as auxiliary data.
Creates a proxy wrapper for merging into another proxy ("main").
static auto make(Event const &event, Handle &&, MainArgs const &, art::InputTag const &auxProxyTag, AuxArgs &&...args)
Create a parallel data proxy collection using the specified tag.
Creation of a collection proxy.
auto makeProxyAsParallelData(AuxProxyColl &&auxProxy)