| Geant4 User's Guide For Application Developers Appendix

10.3 CLHEP Foundation Library

CLHEP [1] is a set of Class Libraries containing many basic classes for use in High Energy Physics.

Both a CLHEP Reference Guide [2] and a User Guide [3] are available.

Origin and current situation of CLHEP

CLHEP started in 1992 as a library for fundamental classes mostly needed for, and in fact derived from, the MC event generator MC++ written in C++. Since then various authors added classes to this package, including several contributions made by developers in the Geant4 Collaboration.

Geant4 and CLHEP

The Geant4 project contributed to the development of CLHEP. The random number package, physics units and constants, and some of the numeric and geometry classes had their origins in Geant4.

Geant4 also benefits from the development of CLHEP. In addition to the already mentioned classes for random numbers and numerics, we use the classes for points, vectors, and planes and their transformations in 3D space, and lorentz vectors and their transformations. Although these classes have Geant4 names like G4ThreeVector, these are just typedefs to the CLHEP classes.

[1] | cern.ch/clhep
[2] | cern.ch/clhep/manual/RefGuide
[3] | cern.ch/clhep/manual/UserGuide

About the authors