This file is indexed.

/usr/include/CLHEP/Matrix/SymMatrix.icc is in libclhep-dev 2.1.4.1-1.2.

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++ -*-
// ---------------------------------------------------------------------------
//
// This file is a part of the CLHEP - a Class Library for High Energy Physics.
//
// This is the definitions of the inline member functions of the
// HepSymMatrix class
//
#include <stdexcept>
namespace CLHEP {

inline HepSymMatrix::HepSymMatrix() 
  : m(0), nrow(0), size_(0)
{}

inline int HepSymMatrix::num_row() const { return nrow;}
inline int HepSymMatrix::num_col() const  { return nrow;}
inline int HepSymMatrix::num_size() const  { return size_;}

inline double & HepSymMatrix::fast(int row,int col)
{
#ifdef MATRIX_BOUND_CHECK
  if(row<1||row>num_row() || col<1||col>num_col())
    error("Range error in HepSymMatrix::fast()");
#endif
  return *(m.begin()+(row*(row-1))/2+(col-1));
}
inline const double & HepSymMatrix::fast(int row,int col) const
{
#ifdef MATRIX_BOUND_CHECK
  if(row<1||row>num_row() || col<1||col>num_col())
    error("Range error in HepSymMatrix::fast()");
#endif
  return *(m.begin()+(row*(row-1))/2+(col-1));
}

inline double & HepSymMatrix::operator()(int row, int col)
    {return (row>=col? fast(row,col) : fast(col,row));}
inline const double & HepSymMatrix::operator()(int row, int col) const 
    {return (row>=col? fast(row,col) : fast(col,row));}

inline void HepSymMatrix::assign(const HepSymMatrix &hm2) 
  {(*this)=hm2;}

inline HepSymMatrix HepSymMatrix::T() const {return HepSymMatrix(*this);}

inline HepSymMatrix::HepSymMatrix_row HepSymMatrix::operator[] (int r)
#ifdef HEP_GNU_OPTIMIZED_RETURN
  return b(*this,r);
{
#else
{
  HepSymMatrix_row b(*this,r);
#endif
  return b;
}

inline HepSymMatrix::HepSymMatrix_row_const HepSymMatrix::operator[] (int r) const
#ifdef HEP_GNU_OPTIMIZED_RETURN
  return b(*this,r);
{
#else
{
  const HepSymMatrix_row_const b(*this,r);
#endif
  return b;
}

inline double &HepSymMatrix::HepSymMatrix_row::operator[](int c)
{
#ifdef MATRIX_BOUND_CHECK
   if(_r<0||_r>=_a.nrow || c<0||c>=_a.nrow)
      error("Range error in HepSymMatrix::operator[][]");
#endif
   if (_r >= c ) {
      return *(_a.m.begin() + (_r+1)*_r/2 + c);
   } else {
      return *(_a.m.begin() + (c+1)*c/2 + _r);
   }
}

inline const double &
HepSymMatrix::HepSymMatrix_row_const::operator[](int c) const 
{
#ifdef MATRIX_BOUND_CHECK
   if(_r<0||_r>=_a.nrow || c<0||c>=_a.nrow)
      error("Range error in HepSymMatrix::operator[][]");
#endif
   if (_r >= c ) {
      return *(_a.m.begin() + (_r+1)*_r/2 + c);
   } else {
      return *(_a.m.begin() + (c+1)*c/2 + _r);
   }
}

inline HepSymMatrix::HepSymMatrix_row::HepSymMatrix_row(HepSymMatrix &a,
							   int r) 
   : _a(a), _r(r)
{}

inline HepSymMatrix::HepSymMatrix_row_const::HepSymMatrix_row_const
(const HepSymMatrix&a,int r) 
   : _a(a), _r(r)
{}

inline HepSymMatrix HepSymMatrix::inverse(int &ifail) const
#ifdef HEP_GNU_OPTIMIZED_RETURN
     return mTmp(*this);
{
#else
{
  HepSymMatrix mTmp(*this);
#endif
  mTmp.invert(ifail);
  return mTmp;
}

inline HepSymMatrix HepSymMatrix::inverse() const {
  int ierr;
  HepSymMatrix mt=inverse(ierr);
  if (ierr) throw std::runtime_error("Error in HepSymMatrix inversion");
  return mt;
}

inline void HepSymMatrix::invert() {
  int ierr;
  invert(ierr);
  if (ierr) throw std::runtime_error("Error in HepSymMatrix inversion");
}

}  // namespace CLHEP