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

CLHEP/GenericFunctions/CubicSplinePolynomial.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id:
3 // ------------------------------------------------------------------------------//
4 // Natural cubic spline function, used for interpolation //
5 // //
6 // //
7 // Joe Boudreau. //
8 // //
9 // ------------------------------------------------------------------------------//
10 #ifndef _CubicSplinePolynomial_h_
11 #define _CubicSplinePolynomial_h_
14 #include <vector>
15 namespace Genfun {
16 
22 
24 
25  public:
26 
27  // Constructor
29 
30  // Copy constructor
32 
33  // Destructor:
34  virtual ~CubicSplinePolynomial();
35 
36  // Retreive function value
37  virtual double operator ()(double argument) const;
38  virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
39 
40  // Puncture this thing:
41  void addPoint(double x, double y);
42 
43  // Get the range:
44  void getRange(double & min, double & max) const;
45 
46  private:
47 
48  // It is illegal to assign an adjustable constant
49  const CubicSplinePolynomial & operator=(const CubicSplinePolynomial &right);
50 
51  class Clockwork;
52  Clockwork *c;
53 
54  };
55 } // namespace Genfun
56 #include "CLHEP/GenericFunctions/CubicSplinePolynomial.icc"
57 #endif
void addPoint(double x, double y)
#define FUNCTION_OBJECT_DEF(classname)
virtual double operator()(double argument) const
void getRange(double &min, double &max) const