BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtRandom.cc
Go to the documentation of this file.
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: EvtRandom.cc
12//
13// Description: routines to get random numbers from
14// random number generator.
15//
16// Modification history:
17//
18// DJL/RYD September 25, 1996 Module created
19//
20//------------------------------------------------------------------------
21//
23
24#include <stdlib.h>
25#include <stdio.h>
26#include <math.h>
27#include <iostream>
31using std::endl;
32
33
34EvtRandomEngine* EvtRandom::_randomEngine=0;
35
37 _randomEngine=randomEngine;
38}
39
40
42
43 if (_randomEngine==0){
44 report(ERROR,"EvtGen") <<"No random engine available in "
45 <<"EvtRandom::random()."<<endl;
46 ::abort();
47 }
48
49 double rdm= _randomEngine->random();
50 // std::cout<<"EvtRandom::Flat= "<<rdm<<std::endl;
51 return rdm;
52}
53
54
55// Random number routine to generate numbers between
56// min and max. By djl on July 27, 1995.
57double EvtRandom::Flat( double min, double max){
58
59 if ( min > max ) {
60 report(ERROR,"EvtGen") << "min>max in EvtRandom::Flat(" << min << "," << max << ")" <<endl;
61 ::abort();
62 }
63
64 return EvtRandom::random()*( max - min )+min;
65
66}
67
68double EvtRandom::Flat(double max){
69
70 return max*EvtRandom::random();
71
72}
73
75
76 return EvtRandom::random();
77
78}
79
80
81
ostream & report(Severity severity, const char *facility)
Definition: EvtReport.cc:36
@ ERROR
Definition: EvtReport.hh:49
virtual double random()
static double random()
Definition: EvtRandom.cc:41
static double Flat()
Definition: EvtRandom.cc:74
static void setRandomEngine(EvtRandomEngine *randomEngine)
Definition: EvtRandom.cc:36