Geant4-11
setStdMath.cc
Go to the documentation of this file.
1// -*- C++ -*-
2// ----------------------------------------------------------------------
3
5
6#include <cmath> // for sqrt and pow
7
8static double eval_abs (double a) { return (a < 0) ? -a : a; }
9static double eval_min (double a, double b) { return (a < b) ? a : b; }
10static double eval_max (double a, double b) { return (a > b) ? a : b; }
11static double eval_sqrt (double a) { return std::sqrt(a); }
12static double eval_pow (double a, double b) { return std::pow(a,b); }
13static double eval_sin (double a) { return std::sin(a); }
14static double eval_cos (double a) { return std::cos(a); }
15static double eval_tan (double a) { return std::tan(a); }
16static double eval_asin (double a) { return std::asin(a); }
17static double eval_acos (double a) { return std::acos(a); }
18static double eval_atan (double a) { return std::atan(a); }
19static double eval_atan2(double a, double b) { return std::atan2(a,b); }
20static double eval_sinh (double a) { return std::sinh(a); }
21static double eval_cosh (double a) { return std::cosh(a); }
22static double eval_tanh (double a) { return std::tanh(a); }
23static double eval_exp (double a) { return std::exp(a); }
24static double eval_log (double a) { return std::log(a); }
25static double eval_log10(double a) { return std::log10(a); }
26
27namespace 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
void setFunction(const char *name, double(*fun)())
Definition: Evaluator.cc:698
void setVariable(const char *name, double value)
Definition: Evaluator.cc:689
static double eval_atan(double a)
Definition: setStdMath.cc:18
static double eval_max(double a, double b)
Definition: setStdMath.cc:10
static double eval_atan2(double a, double b)
Definition: setStdMath.cc:19
static double eval_acos(double a)
Definition: setStdMath.cc:17
static double eval_cosh(double a)
Definition: setStdMath.cc:21
static double eval_tan(double a)
Definition: setStdMath.cc:15
static double eval_min(double a, double b)
Definition: setStdMath.cc:9
static double eval_sin(double a)
Definition: setStdMath.cc:13
static double eval_sinh(double a)
Definition: setStdMath.cc:20
static double eval_pow(double a, double b)
Definition: setStdMath.cc:12
static double eval_cos(double a)
Definition: setStdMath.cc:14
static double eval_asin(double a)
Definition: setStdMath.cc:16
static double eval_abs(double a)
Definition: setStdMath.cc:8
static double eval_log10(double a)
Definition: setStdMath.cc:25
static double eval_sqrt(double a)
Definition: setStdMath.cc:11
static double eval_exp(double a)
Definition: setStdMath.cc:23
static double eval_tanh(double a)
Definition: setStdMath.cc:22
static double eval_log(double a)
Definition: setStdMath.cc:24