LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Creates an one-to-(zero-or-one) wrapper for the specified types. More...
#include "OneTo01DataProxyMaker.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 ("left"). More... | |
using | aux_element_t = Aux |
Type of the auxiliary associated datum ("right"). More... | |
using | metadata_t = Metadata |
Type of associated metadata. More... | |
using | aux_collection_proxy_t = details::OneTo01Data< main_element_t, aux_element_t, metadata_t, data_tag > |
Type of associated data proxy being created. More... | |
using | assns_t = typename aux_collection_proxy_t::assns_t |
Type of art association being used as input. More... | |
Static Public Member Functions | |
template<typename Event , typename Handle , typename MainArgs > | |
static auto | make (Event const &event, Handle &&mainHandle, MainArgs const &mainArgs) |
Create a association proxy collection using main collection tag. More... | |
template<typename Event , typename Handle , typename MainArgs > | |
static auto | make (Event const &event, Handle &&mainHandle, MainArgs const &, art::InputTag const &auxInputTag) |
Create a association proxy collection using the specified tag. More... | |
template<typename Event , typename Handle , typename MainArgs , typename Assns > | |
static auto | make (Event const &, Handle &&handle, MainArgs const &, Assns const &assns) |
Create a association proxy collection using the specified tag. More... | |
Static Private Member Functions | |
template<typename Event , typename Handle > | |
static auto | createFromTag (Event const &event, Handle &&mainHandle, art::InputTag const &auxInputTag) |
Creates an one-to-(zero-or-one) wrapper for the specified types.
Main | type of main datum (element) to associate from ("left") |
Aux | type of datum (element) to associate to ("right") |
Metadata | type of metadata coming with the association |
AuxTag | tag labelling this association |
Usually, AuxTag
is also the type of datum (element) to associate to ("right").
This class works as a base class for OneTo01DataProxyMaker
so that the specializations of the latter can still inherit from this one if they its facilities.
Definition at line 49 of file OneTo01DataProxyMaker.h.
using proxy::OneTo01DataProxyMakerBase< Main, Aux, Metadata, AuxTag >::assns_t = typename aux_collection_proxy_t::assns_t |
Type of art association being used as input.
Definition at line 68 of file OneTo01DataProxyMaker.h.
using proxy::OneTo01DataProxyMakerBase< Main, Aux, Metadata, AuxTag >::aux_collection_proxy_t = details::OneTo01Data<main_element_t, aux_element_t, metadata_t, data_tag> |
Type of associated data proxy being created.
Definition at line 65 of file OneTo01DataProxyMaker.h.
using proxy::OneTo01DataProxyMakerBase< Main, Aux, Metadata, AuxTag >::aux_element_t = Aux |
Type of the auxiliary associated datum ("right").
Definition at line 58 of file OneTo01DataProxyMaker.h.
using proxy::OneTo01DataProxyMakerBase< Main, Aux, Metadata, AuxTag >::data_tag = AuxTag |
Tag labelling the associated data we are going to produce.
Definition at line 52 of file OneTo01DataProxyMaker.h.
using proxy::OneTo01DataProxyMakerBase< Main, Aux, Metadata, AuxTag >::main_element_t = Main |
Type of the main datum ("left").
Definition at line 55 of file OneTo01DataProxyMaker.h.
using proxy::OneTo01DataProxyMakerBase< Main, Aux, Metadata, AuxTag >::metadata_t = Metadata |
Type of associated metadata.
Definition at line 61 of file OneTo01DataProxyMaker.h.
|
inlinestaticprivate |
Definition at line 140 of file OneTo01DataProxyMaker.h.
Referenced by proxy::OneTo01DataProxyMakerBase< Main, Aux, Metadata, Tag >::make().
|
inlinestatic |
Create a association proxy collection using main collection tag.
Event | type of the event to read associations from |
Handle | type of handle to the main data product |
MainArgs | any type convertible to art::InputTag |
event | the event to read associations from |
mainHandle | handle to the main collection data product |
mainArgs | an object describing the main data product |
The returned object exposes a random access container interface, with data indexed by the index of the corresponding object in the main collection.
The mainArgs
object is of an arbitrary type that must be convertible by explicit type cast into a art::InputTag
; that input tag will be used to fetch the association.
Definition at line 89 of file OneTo01DataProxyMaker.h.
|
inlinestatic |
Create a association proxy collection using the specified tag.
Event | type of the event to read associations from |
Handle | type of handle to the main data product |
MainArgs | any type convertible to art::InputTag (unused) |
event | the event to read associations from |
mainHandle | handle to the main collection data product |
auxInputTag | the tag of the association to be read |
The returned object exposes a random access container interface, with data indexed by the index of the corresponding object in the main collection.
Definition at line 109 of file OneTo01DataProxyMaker.h.
|
inlinestatic |
Create a association proxy collection using the specified tag.
Event | type of the event to read associations from (unused) |
Handle | type of handle to the main data product |
MainArgs | any type convertible to art::InputTag (unused) |
handle | handle to the main data collection |
assns | the associations to be wrapped |
The returned object exposes a random access container interface, with data indexed by the index of the corresponding object in the main collection.
Definition at line 131 of file OneTo01DataProxyMaker.h.