Gaudi Framework, version v22r2

Home   Generated: Tue May 10 2011
Public Member Functions | Private Member Functions | Private Attributes

Genfun::GaudiMathImplementation::AdapterIFunction Class Reference

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

#include <GaudiMath/Adapters.h>

Collaboration diagram for Genfun::GaudiMathImplementation::AdapterIFunction:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AdapterIFunction (const AIDA::IFunction &fun)
 mandatory macro from CLHEP/GenericFunctions
 AdapterIFunction (const AdapterIFunction &)
 copy constructor
virtual ~AdapterIFunction ()
 desctructor
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

Detailed Description

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

See also:
AIDA::IFunction
Author:
Kirill Miklyaev kirillm@iris1.itep.ru
Date:
2003-08-03

Definition at line 31 of file FunAdapters.h.


Constructor & Destructor Documentation

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

mandatory macro from CLHEP/GenericFunctions

constructor from AIDA::Function

Parameters:
funAIDA function

Definition at line 21 of file Adapter.cpp.

      : AbsFunction ( )
      , m_fun ( &fun  )
      , m_dim ( fun.dimension() )
      , m_arg ( fun.dimension() , 0 )
    {}
Genfun::GaudiMathImplementation::AdapterIFunction::AdapterIFunction ( const AdapterIFunction right )

copy constructor

Definition at line 28 of file Adapter.cpp.

      : AbsFunction (  )
      , m_fun ( right.m_fun )
      , m_dim ( right.m_dim )
      , m_arg ( right.m_arg )
    {}
Genfun::GaudiMathImplementation::AdapterIFunction::~AdapterIFunction (  ) [virtual]

desctructor

Definition at line 35 of file Adapter.cpp.

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

Member Function Documentation

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

Definition at line 50 of file FunAdapters.h.

{ 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.

{ return true ; }
virtual double Genfun::GaudiMathImplementation::AdapterIFunction::operator() ( const Argument &  x ) const [virtual]
double Genfun::GaudiMathImplementation::AdapterIFunction::operator() ( double  a ) const [virtual]

Definition at line 37 of file Adapter.cpp.

    {
      for ( size_t i = 0; i < m_dim; ++i ) { m_arg[i] = 0.0 ; }
      m_arg[0] = x ;
      return m_fun -> value ( m_arg ) ;
    }
AdapterIFunction& Genfun::GaudiMathImplementation::AdapterIFunction::operator= ( const AdapterIFunction  ) [private]
Genfun::Derivative Genfun::GaudiMathImplementation::AdapterIFunction::partial ( unsigned int  i ) const [virtual]

Derivatives.

Definition at line 50 of file Adapter.cpp.

    {
      if ( i >= m_dim )
      {
        const AbsFunction& aux = GaudiMath::Constant( 0 , m_dim  ) ;
        return Genfun::FunctionNoop( &aux ) ;
      };
      const AbsFunction& aux = GaudiMath::Derivative( *this , i ) ;
      return Genfun::FunctionNoop ( &aux ) ;
    }

Member Data Documentation

Definition at line 63 of file FunAdapters.h.

Definition at line 62 of file FunAdapters.h.

Definition at line 61 of file FunAdapters.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Tue May 10 2011 18:55:42 for Gaudi Framework, version v22r2 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004