3// -----------------------------------------------------------------------
6// inlined functions implementation file
7// -----------------------------------------------------------------------
8// This file is part of Geant4 (simulation toolkit for HEP).
10// =======================================================================
11// M. Fischler - Created: 24 Janm 2000
13// M. Fischler - Modified fire() to use local engine, not getTheEngine()
15// =======================================================================
22RandGaussQ::RandGaussQ(HepRandomEngine & anEngine, double mean,
24: RandGauss(anEngine, mean, stdDev) {}
26RandGaussQ::RandGaussQ(HepRandomEngine * anEngine, double mean,
28: RandGauss(anEngine, mean, stdDev) {}
30// Getting a Gaussian deviate - static methods
31// -------------------------------------------
33double RandGaussQ::shoot()
35 HepRandomEngine* anEngine = HepRandom::getTheEngine();
36 return transformQuick (anEngine->flat());
39double RandGaussQ::shoot( HepRandomEngine* anotherEngine )
41 return transformQuick (anotherEngine->flat());
44double RandGaussQ::shoot(double mean, double stdDev) {
45 return shoot()*stdDev + mean;
48double RandGaussQ::shoot(HepRandomEngine* anotherEngine,
49 double mean, double stdDev) {
50 return shoot(anotherEngine)*stdDev + mean;
53// Getting a Gaussian deviate - instance methods
54// ---------------------------------------------
56double RandGaussQ::fire() {
57 return transformQuick(localEngine->flat()) * defaultStdDev + defaultMean;
60double RandGaussQ::fire(double mean, double stdDev) {
61 return transformQuick(localEngine->flat()) * stdDev + mean;