PageRenderTime 62ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/Multiprocess/P5/RunGarf_P5.sh

https://bitbucket.org/shaboinkin/mu2e-toolkit
Shell | 203 lines | 154 code | 29 blank | 20 comment | 13 complexity | b2cfbea8a28290683063ade939788ca0 MD5 | raw file
  1. ####################################################
  2. # Probably an overly complicated approach #
  3. # to multiprocessing...BUT IT SHALL BE DONE!!! #
  4. # #
  5. # Created By: Daniel Kulas #
  6. # 7/17/12 #
  7. # For: ConnectPrograms.sh #
  8. # mu2e #
  9. ####################################################
  10. #THINGS TO NOTE!!!!!!!!!!!!
  11. # $1 = iterations parameter
  12. # $2 = signal selection parameter
  13. ##inits##
  14. mPATH=$HOME/mu2e_toolkit_3.0
  15. mutliPATH=$mPATH/Multiprocess
  16. P5=$mutliPATH/P5
  17. rPATH=$mPATH/root
  18. stoPATH=$rPATH/data_storage
  19. gPATH=$P5/garfield/
  20. fPATH=$P5/formatting
  21. gFORMATTING=$fPATH/gFiles/Storage/
  22. sFORMATTING=$fPATH/sFiles/Storage/
  23. sPATH=$P5/spice/Preamp
  24. sPATH_ELEC=$sPATH/electrons/
  25. sPATH_PROT=$sPATH/protons/
  26. sPATH_GAMM=$sPATH/gammas/
  27. #################################################
  28. ########change energy files######################
  29. GARF_FILE_E="signalSr90_electron.dat"
  30. GARF_FILE_G="signalSr90_gamma.dat"
  31. GARF_FILE_P="signalSr90_proton.dat"
  32. GARF_FILE_E_2="signalSr90_electron2.dat"
  33. GARF_FILE_G_2="signalSr90_gamma2.dat"
  34. GARF_FILE_P_2="signalSr90_proton2.dat"
  35. GARF_FILE_E_NEW="signalSr90_electron_new.dat"
  36. GARF_FILE_G_NEW="signalSr90_gamma_new.dat"
  37. GARF_FILE_P_NEW="signalSr90_proton_new.dat"
  38. #################################################
  39. #################################################
  40. SIGDAT="signal.dat"
  41. OUT="output.dat"
  42. TOTAL=105
  43. find $gPATH -name '*.dat' -exec rm {} \;
  44. find $sFORMATTING -name '*.dat' -exec rm {} \;
  45. find $sPATH_ELEC -name '*.dat' -exec rm {} \;
  46. find $sPATH_GAMM -name '*.dat' -exec rm {} \;
  47. find $sPATH_PROT -name '*.dat' -exec rm {} \;
  48. if [ "$2" = "E" -o "$2" = "e" ];
  49. then
  50. cd $gPATH
  51. echo "Please wait while data is being generated"
  52. for(( c=1; c<=$1; c++))
  53. do
  54. energy=$(( $RANDOM % TOTAL +1))
  55. ./ModGarf_elec $energy
  56. garfield-9 < "signalrndSr90_electron.in" >/dev/null 2>&1
  57. tail -n +2 $GARF_FILE_E > $GARF_FILE_E_2
  58. ./CombineOutputs_elec $GARF_FILE_E_2
  59. rm $GARF_FILE_E_2
  60. rm $GARF_FILE_E
  61. done
  62. #running the CombineOutputs file will change the name back into signalSr90_electron_new.dat
  63. if [ -f $GARF_FILE_E_NEW ];
  64. then
  65. mv $gPATH$GARF_FILE_E_NEW $gFORMATTING
  66. cd $gFORMATTING
  67. ./FormatFiles $GARF_FILE_E_NEW
  68. #move original file back to where it was generated at, prevents errors
  69. mv $GARF_FILE_E_NEW $gPATH
  70. #move all .dat files from $gFORMATTING to $sFORMATTING to be processed
  71. find $gFORMATTING -name '*.dat' -exec mv {} $sFORMATTING \;
  72. cd $sFORMATTING
  73. echo "Spicing it up P5"
  74. find ./ -type f -name \*.dat | while read file
  75. do
  76. $sFORMATTING./Garfield2Spice $file
  77. mv $SIGDAT $sPATH_ELEC
  78. cd $sPATH_ELEC
  79. ngspice Preamp.net >/dev/null 2>&1
  80. PID=$! >/dev/null 2>&1
  81. sleep .15 >/dev/null 2>&1
  82. kill -HUP $PID >/dev/null 2>&1
  83. ./CombineOutputs output.dat
  84. cd $sFORMATTING
  85. done
  86. echo "Done spicing it P5"
  87. sleep .14
  88. else
  89. echo "No .dat generated"
  90. fi
  91. elif [ "$2" = "G" -o "$2" = "g" ];
  92. then
  93. cd $gPATH
  94. echo "Please wait while data is being generated"
  95. for(( c=1; c<=$1; c++))
  96. do
  97. energy=$(( $RANDOM % TOTAL +1))
  98. ./ModGarf_gamm $energy
  99. garfield-9 < "signalrndSr90_gamma.in" >/dev/null 2>&1
  100. tail -n +2 $GARF_FILE_G > $GARF_FILE_G_2
  101. ./CombineOutputs_gamm $GARF_FILE_G_2
  102. rm $GARF_FILE_G_2
  103. rm $GARF_FILE_G
  104. done
  105. if [ -f $GARF_FILE_G_NEW ];
  106. then
  107. mv $gPATH$GARF_FILE_G_NEW $gFORMATTING
  108. cd $gFORMATTING
  109. ./FormatFiles $GARF_FILE_G_NEW
  110. mv $GARF_FILE_G_NEW $gPATH
  111. find $gFORMATTING -name '*.dat' -exec mv {} $sFORMATTING \;
  112. cd $sFORMATTING
  113. echo "Spicing it up P5"
  114. find ./ -type f -name \*.dat | while read file
  115. do
  116. $sFORMATTING./Garfield2Spice $file
  117. mv $SIGDAT $sPATH_GAMM
  118. cd $sPATH_GAMM
  119. ngspice Preamp.net >/dev/null 2>&1
  120. PID=$! >/dev/null 2>&1
  121. sleep .15 >/dev/null 2>&1
  122. kill -HUP $PID >/dev/null 2>&1
  123. ./CombineOutputs output.dat
  124. cd $sFORMATTING
  125. done
  126. echo "Done spicing it P5"
  127. sleep .14
  128. else
  129. echo "No .dat generated"
  130. fi
  131. elif [ "$2" = "P" -o "$2" = "p" ];
  132. then
  133. cd $gPATH
  134. echo "Please wait while data is being generated"
  135. for(( c=1; c<=$1; c++))
  136. do
  137. energy=$(( $RANDOM % TOTAL +1))
  138. ./ModGarf_prot $energy
  139. garfield-9 < "signalrndSr90_proton.in" >/dev/null 2>&1
  140. tail -n +2 $GARF_FILE_P > $GARF_FILE_P_2
  141. ./CombineOutputs_prot $GARF_FILE_P_2
  142. rm $GARF_FILE_P_2
  143. rm $GARF_FILE_P
  144. done
  145. if [ -f $GARF_FILE_P_NEW ];
  146. then
  147. mv $gPATH$GARF_FILE_P_NEW $gFORMATTING
  148. cd $gFORMATTING
  149. ./FormatFiles $GARF_FILE_P_NEW
  150. mv $GARF_FILE_P_NEW $gPATH
  151. find $gFORMATTING -name '*.dat' -exec mv {} $sFORMATTING \;
  152. cd $sFORMATTING
  153. echo "Spicing it up P5"
  154. find ./ -type f -name \*.dat | while read file
  155. do
  156. $sFORMATTING./Garfield2Spice $file
  157. mv $SIGDAT $sPATH_PROT
  158. cd $sPATH_PROT
  159. ngspice Preamp.net >/dev/null 2>&1
  160. PID=$! >/dev/null 2>&1
  161. sleep .15 >/dev/null 2>&1
  162. kill -HUP $PID >/dev/null 2>&1
  163. ./CombineOutputs output.dat
  164. cd $sFORMATTING
  165. done
  166. else
  167. echo "No .dat generated"
  168. fi
  169. else
  170. echo "Something is wrong with your signal selection choice...aborting..."
  171. exit
  172. fi
  173. exit
  174. bash