Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #!/bin/bash
0002 usage(){ cat << EOU
0003 cxr_scan.sh cxr_scan_elv.sh cxr_scan_emm.sh 
0004 ==============================================
0005 
0006 Repeats a script such as cxr_overview.sh with EMM or ELV
0007 envvar variation to change enabledmergedmesh(coarse) 
0008 or enabledlv(fine) 
0009 
0010 On GPU workstation::
0011 
0012     ~/o/CSGOptiX/cxr_scan.sh 
0013     ~/o/CSGOptiX/cxr_scan_emm.sh    ## symbolic link to this cxr_scan.sh script  
0014     ~/o/CSGOptiX/cxr_scan_elv.sh    ## symbolic link to this cxr_scan.sh script 
0015 
0016 Make table on workstation::
0017 
0018     CANDLE=1,2,3,4 ~/o/CSGOptiX/elv.sh txt
0019     CANDLE=t0      ~/o/CSGOptiX/elv.sh txt
0020     
0021 
0022 On laptop::
0023 
0024     ./cf_grab.sh    # grab remote CSGFoundry dir for metadata
0025     ./cxr_table.sh  # grab remote .jpg renders and .json sidecars and make RST table 
0026 
0027 +---+----------+------------------+------------------+-----------------------------------------------+
0028 |idx|        -e|       time(s)    |      relative    |    enabled geometry description 41c046fe      |
0029 +===+==========+==================+==================+===============================================+
0030 |  0|        5,|        0.0004    |        0.0004    |    ONLY: 1:sStrutBallhead                     |
0031 +---+----------+------------------+------------------+-----------------------------------------------+
0032 |  1|        9,|        0.0006    |        0.0006    |    ONLY: 130:sPanel                           |
0033 +---+----------+------------------+------------------+-----------------------------------------------+
0034 |  2|        7,|        0.0006    |        0.0006    |    ONLY: 1:base_steel                         |
0035 +---+----------+------------------+------------------+-----------------------------------------------+
0036 |  3|        8,|        0.0007    |        0.0007    |    ONLY: 1:uni_acrylic1                       |
0037 +---+----------+------------------+------------------+-----------------------------------------------+
0038 |  4|        6,|        0.0008    |        0.0008    |    ONLY: 1:uni1                               |
0039 +---+----------+------------------+------------------+-----------------------------------------------+
0040 |  5|        1,|        0.0010    |        0.0010    |    ONLY: 5:PMT_3inch_pmt_solid                |
0041 +---+----------+------------------+------------------+-----------------------------------------------+
0042 |  6|        4,|        0.0020    |        0.0020    |    ONLY: 5:mask_PMT_20inch_vetosMask_virtual  |
0043 +---+----------+------------------+------------------+-----------------------------------------------+
0044 |  7|        3,|        0.0048    |        0.0048    |    ONLY: 6:HamamatsuR12860sMask_virtual       |
0045 +---+----------+------------------+------------------+-----------------------------------------------+
0046 |  8|        2,|        0.0050    |        0.0050    |    ONLY: 7:NNVTMCPPMTsMask_virtual            |
0047 +---+----------+------------------+------------------+-----------------------------------------------+
0048 |  9|        0,|        0.0068    |        0.0068    |    ONLY: 3089:sWorld                          |
0049 +---+----------+------------------+------------------+-----------------------------------------------+
0050 | 10|        t0|        0.0123    |        0.0123    |    ALL                                        |
0051 +---+----------+------------------+------------------+-----------------------------------------------+
0052 
0053 EOU
0054 }
0055 
0056 cd $(dirname $(realpath $BASH_SOURCE))
0057 thisname=$(basename $BASH_SOURCE)
0058 thisstem=${thisname/.sh}
0059 
0060 
0061 source $HOME/.opticks/GEOM/GEOM.sh 
0062 cfd=$HOME/.opticks/GEOM/$GEOM/CSGFoundry
0063 
0064 if [ ! -f "$cfd/mmlabel.txt" ]; then 
0065    echo $BASH_SOURCE : ERROR cfd $cfd GEOM $GEOM   
0066    exit 1 
0067 fi 
0068 
0069 
0070 nmm=$(wc -l < $cfd/mmlabel.txt)
0071 nlv=$(wc -l < $cfd/meshname.txt)
0072 nmm=$(( $nmm - 1 ))
0073 nlv=$(( $nlv - 1 ))
0074 # seq from zero needs NMM and NLV as maximum inclusive index, not counts, so they need to be num-1    
0075 
0076 NMM=${NMM:-$nmm}   # geometry specific 
0077 NLV=${NLV:-$nlv}
0078 
0079 
0080 case $thisstem in 
0081    cxr_scan_elv) script=cxr_view ;;
0082    cxr_scan_emm) script=cxr_overview ;;
0083 esac
0084 
0085 unset SCRIPT
0086 export SCRIPT=${SCRIPT:-$script}
0087 
0088 case $thisstem in 
0089    cxr_scan_elv) scan=scan-elv ;;
0090    cxr_scan_emm) scan=scan-emm ;;
0091 esac
0092 
0093 unset SCAN
0094 export SCAN=$scan
0095 
0096 vars="0 BASH_SOURCE GEOM cfd nmm nlv NMM NLV script SCRIPT thisname thisstem scan SCAN vars"
0097 for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0098 
0099 
0100 scan-emm-()
0101 {
0102     echo "t0"        # ALL 
0103     echo "1,2,3,4"   # ONLY PMTs
0104 
0105     #for e in $(seq 0 $NMM) ; do echo  "$e," ; done    # enabling each solid one-by-one
0106     #for e in $(seq 0 $NMM) ; do echo "t$e," ; done    # disabling each solid one-by-one
0107     #for e in $(seq 0 $NMM) ; do echo "t8,$e" ; done   # disabling 8 and each solid one by-by-one
0108     #for e in $(seq 0 $NMM) ; do echo "t0,$e" ; done   # disabling 0 and each solid one by-by-one
0109 }
0110 
0111 scan-elv-()
0112 {
0113     echo "t"    # ALL : for the candle 
0114 
0115     for e in $(seq 0 $NLV) ; do echo "t$e" ; done    # disabling each midx one-by-one
0116     #for e in $(seq 0 $NLV) ; do echo "$e" ; done     # enabling each midx one-by-one
0117 }
0118 
0119 scan-emm()
0120 {
0121     local e 
0122     for e in $(scan-emm-) ; do 
0123         EMM=$e ./$SCRIPT.sh $*
0124     done 
0125 }
0126 
0127 scan-elv()
0128 {
0129     local e 
0130     for e in $(scan-elv-) ; do 
0131         ELV=$e ./$SCRIPT.sh $*
0132     done 
0133 }
0134 
0135 if [ "$SCAN" == "scan-emm" ]; then
0136     scan-emm
0137 elif [ "$SCAN" == "scan-elv" ]; then
0138     scan-elv
0139 else
0140     echo DONT RUN cxr_scan.sh instead run one of the symbolic links cxr_scan_elv.sh cxr_scan_emm.sh 
0141 fi 
0142