LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::PtrMaker< T > Class Template Reference

#include "PtrMaker.h"

Public Member Functions

template<typename DataLevel >
 PtrMaker (DataLevel const &evt, std::string const &instance={})
 
template<typename DataLevel >
 PtrMaker (DataLevel const &evt, ProductID prodId)
 
Ptr< T > operator() (std::size_t index) const
 

Static Public Member Functions

template<typename Container , typename DataLevel >
static PtrMaker< T > create (DataLevel const &E, std::string const &instance={})
 

Private Attributes

ProductID const prodId_
 
EDProductGetter const * prodGetter_
 

Detailed Description

template<typename T>
class art::PtrMaker< T >

Definition at line 61 of file PtrMaker.h.

Constructor & Destructor Documentation

template<typename T >
template<typename DataLevel >
art::PtrMaker< T >::PtrMaker ( DataLevel const &  evt,
std::string const &  instance = {} 
)

Definition at line 98 of file PtrMaker.h.

References tca::evt, and instance.

99  : PtrMaker{evt, evt.template getProductID<std::vector<T>>(instance)}
100  {}
const std::string instance
PtrMaker(DataLevel const &evt, std::string const &instance={})
Definition: PtrMaker.h:98
TCEvent evt
Definition: DataStructs.cxx:8
template<typename T >
template<typename DataLevel >
art::PtrMaker< T >::PtrMaker ( DataLevel const &  evt,
ProductID  prodId 
)

Definition at line 104 of file PtrMaker.h.

References tca::evt, and art::PtrMaker< T >::prodGetter_.

105  : prodId_{pid}, prodGetter_{evt.productGetter(pid)}
106  {}
ProductID const prodId_
Definition: PtrMaker.h:83
TCEvent evt
Definition: DataStructs.cxx:8
EDProductGetter const * prodGetter_
Definition: PtrMaker.h:84

Member Function Documentation

template<typename T >
template<typename Container , typename DataLevel >
PtrMaker< T > art::PtrMaker< T >::create ( DataLevel const &  E,
std::string const &  instance = {} 
)
static

Definition at line 90 of file PtrMaker.h.

References tca::evt, and instance.

91  {
92  auto const pid = evt.template getProductID<Container>(instance);
93  return PtrMaker<T>{evt, pid};
94  }
const std::string instance
TCEvent evt
Definition: DataStructs.cxx:8
template<typename T>
Ptr< T > art::PtrMaker< T >::operator() ( std::size_t  index) const

Definition at line 110 of file PtrMaker.h.

References art::PtrMaker< T >::prodGetter_, and art::PtrMaker< T >::prodId_.

111  {
112  return Ptr<T>{prodId_, index, prodGetter_};
113  }
ProductID const prodId_
Definition: PtrMaker.h:83
EDProductGetter const * prodGetter_
Definition: PtrMaker.h:84

Member Data Documentation

template<typename T>
EDProductGetter const* art::PtrMaker< T >::prodGetter_
private

Definition at line 84 of file PtrMaker.h.

Referenced by art::PtrMaker< T >::operator()(), and art::PtrMaker< T >::PtrMaker().

template<typename T>
ProductID const art::PtrMaker< T >::prodId_
private

Definition at line 83 of file PtrMaker.h.

Referenced by art::PtrMaker< T >::operator()().


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