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