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 AbsFunction(right),
16 _constant(right._constant),
17 _arg(right._arg->clone())
18 {}
19 
20 unsigned int ConstOverFunction::dimensionality() const {
21  return _arg->dimensionality();
22 }
23 
25 {
26  delete _arg;
27 }
28 
29 
30 
31 double ConstOverFunction::operator ()(double x) const
32 {
33  return _constant / (*_arg)(x);
34 }
35 
36 
38 {
39  return _constant / (*_arg)(x);
40 }
41 
42 
43 Derivative ConstOverFunction::partial(unsigned int index) const {
44  // d/dx (k/f) = -(k/f^2)(df/dx)
45  const AbsFunction & fPrime = -_constant/(*_arg)/(*_arg)*(_arg->partial(index));
46  return Derivative(& fPrime);
47 }
48 
49 
50 } // namespace Genfun
Genfun::Derivative
FunctionNoop Derivative
Definition: CLHEP/GenericFunctions/AbsFunction.hh:40
Genfun::AbsFunction
Definition: CLHEP/GenericFunctions/AbsFunction.hh:48
Genfun::ConstOverFunction::~ConstOverFunction
virtual ~ConstOverFunction()
Definition: ConstOverFunction.cc:24
Genfun::ConstOverFunction::partial
Derivative partial(unsigned int) const
Definition: ConstOverFunction.cc:43
Genfun::ConstOverFunction::operator()
virtual double operator()(double argument) const
Definition: ConstOverFunction.cc:31
Genfun::ConstOverFunction::ConstOverFunction
ConstOverFunction(double constant, const AbsFunction *arg)
Definition: ConstOverFunction.cc:8
Genfun::AbsFunction::dimensionality
virtual unsigned int dimensionality() const
Definition: AbsFunction.cc:79
Genfun::ConstOverFunction
Definition: CLHEP/GenericFunctions/ConstOverFunction.hh:20
Genfun::Argument
Definition: CLHEP/GenericFunctions/Argument.hh:17
Genfun::FunctionNoop
Definition: CLHEP/GenericFunctions/FunctionNoop.hh:19
Genfun::AbsFunction::partial
virtual Derivative partial(unsigned int) const
Definition: AbsFunction.cc:40
Genfun::ConstOverFunction::dimensionality
virtual unsigned int dimensionality() const
Definition: ConstOverFunction.cc:20
x
any side effects of that construction would occur twice The semantics of throw x
Definition: whyZMthrowRethrows.txt:37
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition: CLHEP/GenericFunctions/AbsFunction.hh:156
Genfun
Definition: CLHEP/GenericFunctions/Abs.hh:14
ConstOverFunction.hh