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
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
tree
geant4-10.6-release
config
environments
examples
source
analysis
digits_hits
error_propagation
event
externals
clhep
include
CLHEP
Evaluator
Geometry
Random
DoubConv.h
DualRand.h
EngineFactory.h
engineIDulong.h
JamesRandom.h
MixMaxRng.h
MTwistEngine.h
NonRandomEngine.h
RandBinomial.h
RandBit.h
RandBreitWigner.h
RandChiSquare.h
RandExponential.h
RandExpZiggurat.h
RandFlat.h
RandGamma.h
RandGauss.h
RandGaussQ.h
RandGaussZiggurat.h
RandGeneral.h
RandLandau.h
Random.h
RandomEngine.h
Randomize.h
RandPoisson.h
RandPoissonQ.h
RandStudentT.h
RanecuEngine.h
Ranlux64Engine.h
RanluxEngine.h
RanshiEngine.h
SeedTable.h
Stat.h
StaticRandomStates.h
Units
Utility
Vector
src
expat
zlib
g3tog4
geometry
global
graphics_reps
intercoms
interfaces
materials
parameterisations
particles
persistency
physics_lists
processes
readout
run
track
tracking
visualization
macros
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
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