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