3 #ifndef GAUDIMATH_NUMERICALDERIVATIVE_H
4 #define GAUDIMATH_NUMERICALDERIVATIVE_H 1
10 #include "GaudiKernel/StatusCode.h"
14 #include "CLHEP/GenericFunctions/AbsFunction.hh"
19 namespace GaudiMathImplementation
36 class GAUDI_API NumericalDerivative :
public AbsFunction
46 FUNCTION_OBJECT_DEF( NumericalDerivative )
86 ( const AbsFunction& function ,
92 ( const NumericalDerivative& right ) ;
95 virtual ~NumericalDerivative () ;
98 virtual
unsigned int dimensionality()
const {
return m_DIM ; }
101 virtual double operator() (
double argument )
const ;
103 virtual double operator() (
const Argument& argument )
const ;
106 virtual bool hasAnalyticDerivative()
const {
return true ;}
109 virtual Derivative partial (
unsigned int index )
const;
114 const AbsFunction&
function ()
const {
return *m_function ; }
116 size_t index ()
const {
return m_index ; }
118 const Type&
type ()
const {
return m_type ; }
124 double result ()
const {
return m_result ; }
126 double error ()
const {
return m_error ; }
131 (
const std::string& message ,
137 NumericalDerivative ();
139 NumericalDerivative& operator=(
const NumericalDerivative& ) ;
142 const AbsFunction* m_function ;
147 mutable Argument m_argument ;
148 mutable double m_result ;
149 mutable double m_error ;
158 #endif // GAUDIMATH_NUMERICALDERIVATIVE_H
Genfun::GaudiMathImplementation::NumericalDerivative Derivative
This class is used for returning status codes from appropriate routines.
Type
the list of available types for ntuples