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

FunctionTimesParameter.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: FunctionTimesParameter.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $
00003 #include "CLHEP/GenericFunctions/FunctionTimesParameter.hh"
00004 #include "CLHEP/GenericFunctions/Parameter.hh"
00005 
00006 namespace Genfun {
00007 FUNCTION_OBJECT_IMP(FunctionTimesParameter)
00008 
00009 FunctionTimesParameter::FunctionTimesParameter(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 FunctionTimesParameter::FunctionTimesParameter(const FunctionTimesParameter & right) :
00019   AbsFunction(right),
00020   _function(right._function->clone()),
00021   _parameter(right._parameter->clone())
00022 {}
00023 
00024 unsigned int FunctionTimesParameter::dimensionality() const {
00025   return _function->dimensionality();
00026 }
00027 
00028 FunctionTimesParameter::~FunctionTimesParameter()
00029 {
00030   delete _function;
00031   delete _parameter;
00032 }
00033 
00034 
00035 double FunctionTimesParameter::operator ()(double x) const
00036 {
00037   return _parameter->getValue() * (*_function)(x);
00038 }
00039 
00040 
00041 double FunctionTimesParameter::operator ()(const Argument & x) const
00042 {
00043   return _parameter->getValue() * (*_function)(x);
00044 }
00045 
00046 
00047 
00048 
00049 Derivative FunctionTimesParameter::partial(unsigned int index) const {
00050   const AbsFunction & fPrime  = (*_parameter)*(_function->partial(index));
00051   return Derivative(&fPrime);
00052 }
00053 
00054 } // namespace Genfun

Generated on 15 Nov 2012 for CLHEP by  doxygen 1.4.7