CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
reco::formula::EvaluatorBase Class Referenceabstract

#include "formulaEvaluatorBase.h"

Inheritance diagram for reco::formula::EvaluatorBase:
reco::formula::BinaryOperatorEvaluatorBase reco::formula::ConstantEvaluator reco::formula::FunctionOneArgEvaluator reco::formula::FunctionTwoArgsEvaluator reco::formula::ParameterEvaluator reco::formula::UnaryMinusEvaluator reco::formula::VariableEvaluator reco::formula::BinaryOperatorEvaluator< Op >

Public Types

enum  Precedence {
  Precedence::kIdentity = 1, Precedence::kComparison =2, Precedence::kPlusMinus = 3, Precedence::kMultDiv = 4,
  Precedence::kPower = 5, Precedence::kFunction = 6, Precedence::kParenthesis = 7, Precedence::kUnaryMinusOperator = 8
}
 

Public Member Functions

virtual std::vector< std::string > abstractSyntaxTree () const =0
 
virtual double evaluate (double const *iVariables, double const *iParameters) const =0
 
 EvaluatorBase ()
 
 EvaluatorBase (Precedence)
 
unsigned int precedence () const
 
void setPrecedenceToParenthesis ()
 
virtual ~EvaluatorBase ()
 

Private Member Functions

 EvaluatorBase (const EvaluatorBase &)=delete
 
const EvaluatorBaseoperator= (const EvaluatorBase &)=delete
 

Private Attributes

unsigned int m_precedence
 

Detailed Description

Description: Base class for formula evaluators

Usage: Used as an internal detail on the reco::FormulaEvalutor class. Base class for all objects used in the abstract evaluation tree where one node corresponds to one syntax element of the formula.

Definition at line 34 of file formulaEvaluatorBase.h.

Member Enumeration Documentation

Enumerator
kIdentity 
kComparison 
kPlusMinus 
kMultDiv 
kPower 
kFunction 
kParenthesis 
kUnaryMinusOperator 

Definition at line 38 of file formulaEvaluatorBase.h.

38  {
39  kIdentity = 1,
40  kComparison=2,
41  kPlusMinus = 3,
42  kMultDiv = 4,
43  kPower = 5,
44  kFunction = 6, //default
45  kParenthesis = 7,
46  kUnaryMinusOperator = 8
47  };

Constructor & Destructor Documentation

reco::formula::EvaluatorBase::EvaluatorBase ( )

Definition at line 31 of file formulaEvaluatorBase.cc.

Referenced by setPrecedenceToParenthesis().

reco::formula::EvaluatorBase::EvaluatorBase ( Precedence  iPrec)

Definition at line 36 of file formulaEvaluatorBase.cc.

36  :
37  m_precedence(static_cast<unsigned int>(iPrec))
38 {
39 }
reco::formula::EvaluatorBase::~EvaluatorBase ( )
virtual

Definition at line 41 of file formulaEvaluatorBase.cc.

42 {
43 }
reco::formula::EvaluatorBase::EvaluatorBase ( const EvaluatorBase )
privatedelete

Member Function Documentation

virtual std::vector<std::string> reco::formula::EvaluatorBase::abstractSyntaxTree ( ) const
pure virtual
virtual double reco::formula::EvaluatorBase::evaluate ( double const *  iVariables,
double const *  iParameters 
) const
pure virtual
const EvaluatorBase& reco::formula::EvaluatorBase::operator= ( const EvaluatorBase )
privatedelete
unsigned int reco::formula::EvaluatorBase::precedence ( ) const
inline
void reco::formula::EvaluatorBase::setPrecedenceToParenthesis ( )
inline

Member Data Documentation

unsigned int reco::formula::EvaluatorBase::m_precedence
private

Definition at line 68 of file formulaEvaluatorBase.h.

Referenced by precedence(), and setPrecedenceToParenthesis().