/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/Ekhara/Ekhara-00-00-11/src/EkharaRandom.cxx

Go to the documentation of this file.
00001 #include "Ekhara/EkharaRandom.h"
00002 #include "Ekhara/cfortran.h"
00003 
00004 #include "CLHEP/Random/RanluxEngine.h"
00005 #include <iostream>
00006 using namespace std;
00007 using namespace CLHEP;
00008 
00009 HepRandomEngine* EkharaRandom::_randomEngine=0;
00010 
00011 void EkharaRandom::setRandomEngine(CLHEP::HepRandomEngine* randomEngine){
00012   _randomEngine=randomEngine;
00013 }
00014 
00015 
00016 double EkharaRandom::random(){
00017 
00018   if (_randomEngine==0){
00019     cerr <<"No random engine available in "
00020                            <<"EkharaRandom::random()."<<endl;
00021   }
00022 
00023     return _randomEngine->flat();
00024   }
00025 
00026 
00027 
00028 double EkharaRandom::Flat( double min, double max){
00029 
00030   if ( min > max ) {
00031     cerr<< "min>max in EkharaRandom::Flat(" << min << "," << max << ")" <<endl;
00032   }
00033 
00034   return EkharaRandom::random()*( max - min )+min;
00035 
00036 } 
00037 
00038 double EkharaRandom::Flat(double max){
00039 
00040   return max*EkharaRandom::random();
00041 
00042 } 
00043 
00044 double EkharaRandom::Flat(){
00045 
00046   return EkharaRandom::random();
00047 
00048  } 
00049 
00050 void EkharaRandom::FlatArray(double* vect, const int size){
00051   if(_randomEngine == 0) 
00052           cout<<"Can not get randomEngine pointer in EkharaRandom::FlatArray"<<endl;
00053   else {
00054           _randomEngine->flatArray(size,vect);
00055   }
00056 }
00057 
00058 FCALLSCSUB2(EkharaRandom::FlatArray,RANLXDF,ranlxdf,DOUBLEV,INT)

Generated on Tue Nov 29 23:12:38 2016 for BOSS_7.0.2 by  doxygen 1.4.7