LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Creates an parallel data wrapper for the specified types. More...
#include "ParallelDataProxyMaker.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_collection_t = AuxColl |
Type of the auxiliary data product. More... | |
using | aux_element_t = Aux |
Type of the auxiliary datum. More... | |
using | aux_collection_proxy_t = details::ParallelData< aux_collection_t, aux_element_t, data_tag > |
Type of associated data proxy being created. 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 parallel data 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 parallel data proxy collection using the specified tag. More... | |
template<typename Event , typename Handle , typename MainArgs > | |
static auto | make (Event const &, Handle &&, MainArgs const &, aux_collection_t const &auxColl) |
Create a parallel data proxy collection using the specified tag. More... | |
Static Private Member Functions | |
template<typename Event , typename Handle > | |
static auto | createFromTag (Event const &event, Handle &&, art::InputTag const &auxInputTag) |
Creates an parallel data wrapper for the specified types.
Main | type of main datum (element) |
AuxColl | type of the parallel data collection |
Aux | type of the parallel data element |
AuxTag | tag labelling the parallel data collection |
Usually, AuxTag
is also the type of datum (element) in the parallel collection.
This class works as a base class for ParallelDataProxyMaker
so that the specializations of the latter can still inherit from this one if they its facilities.
Definition at line 64 of file ParallelDataProxyMaker.h.
using proxy::ParallelDataProxyMakerBase< Main, AuxColl, Aux, AuxTag >::aux_collection_proxy_t = details::ParallelData<aux_collection_t, aux_element_t, data_tag> |
Type of associated data proxy being created.
Definition at line 79 of file ParallelDataProxyMaker.h.
using proxy::ParallelDataProxyMakerBase< Main, AuxColl, Aux, AuxTag >::aux_collection_t = AuxColl |
Type of the auxiliary data product.
Definition at line 73 of file ParallelDataProxyMaker.h.
using proxy::ParallelDataProxyMakerBase< Main, AuxColl, Aux, AuxTag >::aux_element_t = Aux |
Type of the auxiliary datum.
Definition at line 76 of file ParallelDataProxyMaker.h.
using proxy::ParallelDataProxyMakerBase< Main, AuxColl, Aux, AuxTag >::data_tag = AuxTag |
Tag labelling the associated data we are going to produce.
Definition at line 67 of file ParallelDataProxyMaker.h.
using proxy::ParallelDataProxyMakerBase< Main, AuxColl, Aux, AuxTag >::main_element_t = Main |
Type of the main datum.
Definition at line 70 of file ParallelDataProxyMaker.h.
|
inlinestaticprivate |
Definition at line 148 of file ParallelDataProxyMaker.h.
Referenced by proxy::ParallelDataProxyMakerBase< Main, AuxColl, Aux, Tag >::make().
|
inlinestatic |
Create a parallel data proxy collection using main collection tag.
Event | type of the event to read data from |
Handle | type of handle to the main data product |
MainArgs | _(unused)_ any type convertible to art::InputTag |
event | the event to read data from |
mainHandle | _(unused)_ 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 parallel data collection.
Definition at line 100 of file ParallelDataProxyMaker.h.
|
inlinestatic |
Create a parallel data proxy collection using the specified tag.
Event | type of the event to read data from |
Handle | type of handle to the main data product |
MainArgs | (unused) any type convertible to art::InputTag |
event | the event to read associations from |
mainHandle | (unused) handle to the main collection data product |
auxInputTag | the tag of the data 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 120 of file ParallelDataProxyMaker.h.
|
inlinestatic |
Create a parallel data proxy collection using the specified tag.
Event | (unused) 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 |
auxColl | the collection 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 141 of file ParallelDataProxyMaker.h.