ATLAS Offline Software
TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h
Go to the documentation of this file.
1 /* emacs: this is -*- c++ -*- */
19 #ifndef RANDOM_H
20 #define RANDOM_H
21 
22 #include <iostream>
23 
24 #include "TRandom3.h"
25 
26 class Random : TRandom3 {
27 
28 public:
29 
30  static Random& RandomBuilder() {
31  static Random _r;
32  return _r;
33  }
34 
35  // virtual ~Random() { delete m_rand; }
36  virtual ~Random() { }
37 
38  static double exp() { return RandomBuilder().Exp(1); }
39  static double gauss() { return RandomBuilder().Gaus(); }
40  static double uniform() { return RandomBuilder().Uniform(); }
41 
42 
43 private:
44 
45  Random(int seed=4357) : TRandom3(seed) { }
46 
47 };
48 
49 inline std::ostream& operator<<( std::ostream& s, const Random& _r ) {
50  return s;
51 }
52 
53 
54 
55 #endif // RANDOM_H
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
operator<<
std::ostream & operator<<(std::ostream &s, const Random &_r)
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:49
Random::uniform
static double uniform()
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:40
Random::~Random
virtual ~Random()
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:36
Random
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:26
Random::gauss
static double gauss()
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:39
Random::exp
static double exp()
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:38
Random::RandomBuilder
static Random & RandomBuilder()
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:30
Random::Random
Random(int seed=4357)
Definition: TrigAnalysis/TrigInDetAnalysisUser/Resplot/src/Random.h:45