/usr/include/BALL/NMR/johnsonBoveyShiftProcessor.h is in libball1.4-dev 1.4.3~beta1-4.
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 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: johnsonBoveyShiftProcessor.h,v 1.18 2005/12/23 17:01:56 amoll Exp $
//
#ifndef BALL_COMMON_H
#	include <BALL/common.h>
#endif
#ifndef BALL_KERNEL_EXPRESSION_H
#	include <BALL/KERNEL/expression.h>
#endif
#ifndef BALL_NMR_SHIFTMODULE_H
#	include <BALL/NMR/shiftModule.h>
#endif
#ifndef BALL_DATATYPE_STRINGHASHMAP_H
#	include <BALL/DATATYPE/stringHashMap.h>
#endif
#ifndef BALL_FORMAT_PARAMETERS_H
#	include <BALL/FORMAT/parameters.h>
#endif
#ifndef BALL_FORMAT_PARAMETERSECTION_H
#	include <BALL/FORMAT/parameterSection.h>
#endif
#include <list>
namespace BALL 
{		
	/**	Shift assignment processor implementing Johnson Bovey theory. 
	\ingroup ShiftModulesNMR		
	*/
	class BALL_EXPORT JohnsonBoveyShiftProcessor
		:	public ShiftModule
	{
		public:
    BALL_CREATE(JohnsonBoveyShiftProcessor)
		/**	@name	Type definitions
		*/
		//@{
		///
		struct BALL_EXPORT Ring
    {
			double	radius;
			double	intensity;
			Size	electrons;
			std::vector<String>	atom_names;
			bool operator == (const Ring& ring) const;
			bool operator != (const Ring& ring) const { return !(*this == ring);}
		} ;
  
		//@}
		
    /** @name Enums and Constants
    */
    //@{
    /** A symbolic name for the ring current contribution to the chemical shift
        @see ShiftModule::PROPERTY__SHIFT
    */
    static const char* PROPERTY__RING_CURRENT_SHIFT;		
    //@}
 		/** @name	Constructors and Destructors
		*/
		//@{
		/**	Default constructor.
		*/
		JohnsonBoveyShiftProcessor();
		/**	Destructor
		*/
		virtual ~JohnsonBoveyShiftProcessor();
		//@}
		/** @name	Processor specific functions.
		*/
		//@{
		/**	Start method.
		*/
		virtual bool start();
		/**	Finish method.
		*/
		virtual bool finish();
		/**	Application method
		*/
		virtual Processor::Result operator () (Composite& composite);
		
		//@}
		/**	@name Accessors
		*/
		//@{
			
		/** Initialize all parameters required
		*/
		virtual void init();
			
		//@}
		protected:
		std::list<Atom*>	proton_list_;	
		std::list<Atom*>	atom_list_;	
		std::list<Residue*>	aromat_list_;
		StringHashMap<Ring>	rings_;
		StringHashMap<Position>	residues_with_rings_;
		std::vector<Expression>	expressions_;
		
		double carlsonEllipticalIntegral1_(double, double, double);	// Carlson elliptical Integral of 1st kind
		double carlsonEllipticalIntegral2_(double, double, double);	// Carlson elliptical Integral of 2nd kind
		double legendreEllipticalIntegral1_(double, double);	// Legendre elliptical Integral of 1st kind
		double legendreEllipticalIntegral2_(double, double);	// Legendre elliptical Integral of 2nd kind
	};
  
} // namespace BALL 
 |