Genfun::GaudiMathImplementation::GSLSplineInteg Class Reference

#include </scratch/z5/marcocle/GaudiDocs/lhcb-release/996/GAUDI/GAUDI_v26r4/InstallArea/x86_64-slc6-gcc48-opt/include/GaudiMath/Splines.h>

Inheritance diagram for Genfun::GaudiMathImplementation::GSLSplineInteg:
Collaboration diagram for Genfun::GaudiMathImplementation::GSLSplineInteg:

Public Types

typedef SplineBase::Data1D Data1D
 
typedef SplineBase::Data2D Data2D
 
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 More...
 
 GSLSplineInteg (const Data2D &data, const GaudiMath::Interpolation::Type type, const double low=0)
 constructor from data vector More...
 
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 More...
 
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 More...
 
 GSLSplineInteg (const SplineBase &, const double low=0)
 constructor from base More...
 
 GSLSplineInteg (const GSLSplineInteg &)
 copy constructor More...
 
 ~GSLSplineInteg () override
 destructor More...
 
double operator() (double a) const override
 main method: evaluate the function More...
 
double operator() (const Argument &x) const override
 main method: evaluate the function More...
 
unsigned int dimensionality () const override
 
bool hasAnalyticDerivative () const override
 Does this function have an analytic derivative? More...
 
Genfun::Derivative partial (unsigned int i) const override
 Derivatives. More...
 
const SplineBasespline () const
 acess to the spline function More...
 
 operator const SplineBase & () const
 cast operator to the spline function More...
 
 GSLSplineInteg (const Data1D &x, const Data1D &y, const GaudiMath::Interpolation::Type type, const double low=0)
 mandatory macro from CLHEP/GenericFunctions More...
 
 GSLSplineInteg (const Data2D &data, const GaudiMath::Interpolation::Type type, const double low=0)
 constructor from data vector More...
 
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 More...
 
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 More...
 
 GSLSplineInteg (const SplineBase &, const double low=0)
 constructor from base More...
 
 GSLSplineInteg (const GSLSplineInteg &)
 copy constructor More...
 
 ~GSLSplineInteg () override
 destructor More...
 
double operator() (double a) const override
 main method: evaluate the function More...
 
double operator() (const Argument &x) const override
 main method: evaluate the function More...
 
unsigned int dimensionality () const override
 
bool hasAnalyticDerivative () const override
 Does this function have an analytic derivative? More...
 
Genfun::Derivative partial (unsigned int i) const override
 Derivatives. More...
 
const SplineBasespline () const
 acess to the spline function More...
 
 operator const SplineBase & () const
 cast operator to the spline function More...
 

Private Member Functions

 GSLSplineInteg ()=delete
 default construtor is disabled ; More...
 
GSLSplineIntegoperator= (const GSLSplineInteg &)=delete
 assignement operator is disabled ; More...
 
 GSLSplineInteg ()=delete
 default construtor is disabled ; More...
 
GSLSplineIntegoperator= (const GSLSplineInteg &)=delete
 assignement operator is disabled ; More...
 

Private Attributes

SplineBase m_spline
 
double m_low
 

Detailed Description

Definition at line 551 of file Splines.h.

Member Typedef Documentation

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 =
const double value = 1 ;
const double result = func( value ) ;
Parameters
xvector of x
yvector of y
typeinterpolation type
lowlow integration limit
Data1D x = .. ;
Data1D y = .. ;
const AbsFunction& func =
const double value = 1 ;
const double result = func( value ) ;
Parameters
xvector of x
yvector of y
typeinterpolation type

Definition at line 548 of file Splines.cpp.

552  : AbsFunction ( )
553  , m_spline ( x , y , type )
554  , m_low ( low )
555  {}
string type
Definition: gaudirun.py:151
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 =
const double value = 1 ;
const double result = func( value ) ;
Parameters
datavector of (x,y) pairs
typeinterpolation type
lowlow integration limit
Data2D data = ... ;
const AbsFunction& func =
const double value = 1 ;
const double result = func( value ) ;
Parameters
datavector of (x,y) pairs
typeinterpolation type

Definition at line 579 of file Splines.cpp.

582  : AbsFunction ()
583  , m_spline ( data , type )
584  , m_low ( low )
585  {}
string type
Definition: gaudirun.py:151
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 =
x.begin () ,
x.end () ,
y.begin () );
const double value = 1 ;
const double result = func( value ) ;
Parameters
begin_xbegin of X-sequence
end_xend of X-sequence
begin_Ybegin of Y-sequence
typeinterpolation type
lowlow integration limit

Definition at line 637 of file Splines.h.

642  : AbsFunction ( )
643  , m_spline ( type , begin_x , end_x , begin_y )
644  , m_low ( low )
645  {}
string type
Definition: gaudirun.py:151
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
beginbegin of sequence of pairs
endend of sequence of pairs
typeinterpolation type
lowlow integration limit

Definition at line 660 of file Splines.h.

664  : m_spline ( type , std::forward<DATA>(begin) , std::forward<DATA>(end) )
665  , m_low ( low )
666  {}
auto begin(reverse_wrapper< T > &w)
Definition: reverse.h:45
auto end(reverse_wrapper< T > &w)
Definition: reverse.h:47
string type
Definition: gaudirun.py:151
Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const SplineBase right,
const double  low = 0 
)

constructor from base

constructor from SplineBase

Definition at line 592 of file Splines.cpp.

594  : AbsFunction ()
595  , m_spline ( right )
596  , m_low ( low )
597  {}
Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const GSLSplineInteg right)

copy constructor

Definition at line 604 of file Splines.cpp.

605  : AbsFunction ()
606  , m_spline ( right )
607  , m_low ( right.m_low )
608  {}
Genfun::GaudiMathImplementation::GSLSplineInteg::~GSLSplineInteg ( )
override

destructor

Definition at line 614 of file Splines.cpp.

614 {}
Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( )
privatedelete

default construtor is disabled ;

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

Data1D x = .. ;
Data1D y = .. ;
const AbsFunction& func =
const double value = 1 ;
const double result = func( value ) ;
Parameters
xvector of x
yvector of y
typeinterpolation type
lowlow integration limit
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 =
const double value = 1 ;
const double result = func( value ) ;
Parameters
datavector of (x,y) pairs
typeinterpolation type
lowlow integration limit
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 =
x.begin () ,
x.end () ,
y.begin () );
const double value = 1 ;
const double result = func( value ) ;
Parameters
begin_xbegin of X-sequence
end_xend of X-sequence
begin_Ybegin of Y-sequence
typeinterpolation type
lowlow integration limit

Definition at line 637 of file Splines.h.

642  : AbsFunction ( )
643  , m_spline ( type , begin_x , end_x , begin_y )
644  , m_low ( low )
645  {}
string type
Definition: gaudirun.py:151
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
beginbegin of sequence of pairs
endend of sequence of pairs
typeinterpolation type
lowlow integration limit

Definition at line 660 of file Splines.h.

664  : m_spline ( type , std::forward<DATA>(begin) , std::forward<DATA>(end) )
665  , m_low ( low )
666  {}
auto begin(reverse_wrapper< T > &w)
Definition: reverse.h:45
auto end(reverse_wrapper< T > &w)
Definition: reverse.h:47
string type
Definition: gaudirun.py:151
Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( const SplineBase ,
const double  low = 0 
)

constructor from base

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

copy constructor

Genfun::GaudiMathImplementation::GSLSplineInteg::~GSLSplineInteg ( )
override

destructor

Genfun::GaudiMathImplementation::GSLSplineInteg::GSLSplineInteg ( )
privatedelete

default construtor is disabled ;

Member Function Documentation

unsigned int Genfun::GaudiMathImplementation::GSLSplineInteg::dimensionality ( ) const
inlineoverride

Definition at line 679 of file Splines.h.

679 { return 1 ; }
unsigned int Genfun::GaudiMathImplementation::GSLSplineInteg::dimensionality ( ) const
inlineoverride

Definition at line 679 of file Splines.h.

679 { return 1 ; }
bool Genfun::GaudiMathImplementation::GSLSplineInteg::hasAnalyticDerivative ( ) const
inlineoverride

Does this function have an analytic derivative?

Definition at line 681 of file Splines.h.

681 { return true ; }
bool Genfun::GaudiMathImplementation::GSLSplineInteg::hasAnalyticDerivative ( ) const
inlineoverride

Does this function have an analytic derivative?

Definition at line 681 of file Splines.h.

681 { return true ; }
Genfun::GaudiMathImplementation::GSLSplineInteg::operator const SplineBase & ( ) const
inline

cast operator to the spline function

Definition at line 688 of file Splines.h.

688 { return spline() ; }
const SplineBase & spline() const
acess to the spline function
Definition: Splines.h:686
Genfun::GaudiMathImplementation::GSLSplineInteg::operator const SplineBase & ( ) const
inline

cast operator to the spline function

Definition at line 688 of file Splines.h.

688 { return spline() ; }
const SplineBase & spline() const
acess to the spline function
Definition: Splines.h:686
double Genfun::GaudiMathImplementation::GSLSplineInteg::operator() ( double  a) const
override

main method: evaluate the function

Definition at line 618 of file Splines.cpp.

619  { return m_spline.integ ( m_low , x ) ; }
double integ(const double a, const double b) const
evaluate the integral on [a,b]
Definition: Splines.cpp:175
double Genfun::GaudiMathImplementation::GSLSplineInteg::operator() ( double  a) const
override

main method: evaluate the function

double Genfun::GaudiMathImplementation::GSLSplineInteg::operator() ( const Argument &  x) const
override

main method: evaluate the function

Definition at line 621 of file Splines.cpp.

622  { return m_spline.integ ( m_low , x[0] ) ; }
double integ(const double a, const double b) const
evaluate the integral on [a,b]
Definition: Splines.cpp:175
double Genfun::GaudiMathImplementation::GSLSplineInteg::operator() ( const Argument &  x) const
override

main method: evaluate the function

GSLSplineInteg& Genfun::GaudiMathImplementation::GSLSplineInteg::operator= ( const GSLSplineInteg )
privatedelete

assignement operator is disabled ;

GSLSplineInteg& Genfun::GaudiMathImplementation::GSLSplineInteg::operator= ( const GSLSplineInteg )
privatedelete

assignement operator is disabled ;

Genfun::Derivative Genfun::GaudiMathImplementation::GSLSplineInteg::partial ( unsigned int  i) const
override

Derivatives.

Definition at line 628 of file Splines.cpp.

629  {
630  if ( i >= 1 )
631  {
632  const AbsFunction& aux = GaudiMath::Constant( 0.0 , 1 ) ;
633  return Genfun::FunctionNoop( &aux ) ;
634  }
635  const AbsFunction& aux = GSLSpline( *this ) ;
636  return Genfun::FunctionNoop( &aux ) ;
637  }
list i
Definition: ana.py:128
Genfun::GaudiMathImplementation::Constant Constant
Definition: GaudiMath.h:27
Genfun::Derivative Genfun::GaudiMathImplementation::GSLSplineInteg::partial ( unsigned int  i) const
override

Derivatives.

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

acess to the spline function

Definition at line 686 of file Splines.h.

686 { return m_spline ; }
const SplineBase& Genfun::GaudiMathImplementation::GSLSplineInteg::spline ( ) const
inline

acess to the spline function

Definition at line 686 of file Splines.h.

686 { return m_spline ; }

Member Data Documentation

double Genfun::GaudiMathImplementation::GSLSplineInteg::m_low
private

Definition at line 697 of file Splines.h.

SplineBase Genfun::GaudiMathImplementation::GSLSplineInteg::m_spline
private

Definition at line 696 of file Splines.h.


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