CLHEP
2.4.7.1
C++ Class Library for High Energy Physics
CLHEP
Random
RandGaussT.icc
Go to the documentation of this file.
1
// $Id: RandGaussT.icc,v 1.4 2010/06/16 17:24:53 garren Exp $
2
// -*- C++ -*-
3
//
4
// -----------------------------------------------------------------------
5
// HEP Random
6
// --- RandGaussT ---
7
// inlined functions implementation file
8
// -----------------------------------------------------------------------
9
// This file is part of Geant4 (simulation toolkit for HEP).
10
11
// =======================================================================
12
// M. Fischler - Created: 04 Feb, 2000
13
//
14
// M. Fischler - Modified fire() to use local engine, not getTheEngine()
15
// 12/13/04
16
// =======================================================================
17
18
// Constructors
19
// ------------
20
21
namespace
CLHEP
{
22
23
RandGaussT::RandGaussT
(
HepRandomEngine
& anEngine,
double
mean,
24
double
stdDev )
25
:
RandGauss
(anEngine, mean, stdDev) {}
26
27
RandGaussT::RandGaussT
(
HepRandomEngine
* anEngine,
double
mean,
28
double
stdDev )
29
:
RandGauss
(anEngine, mean, stdDev) {}
30
31
// Getting a Gaussian deviate - static methods
32
// -------------------------------------------
33
34
double
RandGaussT::shoot
()
35
{
36
HepRandomEngine
* anEngine =
HepRandom::getTheEngine
();
37
return
HepStat::flatToGaussian
(anEngine->
flat
());
38
}
39
40
double
RandGaussT::shoot
(
HepRandomEngine
* anotherEngine )
41
{
42
return
HepStat::flatToGaussian
(anotherEngine->
flat
());
43
}
44
45
double
RandGaussT::shoot
(
double
mean,
double
stdDev) {
46
return
shoot
()*stdDev + mean;
47
}
48
49
double
RandGaussT::shoot
(
HepRandomEngine
* anotherEngine,
50
double
mean,
double
stdDev) {
51
return
shoot
(anotherEngine)*stdDev + mean;
52
}
53
54
// Getting a Gaussian deviate - instance methods
55
// ---------------------------------------------
56
57
double
RandGaussT::fire
() {
58
return
HepStat::flatToGaussian
(
localEngine
->flat()) *
defaultStdDev
59
+
defaultMean
;
60
}
61
62
double
RandGaussT::fire
(
double
mean,
double
stdDev) {
63
return
HepStat::flatToGaussian
(
localEngine
->flat()) * stdDev + mean;
64
}
65
66
67
}
// namespace CLHEP
CLHEP::HepRandomEngine
Definition
RandomEngine.h:55
CLHEP::HepRandomEngine::flat
virtual double flat()=0
CLHEP::HepRandom::getTheEngine
static HepRandomEngine * getTheEngine()
CLHEP::HepStat::flatToGaussian
static double flatToGaussian(double r)
CLHEP::RandGaussT::fire
double fire()
Definition
RandGaussT.icc:57
CLHEP::RandGaussT::shoot
static double shoot()
Definition
RandGaussT.icc:34
CLHEP::RandGaussT::RandGaussT
RandGaussT(HepRandomEngine &anEngine, double mean=0.0, double stdDev=1.0)
Definition
RandGaussT.icc:23
CLHEP::RandGauss
Definition
RandGauss.h:43
CLHEP::RandGauss::defaultStdDev
double defaultStdDev
Definition
RandGauss.h:154
CLHEP::RandGauss::defaultMean
double defaultMean
Definition
RandGauss.h:153
CLHEP::RandGauss::localEngine
std::shared_ptr< HepRandomEngine > localEngine
Definition
RandGauss.h:156
CLHEP
Definition
ClhepVersion.h:13
Generated by
1.12.0