ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
setStdMath.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file setStdMath.cc
1 // -*- C++ -*-
2 // ----------------------------------------------------------------------
3 
5 
6 #include <cmath> // for sqrt and pow
7 
8 static double eval_abs (double a) { return (a < 0) ? -a : a; }
9 static double eval_min (double a, double b) { return (a < b) ? a : b; }
10 static double eval_max (double a, double b) { return (a > b) ? a : b; }
11 static double eval_sqrt (double a) { return std::sqrt(a); }
12 static double eval_pow (double a, double b) { return std::pow(a,b); }
13 static double eval_sin (double a) { return std::sin(a); }
14 static double eval_cos (double a) { return std::cos(a); }
15 static double eval_tan (double a) { return std::tan(a); }
16 static double eval_asin (double a) { return std::asin(a); }
17 static double eval_acos (double a) { return std::acos(a); }
18 static double eval_atan (double a) { return std::atan(a); }
19 static double eval_atan2(double a, double b) { return std::atan2(a,b); }
20 static double eval_sinh (double a) { return std::sinh(a); }
21 static double eval_cosh (double a) { return std::cosh(a); }
22 static double eval_tanh (double a) { return std::tanh(a); }
23 static double eval_exp (double a) { return std::exp(a); }
24 static double eval_log (double a) { return std::log(a); }
25 static double eval_log10(double a) { return std::log10(a); }
26 
27 namespace HepTool {
28 
30 
31  // S E T S T A N D A R D C O N S T A N T S
32 
33  setVariable("pi", 3.14159265358979323846);
34  setVariable("e", 2.7182818284590452354);
35  setVariable("gamma", 0.577215664901532861);
36  setVariable("radian", 1.0);
37  setVariable("rad", 1.0);
38  setVariable("degree", 3.14159265358979323846/180.);
39  setVariable("deg", 3.14159265358979323846/180.);
40 
41  // S E T S T A N D A R D F U N C T I O N S
42 
43  setFunction("abs", eval_abs);
44  setFunction("min", eval_min);
45  setFunction("max", eval_max);
46  setFunction("sqrt", eval_sqrt);
47  setFunction("pow", eval_pow);
48  setFunction("sin", eval_sin);
49  setFunction("cos", eval_cos);
50  setFunction("tan", eval_tan);
51  setFunction("asin", eval_asin);
52  setFunction("acos", eval_acos);
53  setFunction("atan", eval_atan);
54  setFunction("atan2", eval_atan2);
55  setFunction("sinh", eval_sinh);
56  setFunction("cosh", eval_cosh);
57  setFunction("tanh", eval_tanh);
58  setFunction("exp", eval_exp);
59  setFunction("log", eval_log);
60  setFunction("log10", eval_log10);
61 }
62 
63 } // namespace HepTool