00001 #ifndef __INCLUDE_CRANDOM_H 00002 #define __INCLUDE_CRANDOM_H 00003 00004 #include <cmath> 00005 #include <gsl/gsl_rng.h> 00006 #include <gsl/gsl_randist.h> 00007 #include <gsl/gsl_sf.h> 00008 00009 class CRandom{ 00010 public: 00012 double ran(void); 00014 unsigned long int iran(unsigned long int imax); 00016 double gauss(void); 00017 void gauss2(double *g1,double *g2); 00019 double ran_exp(void); 00020 CRandom(int seed); 00021 void reset(int seed); 00022 void generate_boltzmann(double mass,double T,double *p); 00023 private: 00024 gsl_rng *randy; 00025 }; 00026 00027 #endif