LArSoft  v09_90_00
Liquid Argon Software toolkit - https://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 1164 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 87 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 93 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 90 of file CollectionProxyMaker.h.

Base class.

Definition at line 1167 of file Track.h.

Traits of the collection proxy for the collection proxy maker.

Definition at line 84 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 1185 of file Track.h.

References art::InputSourceFactory::make().

1186  {
1187  // automatically add associated hits with the same input tag;
1188  // IDEA: allow a withAssociated<recob::Hit>() from withArgs to override
1189  // this one; the pattern may be:
1190  // - if withArgs contains a withAssociated<recob::Hit>(), produce a new
1191  // withArgs with that one pushed first
1192  // - otherwise, produce a new withArgs with a new
1193  // withAssociated<recob::Hit>(tag) as first element
1194  // In principle there is no need for these hits to be first; code might
1195  // be simpler when assuming that though.
1196  return maker_base_t::make(event,
1197  tag,
1198  withAssociatedAs<recob::Hit, Tracks::HitTag>(),
1199  std::forward<WithArgs>(withArgs)...);
1200  } // make()
std::unique_ptr< InputSource > make(fhicl::ParameterSet const &conf, InputSourceDescription &desc)
Event finding and building.

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