CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
Main Page
Namespaces
Classes
Files
File List
File Members
GenericFunctions
CLHEP
GenericFunctions
CLHEP/GenericFunctions/SphericalHarmonicExpansion.hh
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id:
3
//---------------------SphericalHarmonicExpansion------------------------------------------//
4
// //
5
// Class SphericalHarmonicExpansion. This is a fitting function consisting of a super //
6
// position of N legendre polynomials. Cascading fractions and phases are //
7
// the input parameters. Function is normalized to one (on [-1,1]) //
8
// Joe Boudreau, Petar Maksimovic, January 2000 //
9
// //
10
//--------------------------------------------------------------------------//
11
#ifndef SphericalHarmonicExpansion_h
12
#define SphericalHarmonicExpansion_h
13
#include "
CLHEP/GenericFunctions/AbsFunction.hh
"
14
#include "
CLHEP/GenericFunctions/Parameter.hh
"
15
#include "
CLHEP/GenericFunctions/SphericalHarmonicCoefficientSet.hh
"
16
namespace
Genfun {
17
22
class
SphericalHarmonicExpansion
:
public
AbsFunction
{
23
24
FUNCTION_OBJECT_DEF
(
SphericalHarmonicExpansion
)
25
26
public
:
27
28
enum
Type
{
REAL
,
IMAG
,
MAG
,
MAGSQ
};
29
30
// Constructor. Builds all the
31
SphericalHarmonicExpansion
(
Type
type,
const
SphericalHarmonicCoefficientSet
& coefficients);
32
33
// Copy constructor
34
SphericalHarmonicExpansion
(
const
SphericalHarmonicExpansion
&right);
35
36
// Destructor
37
virtual
~SphericalHarmonicExpansion
();
38
39
// Dimensionality=2. They are; cosTheta (not theta) and phi
40
virtual
unsigned
int
dimensionality
()
const
{
return
2;}
41
42
// Retreive function value
43
virtual
double
operator ()
(
double
argument)
const
;
// Gives an error.
44
virtual
double
operator ()
(
const
Argument
&
a
)
const
;
// Must use this one
45
46
// Get the expansion coefficients:
47
SphericalHarmonicCoefficientSet
&
coefficientSet
();
48
const
SphericalHarmonicCoefficientSet
&
coefficientSet
()
const
;
49
50
private
:
51
52
// It is illegal to assign an adjustable constant
53
const
SphericalHarmonicExpansion
& operator=(
const
SphericalHarmonicExpansion
&right);
54
55
56
class
Clockwork;
57
Clockwork *c;
58
59
};
60
}
// namespace Genfun
61
62
63
64
#include "CLHEP/GenericFunctions/SphericalHarmonicExpansion.icc"
65
#endif
Generated on Mon May 6 2013 04:04:11 for CLHEP by
1.8.1.2