Geant4 Cross Reference |
1 ------------------------------------------------------------------- 2 3 ========================================================= 4 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 ========================================================= 6 7 How to build and run an example 8 ------------------------------- 9 10 All basic and most of extended examples have a similar structure. 11 The main () function is included in exampleXYZ.cc in the example top directory 12 and the example source code is structered in include and src subdirectories. 13 When the example is built, the executable takes the same name as the file with 14 main() function without .cc extension, exampleXYZ. 15 16 Then several macros are provided to run the example with various start-up 17 conditions. These macros have usually .mac extension. Besides these macros, 18 there is often a macro exampleXYZ.in (note its different extension) 19 which is used in Geant4 testing and which output, exampleXYZ.out, can also included 20 in the distribution. 21 22 You can find all details about building the examples in the Geant4 Installation Guide: 23 "https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/index.html" 24 in the section How to Use the Geant4 Toolkit Libraries: 25 https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/buildtools.html" 26 Here we recall only the basics. 27 28 1) COMPILE AND LINK TO GENERATE AN EXECUTABLE 29 30 % cd path_to_exampleXYZ # go to directory which contains your example 31 % mkdir exampleXYZ_build 32 % cd exampleXYZ_build 33 % cmake -DGeant4_DIR=path_to_Geant4_installation/lib[64]/cmake/Geant4/ ../exampleXYZ 34 % make -j N exampleXYZ # "N" is the number of processes 35 % make install # this step is optional 36 37 2) EXECUTE EXAMPLEXYZ IN 'BATCH' MODE FROM MACRO FILES 38 39 ... go to the directory where the example was built/installed 40 % ./exampleXYZ xyz.mac 41 42 3) EXECUTE EXAMPLEXYZ IN 'INTERACTIVE MODE' WITH VISUALIZATION 43 44 ... go to the directory where the example was built/installed 45 % ./exampleXYZ 46 .... 47 Idle> type your commands 48 .... 49 Idle> exit 50 51 52 Below we give the explicit instructions for the example 53 extended/electromagnetic/TestEm1. 54 55 Let's suppose that the TestEm1 directory is available in $HOME and Geant4 56 installation in /usr/local and we work within bash shell on a 64-bit machine. 57 58 1) COMPILE AND LINK TESTEM1 TO GENERATE AN EXECUTABLE 59 60 % cd $HOME 61 % mkdir TestEm1_build 62 % cd TestEm1_build 63 % cmake -DGeant4_DIR=/usr/local/lib64/Geant4-11.0.0/ ../TestEm1 64 % make -j 2 TestEm1 65 66 2) EXECUTE TESTEM1 IN 'BATCH' MODE FROM MACRO FILES 67 68 % cd $HOME/TestEm1_build # or cd $HOME/TestEm1 if example was built with GNUmake 69 % ./TestEm1 annihil.mac 70 % ./TestEm1 brem.mac 71 % ./TestEm1 TestEm1.in >& myTestEm1.out # redirecting output in a file 72 73 3) EXECUTE TESTEM1 IN 'INTERACTIVE MODE' WITH VISUALIZATION 74 75 % cd $HOME/TestEm1_build # or cd $HOME/TestEm1 if example was built with GNUmake 76 % ./TestEm1 77 PreInit> /run/initialize 78 Idle> /run/beamOn 1 79 ... 80 Idle> exit