32 #include "CLHEP/Random/defs.h"
33 #include "CLHEP/Random/Random.h"
34 #include "CLHEP/Utility/memory.h"
42 class RandGauss :
public HepRandom {
46 inline RandGauss ( HepRandomEngine& anEngine,
double mean=0.0,
48 inline RandGauss ( HepRandomEngine* anEngine,
double mean=0.0,
64 static double shoot();
66 static inline double shoot(
double mean,
double stdDev );
68 static void shootArray (
const int size,
double* vect,
69 double mean=0.0,
double stdDev=1.0 );
74 static double shoot( HepRandomEngine* anEngine );
76 static inline double shoot( HepRandomEngine* anEngine,
77 double mean,
double stdDev );
79 static void shootArray ( HepRandomEngine* anEngine,
const int size,
80 double* vect,
double mean=0.0,
88 inline double fire(
double mean,
double stdDev );
90 void fireArray (
const int size,
double* vect);
91 void fireArray (
const int size,
double* vect,
92 double mean,
double stdDev );
95 virtual double operator()(
double mean,
double stdDev );
97 std::string
name()
const;
98 HepRandomEngine &
engine();
105 std::ostream &
put ( std::ostream & os )
const;
106 std::istream &
get ( std::istream & is );
114 static void setFlag(
bool val ) {set_st = val;}
116 bool getF()
const {
return set;}
118 void setF(
bool val ) {
set = val;}
146 static double getVal() {
return nextGauss_st;}
148 static void setVal(
double nextVal ) {nextGauss_st = nextVal;}
164 static double nextGauss_st;
170 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
172 using namespace CLHEP;
175 #include "CLHEP/Random/RandGauss.icc"