BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EkharaRandom.cxx
Go to the documentation of this file.
1#include "EkharaRandom.h"
2#include "cfortran/cfortran.h"
3
4#include <iostream>
5using namespace std;
6using namespace CLHEP;
7
8HepRandomEngine* EkharaRandom::_randomEngine = 0;
9
10void EkharaRandom::setRandomEngine( CLHEP::HepRandomEngine* randomEngine ) {
11 _randomEngine = randomEngine;
12}
13
15
16 if ( _randomEngine == 0 )
17 {
18 cerr << "No random engine available in "
19 << "EkharaRandom::random()." << endl;
20 }
21
22 return _randomEngine->flat();
23}
24
25double EkharaRandom::Flat( double min, double max ) {
26
27 if ( min > max )
28 { cerr << "min>max in EkharaRandom::Flat(" << min << "," << max << ")" << endl; }
29
30 return EkharaRandom::random() * ( max - min ) + min;
31}
32
33double EkharaRandom::Flat( double max ) { return max * EkharaRandom::random(); }
34
36
37void EkharaRandom::FlatArray( double* vect, const int size ) {
38 if ( _randomEngine == 0 )
39 cout << "Cannot get randomEngine pointer in EkharaRandom::FlatArray" << endl;
40 else { _randomEngine->flatArray( size, vect ); }
41}
42
43FCALLSCSUB2( EkharaRandom::FlatArray, RANLXDF, ranlxdf, DOUBLEV, INT )
#define min(a, b)
#define max(a, b)
#define RANLXDF(AR, VAL)
static double random()
static double Flat()
static void FlatArray(double *vect, const int size)
static void setRandomEngine(CLHEP::HepRandomEngine *randomEngine)