00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef AssociatedLegendre_h
00010 #define AssociatedLegendre_h 1
00011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00012 #include "CLHEP/GenericFunctions/Parameter.hh"
00013
00014 namespace Genfun {
00015
00020 class AssociatedLegendre : public AbsFunction {
00021
00022 FUNCTION_OBJECT_DEF(AssociatedLegendre)
00023
00024 public:
00025
00026
00027 AssociatedLegendre(unsigned int l, unsigned int m);
00028
00029
00030 AssociatedLegendre(const AssociatedLegendre &right);
00031
00032
00033 virtual ~AssociatedLegendre();
00034
00035
00036 virtual double operator ()(double argument) const;
00037 virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00038
00039
00040 unsigned int l() const;
00041
00042
00043 unsigned int m() const;
00044
00045 private:
00046
00047
00048 const AssociatedLegendre & operator=(const AssociatedLegendre &right);
00049
00050
00051 unsigned int _l;
00052
00053
00054 unsigned int _m;
00055
00056
00057 const AbsFunction *_function;
00058
00059
00060 void create();
00061 };
00062
00063 }
00064
00065
00066
00067 #endif
00068
00069