61 static HepDouble shoot();
63 static inline HepDouble shoot( HepDouble mean, HepDouble stdDev );
65 static void shootArray (
const HepInt size, HepDouble* vect,
66 HepDouble mean=0.0, HepDouble stdDev=1.0 );
67 #ifndef ST_NO_TEMPLATE_DEF_ARGS
68 static void shootArray ( vector<HepDouble>&,
69 HepDouble mean=0.0, HepDouble stdDev=1.0 );
71 static void shootArray ( vector<HepDouble, allocator<HepDouble> >&,
72 HepDouble mean=0.0, HepDouble stdDev=1.0 );
80 HepDouble mean, HepDouble stdDev );
83 HepDouble* vect, HepDouble mean=0.0,
84 HepDouble stdDev=1.0 );
85 #ifndef ST_NO_TEMPLATE_DEF_ARGS
88 HepDouble mean=0.0, HepDouble stdDev=1.0 );
91 vector<HepDouble, allocator<HepDouble> >&,
92 HepDouble mean=0.0, HepDouble stdDev=1.0 );
99 inline HepDouble fire( HepDouble mean, HepDouble stdDev );
101 void fireArray (
const HepInt size, HepDouble* vect,
102 HepDouble mean=0.0, HepDouble stdDev=1.0 );
103 #ifndef ST_NO_TEMPLATE_DEF_ARGS
104 void fireArray ( vector<HepDouble>&,
105 HepDouble mean=0.0, HepDouble stdDev=1.0 );
107 void fireArray ( vector<HepDouble, allocator<HepDouble> >&,
108 HepDouble mean=0.0, HepDouble stdDev=1.0 );
110 HepDouble operator()();
114 static HepBoolean getFlag() {
return HepRandom::getTheGenerator()->getFlag();}
116 static void setFlag( HepBoolean val ){HepRandom::getTheGenerator()->setFlag(val);}
118 static HepDouble getVal() {
return HepRandom::getTheGenerator()->getVal();}
120 static void setVal( HepDouble nextVal ){HepRandom::getTheGenerator()->setVal(nextVal);}
125 HepBoolean deleteEngine, set;
135 : localEngine(&anEngine), deleteEngine(false), set(false),
139 : localEngine(anEngine), deleteEngine(true), set(false),
142 inline HepDouble RandGauss::shoot(HepDouble mean, HepDouble stdDev) {
143 return shoot()*stdDev + mean;
147 HepDouble mean, HepDouble stdDev) {
148 return shoot(anEngine)*stdDev + mean;
151 inline HepDouble RandGauss::fire(HepDouble mean, HepDouble stdDev) {
152 return fire()*stdDev + mean;