CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
GenericFunctions
src
HermitePolynomial.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id:
3
#include "
CLHEP/GenericFunctions/HermitePolynomial.hh
"
4
#include "
CLHEP/GenericFunctions/FixedConstant.hh
"
5
#include <assert.h>
6
#include <cmath>
7
8
namespace
Genfun
{
9
FUNCTION_OBJECT_IMP
(HermitePolynomial)
10
11
HermitePolynomial
::
HermitePolynomial
(
unsigned
int
N)
12
:_N(N)
13
{}
14
15
HermitePolynomial::~HermitePolynomial
() {
16
}
17
18
HermitePolynomial::HermitePolynomial
(
const
HermitePolynomial
& right)
19
:
AbsFunction
(), _N(right._N)
20
{ }
21
22
23
double
HermitePolynomial::operator()
(
double
x)
const
{
24
const
static
double
h00=0.0;
25
const
static
double
h0=sqrt(M_PI/4.0);
26
double
p0
=h00;
27
double
p1=h00;
28
double
pn=h0;
29
for
(
unsigned
int
i=1;i<=_N;i++) {
30
p0=p1;
31
p1=pn;
32
pn=x*sqrt(2.0/i)*p1-sqrt((i-1.0)/i)*
p0
;
33
}
34
return
pn;
35
}
36
37
unsigned
int
HermitePolynomial::N
()
const
{
38
return
_N;
39
}
40
41
Derivative
HermitePolynomial::partial
(
unsigned
int
index)
const
{
42
assert(index==0);
43
if
(_N>0) {
44
const
AbsFunction
& fPrime = sqrt(2.0*_N)*
HermitePolynomial
(_N-1);
45
return
Derivative
(& fPrime);
46
}
47
else
{
48
const
AbsFunction
& fPrime =
FixedConstant
(0.0);
49
return
Derivative
(& fPrime);
50
}
51
}
52
53
}
// namespace Genfun
HermitePolynomial.hh
FixedConstant.hh
n_constructors::p0
incomplete * p0
Definition:
testSharedPtr.cc:393
Genfun::AbsFunction
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:48
Genfun::HermitePolynomial::operator()
virtual double operator()(double argument) const
Definition:
HermitePolynomial.cc:23
Genfun::FixedConstant
Definition:
CLHEP/GenericFunctions/FixedConstant.hh:23
Genfun::Derivative
FunctionNoop Derivative
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:40
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:156
Genfun::FunctionNoop
Definition:
CLHEP/GenericFunctions/FunctionNoop.hh:19
Genfun::HermitePolynomial::~HermitePolynomial
virtual ~HermitePolynomial()
Definition:
HermitePolynomial.cc:15
Genfun
Definition:
CLHEP/GenericFunctions/Abs.hh:14
Genfun::HermitePolynomial::partial
Derivative partial(unsigned int) const
Definition:
HermitePolynomial.cc:41
Genfun::HermitePolynomial
Definition:
CLHEP/GenericFunctions/HermitePolynomial.hh:20
Genfun::HermitePolynomial::N
unsigned int N() const
Definition:
HermitePolynomial.cc:37
Genfun::HermitePolynomial::HermitePolynomial
HermitePolynomial(unsigned int N)
Definition:
HermitePolynomial.cc:11
Generated by
1.8.13