LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Creates a proxy wrapper for merging into another proxy ("main"). More...
#include "ProxyAsAuxProxyMaker.h"
Public Types | |
using | data_tag = AuxTag |
Tag labelling the associated data we are going to produce. More... | |
using | main_element_t = Main |
Type of the main datum. More... | |
using | aux_proxy_t = AuxProxy |
Tag-type of the auxiliary proxy (not the type of the proxy!). More... | |
Static Public Member Functions | |
template<typename Event , typename Handle , typename MainArgs , typename... AuxArgs> | |
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. More... | |
Static Private Member Functions | |
template<typename Event , typename... AuxArgs> | |
static auto | makeAuxiliaryProxy (Event const &event, art::InputTag const &auxProxyTag, AuxArgs &&...args) |
Creates the proxy to be used as parallel data. More... | |
Creates a proxy wrapper for merging into another proxy ("main").
Main | type of main datum (element) of the main proxy |
AuxProxy | type ("proxy name") of the proxy being wrapped |
AuxTag | tag of the auxiliary proxy in the context of the main one |
By default, AuxTag
is the same as the proxy name.
This class works as a base class for ProxyAsAuxProxyMaker
so that the specializations of the latter can still inherit from this one if they its facilities.
Definition at line 44 of file ProxyAsAuxProxyMaker.h.
using proxy::ProxyAsAuxProxyMakerBase< Main, AuxProxy, AuxTag >::aux_proxy_t = AuxProxy |
Tag-type of the auxiliary proxy (not the type of the proxy!).
Definition at line 53 of file ProxyAsAuxProxyMaker.h.
using proxy::ProxyAsAuxProxyMakerBase< Main, AuxProxy, AuxTag >::data_tag = AuxTag |
Tag labelling the associated data we are going to produce.
Definition at line 47 of file ProxyAsAuxProxyMaker.h.
using proxy::ProxyAsAuxProxyMakerBase< Main, AuxProxy, AuxTag >::main_element_t = Main |
Type of the main datum.
Definition at line 50 of file ProxyAsAuxProxyMaker.h.
|
inlinestatic |
Create a parallel data proxy collection using the specified tag.
Event | type of the event to read data from |
Handle | (unused) type of handle to the main data product |
MainArgs | (unused) any type convertible to art::InputTag |
AuxArgs | type of arguments for the creation of the auxiliary proxy |
event | event to create the proxy from |
auxProxyTag | tag for the creation of the auxiliary collection proxy |
args | other arguments for the creation of the auxiliary proxy |
The returned object exposes a random access container interface, with data indexed by the index of the corresponding object in the main collection.
The tag of the main collection proxy is ignored even if present, and the caller must specify it.
Definition at line 74 of file ProxyAsAuxProxyMaker.h.
|
inlinestaticprivate |
Creates the proxy to be used as parallel data.
Definition at line 88 of file ProxyAsAuxProxyMaker.h.
Referenced by proxy::ProxyAsAuxProxyMakerBase< Main, AuxProxy, Tag >::make().