/usr/include/CLHEP/Random/RandExponential.icc is in libclhep-dev 2.1.4.1-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | // $Id: RandExponential.icc,v 1.3 2010/06/16 17:24:53 garren Exp $
// -*- C++ -*-
//
// -----------------------------------------------------------------------
// HEP Random
// --- RandExponential ---
// inlined functions implementation file
// -----------------------------------------------------------------------
// This file is part of Geant4 (simulation toolkit for HEP).
// =======================================================================
// Gabriele Cosmo - Created: 19th August 1998
// =======================================================================
#include <cmath> // for log()
namespace CLHEP {
inline RandExponential::RandExponential(HepRandomEngine & anEngine,
double mean )
: HepRandom(), localEngine(&anEngine, do_nothing_deleter()), defaultMean(mean) {}
inline RandExponential::RandExponential(HepRandomEngine * anEngine,
double mean )
: HepRandom(), localEngine(anEngine), defaultMean(mean) {}
//-------------
inline double RandExponential::shoot(HepRandomEngine* anEngine) {
return -std::log(anEngine->flat());
}
inline double RandExponential::shoot(HepRandomEngine* anEngine,
double mean) {
return -std::log(anEngine->flat())*mean;
}
//-------------
inline double RandExponential::fire() {
return -std::log(localEngine->flat())*defaultMean;
}
inline double RandExponential::fire(double mean) {
return -std::log(localEngine->flat())*mean;
}
} // namespace CLHEP
|