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
pair6_12RDFIntegrator.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
// $Id: pair6_12RDFIntegrator.h,v 1.24 2005/12/23 17:01:59 amoll Exp $
5
//
6
7
#ifndef BALL_SOLVATION_PAIR6_12RDFINTEGRATOR_H
8
#define BALL_SOLVATION_PAIR6_12RDFINTEGRATOR_H
9
10
#ifndef BALL_STRUCTURE_RDFINTEGRATOR_H
11
# include <
BALL/STRUCTURE/RDFIntegrator.h
>
12
#endif
13
14
#ifndef BALL_MATHS_PIECEWISEFUNCTION_H
15
# include <
BALL/MATHS/piecewiseFunction.h
>
16
#endif
17
18
#ifndef BALL_DATATYPE_OPTIONS_H
19
# include <
BALL/DATATYPE/options.h
>
20
#endif
21
22
// ?????: DOCU ... documentation for constants
23
24
namespace
BALL
25
{
34
class
BALL_EXPORT
Pair6_12RDFIntegrator
35
:
public
RDFIntegrator
36
{
37
public
:
38
39
BALL_CREATE
(
Pair6_12RDFIntegrator
)
40
41
45
struct
BALL_EXPORT
Option
46
{
52
static
const
char
*
METHOD
;
53
59
static
const
char
*
SAMPLES
;
60
66
static
const
char
*
VERBOSITY
;
67
};
68
69
struct
BALL_EXPORT
Default
70
{
74
static
const
Size
VERBOSITY
;
75
79
static
const
Size
METHOD
;
80
84
static
const
Size
SAMPLES
;
85
};
86
89
enum
IntegrationMethod
90
{
91
METHOD__UNKNOWN = 0,
92
METHOD__ANALYTICAL = 1,
93
METHOD__TRAPEZIUM = 2
94
};
95
99
102
Pair6_12RDFIntegrator
();
103
107
Pair6_12RDFIntegrator
(
const
Pair6_12RDFIntegrator
& integrator);
108
116
Pair6_12RDFIntegrator
(
double
A,
double
B,
double
k1,
double
k2,
117
const
RadialDistributionFunction
& rdf);
118
121
virtual
~
Pair6_12RDFIntegrator
();
122
124
127
132
const
Pair6_12RDFIntegrator
&
operator
=
133
(
const
Pair6_12RDFIntegrator
& integrator);
134
137
virtual
void
clear();
138
140
141
142
149
void
setConstants(
double
A,
double
B,
double
k1,
double
k2);
150
157
void
getConstants(
double
& A,
double
& B,
double
& k1,
double
& k2);
158
163
double
integrateToInf(
double
from)
const
;
164
173
double
integrateToInf(
double
from,
double
A,
double
B,
double
k1,
174
double
k2);
175
182
double
integrate(
double
from,
double
to)
const
;
183
193
double
integrate(
double
from,
double
to,
double
A,
double
B,
double
k1,
194
double
k2);
195
201
virtual
double
operator () (
double
x)
const
;
202
204
207
213
bool
operator == (
const
Pair6_12RDFIntegrator
& integrator)
const
;
214
216
219
Options
options
;
220
221
225
230
virtual
void
dump (std::ostream& s = std::cout,
Size
depth = 0)
const
;
231
233
234
protected
:
235
236
/*_ Repulsion constant
237
*/
238
double
A_
;
239
240
/*_ Dispersion constant
241
*/
242
double
B_
;
243
244
/*_ Geometry constant
245
*/
246
double
k1_
;
247
248
/*_ Geometry constant
249
*/
250
double
k2_
;
251
252
253
private
:
254
255
/*_ Integrate an interval analytically. This method does the actual work.
256
@param interval the interval to be integrated
257
@param coeffs the coefficients for this interval
258
@param x0 the value to be subtracted from x
259
@return the value of the integral
260
*/
261
double
analyticallyIntegrateInterval(
const
Interval
& interval,
262
const
Coefficients
& coeffs,
float
x0)
const
;
263
264
/*_ Integrate an interval numerically.
265
@param interval the interval to be integrated
266
@return the value of the integral
267
*/
268
double
numericallyIntegrateInterval(
const
Interval
& interval)
const
;
269
270
/*_ Project a number from the integration beam to the projection beam
271
of an atom center for the rdf thingy.
272
@param x the value to be projected
273
@return the projection of <b> x </b>
274
*/
275
double
project(
double
x)
const
;
276
277
/*_ Do the reverse of project().
278
@param x the valut to be reversly projected
279
@return the projection of <b> x </b>
280
*/
281
double
unproject(
double
x)
const
;
282
};
283
284
}
// namespace BALL
285
286
#endif // BALL_SOLVATION_PAIR6_12RDFINTEGRATOR_H
Generated by
1.8.3.1