ATLAS Offline Software
Public Member Functions | Private Types | Private Attributes | List of all members
FlavorTagDiscriminants::internal::BVarGetter< T > Class Template Reference

#include <DataPrepUtilities.h>

Collaboration diagram for FlavorTagDiscriminants::internal::BVarGetter< T >:

Public Member Functions

 BVarGetter (const std::string &name, const std::string &default_flag)
 
NamedVar operator() (const SG::AuxElement &btag) const
 

Private Types

typedef SG::AuxElement AE
 

Private Attributes

AE::ConstAccessor< T > m_getter
 
AE::ConstAccessor< char > m_default_flag
 
std::string m_name
 

Detailed Description

template<typename T>
class FlavorTagDiscriminants::internal::BVarGetter< T >

Definition at line 79 of file DataPrepUtilities.h.

Member Typedef Documentation

◆ AE

template<typename T >
typedef SG::AuxElement FlavorTagDiscriminants::internal::BVarGetter< T >::AE
private

Definition at line 81 of file DataPrepUtilities.h.

Constructor & Destructor Documentation

◆ BVarGetter()

template<typename T >
FlavorTagDiscriminants::internal::BVarGetter< T >::BVarGetter ( const std::string &  name,
const std::string &  default_flag 
)
inline

Definition at line 86 of file DataPrepUtilities.h.

86  :
87  m_getter(name),
88  m_default_flag(default_flag),
89  m_name(name)
90  {
91  }

Member Function Documentation

◆ operator()()

template<typename T >
NamedVar FlavorTagDiscriminants::internal::BVarGetter< T >::operator() ( const SG::AuxElement btag) const
inline

Definition at line 92 of file DataPrepUtilities.h.

92  {
93  T ret_value = m_getter(btag);
94  bool is_default = m_default_flag(btag);
95  if constexpr (std::is_floating_point<T>::value) {
96  if (std::isnan(ret_value) && !is_default) {
97  throw std::runtime_error(
98  "Found NAN value for '" + m_name
99  + "'. This is only allowed when using a default"
100  " value for this input");
101  }
102  }
103  return {m_name, is_default ? NAN : ret_value};
104  }

Member Data Documentation

◆ m_default_flag

template<typename T >
AE::ConstAccessor<char> FlavorTagDiscriminants::internal::BVarGetter< T >::m_default_flag
private

Definition at line 83 of file DataPrepUtilities.h.

◆ m_getter

template<typename T >
AE::ConstAccessor<T> FlavorTagDiscriminants::internal::BVarGetter< T >::m_getter
private

Definition at line 82 of file DataPrepUtilities.h.

◆ m_name

template<typename T >
std::string FlavorTagDiscriminants::internal::BVarGetter< T >::m_name
private

Definition at line 84 of file DataPrepUtilities.h.


The documentation for this class was generated from the following file:
FlavorTagDiscriminants::internal::BVarGetter::m_getter
AE::ConstAccessor< T > m_getter
Definition: DataPrepUtilities.h:82
athena.value
value
Definition: athena.py:122
FlavorTagDiscriminants::internal::BVarGetter::m_default_flag
AE::ConstAccessor< char > m_default_flag
Definition: DataPrepUtilities.h:83
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
FlavorTagDiscriminants::internal::BVarGetter::m_name
std::string m_name
Definition: DataPrepUtilities.h:84