This file is indexed.

/usr/include/BALL/NMR/shiftModule.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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: shiftModule.h,v 1.18 2005/12/23 17:01:56 amoll Exp $
//

#ifndef BALL_NMR_SHIFTMODULE_H
#define BALL_NMR_SHIFTMODULE_H

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

#ifndef BALL_DATATYPE_STRING_H
#	include<BALL/DATATYPE/string.h>
#endif

#ifndef BALL_CONCEPT_PROCESSOR_H
#	include<BALL/CONCEPT/processor.h>
#endif

#ifndef BALL_FORMAT_PARAMETERS_H
#	include<BALL/FORMAT/parameters.h>
#endif

namespace BALL 
{
	/**	A single contribution of a NMR shift model.
			NMR shift models typically consist of a number of different 
			contributions (e.g. ring current, ansisotopy, etc.). Each of these
			contributions is implemented in a ShiftModule. Several of these ShiftModules 
			can then be combined to a complete  \link ShiftModel ShiftModel \endlink .
			Since ShiftModules are derived from  \link UnaryProcessor UnaryProcessor \endlink , they can be applied
			to arbitrary kernel data structures. 	 \par
			<b>Caveat:</b> The shifts are usually stored in a property of the corresponding atom.
			Applying the same processor multiply will give incorrect results, as the ShiftModules
			\emph{add} their shift contribution. Before applying a ShiftModule, these
			properties can be reset to zero by applying a  \link ClearShiftProcessor ClearShiftProcessor \endlink .  \par
	\ingroup ShiftModel
	*/
	class BALL_EXPORT ShiftModule 
		: public UnaryProcessor<Composite>
	{
		public:	

		BALL_CREATE(ShiftModule)

		/**	@name	Enums and Constants
		*/
		//@{

		/**	Named property to store the shift values.
				Use this string constant to access the shift values stored in the single
				atoms. \par
				<b>Example:</b>
				<tt>atom.setProperty(ShiftModule::PROPERTY__SHIFT, 0.0);</tt>
		*/
		static const char* PROPERTY__SHIFT;
		static const char* PROPERTY__EXPERIMENTAL__SHIFT;
		//@}

		/** @name	Constructors and Destructors
		*/
		//@{
		
		/** Default Constructor
		*/
		ShiftModule();

		/**	Detailed constructor
		*/
		ShiftModule(Parameters& parameters, const String& name = "");

		/**	Copy constructor
		*/
		ShiftModule(const ShiftModule& module);

		/**	Destructor
		*/
		virtual ~ShiftModule();

		/**	Clear method.
				Clear the name and the pointer to the parameters.
		*/
		virtual void clear();

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

		/**	Assignment operator
		*/
		const ShiftModule& operator = (const ShiftModule& module);

		//@}
		/**	@name Accessors
		*/
		//@{

		/**	Set the modules name
		*/
		void setName(const String& name);

		/**	Return the module name
		*/
		const String& getName() const;

		/**	Set the parameters.
				After the assignment, the state of the module is \emph{invalid},
				so it is required to run  \link init init \endlink .
				@param parameters the new parameters
				@see	isValid
		*/
		void setParameters(Parameters& parameters);

		/**	Return a pointer to the parameters
		*/
		const Parameters* getParameters() const;

		/**	Parameter initalization.
				Use this method to implement the extraction and initialization of
				the module's parameters.
				 \link init init \endlink  is called by  \link ShiftModel ShiftModel \endlink  as soon as the  \link ShiftModule ShiftModule \endlink 
				is constructed and parameters and name are assigned. \par
				All implementations in derived classes should set the  \link valid_ valid_ \endlink  flag
				to <b>true</b> if the initialization was successful and to <b>false</b> otherwise.
		*/
		virtual void init();

		//@}
		/**	@name Processor related methods
		*/
		//@{

		/**	Start method.
				This method aborts, if the module is not correctly initialized.
				@see isValid
		*/
		virtual bool start();

		/**	Finish method.
				This method aborts, if the module is not correctly initialized.
				@see isValid
		*/
		virtual bool finish();

		//@}
		/**	@name	Predicates
		*/
		//@{

		/**	Return the module state.
				The module is valid if  \link init init \endlink  was executed successfully.
				@return the module state
		*/
		bool isValid() const;

		//@}

		protected:

		/*_	The module name
		*/
		String	module_name_;		

		/*_	A pointer to the modules parameters
		*/
		Parameters*	parameters_;

		/*_	The module's validity flag.
				This flag should indicate that the module was correctly
				initialized (using \Ref{init}).
		*/
		bool valid_;
	};
  
} // namespace BALL

#endif // BALL_NMR_SHIFTMODULE_H