/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
|