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

CLHEP/GenericFunctions/SphericalHarmonicCoefficientSet.hh
Go to the documentation of this file.
1 #ifndef _SPHERICALHARMONICCOEFFICIENTSET_H_
2 #define _SPHERICALHARMONICCOEFFICIENTSET_H_
3 #include <complex>
4 namespace Genfun {
5 
7 
8  public:
9 
10 
11  // Constructor:
12  SphericalHarmonicCoefficientSet(unsigned int LMAX);
13 
14  // Copy Constructor:
16 
17  // Destructor:
19 
20 
21  // Get the size of the set:
22  unsigned int getLMax() const;
23 
24  // Readonly access to a specific coefficient:
25  const std::complex<double> & operator () (unsigned int l, int m) const;
26 
27  // Read/write access to a specific coefficient:
28  std::complex<double> & operator () (unsigned int l, int m);
29 
30  // Assignement
32 
33  // Scale:
34  SphericalHarmonicCoefficientSet & operator*= (const std::complex<double> & s );
35 
36  // Addition:
38 
39  // Subtraction:
41 
42 
43  private:
44 
45 
46  class Clockwork;
47  Clockwork *c;
48 
49 
50  };
51 
52  // Dump:
53  std::ostream & operator<< ( std::ostream & o, const SphericalHarmonicCoefficientSet & c);
54 
55  // Take the dot product:
56  std::complex<double> dot(const SphericalHarmonicCoefficientSet &,
58 
59  // If an expansion in Spherical Harmonics is squared, another expansion in Spherical
60  // harmonics is the result:
62 
63 
64 }
65 
66 #include "CLHEP/GenericFunctions/SphericalHarmonicCoefficientSet.icc"
67 
68 #endif
69 
70 
std::complex< double > dot(const SphericalHarmonicCoefficientSet &, const SphericalHarmonicCoefficientSet &)
SphericalHarmonicCoefficientSet & operator+=(const SphericalHarmonicCoefficientSet &)
SphericalHarmonicCoefficientSet(unsigned int LMAX)
SphericalHarmonicCoefficientSet & operator=(const SphericalHarmonicCoefficientSet &)
SphericalHarmonicCoefficientSet squareExpansionCoefficients(const SphericalHarmonicCoefficientSet &)
SphericalHarmonicCoefficientSet & operator-=(const SphericalHarmonicCoefficientSet &)
SphericalHarmonicCoefficientSet & operator*=(const std::complex< double > &s)
std::ostream & operator<<(std::ostream &os, const Argument &a)
const std::complex< double > & operator()(unsigned int l, int m) const