CLHEP 2.0.4.7 Reference Documentation
CLHEP Home Page CLHEP Documentation CLHEP Bug Reports |
00001 // -*- C++ -*- 00002 // $Id: ConstTimesFunction.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $ 00003 #include "CLHEP/GenericFunctions/ConstTimesFunction.hh" 00004 00005 namespace Genfun { 00006 FUNCTION_OBJECT_IMP(ConstTimesFunction) 00007 00008 ConstTimesFunction::ConstTimesFunction(double constant, const AbsFunction *arg): 00009 _constant(constant), 00010 _arg(arg->clone()) 00011 { 00012 } 00013 00014 ConstTimesFunction::ConstTimesFunction(const ConstTimesFunction & right) : 00015 _constant(right._constant), 00016 _arg(right._arg->clone()) 00017 {} 00018 00019 unsigned int ConstTimesFunction::dimensionality() const { 00020 return _arg->dimensionality(); 00021 } 00022 00023 ConstTimesFunction::~ConstTimesFunction() 00024 { 00025 delete _arg; 00026 } 00027 00028 00029 00030 double ConstTimesFunction::operator ()(double x) const 00031 { 00032 return _constant * (*_arg)(x); 00033 } 00034 00035 00036 double ConstTimesFunction::operator ()(const Argument & x) const 00037 { 00038 return _constant * (*_arg)(x); 00039 } 00040 00041 Derivative ConstTimesFunction::partial(unsigned int index) const { 00042 // d/dx (k*f) = k*(df/dx) 00043 const AbsFunction & fPrime = _constant*(_arg->partial(index)); 00044 return Derivative(& fPrime); 00045 } 00046 00047 } // namespace Genfun