CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
GenericFunctions
CLHEP
GenericFunctions
CLHEP/GenericFunctions/DefiniteIntegral.hh
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id: DefiniteIntegral.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $
3
//-------------------------------------------------------------//
4
// //
5
// This functional performs Romberg integration on a function //
6
// between lower bound and upper bound b. //
7
// //
8
// Two types: OPEN: use open quadrature formula //
9
// for improper integrals //
10
// CLOSED (default) use closed quadrature //
11
// formula. //
12
// //
13
//-------------------------------------------------------------//
14
15
#ifndef _DefiniteIntegral_h_
16
#define _DefiniteIntegral_h_
17
#include "
CLHEP/GenericFunctions/AbsFunctional.hh
"
18
19
namespace
Genfun
{
20
25
class
DefiniteIntegral
:
public
AbsFunctional
{
26
27
public
:
28
29
// Type definition:
30
typedef
enum
{
CLOSED
,
OPEN
}
Type
;
31
32
// Constructor:
33
DefiniteIntegral
(
double
a
,
double
b
,
Type
=
CLOSED
);
34
35
// Copy Constructor:
36
DefiniteIntegral
(
const
DefiniteIntegral
&);
37
38
// Assignment Operator:
39
DefiniteIntegral
&
operator=
(
const
DefiniteIntegral
&) ;
40
41
// Destructor:
42
~DefiniteIntegral
();
43
44
// Take the definite integral of a function between the bounds:
45
virtual
double
operator []
(
const
AbsFunction
&
function
)
const
;
46
47
// Retrieve the number of function calls for the last operation:
48
unsigned
int
numFunctionCalls
()
const
;
49
50
// Algorithmic parameters:
51
52
// Desired precision (default 1.0E-06)
53
void
setEpsilon
(
double
eps);
54
55
// Maximum number of iterations (default 20(closed) 14 (open))
56
void
setMaxIter
(
unsigned
int
maxIter);
57
58
// Minimum order:
59
void
setMinOrder
(
unsigned
int
order);
60
61
62
private
:
63
64
class
Clockwork;
65
Clockwork *c;
66
67
};
68
}
// namespace Genfun
69
#endif
Genfun::DefiniteIntegral::DefiniteIntegral
DefiniteIntegral(double a, double b, Type=CLOSED)
Definition:
DefiniteIntegral.cc:118
Genfun::DefiniteIntegral::setEpsilon
void setEpsilon(double eps)
Definition:
DefiniteIntegral.cc:145
a
@ a
Definition:
testCategories.cc:125
Genfun::AbsFunction
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:48
b
@ b
Definition:
testCategories.cc:125
Genfun::DefiniteIntegral::setMaxIter
void setMaxIter(unsigned int maxIter)
Definition:
DefiniteIntegral.cc:149
AbsFunctional.hh
Genfun::DefiniteIntegral::operator=
DefiniteIntegral & operator=(const DefiniteIntegral &)
Definition:
DefiniteIntegral.cc:137
Genfun::DefiniteIntegral::operator[]
virtual double operator[](const AbsFunction &function) const
Definition:
DefiniteIntegral.cc:157
Genfun::DefiniteIntegral::OPEN
@ OPEN
Definition:
CLHEP/GenericFunctions/DefiniteIntegral.hh:30
Genfun::DefiniteIntegral::~DefiniteIntegral
~DefiniteIntegral()
Definition:
DefiniteIntegral.cc:129
Genfun::DefiniteIntegral
Definition:
CLHEP/GenericFunctions/DefiniteIntegral.hh:25
Genfun::AbsFunctional
Definition:
CLHEP/GenericFunctions/AbsFunctional.hh:16
Genfun::DefiniteIntegral::Type
Type
Definition:
CLHEP/GenericFunctions/DefiniteIntegral.hh:30
Genfun::DefiniteIntegral::setMinOrder
void setMinOrder(unsigned int order)
Definition:
DefiniteIntegral.cc:153
Genfun::DefiniteIntegral::CLOSED
@ CLOSED
Definition:
CLHEP/GenericFunctions/DefiniteIntegral.hh:30
Genfun::DefiniteIntegral::numFunctionCalls
unsigned int numFunctionCalls() const
Definition:
DefiniteIntegral.cc:218
Genfun
Definition:
CLHEP/GenericFunctions/Abs.hh:14
Generated by
1.8.17