FlatRandomGen.h

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: FlatRandomGen.h 20880 2007-11-19 11:23:41Z rdm $
00002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei   2003-2005  
00003 
00004 /**********************************************************************
00005  *                                                                    *
00006  * Copyright (c) 2005 LCG ROOT Math team,  CERN/PH-SFT                *
00007  *                                                                    *
00008  **********************************************************************/
00009 
00010 #ifndef MN_FlatRandomGen_H_
00011 #define MN_FlatRandomGen_H_
00012 
00013 #include <cmath>
00014 
00015 namespace ROOT {
00016 
00017    namespace Minuit2 {
00018 
00019 
00020 class FlatRandomGen {
00021 
00022 public:
00023 
00024   FlatRandomGen() : fMean(0.5), fDelta(0.5) {}
00025 
00026   FlatRandomGen(double mean, double delta) : fMean(mean), fDelta(delta) {}
00027 
00028   ~FlatRandomGen() {}
00029 
00030   double Mean() const {return fMean;}
00031 
00032   double Delta() const {return fDelta;}
00033 
00034   double operator()() const {
00035     return 2.*Delta()*(std::rand()/double(RAND_MAX) - 0.5) + Mean();
00036   }
00037 
00038 private:
00039 
00040   double fMean;
00041   double fDelta;
00042 };
00043 
00044   }  // namespace Minuit2
00045 
00046 }  // namespace ROOT
00047 
00048 #endif //MN_FlatRandomGen_H_

Generated on Tue Jul 5 14:37:12 2011 for ROOT_528-00b_version by  doxygen 1.5.1