In this chapter we give pointers to some of the third party software libraries that we use within Gaudi or recommend for use by algorithms implemented in Gaudi.
The LHC++ project aims to replace the CERNLIB software libraries with a suite of OO software with roughly equivalent functionality. It consists of a number of distinct packages, both commercial and HEP specific. A complete list of LHC++ libraries (and their documentation) is maintained on the WWW at http://wwwinfo.cern.ch/asd/lhc++/guide.html
The LHCb contact people for matters concerning LHC++ are Pavel Binko and Marco Cattaneo. You can also obtain help (and report problems) directly from the LHC++ team, preferably via their problem tracking system: http://gnats.cern.ch/cgi-bin/wwwgnats.pl/LHCXX/1/1/
The following sections introduce some LHC++ components that are used (or can be used) in Gaudi.
CLHEP ("Class Library for High Energy Physics") is a set of HEP-specific foundation and utility classes such as random generators, physics vectors, geometry and linear algebra. It is structured in a set of packages independent of any external package. The documentation for CLHEP can be found on WWW at http://wwwinfo.cern.ch/asd/lhc++/clhep/index.html
CLHEP is used extensively inside Gaudi, in particular in the LHCbEvent and SicbCnv packages.
The NAG C library is a commercial mathematical library providing a similar functionality to the FORTRAN mathlib (part of CERNLIB). It is organised into chapters, each chapter devoted to a branch of numerical or statistical computation. A full list of the functions is available at http://wwwinfo.cern.ch/asd/lhc++/Nag_C/html/doc.html
NAG C is not explicitly used in the Gaudi framework, but developers are encouraged to use it for mathematical computations. Instructions for linking NAG C with Gaudi can be found at http://lhcb.cern.ch/~cattanem/LHCb/nagC.html
Some NAG C functions print error messages to stdout by default, without any information about the calling algorithm and without filtering on severity level. A facility is provided by Gaudi to redirect these messages to the Gaudi MessageSvc. This is documented at http://lhcb.cern.ch/~cattanem/LHCb/GaudiNagC.html