BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
NMR
johnsonBoveyShiftProcessor.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: johnsonBoveyShiftProcessor.h,v 1.18 2005/12/23 17:01:56 amoll Exp $
5
//
6
7
#ifndef BALL_COMMON_H
8
# include <
BALL/common.h
>
9
#endif
10
11
#ifndef BALL_KERNEL_EXPRESSION_H
12
# include <
BALL/KERNEL/expression.h
>
13
#endif
14
15
#ifndef BALL_NMR_SHIFTMODULE_H
16
# include <
BALL/NMR/shiftModule.h
>
17
#endif
18
19
#ifndef BALL_DATATYPE_STRINGHASHMAP_H
20
# include <
BALL/DATATYPE/stringHashMap.h
>
21
#endif
22
23
#ifndef BALL_FORMAT_PARAMETERS_H
24
# include <
BALL/FORMAT/parameters.h
>
25
#endif
26
27
#ifndef BALL_FORMAT_PARAMETERSECTION_H
28
# include <
BALL/FORMAT/parameterSection.h
>
29
#endif
30
31
#include <list>
32
33
namespace
BALL
34
{
38
class
BALL_EXPORT
JohnsonBoveyShiftProcessor
39
:
public
ShiftModule
40
{
41
public
:
42
43
BALL_CREATE
(
JohnsonBoveyShiftProcessor
)
44
45
48
50
struct
BALL_EXPORT
Ring
51
{
52
double
radius
;
53
double
intensity
;
54
Size
electrons
;
55
std::vector<String>
atom_names
;
56
57
bool
operator == (
const
Ring& ring)
const
;
58
bool
operator != (
const
Ring& ring)
const
{
return
!(*
this
== ring);}
59
} ;
60
62
66
70
static
const
char
*
PROPERTY__RING_CURRENT_SHIFT
;
72
73
77
80
JohnsonBoveyShiftProcessor
();
81
84
virtual
~
JohnsonBoveyShiftProcessor
();
85
87
90
93
virtual
bool
start();
94
97
virtual
bool
finish();
98
101
virtual
Processor::Result
operator () (
Composite
& composite);
102
104
107
110
virtual
void
init();
111
113
114
protected
:
115
116
std::list<Atom*>
proton_list_
;
117
std::list<Atom*>
atom_list_
;
118
std::list<Residue*>
aromat_list_
;
119
StringHashMap<Ring>
rings_
;
120
StringHashMap<Position>
residues_with_rings_
;
121
std::vector<Expression>
expressions_
;
122
123
double
carlsonEllipticalIntegral1_(
double
,
double
,
double
);
// Carlson elliptical Integral of 1st kind
124
double
carlsonEllipticalIntegral2_(
double
,
double
,
double
);
// Carlson elliptical Integral of 2nd kind
125
double
legendreEllipticalIntegral1_(
double
,
double
);
// Legendre elliptical Integral of 1st kind
126
double
legendreEllipticalIntegral2_(
double
,
double
);
// Legendre elliptical Integral of 2nd kind
127
};
128
129
}
// namespace BALL
Generated by
1.8.3.1