Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 07:50:28

0001 #!/bin/bash
0002 usage(){ cat << EOU
0003 U4Polycone_test.sh
0004 ===================
0005 
0006 This compiles the needed parts of sysrap from source (not using libSysRap)
0007 in order to facilitate quick changes of compilation options.
0008 
0009 Compilation options:
0010 
0011 former -DWITH..SND
0012      reverted to the old inflexible snd.hh CSG node impl
0013      instead of the default more flexible sn.h impl
0014 
0015 -DWITH_CHILD
0016      switches sn.h node impl to use child vector instead of left right nodes,
0017      this generalizes the node impl to n-ary instead of binary
0018 
0019 EOU
0020 }
0021 
0022 opt="-DWITH_CHILD"
0023 
0024 
0025 SDIR=$(cd $(dirname $BASH_SOURCE) && pwd)
0026 
0027 name=U4Polycone_test
0028 
0029 tmp=/tmp/$USER/opticks
0030 TMP=${TMP:-$tmp}
0031 export FOLD=$TMP/$name
0032 mkdir -p $FOLD
0033 
0034 bin=$FOLD/$name
0035 script=$SDIR/$name.py
0036 
0037 CUDA_PREFIX=/usr/local/cuda
0038 
0039 defarg="info_build_run_pdb"
0040 arg=${1:-$defarg}
0041 
0042 export sn__level=2
0043 export s_pool_level=2
0044 
0045 get-cmake-prefix(){ echo $CMAKE_PREFIX_PATH | tr ":" "\n" | grep $1 ; }
0046 CLHEP_PREFIX=$(get-cmake-prefix CLHEP)
0047 GEANT4_PREFIX=$(get-cmake-prefix Geant4)
0048 
0049 vars="BASH_SOURCE arg SDIR FOLD bin script opt"
0050 
0051 if [ "${arg/info}" != "$arg" ]; then
0052     for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0053 fi
0054 
0055 if [ "${arg/build}" != "$arg" ]; then
0056 
0057     gcc \
0058          $opt \
0059          $SDIR/$name.cc \
0060          $SDIR/../../sysrap/sn.cc \
0061          $SDIR/../../sysrap/s_pa.cc \
0062          $SDIR/../../sysrap/s_bb.cc \
0063          $SDIR/../../sysrap/s_tv.cc \
0064          $SDIR/../../sysrap/s_csg.cc \
0065          \
0066          $SDIR/../../sysrap/snd.cc \
0067          $SDIR/../../sysrap/scsg.cc \
0068          -I$SDIR/.. \
0069          -std=c++17 -lstdc++ -g \
0070          -I$HOME/opticks/sysrap \
0071          -I$CUDA_PREFIX/include \
0072          -I$OPTICKS_PREFIX/externals/glm/glm \
0073          -I$CLHEP_PREFIX/include \
0074          -I$GEANT4_PREFIX/include/Geant4  \
0075          -L$GEANT4_PREFIX/lib64 \
0076          -L$CLHEP_PREFIX/lib \
0077          -lG4global \
0078          -lG4geometry \
0079          -lG4graphics_reps \
0080          -lCLHEP \
0081          -lm \
0082          -o $bin
0083     [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1
0084 fi
0085 
0086 if [ "${arg/run}" != "$arg" ]; then
0087     $bin
0088     [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0089 fi
0090 
0091 if [ "${arg/dbg}" != "$arg" ]; then
0092     source dbg__.sh
0093     dbg__ $bin
0094     [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 2
0095 fi
0096 
0097 if [ "${arg/pdb}" != "$arg" ]; then
0098     ${IPYTHON:-ipython} --pdb -i $script
0099     [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 3
0100 fi
0101 
0102 if [ "${arg/ana}" != "$arg" ]; then
0103     ${PYTHON:-python} $script
0104     [ $? -ne 0 ] && echo $BASH_SOURCE ana error && exit 4
0105 fi
0106 
0107 exit 0
0108 
0109