Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:48:53

0001 #!/bin/bash 
0002 usage(){ cat << EOU
0003 CSGScanTest.sh
0004 ===============
0005 
0006 ::
0007 
0008     ~/o/CSG/tests/CSGScanTest.sh
0009 
0010 
0011 rbin
0012     runs locally built bin /tmp/$USER/opticks/${name}.build/$name
0013 run
0014     runs om standardly built name $name
0015 
0016 EOU
0017 }
0018 
0019 
0020 cd $(dirname $(realpath $BASH_SOURCE))
0021 
0022 cuda_prefix=/usr/local/cuda
0023 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}   # just use some CUDA headers, not using GPU 
0024 
0025 #defarg="info_build_run_ana"
0026 defarg="info_run_ana"
0027 [ -n "$BP" ] && defarg="info_dbg" 
0028 
0029 arg=${1:-$defarg}
0030 
0031 
0032 
0033 gdb__ () 
0034 { 
0035     if [ -z "$BP" ]; then
0036         H="";
0037         B="";
0038         T="-ex r";
0039     else
0040         H="-ex \"set breakpoint pending on\"";
0041         B="";
0042         for bp in $BP;
0043         do
0044             B="$B -ex \"break $bp\" ";
0045         done;
0046         T="-ex \"info break\" -ex r";
0047     fi;
0048     local runline="gdb $H $B $T --args $* ";
0049     echo $runline;
0050     date;
0051     eval $runline;
0052     date
0053 }
0054 
0055 
0056 name=CSGScanTest 
0057 tmpd=/tmp/$USER/opticks/$name
0058 bdir=/tmp/$USER/opticks/${name}.build
0059 mkdir -p $bdir
0060 bin=$bdir/$name
0061 script=CSGScanTest.py 
0062 
0063 
0064 #geom=JustOrb
0065 geom=DifferenceBoxSphere
0066 #geom=UnionBoxSphere
0067 
0068 export GEOM=${GEOM:-$geom}
0069 export FOLD=$tmpd/$GEOM
0070 export BASE=$FOLD   # need BASE envvar for grab 
0071 
0072 export CSGScanTest__init_SAVEFOLD=$HOME/.opticks/GEOM/$GEOM   ## define to save the CSGMaker solid CSGFoundry
0073 
0074 vars="FOLD GEOM defarg arg SAVEFOLD"
0075 
0076 if [ "${arg/info}" != "$arg" ]; then
0077     for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done 
0078 fi 
0079 
0080 
0081 if [ "${arg/build}" != "$arg" ]; then
0082 
0083     opts=""
0084     #opts="-DDEBUG=1"    ## very verbose 
0085 
0086     cui=../CSGScan.cu
0087     cuo=$bdir/CSGScan_cu.o
0088     nvcc -c $cui \
0089              -std=c++11 -lstdc++ \
0090              -I.. \
0091              -I$OPTICKS_PREFIX/include/SysRap \
0092              -o $cuo 
0093     [ $? -ne 0 ] && echo $BASH_SOURCE : nvcc compile error cui $cui cuo $cuo  && exit 1
0094 
0095     srcs="$name.cc 
0096           ../CSGFoundry.cc 
0097           ../CSGImport.cc 
0098           ../CSGSolid.cc 
0099           ../CSGCopy.cc 
0100           ../CSGPrim.cc 
0101           ../CSGNode.cc 
0102           ../CSGScan.cc 
0103           ../CSGTarget.cc 
0104           ../CSGMaker.cc 
0105           ../CU.cc 
0106           $cuo
0107           "
0108 
0109     gcc \
0110         $srcs \
0111         -I.. \
0112         -std=c++11 -lm \
0113         $opts \
0114         -I${CUDA_PREFIX}/include \
0115         -I${OPTICKS_PREFIX}/externals/glm/glm \
0116         -I${OPTICKS_PREFIX}/include/SysRap \
0117         -I${OPTICKS_PREFIX}/externals/plog/include \
0118         -L${CUDA_PREFIX}/lib64 -lcudart -lstdc++ \
0119         -L${OPTICKS_PREFIX}/lib64 \
0120         -lSysRap \
0121         -DWITH_CHILD \
0122         -o $bin
0123         #-DWITH_VERBOSE \
0124 
0125     [ $? -ne 0 ] && echo build error && exit 1
0126 fi 
0127 
0128 
0129 if [ "${arg/rbin}" != "$arg" ]; then 
0130     echo $BASH_SOURCE - GEOM $GEOM $arg
0131     $bin
0132     [ $? -ne 0 ] && echo rbin error && exit 2
0133 fi 
0134 
0135 if [ "${arg/run}" != "$arg" ]; then 
0136     echo $BASH_SOURCE - GEOM $GEOM $arg
0137     $name
0138     [ $? -ne 0 ] && echo run error && exit 2
0139 fi 
0140 
0141 if [ "${arg/dbg}" != "$arg" ]; then 
0142     echo $BASH_SOURCE - GEOM $GEOM 
0143     gdb__ $name
0144     [ $? -ne 0 ] && echo dbg error && exit 2
0145 fi 
0146 
0147 if [ "${arg/grab}" != "$arg" ]; then 
0148     source ../../bin/BASE_grab.sh $arg
0149     [ $? -ne 0 ] && echo grab error && exit 4
0150 fi 
0151 
0152 if [ "${arg/ana}" != "$arg" ]; then 
0153     ${IPYTHON:-ipython} -i --pdb $script
0154     [ $? -ne 0 ] && echo ana error && exit 4
0155 fi 
0156 
0157 exit 0