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
SCORING
COMPONENTS
hydrogenBond.h
Go to the documentation of this file.
1
// $Id: hydrogenBond.h,v 1.3 2006/05/17 12:49:15 anker Exp $
2
// Molecular Mechanics: Fresno force field, hydrogen bond component
3
4
#ifndef BALL_SCORING_COMPONENTS_HYDROGENBOND_H
5
#define BALL_SCORING_COMPONENTS_HYDROGENBOND_H
6
7
#include <
BALL/SCORING/COMMON/scoringComponent.h
>
8
#include <
BALL/SCORING/COMMON/scoringFunction.h
>
9
#include <
BALL/DATATYPE/options.h
>
10
11
namespace
BALL
12
{
13
17
class
HydrogenBond
18
:
public
ScoringComponent
19
{
20
21
public
:
22
23
24
struct
Option
25
{
28
static
const
char
*
HB_IDEAL_LENGTH
;
29
32
static
const
char
*
HB_IDEAL_ANGLE
;
33
36
static
const
char
*
HB_DIST_LOWER
;
37
40
static
const
char
*
HB_DIST_UPPER
;
41
44
static
const
char
*
HB_ANG_LOWER
;
45
48
static
const
char
*
HB_ANG_UPPER
;
49
52
static
const
char
*
VERBOSITY
;
53
};
54
57
struct
Default
58
{
61
static
const
float
HB_IDEAL_LENGTH
;
62
65
static
const
float
HB_IDEAL_ANGLE
;
66
69
static
const
float
HB_DIST_LOWER
;
70
73
static
const
float
HB_DIST_UPPER
;
74
77
static
const
float
HB_ANG_LOWER
;
78
81
static
const
float
HB_ANG_UPPER
;
82
85
static
const
Size
VERBOSITY
;
86
87
};
88
89
90
91
92
BALL_CREATE
(
HydrogenBond
)
93
94
97
100
HydrogenBond
()
101
;
102
105
HydrogenBond(
ScoringFunction
& sf)
106
;
107
110
HydrogenBond(
ScoringComponent
& sc)
111
;
112
115
HydrogenBond(const HydrogenBond& fhb)
116
;
117
120
virtual ~HydrogenBond()
121
;
122
124
127
130
const HydrogenBond& operator = (const HydrogenBond& fhb)
131
;
132
135
virtual
void
clear
()
136
;
137
139
142
143
bool
operator == (const HydrogenBond& fhb) const
144
;
145
147
150
153
virtual
bool
setup
()
154
;
155
157
160
163
virtual
double
calculateScore
()
164
;
165
166
const
HashMap
<const
Atom
*,
Size
>&
getFresnoTypes
()
167
;
169
170
private:
171
172
/*_ This vector contains all possible hydrogen bonds. It is created
173
* during the setup process. Pairs are always of the form (hydrogen,
174
* acceptor). The donor can be found easily by following the only bond
175
* of the hydrogen.
176
*/
177
std::vector< std::pair<const Atom*, const Atom*> >
possible_hydrogen_bonds_
;
178
179
/*_ A hash map containing all hydrogens and bools indicating whether
180
* this hydrigen was already used for scoring a hydrogen bond. At the
181
* moment we use the first hydrogen bond we find and hope that this
182
* will indeed be the only one contributing to the energy score. This
183
* HashMap will only be used by updateEnergy() but we build it in
184
* setup().
185
*/
186
HashMap
<const Atom*,
bool
>
already_used_
;
187
188
/*_
189
*/
190
double
factor_
;
191
192
/*_
193
*/
194
double
h_bond_distance_lower_
;
195
196
/*_
197
*/
198
double
h_bond_distance_upper_
;
199
200
/*_
201
*/
202
double
h_bond_angle_lower_
;
203
204
/*_
205
*/
206
double
h_bond_angle_upper_
;
207
208
/*_ The ideal hbond length.
209
*/
210
double
ideal_hbond_length_
;
211
212
/*_ The ideal hbond angle.
213
*/
214
double
ideal_hbond_angle_
;
215
216
/*_
217
*/
218
HashMap
<const Atom*,
Size
>
fresno_types
;
219
220
221
};
222
223
}
// namespace BALL
224
225
#endif // BALL_SCORING_COMPONENTS_HYDROGENBOND_H
Generated by
1.8.3.1