Instructions for participants – 2017

C++

Basic level of C++ programming language is required. For those who need a revision (which can be useful also for other applications than GEANT4), you can use for example the courses for M1 given by Ivana Hrivnacova:

http://ipnweb.in2p3.fr/cours-ne-data-processing

For Geant4 training, it would be helpful to review the following material available
on the site:

  • Presentations:  Basic Linux, basic C ++, C ++ IO, Good Practices, OOP,
    Classes STL Functions, Life Cycle, Heritage and optionally [Qt], [DrawQt]
  • The TPs: 1st program, Image, Shapes, Shapes II, and optionally [Qt], [DrawQt]
  • You can follow the schedule provided in the TP list and jump courses / TPs, which are not in the list above. In the TPs Shapes and Shapes II, you can skip steps with svn and doxygen.

Geant4 Installation

The hands on will be done on the classroom computers where the Geant4 software will already be installed. If participants want to work with their laptops, it is necessary to install Geant4 before start of the course. No support for installation will be provided during the course .

The necessary configuration is as follows:
– Geant4 version 10.03.p01
– installation by CMake in multi-threading mode
– with the optional modules (used in the course):
– – Qt
– – GDML – requires xerces -c installed on the system

See Geant4 Installation Guide and the Release notes if necessary.

The CMake options of the configuration above:

-DCMAKE_BUILD_TYPE = RelWithDebInfo
-DGEANT4_BUILD_MULTITHREADED = ON
-DGEANT4_INSTALL_DATA = ON
-DGEANT4_USE_OPENGL_X11 = ON
-DGEANT4_USE_GDML = ON
-DGEANT4_USE_QT = ON

Which gives the following command line to compile and install Geant4 de façon générale :

$> mkdir build
$> cd build
$> cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_GDML=ON -DGEANT4_USE_QT=ON ../where_is_yourgeant4
$> make install

And for mac users

// If you don't have brew installer
$> /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

// Geant4 installation with qt5 and gdml 

$> brew install  homebrew/science/geant4 --with-gdml  --with-qt5