CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
Main Page
Namespaces
Classes
Files
File List
File Members
GenericFunctions
GenericFunctions
GenericFunctions/EllipticIntegral.hh
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id:
3
//---------------------EllipticIntegral---------------------------------------//
4
// //
5
// //
6
// Joe Boudreau, September 2001 //
7
// //
8
//-------------------------------------------------------------------------- //
9
#ifndef EllipticIntegral_h
10
#define EllipticIntegral_h 1
11
#include "
CLHEP/GenericFunctions/AbsFunction.hh
"
12
#include "
CLHEP/GenericFunctions/Parameter.hh
"
13
14
namespace
Genfun {
15
namespace
EllipticIntegral {
16
17
class
FirstKind :
public
AbsFunction {
18
19
FUNCTION_OBJECT_DEF
(
FirstKind
)
20
21
public:
22
23
// Constructor:
24
FirstKind
();
25
26
// Copy constructor
27
FirstKind(const FirstKind &right);
28
29
// Destructor
30
virtual ~FirstKind();
31
32
// Retreive function value
33
virtual
double
operator ()(
double
argument) const;
34
virtual
double
operator ()(const
Argument
&
a
)
const
{
return
operator()
(a[0]);}
35
36
// Get the k-parameter. Default value = 1.0.
37
Parameter
&
k
();
38
const
Parameter
&
k
()
const
;
39
40
private
:
41
42
// It is illegal to assign an adjustable constant
43
const
FirstKind
& operator=(
const
FirstKind
&right);
44
45
Parameter
_k;
// the k parameter
46
47
};
48
49
class
SecondKind :
public
AbsFunction
{
50
51
FUNCTION_OBJECT_DEF
(
SecondKind
)
52
53
public:
54
55
// Constructor:
56
SecondKind
();
57
58
// Copy constructor
59
SecondKind(const SecondKind &right);
60
61
// Destructor
62
virtual ~SecondKind();
63
64
// Retreive function value
65
virtual
double
operator ()(
double
argument) const;
66
virtual
double
operator ()(const
Argument
&
a
)
const
{
return
operator()
(a[0]);}
67
68
// Get the k-parameter. Default value = 1.0.
69
Parameter
&
k
();
70
const
Parameter
&
k
()
const
;
71
72
private
:
73
74
// It is illegal to assign an adjustable constant
75
const
SecondKind
& operator=(
const
SecondKind
&right);
76
77
Parameter
_k;
// the k parameter
78
79
};
80
81
class
ThirdKind :
public
AbsFunction
{
82
83
FUNCTION_OBJECT_DEF
(
ThirdKind
)
84
85
public:
86
87
// Constructor:
88
ThirdKind
();
89
90
// Copy constructor
91
ThirdKind(const ThirdKind &right);
92
93
// Destructor
94
virtual ~ThirdKind();
95
96
// Retreive function value
97
virtual
double
operator ()(
double
argument) const;
98
virtual
double
operator ()(const
Argument
&
a
)
const
{
return
operator()
(a[0]);}
99
100
// Get the k-parameter. Default value = 1.0.
101
Parameter
&
k
();
102
const
Parameter
&
k
()
const
;
103
104
// Get the n-parameter. Default value = 1.0.
105
Parameter
&
n
();
106
const
Parameter
&
n
()
const
;
107
108
private
:
109
110
// It is illegal to assign an adjustable constant
111
const
ThirdKind
& operator=(
const
ThirdKind
&right);
112
113
Parameter
_k;
// the k parameter
114
Parameter
_n;
// the n parameter
115
116
};
117
118
}
// end namespace EllipticIntegral
119
}
// end namespace Genfun
120
121
#include "CLHEP/GenericFunctions/EllipticIntegral.icc"
122
#endif
Generated on Mon May 6 2013 04:04:10 for CLHEP by
1.8.1.2