LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
proxy::CollectionProxyMaker< Tracks > Struct Template Reference

Specialization to create a proxy for recob::Track collection. More...

#include "Track.h"

Inheritance diagram for proxy::CollectionProxyMaker< Tracks >:
proxy::CollectionProxyMakerBase< Tracks >

Public Types

using maker_base_t = CollectionProxyMakerBase< Tracks >
 Base class. More...
 
using traits_t = CollectionProxyMakerTraits< Tracks >
 Traits of the collection proxy for the collection proxy maker. More...
 
using main_collection_proxy_t = typename traits_t::main_collection_proxy_t
 Type of main collection proxy. More...
 
using main_element_t = typename traits_t::main_element_t
 Type returned by the main collection indexing operator. More...
 
using main_collection_t = typename traits_t::main_collection_t
 Type of element of the main collection. More...
 

Static Public Member Functions

template<typename Event , typename... WithArgs>
static auto make (Event const &event, art::InputTag const &tag, WithArgs &&...withArgs)
 Creates and returns a collection proxy for recob::Track based on proxy::Tracks tag and with the requested associated data. More...
 

Detailed Description

template<>
struct proxy::CollectionProxyMaker< Tracks >

Specialization to create a proxy for recob::Track collection.

Definition at line 1215 of file Track.h.

Member Typedef Documentation

using proxy::CollectionProxyMakerBase< Tracks >::main_collection_proxy_t = typename traits_t::main_collection_proxy_t
inherited

Type of main collection proxy.

Definition at line 90 of file CollectionProxyMaker.h.

using proxy::CollectionProxyMakerBase< Tracks >::main_collection_t = typename traits_t::main_collection_t
inherited

Type of element of the main collection.

Definition at line 96 of file CollectionProxyMaker.h.

using proxy::CollectionProxyMakerBase< Tracks >::main_element_t = typename traits_t::main_element_t
inherited

Type returned by the main collection indexing operator.

Definition at line 93 of file CollectionProxyMaker.h.

Base class.

Definition at line 1220 of file Track.h.

Traits of the collection proxy for the collection proxy maker.

Definition at line 87 of file CollectionProxyMaker.h.

Member Function Documentation

template<typename Event , typename... WithArgs>
static auto proxy::CollectionProxyMaker< Tracks >::make ( Event const &  event,
art::InputTag const &  tag,
WithArgs &&...  withArgs 
)
inlinestatic

Creates and returns a collection proxy for recob::Track based on proxy::Tracks tag and with the requested associated data.

Template Parameters
Eventtype of the event to read the information from
WithArgstype of arguments for associated data
Parameters
eventevent to read the information from
taginput tag of the recob::Track collection data product
withArgsoptional associated objects to be included
Returns
a collection proxy to recob::Track collection with tag

For each argument in withArgs, an action is taken. Usually that is to add an association to the proxy. Associated hits (tag: recob::Hit) are automatically added to the proxy and must not be explicitly specified.

Definition at line 1239 of file Track.h.

1240  {
1241  // automatically add associated hits with the same input tag;
1242  // IDEA: allow a withAssociated<recob::Hit>() from withArgs to override
1243  // this one; the pattern may be:
1244  // - if withArgs contains a withAssociated<recob::Hit>(), produce a new
1245  // withArgs with that one pushed first
1246  // - otherwise, produce a new withArgs with a new
1247  // withAssociated<recob::Hit>(tag) as first element
1248  // In principle there is no need for these hits to be first; code might
1249  // be simpler when assuming that though.
1250  return maker_base_t::make(
1251  event, tag,
1252  withAssociatedAs<recob::Hit, Tracks::HitTag>(),
1253  std::forward<WithArgs>(withArgs)...
1254  );
1255  } // make()
Event finding and building.

The documentation for this struct was generated from the following file: