This file is indexed.

/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