Infrastructure for support of parallel data structures. More...
Namespaces | |
proxy::details | |
Classes | |
struct | proxy::ParallelDataProxyMakerBase< Main, AuxColl, Aux, AuxTag > |
Creates an parallel data wrapper for the specified types. More... | |
class | proxy::ParallelDataProxyMaker< Main, Aux, CollProxy, Tag, AuxColl > |
Creates an associated data wrapper for the specified types. More... | |
Functions | |
template<typename AuxColl , typename Aux = util::collection_value_t<AuxColl>, typename Tag = Aux> | |
auto | proxy::makeParallelDataFrom (AuxColl const &data) |
Wraps a collection into a parallel data collection object. More... | |
template<typename AuxColl , typename Aux , typename Tag , typename Event > | |
auto | proxy::makeParallelDataFrom (Event const &event, art::InputTag const &tag) |
Creates and returns a parallel data collection object. More... | |
template<typename AuxColl , typename Aux , typename Event > | |
auto | proxy::makeParallelDataFrom (Event const &event, art::InputTag const &tag) |
template<typename AuxColl , typename Event > | |
auto | proxy::makeParallelDataFrom (Event const &event, art::InputTag const &tag) |
template<typename AuxColl , typename Aux = util::collection_value_t<AuxColl>, typename Tag = Aux> | |
auto | proxy::makeParallelData (AuxColl const &data) |
Wraps a collection into a parallel data collection object. More... | |
Infrastructure for support of parallel data structures.
This infrastructure provides support for merging to a proxy data products fulfilling the parallel data product requirements.
The typical pattern is to read and merge a parallel data product with withParallelData()
. In alternative, a proxy can be augmented with any existing collection, using wrapParallelData()
.
auto proxy::makeParallelData | ( | AuxColl const & | data | ) |
Wraps a collection into a parallel data collection object.
AuxColl | type of parallel data data product container |
Aux | type of parallel data to be associated to the main objects (if omitted: AuxColl::value_type ) |
Tag | the tag labelling this associated data (if omitted: as Aux ) |
data | data collection to be wrapped |
ParallelData
wrapping the information in data
The data collection must be non-temporary and it is treated as fulfilling parallel data product requirements.
Example:
where the tag of the parallel data is now recob::TrackFitHitInfo
and auxData
behaviour becomes undefined as soon as trackData
falls out of scope.
Definition at line 170 of file ParallelData.h.
auto proxy::makeParallelDataFrom | ( | AuxColl const & | data | ) |
Wraps a collection into a parallel data collection object.
AuxColl | type of parallel data data product container |
Aux | type of parallel data to be associated to the main objects (if omitted: AuxColl::value_type ) |
Tag | the tag labelling this associated data (if omitted: as Aux ) |
data | data collection to be wrapped |
ParallelData
wrapping the information in data
The data collection must be non-temporary and it is treated as fulfilling parallel data product requirements.
Example:
where the tag of the parallel data is now recob::TrackFitHitInfo
and auxData
behaviour becomes undefined as soon as trackData
falls out of scope.
Definition at line 58 of file makeParallelDataFrom.h.
auto proxy::makeParallelDataFrom | ( | Event const & | event, |
art::InputTag const & | tag | ||
) |
Creates and returns a parallel data collection object.
AuxColl | type of parallel data data product container |
Aux | type of parallel data to be associated to the main objects (if omitted: AuxColl::value_type ) |
Tag | the tag labelling this associated data (if omitted: as Aux ) |
Event | type of event to read the data product from |
event | event to read the data product from |
tag | input tag of the parallel data product |
ParallelData
filled with data from tag
The data product being retrieved must fulfill the requirements of parallel data product.
At least one template type must be explicitly specified, e.g.
In this case, the Aux
type is defined as recob::TrackFitHitInfo
, as is the tag.
Definition at line 116 of file makeParallelDataFrom.h.
auto proxy::makeParallelDataFrom | ( | Event const & | event, |
art::InputTag const & | tag | ||
) |
Definition at line 88 of file makeParallelDataFrom.h.
auto proxy::makeParallelDataFrom | ( | Event const & | event, |
art::InputTag const & | tag | ||
) |
Definition at line 92 of file makeParallelDataFrom.h.