Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 07:50:27

0001 #!/bin/bash
0002 usage(){ cat << EOU
0003 U4Mesh_test2.sh
0004 ================
0005 
0006 Expands on U4Mesh_test.sh with addition of dependency
0007 on j/PMTSim to provide access to complex solids::
0008 
0009     ~/opticks/u4/tests/U4Mesh_test2.sh
0010 
0011 
0012     GEOM=wpcosolidDeadWater ~/opticks/u4/tests/U4Mesh_test2.sh
0013 
0014     GEOM=xjfcSolid ~/opticks/u4/tests/U4Mesh_test2.sh
0015     GEOM=xjacSolid ~/opticks/u4/tests/U4Mesh_test2.sh
0016 
0017     GEOM=sjclSolid ~/opticks/u4/tests/U4Mesh_test2.sh
0018     GEOM=sjfxSolid ~/opticks/u4/tests/U4Mesh_test2.sh
0019     GEOM=sjrcSolid ~/opticks/u4/tests/U4Mesh_test2.sh
0020     GEOM=sjrfSolid ~/opticks/u4/tests/U4Mesh_test2.sh
0021 
0022     GEOM=facrSolid ~/opticks/u4/tests/U4Mesh_test2.sh
0023 
0024 
0025 Compare two geometries::
0026 
0027       AGEOM=sjclSub BGEOM=sjclDown  ~/opticks/u4/tests/U4Mesh_test2.sh ana
0028 
0029 
0030 EOU
0031 }
0032 
0033 cd $(dirname $(realpath $BASH_SOURCE))
0034 name=U4Mesh_test2
0035 BASE=/tmp/$name
0036 bin=$BASE/$name
0037 
0038 if [ -n "$AGEOM" -a -n "$BGEOM" ]; then
0039    script=${name}_cf.py
0040    AFOLD=$BASE/$AGEOM
0041    BFOLD=$BASE/$BGEOM
0042    export AFOLD
0043    export BFOLD
0044 elif [ -n "$GEOM" ]; then
0045    script=$name.py
0046    FOLD=$BASE/$GEOM
0047    mkdir -p $FOLD
0048    export FOLD
0049 else
0050    echo $BASH_SOURCE : ERROR GEOM is not defined
0051    exit 1
0052 fi
0053 
0054 opticks-
0055 clhep-
0056 g4-
0057 
0058 vars="BASH_SOURCE name BASE FOLD bin GEOM AGEOM BGEOM AFOLD BFOLD script"
0059 
0060 export JUNO_SIMPLIFY_CALIB_ANCHOR=1
0061 
0062 
0063 defarg="info_build_run_ana"
0064 arg=${1:-$defarg}
0065 
0066 if [ "${arg/info}" != "$arg" ]; then
0067    for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0068 fi
0069 
0070 if (( $(g4-major-version-number) < 11 )); then
0071         cc_std="c++11"
0072 else
0073         cc_std="c++17"
0074 fi
0075 if [ "${arg/build}" != "$arg" ]; then
0076     gcc \
0077          $name.cc \
0078          -I.. \
0079          -g -std=$cc_std -lstdc++ \
0080          -I$HOME/opticks/sysrap \
0081          -I$(clhep-prefix)/include \
0082          -I$(g4-prefix)/include/Geant4  \
0083          -L$(g4-prefix)/lib \
0084          -L$(g4-prefix)/lib64 \
0085          -L$(clhep-prefix)/lib \
0086          -lG4global \
0087          -lG4geometry \
0088          -lG4graphics_reps \
0089          -lCLHEP \
0090          -I$HOME/j/PMTSim \
0091          -L$OPTICKS_PREFIX/lib \
0092          -L$OPTICKS_PREFIX/lib64 \
0093          -lPMTSim_standalone \
0094          -o $bin
0095     [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1
0096 fi
0097 
0098 if [ "${arg/run}" != "$arg" ]; then
0099     $bin
0100     [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0101 fi
0102 
0103 if [ "${arg/dbg}" != "$arg" ]; then
0104     source dbg__.sh
0105     [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 3
0106 fi
0107 
0108 if [ "${arg/grab}" != "$arg" ]; then
0109    [ -z "$FOLD" ] && echo $BASH_SOURCE grab error no FOLD $FOLD && exit 2
0110    source ../../bin/rsync.sh $FOLD
0111    [ $? -ne 0 ] && echo $BASH_SOURCE grab error && exit 2
0112 fi
0113 
0114 if [ "${arg/ana}" != "$arg" ]; then
0115     ${PYTHON:-python} $script
0116     [ $? -ne 0 ] && echo $BASH_SOURCE ana error && exit 4
0117 fi
0118 
0119 if [ "${arg/pdb}" != "$arg" ]; then
0120     ${IPYTHON:-ipython} --pdb -i $script
0121     [ $? -ne 0 ] && echo $BASH_SOURCE pdb error && exit 4
0122 fi
0123 
0124 if [ "$arg" == "pvcap" -o "$arg" == "pvpub" -o "$arg" == "mpcap" -o "$arg" == "mppub" ]; then
0125     export CAP_BASE=$FOLD/figs
0126     export CAP_REL=U4Mesh_test2
0127     export CAP_STEM=U4Mesh_test2_${GEOM}
0128     case $arg in
0129        pvcap) source pvcap.sh cap  ;;
0130        mpcap) source mpcap.sh cap  ;;
0131        pvpub) source pvcap.sh env  ;;
0132        mppub) source mpcap.sh env  ;;
0133     esac
0134 
0135     if [ "$arg" == "pvpub" -o "$arg" == "mppub" ]; then
0136         source epub.sh
0137     fi
0138 fi
0139 
0140 
0141 exit 0
0142 
0143