File indexing completed on 2026-04-09 07:49:02
0001
0002 usage(){ cat << EOU
0003 cxs_min.sh : minimal executable and script for shakedown
0004 ============================================================
0005
0006 Uses ~oneline main::
0007
0008 CSGOptiX::SimulateMain();
0009
0010 Usage::
0011
0012 ~/o/cxs_min.sh
0013 ~/o/cxs_min.sh info
0014 ~/o/cxs_min.sh run
0015 ~/o/cxs_min.sh report
0016
0017
0018
0019 This script is used for many purposes in development and testing
0020 making it require understanding and often editing before use,
0021 plus the setting of the TEST envvar to select the type of
0022 test to perform.
0023
0024 This script runs the CSGOptiXSMTest executable which has no Geant4 dependency,
0025 so it is restricted to purely optical running and loads the persisted CSGFoundry
0026 from ~/.opticks/GEOM/$GEOM/CSGFoundry using GEOM envvar
0027 set by ~/.opticks/GEOM/GEOM.sh
0028
0029 This script is most commonly used for "torch" running where initial photons
0030 are generated in simple patterns and with numbers of photons configured by the
0031 script. Input photons and input gensteps can also be configured. Small scans
0032 simulating multiple events with varying numbers of photons can also be configured,
0033 often simply by selecting a TEST envvar value.
0034
0035
0036 Examples::
0037
0038 TEST=vvlarge_evt ~/o/cxs_min.sh
0039
0040
0041
0042
0043
0044 Debug::
0045
0046 BP=SEvt::SEvt ~/opticks/CSGOptiX/cxs_min.sh
0047 BP=SEvent::MakeTorchGenstep ~/opticks/CSGOptiX/cxs_min.sh
0048
0049 Analysis/Plotting::
0050
0051 ~/o/cxs_min.sh grab
0052 EVT=A000 ~/o/cxs_min.sh ana
0053
0054 MODE=2 SEL=1 ~/o/cxs_min.sh ana
0055 EVT=A005 ~/o/cxs_min.sh ana
0056 EVT=A010 ~/o/cxs_min.sh ana
0057
0058 PLOT=scatter MODE=3 ~/o/cxs_min.sh pvcap
0059
0060 Monitor for GPU memory leaks::
0061
0062 ~/o/sysrap/smonitor.sh build_run
0063
0064 TEST=large_scan ~/o/cxs_min.sh
0065
0066
0067
0068 ~/o/sysrap/smonitor.sh grab
0069 ~/o/sysrap/smonitor.sh ana
0070
0071
0072 pdb1
0073 ipython cxs_min.py
0074
0075 pdb0
0076 as pdb1 with MODE=0 for no pyvista or matplotlib usage
0077 useful for loading/examining the SEvt with ipython
0078 from anywhere
0079
0080 EOU
0081 }
0082
0083 vars=""
0084 SDIR=$(dirname $(realpath $BASH_SOURCE))
0085
0086 vars="$vars BASH_SOURCE SDIR"
0087
0088 case $(uname) in
0089 Linux) defarg=run_report_info ;;
0090 Darwin) defarg=ana ;;
0091 esac
0092
0093 [ -n "$BP" ] && defarg=dbg
0094 [ -n "$PLOT" ] && defarg=ana
0095
0096 arg=${1:-$defarg}
0097 allarg=info_env_fold_run_dbg_meta_report_grab_grep_gevt_du_pdb1_pdb0_AB_ana_pvcap_pvpub_mpcap_mppub
0098 vars="$vars defarg arg allarg"
0099
0100
0101 bin=CSGOptiXSMTest
0102 script=$SDIR/cxs_min.py
0103 script_AB=$SDIR/cxs_min_AB.py
0104 vars="$vars bin script script_AB"
0105
0106
0107 External_CFBaseFromGEOM=${GEOM}_CFBaseFromGEOM
0108 if [ -n "$GEOM" -a -n "${!External_CFBaseFromGEOM}" -a -d "${!External_CFBaseFromGEOM}" -a -f "${!External_CFBaseFromGEOM}/CSGFoundry/prim.npy" ]; then
0109 echo $BASH_SOURCE - External GEOM setup detected
0110 vv="External_CFBaseFromGEOM ${External_CFBaseFromGEOM}"
0111 for v in $vv ; do printf "%40s : %s \n" "$v" "${!v}" ; done
0112 else
0113
0114 source ~/.opticks/GEOM/GEOM.sh
0115
0116 fi
0117
0118 vars="$vars GEOM"
0119
0120 tmp=/tmp/$USER/opticks
0121 export TMP=${TMP:-$tmp}
0122 export EVT=${EVT:-A000}
0123 export BASE=$TMP/GEOM/$GEOM
0124 export BINBASE=$BASE/$bin
0125 export SCRIPT=$(basename $BASH_SOURCE)
0126
0127 vars="$vars TMP EVT BASE BINBASE SCRIPT"
0128
0129 vars="$vars ${GEOM}_CFBaseFromGEOM ${GEOM}_GDMLPathFromGEOM"
0130
0131
0132
0133
0134
0135 knobs()
0136 {
0137 type $FUNCNAME
0138
0139 local exceptionFlags
0140 local debugLevel
0141 local optLevel
0142
0143
0144 exceptionFlags=NONE
0145
0146
0147 debugLevel=NONE
0148
0149
0150
0151
0152 optLevel=LEVEL_3
0153
0154
0155
0156 export PIP__CreatePipelineOptions_exceptionFlags=$exceptionFlags
0157 export PIP__CreateModule_debugLevel=$debugLevel
0158 export PIP__linkPipeline_debugLevel=$debugLevel
0159 export PIP__CreateModule_optLevel=$optLevel
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169 }
0170
0171
0172
0173
0174 version=98
0175
0176 export VERSION=${VERSION:-$version}
0177
0178
0179 vars="$vars version VERSION"
0180
0181
0182
0183
0184
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199 test=input_photon_poolcover_refine
0200
0201
0202
0203
0204
0205
0206 export TEST=${TEST:-$test}
0207
0208
0209
0210
0211
0212 case $(uname) in
0213 Darwin) ctx=Debug_Philox ;;
0214 Linux) ctx=$(TEST=ContextString sbuild_test) ;;
0215 esac
0216
0217 export OPTICKS_EVENT_NAME=${ctx}_${TEST}
0218
0219
0220
0221 opticks_event_reldir=ALL${VERSION:-0}_${OPTICKS_EVENT_NAME:-none}
0222 export OPTICKS_EVENT_RELDIR='ALL${VERSION:-0}_${OPTICKS_EVENT_NAME:-none}'
0223
0224
0225 vars="$vars test TEST opticks_event_reldir OPTICKS_EVENT_RELDIR"
0226
0227 case $TEST in
0228 ref10_multilaunch) alt_TEST=ref10_onelaunch ;;
0229 ref10_onelaunch) alt_TEST=ref10_multilaunch ;;
0230 esac
0231
0232 alt_opticks_event_reldir=ALL${VERSION:-0}_${alt_TEST}
0233 vars="$vars alt_TEST alt_opticks_event_reldir"
0234
0235
0236
0237 export LOGDIR=$BINBASE/$opticks_event_reldir
0238 export AFOLD=$BINBASE/$opticks_event_reldir/$EVT
0239 export STEM=${opticks_event_reldir}_${PLOT}
0240
0241
0242
0243
0244
0245
0246
0247 BFOLD_NOTE="defining BFOLD makes python script do SAB comparison"
0248
0249 mkdir -p $LOGDIR
0250 cd $LOGDIR
0251 LOGFILE=$bin.log
0252
0253 vars="$vars LOGDIR AFOLD BFOLD BFOLD_NOTE STEM LOGFILE"
0254
0255
0256 case $VERSION in
0257 0) opticks_event_mode=Minimal ;;
0258 1) opticks_event_mode=Hit ;;
0259 2) opticks_event_mode=HitPhoton ;;
0260 3) opticks_event_mode=HitPhoton ;;
0261 4) opticks_event_mode=HitPhotonSeq ;;
0262 5) opticks_event_mode=HitSeq ;;
0263 98) opticks_event_mode=DebugLite ;;
0264 99) opticks_event_mode=DebugHeavy ;;
0265 esac
0266
0267 vars="$vars opticks_event_mode"
0268
0269
0270 if [ "$TEST" == "debug" ]; then
0271
0272 opticks_num_event=1
0273 opticks_num_genstep=1
0274 opticks_num_photon=100
0275 opticks_running_mode=SRM_TORCH
0276
0277
0278 elif [ "$TEST" == "ref1" ]; then
0279
0280 opticks_num_event=1
0281 opticks_num_genstep=10
0282 opticks_num_photon=M1
0283 opticks_running_mode=SRM_TORCH
0284 opticks_max_slot=M1
0285
0286 elif [ "$TEST" == "ref5" -o "$TEST" == "ref6" -o "$TEST" == "ref7" -o "$TEST" == "ref8" -o "$TEST" == "ref9" -o "$TEST" == "ref10" ]; then
0287
0288 opticks_num_event=1
0289 opticks_num_genstep=1
0290 opticks_num_photon=M${TEST:3}
0291 opticks_running_mode=SRM_TORCH
0292 opticks_max_slot=M${TEST:3}
0293
0294 elif [ "$TEST" == "refX" ]; then
0295
0296 opticks_num_event=1
0297 opticks_num_genstep=1
0298 opticks_num_photon=${X:-7500000}
0299 opticks_running_mode=SRM_TORCH
0300 opticks_max_slot=$opticks_num_photon
0301
0302 elif [ "$TEST" == "ref10_multilaunch" -o "$TEST" == "ref10_onelaunch" ]; then
0303
0304 opticks_num_event=1
0305 opticks_num_genstep=10
0306 opticks_num_photon=M10
0307 opticks_running_mode=SRM_TORCH
0308
0309
0310
0311
0312
0313 case $TEST in
0314 *multilaunch) opticks_max_slot=M1 ;;
0315 *onelaunch) opticks_max_slot=M10 ;;
0316 esac
0317
0318
0319
0320 elif [ "$TEST" == "tiny_scan" ]; then
0321
0322 opticks_num_event=10
0323 opticks_num_genstep=1x10
0324 opticks_num_photon=K1:10
0325 opticks_running_mode=SRM_TORCH
0326
0327
0328 elif [ "$TEST" == "large_scan" ]; then
0329
0330 opticks_num_event=20
0331 opticks_num_genstep=1x20
0332 opticks_num_photon=H1:10,M2,3,5,7,10,20,40,60,80,100
0333 opticks_running_mode=SRM_TORCH
0334
0335
0336 elif [ "$TEST" == "medium_scan" ]; then
0337
0338 opticks_num_event=12
0339 opticks_num_genstep=1x12
0340 opticks_num_photon=M1,1,10,20,30,40,50,60,70,80,90,100
0341 opticks_running_mode=SRM_TORCH
0342
0343
0344
0345
0346
0347
0348
0349 elif [ "$TEST" == "larger_scan" ]; then
0350
0351 opticks_num_event=22
0352 opticks_num_genstep=1x22
0353 opticks_num_photon=M1,1,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200
0354 opticks_running_mode=SRM_TORCH
0355
0356
0357
0358
0359 elif [ "$TEST" == "large_evt" ]; then
0360
0361 opticks_num_event=1
0362 opticks_num_genstep=10
0363 opticks_num_photon=M200
0364 opticks_running_mode=SRM_TORCH
0365
0366
0367
0368
0369 elif [ "$TEST" == "vlarge_evt" ]; then
0370
0371 opticks_num_event=1
0372 opticks_num_genstep=20
0373 opticks_num_photon=M500
0374 opticks_running_mode=SRM_TORCH
0375
0376
0377
0378 elif [ "$TEST" == "vvlarge_evt" ]; then
0379
0380 opticks_num_event=1
0381 opticks_num_genstep=40
0382 opticks_num_photon=G1
0383 opticks_running_mode=SRM_TORCH
0384
0385 elif [ "$TEST" == "input_genstep" ]; then
0386
0387 opticks_num_event=1000
0388 opticks_num_genstep=
0389 opticks_num_photon=
0390 opticks_running_mode=SRM_INPUT_GENSTEP
0391
0392
0393
0394 elif [ "$TEST" == "input_genstep_muon" ]; then
0395
0396 opticks_num_event=1
0397 opticks_num_genstep=
0398 opticks_num_photon=
0399 opticks_running_mode=SRM_INPUT_GENSTEP
0400
0401
0402 opticks_max_slot=M1
0403
0404
0405
0406
0407
0408
0409 elif [ "${TEST:0:12}" == "input_photon" ]; then
0410
0411 opticks_num_event=1
0412 opticks_num_genstep=
0413 opticks_num_photon=
0414 opticks_running_mode=SRM_INPUT_PHOTON
0415 opticks_max_slot=M3
0416
0417 if [ "${TEST:12}" == "_chimney" ]; then
0418
0419 sevt__input_photon_dir=$TMP/SGenerate__test
0420
0421 opticks_input_photon=SGenerate_ph_disc_K1.npy
0422
0423 opticks_input_photon_frame=sChimneyLS:0:-2
0424
0425
0426 elif [ "${TEST:12}" == "_nnvt" ]; then
0427
0428
0429 sevt__input_photon_dir=$HOME/.opticks/InputPhotons
0430
0431 opticks_input_photon=RainXZ_Z230_100k_f8.npy
0432
0433
0434
0435
0436 opticks_input_photon_frame=NNVT:0:0
0437
0438
0439
0440 elif [ "${TEST:12}" == "_wp_pmt" ]; then
0441
0442 sevt__input_photon_dir=$HOME/.opticks/InputPhotons
0443 opticks_input_photon=RainXZ_Z230_100k_f8.npy
0444 opticks_input_photon_frame=PMT_20inch_veto:0:1000
0445
0446
0447
0448 elif [ "${TEST:12}" == "_wp_pmt_side" ]; then
0449
0450 sevt__input_photon_dir=$HOME/.opticks/InputPhotons
0451 opticks_input_photon=SideZX_X300_100k_f8.npy
0452 opticks_input_photon_frame=PMT_20inch_veto:0:1000
0453
0454 elif [ "${TEST:12}" == "_wp_pmt_semi" ]; then
0455
0456 sevt__input_photon_dir=$HOME/.opticks/InputPhotons
0457 opticks_input_photon=SemiCircleXZ_R-500_100k_f8.npy
0458 opticks_input_photon_frame=PMT_20inch_veto:0:1000
0459
0460 elif [ "${TEST:12}" == "_poolcover" -o "${TEST:12}" == "_poolcover_refine" ]; then
0461
0462 sevt__input_photon_dir=$HOME/.opticks/InputPhotons
0463
0464 opticks_input_photon=CircleXZ_R500_100k_f8.npy
0465
0466
0467 opticks_input_photon_frame=3345.569,20623.73,21000
0468
0469
0470 export SEvt__transformInputPhoton_VERBOSE=1
0471 export CSGFoundry__getFrame_VERBOSE=1
0472 export CSGFoundry__getFrameE_VERBOSE=1
0473
0474 if [ "${TEST/refine}" != "$TEST" ]; then
0475 export OPTICKS_PROPAGATE_REFINE=1
0476 else
0477 unset OPTICKS_PROPAGATE_REFINE
0478 fi
0479
0480
0481 elif [ "${TEST:12}" == "_s_pmt" ]; then
0482
0483 sevt__input_photon_dir=$HOME/.opticks/InputPhotons
0484 opticks_input_photon=RainXZ_Z230_X25_100k_f8.npy
0485 opticks_input_photon_frame=PMT_3inch:0:0
0486
0487 elif [ "${TEST:12}" == "_target" ]; then
0488
0489
0490
0491
0492
0493
0494 opticks_input_photon_frame=sTarget
0495
0496 else
0497 echo $BASH_SOURCE : ERROR TEST [$TEST] SUFFIX AFTER input_photon [${TEST:12}] IS NOT HANDLED
0498 exit 1
0499 fi
0500
0501 else
0502
0503 echo $BASH_SOURCE : ERROR TEST $TEST IS NOT HANDLED
0504 exit 1
0505
0506 fi
0507
0508 vars="$vars opticks_num_event opticks_num_genstep opticks_num_photon opticks_running_mode opticks_max_slot"
0509
0510
0511
0512
0513
0514
0515
0516 opticks_start_index=0
0517
0518 opticks_max_bounce=63
0519 opticks_integration_mode=1
0520
0521
0522
0523
0524 opticks_hit_mask=EC
0525 export OPTICKS_HIT_MASK=${OPTICKS_HIT_MASK:-$opticks_hit_mask}
0526
0527 export OPTICKS_NUM_EVENT=${OPTICKS_NUM_EVENT:-$opticks_num_event}
0528 export OPTICKS_NUM_GENSTEP=${OPTICKS_NUM_GENSTEP:-$opticks_num_genstep}
0529 export OPTICKS_NUM_PHOTON=${OPTICKS_NUM_PHOTON:-$opticks_num_photon}
0530
0531 export OPTICKS_RUNNING_MODE=${OPTICKS_RUNNING_MODE:-$opticks_running_mode}
0532 export OPTICKS_EVENT_MODE=${OPTICKS_EVENT_MODE:-$opticks_event_mode}
0533
0534 export OPTICKS_MAX_PHOTON=${OPTICKS_MAX_PHOTON:-$opticks_max_photon}
0535
0536 export OPTICKS_MAX_BOUNCE=${OPTICKS_MAX_BOUNCE:-$opticks_max_bounce}
0537 export OPTICKS_START_INDEX=${OPTICKS_START_INDEX:-$opticks_start_index}
0538 export OPTICKS_INTEGRATION_MODE=${OPTICKS_INTEGRATION_MODE:-$opticks_integration_mode}
0539
0540
0541 vars="$vars version VERSION opticks_event_mode OPTICKS_EVENT_MODE OPTICKS_NUM_PHOTON OPTICKS_NUM_GENSTEP OPTICKS_MAX_PHOTON OPTICKS_NUM_EVENT OPTICKS_RUNNING_MODE"
0542
0543 export OPTICKS_MAX_CURAND=$opticks_max_curand
0544 export OPTICKS_MAX_SLOT=$opticks_max_slot
0545 vars="$vars OPTICKS_MAX_CURAND OPTICKS_MAX_SLOT"
0546
0547
0548 if [ "$OPTICKS_RUNNING_MODE" == "SRM_INPUT_GENSTEP" ]; then
0549
0550
0551
0552 igs=$HOME/.opticks/crash_muon_igs.npy
0553
0554 if [ "${igs/\%}" != "$igs" ]; then
0555 igs0=$(printf "$igs" 0)
0556 else
0557 igs0=$igs
0558 fi
0559 [ ! -f "$igs0" ] && echo $BASH_SOURCE : FATAL : NO SUCH PATH : igs0 $igs0 igs $igs && exit 1
0560 export OPTICKS_INPUT_GENSTEP=$igs
0561 export OPTICKS_START_INDEX=6
0562
0563
0564 elif [ "$OPTICKS_RUNNING_MODE" == "SRM_INPUT_PHOTON" ]; then
0565
0566
0567
0568 export SEvt__INPUT_PHOTON_DIR=${SEvt__INPUT_PHOTON_DIR:-$sevt__input_photon_dir}
0569 export OPTICKS_INPUT_PHOTON=${OPTICKS_INPUT_PHOTON:-$opticks_input_photon};
0570 export OPTICKS_INPUT_PHOTON_FRAME=${OPTICKS_INPUT_PHOTON_FRAME:-$opticks_input_photon_frame}
0571
0572 ippath=${SEvt__INPUT_PHOTON_DIR}/${OPTICKS_INPUT_PHOTON}
0573 if [ ! -f "$ippath" ]; then
0574 echo $BASH_SOURCE - ERROR ippath [$ippath] DOES NOT EXIST
0575 exit 1
0576 fi
0577
0578
0579
0580 vars="$vars SEvt__INPUT_PHOTON_DIR OPTICKS_INPUT_PHOTON OPTICKS_INPUT_PHOTON_FRAME"
0581
0582 elif [ "$OPTICKS_RUNNING_MODE" == "SRM_TORCH" ]; then
0583
0584
0585
0586
0587
0588
0589 src="sphere"
0590
0591 if [ "$src" == "rectangle" ]; then
0592 export storch_FillGenstep_pos=0,0,0
0593 export storch_FillGenstep_type=rectangle
0594 export storch_FillGenstep_zenith=-20,20
0595 export storch_FillGenstep_azimuth=-20,20
0596 elif [ "$src" == "disc" ]; then
0597 export storch_FillGenstep_type=disc
0598 export storch_FillGenstep_radius=50
0599 export storch_FillGenstep_zenith=0,1
0600 export storch_FillGenstep_azimuth=0,1
0601 export storch_FillGenstep_mom=1,0,0
0602 export storch_FillGenstep_pos=-80,0,0
0603 elif [ "$src" == "sphere" ]; then
0604 export storch_FillGenstep_type=sphere
0605 export storch_FillGenstep_radius=100
0606 export storch_FillGenstep_pos=0,0,0
0607 export storch_FillGenstep_distance=1.00
0608 fi
0609
0610
0611
0612 elif [ "$OPTICKS_RUNNING_MODE" == "SRM_GUN" ]; then
0613
0614 echo -n
0615
0616 fi
0617
0618
0619
0620
0621 logging(){
0622 export CSGFoundry=INFO
0623 export CSGOptiX=INFO
0624 export QEvt=INFO
0625 export QSim=INFO
0626
0627 export SEvt__GATHER=1
0628 export SEvt__SAVE=1
0629 }
0630 [ -n "$LOG" ] && logging
0631 [ -n "$LIFECYCLE" ] && export SEvt__LIFECYCLE=1
0632 [ -n "$MEMCHECK" ] && export QU__MEMCHECK=1
0633 [ -n "$MINIMAL" ] && export SEvt__MINIMAL=1
0634 [ -n "$MINTIME" ] && export SEvt__MINTIME=1
0635 [ -n "$INDEX" ] && export SEvt__INDEX=1
0636 [ -n "$RUNMETA" ] && export SEvt__RUNMETA=1
0637 [ -n "$CRASH" ] && export CSGOptiX__optixpath=$OPTICKS_PREFIX/ptx/objects-Debug/CSGOptiXOPTIX/CSGOptiX7.ptx
0638
0639 export QRng__init_VERBOSE=1
0640 export SEvt__MINIMAL=1
0641 export SEvt__MINTIME=1
0642
0643
0644
0645
0646
0647
0648
0649
0650
0651
0652
0653 if [ "${arg/info}" != "$arg" ]; then
0654 for var in $vars ; do printf "%-30s : %s \n" "$var" "${!var}" ; done
0655 fi
0656
0657 if [ "${arg/env}" != "$arg" ]; then
0658 env | grep OPTICKS | perl -n -e 'm/(\S*)=(\S*)/ && printf("%50s : %s\n", $1, $2) ' -
0659 fi
0660
0661 if [ "${arg/fold}" != "$arg" ]; then
0662 echo $AFOLD
0663 du -hs $AFOLD/*
0664 fi
0665
0666 if [ "${arg/run}" != "$arg" -o "${arg/dbg}" != "$arg" ]; then
0667
0668 knobs
0669
0670 if [ -f "$LOGFILE" ]; then
0671 echo $BASH_SOURCE : run : delete prior LOGFILE $LOGFILE
0672 rm "$LOGFILE"
0673 fi
0674
0675 if [ "${arg/run}" != "$arg" ]; then
0676 date +"%Y-%m-%d %H:%M:%S.%3N %N : [$BASH_SOURCE "
0677 $bin
0678 [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 1
0679 date +"%Y-%m-%d %H:%M:%S.%3N %N : ]$BASH_SOURCE "
0680 elif [ "${arg/dbg}" != "$arg" ]; then
0681 source dbg__.sh
0682 dbg__ $bin
0683 [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 1
0684 fi
0685 fi
0686
0687 if [ "${arg/meta}" != "$arg" ]; then
0688 if [ -f "run_meta.txt" -a -n "$OPTICKS_SCAN_INDEX" -a -d "$OPTICKS_SCAN_INDEX" ] ; then
0689 cp run_meta.txt $OPTICKS_SCAN_INDEX/run_meta.txt
0690 fi
0691 [ $? -ne 0 ] && echo $BASH_SOURCE meta error && exit 1
0692 fi
0693
0694
0695 if [ "${arg/report}" != "$arg" ]; then
0696 sreport
0697 [ $? -ne 0 ] && echo $BASH_SOURCE sreport error && exit 1
0698 fi
0699
0700 if [ "${arg/grab}" != "$arg" ]; then
0701 source $OPTICKS_HOME/bin/rsync.sh $LOGDIR
0702 fi
0703
0704 if [ "${arg/grep}" != "$arg" ]; then
0705 source $OPTICKS_HOME/bin/rsync.sh ${LOGDIR}_sreport
0706 fi
0707
0708 if [ "${arg/gevt}" != "$arg" ]; then
0709 source $OPTICKS_HOME/bin/rsync.sh $LOGDIR/$EVT
0710 fi
0711
0712
0713 if [ "${arg/du}" != "$arg" ]; then
0714 du -hs $AFOLD/*
0715 fi
0716
0717
0718 if [ "${arg/pdb}" != "$arg" ]; then
0719 ${IPYTHON:-ipython} --pdb -i $script
0720 fi
0721
0722 if [ "${arg/pdz}" != "$arg" ]; then
0723 MODE=0 ${IPYTHON:-ipython} --pdb -i $script
0724 fi
0725
0726 if [ "${arg/AB}" != "$arg" ]; then
0727 MODE=0 ${IPYTHON:-ipython} --pdb -i $script_AB
0728 fi
0729
0730 if [ "${arg/ana}" != "$arg" ]; then
0731 MODE=0 ${PYTHON:-python} $script
0732 fi
0733
0734
0735
0736 if [ "$arg" == "pvcap" -o "$arg" == "pvpub" -o "$arg" == "mpcap" -o "$arg" == "mppub" ]; then
0737 export CAP_BASE=$AFOLD/figs
0738 export CAP_REL=cxs_min
0739 export CAP_STEM=$STEM
0740 case $arg in
0741 pvcap) source pvcap.sh cap ;;
0742 mpcap) source mpcap.sh cap ;;
0743 pvpub) source pvcap.sh env ;;
0744 mppub) source mpcap.sh env ;;
0745 esac
0746 if [ "$arg" == "pvpub" -o "$arg" == "mppub" ]; then
0747 source epub.sh
0748 fi
0749 fi
0750