Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
CommonTools
Utils
interface
ExpressionBinaryOperatorSetter.h
Go to the documentation of this file.
1
#ifndef CommonTools_Utils_ExpressionBinaryOperatorSetter_h
2
#define CommonTools_Utils_ExpressionBinaryOperatorSetter_h
3
/* \class reco::parser::ExpressionBinaryOperator
4
*
5
* Binary operator expression setter
6
*
7
* \author original version: Chris Jones, Cornell,
8
* adapted by Luca Lista, INFN
9
*
10
* \version $Revision: 1.2 $
11
*
12
*/
13
#include "
CommonTools/Utils/interface/ExpressionBinaryOperator.h
"
14
#include "
CommonTools/Utils/interface/ExpressionStack.h
"
15
#include <cmath>
16
17
namespace
reco
{
18
namespace
parser
{
19
20
template
<
typename
T>
21
struct
power_of
{
22
T
operator()
(
T
lhs,
T
rhs)
const
{
return
pow
(lhs, rhs); }
23
};
24
25
template
<
typename
Op>
26
struct
ExpressionBinaryOperatorSetter
{
27
ExpressionBinaryOperatorSetter
(
ExpressionStack
&
stack
) :
stack_
(stack) {}
28
void
operator()
(
const
char
*,
const
char
*)
const
{
29
stack_
.push_back(
ExpressionPtr
(
new
ExpressionBinaryOperator<Op>
(
stack_
)));
30
}
31
32
private
:
33
ExpressionStack
&
stack_
;
34
};
35
}
// namespace parser
36
}
// namespace reco
37
38
#endif
reco::parser::ExpressionBinaryOperator
Definition:
ExpressionBinaryOperator.h:19
reco::parser::ExpressionBinaryOperatorSetter::stack_
ExpressionStack & stack_
Definition:
ExpressionBinaryOperatorSetter.h:33
reco::parser::ExpressionPtr
std::shared_ptr< ExpressionBase > ExpressionPtr
Definition:
ExpressionBase.h:25
ExpressionBinaryOperator.h
reco::parser::power_of::operator()
T operator()(T lhs, T rhs) const
Definition:
ExpressionBinaryOperatorSetter.h:22
dt_dqm_sourceclient_common_cff.reco
tuple reco
Definition:
dt_dqm_sourceclient_common_cff.py:111
reco::parser::ExpressionBinaryOperatorSetter
Definition:
ExpressionBinaryOperatorSetter.h:26
reco::parser::ExpressionStack
std::vector< std::shared_ptr< ExpressionBase > > ExpressionStack
Definition:
ExpressionStack.h:19
writedatasetfile.parser
tuple parser
Definition:
writedatasetfile.py:7
svgfig.stack
stack
Definition:
svgfig.py:559
reco::parser::ExpressionBinaryOperatorSetter::ExpressionBinaryOperatorSetter
ExpressionBinaryOperatorSetter(ExpressionStack &stack)
Definition:
ExpressionBinaryOperatorSetter.h:27
reco::parser::ExpressionBinaryOperatorSetter::operator()
void operator()(const char *, const char *) const
Definition:
ExpressionBinaryOperatorSetter.h:28
T
long double T
Definition:
Basic3DVectorLD.h:48
ExpressionStack.h
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition:
Power.h:29
reco::parser::power_of
Definition:
ExpressionBinaryOperatorSetter.h:21
Generated for CMSSW Reference Manual by
1.8.5