ATLAS Offline Software
Private Member Functions | List of all members
ExpressionParsing::AccessorKit< T, T_variable_type > Class Template Reference

Implementation of an accessor creator which provides accessors for xAOD accessor or decor handle access to content of AuxElement or AuxVectorBase. More...

#include <xAODAccessor.h>

Inheritance diagram for ExpressionParsing::AccessorKit< T, T_variable_type >:
Collaboration diagram for ExpressionParsing::AccessorKit< T, T_variable_type >:

Private Member Functions

virtual std::unique_ptr< IAccessorcreate (const SG::ReadHandleKey< SG::AuxVectorBase > &key, SG::auxid_t auxid, const SG::ReadDecorHandleKey< SG::AuxVectorBase > *decor_key=nullptr) const override
 
virtual std::unique_ptr< IAccessorcreate (const SG::ReadHandleKey< SG::AuxElement > &key, SG::auxid_t auxid, const SG::ReadDecorHandleKey< SG::AuxElement > *decor_key=nullptr) const override
 
template<class T_Cont , class T_ScalarVectorHelper >
std::unique_ptr< IAccessorcreateAccessor (const SG::ReadHandleKey< T_Cont > &key, SG::auxid_t auxid, const SG::ReadDecorHandleKey< T_Cont > *decor_key=nullptr) const
 

Detailed Description

template<class T, IProxyLoader::VariableType T_variable_type>
class ExpressionParsing::AccessorKit< T, T_variable_type >

Implementation of an accessor creator which provides accessors for xAOD accessor or decor handle access to content of AuxElement or AuxVectorBase.

Definition at line 142 of file xAODAccessor.h.

Member Function Documentation

◆ create() [1/2]

template<class T , IProxyLoader::VariableType T_variable_type>
virtual std::unique_ptr<IAccessor> ExpressionParsing::AccessorKit< T, T_variable_type >::create ( const SG::ReadHandleKey< SG::AuxElement > &  key,
SG::auxid_t  auxid,
const SG::ReadDecorHandleKey< SG::AuxElement > *  decor_key = nullptr 
) const
inlineoverrideprivatevirtual

Implements ExpressionParsing::IAccessorKit.

Definition at line 148 of file xAODAccessor.h.

150  {
151  return createAccessor<SG::AuxElement,ScalarHelper>(key,auxid, decor_key);
152  }

◆ create() [2/2]

template<class T , IProxyLoader::VariableType T_variable_type>
virtual std::unique_ptr<IAccessor> ExpressionParsing::AccessorKit< T, T_variable_type >::create ( const SG::ReadHandleKey< SG::AuxVectorBase > &  key,
SG::auxid_t  auxid,
const SG::ReadDecorHandleKey< SG::AuxVectorBase > *  decor_key = nullptr 
) const
inlineoverrideprivatevirtual

Implements ExpressionParsing::IAccessorKit.

Definition at line 143 of file xAODAccessor.h.

145  {
146  return createAccessor<SG::AuxVectorBase,VectorHelper>(key,auxid, decor_key);
147  }

◆ createAccessor()

template<class T , IProxyLoader::VariableType T_variable_type>
template<class T_Cont , class T_ScalarVectorHelper >
std::unique_ptr<IAccessor> ExpressionParsing::AccessorKit< T, T_variable_type >::createAccessor ( const SG::ReadHandleKey< T_Cont > &  key,
SG::auxid_t  auxid,
const SG::ReadDecorHandleKey< T_Cont > *  decor_key = nullptr 
) const
inlineprivate

Definition at line 155 of file xAODAccessor.h.

157  {
158  if (decor_key) {
159  return std::make_unique<GenAccessor<T_Cont,
160  typename DecorHelper<T_Cont, T>::Kit,
161  T_ScalarVectorHelper> >(key,
162  typename DecorHelper<T_Cont, T>::Kit(*decor_key),
163  T_variable_type);
164  }
165  else {
166  return std::make_unique<GenAccessor<T_Cont,
167  typename AccessorHelper<T_Cont,T>::Kit,
168  T_ScalarVectorHelper> >(key,
169  typename AccessorHelper<T_Cont,T>::Kit(auxid),
170  T_variable_type);
171  }
172  }

The documentation for this class was generated from the following file:
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37