5#ifndef EXPRESSION_EVALUATOR_H
6#define EXPRESSION_EVALUATOR_H
8#include "CLHEP/Evaluator/Evaluator.h"
29 bool RegisterArray( std::string& c,
const std::vector<double>& v );
35 double Eval(
const std::string& expr );
36 double Eval(
const char* expr );
38 static std::string
trim(
const std::string&);
39 static std::vector<std::string>
tokenize(
const std::string&,
const std::string&);
double EvaluateString(const std::string &str)
std::string m_fileCurrentlyParsed
std::vector< std::string > m_real_vars
double Eval(const std::string &expr)
PhysicalConstantsTable m_PCTable
static std::vector< std::string > tokenize(const std::string &, const std::string &)
bool is_real_variable(const std::string &var_name)
bool RegisterVariable(const std::string &var_name, double value)
bool is_delimiter(char c)
static std::string trim(const std::string &)
bool RegisterPhysConstant(std::string &, const std::string &, const std::string &)
bool RegisterArray(std::string &c, const std::vector< double > &v)
HepTool::Evaluator m_calc
void setFileCurrentlyParsed(const std::string &set)
bool RegisterConstant(std::string &c, double v)
bool RegisterExpression(std::string &c, const std::string &v)
std::map< std::string, double > PhysicalConstantsTable
std::map< std::string, double > ConstantsTable
std::map< std::string, std::string > ExpressionsTable