Calling GSM routines from ROOT

Dear All,

I would like to call routines defined in the Gnu Scientific Library from within a ROOT interactive session. Since GSL provides a shared lib, I first do the following:

root [0] gSystem->Load("/usr/lib/libgsl.so")
with exit code 0.

However, this alone does not allow me to directly call any GSL function.
What else do I need to do, in order to have ROOT know all the functions and definitions within GSL? (eg have also tab completion recognize such functions)

Many thanks in advance.
Ciao,
dg

To use interactivly GSL in ROOT you need to generate the CINT dictionary.

Suppose you need to use the gsl bessel functions which are defined in the header file gsl_sf_bessel.h.

You can do inside ROOT using AClic doing the following:

root [0] gSystem->Load("~/mathlibs/gsl-1.9/lib/libgsl.so");
root [1] gSystem->SetIncludePath("-I/Users/moneta/mathlibs/gsl-1.9/include")
root [2] .L ~/mathlibs/gsl-1.9/include/gsl/gsl_sf_bessel.h+
root [3] double x = gsl_sf_bessel_J0(1.);

The dictionary is automatic generated when you do .L on the header file.
From that moment you can use tab completion for all the functions decleared in the header file.

Best Regards

Lorenzo