Software/Geant4/Installation/CLHEP
Introduction
CLHEP
is intended to be a set of HEP-specific foundation and utility classes such as random generators, physics vectors, geometry and linear algebra.
CLHEP
is structured in a set of packages independent of any external package.
Geant4
requires the CLHEP
libraries in order to compile simulations.
By default Geant4
distributes a minimal version of the CLHEP
library sources with the toolkit to help cross-platform usage.
This internal version of the CLHEP library is built and used by default, so having an external install of CLHEP is no longer a prerequisite for Geant4.
However, the BDSIM accelerator simulation toolkit, which uses Geant4 for particle-matter interactions, requires a standalone version of CLHEP
to be compiled separately from Geant4
.
As such, the instructions below relate to the standalone version of CLHEP
.
Details
- Website
- http://proj-clhep.web.cern.ch/proj-clhep/
- Source URL
- http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/
- Installed version
- 2.3.1.1 (15 Mar 2016)
- Source code
src/geant4-prerequisites/clhep/2.3.1.1
Installation Notes
The CLHEP website provides some documentation on building and installing standalone CLHEP
libraries at http://proj-clhep.web.cern.ch/proj-clhep/INSTALLATION/clhep-2.0.html .
Geant4.10.2.p01
has been tested with CLHEP 2.3.1.1
.
CLHEP 2.3.2.2
is available but Geant4.10.2.p01
would not compile with this version, so the previous version is installed.
For installation, CLHEP
does not support installation into a sandbox directory (i.e. there are no options prefix
or DESTDIR
defined for command make install
) and must be given the installation directory with the -prefix
option.
As such, to recompile CLHEP
for different target directories, the configure
script must be rerun with a modified -prefix /path/to/dest
option. This has to be managed manually as can be seen in the installation commands below.
Installation
When downloading software, the downloaded tarball (or other Zip
archive) should be placed in an appropriately named directory in /unix/pbt/software/src
: the instructions below assume that the directory is /unix/pbt/software/src/clhep
.
The source code should then be extracted into a suitable subdirectory in /unix/pbt/software/build
. The extracted source code directory can only be deleted once the software has been built and installed.
Source Code Extraction
cd /unix/pbt/software/src/geant4-prerequisites/qt tar -xvz -f qtbase-opensource-src-5.6.0.tar.gz mv qtbase-opensource-src-5.6.0 qt-5.6.0
Build And Install
These instructions assume the code has already been built for the Development environment before building for the Production environment, so some of the commands for the Production install are omitted. Although it is highly discouraged to install straight to the Production environment without first compiling a Development version, it is possible to do so by adding in the directory creation commands at the start.
Development Environment
cd /unix/pbt/software/build mkdir -pv qt/qt-5.6.0 cd qt/qt-5.6.0 ../../../src/geant4-prerequisites/qt/qt-5.6.0/configure -prefix /unix/pbt/software/dev/qt-5.6.0 -release -opensource -confirm-licence -nomake tests -nomake examples -optimized-qmake -opengl -qt-xcb make make install
Production Environment
cd /unix/pbt/software/build/qt/qt-5.6.0 ../../../src/geant4-prerequisites/qt/qt-5.6.0/configure -prefix /unix/pbt/software/prod-sl6 -release -opensource -confirm-licence -nomake tests -nomake examples -optimized-qmake -opengl -qt-xcb make make install