Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Randomize.h
Go to the documentation of this file.
1 // $Id:$
2 // -*- C++ -*-
3 //
4 // -----------------------------------------------------------------------
5 // HEP Random
6 // -----------------------------------------------------------------------
7 // This file is part of Geant4 (simulation toolkit for HEP).
8 //
9 // This file must be included to make use of the HEP Random module
10 // On some compilers the static instance of the HepRandom generator
11 // needs to be created explicitly in the client code. The static
12 // generator is assured to be correctly initialized by including this
13 // header in the client code.
14 
15 // =======================================================================
16 // Gabriele Cosmo - Created: 5th September 1995
17 // Gabriele Cosmo - Last change: 13th February 1996
18 // Ken Smith - Added Ranshi and DualRand engines: 4th June 1998
19 // - Added Ranlux64 and MTwist engines: 14th July 1998
20 // - Added Hurd160, Hurd288m and TripleRand 6th Aug 1998
21 // =======================================================================
22 
23 #ifndef Rndmze_h
24 #define Rndmze_h 1
25 
26 // Including Engines ...
27 
28 #include "CLHEP/Random/DualRand.h"
35 
36 // Including distributions ...
37 
42 #include "CLHEP/Random/RandFlat.h"
43 #include "CLHEP/Random/RandBit.h"
44 #include "CLHEP/Random/RandGamma.h"
45 #include "CLHEP/Random/RandGauss.h"
51 
52 namespace CLHEP {
53 
54 #define HepUniformRand() HepRandom::getTheEngine()->flat()
55 
56 // On some compilers the static instance of the HepRandom generator
57 // needs to be created explicitly in the client code (i.e. here).
58 
59 static int HepRandomGenActive = HepRandom::createInstance();
60 
61 } // namespace CLHEP
62 
63 #endif