File indexing completed on 2026-04-09 07:49:20
0001
0002 usage(){ cat << EOU
0003 SPMT_test.sh
0004 ===============
0005
0006 ::
0007
0008 ~/opticks/sysrap/tests/SPMT_test.sh
0009
0010
0011 For AOI scanning use::
0012
0013 ./SPMT_scan.sh
0014
0015 That does something like::
0016
0017 N_MCT=900 N_SPOL=1 ./SPMT_test.sh
0018
0019 Note dependency on GEOM envvar, which is used
0020 to SPMT::CreateFromJPMT the PMT info NPFold from SPMT::PATH::
0021
0022 $CFBaseFromGEOM/CSGFoundry/SSim/extra/jpmt
0023
0024 EOU
0025 }
0026
0027 cd $(dirname $(realpath $BASH_SOURCE))
0028 source $HOME/.opticks/GEOM/GEOM.sh
0029
0030
0031 defarg="info_build_run_pdb"
0032 arg=${1:-$defarg}
0033
0034 name=SPMT_test
0035 script=$name.py
0036
0037 tmp=/tmp/$USER/opticks
0038 export TMP=${TMP:-$tmp}
0039 export FOLD=$TMP/$name
0040
0041 mkdir -p $FOLD
0042 bin=$FOLD/$name
0043
0044
0045 test=testfold
0046
0047 export TEST=${TEST:-$test}
0048
0049 cuda_prefix=/usr/local/cuda
0050 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0051
0052 unset SPMT__level
0053
0054
0055
0056 vars="BASH_SOURCE BASH_VERSION defarg arg name GEOM TMP FOLD CUDA_PREFIX bin script TEST SPMT__level"
0057
0058 if [ "${arg/info}" != "$arg" ]; then
0059 for var in $vars ; do printf "%30s : %s \n" "$var" "${!var}" ; done
0060 fi
0061
0062 if [ "${arg/build}" != "$arg" ]; then
0063 gcc $name.cc \
0064 -I.. \
0065 -I$CUDA_PREFIX/include \
0066 -I$HOME/customgeant4 \
0067 -DWITH_CUSTOM4 \
0068 -g -std=c++17 -lstdc++ -lm \
0069 -o $bin
0070 [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1
0071 echo $BASH_SOURCE : build OK
0072 fi
0073
0074 if [ "${arg/run}" != "$arg" ]; then
0075 $bin
0076 [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0077 fi
0078
0079 if [ "${arg/dbg}" != "$arg" ]; then
0080 source dbg__.sh
0081 dbg__ $bin
0082 [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 3
0083 fi
0084
0085 if [ "${arg/pdb}" != "$arg" ]; then
0086 ${IPYTHON:-ipython} --pdb -i $script
0087 [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 4
0088 fi
0089
0090 if [ "${arg/ana}" != "$arg" ]; then
0091 ${PYTHON:-python} $script
0092 [ $? -ne 0 ] && echo $BASH_SOURCE ana error && exit 5
0093 fi
0094
0095 exit 0
0096
0097