CMS 3D CMS Logo

CutBinaryOperatorSetter.h
Go to the documentation of this file.
1 #ifndef CommonTools_Utils_CutBinaryOperatorSetter_h
2 #define CommonTools_Utils_CutBinaryOperatorSetter_h
3 /* \class reco::parser::CutBinaryOperator
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  */
14 #include "CommonTools/Utils/src/CutStack.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>
28  void operator()(const char*, const char*) const {
29  stack_.push_back(CutPtr(new CutBinaryOperator<Op>(stack_)));
30  }
31  private:
32  CutStack & stack_;
33  };
34  }
35 }
36 
37 #endif
reco::parser::power_of
Definition: CutBinaryOperatorSetter.h:21
writedatasetfile.parser
parser
Definition: writedatasetfile.py:7
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
CutBinaryOperator.h
svgfig.stack
stack
Definition: svgfig.py:559
reco::parser::CutBinaryOperatorSetter::CutBinaryOperatorSetter
CutBinaryOperatorSetter(CutStack &stack)
Definition: CutBinaryOperatorSetter.h:27
reco::parser::CutBinaryOperatorSetter::operator()
void operator()(const char *, const char *) const
Definition: CutBinaryOperatorSetter.h:28
reco::parser::CutBinaryOperatorSetter
Definition: CutBinaryOperatorSetter.h:26
reco::parser::CutBinaryOperatorSetter::stack_
CutStack & stack_
Definition: CutBinaryOperatorSetter.h:32
reco::parser::power_of::operator()
T operator()(T lhs, T rhs) const
Definition: CutBinaryOperatorSetter.h:22
T
long double T
Definition: Basic3DVectorLD.h:48
reco::parser::CutBinaryOperator
Definition: CutBinaryOperator.h:19
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29