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