1 #ifndef L1GlobalTrigger_L1GtLogicParser_h
2 #define L1GlobalTrigger_L1GtLogicParser_h
86 const std::string numericalExpressionVal);
91 const std::string& numericalExpressionVal,
130 int operandIndex(
const std::string& operandNameVal)
const;
167 const std::map<std::string, int>& nameToIntMap);
std::vector< L1GtLogicParser::OperandToken > expressionSeedsOperandList()
std::string logicalExpression() const
return the logical expression
static struct OperationRule m_operationRules[]
void clearRpnVector()
clear possible old rpn vector
void convertNameToIntLogicalExpression(const std::map< std::string, int > &nameToIntMap)
bool buildRpnVector(const std::string &)
build the rpn vector
void buildOperandTokenVectorNumExp()
RpnVector rpnVector() const
return the RPN vector
void addBracketSpaces(const std::string &, std::string &)
add spaces before and after parantheses
L1GtLogicParser()
constructor(s)
bool operandResultNumExp(const std::string &operandNameVal) const
void convertIntToNameLogicalExpression(const std::map< int, std::string > &intToNameMap)
std::vector< OperandToken > m_operandTokenVector
vector of operand tokens
int forbiddenLastOperation
const OperationRule * getRuleFromType(OperationType t)
get the rule entry to an operation type
std::vector< OperandToken > & operandTokenVector()
return the vector of operand tokens
bool setNumericalExpression(const std::string &)
std::string numericalExpression() const
return the numerical expression
bool operandResult(const std::string &operandNameVal) const
std::string m_logicalExpression
logical expression to be parsed
const std::vector< OperandToken > & operandTokenVector() const
RpnVector m_rpnVector
RPN vector - equivalent to the logical expression.
virtual ~L1GtLogicParser()
destructor
std::string m_numericalExpression
bool checkLogicalExpression(std::string &)
check a logical expression for correctness - add/remove spaces if needed
std::vector< TokenRPN > RpnVector
void buildOperandTokenVector()
std::string operandName(const int iOperand) const
return the name of the (iOperand)th operand in the logical expression
bool setLogicalExpression(const std::string &)
set the logical expression - check for correctness the input string
virtual OperationType getOperation(const std::string &tokenString, OperationType lastOperation, TokenRPN &rpnToken) const
int operandIndex(const std::string &operandNameVal) const
return the position index of the operand in the logical expression
virtual const bool expressionResultNumExp() const
virtual const bool expressionResult() const