ATLAS Offline Software
Loading...
Searching...
No Matches
ExpressionParsing::EmptyVectorAccessor Class Reference

Special accessor to handle empty containers until the correct accessor can be created. More...

#include <BaseAccessor.h>

Inheritance diagram for ExpressionParsing::EmptyVectorAccessor:
Collaboration diagram for ExpressionParsing::EmptyVectorAccessor:

Public Types

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

Public Member Functions

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

Private Member Functions

void throwEmptyVector () const

Detailed Description

Special accessor to handle empty containers until the correct accessor can be created.

Definition at line 40 of file BaseAccessor.h.

Member Enumeration Documentation

◆ VariableType

Member Function Documentation

◆ loadDouble()

virtual double ExpressionParsing::EmptyVectorAccessor::loadDouble ( const EventContext & ctx,
const std::string & var_name ) const
inlineoverridevirtual

Implements ExpressionParsing::IAccessor.

Definition at line 45 of file BaseAccessor.h.

46 { throwEmptyVector(); return 0.;}

◆ loadInt()

virtual int ExpressionParsing::EmptyVectorAccessor::loadInt ( const EventContext & ctx,
const std::string & var_name ) const
inlineoverridevirtual

Implements ExpressionParsing::IAccessor.

Definition at line 43 of file BaseAccessor.h.

44 { throwEmptyVector(); return 0; }

◆ loadVec()

virtual std::vector< double > ExpressionParsing::EmptyVectorAccessor::loadVec ( const EventContext & ctx,
const std::string & var_name ) const
inlineoverridevirtual

Implements ExpressionParsing::IAccessor.

Definition at line 49 of file BaseAccessor.h.

50 { return std::vector<double>(); }

◆ loadVecInt()

virtual std::vector< int > ExpressionParsing::EmptyVectorAccessor::loadVecInt ( const EventContext & ctx,
const std::string & var_name ) const
inlineoverridevirtual

Implements ExpressionParsing::IAccessor.

Definition at line 47 of file BaseAccessor.h.

48 { return std::vector<int>(); }

◆ throwEmptyVector()

void ExpressionParsing::EmptyVectorAccessor::throwEmptyVector ( ) const
inlineprivate

Definition at line 52 of file BaseAccessor.h.

52 {
53 throw std::runtime_error("Attempt to convert empty vector into scalar.");
54 }

◆ variableType()

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

Implements ExpressionParsing::IAccessor.

Definition at line 42 of file BaseAccessor.h.


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