Gaudi Framework, version v21r11

Home   Generated: 30 Sep 2010

Genfun::GaudiMathImplementation::GSLSplineInteg Class Reference

#include <Splines.h>

Collaboration diagram for Genfun::GaudiMathImplementation::GSLSplineInteg:
[legend]

List of all members.

Public Types

typedef SplineBase::Data1D Data1D
typedef SplineBase::Data2D Data2D

Public Member Functions

 GSLSplineInteg (const Data1D &x, const Data1D &y, const GaudiMath::Interpolation::Type type, const double low=0)
 mandatory macro from CLHEP/GenericFunctions
 GSLSplineInteg (const Data2D &data, const GaudiMath::Interpolation::Type type, const double low=0)
 constructor from data vector
template<class DATAX, class DATAY>
 GSLSplineInteg (const GaudiMath::Interpolation::Type type, DATAX begin_x, DATAX end_x, DATAY begin_y, const double low)
 templated constructor in the spirit of STL-algorithms
template<class DATA>
 GSLSplineInteg (const GaudiMath::Interpolation::Type type, DATA begin, DATA end, const double low)
 templated constructor from the sequence of pairs as sequence of pairs the class TabulatedProperty can be used
 GSLSplineInteg (const SplineBase &, const double low=0)
 constructor from base
 GSLSplineInteg (const GSLSplineInteg &)
 copy constructor
virtual ~GSLSplineInteg ()
 destructor
virtual double operator() (double a) const
 main method: evaluate the function
virtual double operator() (const Argument &x) const
 main method: evaluate the function
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.
const SplineBasespline () const
 acess to the spline function
 operator const SplineBase & () const
 cast operator to the spline function

Private Member Functions

 GSLSplineInteg ()
 default construtor is desabled ;
GSLSplineIntegoperator= (const GSLSplineInteg &)
 assignement operator is desabled ;

Private Attributes

SplineBase m_spline
double m_low


Detailed Description

Definition at line 558 of file Splines.h.


Member Typedef Documentation

Definition at line 561 of file Splines.h.

Definition at line 562 of file Splines.h.


Constructor & Destructor Documentation

Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const Data1D x,
const Data1D y,
const GaudiMath::Interpolation::Type  type,
const double  low = 0 
)

mandatory macro from CLHEP/GenericFunctions

constructor from vectors and type

constructor from vectors and type

   Data1D x = .. ;
   Data1D y = .. ;

   const AbsFunction& func =
    GSLSplineInteg( x , y , GaudiMath::Interpolation::Cspline , -1 ) ;

   const double value = 1 ;
   const double result = func( value ) ;

Parameters:
x vector of x
y vector of y
type interpolation type
low low integration limit
   Data1D x = .. ; 
   Data1D y = .. ; 
  
   const AbsFunction& func = 
        GSLSplineInteg( x , y , GaudiMath::Interpolation::Cspline , -1 ) ;
  
   const double value = 1 ;
   const double result = func( value ) ;

Parameters:
x vector of x
y vector of y
type interpolation type

Definition at line 540 of file Splines.cpp.

00544       : AbsFunction (      ) 
00545       , m_spline    ( x    , y , type )
00546       , m_low       ( low  )
00547     {}

Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const Data2D data,
const GaudiMath::Interpolation::Type  type,
const double  low = 0 
)

constructor from data vector

   Data2D data = ... ;

   const AbsFunction& func =
        GSLSplineInteg( data , GaudiMath::Interpolation::Cspline , -1 );

   const double value = 1 ;
   const double result = func( value ) ;

Parameters:
data vector of (x,y) pairs
type interpolation type
low low integration limit
   Data2D data = ... ; 
  
   const AbsFunction& func = 
        GSLSplineInteg( data , GaudiMath::Interpolation::Cspline , -1 );
  
   const double value = 1 ;
   const double result = func( value ) ;

Parameters:
data vector of (x,y) pairs
type interpolation type

Definition at line 571 of file Splines.cpp.

00574       : AbsFunction () 
00575       , m_spline    ( data , type ) 
00576       , m_low       ( low  )
00577     {}

template<class DATAX, class DATAY>
Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const GaudiMath::Interpolation::Type  type,
DATAX  begin_x,
DATAX  end_x,
DATAY  begin_y,
const double  low 
) [inline]

templated constructor in the spirit of STL-algorithms

It is assumed that vector "y" has tehlength AT LEAST as long as "x"

   SEQURNCE1 x = .. ;
   SEQUENCE2 y = .. ;

   const AbsFunction& func =
        GSLSpline( GaudiMath::Interpoaltion::Cspline ,
                   x.begin ()  ,
                   x.end   ()  ,
                   y.begin ()  );

   const double value = 1 ;
   const double result = func( value ) ;

Parameters:
begin_x begin of X-sequence
end_x end of X-sequence
begin_Y begin of Y-sequence
type interpolation type
low low integration limit

Definition at line 644 of file Splines.h.

00649         : AbsFunction (      )
00650         , m_spline    ( type , begin_x , end_x , begin_y )
00651         , m_low       ( low  )
00652       {}

template<class DATA>
Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const GaudiMath::Interpolation::Type  type,
DATA  begin,
DATA  end,
const double  low 
) [inline]

templated constructor from the sequence of pairs as sequence of pairs the class TabulatedProperty can be used

Parameters:
begin begin of sequence of pairs
end end of sequence of pairs
type interpolation type
low low integration limit

Definition at line 667 of file Splines.h.

00671         : AbsFunction (      )
00672         , m_spline    ( type , begin , end )
00673         , m_low       ( low  )
00674       {}

Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const SplineBase right,
const double  low = 0 
)

constructor from base

constructor from SplineBase

Definition at line 584 of file Splines.cpp.

00586       : AbsFunction () 
00587       , m_spline    ( right ) 
00588       , m_low       ( low   )
00589     {}

Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const GSLSplineInteg right  ) 

copy constructor

Definition at line 596 of file Splines.cpp.

00597       : AbsFunction () 
00598       , m_spline    ( right       ) 
00599       , m_low       ( right.m_low ) 
00600     {}

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

destructor

Definition at line 606 of file Splines.cpp.

00606 {}

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

default construtor is desabled ;


Member Function Documentation

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

main method: evaluate the function

Definition at line 610 of file Splines.cpp.

00611     { return m_spline.integ ( m_low , x    ) ; }

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

main method: evaluate the function

Definition at line 613 of file Splines.cpp.

00614     { return m_spline.integ ( m_low , x[0] ) ; }

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

Definition at line 687 of file Splines.h.

00687 { return 1   ; }

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

Does this function have an analytic derivative?

Definition at line 689 of file Splines.h.

00689 { return true ; }

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

Derivatives.

Definition at line 620 of file Splines.cpp.

00621     {
00622       if ( i >= 1 ) 
00623       {
00624         const AbsFunction& aux = GaudiMath::Constant( 0.0 , 1 ) ;
00625         return Genfun::FunctionNoop( &aux ) ;
00626       }
00627       const AbsFunction& aux = GSLSpline( *this ) ;
00628       return Genfun::FunctionNoop( &aux ) ;
00629     }

const SplineBase& Genfun::GaudiMathImplementation::GSLSplineInteg::spline (  )  const [inline]

acess to the spline function

Definition at line 694 of file Splines.h.

00694 { return m_spline ; }

Genfun::GaudiMathImplementation::GSLSplineInteg::operator const SplineBase & (  )  const [inline]

cast operator to the spline function

Definition at line 696 of file Splines.h.

00696 { return spline() ; }

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

assignement operator is desabled ;


Member Data Documentation

Definition at line 704 of file Splines.h.

Definition at line 705 of file Splines.h.


The documentation for this class was generated from the following files:

Generated at Thu Sep 30 09:59:04 2010 for Gaudi Framework, version v21r11 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004