This file is indexed.

/usr/include/BALL/MOLMEC/PARAMETER/templates.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//

// Molecular Mechanics Parameter: class describing the atom type section of a parameter file

#ifndef BALL_MOLMEC_PARAMETER_TEMPLATES_H
#define BALL_MOLMEC_PARAMETER_TEMPLATES_H

#ifndef BALL_FORMAT_PARAMETERSECTION_H
#	include <BALL/FORMAT/parameterSection.h>
#endif

#ifndef BALL_KERNEL_SYSTEM_H
#	include <BALL/KERNEL/system.h>
#endif

#ifndef BALL_DATATYPE_HASHSET_H
# include <BALL/DATATYPE/hashset.h>
#endif

#include <BALL/KERNEL/atom.h>

namespace BALL 
{
	class Atom;

	/**	Force Field Residue Template Class.	
    	\ingroup  MolmecParameters
	*/
	class BALL_EXPORT Templates 
		:	public ParameterSection
	{
		public:

		/**	@name	Constructors and Destructors
		*/
		//@{
		
		/**	Default constructor.
		*/
		Templates();

		/**	Copy constructor.
		*/
		Templates(const Templates& templates, bool deep = true);

		/**	Destructor.
		*/
		virtual ~Templates() ;

		/**	Clear method. 
		*/
		virtual void clear() ;

		//@}
		/**	Parameter extraction
		*/
		//@{

		/**	Reads a parameter section from an INI file.
				This method reads the section given in section_name from ini_file,
				interprets (if given) a format line, reads the data from this section according to 
				the format, and builds some datastructures for fast and easy acces this data.
				The section is typically entitled <b>ChargesAndTypeNames</b>.
		*/
		virtual bool extractSection(Parameters& parameters, const String& section_name);

		/**	Returns the numeric type for a given string.
		*/
		float getCharge(const String& name) const;

		/**	Returns the name for a given index 
		*/
		String getTypeName(const String& name) const;

		/**	Queries whether a given template atom is defined
		*/
		bool has(const String& name) const;

		/**	Assign charges and type names
		*/
		void assign(System& system, bool overwrite_existing_typenames = true, 
								bool overwrite_non_zero_charges = true) const;

		/**	Assign charges and type names
		*/
		void assignCharges(System& system, bool overwrite_non_zero_charges = true) const;

		/**	Assign type names
		*/
		void assignTypeNames(System& system, bool overwrite_existing_typenames = true) const;

		//@}
		/**	@name	Assignment
		*/
		//@{

		/**	Assignment operator.
				Copy the contents of <tt>templates</tt> into <tt>this</tt> residue template object.
				@param	templates the residue template object to be copied
		*/
		Templates& operator = (const Templates& templates);

		/** Set the number of atoms, for which the assignment can
		    fail, until the assign() methods aborts and return false.
				By default, there is no limit set.
		*/
		void setMaximumUnassignedAtoms(Size nr);

		/** Get the number of atoms, for which the assignment can
		    fail, until the assign() methods aborts and return false.
		*/
		Size getMaximumUnassignedAtoms() const;

		/// Get the number of atoms, for which the assignment failed.
		Size getNumberOfUnassignedAtoms() const;

		/// Get the atoms, for which the assignment failed.
		HashSet<const Atom*>& getUnassignedAtoms();

		//@}

		protected:
		
		/*_	Contains the charge for each residue/atom combination
		*/
		StringHashMap<float>	charges_;

		/*_	Contains the atom type names for each residue/atom combination
		*/
		StringHashMap<String>	type_names_;

		//_ Atoms, for which the assignment fails
		HashSet<const Atom*> unassigned_atoms_;

		//_ max number of unassigned atoms
		Size max_number_unassigned_atoms_;
	};
} // namespace BALL

#endif // BALL_MOLMEC_PARAMETER_TEMPLATES_H