ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Stat.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Stat.h
1
// -*- C++ -*-
2
//
3
// -----------------------------------------------------------------------
4
// HEP Random
5
// --- HepStat ---
6
// Purely static class containing useful statistics methods
7
8
// -----------------------------------------------------------------------
9
10
// HepStat is a substitute for using a namespace.
11
// One would never instantiate a HepStat object;
12
// usage of any of these methods looks like --
13
//
14
// double x = HepStat::erf ( .1 );
15
//
16
// A user may wish to improve the readability of algortihm code which uses
17
// one method many times by lines like using HepStat::erf
18
//
19
// and later, x = erf(u); will work.
20
//
21
22
// These methods are implemented in separate .cc files so that
23
// user code need pull in only the code that is necessary. Time
24
// (ROUGH estimates in cycles) and table footprint info is provided
25
// in this header.
26
27
28
// =======================================================================
29
// M. Fischler - Created: 1/25/00
30
//
31
// M. Fischler - Inserted flatToGaussian 1/25/00
32
// From code of an attempt to speed up RandGauss
33
// by use of tables and splines. The code was not
34
// significantly faster than Box-Mueller, so that
35
// algorithm is left as the RandGauss implementation.
36
// - Inserted inverseErf
37
// M. Fischler - Inserted gammln 2/4/00
38
// M. Fischler - Made constructor private; removed private destructor 4/17/00
39
// =======================================================================
40
41
#ifndef HepStat_h
42
#define HepStat_h 1
43
44
namespace
CLHEP {
45
50
class
HepStat
{
51
52
private
:
53
HepStat
();
54
// You CANNOT instantiate a HepStat object.
55
56
public
:
57
58
static
double
flatToGaussian
(
double
r
);
59
// This is defined by the satement that if e() provides a uniform random
60
// on (0,1) then flatToGaussian(e()) is distributed as a unit normal
61
// Gaussian. That is, flatToGaussian is the inverse of the c.d.f. of
62
// a Gaussian.
63
// Footprint: 30 K // Time: 150 cycles
64
65
static
double
inverseErf
(
double
t
);
66
static
double
erf
(
double
x
);
67
// defined in flatToGaussian.cc
68
69
static
double
erfQ
(
double
x);
70
// Quicker, and with less footprint, than erf and gaussianCDF
71
// but only accurate to 7 digits.
72
// Footprint: 0 // Time:
73
74
static
double
gammln
(
double
x);
75
// ln (gamma(x))
76
77
};
78
79
}
// namespace CLHEP
80
81
#endif
geant4
tree
geant4-10.6-release
source
externals
clhep
include
CLHEP
Random
Stat.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:14
using
1.8.2 with
ECCE GitHub integration