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

ConstOverFunction.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: ConstOverFunction.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $
4 
5 namespace Genfun {
6 FUNCTION_OBJECT_IMP(ConstOverFunction)
7 
8 ConstOverFunction::ConstOverFunction(double constant, const AbsFunction *arg):
9  _constant(constant),
10  _arg(arg->clone())
11 {
12 }
13 
15 _constant(right._constant),
16 _arg(right._arg->clone())
17 {}
18 
19 unsigned int ConstOverFunction::dimensionality() const {
20  return _arg->dimensionality();
21 }
22 
24 {
25  delete _arg;
26 }
27 
28 
29 
30 double ConstOverFunction::operator ()(double x) const
31 {
32  return _constant / (*_arg)(x);
33 }
34 
35 
37 {
38  return _constant / (*_arg)(x);
39 }
40 
41 
42 Derivative ConstOverFunction::partial(unsigned int index) const {
43  // d/dx (k/f) = -(k/f^2)(df/dx)
44  const AbsFunction & fPrime = -_constant/(*_arg)/(*_arg)*(_arg->partial(index));
45  return Derivative(& fPrime);
46 }
47 
48 
49 } // namespace Genfun