CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

CLHEP/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
13 
14 namespace Genfun {
15 namespace EllipticIntegral {
16 
17  class FirstKind : public AbsFunction {
18 
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 
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 
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
virtual double operator()(double argument) const
#define FUNCTION_OBJECT_DEF(classname)