/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/Eepipi/Eepipi-00-00-06/src/EepipiRandom.cxx

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 // Module: EepipiRandom.h
00004 //
00005 // Description: routines to unify random numbers using Bes random service 
00006 //
00007 // Modification history:
00008 //
00009 //   Ping RG   Feb. 16, 2009           Module created
00010 //
00011 //------------------------------------------------------------------------
00012 //
00013 
00014 #include "../Eepipi/EepipiRandom.h"
00015 
00016 #include "CLHEP/Random/RanluxEngine.h"
00017 #include <iostream>
00018 using namespace std;
00019 using namespace CLHEP;
00020 
00021 HepRandomEngine* EepipiRandom::_randomEngine=0;
00022 
00023 void EepipiRandom::setRandomEngine(CLHEP::HepRandomEngine* randomEngine){
00024   _randomEngine=randomEngine;
00025 }
00026 
00027 
00028 double EepipiRandom::random(){
00029 
00030   if (_randomEngine==0){
00031     cerr <<"No random engine available in "
00032                            <<"EepipiRandom::random()."<<endl;
00033   }
00034     return _randomEngine->flat();
00035   }
00036 
00037 
00038 
00039 double EepipiRandom::Flat( double min, double max){
00040 
00041   if ( min > max ) {
00042     cerr<< "min>max in EepipiRandom::Flat(" << min << "," << max << ")" <<endl;
00043   }
00044 
00045   return EepipiRandom::random()*( max - min )+min;
00046 
00047 } 
00048 
00049 double EepipiRandom::Flat(double max){
00050 
00051   return max*EepipiRandom::random();
00052 
00053 } 
00054 
00055 double EepipiRandom::Flat(){
00056 
00057   return EepipiRandom::random();
00058 
00059  } 
00060 
00061 void EepipiRandom::FlatArray(double* vect, const int size){
00062   if(_randomEngine == 0) cout<<"Can not get randomEngine pointer in EepipiRandom::FlatArray"<<endl;
00063   else _randomEngine->flatArray(size,vect);
00064 }
00065 
00066 
00067 

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