Skip to content

Visualisation of the Geant4 MEMPHYS simulation done with softinex tools.

Notifications You must be signed in to change notification settings

gbarrand/MEMPHYS_vis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 IMPORTANT : if building from a git clone of 
     https://github.com/gbarrand/MEMPHYS_vis.git
 before building you have to bring the file : g4ndl_4_5.zip from the release area and deposit it under:
     MEMPHYS_vis/MEMPHYS_vis/comres
 You may try the URL:
     https://github.com/gbarrand/MEMPHYS_vis/releases/download/12.0.0/g4ndl_4_5.zip
 
 It appears that this file exceeds the 100 Mbytes limit of github and can't go in the repository, but it
 is definitely needed to run the app and have to go also in the built distribution zip files. Then be sure
 to have it in comres before building.

 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 /// build by using the default inexlib/ourex/geant4 : /////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////
  To build :
    UNIX> cd <app>/mgr
    UNIX> ./build  # Cocoa version on macOS, X11 on Linux, X11 under Windows-10/WSL and
                   # win32 from a Windows-10/cygwin bash prompt.
  ( UNIX> ./build -v)
   macOS> ./build -x11 -bin_x11  # to build the X11 version if being on macOS.
    UNIX> ./build -offscreen -bin_offscreen
  cygwin> ./build -gnu -x11  # to build under Windows-10/cygwin by using the cygwin g++
                             # and cygwin X11 client environment.
    
 (here UNIX is for Linux, macOS, Windows-10/cygwin, Windows-10/WSL)

  For Windows-10/win32, the build bush scripts assumes that VisualC++ had been "source setup".
 See the softinex portal/bush/Prerequisites/Windows-10 section for more.

  If the GNU parallel application is known from your prompt, you can use the "-parallel"
 option so that C and C++ file compilations are distributed on your cores. This feature
 had been tested with success on macOS with a MacPorts installation of the GNU parallel program
 and on centos7 by using the GNU distribution. Since good part of the code of our
 apps is pure header, it will not boost the "main" part of them, but it clearly boosts the
 build of the ourex externals, in particular if using some ourex/geant4<versio> one.

  At end, you should have a distribution file :
    bin_<config>/distrib/<app>-<version>-<platform>.zip
    
  To run :
    UNIX> cd <app>/mgr
 the offscreen version :
    UNIX> ./bin_offscreen/distrib/<app>/<version>/bin/<app>
 the OSX Cocoa version :
   macOS> open ./bin_sdk_mac/distrib/<app>/<version>/<app>.app
 the OSX X11 version :
   macOS> ./bin_x11/distrib/<app>/<version>/bin/<app>
 the Linux X11 version :
   Linux> ./bin_gnu/distrib/<app>/<version>/bin/<app>
 the Windows win32 version :
  cygwin> ./bin_visual/distrib/<app>/<version>/bin/<app>.exe

  See the <app> section on http://gbarrand.github.io for more.

 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 /// For apps related to geant4 (g4exa, g4view, MEMPHYS, MEMPHYS_vis) : ////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////
  The packing comes with a inexlib/ourex/geant4<version> in sync with the code of the app, and the build
 can proceed by using the upper commands, but you may want to build the app by using an already installed
 geant4. As our distribution packing (done with bush/app_distrib) does not handle (yet) shared libraries,
 you must have a geant4 built with archive libs (<geant4_install_dir>/[lib,lib64]/libG4FR.a, etc...).
 If not, a below "build -sys_geant4" will stop. (The check for geant4 archives is done by
 bush/use/geant4<version>). We remember that to have archive libraries for geant4, you have to build
 it with the cmake option "-DBUILD_STATIC_LIBS=ON" (and "-DBUILD_SHARED_LIBS=ON" to have also shared libs).

  Then to build the app distribution :
    UNIX> cd <app>/mgr

      sh> . <geant4_install_dir>/bin/geant4.sh
   ( csh> source <geant4_install_dir>/bin/geant4.csh )
    UNIX> geant4-config  # to test that this program is here.

   Linux> <if needed source setup a gcc_[version].[sh,csh] file to have the correct g++>
   ( csh> source gcc_493.csh # on Lund iridium )
    UNIX> ./build -sys_geant4     # -sys_geant4 to use the geant4 pointed by geant4-config.
  ( UNIX> ./build -sys_geant4 -v  # to see built files.)
  ( UNIX> ./build -sys_geant4 -x  # for a full trace.)

   macOS> ./build -sys_geant4 -x11 -bin_x11 # to build the X11 version on macOS.

  At end, you should have a distribution file :
    bin_<config>/distrib/<app>-<version>-<platform>.zip

 WARNING, WARNING, WARNING, WARNING, WARNING, WARNING, WARNING, WARNING, WARNING :
  If running from the build area by having done the "source geant4 setup", be sure that the
 environment variables : G4NEUTRONHPDATA, G4LEDATA, G4LEVELGAMMADATA, G4ENSDFSTATEDATA, G4SAIDXSDATA
 points to valid Geant4 data directories. If not, you are going to have crashes at startup.
 The best, if building by using an installed geant4 (a "sys_geant4"), is to run the app from
 a brand new shell.

 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////////////