7 # ------------------------------------------------------------------------------------------
 
    9 #                        Auxiliary script for Gedanken experiment.
 
   11 # ------------------------------------------------------------------------------------------
 
   13 if [ -z $JPP_DIR ]; then
 
   14     echo "Variable JPP_DIR undefined."
 
   18 source $JPP_DIR/setenv.sh $JPP_DIR
 
   22 set_variable:  DEBUG             SIRENE_DEBUG        2
 
   23 set_variable:  WORKDIR           SIRENE_WORKDIR      ${TMPDIR:-/tmp}/
 
   24 set_variable   NUMBER_OF_EVENTS  1000000
 
   30 set_variable   MODULE            $R_M 0.0 $Z_M               # position
 
   34 set_variable   E_GEV             20                          # energy
 
   35 set_variable   POS               0.0 0.0 0.0                 # position 
 
   36 set_variable   DIR               0.0 0.0 1.0                 # direction
 
   37 set_variable   TYPE              13                          # PDG
 
   41 set_variable:  FORMAT            GRAPHICS_FORMAT     gif
 
   42 set_variable+  BATCH             GRAPHICS_BATCH      -B
 
   45     usage "$script [number of events]"
 
   49     1) set_variable  NUMBER_OF_EVENTS  $1;;
 
   52 set_variable   DETECTOR          $WORKDIR/detector.detx
 
   54 if [[ ! -f $DETECTOR ]]; then
 
   64 if [[ ! -f $WORKDIR/gedanken.root ]]; then
 
   66     $JPP_DIR/examples/JSirene/JGedanken \
 
   67         -o $WORKDIR/gedanken.root           \
 
   72         -n $NUMBER_OF_EVENTS                \
 
   77 if [[ ! -f $WORKDIR/sirene.root ]]; then
 
   81         -f $WORKDIR/gedanken.root           \
 
   82         -o $WORKDIR/sirene.root             \
 
   83         -F $JPP_DATA/I%p.dat                \
 
   88 if [[ ! -f $WORKDIR/domino.root ]]; then
 
   90     $JPP_DIR/examples/JSirene/JDomino \
 
   92         -f $WORKDIR/sirene.root             \
 
   93         -o $WORKDIR/domino.root             \
 
   98     -f $WORKDIR/"domino.root:h\[%\]"    \
 
   99     -y "1.0e-6 1.0e0" -Y                \
 
  104     -o pdf.$FORMAT                      $BATCH
 
  106 set_variable   PDF        $JPP_DATA/J%p.dat
 
  107 set_variable   EPS        1.0E-6
 
  108 set_variable   PI         $((acos(-1)))
 
  110 # constrain angle between [epsilon, pi - epsilon]
 
  114     if   (( $1 > $PI - $EPS )); then
 
  116     elif (( $1 < $EPS )); then
 
  123 for id in {1..31}; do
 
  125     echo "Generating graphics PMT $id"
 
  127     getPMT -a $DETECTOR -p $id  |  read ID X Y Z DX DY DZ T0 STATUS
 
  129     let "THETA = acos($DZ)"
 
  131     if   (( $DX > +$EPS )); then
 
  132         let "PHI = atan(fabs($DY/$DX))"
 
  133     elif (( $DX < -$EPS )); then
 
  134         let "PHI = $PI - atan(fabs($DY/$DX))"
 
  139     set_variable THETA  `constrain $THETA`
 
  140     set_variable PHI    `constrain $PHI`
 
  152         -o $WORKDIR/f1\[${id}\].root
 
  154     set_variable  TITLE `printf "PMT[%d] (%5.3f,%5.3f)" $id $THETA $PHI`
 
  157         -f $WORKDIR/"domino.root:h\[${id}\]"  \
 
  158         -f $WORKDIR/f1\[${id}\].root:h0       \
 
  159         -y "1.0e-6 1.0e0" -Y                  \
 
  164         -o $WORKDIR/pdf_${id}.$FORMAT         $BATCH
 
  170     $WORKDIR/pdf_{1..31}.$FORMAT                \
 
  171     PDF.$FORMAT                                 >& /dev/null