00001 #ifndef Utilities_ExpressionNumberSetter_h 00002 #define Utilities_ExpressionNumberSetter_h 00003 /* \class reco::parser::ExpressionNumber 00004 * 00005 * Numerical expression setter 00006 * 00007 * \author original version: Chris Jones, Cornell, 00008 * adapted to Reflex by Luca Lista, INFN 00009 * 00010 * \version $Revision: 1.2 $ 00011 * 00012 */ 00013 #include "PhysicsTools/Utilities/src/ExpressionNumber.h" 00014 #include "PhysicsTools/Utilities/src/ExpressionStack.h" 00015 00016 namespace reco { 00017 namespace parser { 00018 struct ExpressionNumberSetter { 00019 ExpressionNumberSetter(ExpressionStack & stack) : stack_(stack) { } 00020 void operator()(double n) const { 00021 stack_.push_back(boost::shared_ptr<ExpressionBase>(new ExpressionNumber(n))); 00022 } 00023 private: 00024 ExpressionStack & stack_; 00025 }; 00026 } 00027 } 00028 00029 #endif