Geant4-11
RandGaussQ.icc
Go to the documentation of this file.
1// -*- C++ -*-
2//
3// -----------------------------------------------------------------------
4// HEP Random
5// --- RandGaussQ ---
6// inlined functions implementation file
7// -----------------------------------------------------------------------
8// This file is part of Geant4 (simulation toolkit for HEP).
9
10// =======================================================================
11// M. Fischler - Created: 24 Janm 2000
12//
13// M. Fischler - Modified fire() to use local engine, not getTheEngine()
14// 12/13/04
15// =======================================================================
16
17// Constructors
18// ------------
19
20namespace CLHEP {
21
22RandGaussQ::RandGaussQ(HepRandomEngine & anEngine, double mean,
23 double stdDev )
24: RandGauss(anEngine, mean, stdDev) {}
25
26RandGaussQ::RandGaussQ(HepRandomEngine * anEngine, double mean,
27 double stdDev )
28: RandGauss(anEngine, mean, stdDev) {}
29
30// Getting a Gaussian deviate - static methods
31// -------------------------------------------
32
33double RandGaussQ::shoot()
34{
35 HepRandomEngine* anEngine = HepRandom::getTheEngine();
36 return transformQuick (anEngine->flat());
37}
38
39double RandGaussQ::shoot( HepRandomEngine* anotherEngine )
40{
41 return transformQuick (anotherEngine->flat());
42}
43
44double RandGaussQ::shoot(double mean, double stdDev) {
45 return shoot()*stdDev + mean;
46}
47
48double RandGaussQ::shoot(HepRandomEngine* anotherEngine,
49 double mean, double stdDev) {
50 return shoot(anotherEngine)*stdDev + mean;
51}
52
53// Getting a Gaussian deviate - instance methods
54// ---------------------------------------------
55
56double RandGaussQ::fire() {
57 return transformQuick(localEngine->flat()) * defaultStdDev + defaultMean;
58}
59
60double RandGaussQ::fire(double mean, double stdDev) {
61 return transformQuick(localEngine->flat()) * stdDev + mean;
62}
63
64} // namespace CLHEP
65