Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:20

0001 #!/bin/bash
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 #defarg="info_build_run_ana"
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 #test=ART
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 #export SPMT__level=1
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