All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Static Public Member Functions | List of all members
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...
 
- Public Types inherited from proxy::CollectionProxyMakerBase< Tracks >
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...
 
- Static Public Member Functions inherited from proxy::CollectionProxyMakerBase< Tracks >
static auto make (Event const &event, art::InputTag const &tag, WithArgs &&...withArgs)
 Creates and returns a collection proxy based on CollProxy 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 1216 of file lardata/RecoBaseProxy/Track.h.

Member Typedef Documentation

Base class.

Definition at line 1221 of file lardata/RecoBaseProxy/Track.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 1240 of file lardata/RecoBaseProxy/Track.h.

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

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