Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
CommonTools
Utils
src
formulaEvaluatorBase.h
Go to the documentation of this file.
1
#ifndef CommonTools_Utils_formulaEvaluatorBase_h
2
#define CommonTools_Utils_formulaEvaluatorBase_h
3
// -*- C++ -*-
4
//
5
// Package: CommonTools/Utils
6
// Class : reco::formula::EvaluatorBase
7
//
18
//
19
// Original Author: Christopher Jones
20
// Created: Wed, 23 Sep 2015 16:26:00 GMT
21
//
22
23
// system include files
24
25
// user include files
26
27
// forward declarations
28
29
namespace
reco
{
30
namespace
formula
{
31
class
EvaluatorBase
32
{
33
34
public
:
35
enum class
Precidence
{
36
kPlusMinus
= 1,
37
kMultDiv
= 2,
38
kPower
= 3,
39
kFunction
= 4,
//default
40
kParenthesis
= 5,
41
kUnaryMinusOperator
= 6
42
};
43
44
EvaluatorBase
();
45
EvaluatorBase
(
Precidence
);
46
virtual
~EvaluatorBase
();
47
48
// ---------- const member functions ---------------------
49
//inputs are considered to be 'arrays' which have already been validated to
50
// be of the appropriate length
51
virtual
double
evaluate
(
double
const
* iVariables,
double
const
* iParameters)
const
= 0;
52
53
unsigned
int
precidence
()
const
{
return
m_precidence
; }
54
void
setPrecidenceToParenthesis
() {
m_precidence
=
static_cast<
unsigned
int
>
(
Precidence::kParenthesis
); }
55
56
private
:
57
EvaluatorBase
(
const
EvaluatorBase
&) =
delete
;
58
59
const
EvaluatorBase
&
operator=
(
const
EvaluatorBase
&) =
delete
;
60
61
// ---------- member data --------------------------------
62
unsigned
int
m_precidence
;
63
};
64
}
65
}
66
67
68
#endif
reco::formula::EvaluatorBase::m_precidence
unsigned int m_precidence
Definition:
formulaEvaluatorBase.h:62
reco::formula::EvaluatorBase::evaluate
virtual double evaluate(double const *iVariables, double const *iParameters) const =0
reco::formula::EvaluatorBase::Precidence::kParenthesis
dt_dqm_sourceclient_common_cff.reco
tuple reco
Definition:
dt_dqm_sourceclient_common_cff.py:106
reco::formula::EvaluatorBase::setPrecidenceToParenthesis
void setPrecidenceToParenthesis()
Definition:
formulaEvaluatorBase.h:54
reco::formula::EvaluatorBase::operator=
const EvaluatorBase & operator=(const EvaluatorBase &)=delete
reco::formula::EvaluatorBase::Precidence::kFunction
reco::formula::EvaluatorBase::Precidence::kPower
reco::formula::EvaluatorBase::Precidence::kUnaryMinusOperator
reco::formula::EvaluatorBase::EvaluatorBase
EvaluatorBase()
Definition:
formulaEvaluatorBase.cc:30
reco::formula::EvaluatorBase::~EvaluatorBase
virtual ~EvaluatorBase()
Definition:
formulaEvaluatorBase.cc:40
reco::formula::EvaluatorBase::Precidence
Precidence
Definition:
formulaEvaluatorBase.h:35
reco::formula::EvaluatorBase::Precidence::kMultDiv
reco::formula::EvaluatorBase::precidence
unsigned int precidence() const
Definition:
formulaEvaluatorBase.h:53
EcalElecEmulExample_cfg.formula
tuple formula
Definition:
EcalElecEmulExample_cfg.py:56
reco::formula::EvaluatorBase::Precidence::kPlusMinus
reco::formula::EvaluatorBase
Definition:
formulaEvaluatorBase.h:31
Generated for CMSSW Reference Manual by
1.8.5