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

ConstTimesFunction.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: ConstTimesFunction.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $
4 
5 namespace Genfun {
6 FUNCTION_OBJECT_IMP(ConstTimesFunction)
7 
8 ConstTimesFunction::ConstTimesFunction(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 ConstTimesFunction::dimensionality() const {
21  return _arg->dimensionality();
22 }
23 
25 {
26  delete _arg;
27 }
28 
29 
30 
31 double ConstTimesFunction::operator ()(double x) const
32 {
33  return _constant * (*_arg)(x);
34 }
35 
36 
38 {
39  return _constant * (*_arg)(x);
40 }
41 
42 Derivative ConstTimesFunction::partial(unsigned int index) const {
43  // d/dx (k*f) = k*(df/dx)
44  const AbsFunction & fPrime = _constant*(_arg->partial(index));
45  return Derivative(& fPrime);
46 }
47 
48 } // namespace Genfun
ConstTimesFunction(double constant, const AbsFunction *arg)
virtual Derivative partial(unsigned int) const
Definition: AbsFunction.cc:40
virtual unsigned int dimensionality() const
Definition: AbsFunction.cc:79
virtual unsigned int dimensionality() const
Derivative partial(unsigned int) const
#define FUNCTION_OBJECT_IMP(classname)
virtual double operator()(double argument) const