Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #!/usr/bin/env bash
0002 
0003 usage(){ cat << EOU
0004 
0005 ~/o/u4/tests/StrutMakerTest.sh
0006 
0007 EOU
0008 }
0009 
0010 name=StrutMakerTest
0011 script=U4Mesh_test.py
0012 script1=$name.py
0013 
0014 cd $(dirname $(realpath $BASH_SOURCE))
0015 
0016 tmp=/tmp/$USER/opticks
0017 TMP=${TMP:-$tmp}
0018 export FOLD=$TMP/$name
0019 mkdir -p $FOLD
0020 
0021 bin=$FOLD/$name
0022 
0023 
0024 get-cmake-prefix(){ echo $CMAKE_PREFIX_PATH | tr ":" "\n" | grep $1 ; }
0025 CLHEP_PREFIX=$(get-cmake-prefix CLHEP)
0026 GEANT4_PREFIX=$(get-cmake-prefix Geant4)
0027 
0028 vv="BASH_SOURCE name script bin FOLD PWD CLHEP_PREFIX GEANT4_PREFIX defarg arg SOL SOLID TITLE"
0029 
0030 defarg="info_build_run_pdb"
0031 arg=${1:-$defarg}
0032 
0033 
0034 prefix="StrutAcrylicConstruction StrutBar2AcrylicConstruction"
0035 suffix="_Complex _Simple _Complex_VERBOSE _Simple_VERBOSE"
0036 
0037 
0038 
0039 if [ "${arg/info}" != "$arg" ]; then
0040    for v in $vv ; do printf "%30s : %s\n" "$v" "${!v}" ; done
0041 fi
0042 
0043 if [ "${arg/build}" != "$arg" ]; then
0044     gcc $name.cc \
0045          -I.. \
0046          -std=c++17 -lstdc++ \
0047          -I$HOME/junosw/Simulation/DetSimV2/CentralDetector/include \
0048          -I$HOME/opticks/sysrap \
0049          -I$CLHEP_PREFIX/include \
0050          -I$GEANT4_PREFIX/include/Geant4  \
0051          -L$GEANT4_PREFIX/lib64 \
0052          -L$CLHEP_PREFIX/lib \
0053          -lG4global \
0054          -lG4geometry \
0055          -lG4graphics_reps \
0056          -lCLHEP \
0057          -o $bin
0058     [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1
0059 fi
0060 
0061 if [ "${arg/run}" != "$arg" ]; then
0062     for pfx in $prefix ; do
0063         for sfx in $suffix ; do
0064              export SOLID=${pfx}${sfx}
0065              export TITLE="$BASH_SOURCE : $script : $SOLID"
0066              $bin
0067              [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0068         done
0069     done
0070 fi
0071 
0072 if [ "${arg/dbg}" != "$arg" ]; then
0073     export SOLID=StrutAcrylicConstruction_Complex
0074     source dbg__.sh
0075     dbg__ $bin
0076     [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 3
0077 fi
0078 
0079 if [ "${arg/pdb}" != "$arg" ]; then
0080     for pfx in $prefix ; do
0081         for sfx in $suffix ; do
0082              export SOLID=${pfx}${sfx}
0083              export TITLE="$BASH_SOURCE : $script : $SOLID"
0084 
0085              ${IPYTHON:-ipython} --pdb -i $script
0086              [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 4
0087 
0088         done
0089     done
0090 fi
0091 
0092 if [ "${arg/ana}" != "$arg" ]; then
0093      export SOLID=StrutAcrylicConstruction_Complex
0094      export TITLE="$BASH_SOURCE : $script : $SOLID"
0095 
0096      ${IPYTHON:-ipython} --pdb -i $script
0097      [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 4
0098 
0099 fi
0100 
0101 if [ "${arg/one}" != "$arg" ]; then
0102      export SOLID=StrutAcrylicConstruction_Complex
0103      export TITLE="$BASH_SOURCE : $script : $SOLID"
0104 
0105      ${IPYTHON:-ipython} --pdb -i $script1
0106      [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 4
0107 
0108 fi
0109 
0110 
0111 
0112 
0113 
0114 exit 0
0115 
0116