Gaudi Framework, version v20r2

Generated: 18 Jul 2008

Genfun::GaudiMathImplementation::AdapterIFunction Class Reference

#include <GaudiMath/Adapters.h>

Collaboration diagram for Genfun::GaudiMathImplementation::AdapterIFunction:

Collaboration graph
[legend]
List of all members.

Detailed Description

constructor from the IFunction ( see AIDA/IFunction.h)

See also:
AIDA::IFunction
Author:
Kirill Miklyaev kirillm@iris1.itep.ru

Kirill Miklyaev kirillm@iris1.itep.ru

Date:
2003-08-03

Definition at line 31 of file FunAdapters.h.

Public Member Functions

 FUNCTION_OBJECT_DEF (AdapterIFunction)
 mandatory macro grom CLHEP/GenericFunctions
 AdapterIFunction (const AIDA::IFunction &fun)
 constructor from AIDA::Function
 AdapterIFunction (const AdapterIFunction &)
 copy constructor
virtual ~AdapterIFunction ()
 dectructor
virtual double operator() (double a) const
virtual double operator() (const Argument &x) const
virtual unsigned int dimensionality () const
virtual bool hasAnalyticDerivative () const
 Does this function have an analytic derivative?
virtual Genfun::Derivative partial (unsigned int i) const
 Derivatives.

Private Member Functions

 AdapterIFunction ()
AdapterIFunctionoperator= (const AdapterIFunction &)

Private Attributes

const AIDA::IFunction * m_fun
size_t m_dim
std::vector< double > m_arg


Constructor & Destructor Documentation

Genfun::GaudiMathImplementation::AdapterIFunction::AdapterIFunction ( const AIDA::IFunction &  fun  ) 

constructor from AIDA::Function

Parameters:
fun AIDA function

Definition at line 20 of file Adapter.cpp.

00021       : AbsFunction ( )
00022       , m_fun ( &fun  )
00023       , m_dim ( fun.dimension() )
00024       , m_arg ( fun.dimension() , 0 ) 
00025     {} ;

Genfun::GaudiMathImplementation::AdapterIFunction::AdapterIFunction ( const AdapterIFunction  ) 

copy constructor

Definition at line 27 of file Adapter.cpp.

00028       : AbsFunction (  ) 
00029       , m_fun ( right.m_fun )
00030       , m_dim ( right.m_dim )
00031       , m_arg ( right.m_arg ) 
00032     {} ;

Genfun::GaudiMathImplementation::AdapterIFunction::~AdapterIFunction (  )  [virtual]

dectructor

Definition at line 34 of file Adapter.cpp.

00034 {};

Genfun::GaudiMathImplementation::AdapterIFunction::AdapterIFunction (  )  [private]


Member Function Documentation

Genfun::GaudiMathImplementation::AdapterIFunction::FUNCTION_OBJECT_DEF ( AdapterIFunction   ) 

mandatory macro grom CLHEP/GenericFunctions

double Genfun::GaudiMathImplementation::AdapterIFunction::operator() ( double  a  )  const [virtual]

Definition at line 36 of file Adapter.cpp.

References m_arg, m_dim, and m_fun.

00037     {
00038       for ( size_t i = 0; i < m_dim; ++i ) { m_arg[i] = 0.0 ; }
00039       m_arg[0] = x ;
00040       return m_fun -> value ( m_arg ) ;
00041     };

virtual double Genfun::GaudiMathImplementation::AdapterIFunction::operator() ( const Argument &  x  )  const [virtual]

virtual unsigned int Genfun::GaudiMathImplementation::AdapterIFunction::dimensionality (  )  const [inline, virtual]

Definition at line 50 of file FunAdapters.h.

References m_dim.

00050 { return m_dim ; }

virtual bool Genfun::GaudiMathImplementation::AdapterIFunction::hasAnalyticDerivative (  )  const [inline, virtual]

Does this function have an analytic derivative?

Definition at line 53 of file FunAdapters.h.

00053 { return true ; }

Genfun::Derivative Genfun::GaudiMathImplementation::AdapterIFunction::partial ( unsigned int  i  )  const [virtual]

Derivatives.

Definition at line 49 of file Adapter.cpp.

References m_dim.

00050     {
00051       if ( i >= m_dim ) 
00052       {
00053         const AbsFunction& aux = GaudiMath::Constant( 0 , m_dim  ) ;
00054         return Genfun::FunctionNoop( &aux ) ;
00055       };
00056       const AbsFunction& aux = GaudiMath::Derivative( *this , i ) ;
00057       return Genfun::FunctionNoop ( &aux ) ;
00058     };

AdapterIFunction& Genfun::GaudiMathImplementation::AdapterIFunction::operator= ( const AdapterIFunction  )  [private]


Member Data Documentation

const AIDA::IFunction* Genfun::GaudiMathImplementation::AdapterIFunction::m_fun [private]

Definition at line 61 of file FunAdapters.h.

Referenced by operator()().

size_t Genfun::GaudiMathImplementation::AdapterIFunction::m_dim [private]

Definition at line 62 of file FunAdapters.h.

Referenced by dimensionality(), operator()(), and partial().

std::vector<double> Genfun::GaudiMathImplementation::AdapterIFunction::m_arg [mutable, private]

Definition at line 63 of file FunAdapters.h.

Referenced by operator()().


The documentation for this class was generated from the following files:
Generated at Fri Jul 18 12:10:39 2008 for Gaudi Framework, version v20r2 by Doxygen version 1.5.1 written by Dimitri van Heesch, © 1997-2004