ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
ExpressionParsing::TestProxyLoader Class Reference

#include <TestProxyLoader.h>

Inheritance diagram for ExpressionParsing::TestProxyLoader:
Collaboration diagram for ExpressionParsing::TestProxyLoader:

Public Types

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

Public Member Functions

 TestProxyLoader ()
 
virtual ~TestProxyLoader ()
 
virtual void reset ()
 
virtual IProxyLoader::VariableType variableTypeFromString (const std::string &varname) const
 
virtual int loadIntVariableFromString (const std::string &varname) const
 
virtual double loadDoubleVariableFromString (const std::string &varname) const
 
virtual std::vector< int > loadVecIntVariableFromString (const std::string &varname) const
 
virtual std::vector< double > loadVecDoubleVariableFromString (const std::string &varname) const
 

Private Attributes

std::atomic< unsigned int > m_intAccessCount
 

Detailed Description

Definition at line 20 of file TestProxyLoader.h.

Member Enumeration Documentation

◆ VariableType

Enumerator
VT_UNK 
VT_INT 
VT_DOUBLE 
VT_VECINT 
VT_VECDOUBLE 
VT_VECEMPTY 

Definition at line 21 of file IProxyLoader.h.

Constructor & Destructor Documentation

◆ TestProxyLoader()

ExpressionParsing::TestProxyLoader::TestProxyLoader ( )
inline

Definition at line 22 of file TestProxyLoader.h.

22 : m_intAccessCount(0) { }

◆ ~TestProxyLoader()

ExpressionParsing::TestProxyLoader::~TestProxyLoader ( )
virtual

Definition at line 17 of file TestProxyLoader.cxx.

18  {
19  }

Member Function Documentation

◆ loadDoubleVariableFromString()

double ExpressionParsing::TestProxyLoader::loadDoubleVariableFromString ( const std::string &  varname) const
virtual

Implements ExpressionParsing::IProxyLoader.

Definition at line 43 of file TestProxyLoader.cxx.

44  {
45  if (varname == "doubleTEST") return 42.42;
46  else throw std::runtime_error("Unknown proxy: " + varname);
47  }

◆ loadIntVariableFromString()

int ExpressionParsing::TestProxyLoader::loadIntVariableFromString ( const std::string &  varname) const
virtual

Implements ExpressionParsing::IProxyLoader.

Definition at line 36 of file TestProxyLoader.cxx.

37  {
38  if (varname == "intTEST") { ++m_intAccessCount; return (42+(m_intAccessCount-1)); }
39  else if (varname == "int_TEST") { return 24; }
40  else throw std::runtime_error("Unknown proxy: " + varname);
41  }

◆ loadVecDoubleVariableFromString()

std::vector< double > ExpressionParsing::TestProxyLoader::loadVecDoubleVariableFromString ( const std::string &  varname) const
virtual

Implements ExpressionParsing::IProxyLoader.

Definition at line 55 of file TestProxyLoader.cxx.

56  {
57  if (varname == "vectorDoubleTEST") return std::vector<double>(2, 42.42);
58  else throw std::runtime_error("Unknown proxy: " + varname);
59  }

◆ loadVecIntVariableFromString()

std::vector< int > ExpressionParsing::TestProxyLoader::loadVecIntVariableFromString ( const std::string &  varname) const
virtual

Implements ExpressionParsing::IProxyLoader.

Definition at line 49 of file TestProxyLoader.cxx.

50  {
51  if (varname == "vectorIntTEST") return std::vector<int>(2, 42);
52  else throw std::runtime_error("Unknown proxy: " + varname);
53  }

◆ reset()

void ExpressionParsing::TestProxyLoader::reset ( )
virtual

Implements ExpressionParsing::IProxyLoader.

Definition at line 21 of file TestProxyLoader.cxx.

22  {
23  m_intAccessCount = 0;
24  }

◆ variableTypeFromString()

IProxyLoader::VariableType ExpressionParsing::TestProxyLoader::variableTypeFromString ( const std::string &  varname) const
virtual

Implements ExpressionParsing::IProxyLoader.

Definition at line 26 of file TestProxyLoader.cxx.

27  {
28  if (varname == "intTEST") return VT_INT;
29  else if (varname == "int_TEST") return VT_INT;
30  else if (varname == "doubleTEST") return VT_DOUBLE;
31  else if (varname == "vectorIntTEST") return VT_VECINT;
32  else if (varname == "vectorDoubleTEST") return VT_VECDOUBLE;
33  else return VT_UNK;
34  }

Member Data Documentation

◆ m_intAccessCount

std::atomic<unsigned int> ExpressionParsing::TestProxyLoader::m_intAccessCount
mutableprivate

Definition at line 35 of file TestProxyLoader.h.


The documentation for this class was generated from the following files:
ExpressionParsing::IProxyLoader::VT_VECEMPTY
@ VT_VECEMPTY
Definition: IProxyLoader.h:21
ExpressionParsing::IProxyLoader::VT_VECDOUBLE
@ VT_VECDOUBLE
Definition: IProxyLoader.h:21
ExpressionParsing::IProxyLoader::VT_DOUBLE
@ VT_DOUBLE
Definition: IProxyLoader.h:21
ExpressionParsing::IProxyLoader::VT_UNK
@ VT_UNK
Definition: IProxyLoader.h:21
ExpressionParsing::TestProxyLoader::m_intAccessCount
std::atomic< unsigned int > m_intAccessCount
Definition: TestProxyLoader.h:35
ExpressionParsing::IProxyLoader::VT_VECINT
@ VT_VECINT
Definition: IProxyLoader.h:21
ExpressionParsing::IProxyLoader::VT_INT
@ VT_INT
Definition: IProxyLoader.h:21
LArG4AODNtuplePlotter.varname
def varname(hname)
Definition: LArG4AODNtuplePlotter.py:37