This file is indexed.

/usr/include/BALL/DOCKING/GENETICDOCK/rotateBond.h is in libball1.4-dev 1.4.3~beta1-3.

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
// ----------------------------------------------------
// $Maintainer: Marcel Schumann $
// $Authors: Jan Fuhrmann, Marcel Schumann $
// ----------------------------------------------------

#ifndef BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H
#define BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H

#include <BALL/DATATYPE/hashSet.h>
#include <BALL/MATHS/angle.h>
#include <BALL/MATHS/matrix44.h>

// This class changes the rotation angle(radians) around a defined axis, furthermore it is possible to select
// 2 additional atoms to calculate and change the dihedral angle. The rotation axis must not be contained in a
// ring system. If this condition holds true, the molecule is divided by the rotation axis. All atoms of the
// lighter part rotate while the larger part of the molecule remains unchanged.


namespace BALL
{
  class Atom;
  class Bond;

  class BALL_EXPORT RotateBond
    {
    public:

      /** standard constructor
       */
      RotateBond();

      /** copy constructor
       */
      RotateBond(const RotateBond&);

      /** constructor using bond to define axis
       */
      RotateBond(const Bond&);

      /** define axis by atoms
       */
      RotateBond(Atom*, Atom*);

      /** define axis and 2 atoms for dihedral angle
       */
      RotateBond(const Bond&, Atom*, Atom*);

      /** define 2 axis and 2 dihedral atoms
       */
      RotateBond(Atom*, Atom*, Atom*, Atom*);

      /** destructor
       */
      ~RotateBond();

      /**  change dihedral angle
       */
      void rotate(const Angle&, bool restorePosition = true);

      /** set dihedral angle to new value
       */
      void setDihedral(const Angle&);

      /** get current dihedral angle
       */
      Angle getDihedral();

      /** smaller operator
       */
      bool operator<(const RotateBond& rb);

    private:

      /** first atom of the rotation axis
       */
      Atom* hinge_;

      /** second atom of the rotation axis
       */
      Atom* nail_;

      /** defines dihedral angle
       */
      Atom* dihedral_lite_;

      /** defines dihedral angle
       */
      Atom* dihedral_heavy_;

      /** these atoms rotate
       */
      HashSet<Atom*> rotate_atoms_;

      /** collects atoms
       */
      void collectAtoms(Atom*,
			Atom*,
			Atom*,
			HashSet<Atom*>&);

      /** used by constructors
       */
      void setup(Atom*, Atom*, Atom*, Atom*);
    };
}


#endif /* BALL_DOCKING_GENETICDOCK_ROTATE_BOND_H */