CLHEP 2.0.4.7 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   _function(right._function->clone()),
00020   _parameter(right._parameter->clone())
00021 {}
00022 
00023 unsigned int FunctionTimesParameter::dimensionality() const {
00024   return _function->dimensionality();
00025 }
00026 
00027 FunctionTimesParameter::~FunctionTimesParameter()
00028 {
00029   delete _function;
00030   delete _parameter;
00031 }
00032 
00033 
00034 double FunctionTimesParameter::operator ()(double x) const
00035 {
00036   return _parameter->getValue() * (*_function)(x);
00037 }
00038 
00039 
00040 double FunctionTimesParameter::operator ()(const Argument & x) const
00041 {
00042   return _parameter->getValue() * (*_function)(x);
00043 }
00044 
00045 
00046 
00047 
00048 Derivative FunctionTimesParameter::partial(unsigned int index) const {
00049   const AbsFunction & fPrime  = (*_parameter)*(_function->partial(index));
00050   return Derivative(&fPrime);
00051 }
00052 
00053 } // namespace Genfun

Generated on Thu Jul 1 22:02:30 2010 for CLHEP by  doxygen 1.4.7