File indexing completed on 2026-04-10 07:50:27
0001
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