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
SOLVATION
pairExpInteractionEnergyProcessor.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: pairExpInteractionEnergyProcessor.h,v 1.20 2005/12/23 17:02:00 amoll Exp $
5
//
6
7
#ifndef BALL_SOLVATION_PAIREXPINTERACTIONENERGYPROCESSOR_H
8
#define BALL_SOLVATION_PAIREXPINTERACTIONENERGYPROCESSOR_H
9
10
#ifndef BALL_COMMON_H
11
# include <
BALL/common.h
>
12
#endif
13
14
#ifndef BALL_DATATYPE_OPTIONS_H
15
# include <
BALL/DATATYPE/options.h
>
16
#endif
17
18
#ifndef BALL_KERNEL_ATOM_H
19
# include <
BALL/KERNEL/atom.h
>
20
#endif
21
22
#ifndef BALL_MATHS_SURFACE_H
23
# include <
BALL/MATHS/surface.h
>
24
#endif
25
26
#ifndef BALL_ENERGY_ENERGYPROCESSOR_H
27
# include <
BALL/ENERGY/energyProcessor.h
>
28
#endif
29
30
#ifndef BALL_STRUCTURE_RDFPARAMETER_H
31
# include <
BALL/STRUCTURE/RDFParameter.h
>
32
#endif
33
34
#ifndef BALL_SOLVATION_PAIREXPRDFINTEGRATOR_H
35
# include <
BALL/SOLVATION/pairExpRDFIntegrator.h
>
36
#endif
37
38
#ifndef BALL_SOLVATION_SOLVENTDESCRIPTOR_H
39
# include <
BALL/SOLVATION/solventDescriptor.h
>
40
#endif
41
42
// ?????: The constants alpha, C1 and C2 i.e. the K_ij have to be
43
// embedded in a senseful way.
44
45
namespace
BALL
46
{
54
class
BALL_EXPORT
PairExpInteractionEnergyProcessor
55
:
public
EnergyProcessor
56
{
57
58
public
:
59
60
BALL_CREATE
(
PairExpInteractionEnergyProcessor
)
61
62
// ?????: Doku.
63
enum
SurfaceType
64
{
66
SURFACE__UNKNOWN = 0,
68
SURFACE__SAS = 1,
70
SURFACE__SES = 2,
72
SURFACE__EXTERNAL = 3
73
};
74
79
struct
BALL_EXPORT
Option
80
{
81
87
static
const
char
*
VERBOSITY
;
88
97
static
const
char
*
ALPHA
;
98
static
const
char
*
C1
;
99
static
const
char
*
C2
;
100
101
static
const
char
*
CLAVERIE_FILENAME
;
102
109
static
const
char
*
USE_RDF
;
110
117
static
const
char
*
RDF_FILENAME
;
118
125
static
const
char
*
SOLVENT_FILENAME
;
126
131
static
const
char
*
SURFACE_TYPE
;
132
137
static
const
char
*
SURFACE_FILENAME
;
138
139
};
140
145
struct
BALL_EXPORT
Default
146
{
150
static
const
Size
VERBOSITY
;
151
157
static
const
double
ALPHA
;
158
static
const
double
C1
;
159
static
const
double
C2
;
160
161
static
const
char
*
CLAVERIE_FILENAME
;
162
168
static
const
bool
USE_RDF
;
169
static
const
char
*
RDF_FILENAME
;
170
static
const
char
*
SOLVENT_FILENAME
;
171
175
static
const
Size
SURFACE_TYPE
;
176
180
static
const
char
*
SURFACE_FILENAME
;
181
182
};
183
187
190
PairExpInteractionEnergyProcessor
();
191
194
PairExpInteractionEnergyProcessor
(
const
195
PairExpInteractionEnergyProcessor
& proc);
196
199
virtual
~
PairExpInteractionEnergyProcessor
();
200
202
205
208
const
PairExpInteractionEnergyProcessor
&
operator
=
209
(
const
PairExpInteractionEnergyProcessor
& proc);
210
213
virtual
void
clear();
214
216
219
222
virtual
bool
finish();
223
225
228
231
Options
options
;
232
234
235
protected
:
236
237
/*_ Alpha constant from the Kitaygorodski Potential
238
*/
239
double
alpha_
;
240
241
/*_ Repulsion constant from the Kitaygorodski Potential
242
*/
243
double
C1_
;
244
245
/*_ Dispersion constant from the Kitaygorodski Potential
246
*/
247
double
C2_
;
248
249
/*_ The solvent description
250
*/
251
SolventDescriptor
solvent_
;
252
253
/*_ The helper class for reading rdf descriptions from an INIFile
254
*/
255
RDFParameter
rdf_parameter_
;
256
257
// PairExpRDFIntegrator rdf_integrator_;
258
259
260
private
:
261
262
void
computeClaverieParameters(
Atom::Type
solvent_type,
263
Atom::Type
solute_type, std::pair<float, float>& parameters);
264
void
getExternalSurface_(
265
std::vector< std::pair<Vector3, Surface> >& surface_map,
266
const
char
* surface_file);
267
268
};
269
270
}
// namespace BALL
271
272
#endif // BALL_SOLVATION_PAIREXPINTERACTIONENERGYPROCESSOR_H
Generated by
1.8.3.1