Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:35

0001 // -*- C++ -*-
0002 // $Id: 
0003 // Legendre Functions P_l(x)
0004 #ifndef Legendre_h
0005 #define Legendre_h 1
0006 #include "CLHEP/GenericFunctions/AbsFunction.hh"
0007 namespace Genfun {
0008 
0009   /**
0010    * @author
0011    * @ingroup genfun
0012    */
0013   class Legendre : public AbsFunction  {
0014 
0015     FUNCTION_OBJECT_DEF(Legendre)
0016 
0017       public:
0018 
0019     // Constructor:  
0020     Legendre (unsigned int order);
0021 
0022     // Copy constructor
0023     Legendre(const Legendre &right);
0024   
0025     // Destructor
0026     virtual ~Legendre();
0027   
0028     // Retreive function value
0029     virtual double operator ()(double argument) const override;
0030     virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
0031   
0032   private:
0033 
0034     // It is illegal to assign an adjustable constant
0035     const Legendre & operator=(const Legendre &right);
0036 
0037     // The type and order of the Legendre function
0038     unsigned int      _order;
0039   
0040   };
0041 
0042 } // namespace Genfun
0043 
0044 
0045 #include "CLHEP/GenericFunctions/Legendre.icc"
0046 #endif