CLHEP 2.0.4.7 Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

AssociatedLaguerre.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: AssociatedLaguerre.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $
00003 //---------------------AssociatedLaguerre-----------------------------------//
00004 //                                                                          //
00005 // Class AssociatedLaguerre.  An associated laguerre polynomial L_n^k(x)    //
00006 // Joe Boudreau, Petar Maksimovic, November 1999                            //
00007 //                                                                          //
00008 //                                                                          //
00009 // Different definitions exist.  These are taken from Arfken, Mathematical  //
00010 // Methods for physicists                                                   //
00011 //                                                                          //
00012 //--------------------------------------------------------------------------//
00013 #ifndef AssociatedLaguerre_h
00014 #define AssociatedLaguerre_h 1
00015 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00016 
00017 namespace Genfun {
00018 
00023   class AssociatedLaguerre : public AbsFunction  {
00024   
00025     FUNCTION_OBJECT_DEF(AssociatedLaguerre)
00026 
00027       public:
00028 
00029     // Constructor
00030     AssociatedLaguerre(unsigned int n, unsigned int k);
00031 
00032     // Copy constructor
00033     AssociatedLaguerre(const AssociatedLaguerre &right);
00034   
00035     // Destructor
00036     virtual ~AssociatedLaguerre();
00037   
00038     // Retreive function value
00039 
00040     virtual double operator ()(double argument) const;
00041     virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00042   
00043     // Get the integer variable n
00044     unsigned int n() const;
00045 
00046     // Get the integer variable k
00047     unsigned int k() const;
00048 
00049   private:
00050 
00051     // It is illegal to assign an adjustable constant
00052     const AssociatedLaguerre & operator=(const AssociatedLaguerre &right);
00053 
00054     // Here is the decay constant
00055     unsigned int _n;
00056 
00057     // Here is the sigma
00058     unsigned int _k;
00059 
00060     // Here is the "work function"
00061     const AbsFunction *_function;
00062 
00063     // This function is needed in all constructors:
00064     void create(); 
00065   };
00066 
00067 } // namespace Genfun
00068 
00069 
00070 
00071 #endif
00072 
00073 

Generated on Thu Jul 1 22:02:30 2010 for CLHEP by  doxygen 1.4.7