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

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
13 namespace Genfun {
14 
19  class LegendreExpansion : public AbsFunction {
20 
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
32 
33  // Destructor
34  virtual ~LegendreExpansion();
35 
36  // Retreive function value
37  virtual double operator ()(double argument) const;
38  virtual double operator ()(const Argument & a) const {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
#define FUNCTION_OBJECT_DEF(classname)
LegendreExpansion(Type type, const LegendreCoefficientSet &coefficients)
const LegendreCoefficientSet & coefficientSet() const
virtual double operator()(double argument) const