StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtRandom.hh
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
10 //
11 // Module: EvtGen/EvtRandom.hh
12 //
13 // Description:Source of random numbers for EvtGen code
14 //
15 // Modification history:
16 //
17 // RYD March 24, 1998 Module created
18 //
19 //------------------------------------------------------------------------
20 
21 #ifndef EVTRANDOM_HH
22 #define EVTRANDOM_HH
23 
24 
25 class EvtRandomEngine;
26 
27 class EvtRandom{
28 
29 public:
30 
31  static double Flat();
32  static double Flat(double max);
33  static double Flat(double min, double max);
34 
35  //generate unit Gaussian
36  static double Gaussian();
37 
38  static double random();
39 
40  //This class does not take ownership of the random engine;
41  //the caller needs to make sure that the engine is not
42  //destroyed.
43  static void setRandomEngine(EvtRandomEngine* randomEngine);
44 
45 private:
46 
47  static EvtRandomEngine* _randomEngine;
48 
49 };
50 
51 #endif
52