14 #include "Parsers/config.h"
17 #if defined(DD4HEP_PARSER_HEADER)
19 #define DD4HEP_NEED_EVALUATOR
22 #include DD4HEP_PARSER_HEADER
27 #include "Parsers/spirit/ToStream.h"
30 #include "Evaluator/Evaluator.h"
45 namespace dd4hep {
namespace Parsers {
47 throw "Bad undefined call";
51 std::stringstream err;
52 auto result =
eval.evaluate(value, err);
53 if (result.first != tools::Evaluator::OK) {
54 throw std::runtime_error(
"dd4hep::Properties: Severe error during expression evaluation of " +
55 value +
" : " + err.str());
60 std::stringstream err;
61 auto result =
eval.evaluate(value, err);
62 if (result.first != tools::Evaluator::OK) {
63 throw std::runtime_error(
"dd4hep::Properties: Severe error during expression evaluation of " +
64 value +
" : " + err.str());
66 return (
float) result.second;