neic-glass3  1.4.6
glassmath.h
Go to the documentation of this file.
1 /*****************************************
2  * This file is documented for Doxygen.
3  * If you modify this file please update
4  * the comments so that Doxygen will still
5  * be able to work.
6  ****************************************/
7 #ifndef GLASSMATH_H
8 #define GLASSMATH_H
9 
10 #include <random>
11 
12 namespace glass3 {
13 namespace util {
14 
21 class GlassMath {
22  public:
33  static double sig(double tdif, double sig);
34 
45  static double sig_laplace_pdf(double tdif, double sig);
46 
58  static double random(double x, double y);
59 
71  static double gauss(double avg, double std);
72 
78  static void initializeRandom();
79 
89  static double angleDifference(double angle1, double angle2);
90 
91  // Mathmatical constants
95  static constexpr double k_RadiansToDegrees = 57.29577951308;
96 
100  static constexpr double k_DegreesToRadians = 0.01745329251994;
101 
105  static constexpr double k_Pi = 3.14159265359;
106 
110  static constexpr double k_TwoPi = 6.283185307179586;
111 
112  private:
116  static bool m_bInitialized;
117 
121  static std::default_random_engine m_RandomGenerator;
122 };
123 } // namespace util
124 } // namespace glass3
125 #endif // GLASSMATH_H
static double random(double x, double y)
Generate Random Number.
Definition: glassmath.cpp:40
static constexpr double k_DegreesToRadians
Degrees to Radians conversion factor.
Definition: glassmath.h:100
static constexpr double k_RadiansToDegrees
Radians to Degrees conversion factor.
Definition: glassmath.h:95
glassutil logging class
Definition: glassmath.h:21
static double sig(double tdif, double sig)
CGlass significance function.
Definition: glassmath.cpp:23
The neic-glass3 project namespace containing all the classes and functions that make up neic-glass3...
static double angleDifference(double angle1, double angle2)
get angle difference between two angles
Definition: glassmath.cpp:81
static constexpr double k_Pi
Pi value.
Definition: glassmath.h:105
static constexpr double k_TwoPi
Two Pi value.
Definition: glassmath.h:110
static void initializeRandom()
initialize random number generator
Definition: glassmath.cpp:69
static double gauss(double avg, double std)
Calculate Gaussian random sample.
Definition: glassmath.cpp:51
static double sig_laplace_pdf(double tdif, double sig)
CGlass laplacian significance function (PDF)
Definition: glassmath.cpp:31