CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
Randomize.h
Go to the documentation of this file.
1// $Id: Randomize.h,v 1.4 2011/05/31 20:57:00 garren Exp $
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/defs.h"
29#include "CLHEP/Random/DRand48Engine.h"
30#include "CLHEP/Random/DualRand.h"
31#include "CLHEP/Random/Hurd160Engine.h"
32#include "CLHEP/Random/Hurd288Engine.h"
33#include "CLHEP/Random/JamesRandom.h"
34#include "CLHEP/Random/MixMaxRng.h"
35#include "CLHEP/Random/MTwistEngine.h"
36#include "CLHEP/Random/RandEngine.h"
37#include "CLHEP/Random/RanecuEngine.h"
38#include "CLHEP/Random/RanluxEngine.h"
39#include "CLHEP/Random/Ranlux64Engine.h"
40#include "CLHEP/Random/RanluxppEngine.h"
41#include "CLHEP/Random/RanshiEngine.h"
42#include "CLHEP/Random/TripleRand.h"
43
44// Including distributions ...
45
46#include "CLHEP/Random/RandBinomial.h"
47#include "CLHEP/Random/RandBreitWigner.h"
48#include "CLHEP/Random/RandChiSquare.h"
49#include "CLHEP/Random/RandExponential.h"
50#include "CLHEP/Random/RandExpZiggurat.h"
51#include "CLHEP/Random/RandFlat.h"
52#include "CLHEP/Random/RandBit.h"
53#include "CLHEP/Random/RandGamma.h"
54#include "CLHEP/Random/RandGauss.h"
55#include "CLHEP/Random/RandGaussQ.h"
56#include "CLHEP/Random/RandGaussT.h"
57#include "CLHEP/Random/RandGaussZiggurat.h"
58#include "CLHEP/Random/RandGeneral.h"
59#include "CLHEP/Random/RandLandau.h"
60#include "CLHEP/Random/RandPoissonQ.h"
61#include "CLHEP/Random/RandPoissonT.h"
62#include "CLHEP/Random/RandSkewNormal.h"
63#include "CLHEP/Random/RandStudentT.h"
64namespace CLHEP {
65
66#define HepUniformRand() HepRandom::getTheEngine()->flat()
67
68// On some compilers the static instance of the HepRandom generator
69// needs to be created explicitly in the client code (i.e. here).
70
71#if __GNUC__
72static const int HepRandomGenActive __attribute__((unused)) = HepRandom::createInstance();
73#else
74static const int HepRandomGenActive = HepRandom::createInstance();
75#endif
76
77} // namespace CLHEP
78
79#ifdef ENABLE_BACKWARDS_COMPATIBILITY
80// backwards compatibility will be enabled ONLY in CLHEP 1.9
81using namespace CLHEP;
82#endif
83
84#endif
static int createInstance()
Definition: Random.cc:313