ATLAS Offline Software
Loading...
Searching...
No Matches
ExpressionParsing::BaseAccessor Class Referenceabstract

Base class of xAOD object content accessors. More...

#include <BaseAccessor.h>

Inheritance diagram for ExpressionParsing::BaseAccessor:
Collaboration diagram for ExpressionParsing::BaseAccessor:

Public Types

enum  VariableType {
  VT_UNK , VT_INT , VT_DOUBLE , VT_VECINT ,
  VT_VECDOUBLE , VT_VECEMPTY
}

Public Member Functions

 BaseAccessor (IAccessor::VariableType variable_type)
virtual IAccessor::VariableType variableType (const std::string &var_name) const override
virtual int loadInt (const EventContext &ctx, const std::string &var_name) const =0
virtual double loadDouble (const EventContext &ctx, const std::string &var_name) const =0
virtual std::vector< int > loadVecInt (const EventContext &ctx, const std::string &var_name) const =0
virtual std::vector< double > loadVec (const EventContext &ctx, const std::string &var_name) const =0

Static Public Member Functions

static void throwInvalidHandle (const std::string &key)
static void throwVectorContainsNotOneElement (const std::string &key, std::size_t n_elements)

Private Attributes

IAccessor::VariableType m_variableType

Detailed Description

Base class of xAOD object content accessors.

Definition at line 16 of file BaseAccessor.h.

Member Enumeration Documentation

◆ VariableType

Constructor & Destructor Documentation

◆ BaseAccessor()

ExpressionParsing::BaseAccessor::BaseAccessor ( IAccessor::VariableType variable_type)
inline

Definition at line 18 of file BaseAccessor.h.

18: m_variableType(variable_type) {}
IAccessor::VariableType m_variableType

Member Function Documentation

◆ loadDouble()

◆ loadInt()

◆ loadVec()

◆ loadVecInt()

◆ throwInvalidHandle()

void ExpressionParsing::BaseAccessor::throwInvalidHandle ( const std::string & key)
inlinestatic

Definition at line 20 of file BaseAccessor.h.

20 {
21 std::stringstream msg;
22 msg << "Failed to create read handle for " << key;
23 throw std::runtime_error(key);
24 }
MsgStream & msg
Definition testRead.cxx:32

◆ throwVectorContainsNotOneElement()

void ExpressionParsing::BaseAccessor::throwVectorContainsNotOneElement ( const std::string & key,
std::size_t n_elements )
inlinestatic

Definition at line 25 of file BaseAccessor.h.

25 {
26 std::stringstream msg;
27 msg << "Cannot convert to scalar since the aux vector data container " << key << " does not contain exactly one element but " << n_elements;
28 throw std::runtime_error(key);
29 }

◆ variableType()

virtual IAccessor::VariableType ExpressionParsing::BaseAccessor::variableType ( const std::string & var_name) const
inlineoverridevirtual

Implements ExpressionParsing::IAccessor.

Definition at line 30 of file BaseAccessor.h.

30 {
31 return m_variableType;
32 }

Member Data Documentation

◆ m_variableType

IAccessor::VariableType ExpressionParsing::BaseAccessor::m_variableType
private

Definition at line 35 of file BaseAccessor.h.


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