|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ExpressionParsing_BaseAccessor_h_
5 #define ExpressionParsing_BaseAccessor_h_
21 std::stringstream
msg;
22 msg <<
"Failed to create read handle for " <<
key;
23 throw std::runtime_error(
key);
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);
45 virtual std::vector<int>
loadVecInt(
const EventContext& ctx)
const override { (void) ctx;
return std::vector<int>(); }
46 virtual std::vector<double>
loadVec(
const EventContext& ctx)
const override { (void) ctx;
return std::vector<double>(); }
49 throw std::runtime_error(
"Attempt to convert empty vector into scalar.");
virtual double loadDouble(const EventContext &ctx) const override
IProxyLoader::VariableType m_variableType
virtual std::vector< double > loadVec(const EventContext &ctx) const override
virtual IProxyLoader::VariableType variableType() const override
virtual int loadInt(const EventContext &ctx) const override
Namespace holding all the expression evaluation code.
virtual std::vector< int > loadVecInt(const EventContext &ctx) const override
static void throwInvalidHandle(const std::string &key)
virtual IProxyLoader::VariableType variableType() const override
Interface of auxiliary classes to access xAOD object content.
static void throwVectorContainsNotOneElement(const std::string &key, std::size_t n_elements)
Base class of xAOD object content accessors.
void throwEmptyVector() const
Special accessor to handle empty containers until the correct accessor can be created.
BaseAccessor(IProxyLoader::VariableType variable_type)