CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
reco::formula::FunctionOneArgEvaluator Class Reference

#include "formulaFunctionOneArgEvaluator.h"

Inheritance diagram for reco::formula::FunctionOneArgEvaluator:
reco::formula::EvaluatorBase

Public Member Functions

virtual double evaluate (double const *iVariables, double const *iParameters) const overridefinal
 
template<typename T >
 FunctionOneArgEvaluator (std::shared_ptr< EvaluatorBase > iArg, T iFunc)
 
- Public Member Functions inherited from reco::formula::EvaluatorBase
 EvaluatorBase ()
 
 EvaluatorBase (Precedence)
 
unsigned int precedence () const
 
void setPrecedenceToParenthesis ()
 
virtual ~EvaluatorBase ()
 

Private Member Functions

 FunctionOneArgEvaluator (const FunctionOneArgEvaluator &)=delete
 
const FunctionOneArgEvaluatoroperator= (const FunctionOneArgEvaluator &)=delete
 

Private Attributes

std::shared_ptr< EvaluatorBasem_arg
 
std::function< double(double)> m_function
 

Additional Inherited Members

- Public Types inherited from reco::formula::EvaluatorBase
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
}
 

Detailed Description

Description: [one line class summary]

Usage: <usage>

Definition at line 32 of file formulaFunctionOneArgEvaluator.h.

Constructor & Destructor Documentation

template<typename T >
reco::formula::FunctionOneArgEvaluator::FunctionOneArgEvaluator ( std::shared_ptr< EvaluatorBase iArg,
T  iFunc 
)
inlineexplicit

Definition at line 37 of file formulaFunctionOneArgEvaluator.h.

37  :
38  m_arg(std::move(iArg)),
39  m_function(iFunc) {}
def move
Definition: eostools.py:510
reco::formula::FunctionOneArgEvaluator::FunctionOneArgEvaluator ( const FunctionOneArgEvaluator )
privatedelete

Member Function Documentation

virtual double reco::formula::FunctionOneArgEvaluator::evaluate ( double const *  iVariables,
double const *  iParameters 
) const
inlinefinaloverridevirtual

Implements reco::formula::EvaluatorBase.

Definition at line 42 of file formulaFunctionOneArgEvaluator.h.

References m_arg, and m_function.

42  {
43  return m_function( m_arg->evaluate(iVariables,iParameters) );
44  }
const FunctionOneArgEvaluator& reco::formula::FunctionOneArgEvaluator::operator= ( const FunctionOneArgEvaluator )
privatedelete

Member Data Documentation

std::shared_ptr<EvaluatorBase> reco::formula::FunctionOneArgEvaluator::m_arg
private

Definition at line 52 of file formulaFunctionOneArgEvaluator.h.

Referenced by evaluate().

std::function<double(double)> reco::formula::FunctionOneArgEvaluator::m_function
private

Definition at line 53 of file formulaFunctionOneArgEvaluator.h.

Referenced by evaluate().