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