CLHEP VERSION Reference Documentation
CLHEP Home Page CLHEP Documentation CLHEP Bug Reports |
00001 // -*- C++ -*- 00002 // $Id: FunctionPlusParameter.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $ 00003 #include "CLHEP/GenericFunctions/FunctionPlusParameter.hh" 00004 #include "CLHEP/GenericFunctions/Parameter.hh" 00005 00006 namespace Genfun { 00007 FUNCTION_OBJECT_IMP(FunctionPlusParameter) 00008 00009 FunctionPlusParameter::FunctionPlusParameter(const AbsParameter *parameter, const AbsFunction *function): 00010 _function(function->clone()), 00011 _parameter(parameter->clone()) 00012 { 00013 if (parameter->parameter() && _parameter->parameter()) { 00014 _parameter->parameter()->connectFrom(parameter->parameter()); 00015 } 00016 } 00017 00018 FunctionPlusParameter::FunctionPlusParameter(const FunctionPlusParameter & right) : 00019 AbsFunction(right), 00020 _function(right._function->clone()), 00021 _parameter(right._parameter->clone()) 00022 {} 00023 00024 unsigned int FunctionPlusParameter::dimensionality() const { 00025 return _function->dimensionality(); 00026 } 00027 00028 FunctionPlusParameter::~FunctionPlusParameter() 00029 { 00030 delete _function; 00031 delete _parameter; 00032 } 00033 00034 00035 double FunctionPlusParameter::operator ()(double x) const 00036 { 00037 return _parameter->getValue() + (*_function)(x); 00038 } 00039 00040 00041 double FunctionPlusParameter::operator ()(const Argument & x) const 00042 { 00043 return _parameter->getValue() + (*_function)(x); 00044 } 00045 00046 Derivative FunctionPlusParameter::partial(unsigned int index) const { 00047 return _function->partial(index); 00048 } 00049 00050 } // namespace Genfun