BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EepipiRandom.cxx
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Module: EepipiRandom.h
4//
5// Description: routines to unify random numbers using Bes random service
6//
7// Modification history:
8//
9// Ping RG Feb. 16, 2009 Module created
10//
11//------------------------------------------------------------------------
12//
13
14#include "EepipiRandom.h"
15
16#include <iostream>
17using namespace std;
18using namespace CLHEP;
19
20HepRandomEngine* EepipiRandom::_randomEngine = 0;
21
22void EepipiRandom::setRandomEngine( CLHEP::HepRandomEngine* randomEngine ) {
23 _randomEngine = randomEngine;
24}
25
27
28 if ( _randomEngine == 0 )
29 {
30 cerr << "No random engine available in "
31 << "EepipiRandom::random()." << endl;
32 }
33 return _randomEngine->flat();
34}
35
36double EepipiRandom::Flat( double min, double max ) {
37
38 if ( min > max )
39 { cerr << "min>max in EepipiRandom::Flat(" << min << "," << max << ")" << endl; }
40
41 return EepipiRandom::random() * ( max - min ) + min;
42}
43
44double EepipiRandom::Flat( double max ) { return max * EepipiRandom::random(); }
45
47
48void EepipiRandom::FlatArray( double* vect, const int size ) {
49 if ( _randomEngine == 0 )
50 cout << "Can not get randomEngine pointer in EepipiRandom::FlatArray" << endl;
51 else _randomEngine->flatArray( size, vect );
52}
#define min(a, b)
#define max(a, b)
static void FlatArray(double *vect, const int size)
static void setRandomEngine(CLHEP::HepRandomEngine *randomEngine)
static double Flat()
static double random()