Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #!/bin/bash
0002 usage(){ cat << EOU
0003 QSim_MockTest.sh
0004 ==================
0005 
0006 ~/o/qudarap/tests/QSim_MockTest.sh
0007 
0008 Note that unlike the standard Opticks CMake build
0009 this script finds Custom4 without consulting 
0010 the CMAKE_PREFIX_PATH so its convenient for 
0011 testing new versions.  
0012 
0013 EOU
0014 }
0015 
0016 cd $(dirname $(realpath $BASH_SOURCE))
0017 source dbg__.sh
0018 
0019 name=QSim_MockTest
0020 
0021 source $HOME/.opticks/GEOM/GEOM.sh 
0022 
0023 defarg="info_build_run_ana"
0024 arg=${1:-$defarg}
0025 
0026 export BASE=/tmp/$name
0027 bin=$BASE/$name
0028 
0029 #custom4_prefix=${OPTICKS_PREFIX}_externals/custom4/0.1.8
0030 custom4_prefix=$JUNOTOP/ExternalLibs/custom4/0.1.8
0031 CUSTOM4_PREFIX=${CUSTOM4_PREFIX:-$custom4_prefix}
0032 
0033 
0034 cuda_prefix=/usr/local/cuda
0035 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0036 
0037 #num=1000
0038 num=100000
0039 #num=1000000
0040 export NUM=${NUM:-$num}
0041 
0042 check=smear_normal_sigma_alpha
0043 #check=smear_normal_polish
0044 export CHECK=${CHECK:-$check}
0045 
0046 export FOLD=$BASE/$CHECK
0047 mkdir -p $FOLD
0048 
0049 case $CHECK in 
0050    smear_normal*) script=smear_normal.py ;;
0051                *) script=$name.py        ;;
0052 esac
0053 
0054 
0055 vars="BASH_SOURCE BASE FOLD CHECK GEOM bin script name CUSTOM4_PREFIX OPTICKS_PREFIX CUDA_PREFIX NUM"
0056 
0057 
0058 if [ "${arg/info}" != "$arg" ]; then 
0059     for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done 
0060 fi
0061 
0062 if [ "${arg/check}" != "$arg" ]; then
0063     path="${CUSTOM4_PREFIX}/include/Custom4/C4CustomART.h"
0064     if [ -f "$path" ]; then
0065        echo $BASH_SOURCE : path $path : EXISTS
0066     else
0067        echo $BASH_SOURCE : path $path : DOES NOT EXIST
0068     fi 
0069 fi 
0070 
0071 # gives exponent has no digits error with c++11
0072 
0073 if [ "${arg/build}" != "$arg" ]; then 
0074 
0075     [ ! -d "$CUSTOM4_PREFIX" ] && echo $BASH_SOURCE ERROR CUSTOM4_PREFIX $CUSTOM4_PREFIX DOES NOT EXIST && exit 1
0076 
0077     gcc $name.cc \
0078        ../QPMT.cc \
0079        ../QOptical.cc \
0080        ../QBnd.cc \
0081        ../QTex.cc \
0082        ../QProp.cc \
0083        ../QBase.cc \
0084        -g \
0085        -std=c++17 -lstdc++ -lm \
0086        -DDEBUG_PIDX \
0087        -DMOCK_CURAND \
0088        -DMOCK_CUDA \
0089        -DMOCK_CUDA_DEBUG \
0090        -DMOCK_CURAND_DEBUG \
0091        -DMOCK_TEXTURE \
0092        -I.. \
0093        -I$OPTICKS_PREFIX/include/SysRap \
0094        -I$CUDA_PREFIX/include \
0095        -I$OPTICKS_PREFIX/externals/glm/glm \
0096        -I$OPTICKS_PREFIX/externals/plog/include \
0097        -DWITH_CUSTOM4 \
0098        -I$CUSTOM4_PREFIX/include/Custom4 \
0099        -o $bin 
0100 
0101     [ $? -ne 0 ] && echo $msg build error && exit 1 
0102 fi 
0103 
0104 
0105 if [ "${arg/run}" != "$arg" ]; then 
0106     $bin
0107     [ $? -ne 0 ] && echo $msg run error && exit 2 
0108 fi
0109 
0110 if [ "${arg/dbg}" != "$arg" ]; then 
0111     dbg__ $bin
0112     [ $? -ne 0 ] && echo $msg dbg error && exit 3 
0113 fi
0114 
0115 if [ "${arg/pdb}" != "$arg" ]; then 
0116     ${IPYTHON:-ipython} --pdb -i $script
0117     [ $? -ne 0 ] && echo $msg pdb error && exit 4
0118 fi
0119 
0120 if [ "${arg/ana}" != "$arg" ]; then 
0121     ${PYTHON:-python} $script
0122     [ $? -ne 0 ] && echo $msg ana error && exit 4
0123 fi
0124 
0125 
0126 exit 0 
0127 
0128