Geant4 Cross Reference |
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" 28 #include "CLHEP/Random/JamesRandom.h" 29 #include "CLHEP/Random/MixMaxRng.h" 30 #include "CLHEP/Random/MTwistEngine.h" 31 #include "CLHEP/Random/RanecuEngine.h" 32 #include "CLHEP/Random/RanluxEngine.h" 33 #include "CLHEP/Random/Ranlux64Engine.h" 34 #include "CLHEP/Random/RanluxppEngine.h" 35 #include "CLHEP/Random/RanshiEngine.h" 36 37 // Including distributions ... 38 39 #include "CLHEP/Random/RandBinomial.h" 40 #include "CLHEP/Random/RandBreitWigner.h" 41 #include "CLHEP/Random/RandChiSquare.h" 42 #include "CLHEP/Random/RandExponential.h" 43 #include "CLHEP/Random/RandExpZiggurat.h" 44 #include "CLHEP/Random/RandFlat.h" 45 #include "CLHEP/Random/RandBit.h" 46 #include "CLHEP/Random/RandGamma.h" 47 #include "CLHEP/Random/RandGauss.h" 48 #include "CLHEP/Random/RandGaussQ.h" 49 #include "CLHEP/Random/RandGaussZiggurat.h" 50 #include "CLHEP/Random/RandGeneral.h" 51 #include "CLHEP/Random/RandLandau.h" 52 #include "CLHEP/Random/RandPoissonQ.h" 53 #include "CLHEP/Random/RandStudentT.h" 54 55 namespace CLHEP { 56 57 #define HepUniformRand() HepRandom::getTheEngine()->flat() 58 59 // On some compilers the static instance of the HepRandom generator 60 // needs to be created explicitly in the client code (i.e. here). 61 62 #if __GNUC__ 63 static const int HepRandomGenActive __attribute__((unused)) = HepRandom::createInstance(); 64 #else 65 static const int HepRandomGenActive = HepRandom::createInstance(); 66 #endif 67 68 } // namespace CLHEP 69 70 #endif 71