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