/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/EeTo4e/EeTo4e-00-00-02/src/EeTo4eRandom.cxx

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 // Module: EeTo4eRandom.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 "../EeTo4e/EeTo4eRandom.h"
00015 
00016 #include "CLHEP/Random/RanluxEngine.h"
00017 #include <iostream>
00018 using namespace std;
00019 using namespace CLHEP;
00020 
00021 HepRandomEngine* EeTo4eRandom::_randomEngine=0;
00022 
00023 void EeTo4eRandom::setRandomEngine(CLHEP::HepRandomEngine* randomEngine){
00024   _randomEngine=randomEngine;
00025 }
00026 
00027 
00028 double EeTo4eRandom::random(){
00029 
00030   if (_randomEngine==0){
00031     cerr <<"No random engine available in "
00032                            <<"EeTo4eRandom::random()."<<endl;
00033   }
00034     return _randomEngine->flat();
00035   }
00036 
00037 
00038 
00039 double EeTo4eRandom::Flat( double min, double max){
00040 
00041   if ( min > max ) {
00042     cerr<< "min>max in EeTo4eRandom::Flat(" << min << "," << max << ")" <<endl;
00043   }
00044 
00045   return EeTo4eRandom::random()*( max - min )+min;
00046 
00047 } 
00048 
00049 double EeTo4eRandom::Flat(double max){
00050 
00051   return max*EeTo4eRandom::random();
00052 
00053 } 
00054 
00055 double EeTo4eRandom::Flat(){
00056 
00057   return EeTo4eRandom::random();
00058 
00059  } 
00060 
00061 void EeTo4eRandom::FlatArray(double* vect, const int size){
00062   if(_randomEngine == 0) cout<<"Can not get randomEngine pointer in EeTo4eRandom::FlatArray"<<endl;
00063   else _randomEngine->flatArray(size,vect);
00064 }
00065 
00066 
00067 

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