BOSS
7.0.7
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
//
22
#include "
EvtGenBase/EvtPatches.hh
"
23
24
#include <stdlib.h>
25
#include <stdio.h>
26
#include <math.h>
27
#include <iostream>
28
#include "
EvtGenBase/EvtRandomEngine.hh
"
29
#include "
EvtGenBase/EvtRandom.hh
"
30
#include "
EvtGenBase/EvtReport.hh
"
31
using
std::endl;
32
33
34
EvtRandomEngine
* EvtRandom::_randomEngine=0;
35
36
void
EvtRandom::setRandomEngine
(
EvtRandomEngine
* randomEngine){
37
_randomEngine=randomEngine;
38
}
39
40
41
double
EvtRandom::random
(){
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.
57
double
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
68
double
EvtRandom::Flat
(
double
max
){
69
70
return
max
*
EvtRandom::random
();
71
72
}
73
74
double
EvtRandom::Flat
(){
75
76
return
EvtRandom::random
();
77
78
}
79
80
81
min
#define min(a, b)
Definition:
Eepipi/Eepipi-00-00-06/src/ee2eepp/basesv5.1/f2c.h:153
max
#define max(a, b)
Definition:
Eepipi/Eepipi-00-00-06/src/ee2eepp/basesv5.1/f2c.h:154
EvtPatches.hh
EvtRandomEngine.hh
EvtRandom.hh
report
ostream & report(Severity severity, const char *facility)
Definition:
EvtReport.cc:36
EvtReport.hh
ERROR
@ ERROR
Definition:
EvtReport.hh:49
EvtRandomEngine
Definition:
EvtRandomEngine.hh:26
EvtRandomEngine::random
virtual double random()
Definition:
EvtRandomEngine.cc:31
EvtRandom::random
static double random()
Definition:
EvtRandom.cc:41
EvtRandom::Flat
static double Flat()
Definition:
EvtRandom.cc:74
EvtRandom::setRandomEngine
static void setRandomEngine(EvtRandomEngine *randomEngine)
Definition:
EvtRandom.cc:36
source
Generator
BesEvtGen
BesEvtGen-00-04-08
src
EvtGen
EvtGenBase
EvtRandom.cc
Generated by
1.9.6