setStdMath.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id:$
00003 // ----------------------------------------------------------------------
00004 
00005 #include "CLHEP/Evaluator/Evaluator.h"
00006 
00007 #include <cmath>        // for sqrt and pow
00008 
00009 static double eval_abs  (double a)           { return (a < 0) ? -a : a; } 
00010 static double eval_min  (double a, double b) { return (a < b) ?  a : b; } 
00011 static double eval_max  (double a, double b) { return (a > b) ?  a : b; } 
00012 static double eval_sqrt (double a)           { return std::sqrt(a); } 
00013 static double eval_pow  (double a, double b) { return std::pow(a,b); } 
00014 static double eval_sin  (double a)           { return std::sin(a); } 
00015 static double eval_cos  (double a)           { return std::cos(a); } 
00016 static double eval_tan  (double a)           { return std::tan(a); } 
00017 static double eval_asin (double a)           { return std::asin(a); } 
00018 static double eval_acos (double a)           { return std::acos(a); } 
00019 static double eval_atan (double a)           { return std::atan(a); } 
00020 static double eval_atan2(double a, double b) { return std::atan2(a,b); } 
00021 static double eval_sinh (double a)           { return std::sinh(a); } 
00022 static double eval_cosh (double a)           { return std::cosh(a); } 
00023 static double eval_tanh (double a)           { return std::tanh(a); } 
00024 static double eval_exp  (double a)           { return std::exp(a); } 
00025 static double eval_log  (double a)           { return std::log(a); } 
00026 static double eval_log10(double a)           { return std::log10(a); } 
00027 
00028 namespace HepTool {
00029 
00030 void Evaluator::setStdMath() {
00031 
00032   //   S E T   S T A N D A R D   C O N S T A N T S
00033 
00034   setVariable("pi",     3.14159265358979323846);
00035   setVariable("e",      2.7182818284590452354);
00036   setVariable("gamma",  0.577215664901532861);
00037   setVariable("radian", 1.0);
00038   setVariable("rad",    1.0);
00039   setVariable("degree", 3.14159265358979323846/180.);
00040   setVariable("deg",    3.14159265358979323846/180.);
00041 
00042   //   S E T   S T A N D A R D   F U N C T I O N S
00043 
00044   setFunction("abs",   eval_abs);
00045   setFunction("min",   eval_min);
00046   setFunction("max",   eval_max);
00047   setFunction("sqrt",  eval_sqrt);
00048   setFunction("pow",   eval_pow);
00049   setFunction("sin",   eval_sin);
00050   setFunction("cos",   eval_cos);
00051   setFunction("tan",   eval_tan);
00052   setFunction("asin",  eval_asin);
00053   setFunction("acos",  eval_acos);
00054   setFunction("atan",  eval_atan);
00055   setFunction("atan2", eval_atan2);
00056   setFunction("sinh",  eval_sinh);
00057   setFunction("cosh",  eval_cosh);
00058   setFunction("tanh",  eval_tanh);
00059   setFunction("exp",   eval_exp);
00060   setFunction("log",   eval_log);
00061   setFunction("log10", eval_log10);
00062 }
00063 
00064 } // namespace HepTool

Generated on Mon May 27 17:50:34 2013 for Geant4 by  doxygen 1.4.7