Difference between revisions of "HOWTO build and run PHASM on Geant4 examples"

From epsciwiki
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 19: Line 19:
 
   # B4 is a simple sampling calorimeter example.
 
   # B4 is a simple sampling calorimeter example.
 
   export G4EX=$SPACK_ROOT/opt/spack/linux-*/*/geant4-*/share/Geant4/examples/basic/B4
 
   export G4EX=$SPACK_ROOT/opt/spack/linux-*/*/geant4-*/share/Geant4/examples/basic/B4
 +
  # export G4EX=$SPACK_ROOT/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.3.0/geant4-11.1.0-px46pszk3frzg74fdbsqktipkohbyq3u/share/Geant4/examples/basic/B4 # for cuda container
 
    
 
    
 
   cmake -S $G4EX -B build -DCMAKE_INSTALL_PREFIX=install -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=1
 
   cmake -S $G4EX -B build -DCMAKE_INSTALL_PREFIX=install -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=1

Latest revision as of 02:02, 28 June 2023

This page is incomplete. It needs instructions for building and running PHASM.

Building and running a Geant4 example

Here are some instructions for using singularity to build a Geant4 example and run it.

 source /etc/profile.d/modules.sh
 module load singularity
 singularity shell -B/cvmfs:/cvmfs /cvmfs/oasis.opensciencegrid.org/jlab/epsci/singularity/images/epsci-ubuntu-22.04.img
 Singularity> source /cvmfs/oasis.opensciencegrid.org/jlab/epsci/ubuntu/22.04/share/spack/setup-env.sh
 Singularity> spack env activate phasm

The source for the Geant4 examples is available in /cvmfs though it has not been compiled. Compile it in your own directory like this:

 # Define G4EX as the source directory of the example we want to build.
 # This just makes the cmake and other commands a little more readable.
 # The G4EX envar is not actually used by any of the software.
 # B4 is a simple sampling calorimeter example.
 export G4EX=$SPACK_ROOT/opt/spack/linux-*/*/geant4-*/share/Geant4/examples/basic/B4
 # export G4EX=$SPACK_ROOT/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.3.0/geant4-11.1.0-px46pszk3frzg74fdbsqktipkohbyq3u/share/Geant4/examples/basic/B4 # for cuda container
 
 cmake -S $G4EX -B build -DCMAKE_INSTALL_PREFIX=install -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=1
 cmake --build build --target install -- -j8

There are actually 4 variants of this example that are built. All will be installed in install/bin. The examples expect you to use macros that came with the source. Copy the macros to your working directory and run an example like this:

 cp -rp $G4EX/macros  .
 cd macros
 ../install/bin/exampleB4d
 
 # A lot of output will be printed and a graphics window will open.
 # Eventually, you will be given a prompt where you may enter commands.
 # Enter the command run/beamOn 1 to simulated a single event.
 
 Idle> run/beamOn 1
 
 # Quit the simulation
 
 Idle> exit

Note: You can control the number of threads and turn off visualization by editing the file init_vis.mac before starting the example.