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

LegendreExpansion.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: 
00003 //---------------------SphericalHarmonicExpansion---------------------------//
00004 //                                                                          //
00005 // Class LegendreExpansion  This is an expansion in terms of  a super       //
00006 // position of N legendre polynomials.                                      //
00007 //--------------------------------------------------------------------------//
00008 #ifndef LegendreExpansion_h
00009 #define LegendreExpansion_h 
00010 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00011 #include "CLHEP/GenericFunctions/Parameter.hh"
00012 #include "CLHEP/GenericFunctions/LegendreCoefficientSet.hh"
00013 namespace Genfun {
00014 
00019   class LegendreExpansion : public AbsFunction  {
00020 
00021     FUNCTION_OBJECT_DEF(LegendreExpansion)
00022 
00023       public:
00024 
00025     enum Type {REAL,IMAG,MAG, MAGSQ};
00026 
00027      // Constructor.  Builds all the 
00028     LegendreExpansion(Type type, const LegendreCoefficientSet & coefficients);
00029 
00030     // Copy constructor
00031     LegendreExpansion(const LegendreExpansion &right);
00032   
00033     // Destructor
00034     virtual ~LegendreExpansion();
00035   
00036     // Retreive function value
00037     virtual double operator ()(double argument) const;
00038     virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00039     // Get the expansion coefficients:
00040     const LegendreCoefficientSet & coefficientSet() const;
00041     
00042   private:
00043 
00044     // It is illegal to assign an adjustable constant
00045     const LegendreExpansion & operator=(const LegendreExpansion &right);
00046     
00047     
00048     class Clockwork;
00049     Clockwork *c;
00050 
00051   };
00052 } // namespace Genfun
00053 
00054 
00055 
00056 #include "CLHEP/GenericFunctions/LegendreExpansion.icc"
00057 #endif

Generated on 15 Nov 2012 for CLHEP by  doxygen 1.4.7