CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 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 31 of file formulaEvaluatorBase.h.

Member Enumeration Documentation

Enumerator
kIdentity 
kComparison 
kPlusMinus 
kMultDiv 
kPower 
kFunction 
kParenthesis 
kUnaryMinusOperator 

Definition at line 35 of file formulaEvaluatorBase.h.

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

Constructor & Destructor Documentation

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

Definition at line 30 of file formulaEvaluatorBase.cc.

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

Definition at line 35 of file formulaEvaluatorBase.cc.

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

Definition at line 40 of file formulaEvaluatorBase.cc.

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

Member Function Documentation

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

Definition at line 55 of file formulaEvaluatorBase.h.

References m_precedence.

55 { return m_precedence; }
void reco::formula::EvaluatorBase::setPrecedenceToParenthesis ( )
inline

Member Data Documentation

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

Definition at line 64 of file formulaEvaluatorBase.h.

Referenced by precedence(), and setPrecedenceToParenthesis().