This file is indexed.

/usr/include/CLHEP/RandomObjects/RandomVector.h is in libclhep-dev 2.1.4.1+dfsg-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
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// -*- C++ -*-
//
// -----------------------------------------------------------------------
//                             HEP Random
//                       --- HepRandomVector ---
//                          class header file
// -----------------------------------------------------------------------
// This file is part of CLHEP, extended to match the distributions in RPP.
//
// It's exactly analogous to HepRandom except that the return types for
// the fire() and related methods are std::vector<double> instead of 
// double.  
//
// Distribution classes returning HepVectors of results inherit from 
// HepRandomVector instead of HepRandom.
//
//	HepVector is used instead of the more modern looking 
//	std::vector<double> because the motivating sub-class
//	RandMultiGauss uses HepMatrix to supply the correlation 
//	matrix S anyway.  Given that, we might as well stick to 
//	HepVector when a vector of numbers is needed, as well.
//
// =======================================================================
// Mark Fischler  - Created: 19 Oct, 1998
//    10/20/98	  - Removed all shoot-related material
// =======================================================================

#ifndef HepRandomVector_h
#define HepRandomVector_h 1

#include "CLHEP/RandomObjects/defs.h"
#include "CLHEP/Random/RandomEngine.h"
#include "CLHEP/Matrix/Vector.h"

namespace CLHEP {

/**
 * @author Mark Fischler <mf@fnal.gov>
 * @ingroup robjects
 */
class HepRandomVector {

public:

  HepRandomVector();
  HepRandomVector(long seed);
  // Contructors with and without a seed using a default engine
  // (JamesRandom) which is instantiated for use of this distribution
  // instance.  If the seed is omitted, multiple instantiations will 
  // each get unique seeds.
 
  HepRandomVector(HepRandomEngine & engine);
  HepRandomVector(HepRandomEngine * engine);
  // Constructor taking an alternative engine as argument. If a pointer is
  // given the corresponding object will be deleted by the HepRandom
  // destructor.
  
  virtual ~HepRandomVector();
  // Destructor

  inline HepVector flat();
  // Returns vector of flat values ( interval ]0.1[ ).

  inline HepVector flat (HepRandomEngine* theNewEngine);
  // Returns a vector of flat values, given a defined Random Engine.

  inline void flatArray(const int size, HepVector* vect);
  // Fills "vect" array of flat random values, given the size.
  // Included for consistency with the HepRandom class.

  inline void flatArray(HepRandomEngine* theNewEngine,
                        const int size, HepVector* vect);
  // Fills "vect" array of flat random values, given the size
  // and a defined Random Engine.


  virtual HepVector operator()();
  // To get a flat random number using the operator ().


private:       // -------- Private methods ---------

  inline void setSeed(long seed, int lux);
  // (Re)Initializes the generator with a seed.

  inline long getSeed() const;
  // Gets the current seed of the current generator.

  inline void setSeeds(const long* seeds, int aux);
  // (Re)Initializes the generator with a zero terminated list of seeds.

  inline const long* getSeeds () const;
  // Gets the current array of seeds of the current generator.

  void setEngine (HepRandomEngine* engine) { theEngine = engine; }
  // To set the underlying algorithm object

  HepRandomEngine * getEngine() const { return theEngine; }
  // Returns a pointer to the underlying algorithm object.

  void saveStatus( const char filename[] = "Config.conf" ) const;
  // Saves to file the current status of the current engine.

  void restoreStatus( const char filename[] = "Config.conf" );
  // Restores a saved status (if any) for the current engine.

  void showStatus() const;
  // Dumps the current engine status on screen.

protected:     // -------- Data members ---------

  HepRandomEngine * theEngine;
  // The corresponding algorithm.

private:       // -------- Data members ---------

  bool deleteEngine;
  // True if the engine should be deleted on destruction.

};

}  // namespace CLHEP

#include "CLHEP/RandomObjects/RandomVector.icc"

#ifdef ENABLE_BACKWARDS_COMPATIBILITY
//  backwards compatibility will be enabled ONLY in CLHEP 1.9
using namespace CLHEP;
#endif

#endif