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