CLHEP 2.0.4.7 Reference Documentation
CLHEP Home Page CLHEP Documentation CLHEP Bug Reports |
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