CLHEP VERSION Reference Documentation
CLHEP Home Page CLHEP Documentation CLHEP Bug Reports |
00001 // -*- C++ -*- 00002 // $Id: 00003 // Legendre Functions P_l(x) 00004 #ifndef Legendre_h 00005 #define Legendre_h 1 00006 #include "CLHEP/GenericFunctions/AbsFunction.hh" 00007 namespace Genfun { 00008 00013 class Legendre : public AbsFunction { 00014 00015 FUNCTION_OBJECT_DEF(Legendre) 00016 00017 public: 00018 00019 // Constructor: 00020 Legendre (unsigned int order); 00021 00022 // Copy constructor 00023 Legendre(const Legendre &right); 00024 00025 // Destructor 00026 virtual ~Legendre(); 00027 00028 // Retreive function value 00029 virtual double operator ()(double argument) const; 00030 virtual double operator ()(const Argument & a) const {return operator() (a[0]);} 00031 00032 private: 00033 00034 // It is illegal to assign an adjustable constant 00035 const Legendre & operator=(const Legendre &right); 00036 00037 // The type and order of the Legendre function 00038 unsigned int _order; 00039 00040 }; 00041 00042 } // namespace Genfun 00043 00044 00045 #include "CLHEP/GenericFunctions/Legendre.icc" 00046 #endif