CLHEP
2.4.7.1
C++ Class Library for High Energy Physics
CLHEP
GenericFunctions
LegendreExpansion.hh
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id:
3
//---------------------SphericalHarmonicExpansion---------------------------//
4
// //
5
// Class LegendreExpansion This is an expansion in terms of a super //
6
// position of N legendre polynomials. //
7
//--------------------------------------------------------------------------//
8
#ifndef LegendreExpansion_h
9
#define LegendreExpansion_h
10
#include "
CLHEP/GenericFunctions/AbsFunction.hh
"
11
#include "
CLHEP/GenericFunctions/Parameter.hh
"
12
#include "
CLHEP/GenericFunctions/LegendreCoefficientSet.hh
"
13
namespace
Genfun
{
14
19
class
LegendreExpansion
:
public
AbsFunction
{
20
21
FUNCTION_OBJECT_DEF
(
LegendreExpansion
)
22
23
public
:
24
25
enum
Type
{
REAL
,
IMAG
,
MAG
,
MAGSQ
};
26
27
// Constructor. Builds all the
28
LegendreExpansion
(
Type
type,
const
LegendreCoefficientSet
& coefficients);
29
30
// Copy constructor
31
LegendreExpansion
(
const
LegendreExpansion
&
right
);
32
33
// Destructor
34
virtual
~LegendreExpansion
();
35
36
// Retreive function value
37
virtual
double
operator ()
(
double
argument
)
const override
;
38
virtual
double
operator ()
(
const
Argument
& a)
const override
{
return
operator()
(a[0]);}
39
// Get the expansion coefficients:
40
const
LegendreCoefficientSet
&
coefficientSet
()
const
;
41
42
private
:
43
44
// It is illegal to assign an adjustable constant
45
const
LegendreExpansion
& operator=(
const
LegendreExpansion
&
right
);
46
47
48
class
Clockwork;
49
Clockwork *c;
50
51
};
52
}
// namespace Genfun
53
54
55
56
#include "
CLHEP/GenericFunctions/LegendreExpansion.icc
"
57
#endif
AbsFunction.hh
FUNCTION_OBJECT_DEF
#define FUNCTION_OBJECT_DEF(classname)
Definition
AbsFunction.hh:143
LegendreCoefficientSet.hh
LegendreExpansion.icc
Parameter.hh
Genfun::AbsFunction
Definition
AbsFunction.hh:48
Genfun::Argument
Definition
Argument.hh:17
Genfun::DoubleParamToArgAdaptor
Definition
DoubleParamToArgAdaptor.hh:37
Genfun::LegendreCoefficientSet
Definition
LegendreCoefficientSet.hh:6
Genfun::LegendreExpansion
Definition
LegendreExpansion.hh:19
Genfun::LegendreExpansion::Type
Type
Definition
LegendreExpansion.hh:25
Genfun::LegendreExpansion::IMAG
@ IMAG
Definition
LegendreExpansion.hh:25
Genfun::LegendreExpansion::MAG
@ MAG
Definition
LegendreExpansion.hh:25
Genfun::LegendreExpansion::MAGSQ
@ MAGSQ
Definition
LegendreExpansion.hh:25
Genfun::LegendreExpansion::REAL
@ REAL
Definition
LegendreExpansion.hh:25
Genfun::LegendreExpansion::LegendreExpansion
LegendreExpansion(Type type, const LegendreCoefficientSet &coefficients)
Definition
LegendreExpansion.icc:26
Genfun::LegendreExpansion::coefficientSet
const LegendreCoefficientSet & coefficientSet() const
Definition
LegendreExpansion.icc:77
Genfun::LegendreExpansion::~LegendreExpansion
virtual ~LegendreExpansion()
Definition
LegendreExpansion.icc:34
Genfun::LegendreExpansion::operator()
virtual double operator()(double argument) const override
Definition
LegendreExpansion.icc:46
Genfun
Definition
Abs.hh:14
Generated by
1.10.0