This file is indexed.

/usr/include/BALL/FORMAT/GAMESSDatFile.h is in libball1.4-dev 1.4.1+20111206-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
143
144
145
146
147
148
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//

#ifndef BALL_FORMAT_GAMESSDATFILE_H
#define BALL_FORMAT_GAMESSDATFILE_H

#ifndef BALL_FORMAT_GENERICMOLFILE_H
#	include <BALL/FORMAT/genericMolFile.h>
#endif

#ifndef BALL_DATATYPE_STRINGHASHMAP_H
# include <BALL/DATATYPE/stringHashMap.h>
#endif
namespace BALL
{
	/** GAMESSDat file class.
	 * 	This class enables BALL to read and write input and output .dat files for
	 * 	the GAMESS quantum chemistry application.
	 *
	 * 	\ingroup StructureFormats
	 */
	class BALL_EXPORT GAMESSDatFile
		: public GenericMolFile
	{
		public:

			/** Nested class for the data blocks of the GAMESSFile **/
			class block
			{
				public:
					/** The name of this block **/
					String blockname;
					/** Stores the data in key - value format **/
					StringHashMap<String> data;

					void operator >> (std::ostream& os) const;
					
			};
			
			/** State of the parser **/
			struct State
			{
				GAMESSDatFile* current_parser;
			};

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

			/** Detailed constructor
		   *  @throw Exception::FileNotFound if the file could not be opened
			 */
			GAMESSDatFile(const String& filename, File::OpenMode open_mode = std::ios::in);

			/** Destructor
			 */
			virtual ~GAMESSDatFile();
			
			//@}
			/** @name Assignment.
			 */
			//@{
			
			/** Assignment operator.
		   *	Create a new object pointing to the same filename.
		   *  @throw Exception::FileNotFound if the file could not be opened
			 */
			const GAMESSDatFile& operator = (const GAMESSDatFile& rhs);

			//@}

			/** @name Reading and Writing of Kernel Datastructures
			 */
			//@{
			
			/** Write a molecule to a GAMESSDatFile.
			 *  If additional GAMESS - keywords are stored in this class, they
			 *  will be written as well.
		   *  @throw File::CannotWrite if writing to the file failed
			 */
			virtual bool write(const Molecule& molecule);

			/** Write a system to a GAMESSDatFile.
			 *  If additional GAMESS - keywords are stored in this class, they
			 *  will be written as well.
		   *  @throw File::CannotWrite if writing to the file failed
			 */
			virtual bool write(const System& molecule);

			/** Read a Molecule from the GAMESSDatFile.
			 *  If the GAMESS .dat - file contains additional lines apart from the
			 *  molecule itself, they are stored in this class.
		   *  @throw Exception::ParseError if a syntax error was encountered
			 */
			virtual Molecule* read();

			/** Read a System from the GAMESSDatFile.
			 *  If the GAMESS .dat - file contains additional lines apart from the
			 *  molecule itself, they are stored in this class.
		   *  @throw Exception::ParseError if a syntax error was encountered
			 */
			virtual bool read(System& system);

			//@}

			/** @name Accessors
			 */
			//@{
			void newMolecule();

			void setMoleculeName(char* name);			
			
			void insertAtom(char* element, float charge, float x, float y, float z);

			void insertBond(Index a1, Index a2);
			
			void inBlock(const char* blockname);

			void insertBlockedData(const char* key, const char* value);

			void insertBlockedData(const String& key, const String& value);

			String& getBlockedData(const String& block, const String& key);

			const String& getBlockedData(const String& block, const String& key) const;

			void clearParameters();
			//@}
			
			static State state;

		protected:
			virtual void initRead_();

			Molecule*	molecule_;
			
			String current_block_;
			StringHashMap<block> blocks_;
			String	symmetry_group_;
	};
}

#endif // BALL_FORMAT_GAMESSDATFILE_H