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
pairExpRDFIntegrator.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: pairExpRDFIntegrator.h,v 1.24 2005/12/23 17:02:00 amoll Exp $
5
//
6
7
#ifndef BALL_SOLVATION_PAIREXPRDFINTEGRATOR_H
8
#define BALL_SOLVATION_PAIREXPRDFINTEGRATOR_H
9
10
#ifndef BALL_COMMON_H
11
# include <
BALL/common.h
>
12
#endif
13
14
#ifndef BALL_STRUCTURE_RDFINTEGRATOR_H
15
# include <
BALL/STRUCTURE/RDFIntegrator.h
>
16
#endif
17
18
#ifndef BALL_MATHS_PIECEWISEFUNCTION_H
19
# include <BALL/STRUCTURE/piecewiseFunction.h>
20
#endif
21
22
#ifndef BALL_DATATYPE_OPTIONS_H
23
# include <
BALL/DATATYPE/options.h
>
24
#endif
25
26
namespace
BALL
27
{
37
class
BALL_EXPORT
PairExpRDFIntegrator
38
:
public
RDFIntegrator
39
{
40
41
public
:
42
43
BALL_CREATE
(
PairExpRDFIntegrator
)
44
45
49
struct
BALL_EXPORT
Option
50
{
56
static
const
char
*
VERBOSITY
;
57
62
static
const
char
*
SAMPLES
;
63
};
64
65
struct
BALL_EXPORT
Default
66
{
70
static
const
int
VERBOSITY
;
74
static
const
int
SAMPLES
;
75
};
76
77
81
84
PairExpRDFIntegrator
();
85
89
PairExpRDFIntegrator
(
const
PairExpRDFIntegrator
& integrator);
90
100
PairExpRDFIntegrator
(
double
alpha,
double
C1,
double
C2,
double
R_ij_o,
101
double
k1,
double
k2,
const
RadialDistributionFunction
& rdf);
102
105
virtual
~
PairExpRDFIntegrator
();
106
108
111
116
const
PairExpRDFIntegrator
&
operator
=
117
(
const
PairExpRDFIntegrator
& integrator) ;
118
121
virtual
void
clear();
122
124
127
137
void
setConstants(
double
alpha,
double
C1,
double
C2,
double
R_ij_o,
138
double
k1,
double
k2);
139
149
void
getConstants(
double
& alpha,
double
& C1,
double
& C2,
double
& R_ij_o,
150
double
& k1,
double
& k2) ;
151
156
double
integrateToInf(
double
from)
const
;
157
168
double
integrateToInf(
double
from,
double
alpha,
double
C1,
double
C2,
169
double
R_ij_o,
double
k1,
double
k2);
170
176
double
integrate(
double
from,
double
to)
const
;
177
189
double
integrate(
double
from,
double
to,
double
alpha,
double
C1,
190
double
C2,
double
R_ij_o,
double
k1,
double
k2) ;
191
197
virtual
double
operator () (
double
x)
const
;
198
200
203
209
bool
operator == (
const
PairExpRDFIntegrator
& integrator)
const
;
210
212
215
Options
options
;
216
220
225
virtual
void
dump (std::ostream& s = std::cout,
Size
depth = 0)
const
;
226
228
229
protected
:
230
231
/*_ potential constant
232
*/
233
double
alpha_
;
234
235
/*_ potential constant
236
*/
237
double
C1_
;
238
239
/*_ potential constant
240
*/
241
double
C2_
;
242
243
/*_ potential constant
244
*/
245
double
R_ij_o_
;
246
247
/*_ geometric correction
248
*/
249
double
k1_
;
250
251
/*_ geometric correction
252
*/
253
double
k2_
;
254
255
256
private
:
257
258
/*_ Integrate an interval numerically.
259
@param interval the interval to be integrated
260
@return the value of the integral
261
*/
262
double
numericallyIntegrateInterval(
Interval
interval)
const
;
263
264
/*_ Project a number from the integration beam to the projection beam
265
of an atom center for the rdf thingy.
266
@param x the value to be projected
267
@return the projection of <b> x </b>
268
*/
269
double
project(
double
x)
const
;
270
271
/*_ Do the reverse of project().
272
@param x the valut to be reversly projected
273
@return the projection of <b> x </b>
274
*/
275
double
unproject(
double
x)
const
;
276
277
};
278
279
}
// namespace BALL
280
281
#endif // BALL_SOLVATION_PAIREXPRDFINTEGRATOR_H
Generated by
1.8.3.1