CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

CLHEP/GenericFunctions/FunctionQuotient.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: FunctionQuotient.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $
3 //--------------------------FunctionQuotient--------------------------------//
4 // //
5 // FunctionProduct, result of multiplication of two functions. //
6 // Joe Boudreau, Petar Maksimovic, November 1999 //
7 // //
8 //--------------------------------------------------------------------------//
9 #ifndef FunctionQuotient_h
10 #define FunctionQuotient_h 1
12 
13 namespace Genfun {
14 
19  class FunctionQuotient : public AbsFunction {
20 
22 
23  public:
24 
25  // Constructor
26  FunctionQuotient(const AbsFunction *arg1, const AbsFunction *arg2);
27 
28  // Copy constructor
29  FunctionQuotient(const FunctionQuotient &right);
30 
31  // Destructor
32  virtual ~FunctionQuotient();
33 
34  // Retreive function value
35  virtual double operator ()(double argument) const;
36  virtual double operator ()(const Argument & a) const;
37 
38  // Dimensionality
39  virtual unsigned int dimensionality() const;
40 
41  // Derivative.
42  Derivative partial (unsigned int) const;
43 
44  // Does this function have an analytic derivative?
45  virtual bool hasAnalyticDerivative() const {return true;}
46 
47  private:
48 
49  // It is illegal to assign a FunctionQuotient
50  const FunctionQuotient & operator=(const FunctionQuotient &right);
51 
52  const AbsFunction *_arg1;
53  const AbsFunction *_arg2;
54  };
55 } // namespace Genfun
56 #endif
#define FUNCTION_OBJECT_DEF(classname)
virtual unsigned int dimensionality() const
FunctionQuotient(const AbsFunction *arg1, const AbsFunction *arg2)
Derivative partial(unsigned int) const
virtual double operator()(double argument) const
@ a