00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef Sqrt_h
00011 #define Sqrt_h 1
00012 #include "CLHEP/GenericFunctions/AbsFunction.hh"
00013 namespace Genfun {
00014
00019 class Sqrt : public AbsFunction {
00020
00021 FUNCTION_OBJECT_DEF(Sqrt)
00022
00023 public:
00024
00025
00026 Sqrt();
00027
00028
00029 Sqrt(const Sqrt &right);
00030
00031
00032 virtual ~Sqrt();
00033
00034
00035 virtual double operator ()(double argument) const;
00036 virtual double operator ()(const Argument & a) const {return operator() (a[0]);}
00037
00038
00039 Derivative partial (unsigned int) const;
00040
00041
00042 virtual bool hasAnalyticDerivative() const {return true;}
00043
00044 private:
00045
00046
00047 const Sqrt & operator=(const Sqrt &right);
00048
00049 };
00050 }
00051 #endif
00052
00053