19 inline RandExponential::RandExponential(HepRandomEngine & anEngine,
21 : HepRandom(), localEngine(&anEngine, do_nothing_deleter()), defaultMean(mean) {}
23 inline RandExponential::RandExponential(HepRandomEngine * anEngine,
25 : HepRandom(), localEngine(anEngine), defaultMean(mean) {}
29 inline double RandExponential::shoot(HepRandomEngine* anEngine) {
30 return -std::log(anEngine->flat());
33 inline double RandExponential::shoot(HepRandomEngine* anEngine,
35 return -std::log(anEngine->flat())*mean;
40 inline double RandExponential::fire() {
41 return -std::log(localEngine->flat())*defaultMean;
44 inline double RandExponential::fire(
double mean) {
45 return -std::log(localEngine->flat())*mean;