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

GenericFunctions/HermitePolynomial.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id:
3 //---------------------Hermite----------------------------------------------//
4 // //
5 // Class HermitePolynomial. (Hermite polynomials) //
6 // Joe Boudreau, October 2012 //
7 // //
8 //--------------------------------------------------------------------------//
9 #ifndef HermitePolynomial_h_
10 #define HermitePolynomial_h_ 1
13 
14 namespace Genfun {
15 
20  class HermitePolynomial : public AbsFunction {
21 
23 
24  public:
25 
26  // Constructor
27  HermitePolynomial(unsigned int N);
28 
29  // Copy constructor
31 
32  // Destructor
33  virtual ~HermitePolynomial();
34 
35  // Retreive function value
36  virtual double operator ()(double argument) const;
37  virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
38 
39  // Get the integer variable N
40  unsigned int N() const;
41 
42  // Derivative.
43  Derivative partial (unsigned int) const;
44 
45  // Does this function have an analytic derivative?
46  virtual bool hasAnalyticDerivative() const {return true;}
47 
48 
49  private:
50 
51  // It is illegal to assign a Hermite Polynomial
52  const HermitePolynomial & operator=(const HermitePolynomial &right);
53 
54  // Here is the sigma
55  unsigned int _N;
56 
57  };
58 
59 } // namespace Genfun
60 
61 
62 #endif
63 
64