BALL 1.5.0
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
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
28#endif
29
30#ifndef BALL_STRUCTURE_RDFPARAMETER_H
32#endif
33
34#ifndef BALL_SOLVATION_PAIREXPRDFINTEGRATOR_H
36#endif
37
38#ifndef 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
45namespace BALL
46{
55 : public EnergyProcessor
56 {
57
58 public:
59
61
62 // ?????: Doku.
64 {
66 SURFACE__UNKNOWN = 0,
68 SURFACE__SAS = 1,
70 SURFACE__SES = 2,
72 SURFACE__EXTERNAL = 3
73 };
74
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
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
191
196
200
202
205
210
213 virtual void clear();
214
216
219
222 virtual bool finish();
223
225
228
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 */
252
253 /*_ The helper class for reading rdf descriptions from an INIFile
254 */
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
#define BALL_CREATE(name)
Definition: create.h:62
Definition: constants.h:13
short Type
Definition: atom.h:103
PairExpInteractionEnergyProcessor(const PairExpInteractionEnergyProcessor &proc)
#define BALL_EXPORT
Definition: COMMON/global.h:50