CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
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
11#include "CLHEP/GenericFunctions/AbsFunction.hh"
12#include "CLHEP/GenericFunctions/Parameter.hh"
13
14namespace Genfun {
15
16 /**
17 * @author
18 * @ingroup genfun
19 */
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 override;
37 virtual double operator ()(const Argument & a) const override {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 override;
44
45 // Does this function have an analytic derivative?
46 virtual bool hasAnalyticDerivative() const override {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
#define FUNCTION_OBJECT_DEF(classname)
Definition: AbsFunction.hh:143
virtual bool hasAnalyticDerivative() const override
virtual double operator()(double argument) const override
unsigned int N() const
Derivative partial(unsigned int) const override
Definition: Abs.hh:14