diff --git a/Configure b/Configure index 022ae9146d..8bd856d992 100755 --- a/Configure +++ b/Configure @@ -18,9 +18,9 @@ # you may fetch it yourself from your nearest archive site.) # -# $Id: Configure,v 1.110 2008/12/03 15:34:57 bmorgan Exp $ +# $Id: Configure,v 1.126 2009/11/26 10:40:56 bmorgan Exp $ # -# Generated on Wed Dec 3 15:33:49 GMT 2008 [metaconfig 3.0 PL70] +# Generated on Thu Nov 26 10:39:51 GMT 2009 [metaconfig 3.0 PL70] cat >/tmp/c1$$ <&1`;; esac -#if [ X$install = Xyes ] ; then -# -#echo " " -#echo " " -#echo " " -#echo " --- Geant4 Toolkit Installation ---" -#echo " " -#echo " " -#echo " " -#echo " " -# -##if $contains "^$user\$" ../../.config/instruct >/dev/null 2>&1; then -## firsttime=false -## echo " " -## rp='Would you like to see the instructions?' -## dflt=n -## . ./myread -## case "$ans" in -## [yY]*) ;; -## *) needman=false;; -## esac -##fi -#fi - if [ X$g4build = Xyes ] ; then -echo " " -echo " " echo " " echo " --- Geant4 Toolkit Build ---" echo " " -echo " " -echo " " -echo " " if $contains "^$user\$" ../../.config/instruct >/dev/null 2>&1; then firsttime=false - echo " " rp='Would you like to see the instructions?' dflt=n . ./myread @@ -1263,15 +1283,18 @@ echo) '-n') n='' c='\c';; *) n='-n' c='';; esac - cat <$c" - $echo "*" +#We suppress the following message to avoid problems where the system points +#sh to dash (Ubuntu). If you have problems with echo, uncomment the cat and +#two $echo s to see if you're warned!! +# cat <$c" +# $echo "*" fi $rm -f foo1 foo2 ;; @@ -1707,7 +1730,7 @@ case "$g4compiler" in *egcs*) g4compiler=egcs ;; *2.96*) - echo "WARNING: Found version of 'g++' (2.96.XXX) is known to be buggy!" + echo "WARNING: Found version of g++ (2.96.XXX) is known to be buggy!" g4compiler="g++" ;; *) g4compiler="g++" @@ -1723,7 +1746,7 @@ case "$g4compiler" in ;; 'WIN32') g4compiler=VC - clcompiler=`( cl 1>/dev/null || echo "ERROR: There is no 'cl' compiler.") 2>&1` + clcompiler=`( cl 1>/dev/null || echo "ERROR: There is no cl compiler.") 2>&1` case $clcompiler in *"Version 12"*) g4compiler=VC6 ;; @@ -1797,13 +1820,8 @@ gans=$ans if test X$tans != X$g4osnamerec ; then echo "" - -cat << EOM - - You are running 'Configure' on NOT native platform! - You are on your own way !!! - -EOM + echo "You are configuring Geant4 for a different platform to the native system!" + echo "You are on your own!!!" dflt=$tans rp="Confirm your selection or set native '$g4osnamerec'!" @@ -1846,14 +1864,10 @@ EOM tans=$ans if test X$tans != X$g4compilerrec ; then - echo "" + echo " " + echo "The recommmended compiler for this platform ($g4osname) is $g4compilerrec." + echo "Use of $tans on $g4osname is not supported - you are on your own!" -cat << EOM - - The recommmended compiler for this platform ($g4osname) is $g4compilerrec. - You are on your own way !!! - -EOM dflt=$tans rp="Confirm your selection or set recommended '$g4compilerrec'!" @@ -1863,11 +1877,7 @@ EOM g4compiler=$tans ;; -# [eE]) -# break -# ;; *) -# echo " " break ;; esac @@ -1882,12 +1892,6 @@ g4system=$g4osname-$g4compiler fi -#cat << EOM -# -#G4SYSTEM is now set to $g4system. -# -#EOM - cd .config/UU myuname=`( ($uname -a) 2>/dev/null || hostname) 2>&1` @@ -2087,19 +2091,9 @@ fi # header for User echo " " -echo " " -echo " " echo " --- Geant4 Toolkit Installation ---" echo " (setting environments for USER )" echo " " -echo " " -echo " " - -#cat << EOM -# -#G4SYSTEM is now set to $g4system. -# -#EOM cat >&2 <&1 | sed 's/^.*(Qt \([0-9]\)\..*/\1/'\` + if test "x\$g4_qt_found_moc_major_version" != "x\$g4_qt_major_ver" ; then + # We need to ask the user where correct moc is + $echo "no" + promptend="no" + user_moc="\$g4_qtmoc" + + while test "x\$promptend" = "xno" ; do + echo " " + g4message=\`cat << EOM +Qt moc was found as \$user_moc and has major version \$g4_qt_found_moc_major_version. +This does not match the version of the detected Qt install +which is \$g4_qt_major_ver. +Please enter the full path to the moc program which matches this Qt +version, or type '-' to CANCEL the Qt checks. +EOM\` + dflt="\$user_moc" + rp=\$g4message + . ./myread + + # Check for user cancellation + if test "x\$ans" = "x-" ; then + g4_havegoodqt="no" + g4_qtmoc="" + promptend="yes" + else + user_moc="\$ans" + if test -x "\$user_moc" ; then + g4_qt_found_moc_major_version=\`\$user_moc -v 2>&1 | sed 's/^.*(Qt \([0-9]\)\..*/\1/'\` + if test "x\$g4_qt_found_moc_major_version" != "x\$g4_qt_major_ver" ; then + echo "Checking if \$user_moc version is \$g4_qt_major_ver... no" + else + echo "Checking if \$user_moc version is \$g4_qt_major_ver... yes" + g4_qtmoc=\$user_moc + promptend=yes + fi + else + echo "warning: \$user_moc is not executable." + user_moc="" + g4_qt_found_moc_major_version="" + fi + fi + # We need to ask the user where correct moc is + done + else + $echo "yes" + fi + fi + ## THIS IS POINT AT WHICH TO DO FALLBACK TESTS I.E DOES ## COMPILATION OF SMALL TEST PROGRAM WORK - THEN HEADERS AND ## LIBS ARE AUTOMATICALLY FOUND BY LINKER @@ -2891,10 +2968,7 @@ rm -f getfile.ok EOSC echo " " - -#echo "SSS" -#echo `pwd` -#echo "SSS" +echo "*OPTIONS FOR GEANT4 INSTALLATION PATHS*" if [ X$src = X. ] ; then cd ../.. @@ -2910,37 +2984,26 @@ case "$g4conf" in ;; esac -#echo "g4conf=$g4conf" case "$g4install" in '') -if test $g4system = "WIN32-VC" -o $g4system = "WIN32-VC7"; then -# g4install="c:/geant4" - g4install=$abssrc -else -# if [ X"$HOME" = X/ ] ; then -# HOME="" -# fi -# g4install="$HOME"/geant4 - g4install=$abssrc + if test $g4system = "WIN32-VC" -o $g4system = "WIN32-VC7"; then + g4install=$abssrc + else + g4install=$abssrc + fi -fi + # Check for Windows! + if test $g4system = "WIN32-VC" -o $g4system = "WIN32-VC7"; then + checkdrive=`echo $g4install|cut -d"/" -f2` -# Check for Windows! -if test $g4system = "WIN32-VC" -o $g4system = "WIN32-VC7"; then - -checkdrive=`echo $g4install|cut -d"/" -f2` - -if test $checkdrive = "cygdrive"; then - -windrive=`echo $g4install|cut -d"/" -f3` -winpath=`echo $g4install|cut -d"/" -f4-` - -fullwinpath="$windrive:/$winpath" -g4install=$fullwinpath - -fi -fi + if test $checkdrive = "cygdrive"; then + windrive=`echo $g4install|cut -d"/" -f3` + winpath=`echo $g4install|cut -d"/" -f4-` + fullwinpath="$windrive:/$winpath" + g4install=$fullwinpath + fi + fi ;; esac @@ -2963,166 +3026,222 @@ case "$g4includes_flag" in esac -g4message=`cat << EOM - -Where is Geant4 source installed? -EOM` - -#dflt="NO DEFAULT ANSWER" +g4message="What is the path to the Geant4 source tree?" dflt=$g4install fn='d~' rp=$g4message . ./getfile g4install=$ans g4workdir=$g4install + ################################# -g4message=`cat << EOM - -Specify the path where Geant4 libraries and source files should be -installed. -EOM` - -#dflt="NO DEFAULT ANSWER" +echo " " +g4message="Where should Geant4 be installed?" dflt=$g4final_install fn='d~' rp=$g4message . ./getfile g4final_install=$ans -#g4workdir=$g4install ################################## -g4message=`cat << EOM - -Do you want to copy all Geant4 headers -in one directory? -EOM` - -#dflt="NO DEFAULT ANSWER" +echo " " +g4message="Do you want to install all Geant4 headers in one directory?" dflt=$g4includes_flag -#fn='d~' rp=$g4message . ./myread g4includes_flag=$ans if [ X$g4includes_flag = Xy ] ; then + case "$g4include" in + '') + g4include=$g4install/include + ;; + esac -case "$g4include" in -'') - g4include=$g4install/include -# g4include='' - ;; -esac - -#g4message=`cat << EOM -# -#Where will be directory to copy all Geant4 headers? -#EOM` -# -##dflt="NO DEFAULT ANSWER" -####dflt=$g4install/include -#dflt=$g4include -#fn='d~+' -#rp=$g4message -#. ./getfile -#g4include=$ans - -# Set constantly! -if [ X$g4install != X$g4final_install ] ; then -g4include=$g4final_install/include/geant4 -else -g4include=$g4final_install/include + # Set constantly! + if [ X$g4install != X$g4final_install ] ; then + g4include=$g4final_install/include/geant4 + else + g4include=$g4final_install/include + fi fi -fi - -#if test "X$g4include" = "X[NOT DEFINED]" ; then -#g4include="" -#fi echo " " +echo "*GEANT4 LIBRARY BUILD OPTIONS*" -case "$g4tmp" in -'') - g4tmp=$g4workdir/tmp - ;; -esac +if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then + while test 1 = 1 ; do + g4message="Do you want to build DLL (.dll) libraries?" + dflt=$g4lib_build_dll + rp=$g4message + . ./myread + gans=$ans -case "$g4lib" in -'') - g4lib=$g4workdir/lib - ;; -esac + case $gans in + n*|N*) + g4lib_build_dll=n + g4lib_build_shared=n + g4lib_build_static=y + break + ;; + y*|Y*) + g4lib_build_dll=y + g4lib_build_shared=n + g4lib_build_static=n + break + ;; + esac + done +fi -#case "$g4bin" in -#'') -# g4bin=$g4workdir/bin -# ;; -#esac +if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" ; then + while test 1 = 1 ; do + g4message="Do you want to build shared libraries?" + dflt=$g4lib_build_shared + rp=$g4message + . ./myread + gans=$ans -while test 1 = 0 ; do + case $gans in + n*|N*) + g4lib_build_shared=n + g4lib_build_static=y + break + ;; + y*|Y*) + g4lib_build_shared=y + break + ;; + esac + done -g4message=`cat << EOM + if [ X$g4lib_build_shared = Xy ] ; then + # + # Ask about g4lib_build_static - default "n". + # + while test 1 = 1 ; do + g4message="Do you want to build static libraries too?" + dflt=n + rp=$g4message + . ./myread + gans=$ans -(OPTIONAL) You can now customise installation directories: - G4TMP - tmp/ containing temporary dependency (.d) and object (.o) files; - G4LIB - lib/ containing final static (.a) or shared (.so) libraries; + case $gans in + n*|N*) + g4lib_build_static=n + break + ;; + y*|Y*) + g4lib_build_static=y + break + ;; + esac + done + fi +fi # if !Win -1) G4TMP: $g4tmp -2) G4LIB: $g4lib -To modify default settings, select number above (e.g. 2) -EOM` +if test \( \( "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7" \) -a "X$g4lib_build_dll" = "Xy" \) -o \( "X$g4system" = "XDarwin-g++" -a "X$g4lib_build_dyn" = "Xy" \) ; then -#dflt="NO DEFAULT ANSWER" -dflt="Press [Enter] for default settings" -#fn='d~' + g4global=n + g4granular=n + g4lib_use_granular=n + +fi + +if test \( "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" -a "X$g4system" != "XDarwin-g++" \) -o \( \( "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7" \) -a "X$g4lib_build_dll" = "Xn" \) -o \( "X$g4system" = "XDarwin-g++" -a "X$g4lib_build_dyn" = "Xn" \) ; then + # + # Ask about g4global - default "(empty)". + # + g4message="Do you want to build global libraries?" + dflt=$g4global + rp=$g4message + . ./myread + gans=$ans + + case $gans in + n*|N*) + g4global=n + g4granular=y + g4lib_use_granular=y + ;; + y*|Y*) + g4global=y + g4granular=n + g4lib_use_granular=n + ;; + esac + + if [ X$g4global = Xy ] ; then + # + # Ask about g4granular - default "n". + # + g4message="Do you want to build granular libraries as well?" + dflt=$g4granular + rp=$g4message + . ./myread + gans=$ans + + case $gans in + n*|N*) + g4granular=n + ;; + y*|Y*) + g4granular=y + ;; + esac + + if [ X$g4granular = Xy ] ; then + # + # Ask about g4lib_use_granular - default "n". + # + g4message="Do you want to use granular libraries in your applications?" + dflt=$g4lib_use_granular + rp=$g4message + . ./myread + gans=$ans + + case $gans in + n*|N*) + g4lib_use_granular=n + ;; + y*|Y*) + g4lib_use_granular=y + ;; + esac + fi + fi +fi # !Win + +### End file - without will be problem! Check in others... + + +g4message="Do you want to build libraries with debugging information?" +dflt=$g4debug rp=$g4message . ./myread gans=$ans - - case $gans in - - 1) - dflt=$g4tmp - fn='d~+' - rp="Where will be your Geant4 tmp directory?" - . ./getfile - g4tmp=$ans +case $gans in +n*|N*) + g4debug=n ;; - 2) - dflt=$g4lib - fn='d~+' - rp="Where will be your Geant4 lib directory?" - . ./getfile - g4lib=$ans - ;; -# 3) -# dflt=$g4bin -# fn='d~+' -# rp="Where will be your Geant4 bin directory?" -# . ./getfile -# g4bin=$ans -# ;; - -# [eE]) -# break -# ;; - *) - break -# echo " " - ;; - esac -done +y*|Y*) + g4debug=y + ;; +esac g4data_photonevaporation_version='PhotonEvaporation2.0' g4data_radioactivedecay_version='RadioactiveDecay3.2' -g4data_g4emlow_version='G4EMLOW6.2' +g4data_g4emlow_version='G4EMLOW6.9' g4data_g4ndl_version='G4NDL3.13' g4data_g4abla_version='G4ABLA3.0' +g4data_realsurface_version='RealSurface1.0' #END GEANT4 DATA OPTIONS echo " " +echo "*CHECKS AND OPTIONS FOR GEANT4 PHYSICS DATA FILES*" # @@ -3164,19 +3283,20 @@ case "$g4abladata" in ;; esac +case "$g4realsurfacedata" in +'') + g4realsurfacedata=$g4data/$g4data_realsurface_version + ;; +esac + # # Now we have defaults, prompt user to see if this is where they want to use # -g4data_alllibs="$g4data_photonevaporation_version $g4data_radioactivedecay_version $g4data_g4emlow_version $g4data_g4ndl_version $g4data_g4abla_version" +g4data_alllibs="$g4data_photonevaporation_version $g4data_radioactivedecay_version $g4data_g4emlow_version $g4data_g4ndl_version $g4data_g4abla_version $g4data_realsurface_version" g4message=`cat </dev/null` + + case $g4_make_version in + GNU*) + g4_make_isgnu=yes + ;; + *) + g4_make_isgnu=no + ;; + esac + echo "Checking if make is GNU make... $g4_make_isgnu" +fi + +if test "x$g4osname" != "xWIN32" ; then + if test "x$g4_gmake_loc" != "xno" ; then + g4_gmake_version=`$g4_gmake_loc -v 2>/dev/null` + + case $g4_gmake_version in + GNU*) + g4_gmake_isgnu=yes + ;; + *) + g4_gmake_isgnu=no + ;; + esac + echo "Checking if gmake is GNU make... $g4_gmake_isgnu" + fi +fi + +# Now perform selection on following logic +# 1) If we have gmake AND it's GNU make, use that +# 2) If we have make AND it's GNU make, use that +# 3) If none of the above, prompt user for path to make program +if test "x$g4_gmake_loc" != "xno" -a "x$g4_gmake_isgnu" = "xyes" ; then + g4make=$g4_gmake_loc +elif test "x$g4_make_loc" != "xno" -a "x$g4_make_isgnu" = "xyes" ; then + g4make=$g4_make_loc +else + g4_got_user_make="no" + while test "x$g4_got_user_make" = "xno"; do + g4message=`cat << EOM + + G4MAKE + +A GNU make program could not be located on your system. +Please enter the full path to the GNU make program you +want to use: +EOM` + dflt=$g4make + rp=$g4message + . ./myread + gans=$ans + + #Check if this is GNU make... + g4_user_make_version=`$gans -v 2>/dev/null` + + case $g4_user_make_version in + "GNU Make"*) + echo "Checking that $gans is GNU Make... yes" + g4make=$gans + g4_got_user_make=yes + ;; + *) + echo "Checking that $gans is GNU Make... no" + ;; + esac + done +fi + + + +echo " " +echo "*CHECKS FOR REQUIRED EXTERNAL PACKAGE CLHEP*" + if test "X$g4clhep_base_dir" = "X" ; then - -clhep_dirs=`find $g4clhep_base_dir /usr/local/include /usr/include -type d -name CLHEP 2>/dev/null |xargs echo` -#echo clhep_dirs=$clhep_dirs - + clhep_dirs=`find $g4clhep_base_dir /usr/local/include /usr/include -type d -name CLHEP 2>/dev/null |xargs echo` fi if test "X$clhep_dirs" != "X" ; then - -g4clhep_base_dir_found=`echo $clhep_dirs|cut -d" " -f1` -#echo g4clhep_base_dir_found=$g4clhep_base_dir_found - - -#g4clhep_base_dir_n=`echo $g4clhep_base_dir_found |awk -F"/" '{print NF}'` -#echo g4clhep_base_dir_n=$g4clhep_base_dir_n -g4clhep_base_dir_found=`dirname $g4clhep_base_dir_found` -g4clhep_base_dir_found=`dirname $g4clhep_base_dir_found` + g4clhep_base_dir_found=`echo $clhep_dirs|cut -d" " -f1` + g4clhep_base_dir_found=`dirname $g4clhep_base_dir_found` + g4clhep_base_dir_found=`dirname $g4clhep_base_dir_found` g4clhep_base_dir=$g4clhep_base_dir_found - -#else -#case "$g4clhep_base_dir" in -#'') -# if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then -# g4clhep_base_dir="c:/usr/local" -# else -# g4clhep_base_dir=/usr/local -# fi -# ;; -#esac fi -#while test 1 = 1 ; do - -#if test "X$g4clhep_base_dir" != "X" ; then -#clhep_dirs=$g4clhep_base_dir -#echo 1 g4clhep_base_dir=$g4clhep_base_dir -#fi - if test "X$g4clhep_base_dir" != "X" ; then + echo "checking for a CLHEP installation... $g4clhep_base_dir" -g4message=`cat << EOM + echo " " + g4message="Is this the CLHEP installation you want to use?" -Please, specify where CLHEP is installed. It was found in: + dflt=$g4clhep_base_dir + fn='d~' + rp=$g4message + . ./getfile -CLHEP_BASE_DIR: $g4clhep_base_dir - -EOM` - -dflt=$g4clhep_base_dir -fn='d~' -rp=$g4message -. ./getfile - -cend="no" -while test "$cend" = "no" ; do -if test -e "$ans/include/CLHEP" ; then -cend="yes" - -g4clhep_base_dir=$ans - -else - -g4message=`cat << EOM + cend="no" + while test "$cend" = "no" ; do + if test -e "$ans/include/CLHEP" ; then + cend="yes" + g4clhep_base_dir=$ans + else + g4message=`cat << EOM Could not find CLHEP installed in $ans! Please, specify where CLHEP is installed: @@ -3459,16 +3684,15 @@ CLHEP_BASE_DIR: EOM` -dflt="" -fn='d~' -rp=$g4message -. ./getfile -fi -done + dflt="" + fn='d~' + rp=$g4message + . ./getfile + fi + done else - -g4message=`cat << EOM + g4message=`cat << EOM Could not find CLHEP installed on this system! Please, specify where CLHEP is installed: @@ -3477,21 +3701,18 @@ CLHEP_BASE_DIR: EOM` -dflt="" -fn='d~' -rp=$g4message -. ./getfile + dflt="" + fn='d~' + rp=$g4message + . ./getfile -cend="no" -while test "$cend" = "no" ; do -if test -e "$ans/include/CLHEP" ; then -cend="yes" - -g4clhep_base_dir=$ans - -else - -g4message=`cat << EOM + cend="no" + while test "$cend" = "no" ; do + if test -e "$ans/include/CLHEP" ; then + cend="yes" + g4clhep_base_dir=$ans + else + g4message=`cat << EOM Could not find CLHEP installed in $ans! Please, specify where CLHEP is installed: @@ -3500,62 +3721,13 @@ CLHEP_BASE_DIR: EOM` -dflt="" -fn='d~' -rp=$g4message -. ./getfile + dflt="" + fn='d~' + rp=$g4message + . ./getfile + fi + done fi -done - -fi - -#dflt="Press [Enter] for default settings" -#fn='d~' -#####rp=$g4message -#. ./myread -#gans=$ans - -# case $gans in - -# 1) -## dflt="" -## fn='d~' -# rp="Where is CLHEP installed?" -## . ./getfile -## g4clhep_base_dir=$ans - -##### g4clhep_include_dir=$ans/include -##### g4clhep_lib_dir=$ans/lib -# ;; -# 2) -# dflt=$g4clhep_include_dir -# fn='d~' -# rp="Where is CLHEP include directory?" -# . ./getfile -# g4clhep_include_dir=$ans -# ;; -# 3) -# dflt=$g4clhep_lib_dir -# fn='d~' -# rp="Where is CLHEP lib directory?" -# . ./getfile -# g4clhep_lib_dir=$ans -# ;; -# 4) -# dflt=$g4clhep_lib -# rp="What is CLHEP lib title?" -# . ./myread -# g4clhep_lib=$ans -# ;; -## [eE]) -## break -## ;; -# *) -# echo " " -# break -# ;; -# esac -#done case "$g4clhep_include_dir" in '') @@ -3580,8 +3752,7 @@ case "$g4clhep_lib" in esac while test 1 = 1 ; do - -g4message_1=`cat << You + g4message_1=`cat << You You can customize paths and library name of you CLHEP installation: @@ -3591,130 +3762,58 @@ You can customize paths and library name of you CLHEP installation: You` -g4message_2=" need to use full library name with its extension (e.g. libCLHEP.lib)." + g4message_2=" need to use full library name with its extension (e.g. libCLHEP.lib)." -g4message_3=`cat << EOM + g4message_3=`cat << EOM To modify default settings, select number above (e.g. 2) EOM` -if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then -rp=$g4message_1$g4message_3 -else -rp=$g4message_1$g4message_2$g4message_3 -fi + if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then + rp=$g4message_1$g4message_3 + else + rp=$g4message_1$g4message_2$g4message_3 + fi -dflt="Press [Enter] for default settings" -#fn='d~' -. ./myread -gans=$ans + dflt="Press [Enter] for default settings" + . ./myread + gans=$ans case $gans in - 1) dflt=$g4clhep_include_dir fn='d~' - rp="Where is CLHEP include directory?" + rp="Where is the CLHEP include directory?" . ./getfile g4clhep_include_dir=$ans ;; 2) dflt=$g4clhep_lib_dir fn='d~' - rp="Where is CLHEP lib directory?" + rp="Where is the CLHEP lib directory?" . ./getfile g4clhep_lib_dir=$ans ;; 3) dflt=$g4clhep_lib - rp="What is CLHEP lib title?" + rp="What is the name of the CLHEP library?" . ./myread g4clhep_lib=$ans ;; -# [eE]) -## break -## ;; *) -# echo " " break ;; esac done -#if test "X$g4clhep_base_dir" = "X/usr" -o "X$g4clhep_base_dir" = "X/usr/local"; then -#g4clhep_base_dir="" -#fi -# -#if test "X$g4clhep_include_dir" = "X/usr/include" -o "X$g4clhep_include_dir" = "X/usr/local/include"; then -#g4clhep_include_dir="" -#fi -# -#if test "X$g4clhep_lib_dir" = "X/usr/lib" -o "X$g4clhep_lib_dir" = "X/usr/local/lib"; then -#g4clhep_lib_dir="" -#fi echo " " +echo "*OPTIONS FOR GEANT4 USER INTERFACE MODULES*" -case "$g4lib_build_shared" in -'') - g4lib_build_shared=n - ;; -esac +g4message="Enable building of User Interface (UI) modules?" -echo " " - -case "$g4lib_build_static" in -'') - g4lib_build_static=n - ;; -esac - -echo " " - -case "$g4lib_use_shared" in -'') - g4lib_use_shared=n - ;; -esac - -echo " " - -case "$g4lib_use_static" in -'') - g4lib_use_static=n - ;; -esac - -case "$g4lib_build_dll" in -'') - g4lib_build_dll=n - ;; -esac - -case "$g4lib_build_dyn" in -'') - g4lib_build_dyn=n - ;; -esac - -# -# Ask about building of SHARED|STATIC libraries - default STATIC. -# -echo "" - -if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then - -while test 1 = 1 ; do - -g4message=`cat << EOM - -By default 'static' libraries are built. - -Do you want to build DLL (.dll) libraries? -EOM` - -dflt=$g4lib_build_dll +dflt='y' rp=$g4message . ./myread gans=$ans @@ -3722,556 +3821,22 @@ gans=$ans case $gans in n*|N*) - g4lib_build_dll=n - g4lib_build_shared=n - g4lib_build_static=y - break - ;; - y*|Y*) - g4lib_build_dll=y - g4lib_build_shared=n - g4lib_build_static=n - -# g4lib_build_static="" -# g4lib_use_shared=1 -# g4lib_use_static="" - break - ;; -# [eE]) -# break -# ;; -# *) -# echo " " -# break -# ;; - esac -done - -fi - -if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" ; then - -while test 1 = 1 ; do - -g4message=`cat << EOM - -By default 'static' (.a) libraries are built. - -Do you want to build 'shared' (.so) libraries? -EOM` - -dflt=$g4lib_build_shared -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - g4lib_build_shared=n - g4lib_build_static=y - break - ;; - y*|Y*) - g4lib_build_shared=y -# g4lib_build_static="" -# g4lib_use_shared=1 -# g4lib_use_static="" - break - ;; -# [eE]) -# break -# ;; -# *) -# echo " " -# break -# ;; - esac -done - -if [ X$g4lib_build_shared = Xy ] ; then -# -# Ask about g4lib_build_static - default "n". -# -echo "" - -while test 1 = 1 ; do - -g4message=`cat << EOM - -You selected to build 'shared' (.so) libraries. -Do you want to build 'static' (.a) libraries too? -EOM` - -#dflt=$g4lib_build_static -dflt=n -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - g4lib_build_static=n - break - ;; - y*|Y*) -# g4lib_build_shared=1 - g4lib_build_static=y -# g4lib_use_shared=1 -# g4lib_use_static="" - break - ;; -# [eE]) -# break -# ;; -# *) -# echo " " -# break -# ;; - esac -done - -## Comment out in waiting G4LIB_USE_STATIC and G4LIB_USE_SHARED. -# -#if [ X$g4lib_build_static = Xy ] ; then -## -## Ask about g4lib_use_static - default "n". -## -#echo "" -# -#while test 1 = 1 ; do -# -#g4message=`cat << EOM -# -#You selected to build 'shared' (.so) and 'static' (.a) libraries. -#Do you want to use 'static' (.a) libraries? -#EOM` -# -#dflt=$g4lib_use_static -#rp=$g4message -#. ./myread -#gans=$ans -# -# case $gans in -# -# n*|N*) -# break -# ;; -# y*|Y*) -## g4lib_build_shared=1 -## g4lib_build_static=1 -## g4lib_use_shared=1 -# g4lib_use_static=y -# break -# ;; -## [eE]) -## break -## ;; -## *) -## echo " " -## break -## ;; -# esac -#done -#fi - -fi - -fi # if !Win - -echo " " -case "$g4global" in -'') - g4global=n - ;; -esac - -echo " " -# By default it's 'grabular'! -case "$g4granular" in -'') - g4granular=y - ;; -esac - -echo " " -# Will be set (if needed) in GNUmakefile! -case "$g4lib_use_granular" in -'') - g4lib_use_granular=y - ;; -esac - -if test \( \( "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7" \) -a "X$g4lib_build_dll" = "Xy" \) -o \( "X$g4system" = "XDarwin-g++" -a "X$g4lib_build_dyn" = "Xy" \) ; then - - g4global=n - g4granular=n - g4lib_use_granular=n - -fi - -if test \( "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7" -a "X$g4system" != "XDarwin-g++" \) -o \( \( "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7" \) -a "X$g4lib_build_dll" = "Xn" \) -o \( "X$g4system" = "XDarwin-g++" -a "X$g4lib_build_dyn" = "Xn" \) ; then - -# -# Ask about g4global - default "(empty)". -# -echo "" - -while test 1 = 1 ; do - -g4message=`cat << EOM - -Do you want to build 'global' compound libraries? -EOM` - -dflt=$g4global -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - g4global=n - g4granular=y - g4lib_use_granular=y - break - ;; - y*|Y*) - g4global=y -# Shoud be comment out to keep settings from config.sh - not now to keep as in release - g4granular=n -# Shoud be comment out to keep settings from config.sh - not now to keep as in release - g4lib_use_granular=n - break - ;; -# [eE]) -# break -# ;; -# *) -# echo " " -# break -# ;; - esac -done - -if [ X$g4global = Xy ] ; then -# -# Ask about g4granular - default "n". -# -echo "" - -while test 1 = 1 ; do - -g4message=`cat << EOM - -Granular libraries are used by defaults, you asked to build global -compound libraries. Do you want to build 'granular' libraries too? -EOM` - -dflt=$g4granular -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - g4granular=n - break - ;; - y*|Y*) - g4granular=y - break - ;; -# [eE]) -# break -# ;; -# *) -# echo " " -# break -# ;; - esac -done - -if [ X$g4granular = Xy ] ; then -# -# Ask about g4lib_use_granular - default "n". -# -echo "" - -while test 1 = 1 ; do - -g4message=`cat << EOM - -Global libraries are used by defaults, you asked to build global -compound libraries and granular libraries. -Do you want to use 'granular' libraries instead? -EOM` - -dflt=$g4lib_use_granular -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - g4lib_use_granular=n - break - ;; - y*|Y*) - g4lib_use_granular=y - break - ;; -# [eE]) -# break -# ;; -# *) -# echo " " -# break -# ;; - esac -done -fi -fi - -fi # !Win - -### End file - without will be problem! Check in others... - - -echo " " -case "$g4debug" in -'') - g4debug=n - ;; -esac - -# -# Ask about g4debug - default "(empty)". -# -echo "" - -while test 1 = 1 ; do - -g4message=`cat << EOM - -Do you want to compile libraries in DEBUG mode (-g)? -EOM` - -dflt=$g4debug -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - break - ;; - y*|Y*) - g4debug=y - break - ;; -# [eE]) -# break -# ;; -# *) -# echo " " -# break -# ;; - esac -done - - -echo " " - -case "$g4ui_none" in -'') - g4ui_none=n - ;; -esac - -# Set by default! -case "$g4ui_build_terminal_session" in -'') - g4ui_build_terminal_session=y - ;; -esac - -# Set by default! -case "$g4ui_use_terminal" in -'') - g4ui_use_terminal=y - ;; -esac - -# Set by default! -case "$g4ui_build_gag_session" in -'') - g4ui_build_gag_session=y - ;; -esac - -# Set by default! -case "$g4ui_use_gag" in -'') - g4ui_use_gag=y - ;; -esac - -case "$g4ui_build_xm_session" in -'') - g4ui_build_xm_session=n - ;; -esac - -case "$g4ui_use_xm" in -'') - g4ui_use_xm=n - ;; -esac - -case "$g4ui_build_xaw_session" in -'') - g4ui_build_xaw_session=n - ;; -esac - -case "$g4ui_use_xaw" in -'') - g4ui_use_xaw=n - ;; -esac - -case "$g4ui_build_win32_session" in -'') - g4ui_build_win32_session=n - ;; -esac - -case "$g4ui_use_win32" in -'') - g4ui_use_win32=n - ;; -esac - -# Set by default! -case "$g4ui_use_tcsh" in -'') - g4ui_use_tcsh=y - ;; -esac - - - - -echo "" - -g4message=`cat << EOM - - G4UI_NONE - -If this variable is set, no UI sessions nor any UI libraries are built. -This can be useful when running a pure batch job or in a user framework -having its own UI system. -Do you want to set this variable ? - -EOM` - -dflt=$g4ui_none -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - g4ui_none=n - ;; - y*|Y*) g4ui_none=y ;; + y*|Y*) + g4ui_none=n + ;; esac case $g4ui_none in n) -g4message=`cat << EOM - - G4UI_BUILD_TERMINAL_SESSION - Specifies to include in kernel library a basic dumb terminal - user interface (default). - - G4UI_USE_TERMINAL - Specifies to use dumb terminal interface in the application to be - built (default). -EOM` - -dflt=$g4ui_use_terminal -rp=$g4message -#. ./myread -#gans=$ans -gans=y - - case $gans in - - n*|N*) - g4ui_build_terminal_session=n - g4ui_use_terminal=n - ;; - y*|Y*) - g4ui_build_terminal_session=y - g4ui_use_terminal=y - ;; - esac - -g4message=`cat << EOM - - G4UI_BUILD_GAG_SESSION - Specifies to include in kernel library the GAG based - user interface. - - G4UI_USE_GAG - Specifies to use the GAG interface in the application to be - built. -EOM` - -dflt=$g4ui_use_gag -rp=$g4message -#. ./myread -#gans=$ans -gans=y - - case $gans in - - n*|N*) - g4ui_build_gag_session=n - g4ui_use_gag=n - ;; - y*|Y*) - g4ui_build_gag_session=y - g4ui_use_gag=y - ;; - esac - if test "X$g4system" != "XWIN32-VC" -a "X$g4system" != "XWIN32-VC7"; then -g4message=`cat << EOM +g4message="Enable building of the XAW (X11 Athena Widget set) UI module?" - G4UI_BUILD_XAW_SESSION - G4UI_USE_XAW - - Specifies to include and use the XAW interfaces in the - application to be built. - The XAW (X11 Athena Widget set) extensions are required to activate - and build this driver. -EOM` - -dflt=$g4ui_use_xaw +dflt=$g4ui_build_xaw_session rp=$g4message . ./myread gans=$ans @@ -4327,8 +3892,8 @@ if test "X$g4ui_xawhome" != "X" ; then g4message=`cat << EOM -You have selected to use the XAW based user interfaces. -Specify the correct path where XAW is installed in your system. +You have selected to build the XAW based user interfaces. +Specify the correct path where XAW is installed on your system. It was found in $g4ui_xawhome. Press [Enter] to set this path or type the correct one. You can set '-' (without quotation) to CANCEL the XAW flag at all: @@ -4352,15 +3917,16 @@ else g4ui_build_xaw_session=n g4ui_use_xaw=n +echo " " fi else g4message=`cat << EOM -You have selected to use XAW based user interfaces. +You have selected to build the XAW based user interfaces. But XAW was not found in $ans. -Please specify the correct path where XAW is installed in your system. +Please specify the correct path where XAW is installed on your system. You can set '-' (without quotation) to CANCEL the XAW flag at all: @@ -4377,9 +3943,9 @@ else g4message=`cat << EOM -You have selected to use XAW based user interfaces. +You have selected to build the XAW based user interfaces. But XAW was not found in expected place. -Please specify the correct path where XAW is installed in your system. +Please specify the correct path where XAW is installed on your system. You can set '-' (without quotation) to CANCEL the XAW flag at all: @@ -4402,15 +3968,16 @@ else g4ui_build_xaw_session=n g4ui_use_xaw=n +echo " " fi else g4message=`cat << EOM -You have selected to use XAW based user interfaces. +You have selected to build the XAW based user interfaces. But XAW was not found in $ans. -Please specify the correct path where XAW is installed in your system. +Please specify the correct path where XAW is installed on your system. You can set '-' (without quotation) to CANCEL the XAW flag at all: @@ -4491,18 +4058,9 @@ fi # end of XM build ############################################### ############################################### -g4message=`cat << EOM +g4message="Enable building of the X11-Motif (Xm) UI module?" - G4UI_BUILD_XM_SESSION - G4UI_USE_XM - - Specifies to include and use the XM Motif based user interfaces. - The XM Motif extensions are required to activate and build this - driver. - -EOM` - -dflt=$g4ui_use_xm +dflt=$g4ui_build_xm_session rp=$g4message . ./myread gans=$ans @@ -4558,8 +4116,8 @@ if test "X$g4vis_xmhome" != "X" ; then g4message=`cat << EOM -You have selected to use the XM Motif based user interfaces. -Specify the correct path where Xm is installed in your system. +You have selected to build the X11-Motif(Xm) based user interfaces. +Specify the correct path where Xm is installed on your system. It was found in $g4vis_xmhome. Press [Enter] to set this path or type the correct one. You can set '-' (without quotation) to CANCEL the XM flag at all: @@ -4583,15 +4141,16 @@ else g4ui_build_xm_session=n g4ui_use_xm=n +echo " " fi else g4message=`cat << EOM -You have selected to use XM Motif based user interfaces. -But XM Motif was not found in $ans. -Please specify the correct path where Xm is installed in your system. +You have selected to build the X11-Motif(Xm) based user interfaces. +But Xm was not found in $ans. +Please specify the correct path where Xm is installed on your system. You can set '-' (without quotation) to CANCEL the XM flag at all: @@ -4608,9 +4167,9 @@ else g4message=`cat << EOM -You have selected to use XM Motif based user interfaces. -But XM Motif was not found in expected place. -Please specify the correct path where Xm is installed in your system. +You have selected to build the X11-Motif(Xm) based user interfaces. +But Xm was not found in the expected place. +Please specify the correct path where Xm is installed on your system. You can set '-' (without quotation) to CANCEL the XM flag at all: @@ -4633,15 +4192,16 @@ else g4ui_build_xm_session=n g4ui_use_xm=n +echo " " fi else g4message=`cat << EOM -You have selected to use XM Motif based user interfaces. -But XM Motif was not found in $ans. -Please specify the correct path where Xm is installed in your system. +You have selected to build the X11-Motif(Xm) based user interfaces. +But Xm was not found in $ans. +Please specify the correct path where Xm is installed on your system. You can set '-' (without quotation) to CANCEL the XM flag at all: @@ -4725,17 +4285,9 @@ fi # if !WIN if test "X$g4system" = "XWIN32-VC" -o "X$g4system" = "XWIN32-VC7"; then -g4message=`cat << EOM +g4message="Enable building of the WIN32 Terminal UI module?" - G4UI_BUILD_WIN32_SESSION - G4UI_USE_WIN32 - - Specifies to include and use the terminal interface for - Windows systems. - -EOM` - -dflt=$g4ui_use_win32 +dflt=$g4ui_build_win32_session rp=$g4message . ./myread gans=$ans @@ -4787,18 +4339,7 @@ esac # Checks applied for all systems ONLY IF g4ui_none HAS NOT BEEN SET TO y if test "x$g4ui_none" = "xn" ; then # Query the user to see if build of Qt UI module is needed - g4message=`cat </dev/null` - case $g4_gmake_version in - GNU*) - g4_gmake=y - ;; - *) - g4_gmake=n - ;; - esac - - g4_make_version=`(make -v) 2>/dev/null` - case $g4_make_version in - GNU*) - g4_make=y - ;; - *) - g4_make=n - ;; - esac - -if [ $g4_gmake = y ] ; then - -g4make=gmake - -g4message=`cat << EOM - - G4MAKE - -You have GNU make which could be used to build GEANT4. -You can select your own 'make' program if you want. -EOM` - -fi - -if [ $g4_gmake = n ] && [ $g4_make = y ] ; then - -g4make=make - -g4message=`cat << EOM - - G4MAKE - -You have GNU make which could be used to build GEANT4. -You can select your own 'make' program if you want. -EOM` - -fi - -if [ $g4_gmake = n ] && [ $g4_make = n ] ; then - -g4make=none - -g4message=`cat << EOM - - G4MAKE - -You have NO GNU make which could be used to build GEANT4. -Please select your own 'make' program compatible with GNU make. -EOM` - -dflt=$g4make -rp=$g4message - - -. ./myread -gans=$ans - - case $gans in - - '') - g4make=$dflt - ;; - *) - g4make=$gans - ;; - esac - -fi - - - - -echo " " -case "$g4wlib_build_g3tog4" in +case "$g4lib" in '') - g4wlib_build_g3tog4=n + g4lib=$g4workdir/lib ;; esac -case "$g4w_use_g3tog4" in -'') - g4w_use_g3tog4=n - ;; -esac -echo "" - -g4message=`cat << EOM - - G4LIB_BUILD_G3TOG4 - -The utility module 'g3tog4' will be built by setting this -variable. NOTE: it requires a valid FORTRAN compiler to be -installed on your system and the 'cernlib' command in the -path, in order to build the ancillary tools! -Do you want to build 'g3tog4' ? - -EOM` +g4message="Enable build of the g3tog4 utility module?" dflt=$g4wlib_build_g3tog4 rp=$g4message . ./myread gans=$ans - case $gans in - +case $gans in n*|N*) g4wlib_build_g3tog4=n g4w_use_g3tog4=n @@ -6510,88 +5651,38 @@ gans=$ans g4wlib_build_g3tog4=y g4w_use_g3tog4=y ;; - esac - - -echo " " -case "$g4wlib_build_zlib" in -'') - g4wlib_build_zlib=n - ;; esac -case "$g4w_use_zlib" in -'') - g4w_use_zlib=n - ;; -esac -echo "" - -g4message=`cat << EOM - - G4LIB_BUILD_ZLIB - -Do you want to activate compression for output files -generated by the HepRep visualization driver? - -EOM` - -dflt=$g4wlib_build_zlib -rp=$g4message -. ./myread -gans=$ans +# +# On WIN32, if GL or Inventor drivers are built, we MUST +# build zlib +# +if test "X$g4vis_build_oiwin32_driver" = "Xy" -o "X$g4vis_build_openglwin32_driver" = "Xy" ; then + # Force build of ZLIB + g4wlib_build_zlib='y' + g4w_use_zlib='y' + echo " " + echo "Configure: Auto-enable builtin zlib to support WIN32 visualization drivers" + echo " " +else + g4message="Enable internal zlib compression for HepRep visualization?" + dflt=$g4wlib_build_zlib + rp=$g4message + . ./myread + gans=$ans case $gans in - - n*|N*) - g4wlib_build_zlib=n - g4w_use_zlib=n - ;; - y*|Y*) - g4wlib_build_zlib=y - g4w_use_zlib=y - ;; + n*|N*) + g4wlib_build_zlib=n + g4w_use_zlib=n + ;; + y*|Y*) + g4wlib_build_zlib=y + g4w_use_zlib=y + ;; esac - - -echo " " - -case "$g4wanalysis_use" in -'') - g4wanalysis_use=n - ;; -esac - -echo "" - -g4message=`cat << EOM - - G4ANALYSIS_USE - -Activates the configuration setup for allowing plugins to -analysis tools based on AIDA (Astract Interfaces for Data -Analysis). In order to use AIDA features and compliant analysis -tools, the proper environment for these tools will have to be -set (see documentation for the specific analysis tools). -EOM` - -dflt=$g4wanalysis_use -rp=$g4message -. ./myread -gans=$ans - - case $gans in - - n*|N*) - g4wanalysis_use=n - ;; - y*|Y*) - g4wanalysis_use=y - ;; - esac - - +fi : end of configuration questions echo " " echo "End of configuration phase." @@ -6761,14 +5852,6 @@ g4vis_xmlibs='$g4vis_xmlibs' g4vis_xmlibs='$g4vis_xmlibs' g4w_use_g3tog4='$g4w_use_g3tog4' g4w_use_zlib='$g4w_use_zlib' -g4wanalysis_build='$g4wanalysis_build' -g4wanalysis_build_jas='$g4wanalysis_build_jas' -g4wanalysis_build_lab='$g4wanalysis_build_lab' -g4wanalysis_build_lizard='$g4wanalysis_build_lizard' -g4wanalysis_use='$g4wanalysis_use' -g4wanalysis_use_jas='$g4wanalysis_use_jas' -g4wanalysis_use_lab='$g4wanalysis_use_lab' -g4wanalysis_use_lizard='$g4wanalysis_use_lizard' g4wlib_build_g3tog4='$g4wlib_build_g3tog4' g4wlib_build_zlib='$g4wlib_build_zlib' g4workdir='$g4workdir' diff --git a/ReleaseNotes/Beta4.9.3-1.txt b/ReleaseNotes/Beta4.9.3-1.txt new file mode 100644 index 0000000000..4bd10cd9f3 --- /dev/null +++ b/ReleaseNotes/Beta4.9.3-1.txt @@ -0,0 +1,552 @@ + + Geant4 9.3-beta-01 Release Notes + -------------------------------- + + 5 June 2009 + +List of main features and fixes included in this Beta release since 9.2.p01: + + o Configuration: + ------------- + + Configure script: + o Rewritten check on make/gmake on WIN32-VC systems to avoid problems + with cygwin and Matlab. + o Added check to build Qt driver only when Qt UI module is built; + reordered 'moc' checks and added cross-check on moc version. + Added safety reset of OpenGL QT build and use variables. + o Commented out echo compatibility warning to address problem + report #1067. + + Corrections in analysis.gmk for AIDA setup on Windows. + + Improved non-standard setup for Qt on Linux, Mac and Windows. + + Removed "-lcxa -lunwind" LOADLIBS addition in Linux-icc.gmk, + no longer necessary since icc version 11.0.083. + + o Digits & Hits: + ------------- + + Replaced usage of non-Standard calls to sprintf() with ostringstream, + to fix compilation errors reported by gcc-4.4.0 compiler. + + o Environments: + ------------ + + G4Py: updated configuration scripts and some minor fixes. + + o Error Propagation: + ----------------- + + Inclusion of pi+, pi- and proton in physics list. + + Added possibility to account for error deflation + (needed to make 'smoothing'). + + o Geometry: + -------- + + divisions: + o Allow for generic divisions along Z for polyhedras and polycones; now + divisions can happen along z-axis with width and offset, which fulfils + the condition that division does not span over more than one segment. + o Fixed initialization of division in Phi for polyhedras to avoid taking + into account user defined width. + + magnetic field: + o Added 3rd term of BMT equation (Spin x Beta x Efield) to + G4EqEMFieldWithSpin, as reported in the Emfield Hypernews Forum + posting #155. + o Moved renormalization of spin from G4EqEMFieldWithSpin and + G4Mag_SpinEqRhs to G4ClassicalRK4 and G4SimpleHeum. + o Added Spin propagation errors to the criteria for 'OneGoodStep' in + G4MagIntegratorDriver; not added it yet to the decision logic. + o Enhanced algorithm for ApproxCurvePointS() in G4ChordFinder speeding + up Brent locator. + o Some code cleanup and formatting. + + management: + o Fixed initialisation of min/max extent in method BuildReplicaVoxels() + in G4SmartVoxelHeader. + o Adopt 'const' references for strings as arguments/return-values in + G4LogicalSurface. Some minor cleanup... + + navigation: + o Fix in G4Navigator::ComputeStep() for the computation of rotation of + the 'LocalExitNormal' in cases when DistanceToOut() returns non-valid + normal for optical photons in rotated solids. + Addresses problem report #1059. + o Fix in G4PathFinder: a geometry is at a boundary if its step is within + tolerance of the minimum step for any defined geometry. + o Fix in G4PropagatorInField::SetNavigator() to forward new navigator to + G4VIntersectionLocator. Corrects handling of parallel geometries. + o Enhanced algorithm to speed up Brent intersection locator for propagation + in field. + o Fix in the usage of the geometrical tolerance in G4VIntersectionLocator + in method AdjustementOfFoundIntersection(). + o Added method BuildContainerSolid() taking a solid as argument to + G4PhantomParameterisation. Added protection to GetMaterialIndex() + for zero index. + + solids/CSG: + o Implemented speed improvements and corrections in G4Sphere from joint + code review: cached computation for half-tolerances and use of Boolean + flag for identifying if full-sphere, shell or section; implemented + caching of trigonometric values, now directly computed inside modifiers + for Phi and Theta angles as required for parametrised cases; + rationalised usage of relative radial tolerances. + o Implemented correction to G4Sphere::DistanceToOut(p,v, ...) for phi + sections for rays passing through zero. + o G4Tubs, G4Cons: rationalised usage of modifiers for Phi angles and + simplified constructors. + + solids/specific: + o Corrected implementation of GetSurfaceArea() in base class G4VCSGFaceted, + which was erroneously returning cubic volume estimation. Addresses + problem report #1062. + o Relaxed error condition in G4TessellatedSolid::Inside(p) to warning, + for excess of max trials and anomalous conditions in distance + calculation. Added more printout information when error condition is + detected. + + o Global: + ------ + + G4PhysicsVector: added method ComputeSecondDerivatives() for the case + when user provides first derivative at end-points (4 bins minimum); + use "Not-a-Knot" algorithm for computing second derivatives + in default method FillSecondDerivatives() (5 bins minimum); + for smaller number of bins the linear interpolation is used. + + Added G4ErrorStage enum to G4ErrorPropagatorData class. + + Changed date for release 9.3-beta. + + o Graphical Representations: + ------------------------- + + G4VVisManager: added notify scene handlers (G4VGraphicsScene objects) + which inform that the scene has changed, so that handlers can + rebuild their graphics database (if it exists) and redraw all views. + + G4VMarker: added enum 'SizeType' {none, world, screen}; + added GetSizeType() and SetSize/Diameter/Radius() methods. + + o Intercoms: + --------- + + G4UIcommandTree: improved completion of commands for GUIs by sharing + code of X and Xm drivers with the Qt driver. + + o Interfaces: + ---------- + + G4UIExecutive: new class for automatic instantiation of user interactive + sessions. + + G4VBasicShell.cc: better command completion in command line. + + G4VUIshell: added SetLsColor() method. + + G4UIQt: new interactor for adding button on file and help menu; + added public method to get the MainWindow. Fixed compilation warnings. + + o Materials: + --------- + + Implemented migration of ICRU 73 stopping power classes to the + G4VIonDEDXTable interface: + o Access methods of physics vectors have changed (vectors can also be + identified via atomic number of material if material is pure); + o Classes now deliver mass stopping powers instead of stopping powers + per unit length + o Dependency on ICRU 73 material densities was removed (no densities + are included in the classes anymore). + o Stopping power vectors are now built on request. + + G4IonStoppingICRU73: extended upper limit of the data vector from + 10 MeV to 1 GeV, using 53 bins; added G4WATER data and fixed GetDEDX() + methods in these classes for E=10 MeV (upper limit). + + G4NistMaterialBuilder: mean ionisation potential for G4_WATER is changed + to 78 eV according to GSI Annual Report (2008) p.373, in order to be + consistent with ICRU'73 tables. + + Fixed ICRU'73 data for G4WATER, G4WATER_VAPOR, G4NYLON-6/6 (in + G4MaterialStoppingICRU73) and G4_Cu (in G4SimpleMaterialStoppingICRU73). + + New utility class G4ExtDEDXTable to handle external electronic + stopping power tables for ions. + + Use 'const' references for strings as arguments/return-values in material + properties tables and related classes. Inlined methods and minor cleanup. + + Added Entries() method to G4MaterialPropertyVector and accessors for maps + in G4MaterialPropertiesTable, required for internal use in persistency of + material properties. Make visible GetEntry() accessor in + G4MaterialPropertyVector for use restricted to persistency. + + o Particles: + --------- + + Added method GetNuclearMass(A,Z) in G4NuclearProperty. + + Use new class G4NucleiPropertiesTableAME03 for atomic masses. Including + data updated to the Ame-2003 atomic mass evaluation (II) by G.Audi, + A.H.Wapstra and C.Thibault, Nuclear Physics A729, 2003. + + Ensure that the boost beta value is less than 1 in + G4MuonRadiativeDecayChannelWithSpin. + + Added CalculateAnomaly() method for magnetic moment in + G4ParticleDefinition. + + Fixed use of std::fabs() in place of std::abs(). + + o Persistency (GDML): + ------------------ + + Correction in materials and solids tags to allow parsing of + definitions within the tag scope; possibility foreseen by the schema. + + Correction in G4GDMLWriteSolids::BooleanWrite() in order to handle + cases of nested displaced solids given to both operands in a Boolean + operation (ATLAS use case). + + Implemented virtual layer to allow customisation of the writer for + user-extended schemas. + + Implemented ability to write surface properties associated to volumes + and material properties. + + Allow for reading/writing of constant material properties. + + Defined missing copy constructor and operator=() to G4GDMLMatrix + internal class, to avoid cases of memory corruption when handling + matrices. + + Restricted usage of loops only for placement of volumes. Now correctly + handles most common use-case of multiple copies of the same volume/solid + through loop statement. Addressing problem report #1063. + + Renamed flag for maximum number of transformations applied to a solid + and moved to G4GDMLWriteSolids base class. + + Code cleanup: rationalised inclusion of headers, replacing them with + forward declarations where possible. + + Added empty default constructor and virtual destructor to classes in the + inheritance chain. + + o Physics Lists: + ------------- + + Added builders for DNA, Livermore and Penelope physics processes. + + Added QGSP_FTFP_BERT based on QGSP_BERT replacing the bridging LEP + with FTFP, and transitioning from BERT to FTFP between 7 and 9 GeV. + + Added FTFP_BERT_TRV as variant of FTFP_BERT with transition between + 6 and 8 GeV. + + Added MaxEnergy() method in FTF builders. + + Added two new physics lists QGSC_QGSC and QGSC_CHIPS. + QGSC_QGSC physics list uses the QGS model with the MultiSoft + interface to CHIPS at all energies, starting from E=0. For neutrons + it still uses LEP (LHEP) models for the radioactive capture and fission. + QGSC_CHIPS physics list uses the QGS model with the EnergyFlow + interface to CHIPS at all energies. For the pA interactions the + native CHIPS process G4QCollision is used below 290 MeV. The QGSC and + G4QCollision processes are unified in one process by the CHIPS + G4QDiscProcessMixer interface. Added the corresponding physics builders. + + Added new physics-lists with special EM options: FTFP_BERT_EMV, + FTFP_BERT_EMX, QGSP_BERT_EMX, QGSP_BIC_EMY (opt3 EM physics). + + Declared obsolete several unused lists, partially disabling their use: + o Obsolete and disabled: + FTF_EMV, replacement FTFP_BERT_EMV + QGSC_EFLOW, replacement QGSC_CHIPS + QGSP_EMX, replacement QGSP_BERT_EMX + o Obsolete: + FTFC, LHEP_BERT, LHEP_BERT_HP, LHEP_PRECO_HP + QGSP_BERT_DIF, QGSP_BERT_NQE, QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, + QGSP_NQE, QGSP_QEL + + G4PhysicsListFactory: updated list of supported PhysLists. + + G4EmStandardPhysics, G4EmStandardPhysics_option1: use 9.2 msc model + for e+-. + + G4EmStandardPhysics_option2: use G4WentzelVIModel for e+/e-. + + G4EmStandardPhysics_option3: use updated multiple scattering model + G4UrbanMscModel2 and G4RayleighScattering process. + + Fix in G4HadronInelasticQBBC: cross sections are created dynamically + not by value, fission only instantiated for HP. + + Fix to address problem report #1056: all cross section data sets are + created dynamically and no longer member of the class. + + Inline constructor and destructors are moved to source for classes: + G4VNeutronBuilder, G4VPiKBuilder, G4VProtonBuilder, G4WarnPLStatus. + + o Electromagnetic Processes: + ------------------------- + + High Energy: + o Simplified initialisation in G4mplIonisationModel for monopole and + G4eeToHadronsMultiModel. + o Some code cleanup: improved comments, avoid inlined virtual methods. + + Low Energy: + o Added G4PenelopeBremsstrahlungModel, namely Bremsstrahlung according + to Penelope model, inheriting from G4VEmModel. Completes migration + to common 'Standard' design for all Penelope processes. + o Added G4RayleighScattering process to describe Rayleigh scattering + and removed G4Rayleigh class to avoid duplication. + o Added G4LivermoreIonisationModel, first implementation of + LowEnergyIonisation in the common design. + o Updated public interface of G4eIonisationCrossSectionHandler in order + to facilitate migration from G4LowEnergyIonisation to + G4LivermoreIonisationModel. + o Replaced old version of G4IonParametrisedLossModel with newer one. + Added G4IonDEDXHandler, for use by the new G4IonParametrisedLossModel + class. removed old handler class G4IonParametrisedLossTable. + o Added G4VIonDEDXScalingAlgorithm, which is used by G4IonDEDXHandler. + o Added new scaling algorithm, G4IonDEDXScalingICRU73, to obtain heavy + ion stopping powers for ions not covered by ICRU 73 report (scaled + from existing ICRU 73 data). Included algorithm in ion model, + G4IonParametrisedLossModel, extending its applicability to very heavy + ions. + o Added protections in G4eIonisationSpectrum and G4eIonisationParameters, + addressing problem report #1042. + o First fully tested version of G4LivermoreBremsstrahlungModel + All Livermore models are migrated. + o Updated Livermore photon processes classes for handling of compound + materials. + o Set default angular generator in G4LivermorePhotoElectric to + Sauter-Gavrila. + o Added check of particle type and energy range in cross section + computation of Livermore photon processes. + o Changed energy range display for migrated Livermore photon processes + o New migrated Geant4-DNA processes and models. + o Added ability for DNA charge change processes to kill particle without + total energy deposit. + o Added proton case in G4CrossSectionExcitationMillerGreenPartial. + o Added angle initialisation in G4DNAScreenedRutherfordElasticModel. + o Added several corrections to migrated Geant4-DNA processes and allow + for compatibility with general EM utility classes. + o Improved energy limit display in Geant4-DNA model classes. + o Fixed cross section computation problem in + G4DNAScreenedRutherfordElasticModel and G4DNAChampionElasticModel. + o Increased energy range validity of e- elastic Champion model up to + 10 MeV. From this tag, G4LEDATA data set version 6.5 is needed. + o Added message to obsolete non-migrated Geant4-DNA cross section and + final state classes, and non-migrated Livermore and Penelope classes. + o Cleared annoying printout from G4AugerData AugerTransitionTable. + + Muons: + o G4MuIonisation: fixed initialisation to allow for configuring + external model of fluctuations. + o Simplified initialisation in G4MuBetheBlochModel, + G4MuBremsstrahlungModel and G4MuPairProductionModel. + o G4MuPairProductionModel: added protection for the case when + 'maxPairEnergy' is less than 'minPairEnergy' (empty interval for + energy transfer observed for rare case with kaons). + o Some code cleanup: improved comments, avoid inlined virtual methods. + + Polarisation: + o Simplified initialisation in G4PolarizedAnnihilationModel. + + Standard: + o G4UrbanMscModel2: new tuning for the central part and for the tail of + the angular distribution using the old e- scattering data only + (Phys. Rev. 84 (1951) 634; Phys. Rev. 61 (1942) 254); new version of + theta0 and correction in tail tuning using MuScat data. + o G4UrbanMscModel: frozen version of G4UrbanMscModel2 from release 9.2. + o G4WentzelVIModel, G4eCoulombScattering, G4CoulombScattering: added + relativistic factor to Rutherford cross section; set default limit + on kinetic energy of the recoil 100 KeV. Reduced low-limit from 1 KeV + to 0.1 KeV to provide smooth transport cross section table. + Substituted scaling of low-energy limit by setting 1 keV for all + particles; use EGSnrc form of screening parameter (second order + correction). Use generic methods of G4VMscModel to access safety and + other geometrical information. + o Simplified initialisation of all models and some code cleanup: improved + comments, avoid inlined virtual methods. + o G4UniversalFluctuation: modification in width correction, the + dependence of the correction on energy deposition at previous steps + is now fixed. Addresses report from T2K setup. + o Added new multiple-scattering model for e+- G4GoudsmitSaundersonMscModel. + o Added new class G4HeatedKleinNishinaCompton, prototype model for plasma. + o G4PairProductionRelModel: new relativistic model for gamma conversion. + o G4PEEffectModel: substitute ComputeMeanFreePath() by + CrossSectionPerVolume() resulting in minor CPU speedup for compound + materials. + o G4PAIModel, G4PAIPhotonModel: removed usage of random numbers at + initialisation, to avoid potential non-reproducibility issues. + o G4BetheBlochModel: fixed and simplified initialisation for ions needed + for the new G4IonParametrisedLossModel of low-energy package. + o G4IonFluctuations: removed extra phenomenological factor in fluctuation + width. + o G4WaterStopping: use updated ICRU'73 data. + + Utils: + o G4VEmModel: changed to protected the methods to access geometrical + information ; added new method SetSampleZ() and + SampleDeexcitationAlongStep(); multiple-scattering methods are moved + to G4VMscModel; added protected methods for initialisation of + ParticleChange. + o G4VMscModel: added methods InitialiseSafetyHelper(), ComputeSafety(), + ComputeGeomLimit() and ComputeDisplacement(). + o G4VMscModel, G4VMultipleScattering: set default Range Factor to 0.04. + o G4VEmProcess: added possibility for more than one model in SetEmModel() + method. + o G4VEnergyLossProcess, G4VEmProcess: added calls to de-excitation + PostStep. Added ActivateDeexcitation() method in G4EmProcessOptions + and '/process/em/deexcitation' UI command to messenger. + Added de-excitation AlongStep per region. + o G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: set high + energy limit to 10 TeV and number of bins to 77. Added initialisation + of G4EmConfigurator. + o G4LossTableBuilder: added protection in BuildRangeTable() against + zero dEdx. + o G4EmCalculator: extended use to DNA low-energy processes; take into + account special DNA particles. + o Ability to obtain pointer to G4EmConfigurator from G4LossTableManager + simplifies user code for adding models per region. + o G4EmModelManager: fixed the algorithm for selection of model by its + energy range for the case of a small intersection of model energy + intervals. Used for potential small overlap of energy regions of + standard and low-energy models. + o G4EmElementSelector: added protection for zero cross section at first + and last bins of physics vector; do not use Spline interpolation. + o Some code cleanup: improved comments, avoid inlined virtual methods. + + o Hadronic Processes: + ------------------ + + cross_sections + o Added new Glauber-Gribov cross section for ions, + G4GGNuclNuclCrossSection. + o G4IonsKoxCrossSection, G4IonsShenCrossSection, G4TripathiCrossSection, + G4TripathiLightCrossSection: added protections against numerical FPE + exceptions. + + models/chiral_inv_phase_space + o Tuning of the G4QCollision for better description of the pA + interactions (E<290 MeV). + o Improvement of G4QuasiFreeRatios for application in QGSC from E=0. + o Order of models is changed in G4QDiscProcessMixer (was from L to H, + now from H to L). + o Bug fix in 'body' module against division by zero in G4QEnvironment. + o Improvement for case when the Hypernucleus cannot decay into + residual nucleus and pion; now it is decayed into residual nucleus + and gamma. + o For rare cases of the output hadron mass below the GS mass avoid + exception in the G4QEnvironment class; use 'As-Is' filling for the + hadron with appropriate warning. + o Cleared warning in elastic scattering for low energy nHe and pHe + reactions. + o Added safety check of 'nDelta' in the hadronization probability + calculations in G4Quasmon. + o Adapted to new signature of GetNuclearMass(A,Z) with integer + arguments. + o Improved readability of the CHIPS code (get rid of tab's) and + code improvements. + + models/coherent_elastic + o Model precise sampling and 'on the fly' table preparation in + G4DiffuseElastic. + + models/de_excitation + o Fixes to GEM code, in G4GEMProbability and G4GEMChannel. + o Fixed 4-momentum balance by using direct Lorentz computations in + G4CompetitiveFission. Make use of internal units. + + models/neutron_hp + o Fixed bug in IC electron emissions for G4NeutronHPPhotonDist and + G4NeutronHPInelasticCompFS. + + models/parton_string/hadronization + o Changed pt sampling in G4LundStringFragmentation to avoid near endless + loop; this should improve overall performance slightly. + Addresses problem report #1066. Affected G4VLongitudinalStringDecay, + where SampleQuarkPt() is implemented; added new optional argument of + max Pt to SampleQuarkPt(). + o Removed warning in G4ExcitedStringDecay for applying QGSC from zero + energy. + - models/parton_string/qgsm + o Fix in G4SPBaryon for anti-baryon: a diquark & quark was given instead + of anti-diquark & antiquark; note the reverse order, too. + Fixes problems with incident anti-baryons, e.g. anti-proton, + manifesting in problems with forming hadrons. + o Modifications in G4GammaParticipants and G4QGSParticipants for + applying QGSC from zero energy. + + models/qmd + o Fixed bug in gamma (mass zero) participants in G4QMDCollision. + o Changed object data member to pointer in G4QMDReaction. + + models/rpg + o Removed global variables (pointers to static particle definitions) in + G4RPGInelastic and replaced with local array. Fixed issues of wrong + order for static initialization. + + models/theo_high_energy + o Quasi Elastic part is used in QGSC at low energies to improve + the performance of QGSC at low energies. + + processes + o Fix to address problem report #1056: cross section data set now are + created dynamically in G4PhotoNuclearProcess, G4ElectronNuclearProcess + and G4PositronNuclearProcess. + o Moved inline constructor and destructors to source in class + G4PositronNuclearProcess. + + o Generic Processes: + ----------------- + + Cuts: + o Replaced usage of std::abs() with std::fabs() where appropriate. + + Optical: + o Fix in G4OpBoundaryProcess for complex index of refraction: resample + the reflectivity every time for DielectricMetal, and do not + re-calculate normal to facet; also fixed possible infinite loop by + resetting iTE and iTM inside GetReflectivity(). + o Added exception for cases where invalid normal is returned; following + problem report #1060. + + o Track: + ----- + + Modified implementation of GetVelocity() for particle-change for + performance improvement. + + Set 'lowEnergyLimit' to 1 eV in G4ParticleChangeForLoss. + + o Visualization: + ------------- + + HepRep: + o Resolved compilation error reported by gcc-4.4.0. + + o Data Sets: + --------- + + G4EMLOW-6.5: + o Corrected corrupted data files: ioni/ion-sp-38.dat, ioni/ion-sp-56.dat + and ioni/ion-sp-57.dat. Addresses problem report #1042. + o Extended energy range of Champion e- elastic scattering model from + 10 KeV up to 10 MeV. + + o Examples: + -------- + + Various fixes, improvements, adoption of new features. + + advanced/amsEcal + o New example implementing the AMS Ecal calorimeter. + + advanced/hadrontherapy: + o Reviewed physics implementation. Now Hadrontherapy can be launched + with physics-lists, packages and built-in physics models. + All models can be activated via macro command. + o Enabled use of new implementation of low-energy Livermore and + Penelope models + o Improved HadrontherapyModulator. + o Corrected stepMax value in each macro in order to avoid wrong dose + deposition in the first slice. + o Corrected a bug in the call of a physics-list and in proton_therapy.mac. + o Modified and revised the README (now in PDF format) and macro files. + + advanced/microbeam + o Updated physics-list to combination of migrated Livermore processes + and standard EM processes. + o Corrected plotting fuctions and switching field value. + + advanced/microdosimetry + o Updated physics-list to migrated Geant4-DNA processes. + Modified SteppingAction accordingly. Updated README. + + advanced/nanobeam + o Fixed compilation warnings on gcc-4.3 on SLC5. + + advanced/radiation_monitor + o Added macros reproducing run results: new results with proton at + 254MeV, 150 Mev and 50 Mev of energy; new macros with Kapton material. + o Changed limits of LENeutronInelastic for 0.1 GeV in + RadmonPhysicsNeutronBertini and RadmonPhysicsNeutronBinary classes. + o Fix for compilation error in RadmonTLabelledCollection. + + advanced/xray_fluorescence + o Reviewed physics setup and analysis. + + extended/analysis/AnaEx01 + o Corrected GNUmakefile and some cleanup. + + extended/electromagnetic/TestEm3 + o Fix to HistoManager::PrintHisto(): avoid empty ascii file. + + extended/electromagnetic/TestEm5 + o Added missing notification to G4RunManager when geometry or material + are modified between runs. + o Added PAI models configuration to Physics List. + + extended/electromagnetic/TestEm6 + o Increased upper limit of energy in the tables to 1000 TeV. + + extended/electromagnetic/TestEm18 + o Changes to PhysicsList. + + extended/field/field04 + o Commented out timing on initial seed to allow for reproducibility of + results. + + extended/hadronic/Hadr01 + o Updated physics-list. + + extended/medical/fanoCavity + o Corrected computation of 'error' in EndOfRun. + + extended/persistency/gdml/G01 + o Added new GDML samples for matrices+loops and optical-surfaces. + o Added missing inclusion of headers in main() translation unit. + + extended/persistency/gdml/G02 + o Added missing inclusion of headers after cleanup. + + extended/persistency/gdml/G03 + o Extended example to show also capability to write extended schema; + Added custom writer class. + o Renamed translation unit for main to "gdml_ext.cc". + o Added missing inclusion of headers after cleanup. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o Official platforms: + + Linux, gcc-4.1.2, gcc-4.3.2. + Tested on 32 bits architectures and 64 bits architectures + (Intel or AMD) with the Scientific Linux CERN 5 (SLC5) distribution + (based on RedHat Linux Enterprise 5). + Versions of Geant4 have also been compiled successfully on other + Linux distributions, like Debian, Suse or other RedHat systems. + + MacOSX 10.5, gcc-4.0.1 + + Windows/XP and CygWin Tools with: Visual C++ 9.0 (Visual Studio 2008) + + o More verified configurations: + + Linux, gcc-4.4.0 + + Linux, Intel-icc 11.0 + + o Geant4 9.3-beta-01 requires the installation of CLHEP-2.0.4.2. + + Please refer to the Geant4 User Documentation: + http://cern.ch/geant4/support/userdocuments.shtml + for further information about using Geant4. diff --git a/ReleaseNotes/Patch4.9.2-1.txt b/ReleaseNotes/Patch4.9.2-1.txt new file mode 100644 index 0000000000..2016270f27 --- /dev/null +++ b/ReleaseNotes/Patch4.9.2-1.txt @@ -0,0 +1,216 @@ + + Geant4 9.2 - patch-01 Release Notes + ----------------------------------- + + 13 March 2009 + +List of fixes included in this public patch since the public release 9.2: + + o Configuration: + ------------- + + Configure script: corrected handling of G4LEDATA and G4LEVELGAMMADATA + paths in generated configuration scripts. + Addresses problem report #1037 and #1039. + + common.gmk, globlib.gmk source/GNUmakefile: remove moc sources in clean + targets. + + Linux-g++.gmk: simplified Qt setup to conform to standard Qt installation. + + Added -lXi to X11LIBS for Linux-g++, Linux-icc and WIN32-g++ + configurations, required for correct linkage with OpenInventor Coin3D + libraries. + + o Digits_Hits: + ----------- + + Fixed incorrect volume size for cylindrical parameterized volume used + in various scorers. + + o Geometry: + -------- + + navigation: + o Fixed problem in G4BrentLocator::EstimateIntersectionPoint() responsible + for rare cases of negative steps. + o Added G4RegularNavigationHelper class, used by G4RegularNavigation for + counting the number of step lengths in each voxel of the regular + structure. Forgotten inclusion in 9.2. + o Some code cleanup... + + solids/specific: + o Fix in G4Paraboloid::DistanceToOut(p,v,..) for the computation of + normal to surface; added missing normalisation to unit, following + remark in the Geometry Forum Hypernews posting #953. + + o Global: + ------ + + Correction in management/GNUmakefile to CPPFLAGS, adding G4RF_DEBUG + in case enabled. + + Changed date for patch-01 to release 9.2. + + o Low-energy Electromagnetic Processes: + ------------------------------------ + + Suppressed warning message in Penelope PhotoElectric process + (G4PenelopePhotoElectric and G4PenelopePhotoElectricModel) from + G4AtomicTransitionManager appearing for some elements (Oxygen, Fluorine). + + Corrected energy limits in G4CrossSectionIonisationBornPartial. + + Added proton case in G4CrossSectionExcitationMillerGreenPartial + and added protection for water excitation energy. + + Added 'kill particle without total energy deposit' feature for + DNA charge change processes. + + Added protections against FPE in G4hLowEnergyLoss. + + Fixes problem report 953 (also report in Hypernews EM forum #893). + + Fixed bug for ICRU73 ion model. + + o Materials: + --------- + + G4MaterialStoppingICRU73: added 4 missing materials from ICRU'73. + + G4SimpleMaterialStoppingICRU73: fixed typo in density of Mo. + + o Hadronic Processes: + ------------------ + + cross_sections: + o Improvements for clearing of memory at end of application: + + G4CrossSectionDataStore: added Clean() method; constructor and + destructor no longer inline; added destruction of data sets; + use std::vector instead of flat arrays. + + G4CrossSectionDataSetRegistry: new singleton to keep pointers to + cross-section data sets. + + G4VCrossSectiondataSet: constructor and detructor no longer inline; + added registration/deregistration mechanism. + + management: + o G4HadronicProcessStore: activated destruction of processes at + application closure; added Clean() method and cleanup of model and + cross section stores. + + models/cascade: + o Corrected absorption coefficient to be set to 1.0 instead of 0.2 + inside G4CascadSpecialFunctions. Small differences are observed for + calorimeter observables in Bertini physics-lists, resulting in slightly + wider lateral shower shapes. + + models/chiral_inv_phase_space/interface + o Added de-registration in destructor of G4QCaptureAtRest. + o Added string decay destruction to G4ElectroNuclearReaction. + + models/de_excitation: + o Added smearing of Coloumb barriers for d, t, he3 and alpha particles. + o Fix in G4FissionProbability for computation of EmissionProbability(); + returned value was wrong due to missing parenthesis in the + implementation of the formula. + o Fix to substitute 'hbar_Plank' with 'hbarc' in G4EvaporationProbability. + o Fixed leaks in singleton classes in the util module. + o Corrected some inlining of constructors/destructors for base classes + and usage of virtual specification. + + models/management: + o G4HadronicInteractionRegistry: modified to conform to singleton + definition. + o G4HadronicInteraction, G4InelasticInteraction: made constructor, + destructor and some other methods not inline. + + models/photolepton_hadron/muon_nuclear + o Added de-registration of G4MuNuclearInteraction process. + + models/pre_equilibrium: + o G4PreCompoundIon: fixed probability of light ion emission. + o G4PreCompoundXXX: added decrease of Coulomb barrier for d, t, a, he3. + o Some cleanup of comments and formatting... + + stopping: + o Activated registration/de-registration for all LHEP processes. + + util: + o G4StableIsotopes: filled in missing isotope names. + + o Generic Processes: + ----------------- + + Optical: + o Fix to G4OpBoundaryProcess to address problem report #1040. + + o Persistency: + ----------- + + ascii: + o Fix in delta theta for handling of G4Sphere, and renaming 'phiTotal' + to 'phiDelta' for the relevant solids in G4tgbVolume implementation. + o Bug fix in definition of delta angle for all solids with section in + Phi in G4tgbVolume. Take into consideration tolerance. + + gdml: + o Fixed association of entities in nested loops for solids and materials. + o Strip off white spaces from names G4GDMLWrite::GenerateName(), to avoid + parsing problems in imported files. + o Corrected treatment of brackets and indeces for matrices in + G4GDMLEvaluator. Fixes problem report #1048. + o Fix in G4GDMLStructure class for missing caching of auxiliary + information from child modules, causing auxiliary information defined + within separated modules to get lost and therefore not assigned to + volumes. Fixes problem report #1049. + o Changed post-fix"_refl" to "_PV" for placements made through the + reflection-factory. + o Added possibility to check overlaps by activating/de-activating the + built-in surface check for placement and parameterised volumes. + By default the overlap check is off. To activate it, use call to the + parser 'SetOverlapCheck(true)' before reading the GDML file. + Required for resolving overlap issues fixed above. + + o Particles: + --------- + + Fixed values of masses for light ions. + + Optimised G4IonTable::IsIon() implementation for usage of strings. + + o Physics Lists: + ------------- + + G4HadronInelasticQBBC: use G4StringChipsParticleLevelInterface instead + of obsolete G4StringChipsInterface. + + G4MiscLHEPBuilder: create processes dynamically for proper deletion at + the end of job. + + o Tracking: + -------- + + Fixed issue in G4SteppingManager for the special cases of skipping voxel + boundaries in G4RegularNavigation. + + o Visualization: + ------------- + + Fixed problem in ratio and geometry on X/Xm/Qt/Win32 viewers. + Now possible to pass XString like 400x600-0+0 to viewers, set position + and location. + + Corrected use of G4DEBUG with G4DEBUG_VIS_OGL in OpenGL-Qt code. + + o Examples: + -------- + + advanced/brachytherapy: + o Fixed compilation errors and warnings when G4ANALYSIS_USE is not set. + + advanced/composite_calorimeter: + o Fixed compilation warnings in CCalRunAction and CCalEndOfEventAction. + + advanced/hadrontherapy: + o Fixed a compilation warnings in HIIonLEP. + + advanced/human_phantom: + o Migrated GDML read setup to use embedded GDML reader as in Geant4 9.2. + o Corrected URL for standard location of schema in all GDML files. + o Use "OrganPos" and "OrganRot" as names for organs's transformations in + ORNL files, as implied by code. + o Fixed 'solids' tag in ORNLLeftLegBone.gdml files for male and female. + o Fixed compilation warnings and updated README. + + advanced/microbeam: + o Correction in MicrobeamEMField to use logical '&&', not bit '&' in + conditional statements. + + advanced/nanobeam: + o Correction in TabulatedField3D to use logical '&&', not bit '&' in + conditional statements. + + extended/medical/DICOM: + o Added report on dose per voxel. + o Fixed use pf class G4RegularNavigationHistory for counting of step + lengths in voxels of the regular structure; forgotten inclusion in + release 9.2. + + extended/persistency/gdml/G02: + o Guarded usage of G4UITCSH with G4UI_USE_TCSH flag, to allow for + compilation on Windows. + o Added visualization properties for world volume in DetectorConstruction + to avoid run-time warning. + o Corrected loading of default geometry with assembly, resolving some + overlaps introduced by mistake. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o This patch should be applied on top of release 9.2 + o Technical notes distributed for release 9.2 are also applicable and + valid for this patch. + +The code and rebuilt binary libraries for release 9.2 are available +through our "Download" Web page: + http://cern.ch/geant4/support/download.shtml + +Please refer to the Geant4 User Documentation: + http://cern.ch/geant4/support/userdocuments.shtml +for further information about using Geant4. diff --git a/ReleaseNotes/Patch4.9.2-2.txt b/ReleaseNotes/Patch4.9.2-2.txt new file mode 100644 index 0000000000..84849c852b --- /dev/null +++ b/ReleaseNotes/Patch4.9.2-2.txt @@ -0,0 +1,254 @@ + + Geant4 9.2 - patch-02 Release Notes + ----------------------------------- + + 28 August 2009 + +List of fixes included in this public patch since the public release 9.2.p01: + + o Configuration: + ------------- + + Configure script: + o Rewritten check on make/gmake on WIN32-VC systems to avoid problems + with cygwin and Matlab. + o Added check to build Qt driver only when Qt UI module is built; + reordered moc checks and added cross-check on moc version. + Added safety reset of OpenGL QT build and use variables. + o Commented out echo compatibility warning. + Addresses problem report #1067. + + Corrections in analysis.gmk for AIDA setup on Windows. + + Improved non-standard setup for Qt on Linux, Mac and Windows. + + Removed "-lcxa -lunwind" LOADLIBS addition in Linux-icc.gmk, + no longer necessary since icc version 11.0.083. + + Added -arch_multiple option to LDFLAGS in Darwin-g++.gmk to force more + diagnostics for wrong architecture errors at link stage. + + binmake.gmk: moved definition of TARGOBJEXT to place not dependent + on G4EXLIB, such that the extension is defined when no lib is present + (change required for upgrading exercisers in testing). + + o Digits_Hits: + ----------- + + Replaced usage of non-Standard calls to sprintf() with ostringstream, + to fix compilation errors reported by gcc-4.4.0 compiler. + + o Environments: + ------------ + + G4Py: updated configuration scripts and some minor fixes. + + o Event: + ----- + + Minor changes to G4GeneralParticleSourceMessenger to now use full range + of predefined units for length, energy and angle. + + Fixed gcc-4.4.0 compilation warning message for non-initialised variable + in G4SPSEneDistribution. + + o Geometry: + -------- + + magnetic_field: + o Minor enhancement in G4ChordFinder::ApproxCurvePointS() in order to + speedup Brent locator. + o Added 3rd term of BMT equation (Spin x Beta x Efield) to + G4EqEMFieldWithSpin, as reported in the Emfield Hypernews Forum + posting #155. + o Moved renormalization of spin from G4EqEMFieldWithSpin and + G4Mag_SpinEqRhs to G4ClassicalRK4 and G4SimpleHeum. + o Added Spin propagation errors to the criteria for 'OneGoodStep' in + G4MagIntegratorDriver; not added it yet to the decision logic. + o Some code cleanup and formatting. + + management: + o Added explicit initialisation of min/max extent in method + BuildReplicaVoxels() in G4SmartVoxelHeader. + o Adopt 'const' references for strings as arguments/return-values in + G4LogicalSurface. Some minor cleanup... + + navigation: + o Fix in G4Navigator::ComputeStep() for the computation of rotation of + the 'LocalExitNormal' in cases when DistanceToOut() returns non-valid + normal for optical photons in rotated solids. + Addresses problem report #1059. + o Fix in G4PathFinder: a geometry is at a boundary if its step is within + tolerance of the minimum step for any defined geometry. + o Enhancement to the 'FB_intersects' algorithm in order to speedup Brent + locator. + o Fix in the usage of the geometrical tolerance in G4VIntersectionLocator + in method AdjustementOfFoundIntersection(). + o Fix in G4PropagatorInField::SetNavigator() to forward new navigator to + G4VIntersectionLocator. + o Added method BuildContainerSolid() taking a solid as argument to + G4PhantomParameterisation and added protection to GetMaterialIndex() + for zero index. + + solids/CSG: + o Introduced to DistanceToIn(p,v) splitting of the distance for point + very far from intersection area and big difference between solid + dimensions and distance to it; resolves issue observed on 64 bits + systems. Affected solids: G4Tubs, G4Cons, G4Sphere, G4Orb. + Addresses problem report #1022. + + solids/specific: + o G4Ellipsoid: + - Fixes in Inside(p) and in DistanceToIn(p,v) for points + located on the curved surface within tolerance. Final fix for issue + reported in problem report #1050 and concerning warnings reported by + grid_test. + - Introduced to DistanceToIn(p,v) splitting of the distance for + point very far from intersection area and big difference between + solid dimensions and distance to it; resolves issue observed on + 64 bits problem. Also addressing problem report #1022. + - Fix to DistanceToIn(p,v) in the calculation of the roots of + the quadratic equation and in DistanceToOut(p,v) in the calculation + of the normal on cut surfaces. Final fix for problem report #1022. + - Adopt pre-computed half-tolerance values for optimisation. + o G4PolyconeSide: added protection in method Normal(). + Addressing problem report #1073. + o Corrected typo in base implementation of GetSurfaceArea() in + G4VCSGfaceted, which was erroneously returning cubic volume estimation. + Addresses problem report #1062. + o Relaxed error in G4TessellatedSolid::Inside(p) to warning, + for excess of max trials and anomalous conditions in distance + calculation. Added more printout information when error condition is + detected. + + volumes: + o Get rid of unnecessary call to Reset() in G4NavigationHistory + destructor. + o Some code formatting. + + o Global: + ------ + + Some improvements to G4String and G4SubString implementation of + operators and comparison stub functions, to reduce generation of + temporaries. Removed obsolete static hash(s) method in G4String. + + Changed date for patch-02 to release 9.2. + + o Particles: + --------- + + Ascertain that the absolute of the argument to boost is <1.0 + in G4MuonRadiativeDecayChannelWithSpin. + + o Standard Electromagnetic Processes: + ---------------------------------- + + Muons: added protection against numerical problem due to negative + value of transfered energy in G4MuPairProductionModel. + + o Hadronic Processes: + ------------------ + + cross_sections: + o G4IonsKoxCrossSection, G4IonsShenCrossSection, G4TripathiCrossSection, + G4TripathiLightCrossSection: added protections against numerical + exceptions. Added simple check that cross-section is positive and + removed not optimal control in G4TripathiLightIonCrossSection class. + Added default constructor and destructor to G4TripathiCrossSection. + o G4GGNuclNuclCrossSection: updated Glauber-Gribov cross section for ions. + o G4CrossSectionDataSetRegistry: fixes for better memory management. + + models/neutron_hp: + o Fixed bug in IC electron emissions for G4NeutronHPPhotonDist and + G4NeutronHPInelasticCompFS. + + models/parton_string: + o Fix in G4SPBaryon for anti-baryon: a diquark & quark was given instead + of anti-diquark & antiquark; note the reverse order, too. + Fixes problems with incident anti-baryons, e.g. anti-proton, + manifesting in problems with forming hadrons. + o Changed pt sampling in G4LundStringFragmentation to avoid near endless + loop; this should improve overall performance slightly. + Addresses problem report #1066. Affected G4VLongitudinalStringDecay, + where SampleQuarkPt() is implemented; added new optional argument of + max Pt to SampleQuarkPt(). + o Modifications in G4GammaParticipants and G4QGSParticipants for + applying QGSC from zero energy. + + models/qmd: + o Fixed bug in gamma (mass zero) participants in G4QMDCollision. + o Changed object data member to pointer in G4QMDReaction. + + models/rpg: + o Removed global variables (pointers to static particle definitions) in + G4RPGInelastic and replaced with local array. Fixing issues of wrong + order for static initialization. + + processes: + o Fix to address problem report #1056: cross section data set now are + created dynamically in G4PhotoNuclearProcess, G4ElectronNuclearProcess + and G4PositronNuclearProcess. + o Moved inline constructor and destructors to source in class + G4PositronNuclearProcess. + + o Generic Processes: + ----------------- + + Cuts: + o Added missing implementation of GetParticleType() in + G4VRangeToEnergyConverter. + o Replaced usage of std::abs() with std::fabs() where appropriate. + + Optical: + o Fix in G4OpBoundaryProcess for complex index of refraction: resample + the reflectivity every time for DielectricMetal, and do not re-calculate + normal to facet; also fixed possible infinite loop by resetting iTE and + iTM inside GetReflectivity(). + o Added exception for cases where invalid normal is returned; + following problem report #1060. + + o Persistency: + ----------- + + gdml: + o Defined missing copy constructor and operator=() to G4GDMLMatrix + internal class, to avoid cases of memory corruption when handling + matrices. + o Correction in materials and solids tags for allowing parsing of + definitions within the tag scope; possibility foreseen by the schema. + o Correction in G4GDMLWriteSolids::BooleanWrite() in order to handle + cases of nested displaced solids given to both operands in a Boolean + operation (ATLAS use case). + o Renamed flag for maximum number of transformations applied to a solid + and moved to G4GDMLWriteSolids base class. + o First virtual layer for custom writer classes; added empty default + constructor and virtual destructor to classes in new inheritance chain. + o Restricted usage of loops only for placement of volumes. Now correctly + handling most common use-case of multiple copies of the same + volume/solid through loop statement. Addressing problem report #1063. + + o Physics Lists: + ------------- + + Fix to address problem report #1056: all cross section data sets are + created dynamically and no longer member of the class. + Fix in G4HadronInelasticQBBC: cross sections are created dynamically + not by value, fission only instantiated for HP. + + Inline constructor and destructors are moved to source for classes: + G4VNeutronBuilder, G4VPiKBuilder, G4VProtonBuilder, G4WarnPLStatus. + + o Visualization: + ------------- + + HepRep: added inclusion of in DeflateOutputStreamBuffer + header to resolve compilation errors reported by gcc-4.4.0. + + o Examples: + -------- + + Removed unnecessary AIDA setup in GNUmakefiles wherever necessary. + + advanced/air_shower: + o Updated README file. + + advanced/nanobeam: + o Fixed compilation warnings on gcc-4.3 on SLC5. + + advanced/radiation_monitor: + o Added macros reproducing run results: new results with proton at + 254MeV, 150 Mev and 50 Mev of energy; new macros with Kapton material. + o Changed limits of LENeutronInelastic for 0.1 GeV in + RadmonPhysicsNeutronBertini and RadmonPhysicsNeutronBinary classes. + o Fix for compilation error in RadmonTLabelledCollection. + + advanced/xray_fluorescence: + o Reviewed physics setup and analysis. + + extended/analysis/AnaEx01: + o Corrected GNUmakefile and some cleanup. + + extended/field/field04: + o Commented out timing on initial seed for reproducibility of results. + + extended/persistency/gdml/G01: + o Modified loop.gdml to restrict multiple placements within a loop. + + ---------------------------------------------------------------------------- + + Technical Notes + --------------- + + o This is a cumulative patch and can be applied on top of relese 9.2 + or 9.2.p01. + o Technical notes distributed for release 9.2 are also applicable and + valid for this patch. + +The code and rebuilt binary libraries for release 9.2 are available +through our "Download" Web page: + http://cern.ch/geant4/support/download.shtml + +Please refer to the Geant4 User Documentation: + http://cern.ch/geant4/support/userdocuments.shtml +for further information about using Geant4. diff --git a/ReleaseNotes/ReleaseNotes4.9.3.html b/ReleaseNotes/ReleaseNotes4.9.3.html new file mode 100644 index 0000000000..84cc03761c --- /dev/null +++ b/ReleaseNotes/ReleaseNotes4.9.3.html @@ -0,0 +1,2212 @@ + + +Geant4 9.3 Release Notes + + + +

+
+

+ +

+ +Geant4 9.3 Release Notes + + + + +
+ +December 18th, 2009 + +
+ +

+


+

+The code and binary libraries for the supported systems are available +through our Source +Code Web page. +

+

+We are grateful for the efforts of Geant4 users who have provided + detailed feedback or comprehensive reports of issues. + We thank in particular those who have contributed corrections, + improvements or developments included in this release. +

+

+Please refer to the +Geant4 +User Documentation for further information about using Geant4. +

+ +

Contents

+
    +
  1. Supported and Tested Platforms
  2. +
  3. CLHEP and AIDA
  4. +
  5. Items for migration of the user code
  6. +
  7. New Developments and Capabilities
  8. +
  9. Expected effects on physics and performance
  10. +
  11. Known Run-Time Problems and Limitations
  12. +
  13. Compilation Warnings
  14. +
  15. Known Run-Time Warnings
  16. +
  17. Geant4 Software License
  18. +
  19. Detailed list of changes and fixes
  20. +
+ +

+ +
+ + + +

1. Supported and Tested Platforms

+ +Official platforms: +
    +
  • Linux, gcc-4.1.2 and gcc-4.3.2 (SLC5).
    + Tested on 32 and 64 bit architectures (Intel or AMD) with + Scientific Linux CERN 4 (SLC4) (based on RedHat Linux Enterprise 4) and + Scientific Linux CERN 5 (SLC5) (based on RedHat Linux Enterprise 5). + Geant4 has also been successfully compiled on other RedHat versions as + well as Debian and Suse.
  • +
  • MacOSX 10.5 with gcc-4.0.1 and 10.6 with gcc-4.2.1
  • +
  • Windows/XP and CygWin Tools with: Visual C++ 9.0 (Visual Studio 2008)
  • +
+ +More verified configurations: +
    +
  • Linux, gcc-4.4.2, gcc-4.3.2, gcc-3.4.6 (SLC4)
  • +
  • Linux, Intel-icc 11.1
  • +
+ +Platforms configured but neither tested nor supported: +
    +
  • AIX 4.3.2, xlC 6.0
  • +
  • DEC V4.0, cxx C++ V6.1-027
  • +
  • HP 10.20, aCC C++ B3910B A.01.23
  • +
  • MacOSX 10.4, gcc-3.3
  • +
  • SGI V6.5.5, CC 7.2.1
  • +
  • SUN Solaris 5.8, C++ CC-5.5.
  • +
+ +

+ +
+ + + +

2. CLHEP and AIDA

+ +This release of Geant4 has been verified with +CLHEP, release 2.0.4.5. +Use of a different CLHEP version may cause incorrect simulation results. +

+Geant4 9.3 examples with histogramming co-work with analysis tools compliant +to AIDA 3.2.1 interfaces (for details, see +Appendix 2 +of the +Users Guide for Application Developers). +AIDA headers can be downloaded from: +http://aida.freehep.org + + +

+ +
+ + + +

3. Items for migration of the user code

+ +Listed here is some relevant information on developments included in this +release, some of which may require migrations (mainly for users of advanced +Geant4 features) in order to upgrade from release 9.2 to release 9.3. +Note that for all users a full re-installation of libraries (or a full +recompilation) and a recompilation of user applications is required. + +

+Run +

+
    +
  • A new method CheckParticleList() has been added to + G4VUserPhysicsList to check the consistency of the list of defined + particles before instantiating the physics processes. For example, + e+, e- and gamma should exist if any electromagnetic + process is simulated... A fatal exception will be thrown if any particle + type mandatory for the simulation is missing.
    + It is possible to skip this check, by making use of the method + DisableCheckParticleList() from G4VUserPhysicsList.
  • +
+ +

+Low Energy Electromagnetic physics +

+
    +
  • All Low Energy Electromagnetic Physics process classes have been entirely + redesigned (migrated) in the Geant4 toolkit in order to offer to users a + coherent approach for the modeling of electromagnetic physical interactions. + The software design is now common to both 'standard' and 'low energy' + electromagnetic modules. These changes affect Livermore, Penelope, + ICRU'73 ion and Geant4-DNA Physics. Users are invited to modify their own + physics-list(s) in order to use these new processes and models. + The web page indicated below describe how to use these new processes and + models, with examples of physics list implementations and new features of + the adopted common design:
    + https://twiki.cern.ch/twiki/bin/view/Geant4/LoweMigratedProcesses + Please note that it is still possible to use previous implementation of the + low energy processes for backward compatibility, however, these models are no + longer maintained and will be removed in the near future. A warning message + will also be displayed when running older low energy model versions.
  • +
+ +

+Standard Electromagnetic physics +

+
    +
  • It is recommended to migrate user custom physics-lists by replacing + the G4MultipleScattering physics process with the following: +
      +
    • G4eMultipleScattering for e+-;
    • +
    • G4MuMultipleScattering for muons;
    • +
    • G4hMultipleScattering for hadrons and ions.
    • +
    + The former G4MultipleScattering still exists in the Geant4 + distribution but will be deleted in a future release. +

    + Nuclear stopping power is no longer part of ionization processes, and is now + responsible only for electronic stopping power; for simulation of nuclear + stopping, a new process G4NuclearStopping should be added to + custom physics-lists.
  • +
+ +

+Physics Lists +

+
    +
  • Qualification for several physics-lists have changed. Several are now declared + obsolete. A new category of 'experimental' is used for newer physics-lists or ones with new physics options. Some physics-lists have been removed. + See in Section 10 for the details.
  • +
+ +

+Visualization +

+
    +
  • The OpenGL Print EPS facility now always depends on the compression library, + zlib. An internal version of this library is provided for users + whose system does not provide the library libz. + To use this internal version, set the environment variable + G4LIB_USE_ZLIB. + Users who build with the standard Geant4 Configure script should + not have to worry about this as the environment will automatically be set up + correctly.
  • +
+ +

+Data Sets +

+This release introduces new versions of two data sets. +Please see the corresponding details in +Section 10 of this document. +
    +
  • New data for measured optical surface reflectance, RealSurface.1.0.
  • +
  • New low-energy data set, G4EMLOW.6.9.
  • +
+ +

+ +
+ + + +

4. New Developments and Capabilities

+ +Geometry & Field +
    +
  • A new stepper G4NystromRK4 offers better computing performance in + integrating the trajectories of charged particles in a magnetic field. + It uses the standard Nystrom method and a novel analytical estimation of + the integration error. This reduces greatly the number of field calls per + integration step (from 10 to 3). It achieves comparable accuracy with + G4ClassicalRK4 in test cases. It can be used only for pure + magnetic fields which are not time-dependent.
  • +
  • A new class G4CachedMagneticField caches the value of a magnetic + field class, in order to reduce the number of calls to an expensive field + calculation or interpolation method. For positions within the chosen radius + of the previous position where it evaluated the field, it returns the last + value of the field is automatically. It can be used only for pure magnetic + fields which are not time-dependent.
  • +
+ +Detector description persistency +
    +
  • GDML: it is now possible to customise the reader as well as + the writer to treat ad-hoc user extensions to the GDML schema. + The GDML writer now also supports dumping of optical surface + properties associated with surfaces and materials.
  • +
+ +Low Energy Electromagnetic physics +
    +
  • Software migration: as explained in section 3, all low energy + electromagnetic processes and models are now adopting the same design + as for the Standard Electromagnetic Physics, for a coherent approach + of the modeling of electromagnetic physical interactions.
  • +
  • Livermore Physics: new G4LivermorePolarizedPhotoElectricModel and + G4LivermorePolarizedGammaConversionModel are available for the + simulation of polarized photon interactions.
  • +
  • ICRU'73 ion model : the upper energy limit of ICRU'73 stopping power tables + was extended to 1 GeV/nucleon (compared to 10 MeV/nucleon + in the previous release). Revised tables were included for G4_WATER, + G4_WATER_VAPOR, G4_Cu, G4_NYLON-6-6 (all tables provided by + P. Sigmund/Univ. of Southern Denmark).
  • +
  • Geant4-DNA Physics: +
      +
    • Energy range coverage of several Geant4-DNA Physics models has been + extended: electron elastic Champion's model from 7.4 eV up to + 10 MeV; electron ionization Born's model from 11 eV + up to 1 MeV; proton excitation Born's model up to + 100 MeV; proton ionization Born's model up to 100 MeV.
    • +
    • Geant4-DNA models are valid for liquid water only and use now the + G4_WATER NIST material as liquid water material definition. + Users should define liquid water as G4_WATER in their + application(s).
    • +
  • +
  • Data set: G4EMLOW version 6.9 is required.
  • +
+ +Standard Electromagnetic physics +
    +
  • The set of multiple-scattering models has been expanded: +
      +
    • G4UrbanMscModel92 is the default model for e+/e- + equivalent to the Urban model included in the previous release 9.2. + It is used as the default and in the Option1 electromagnetic + physics constructors for physics-lists.
    • +
    • G4UrbanMscModel93 is a tuned version of the Urban model used + for e+/e- in all other physics constructors of physics-lists + (Option2, Option3, Livermore, Penelope).
    • +
    • G4GoudsmitSaundersonMscModel is a new model for e+/e- + based on formalism developed for Penelope and EGSnrc.
    • +
    + A new relativistic model G4PairProductionRelModel is available + for gamma conversion into e+e- pair. In this model, the LPM effect + is taken into account. The model is suggested for use in high-energy + astrophysics applications.
  • +
+ +Hadronic physics +
    +
  • Improved and extended the FTF model. + Improved its pion absorption on nucleons, introduced Reggeon cascade stage, and added excitation energy calculation. Tuned the model parameters of nuclear de-excitation and + implemented charge-exchange for pn->np in elastic and + inelastic interactions.
  • +
  • The validity of the pion-nuclear cross-sections in + G4PiNuclearCrossSections, and the nucleon-nuclear cross-sections + in G4NeutronInelasticCrossSections and + G4ProtonInelasticCrossSections has been extended to 100 TeV, + by assuming a constant cross-section at very high energies.
  • +
  • Glauber-Gribov cross-sections for ion-ion collisions are now available in + the class G4GGNuclNuclCrossSection, + spanning from 0.1 MeV to 100 TeV.
  • +
  • The nucleon-nucleon and pion-nucleon partial cross-sections used in the + Bertini cascade were reviewed and the incorrect cross-sections found below + 1 GeV were fixed. This results in slightly improved agreement + with data below 1 GeV.
  • +
  • The CHIPS model has been extended with hadronic interactions covering all energies for all hadronic particles; in addition hadron- and + lepton-nuclear reactions are extended to high energies (~TeV). + It can be used by choosing the new CHIPS physics-list. + CHIPS ion-ion elastic scattering model is also now available.
  • +
  • An option was added to allow models for elastic scattering to be treated in a similar way to inelastic models. Models can now be assigned to the + process class G4WHadronElasticProcess.
  • +
  • G4NeutronRadCapture is a simplified new model which produces a + single photon after neutron capture. 4-momentum is conserved in the + reaction.
  • +
  • Improved probabilities and channels in the G4GEM model bring it + into closer agreement with data.
  • +
  • Unit conversion errors were corrected in fission and Fermi break-up models.
  • +
+ +Optical physics +
    +
  • Measured angular reflectivity distributions for common surface treatments + and reflectors have been incorporated as look-up tables (LUT).
  • +
+ +

+Physics Lists +
    +
  • New electromagnetic physics constructors combining standard and + low-energy electromagnetic models are available: + G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics, + G4EmLivermorePolarizedPhysics.
  • +
  • New default builder for optical photon physics has been added: + G4OpticalPhysics together with its messenger, + G4OpticalPhysicsMessenger.
  • +
  • All lists based on FTF and CHIPS modelling + use the improved versions of FTF and CHIPS.
  • +
  • Newly added physics lists: +
      +
    • CHIPS, a physics-lists which uses the CHIPS model for nuclear interactions of all energies and particles..
    • +
    • QGSP_INCL_ABLA, a list using INCL/ABLA. It is mainly + intended for use with energies less than 3 GeV. This is + useful for e.g. spallation studies and Accelerator Driven Systems (ADS) + applications.
    • +
  • +
  • Other new physics-lists, already present in 9.3-Beta: +
      +
    • Some are based on existing lists, with different transitions between + models:
      + FTFP_BERT_TRV, lower the transition energy from + BERTini to QGSP in the range from 6-8 GeV.
    • +
    • Others offer options for EM physics:
      + FTFP_BERT_EMV, FTFP_BERT_EMX, QGSP_BERT_EMX, QGSP_BIC_EMY.
    • +
  • +
  • Attempts to reduce usage of LEP in the intermediate energy range: +
      +
    • QGSP_BERT_NOLEP, using QGSP starting from 8.5 GeV;
    • +
    • QGSP_FTFP_BERT, using FTFP in the energy range between BERT + and QGSP.
    • +
  • +
+ +Visualization, Graphical Representations & Interfaces +
    +
  • Improved ability of visualization system to render Boolean solids. + Certain cases involving very near co-planar faces used to result in + incorrect visualization (though not incorrect tracking). + An existing mechanism to deal with this has been improved; this mechanism + used to shift slightly the position of one solid in a chosen direction. + Now it attempts shifts in different directions by varying small amounts + until one is found that does not give an error. The system still can not + handle every situation. However it results in far fewer visualization + inaccuracies than were seen previously in such difficult cases.
  • +
  • Visualization attributes can now be individually set for each volume within + a nested parameterization.
  • +
  • Rich Trajectories and Rich Trajectory Points now include additional + information such as the complete volume path of the starting and ending + volume including all replica and copy numbers, etc.
  • +
  • A new command, /vis/viewer/set/targetPoint, sets a specific point + to be the center of the view. Helps with doing extreme zoom in to a + specific point.
  • +
  • gMocrenFile: First Beta release of this new visualization driver to + output data in the gdd format used by the gMocren volume + visualization tool. gMocrenFile can include volume data from + sensitive detector volumes, or from command-based scoring meshes, in + addition to detector geometry and trajectories. Use new command + /vis/scene/add/psHits to add scorer hits to gMocren output. + For details, see the Application Developers Guide and the + gMocren web site.
  • +
  • G4UIExecutive: a new utility class for automatic instantiation of + a user session selected according to defined environment variables + G4UI_USE_*.
  • +
  • Qt: Continued improvements to this new driver. The Qt + visualization driver and the associated Qt User Interface now work + well on almost all platforms and with both Qt3 and Qt4 (but still considered + a Beta release due to a few rare combinations of commands on certain + platforms that can cause crashes).
  • +
  • PostScript printing: vector and bitmapped printing through the UI command + /vis/ogl/printEPS is now fully functional for all OpenGL viewers + (previously only for OGLIX and OGLSX). Related new commands are + /vis/ogl/set/printSize and /vis/ogl/set/printFilename.
  • +
  • HepRepFile: new UI commands of the form /vis/heprep allow + easy control of output file name and output directory, whether a file name + should be reused (rather than having a sequential suffix appended at each + new file) and whether culled geometry volumes should be included. + Also fixed a bug in representation of G4Tubs which had caused + wrong visualization for cases in which the tube was at an unusual angle.
  • +
+ +

+ +
+ + +

5. Expected effects on physics and performance

+ +Geometry +
    +
  • The new ad-hoc memory allocation system for touchables in navigation has + shown an average CPU speed improvement of ~5% and a reduction of overall + memory allocation and fragmentation for reasonably complex detector setups.
  • +
+ +Low-energy Electromagnetic physics +
    +
  • Computing performance of low energy models has been significantly + improved thanks to new implementations for data loading and interpolation + methods, transparent to the user's application.
    + No significant changes on the physics outcomes are expected due to the + new software design of process and model classes, or from these new + implementations of data loading and interpolation methods.
  • +
+ +Standard Electromagnetic physics and cuts +
    +
  • Initialization of the physics-tables is now considerably faster, + being measured up to a factor 3, depending on the application + complexity.
  • +
  • A more precise Spline interpolation for the physics-tables, provides + accuracy of the order of 0.1%.
  • +
  • A new method ResetConverters() has been added to + G4ProductionCutTable. This method, if called once initialised + the run, allows to reduce the memory footprint by clearing temporary + loss tables and range vectors used at initialisation.
  • +
+ +Hadronic physics +
    +
  • Improvements in the de-excitation code (G4CompetitiveFission, + G4FermiBreakup, etc.) produce better agreement with IAEA benchmark + data below 200 MeV.
  • +
  • Bug-fixes in G4GEM evaporation code remove odd-even A + (in fragment mass) discrepancies with triple differential benchmark data.
  • +
  • Bertini cascade now generates 10% less memory churn (creation and deletion + of objects) and is about 6% faster as a result.
  • +
  • Improved low energy partial cross-sections in Bertini cascade give slightly + better agreement with low energy benchmark data (< 1 GeV).
  • +
  • Improvements in INCL/ABLA code allow QGSP_INCL_ABLA physics list to + run much longer (several thousand events) without crashing.
  • +
  • Improvements in the FTF high energy model, allow the model to be + used successfully down to 3-5 GeV incident particle energy.
  • +
+ +

+ +
+ + + +

6. Known Run-Time Problems and Limitations

+
    +
  • Reports have been made of particle tracks stuck at a volume boundary or at + an interface between volumes. This occurs infrequently, on the order of one + step per 10^11, but can effect large productions. The behaviour involved + particles which do not progress but move in very small steps, and as a + result the simulation of this track never finishes. +
      +
    • A partial solution is implemented in this release, which uses an + existing mechanism to identify better these stuck tracks. It is able to + find all such tracks in the setups reported, using a large multiple of + the value of the geometrical tolerance for the setup. Users should pay + attention that the value is chosen well for their setup in case they + encounter a similar problem (using the existing functionality for + setting this value).
    • +
    • The treatment for these stuck tracks is to abandon the relevant track. + This results in the track being killed by the G4Transportation + process. A warning is issued (if compiled in verbose mode, the default) + in the case that the energy of the track is above a threshold energy. + Its default value is 100 MeV. This value should be chosen by + a user in order to get warning for all particles of energy important to + your simulation. A new value can be assigned using the + SetThresholdWarningEnergy method of + G4Transportation.
    • +
  • +
+For a complete list of outstanding run-time problems and to submit any +problem you may find while running this version of Geant4, please refer +to the +Geant4 Problem +Reporting System. + +

+ +
+ + + +

7. Compilation Warnings

+ +There may be a few compilation warnings on some platforms. +We do not believe that any of these lead to incorrect run-time behaviour. + +

+ +
+ + + +

8. Known Run-Time Warnings

+ +The following message may be written to standard output at the end of a program: +
+    G4Transportation: Statistics for looping particles 
+       Sum of energy of loopers killed: 
+       Max energy of loopers killed: 
+
+It provides the total energy (in MeV) of tracks killed due to +excessive number of steps ('looping') during the simulation, and the maximum +energy of such a track. Such behaviour can be due to looping in magnetic fields +or being abandoned due to being stuck at geometrical boundaries, as mentioned +in Section 6. +

+In case either of these reported energies is significant, we recommend +increasing the verbosity of G4Transportation to obtain information for +each track killed. A user can change the threshold energy above which particles +are killed more reluctantly (only after significant additional effort) using +the method SetThresholdImportantEnergy of G4Transportation. +The default value is 250 MeV. + +

+ +
+ + + +

9. Geant4 Software License

+ +A Software License applies to the Geant4 code. +Users must accept this license in order to use it. The details and the list of +copyright holders is available at +http://cern.ch/geant4/license +and also in the text file LICENSE distributed with the source code. + +

+ +
+ + + +

10. Detailed list of changes and fixes

+ +These are the main new features/fixes included in this release since the +last patched public release (for more detailed lists of fixes/additions, +please refer to the corresponding History files provided in most packages): + +

+ + +

Configuration

+
    +
  • Configure script: +
      +
    • New simplified layout for queries and updated some defaults.
    • +
    • Fixed detection of QtCore library; addressing problem report + #1079. + Removed of -s switch to sed in Qt.U to fix problem with Qt setup.
    • +
    • Added flag to allow running with query options on non-interactive + terminal. Resolves issue reported in Hypernews Install-and-Config #1213.
    • +
    • Added new data set for G4REALSURFACEDATA variable and updated + G4LEDATA data set version.
    • +
    • Corrected text for installation of g3tog4 module; cernlib + is not required.
    • +
    • Removed query on analysis; now G4ANALYSIS_USE flag has to be set + explicitely by the user, if necessary.
    • +
    • Added force build of zlib when WIN32 GL or Inventor vis drivers + are built.
    • +
  • +
  • Added G4OPTDEBUG option for hybrid optimized-debug build also to + Darwin-g++ and WIN32-g++ configurations.
  • +
  • Corrected inclusion of -lz for zlib in architecture.gmk; corrected also + inclusion of the G4zlib library in link list in binmake.gmk for + the case of global libraries.
  • +
  • binmake.gmk: added include paths to new CHIPS modules.
  • +
  • G4VIS_USE.gmk: fixed dependency issues on WIN32-VC for gl2ps utility + library in visualization. Added new gMocren include path. + Removed references to obsolete GAGTREE driver.
  • +
  • Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib + to setup for Qt4 configuration.
  • +
  • WIN32-VC.gmk: added gd32.lib use32.lib to OGLLIBS to fix + problems of linking when G4LIB_BUILD/USE_WIN32_SESSION is not set.
  • +
+ + +

Digitization & Hits

+
    +
  • Corrected counting of flux and current passing through curved surfaces + (affecting cylinder and sphere surface scorers).
  • +
  • Added missing virtual keyword for qualification of CheckROVolume() and + FindROTouchable() methods in G4VReadOutGeometry.
  • +
  • Added a few accessors for visualization to G4VScoringMesh.
  • +
+ + +

Electromagnetic Processes

+
    +
  • Adjoint +
      +
    • New revised electromagnetic processes for "Reverse MonteCarlo" technique. + All e- processes have been improved and adjoint proton and ion ionisation + have been added. The use of adjoint cross section matrices can be now + limited only to e- Ionisation and Ion ionisation.
    • +
  • +
  • High Energy +
      +
    • Simplified initialisation in G4mplIonisationModel and + G4eeToHadronsMultiModel.
    • +
    • G4AnnihiToMuPair: added method CrossSectionPerVolume(); + added integral option to PostStepDoIt(), providing more precise + simulation near cross-section threshold.
    • +
    • G4eeTo3PiModel: fixed vector product in matrix element.
    • +
    • Some code cleanup: improved comments, avoid inlined virtual methods.
    • +
  • +
  • Low Energy +
      +
    • Added G4PenelopeBremsstrahlungModel, namely Bremsstrahlung + according to Penelope model, now inheriting from G4VEmModel. + Completed migration to standard-EM design for all Penelope + processes.
    • +
    • Added G4RayleighScattering process (inheriting from + G4VEmProcess) describing Rayleigh scattering. Removed + G4Rayleigh to avoid duplication.
    • +
    • Added G4LivermoreIonisationModel, first implementation of + low-energy ionisation in the new design. Updated Livermore photon + processes classes for handling of compound materials; added gamma + particle and energy range test in cross section computation.
      + Updated public interface of G4eIonisationCrossSectionHandler + in order to facilitate migration from G4LowEnergyIonisation + to G4LivermoreIonisationModel. + Set default angular generator in G4LivermorePhotoElectric + as Sauter-Gavrila.
    • +
    • First fully tested version of G4LivermoreBremsstrahlungModel, + completing migration of Livermore processes to new design.
    • +
    • General cleanup of new model classes for Livermore and Penelope + processes.
    • +
    • Fixed bug in G4PenelopeRayleigh (calculation of mfp + for compounds), and in momentum normalization in + G4PenelopeBremsstrahlungModel. Fix in + G4PenelopePhotoElectricModel to avoid misleading warnings.
    • +
    • Added proton case in G4CrossSectionExcitationMillerGreenPartial.
    • +
    • Design update, bug fixes and models update for atomic shell hadronic + cross-sections calculation.
    • +
    • Cleared annoying printout from G4AugerData transition table.
    • +
    • Added ActivateAuger() method to Penelope Compton and + Ionisation, so that all Penelope models have now the same interface.
    • +
    • Added protections in G4eIonisationSpectrum and + G4eIonisationParameters, addressing problem report + #1042.
    • +
    • Revision of G4IonParametrisedLossModel. Added + G4IonDEDXHandler, a new handler class used by the revised + model class. Added G4VIonDEDXScalingAlgorithm, used by the + handler; removed G4IonParametrisedLossTable. Moved from + original ICRU'73 classes to new class G4IonStoppingData, + capable of reading stopping power data files stored in the data + set; with the new tables the upper energy limit of ICRU'73 stopping + powers is increased to 1 GeV/nucleon. Added modifier for + energy loss limit parameter. Changed default energy loss limit to + smaller value (from 0.15 to 0.01) to avoid approximate loss + description in case of large steps. Removed nuclear stopping from + model since dedicated process is available in standard EM package. + Minor fixes applied in energy loss computation. Bug fix avoiding + wrong ion ranges in case different cuts are used for a given + material in different regions. Added UpdateRangeCache() + method, removed GetRange() method.
    • +
    • Added new scaling algorithm G4IonDEDXScalingICRU73, to + obtain heavy ion stopping powers for ions not covered by ICRU'73 + report (scaled from existing ICRU'73 data). Included algorithm in + ion model, extending the applicability of the model to very heavy + ions.
    • +
    • Geant4-DNA processes and models: +
        +
      • New migrated processes and models.
      • +
      • Added ability for DNA charge change processes to kill particle + without total energy deposit.
      • +
      • Increased energy range validity of e- elastic Champion + model up to 10 MeV.
      • +
      • Extended high energy coverage of proton ionisation + (G4DNABornIonisationModel) and excitation + (G4DNABornExcitationModel); decreased temporarily high energy + coverage of electron ionisation from 30 keV to + 20 keV.
      • +
      • Added G4_WATER NIST material and verbose condition + to all Geant4-DNA models.
      • +
      • Bug fix in G4DNABornIonisationModel for energy deposit.
      • +
      • Improved energy limit display.
      • +
      • Modified low energy limit of e- elastic Champion model + to be used with new data set. Extended coverage of e- + ionisation model as well.
      • +
      • Fixed cross section computation bug in + G4DNAScreenedRutherfordElasticModel and + G4DNAChampionElasticModel.
      • +
      • Added vapor water shell constants to + G4DNARuddIonisationModel.
      • +
      • Added message to obsolete non-migrated Geant4-DNA cross section + and final state classes, and non-migrated Livermore and Penelope + classes.
      • +
    • +
    • Modified classes G4VeLowEnergyLoss, G4eLowEnergyLoss and + G4hLowEnergyLoss according to updates in + G4PhysicsVector.
    • +
    • New implementation for data loading and interpolation methods; + LoadData() method now loads the data from the G4EMLOW + dataset and, then calculates the respective logarithmic values + during initialization. Both data formats (original and logarithmic) + are loaded to EM datasets and used later by interpolation methods + to perform faster calculations. LoadNonLogData() method + implements the old version for data loading and interpolation.
    • +
    • Requires new data set G4EMLOW-6.9.
    • +
  • +
  • Muons +
      +
    • G4MuIonisation: fixed initialisation for allowing to configure + external model of fluctuations. Simplified initialisation in + G4MuBetheBlochModel, G4MuBremsstrahlungModel + and G4MuPairProductionModel.
    • +
    • G4EnergyLossForExtrapolator: removed hidden bin to use full scale of + of G4PhysicsVector; set linLossLimit to 0.01.
    • +
    • G4MuBetheBlochModel: compute density effect correction using new + method of G4IonisParamMat class, allowing to apply revised + parameterization of the density effect.
    • +
    • G4MuMultipleScattering: use G4UrbanMscModel90 by + default.
    • +
    • Some code cleanup: improved comments, avoid inlined virtual methods.
    • +
  • +
  • Polarisation +
      +
    • Bug fix in G4PolarizationHelper::GetSpinInPRF() for wrong + normalization of Y component.
    • +
    • Bug fix in G4PolarizedAnnihilationModel::PostStepDoIt() for + wrong treatment in error check.
    • +
    • Bug fix in G4StokesVector::RotateAz() for wrong usage of vector + product.
    • +
    • Simplified initialisation in G4PolarizedAnnihilationModel.
    • +
  • +
  • Standard +
      +
    • Simplified initialisation of all models and code cleanup.
    • +
    • G4PEEffectModel: substituted ComputeMeanFreePath() + with CrossSectionPerVolume() resulting in minor CPU speedup + for compound materials.
    • +
    • Added new class G4HeatedKleinNishinaCompton, prototype model + for plasma.
    • +
    • New class G4PairProductionRelModel, relativistic model for + gamma conversion.
    • +
    • Energy loss models: +
        +
      • G4UniversalFluctuation: modification in width correction, + the dependence of the correction on energy deposition at previous + steps is removed, width correction function is used instead. + Addresses report from T2K setup.
      • +
      • G4IonFluctuations: removed extra phenomenological factor in + fluctuation width.
      • +
      • G4BohrFluctuations: changed internal parameter to provide for + smoother transition to Landau regime in the case of small cuts.
      • +
      • Set linLossLimit to 0.02 in G4ionIonisation allowing + to smooth computations of mean energy loss of ions.
      • +
      • G4BetheBlochModel and G4MollerBhabhaModel: compute + density effect correction using method of G4IonisParamMat + class, applying revised density effect parameterisation.
      • +
      • G4BetheBlochModel: fixed and simplified initialisation for + ions needed for the new G4IonParametrisedLossModel of + low-energy package. + Minor speedup in CorrectionsAlongStep() method.
      • +
      • G4BetheBlochModel, G4BraggModel, G4BraggIonModel: removed + computations of nuclear stopping power, which will is provided by + the dedicated process, some CPU speedup.
      • +
      • G4WaterStopping: fix to Ar data; added Fe ion data.
      • +
    • +
    • Added new classes G4NuclearStopping and + G4ICRU49NuclearStoppingModel, a new model providing computation + of nuclear stopping.
    • +
    • G4PAIModel, G4PAIPhotonModel: removed usage of random + numbers at initialisation, to avoid potential non-reproducibility issues.
    • +
    • Added new G4alphaIonisation process to be used in experimental + physics-lists.
    • +
    • Single and multiple scattering: +
        +
      • Added G4UrbanMscModel92 and G4UrbanMscModel93 + classes, corresponding to 9.2 and 9.3 versions of the Urban multiple + scattering model.
      • +
      • Set default model G4UrbanMscModel92 for + G4eMultipleScattering.
      • +
      • G4UrbanMscModel93: new tuning for the central part and for + the tail of the angular distribution using the old e- scattering data + only (Phys. Rev. 84 (1951) 634; Phys. Rev. 61 (1942) 254). + New version of theta0 and correction in tail tuning using + MuScat data.
      • +
      • G4WentzelVIModel and all G4UrbanMscModel*: use + generic methods of G4VMscModel to access safety and other + information with the geometry modeller.
      • +
      • Added new alternative multiple-scattering model for e+-, + G4GoudsmitSaundersonMscModel.
      • +
      • Added warning in obsolete multiple-scattering classes + G4MultipleScattering, G4UrbanMscModel, G4UrbanMscModel2, + G4MscModel71.
      • +
      • G4hMultipleScattering: removed unused obsolete methods.
      • +
      • G4eCoulombScatteringModel: added relativistic factor to + Rutherford cross section; added cut per recoil using proton production + threshold (1 mm cut in range corresponding to 100 KeV); + Reduced low-limit from 1 KeV to 0.1 KeV to provide + smoother transport cross-section table. Added protection for very low + energies and changed screening parameters; fixed kinematic for ion/ion + scattering.
      • +
      • G4CoulombScatteringModel: fixed energy in the center of mass + reference system; added cut per recoil using proton production + threshold.
      • +
    • +
  • +
  • Utils +
      +
    • G4VEmModel: +
        +
      • Moved multiple-scattering methods to derived class G4VMscModel.
      • +
      • Added new methods SampleDeexcitationAlongStep(), + GetParticleChangeForLoss, GetParticleChangeForGamma.
      • +
      • Insure definition of pointers to the current G4Element and + G4MaterialCutsCouple objects both at initialisation and at + run time.
      • +
    • +
    • G4VMscModel: +
        +
      • Added generic methods used by all multiple-scattering models + InitialiseSafetyHelper(), ComputeSafety(), + ComputeGeomLimit() and ComputeDisplacement().
      • +
      • Set default facsafety to 0.3 and range-factor + to 0.04 to be the same as in G4UrbanMscModel92.
      • +
    • +
    • G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: +
        +
      • Set high energy limit to 10 TeV and number of bins to 77. + Adopt updated G4PhysicsVector with no longer hidden bin.
      • +
      • Added initialisation of polarAngleLimit and + highEnergyLimit parameters for all models.
      • +
      • Fixed bug in method RetrieveTables(); check that each its + physics-vector is retrieved before setting the SplineFlag.
      • +
    • +
    • G4VEnergyLossProcess, G4VEmProcess: +
        +
      • Added calls to de-excitation post-step; added de-excitation + along-step per region.
      • +
      • Added ActivateDeexcitation() method + in G4EmProcessOptions and related UI command to messenger.
      • +
    • +
    • G4VMultipleScattering: +
        +
      • Added initialisation of generic multiple-scattering model parameters
      • +
      • Added SetModel() method, allowing to overwrite default.
      • +
      • Removed obsolete method GetMscContinuesStepLimit().
      • +
    • +
    • G4LossTableManager, G4EmProcessOptions, G4EnergyLossMessenger: +
        +
      • Added parameter FactorForAngleLimit with accessors, modifiers + and UI command, to be used in the computation of limit on -t + (invariant momentum transfer) inside single scattering and + G4WentzelVI models.
      • +
    • +
    • G4EmCalculator: +
        +
      • Added possibility to be used by DNA low-energy processes taking into + account special DNA particles.
      • +
      • Added method FindIon()
      • +
      • Improved computation for electronic stopping power of ions using + CorrectionAlongStep method of G4vEnergyLossProcess + allowing to be applied for any model including the model based on + ICRU'73 data.
      • +
      • Fixed bug in selection of models.
      • +
    • +
    • G4EmConfigurator: fix for the case when only fluctuation model + is set and main model is the default.
    • +
    • Added G4EmConfigurator in G4LossTableManager providing + for easier addition of models per region.
    • +
    • G4EmSaturation: use PDG encoding instead of pointer to + G4ParticleDefinition.
    • +
    • G4EmCorrections: fixed bug reported in physics-list forum #532.
    • +
    • G4LossTableBuilder: added protection in BuildRangeTable() + against zero dEdx. Use copy constructors to create physics + vectors in order to reduce number of calls to exp() function.
    • +
    • G4EmModelManager: +
        +
      • Fixed energy range selection algorithm for the case of a small + intersection of model energy intervals.
      • +
      • Fixed energy range selection algorithm for the case when there + is an intersection of energy regions of standard and low-energy + models.
      • +
      • Reduced size and number of internal vectors if no model per region + are initialized.
      • +
      • Avoid to initilise unused models; simplified initialisation by + smoothing procedure. The size of executable should be reduced.
      • +
    • +
    • G4EmElementSelector: added protection for zero cross section + at first and last bins of physics vector and disabled Spline + interpolation.
    • +
    • Added G4AtomicShell class from use by the low-energy module.
    • +
    • Added new interface class G4VAtomDeexcitation.
    • +
  • +
  • Xrays +
      +
    • Exclude short-lived particle from IsApplicable() for + G4Cerenkov and G4Scintillation processes.
    • +
  • +
+ + +

Error Propagation

+
    +
  • Inclusion of pi+, pi- and proton in physics list.
  • +
  • Added possibility to account for error deflation (needed to make + 'smoothing').
  • +
  • Corrected usage of G4ThreeVector constructor in + G4ErrorMagFieldLimitProces.
  • +
+ + +

Event

+
    +
  • Introducing G4SmartTrackStack class. By using this new stack + as the urgent stack of G4StackManager, the next track popped + up from the stack is not necessarily the last track stored in the + stack, but the track of same particle type as the previous one, as + long as such a track exists in the urgent stack. This mechanism is + expected to improve the performance for ultra-large scale simulation + such as LHC, by increasing the cache hit rate of the physics tables.
    + The use of G4SmartTrackStack is temporarily optional. To use + it, one should uncomment the #define line in + include/evmandefs.hh.
  • +
  • Added UI comand /event/stack/verbose providing a short report + of peak number of tracks in the urgent stack.
  • +
  • New classes implementing the "Reverse MonteCarlo" technique: + G4AdjointPosOnPhysVolGenerator, G4AdjointPrimaryGenerator + and G4AdjointStackingAction.
  • +
+ + +

General Processes

+
    +
  • Cuts +
      +
    • G4VRangeToEnergyConverter: modified implementation of + ConvertCutToKineticEnergy() to improve performance. + Measured a factor 2 to 3 improvement in initialisation speed when + building physics tables. + Modified BuildRangeVector() where integration is perfomed + in this method; extended for e+/e-. + Changed TotBin to be constant (i.e. same for all converters) + and set to 100 (200 for previous versions). + Added MaxEnergyCut (10 GeV set in default). + Added fRangeVectorStore to ensure that range-vector is + created only once for each material. Do not apply converter for neutron, + anti-proton, and anti-neutron.
    • +
    • A new method ResetConverters() has been added to + G4ProductionCutTable. This method allows to reduce the memory + footprint by clearing temporary loss tables and range vectors used at + initialization, if invoked when starting the first run of a session.
    • +
    • Added possibility to handle cuts for protons.
    • +
    • Added new command /cuts/setMaxCutEnergy to messenger.
    • +
  • +
  • Optical +
      +
    • Added capability of simulating surface reflections with Look-Up-Tables + (LUT), containing measured optical reflectance for a variety of surface + treatments. Requires new data set RealSurface-1.0 controlled + by environment flag G4REALSURFACEDATA. + Courtesy of M.Janecek and W.Moses (LBNL).
    • +
    • G4OpBoundaryProcess: added initialization of reflectivity + and efficiency at the beginning of the PostStepDoIt(); added + method BoundaryProcessVerbose() which will now print the + process status for every call to PostStepDoIt(). + Change in PostStepDoIt() so that all dielectric_dielectric + surfaces may now have a reflectivity less than 1; + not only frontpainted as was the case in the past.
    • +
  • +
+ + +

Geometry

+
    +
  • Divisions +
      +
    • Allow for generic divisions along Z for polyhedras and + polycones; now divisions can happen along Z-axis with width + and offset, which fulfils the condition that division does not span + over more than one segment.
    • +
    • Fixed initialization of division in Phi for polyhedras to not + take into account user defined width.
    • +
  • +
  • Magnetic field +
      +
    • New stepper G4NystromRK4 for magnetic field with analytic + estimation of integration error. Greatly reduces number of field value + per step.
    • +
    • Added new virtual method CalculateRightHandSide() to + G4MagIntegratorStepper for use in caching momentum (and field + value) by G4NystromRK4; default implementation in + G4MagIntegratorStepper calls RightHandSide().
    • +
    • New simple class G4CachedMagneticField to cache value of + magnetic field. Speeds up code when calculation of field value is + complex.
    • +
    • New G4EqEMFieldWithEDM class for RHS of EofM in a combined + electric and magnetic field, with spin tracking for both MDM and EDM + terms. Courtesy of Kevin Lynch, Phys. Dept. at Boston Univ.
    • +
    • Bug fix in G4EqEMFieldWithSpin, + following report on Hypernews EM-field forum #161.
    • +
  • +
  • Management +
      +
    • Fixed implementation of G4LogicalVolume::TotalVolumeEntities() + to become invariant to call sequence. Addressing problem report + #1082. +
    • Clear possible excess capacity in node vectors in G4SmartVoxelHeader + BuildNodes() method. May reduce excess memory allocated in + optimisation in medium/large detector setups, at the price of a slight + time increase in initialisation for geometry voxelisation.
    • +
    • G4VTouchable: moved inline vitual methods, constructor and + destructor to source, to avoid problem of memory alignment in allocation + of derived objects.
    • +
    • G4Region: added pointer to field-manager and associated + accessor/modifier, to allow for association of a local field to a + geometrical region.
    • +
  • +
  • Navigation +
      +
    • Refinements in G4PropagatorInField: +
        +
      • Activated field per region. A field manager can now be assigned to + a region, and it will be used for all logical volumes it contains, + except for those which override it by having a field manager of + their own.
      • +
      • Improved handling of repeated small steps at boundaries which are + due to geometry imprecision, navigation optimisation, or the + details of the algorithm used for tracking in field. +
          +
        • Added new member fZeroStepThreshold, to enable tuning + of this existing threshold for identifying tiny or zero steps.
        • +
        • A new value for this threshold fZeroStepThreshold is + a large multiple (10^4) of kCarTolerance; the old + value was 0.5*kCarTolerance. Addresses a problem of + tracks stuck at boundaries of volumes reported by ATLAS.
        • +
        • The condition for identifying a tiny step is changed in order + to avoid misidentifying small proposed physical steps as + problem tiny steps.
        • +
      • +
      • Changed parameters which determine the size of the next trial step. + This is used only when trying to recover from consecutive tiny/zero + steps. +
          +
        • The default decrease factor is now 0.25 (from 0.1)
        • +
        • When the step size is comparable to the value of + fZeroStepThreshold a different decrease factor + is used. The value given to the decrease factor was changed + to 0.35 (from 0.25).
        • +
      • +
      • Added new method RefreshIntersectionLocator() to update + the state of helper class.
      • +
      • Improved printing of diagnostics.
      • +
      • Deleted obsolete internal methods: + SetAccuraciesWithDeltaOneStep(), SetDeltaIntersection(), + SetDeltaOneStep().
      • +
    • +
    • G4VIntersectionLocator: fixed problem in + ReEstimateEndPoint() for very small steps. Corrected + constructor to ensure that it initialises all data members. + Labelled methods in header to make noticable those that must change + attributes at every step.
    • +
  • +
  • Solids (CSG) +
      +
    • G4Sphere: +
        +
      • Implemented speed improvements and corrections from joint code + review. Cached computation for half-tolerances and use of Boolean + flag for identifying if full-sphere, shell or section.
      • +
      • Implemented caching of trigonometric values, now directly computed + inside modifiers for Phi and Theta angles as + required for parameterised cases.
      • +
      • Rationalised usage of relative radial tolerances.
      • +
      • Correction in DistanceToOut(p,v) for phi + sections for rays passing through zero.
      • +
      • Fix for the calculation of the normal in DistanceToOut() + to avoid cases of division by zero in specific configurations. + Addresses problem report + #977.
      • +
    • +
    • G4Tubs, G4Cons: rationalised usage of modifiers for Phi + angles and simplified constructors.
    • +
    • G4Cons: fix to DistanceToIn(p,v), added a check on + the direction in case of point on surface. Fixes a problem of stuck + tracks observed in CMS, due to wrong reply from the solid for points + on the inner radius surface base, with direction along the imaginary + extension of the cone.
    • +
    • G4Torus: fix in SolveNumericJT() in order to take + into account the difference in the value of theta for different + intervals, [0:pi] or [-pi:0], and for SPhi + in [0:twopi] or [-twopi:0]. Addresses problem report + #1086.
    • +
    • G4Orb: moved debug warning in DistanceToIn(p,v) + within G4CSGDEBUG flag.
    • +
  • +
  • Solids (Specific) +
      +
    • G4Ellipsoid: refined fix in DistanceToIn(p,v) for + points located on the curved surface, and correct treatment of + geometrical tolerance. Addresses problem report + #1076.
    • +
    • Avoid redundant assignment of value to 3-vector in G4PolyconeSide + and in G4TwistTubsSide.
    • +
  • +
  • Volumes +
      +
    • Fix in G4PVParameterised::CheckOverlaps() to not modify + daughter volume transformation matrix for application to points in + the daughter's frame. Adopt Inverse() instead of Invert() + in call to G4AffineTransform. Addresses problem report + #1078. +
    • Added missing implementation for composing G4AssemblyVolume + constructor.
    • +
    • Use G4Allocator for dynamic allocation of + G4TouchableHistory objects. Should reduce the number of direct + calls to malloc and memory fragmentation. + Measured an average improvement of ~5% in CPU speed with same memory + footprint. Moved inline constructors to source to avoid problems of + memory alignment in allocation.
    • +
  • +
+ + +

Global

+
    +
  • G4PhysicsVector: +
      +
    • Added ComputeSecDerivative() and SplinePossible() + methods as a computation of Spline coefficients for small number of + bins. Removed old obsolete hidden bin approach.
    • +
    • Added method ComputeSecondDerivatives() for the case when + user provides first derivative at end-points; use "Not-a-Knot" + algorithm for the computation of second derivatives in default method + FillSecondDerivatives().
    • +
    • Cleaned up initialisation of cached values; simplified Value() + method, now not looking into previous bin; added method + ScaleVector() needed for ICRU'73 data.
    • +
  • +
  • New class G4Pow for fast computation of log() and + pow() for integer and double arguments in the interval + [1-256].
  • +
  • Added G4ErrorStage enum to G4ErrorPropagatorData class.
  • +
  • Cleared warning for unused argument in G4Allocator internal method.
  • +
  • Changed date for release 9.3.
  • +
+ + +

Graphical Representations

+
    +
  • Improved ability of visualization system to render Boolean solids. + Certain cases involving very near co-planar faces had resulted in incorrect + visualization (though not incorrect tracking). A previously included + mechanism to deal with this by shifting the position of one solid in a + chosen direction has been expanded by attempting shifts in different + directions by varying small amounts until one is found that does not give + an error. The system still can not handle every situation, but results in + far fewer visualization inaccuracies than were previously seen in such + difficult cases.
  • +
  • Improved infrastructure for scoring (supporting new UI command + /vis/scene/add/psHits).
  • +
  • G4VVisManager: added notify scene handlers (G4VGraphicsScene + objects) taking care to notify that the scene has changed so that they may + rebuild their graphics database, if any, and redraw all views.
  • +
  • G4VMarker: added enum SizeType {none, world, screen}; + added GetSizeType() and SetSize/Diameter/Radius() methods.
  • +
  • G4VGraphicsScene: added method AddCompound(HitsMap).
  • +
+ + +

Hadronic Processes

+
    +
  • Cross sections +
      +
    • Added new Glauber-Gribov cross section for ions, + G4GGNuclNuclCrossSection.
    • +
    • G4IonsKoxCrossSection, G4IonsShenCrossSection, + G4TripathiCrossSection, G4TripathiLightCrossSection: added + protections against numerical FPE exceptions.
    • +
    • Use as a default hadron-nucleon cross section parameterisation + in G4GlauberGribovCrossSection, G4GGNuclNuclCrossSection, + G4NeutronElasticXS, G4NeutronInelasticXS, G4BGGNucleonElasticXS, + G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS.
    • +
    • Bug fixes for G4BGG* classes and added new classes + G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS.
    • +
    • Modified upper limit of validity to 100 TeV in + G4PiNuclearCrossSection, G4NeutronInelasticCrossSection + and G4ProtonInelasticCrossSection. + Use constant cross-section above original range.
    • +
  • +
  • Management +
      +
    • G4HadronicInteraction: renamed SampleT as + SampleInvariantT; added recoilEnergyThreshold + parameter and accessor methods; use const pointers to + G4Element and G4Material; moved + G4ReactionDynamics instance to parameterised model class + G4InelasticInteraction.
    • +
    • G4HadronicInteraction: added SetModelName() method.
    • +
    • G4V3DNucleus: added two functions to sort nucleons along + +/- Z.
    • +
  • +
  • Abrasion +
      +
    • Fixed problems of negative sqrt() and made code more robust + to potential loop problems.
    • +
  • +
  • Binary Cascade +
      +
    • Added interface to set de-excitation handler in + G4BinaryLightIonReaction used to de-excite lighter initial + nucleus; precompound handling low energy interactions can be set too.
    • +
    • Removed dependency on unused class G4NucleiPropertiesTable.
    • +
    • Made capture-threshold a tunable parameter in + G4GeneratorPrecompoundInterface.
    • +
    • Changes to G4BinaryCascade to protects against energy + non-conservation: shift of particle's formation times; inclusion of + captured particles; correction in GetExcitationEnergy() for + the case when all nucleons are ejected; correction for the nuclear + field for baryons.
    • +
    • Bug fix in G4BinaryCascade::ApplyCollision(): decay products + outside nucleus were nevertheless counted as if these were within + nucleus.
    • +
    • Corrected assignment to 3-vector, avoid use of 3vector=0.
    • +
    • Added protection against void nucleus after cascade.
    • +
  • +
  • Bertini Cascade +
      +
    • New class G4PionSampler: samples partial cross sections, + multiplicities and final state particle types required for pi+, + pi- and pi0 scattering within a nucleus. This class + uses re-evaluated pion partial cross-sections and includes production + of strange particle pairs.
    • +
    • Added class G4NucleonSampler which replaces old pp, pn + and nn partial and total cross-sections; also modified other + classes which use them.
    • +
    • Added class G4FinalStateSampler.
    • +
    • G4CascadeSigmaPlusNChannel: corrected sigma plus + cross-sections.
    • +
    • G4CascadSpecialFunctions: moved pion, kaon, hyperon + total cross-sections to this class. Put copy of total cross-section + method in G4NucleiModel, also removed unneeded energy scale + arrays, now replaced with a new one.
    • +
    • G4ElementaryParticleCollider: re-written to use + G4PionSampler class for cross-sections and multiplicities; + removed method reChargering(), now redundant.
    • +
    • Moved large arrays which are instantiated at every call of frequently + used methods. They are now initialized once in constructors.
    • +
    • G4CascadeInterface: moved instantiation of various collider + classes outside of loop, and put on stack instead of heap.
    • +
    • G4ElementaryParticleCollider: redesigned to use + G4NucleonSampler and remove instantiation of large arrays + from within loops in code.
    • +
    • G4CascadParticle, G4InuclElementaryParticle: added integer + argument to constructor to indicate which generation cascade particle + belongs to. Changed G4NucleiModel and + G4BertiniNucleiModel to use this.
    • +
    • G4NucleiModel: removed instantiation of large arrays from + with loops; added new total cross section sampling, removed use of all + but one energy scale. Updated pi- and pi0 total + cross-sections. Clean up of dead code.
    • +
    • Added assignment operator to class G4CollisionOutput.
    • +
  • +
  • Chiral Invariant Phase Space (CHIPS) +
      +
    • First implementation of CHIPS ion-ion elastic.
    • +
    • Extended model for all energies for all particles. + Removed obsolete classes.
    • +
    • Added photon and lepton-nuclear CHIPS inelastic; improved model to + work for all targets, including Hydrogen. + Added diffraction to CHIPS inelastic.
    • +
    • Added 8 new cross-section classes and bug fixes in pA + cross-sections. Tuning of the G4QCollision for better + description of the pA interactions (E<290 MeV).
    • +
    • Reorganised CHIPS classes in sub-modules: body, cross_sections, + fragmentation, interface and processes. + Better readability of the CHIPS code and code improvements.
    • +
    • Improvements in hadron+proton, heavy fragments in low-energy, + various bug fixes in G4QNucleus, G4QEnvironment, + G4QCollision.
    • +
    • Improvement of G4QuasiFreeRatios for application in + QGSC from E=0.
    • +
    • MuCaptureEMCascade excluded from capture at rest for + mu-; all the atomic de-excitation energy of capture is + concentrated in the energy deposition.
    • +
    • Bug fix against division by zero in G4QEnvironment; + improvement for the case when the Hypernucleus cannot decay in the + residual nucleus and pion; now it is decayed in the residual nucleus + and gamma.
    • +
    • Fixed non-initialised variables in G4QContent and fix in + quasi-elastic for photons and leptons.
    • +
    • Change of GetNuclearMass(A-1.,Z-1.) (and similar) to + GetNuclearMass(A-1,Z-1) to be consistent with changes in + particles.
    • +
    • Replaced internal RndmDir() with general + G4RandomDirection() in the code.
    • +
    • Bug fix in G4QNeutronCaptureRatio (Cu65): accelerate CuSc + by 1.5.
    • +
    • Cleared dependency of now removed G4NucleiPropertiesTable + class.
    • +
  • +
  • De-excitation +
      +
    • GEM code: +
        +
      • Fixes in G4GEMProbability and G4GEMChannel + to provide same probability as proposed in original papers. + Fixed old problem in G4GEMChannel, computation of + Coulomb barrier was not consistent with probability. Added + protection on unphysical initial state in G4GEMChannel. + Fixed units (hbar_Plank -> hbarc) in + G4GEMProbability.
      • +
      • G4EvaporationDefaultGEMFactory: new class where light + meson probabilities are computed from default classes and other + fragments from GEM.
      • +
      • Introduction of new classes G4GEMCoulombBarrier, + G4AlphaGEMCoulombBarrier, G4DeuteronGEMCoulombBarrier, + G4He3GEMCoulombBarrier, G4ProtonGEMCoulombBarrier, + G4TritonGEMCoulombBarrier and corresponding + changes in other classes of the sub-package.
      • +
    • +
    • Added a G4NeutronRadCapture model, a simple 1-gamma emission + with 4-momentum balance.
    • +
    • Fixed 4-momentum balance by using direct Lorentz computations in + G4CompetitiveFission. Make use of internal units.
    • +
    • G4Evaporation: added method SetCombinedCannels() to + define new evaporation factory G4EvaporationDefaultGEMFactory.
    • +
    • G4FissionLevelDensityParameter, G4FissionParameters: tuned + against IAEA benchmark spallation data.
    • +
    • G4FermiFragmentsPool: fixed units (keV -> MeV), + removed wrong levels, added new levels according to Broohaven data + (see chart of nuclides).
    • +
    • Fixed G4ExitationHandler for the case when Fermi-BreakUp + and multi-fragmentation model are activated.
    • +
    • Improved implementation of Gamma function computation in configuration + weight inside G4FermiConfiguration.
    • +
    • Updated ablation largely to comply with updates in G4Evaporation + and handling of G4Fragment; fixed a bug in fragment + identification when evaporation isn't used.
    • +
  • +
  • Elastic scattering +
      +
    • Model precise sampling and 'on the fly' table preparation in + G4DiffuseElastic.
    • +
    • Migrated to the hadronic model design of elastic scattering. + Modified G4ElasticHadrNucleusHE to be now capable to work + with old and new interface.
    • +
    • Added new elastic process G4WHadronElasticProcess.
    • +
    • Added new class G4VHadronElastic, base class for elastic + models with default GHEISHA model
    • +
    • New class G4CHIPSElastic, model interface to CHIPS + parameterization.
    • +
    • Removed had-hoc NaN finder and printout in destructor of + G4HadronElastic.
    • +
  • +
  • High Energy Theoretical +
      +
    • Quasi Elastic part is made more used in QGSC at low energies + to improve the performance of QGSC at low energies.
    • +
  • +
  • Im_r_matrix +
      +
    • Fix in G4CollisionComposite reproducibility. Removed dependence + of the energy grid of the cross-section set on the order of the + particles by forcing heavier particle to be at rest when caching the + cross section.
    • +
    • Reduced usage of strings; maps of cross-sections use + G4Particledefinition in place of particle name.
    • +
  • +
  • INCL/ABLA +
      +
    • Bug fixes to INCL nuclear potential handling; the interpolation + function used to produce discontinuous results due to an array index + off-by-one. This bug fix corrects the impact parameter distribution.
    • +
    • Fixed several variable initialization and F77 to C++ translation issues + in INCL.
    • +
    • Added several safeguards for division by zero or negative sqrt().
    • +
    • Use centralised random number generator instead of built-in one.
    • +
    • Minor fix in the INCL particle reflection time calculation.
    • +
  • +
  • Parton-String +
      +
    • Improved FTF model for pion obsorption on nuclei: introduced + status of nuclear nucleon involved in an interaction (Status 0 - + spectator, 1 - involved nucleon, 2 - absorbed nucleon); introduced + connection between a participant nucleon and a nuclear nucleon in + G4InteractionContent.
    • +
    • Completed FTF model with Reggeon cascade and added excitation + energy calculation.
    • +
    • Tuned FTFP with parameters of nuclear de-excitation.
    • +
    • Implemented charge-exchange for pn->np in elastic and + inelastic interactions simulated by FTF. Implemented also + pion absorption by a nucleon.
    • +
    • New Boolean parameter added in G4VSplitableHadron class for + activation and corresponding methods to operate with it; needed for + absorption of meson in nuclear collision generated by FTF.
    • +
    • Fixed bug in G4VLongitudinalStringDecay for the calculation + of formation/creation time, c_light was inserted. Due to this + string tension parameter was set to the usual value (1 GeV/fm) + in G4LundStringFragmentation.
    • +
    • G4VParticipants: use modified name of method to sort nucleons + in G4V3DNucleus.
    • +
  • +
  • Photolepton-hadron +
      +
    • Code cleanup.
    • +
  • +
  • Pre-equilibrium +
      +
    • G4PreCompoundModel: CEM transition probabilities are set by + default. In G4PreCompoundTransitions, CEM transition + probabilities have been renormalized (transitions with Delta N=+2 + are increased by factor 5).
    • +
    • G4PrecompoundEmission: modified AngularDistribution() + to avoid floating point exceptions. Removed calls to log() + in rho() and replaced by use of new logfactorial().
    • +
  • +
  • QMD Reaction +
      +
    • Fixed bug for incidence of neutral particles in G4QMDReaction + and G4QMDGroundStateNucleus; verified for nucleon-nucleus + interactions.
    • +
    • Beta version of code for enabling meson incidence.
    • +
  • +
  • Radioactive Decay +
      +
    • Added dependence on EM 'util' module for usage of the + G4AtomicShell class.
    • +
  • +
  • Re-Parameterized Gheisha +
      +
    • G4RPGInelastic: added temporary message stating the RPG + model is under development and should not be used for production.
    • +
  • +
  • Stopping +
      +
    • Removed dependency on unused class G4NucleiPropertiesTable.
    • +
    • G4PiMinusAbsorptionAtRest, G4KaonMinusAbsorptionAtRest: fixed + usage of 3vector constructor.
    • +
  • +
  • Utils +
      +
    • Restored methods for storing/retrieving G4SplitableHadron, + now in use in FTF model.
    • +
    • Corrected assignment to 3-vector, avoid use of 3vector=0.
    • +
    • G4WilsonRadius: fixed data vector type qualification.
    • +
    • G4NuclearFermiDensity: added protection to GetDeriv() + for positions far outside the nucleus causing an FP overflow in + exp().
    • +
  • +
+ + +

Intercoms

+
    +
  • G4UIcommandTree: added a new function to complete a command path + with maximum characters guess; FindCommandTree() will now return + current tree when command path is "/".
    + Fixed incorrect directory deletion of G4UIcommandTree::RemoveCommand(). + Addresses problem report + #1087. +
  • Added method GetPreviousSession() in G4UIbatch.
  • +
+ + +

Interfaces

+
    +
  • G4UIExecutive: new class for automatic instantiation of user + interactive sessions.
  • +
  • G4VBasicShell: better command completion in command line. + Fix for commands strings that match shorter commands.
  • +
  • G4VUIshell: added SetLsColor() method.
  • +
  • G4UIQt: added interactor to be able to add button on file and + help menu; added public method to get the main window. + Added CTRL+A and CTRL+E to move to begin/end of + command line. Fixed a problem on macOSX 10.6 with Qt 4.6-Beta. + Added debug flags for Qt. Fixed compilation warnings.
  • +
+ + +

Materials

+
    +
  • ICRU'73 stopping power classes: +
      +
    • Migrated to the G4VIonDEDXTable interface: access methods + of physics vectors have changed (vectors can also be identified via + atomic number of material if material is pure). Classes now deliver + mass stopping powers instead of stopping powers per unit length. + Any dependency on ICRU'73 material densities was removed (no densities + are included in the classes any longer). Stopping power vectors are + now only built on request and not anymore in the constructor. + Affected classes: G4IronStoppingICRU73, G4MaterialStoppingICRU73 + and G4SimpleMaterialStoppingICRU73.
    • +
    • G4IronStoppingICRU73: extended upper limit of the data vector + from 10 MeV to 1 GeV; 53 bins are now used. + Added G4WATER data. Also fixed GetDEDX() methods in + these classes for E=10 MeV (upper limit).
    • +
    • G4MaterialStoppingICRU73: extended energy range of revised + ICRU'73 tables for water from 0.025-10 MeV/u to + 0.025-1 GeV/u. + Added new function AddPhysicsVectorFullRange() for creating + corresponding physics vectors. Changed material name from + G4_NYLON-6/6 to G4_NYLON-6-6.
    • +
  • +
  • New class G4IonStoppingData, which can read ion stopping power + vectors contained in G4LEDATA data set; allows for inclusion of + larger physics vectors than those in the ICRU'73 classes, where vectors + are restricted to the maximum energy 10 MeV/nuc.
  • +
  • G4NistMaterialBuilder: mean ionisation potential for G4_WATER + is set to 78 eV according to GSI Annual Report (2008) p.373, in + order to be consistent with ICRU'73 tables. Fixed ICRU'73 data provided by + Prof. P.Sigmund (Univ. Southern Denmark): G4WATER, G4WATER_VAPOR, + G4_NYLON-6-6 (in G4MaterialStoppingICRU73); G4_Cu + (in G4SimpleMaterialStoppingICRU73). + Changed material names, G4_NYLON-6/6 to G4_NYLON-6-6, + and G4_NYLON-6/10 to G4_NYLON-6-10, to allow matching + with ion stopping power data files. Old names can still be used for + backward compatibility. Changed density of G4_GRAPHITE according + to PDG-2008, added new material G4_GRAPHITE_POROUS.
  • +
  • G4NistMessenger: added UI command to print parameters of density + effect data. Improved implementation of UI commands in + G4NistManager, G4NistMessenger and + G4NistElementBuilder.
  • +
  • G4VIonDEDXTable: added interface class for electronic stopping + power tables for ions. Added new method BuildPhysicsVector() + which invokes the build of physics vectors on demand in the initialisation + phase. Added method BuildPhysicsVector() according to base class + for G4ExtDEDXTable, G4SimpleMaterialStoppingICRU73, + G4MaterialStoppingICRU73 and G4IronStoppingICRU73.
  • +
  • G4ExtDEDXTable: new utility class to handle external + electronic stopping power tables for ions.
  • +
  • Use 'const' references for strings as arguments/return-values in material + properties tables and related classes. Inlined some methods and some minor + cleanup.
  • +
  • Added Entries() method to G4MaterialPropertyVector and + accessors for maps in G4MaterialPropertiesTable, required for + internal use in persistency of material properties. Make visible + GetEntry() accessor in G4MaterialPropertyVector for + use restricted to persistency.
  • +
  • Increased flexibily of G4SurfaceProperty and G4OpticalSurface classes + to allow for lookup-table boundary process simulations.
  • +
  • G4Element: added method GetNbOfShellElectrons() + returning the number of electrons on a shell.
  • +
  • G4DensityEffectData: added data from + Atom. Data Nucl. Data Tabl.30 (1984) 261, accessible via material name. + added method GetIndex()
  • +
  • G4IonisParamMat: added new members: Eplasma, AdjustmentFactor, + Delta0 parameter of density effect parameterisation, and hook to + G4DensityEffectData. Fixed copy constructor. + Added new access method and method DensityCorrection(). + Fixed density effect computation; added plasma energy + computation and access to G4DensityEffectData by the atomic number.
  • +
+ + +

Particles

+
    +
  • Added new classes for "Reverse MonteCarlo" technique: + G4AdjointProton and light ions.
  • +
  • Make use of new experimental class G4NucleiPropertiesTableAME03 + including data updated to the Ame-2003 atomic mass evaluation (II) by + G.Audi, A.H.Wapstra and C.Thibault, Nuclear Physics A729, 2003.
  • +
  • Removed obsolete class G4NucleiPropertiesTable.
  • +
  • Added method CreateAllIon() in G4IonTable + and added /particle/createAllIon UI command. By this method and + command, all stable ions are created.
  • +
  • G4ParticleDefinition should be created in pre-init state; + a warning is thrown if constructors of G4ParticleDefinition are + called in a different application state.
  • +
  • Added CalculateAnomaly() method to G4ParticleDefinition.
  • +
  • Fixed small difference of mass of taus, mesons, and anti-baryons between + PDG-2009.
  • +
  • Changed G4ElectronOccupancies::MaxSizeOfOrbit to 10 to allow for + higher excited atom.
  • +
+ + +

Persistency

+
    +
  • ASCII +
      +
    • Inclusion of extruded and tessellated solids.
    • +
    • Additions of accessors and constructors of G4tgbVolume + and G4tgrVolume.
    • +
  • +
  • GDML +
      +
    • Implemented virtual layer for allowing customisation of the writer + for user-extended schemas.
    • +
    • Implemented ability to write surface properties associated with + surfaces and material properties.
    • +
    • Allow for reading/writing of constant material properties.
    • +
    • Added support for the GDML assembly tag, implementing assemblies of + simple placements through G4AssemblyVolume.
    • +
    • Added support for GDML expression tag, implementing generic + expressions stored as literal constants.
    • +
    • Corrected handling of quantity tag; added missing caching + of evaluation.
    • +
    • Some code cleanup: rationalised inclusion of headers, replacing them + with forward declarations where possible.
    • +
  • +
+ + +

Physics lists

+
    +
  • New physics lists and builders: +
      +
    • QGSP_FTFP_BERT based on QGSP_BERT replacing + the bridging LEP with FTFP, and transitioning from + BERT to FTFP between 7 and 9 GeV.
    • +
    • FTFP_BERT_TRV list as variant of FTFP_BERT with + transition between 6 and 8 GeV.
    • +
    • QGSP_BERT_TRV: with transition energies to use + BERT ]0,9.9], LEP [9.5, 15] and + QGSP [10, inf[.
    • +
    • New physics-lists with special EM options: FTFP_BERT_EMV, + FTFP_BERT_EMX, QGSP_BERT_EMX, QGSP_BIC_EMY + (opt3 EM physics).
    • +
    • CHIPS physics list, using CHIPS model for all + energies. Added two builders G4QNeutrinoPhysics, + G4QPhotoNuclearPhysics with messenger.
    • +
    • QGSC_QGSC: using QGS model with interface to + CHIPS at all energies, starting from E=0; + for neutrons it still uses LHEP models for the radioactive + capture and fission.
    • +
    • QGSC_CHIPS: using QGS model with interface to + CHIPS at all energies; for pA interactions + the native CHIPS process G4QCollision is used below + 290 MeV.
    • +
    • Added builders for DNA, Livermore and Penelope physics processes. + Upper limit of Livermore models is set to 1 GeV. + Adapted G4EmLivermorePolarizedPhysics builder as for the non + polarized case. Added high energy limit to e- models + in G4EmLivermorePhysics and G4EmLivermorePolarizedPhysics
    • +
    • Added G4OpticalPhysics and G4OpticalPhysicsMessenger + classes.
    • +
  • +
  • Physics lists qualification changes (obsolete/partially + disabled/experimental/supported): +
      +
    • Obsolete and disabled (removed): FTF_EMV, replaced by + FTFP_BERT_EMV; QGSC_EFLOW, replaced by + QGSC_CHIPS; QGSP_EMX, replaced by + QGSP_BERT_EMX.
    • +
    • Obsolete: FTFC, LHEP_BERT, LHEP_BERT_HP, LHEP_PRECO_HP + QGSP_BERT_DIF, QGSP_BERT_NQE, QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, + QGSP_NQE, QGSP_QEL, FTFP, QGSP, QGSC, QGSC_CHIPS, QGSC_EMV, + QGSC_QGSC.. +
    • Explicitely marked experimental: QGSP_BERT_EMX, + QGSP_BERT_TRV, QGSP_FTFP_BERT, QGSP_INCL_ABLA.
    • +
    • Marked as supported: FTFP_BERT, FTFP_BERT_EMV.
      + G4PhysicsListFactory: updated choice of supported + physics-lists.
    • +
  • +
  • EM physics builders and options: +
      +
    • G4EmStandardPhysics, G4EmStandardPhysics_option1: use 9.2 + physics configuration; use ApplyCuts=true.
    • +
    • G4EmStandardPhysics_option2: use G4eMultipleScattering + for e+-. Use default StepFunction for ions.
    • +
    • G4EmStandardPhysics_option3: use updated G4UrbanMscModel2 + and use G4RayleighScattering process.
    • +
    • Separated definition of processes for He3 and He4 ions; + G4eMultipleScattering for e+, e-, G4MuMultipleScattering + for muons.
    • +
    • G4UrbanMscModel93 for e+- and G4WentzelVIModel + for muons for all builders except Opt0 and Opt1.
    • +
    • G4ParameterizedIonModel for Opt3 and all combined + builders.
    • +
    • StepFunction (0.1, 0.02*mm) for ions inside Opt2.
    • +
    • G4EmStandardPhysics_option3, G4EmLivermorePhysics, + G4EmPenelopePhysics, G4EmLivermorePolarizedPhysics: + added G4NuclearStopping process for + GenericIon, He3, alpha particles. Set finalRange=10um + for ions.
    • +
  • +
  • Updates to lists: +
      +
    • Added MaxEnergy() method in FTF builders.
    • +
    • QBBC list: removed templated interface and moved inline code + to source; use new interface through G4VHadronPhysics class.
    • +
    • Change to G4HadroHElasticPhysics to make use of + G4WHadronElasticProcess as part of the design review for + elastic.
    • +
    • Change to QGSP_BERT_EMV to make use of + G4HadroHElasticPhysics.
    • +
    • Updated QBBC physics-list and fixed cross-section for + hadron elastic.
    • +
    • QGSP_BERT_NOLEP: use G4HadronQElasticPhysics.
    • +
    • Added initial version of G4IonQMDPhysics.
    • +
  • +
+ + +

Run

+
    +
  • G4VUserPhysicsList: +
  • Added method CheckParticleList() to probe consistency of + list of particles before constructing processes; check being executed + within call to BuildPhysicsTable(). Added + DisableCheckParticleList() method as well and modified + BuildPhysicsTable() to avoid problem when ions are created + in the Pre-Init state.
  • +
  • Adapted implementation for handling proton cuts.
  • +
  • G4RunManagerKernel: now invokes CheckParticleList() + from G4VUserPhysicsList just before invoking SetCuts(). + Also checking G4VUserPhysicsList to confirm no particle + is registered when G4RunManagerKernel is instantiated. + Fixed two minor bugs for the dump printout of regions.
  • +
  • Added UI command /run/setCutForAGivenParticle in + G4UserPhysicsListMessenger.
  • +
  • New classes implementing the "Reverse MonteCarlo" technique: + G4AdjointSimManager, G4AdjointSimMessenger, + G4AdjointPrimaryGeneratorAction.
  • +
+ + +

Track & Tracking

+
    +
  • Modified implementation of GetVelocity() for particle-change for + performance improvement.
  • +
  • Set lowEnergyLimit to 1 eV in + G4ParticleChangeForLoss. Added method SetLowEnergyLimit(), + also to G4VUserTrackInformation; added a string property to + indicate type of UserTrackInformation.
  • +
  • Correction to G4SteppingManager::InvokeAtRestDoItProcs() in the + handling of G4Scintillation process.
  • +
  • New classes implementing the "Reverse MonteCarlo" technique: + G4AdjointCrossSurfChecker, G4AdjointSteppingAction.
  • +
  • G4Trajectory, G4SmoothTrajectory, G4RichTrajectory: added initial + kinetic energy. G4RichTrajectory: added final kinetic energy. + G4RichTrajectoryPoint: added "remaining energy" at each step + and attributes.
  • +
+ + +

Visualization

+
    +
  • Overall +
      +
    • Rich Trajectories and Rich Trajectory Points now include additional + information such as the complete volume path of the starting and ending + volume including all replica and copy numbers, etc.
    • +
    • Fixed bug in screen location and screen ratio handling for + X/Xm/Qt/Win32 viewers.
    • +
    • Vector and bitmapped printing through /vis/ogl/printEPS is now + fully functional for all OpenGL viewers (previously only for OGLIX and + OGLSX). Related new commands are /vis/ogl/set/printSize and + /vis/ogl/set/printFilename.
    • +
  • +
  • Management +
      +
    • G4VisManager: implemented handlers notification. A user may + notify scene handlers that the scene has changed, so that they may + rebuild their graphics database, if any, and redraw all views.
    • +
    • Introduced /vis/initialize UI command; instantiating + /vis/verbose and /vis/initialize in constructor + of G4VisManager so that a user may set verbosity before + initialisation.
    • +
    • New UI command, /vis/viewer/set/targetPoint, sets a specific + point to be the center of the view. Helps with doing extreme zoom in to + a specific point.
    • +
    • New UI command, /vis/scene/add/psHits for visualization of + scoring quantities to gMocrenFile.
    • +
    • Improved end of run event keeping information.
    • +
    • Allow for arbitrary viewer deletion (fixes some situations that had + caused crashes).
    • +
    • Allow refresh in GeomClosed as well as Idle state.
    • +
    • G4VisExecutive: made methods inline.
    • +
  • +
  • Modeling +
      +
    • Added warning if logical volume is not defined.
    • +
    • G4PhysicalVolumeModelTouchable: new class to allow + visualization attributes to be individually set for each volume within + a nested parameterization.
    • +
    • Added unit to setAux/StepPtsSizeType UI commands so that size + can be specified either in pixels or relative to screen size.
    • +
    • Added G4PSHitsModel for gMocren driver.
    • +
    • G4ModelApplyCommands: added call to NotifyHandlers() + to force update of all viewers after a change of model, e.g., + trajectory colour, point size, etc.
    • +
  • +
  • Externals +
      +
    • gl2ps: Added dependency on zlib (even if G4LIB_BUILD_ZLIB is + not set).
    • +
    • Corrected setup for building DLLs on Windows.
    • +
  • +
  • gMocren +
      +
    • First Beta release of this new visualization driver to output data in + the gdd format used by the gMocren volume visualization tool. + gMocrenFile can include volume data from sensitive detector + volumes, or from command-based scoring meshes, in addition to detector + geometry and trajectories. Use the new UI command + /vis/scene/add/psHits to add scorer hits to gMocren output. + For details, see the Application Developers Guide and: + http://geant4.kek.jp/gMocren/.
    • +
  • +
  • HepRep +
      +
    • New UI commands of the form /vis/heprep allow easy control of + output file name and output directory, whether a file name should be + reused (rather than having a sequential suffix appended at each new + file) and whether culled geometry volumes should be included.
    • +
    • Changed messenger to a singleton to facilitate sharing by + HepRepFile and HepRepXML.
    • +
    • Fixed a bug in representation of G4Tubs which had caused wrong + visualization for cases in which the tube was at an unusual angle.
    • +
  • +
  • OpenGL +
      +
    • G4OpenGLQtViewer: ensure the GL frame size will be correct + by setting a zero size margin around.
    • +
    • G4OpenGLStoredQtViewer: removed picking to true at + initialisation.
    • +
  • +
  • OpenInventor +
      +
    • Created new "externals" module for gl2ps library, moving out code from + OpenInventor module. Added ability to draw markers.
    • +
  • +
  • Qt +
      +
    • Continued improvements to this new driver. The Qt visualization + driver and the associated Qt User Interface now work well on + almost all platforms and with both Qt3 and Qt4 (but still considered a + Beta release due to a few rare combinations of commands on certain + platforms that can cause crashes).
    • +
  • +
  • RayTracer +
      +
    • Fixed a crash of RayTracerX on some platforms. + Addressing problem report + #1072.
    • +
  • +
+ + +

Environments

+
    +
  • G4Py: updated configuration script and wrappers to physics-lists.
  • +
  • Momo: updated documentation.
  • +
+ + +

Data sets

+
    +
  • New data for measured optical surface reflectance, RealSurface.1.0: +
      +
    • Path to data controlled by variable G4REALSURFACEDATA
    • +
  • +
  • New low-energy data set, G4EMLOW.6.9: +
      +
    • Corrected corrupted data files: ioni/ion-sp-38.dat, ioni/ion-sp-56.dat + and ioni/ion-sp-57.dat. Addresses problem report + #1042.
    • +
    • Extended energy range of Champion e- elastic scattering model from + 10 KeV up to 10 MeV.
    • +
    • Extended high energy coverage of proton excitation and ionization.
    • +
    • Improved precision of e- ionisation Born model.
    • +
    • Included ICRU 73 stopping powers and revised tables provided by + P.Sigmund/Univ. of Southern Denmark.
    • +
    • Updated Geant4-DNA e- elastic Champion files and e- ionisation + Born files.
    • +
  • +
+ + +

Examples

+
    +
  • Various fixes, improvements, adoption of new features.
  • +
  • Updated reference outputs.
  • +
  • advanced +
      +
    • Retired advanced examples: cosmicray_charging, radiation_monitor, + Tiara.
    • +
    • air_shower +
        +
      • Changed UltraPhysicsList to use new processes + G4eMultipleScattering, G4MuMultipleScattering and + G4hMultipleScattering.
      • +
    • +
    • amsEcal +
        +
      • New example implementing the AMS Ecal calorimeter.
      • +
    • +
    • brachytherapy +
        +
      • Updated physics-list and analysis setup.
      • +
    • +
    • composite_calorimeter +
        +
      • Use QGSP_BIC_EMY as default physics-list to test the + low-energy EM.
      • +
    • +
    • gammaray_telescope +
        +
      • Updated physics-list setup.
      • +
    • +
    • hadrontherapy +
        +
      • Reviewed physics implementation. Now Hadrontherapy can be launched + with physics-lists, packages and built-in physic models. + All models can be activated via macro command.
      • +
      • Implemented new low-energy models Livermore and Penelope.
      • +
      • Modified and revised the README (now in PDF format) and macro + files.
      • +
      • Added messengers to control the event number and to draw only + particular tracks.
      • +
      • Added a method to retrieve stopping power values for protons, + alphas and electrons.
      • +
      • Added local INCL/ABLA physics list for deuterons, tritons and + alphas.
      • +
      • Added first version of the IAEA benchmark geometry based on + E.Haettner's thesis. Added ability to remove the phantom by + setting its thickness to zero. Added ability to select the + geometry using macro commands.
      • +
      • Collect simulation metadata: number of events, distance of the + detector (IAEA geometry), depth of the phantom (IAEA geometry), + beam energy, energy error. Added ability to produce angular + distribution plots.
      • +
      • Added ability to change the name of the output file between runs.
      • +
      • Added ability to use command based scoring; IAEA geometry: now can + produce Bragg peak using command based scoring.
      • +
      • Added possibility to make a graphical user interface (GUI) using + the Qt libraries.
      • +
      • Added some functionalities in order to change, via messengers, + geometry, voxelization of the detector and disposition in the + space of the detector/phantom.
      • +
    • +
    • lAr_calorimeter +
        +
      • Use QGSP_BIC_EMY as default physics-list to tests + the low-energy EM.
      • +
    • +
    • medical_linac +
        +
      • New release of the example: updated physics models and deleted + old and no longer supported processes; added possibility to + activate the physics lists and reference physics-lists directly + via UI command; added possibility to set cuts and max allowed + step lenghts via UI commands.
      • +
    • +
    • microbeam +
        +
      • Updated physics-list to migrated Livermore processes.
      • +
      • Corrected plotting fuctions and switching field value.
      • +
    • +
    • microdosimetry +
        +
      • Updated physics-list to migrated Geant4-DNA processes. + Modified SteppingAction accordingly. Updated README.
      • +
      • Replaced H2O material by NIST G4_WATER.
      • +
      • Added GenericIon definition to PhysicsList.
      • +
    • +
    • radioprotection +
        +
      • Updated physics-lists setup.
      • +
      • Changed analysis output format to XML.
      • +
    • +
    • Rich +
        +
      • Added possibility to use QGSP_BIC_EMY as physics-list; + by default, the example's physics-list is used still.
      • +
    • +
    • xray_fluorescence +
        +
      • Migrated physics-list to new low-energy processes design +
      • Migrated XrayFluoDataSet to meet new specifications + in G4VEMDataSet.
      • +
    • +
    • xray_telescope +
        +
      • Updated and simplified physics-list.
      • +
    • +
  • +
  • extended +
      +
    • analysis/A01 +
        +
      • A01DetectorConstruction, A01MagneticField: improved + handling of field. Addresses problem report + #1012.
      • +
      • Removed A01Trajectory, to now use default G4Trajectory. +
      • Update physics-list to use new multiple scattering classes. +
      • Introduced use of G4UIExecutive. +
      • General update to README.
      • +
    • +
    • biasing/ReverseMC01 +
        +
      • New example demonstrating the use of Reverse MonteCarlo + technique in Geant4.
      • +
    • +
    • electromagnetic +
        +
      • Physics list: renamed "standard" to "local"; "emstandard" to + "emstandard_opt0". Substituted obsolete low-energy physics + builders with builders from the reference physics_list library.
      • +
      • Replaced obsolete G4MultipleScattering in PhysListEmStandard.
      • +
      • Updated README and macro files.
      • +
    • +
    • electromagnetic/TestEm2 +
        +
      • Substituted obsolete low-energy physics builders with builders + from the 'physics_list' module.
      • +
      • Reduced number of hard-coded materials, added a possiblity to + use NIST materials.
      • +
      • Some cleanup to macro files.
      • +
    • +
    • electromagnetic/TestEm3 +
        +
      • Fix to HistoManager::PrintHisto(): avoid empty ascii + file.
      • +
      • Removed G4EMConfigurator in physics-list.
      • +
    • +
    • electromagnetic/TestEm5 +
        +
      • Added UI command /testem/phys/cutLimit allowing to change + low limit for production threshold.
      • +
      • Added missing notification to G4RunManager when geometry + or material are modified between runs.
      • +
      • Added PAI models configuration to Physics List.
      • +
      • Modified cuts in PhysicsList. Added blaha.mac input macro.
      • +
      • Removed UI command /testem/phys/cutLimit.
      • +
      • PhysicsList: removed obsolete low-energy EM builders, substituted + by builders from the 'physics_list' module; added "standardGS" + option: use GoudsmitSaunderson multiple-scattering model.
      • +
      • New local physics-list PhysListEmStandardGS.
      • +
      • Removed G4EMConfigurator in physics-list.
      • +
    • +
    • electromagnetic/TestEm6 +
        +
      • Increased upper limit of energy in the tables to 1000 TeV.
      • +
      • Added StackingAction to allow for removal of secondary particles.
      • +
    • +
    • electromagnetic/TestEm9 +
        +
      • Changed options to physics-list.
      • +
    • +
    • electromagnetic/TestEm18 +
        +
      • Added UI command /testem/phys/cutLimit allowing to change + low limit for production threshold.
      • +
      • Changed options to physics-list.
      • +
      • Removed UI command /testem/phys/cutLimit.
      • +
    • +
    • electromagnetic/TestEm13 +
        +
      • Replacement with new Livermore and Penelope physics-lists.
      • +
    • +
    • electromagnetic/TestEm14 +
        +
      • Replacement with new Livermore and Penelope physics-lists.
      • +
    • +
    • exoticphysics/monopole +
        +
      • Added messenger to define mass and charge of the monopole.
      • +
    • +
    • field +
        +
      • Fixed density of STP Carbon Dioxide in DetectorConstruction.
      • +
    • +
    • field/field04 +
        +
      • Introduced /rndm/autoSeed UI command and changed default + seeding of random generator.
      • +
      • Changed F04PhysicsList and F04PhysicsListMessenger + to use G4PhysListFactory.
      • +
      • Introduced use of G4UIExecutive.
      • +
    • +
    • field/field05 +
        +
      • New example to test the spin-frozen condition whereby the g-2 + muon spin precession is canceled by an applied electric field. + Courtesy of Hiromi Iinuma from KEK.
      • +
    • +
    • hadronic/Hadr00 +
        +
      • Added possibility to define physics-list as a job parameter.
      • +
      • Added script for the test run of all physics-lists.
      • +
    • +
    • hadronic/Hadr01 +
        +
      • Updated physics-list. Using FTFP_BERT_TRV.
      • +
      • Added histograms on energy depositions: total/electromagnetic, + pion/proton.
      • +
    • +
    • medical/DICOM +
        +
      • Changed DICOM Handler to read CT files coming from CONQUEST + DICOM server.
      • +
    • +
    • medical/electronScattering, electronScattering2 +
        +
      • Two alternate approaches to simulating the published electron + scattering benchmark experiment of C. K. Ross et al.
      • +
    • +
    • medical/fanoCavity[1,2] +
        +
      • Corrected computation of 'error' in EndOfRun.
      • +
      • Using GoudsmitSaunderson multiple-scattering model. + Added cut for proton recoil in case of Single Scattering.
      • +
    • +
    • medical/GammaTherapy +
        +
      • Updated physics-list for EM.
      • +
    • +
    • optical/LXe +
        +
      • Exhibit the usage of a complex index of refraction for the photo + cathode.
      • +
      • Use of G4OpticalPhysics builder/messenger, instead of + LXeOpticalPhysics.
      • +
      • Introduced use of G4UIExecutive.
      • +
    • +
    • optical/wls +
        +
      • New example tracking optical photons in a realistic plastic + scintillator bar geometry with a wave length shifting (WLS) fiber + and propagating the WLS photons inside the fiber. + Courtesy of Siu Pak Mok from TRIUMF.
      • +
    • +
    • persistency/gdml +
        +
      • G01: added new GDML samples for matrices+loops and + optical-surfaces. Modified matricesandloops.gdml, following + new specifications for loops. + Added possibility to run application in batch mode giving a macro + as input (e.g.: load_gdml solids.gdml g01.gdml g01.in); + option to be used by system testing for batch test. + Added assembly.gdml to demonstrate support for 'assembly' tags. + Added usage of 'expression' and 'quantity' in solids.gdml.
      • +
      • G02: + Added missing inclusion of headers after cleanup.
      • +
      • G03: + Extended example to show also capability to write extended schema; + added custom writer class. + Renamed translation unit for main to "gdml_ext.cc".
      • +
    • +
    • persistency/P03 +
        +
      • Use G4XMultipleScattering in physics-list.
      • +
    • +
    • polarisation/Pol01 +
        +
      • Updated multiple-scattering physics.
      • +
    • +
    • radioactivedecay/exrdm +
        +
      • Fixed trivial compilation warning when compiled without + G4ANALYSIS_USE.
      • +
    • +
  • +
  • novice +
      +
    • Introduced use of G4UIExecutive.
    • +
    • N02 +
        +
      • Use G4MuMultipleScattering for muons; separated alpha + from GenericIon.
      • +
    • +
    • N03 +
        +
      • Use G4MuMultipleScattering for muons; separated alpha + from GenericIon.
      • +
    • +
    • N06 +
        +
      • Use G4eMultipleScattering, G4MuMultipleScattering and + G4hMultipleScattering instead of standard G4MultipleScattering.
      • +
    • +
  • +
+ +
+ + + diff --git a/config/G4UI_USE.gmk b/config/G4UI_USE.gmk index 295e7ff967..433c371f5c 100644 --- a/config/G4UI_USE.gmk +++ b/config/G4UI_USE.gmk @@ -1,4 +1,4 @@ -# $Id: G4UI_USE.gmk,v 1.14 2008/12/08 17:31:14 gbarrand Exp $ +# $Id: G4UI_USE.gmk,v 1.15 2009/03/05 09:19:37 gbarrand Exp $ # ------------------------------------------------------------- # GNUmakefile for CPPFLAGS for interfaces USE phase. # John Allison, 6th July 1998. @@ -81,27 +81,6 @@ ifdef G4UI_USE_WIN32 CPPFLAGS += -DG4UI_USE_WIN32 endif -ifdef G4UI_USE_OSC - CPPFLAGS += -DG4UI_USE_OSC - ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) - # need a syntax that both g++ and CL.exe understand : - G4OSC_TMP_1 := $(shell echo "`osc-config --g4lab_incs`") - CPPFLAGS += $(patsubst /I%,-I"%",$(G4OSC_TMP_1)) - else - CPPFLAGS += $(shell osc-config --g4lab_incs) - endif - INTYLIBS += $(shell osc-config --g4lab_libs) - INTYLIBS += $(shell osc-config --iv_libs) - # - ifndef G4ANALYSIS_AIDA_CONFIG_CFLAGS - ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) - # need a syntax that both g++ and CL.exe understand : - G4OSC_TMP_2 := $(shell echo "`aida-config --include`") - G4ANALYSIS_AIDA_CONFIG_CFLAGS := $(patsubst /I%,-I"%",$(G4OSC_TMP_2)) - endif - endif -endif - ##################### Default to TERMINAL if no environment variables set ## ifndef G4UI_USE diff --git a/config/G4VIS_BUILD.gmk b/config/G4VIS_BUILD.gmk index 46aaff6e72..70b41bfc1f 100644 --- a/config/G4VIS_BUILD.gmk +++ b/config/G4VIS_BUILD.gmk @@ -1,4 +1,4 @@ -# $Id: G4VIS_BUILD.gmk,v 1.20 2007/10/03 12:15:05 lgarnier Exp $ +# $Id: G4VIS_BUILD.gmk,v 1.22 2009/11/05 10:06:54 allison Exp $ # ------------------------------------------------------------- # Visualization-specific CPPFLAGS for BUILD phase. # John Allison, 24th January 1998. @@ -13,7 +13,7 @@ ifndef G4VIS_NONE # variables needed)... # G4VIS_BUILD_ASCIITREE_DRIVER # G4VIS_BUILD_DAWNFILE_DRIVER -# G4VIS_BUILD_GAGTREE_DRIVER +# G4VIS_BUILD_GMOCRENFILE_DRIVER # G4VIS_BUILD_HEPREPFILE_DRIVER # G4VIS_BUILD_RAYTRACER_DRIVER # G4VIS_BUILD_VRMLFILE_DRIVER diff --git a/config/G4VIS_USE.gmk b/config/G4VIS_USE.gmk index 67e474063f..002f528871 100644 --- a/config/G4VIS_USE.gmk +++ b/config/G4VIS_USE.gmk @@ -1,4 +1,4 @@ -# $Id: G4VIS_USE.gmk,v 1.24 2008/04/30 10:40:12 lgarnier Exp $ +# $Id: G4VIS_USE.gmk,v 1.28 2009/11/17 11:34:56 gcosmo Exp $ # ------------------------------------------------------------- # GNUmakefile for CPPFLAGS for visualization USE phase. # John Allison, 24th January 1998. @@ -15,9 +15,15 @@ endif # Not needing external packages or libraries... # Set old USE C-pre-processor flags for backwards compatibility of user code... +CPPFLAGS += -DG4VIS_USE_ASCIITREE +VISLIBS += -lG4Tree + CPPFLAGS += -DG4VIS_USE_DAWNFILE VISLIBS += -lG4FR +CPPFLAGS += -DG4VIS_USE_GMOCRENFILE +VISLIBS += -lG4GMocren + CPPFLAGS += -DG4VIS_USE_HEPREPFILE VISLIBS += -lG4visHepRep @@ -27,16 +33,13 @@ VISLIBS += -lG4RayTracer CPPFLAGS += -DG4VIS_USE_VRMLFILE VISLIBS += -lG4VRML -CPPFLAGS += -DG4VIS_USE_ASCIITREE -CPPFLAGS += -DG4VIS_USE_GAGTREE -VISLIBS += -lG4Tree - ifneq ($(G4INCLUDE_EXEC),1) CPPFLAGS += -I$(G4BASE)/visualization/FukuiRenderer/include + CPPFLAGS += -I$(G4BASE)/visualization/gMocren/include CPPFLAGS += -I$(G4BASE)/visualization/HepRep/include CPPFLAGS += -I$(G4BASE)/visualization/RayTracer/include - CPPFLAGS += -I$(G4BASE)/visualization/VRML/include CPPFLAGS += -I$(G4BASE)/visualization/Tree/include + CPPFLAGS += -I$(G4BASE)/visualization/VRML/include endif ifdef G4VIS_USE_DAWN @@ -76,6 +79,7 @@ ifdef G4VIS_USE_OPENGL VISLIBS += -lG4OpenGL INC_GL = 1 LOAD_GL = 1 + G4LIB_USE_GL2PS = 1 endif ifdef G4VIS_USE_OIX @@ -102,6 +106,7 @@ ifdef G4VIS_USE_OI VISLIBS += -lG4OpenInventor INC_IV = 1 LOAD_IV = 1 + G4LIB_USE_GL2PS = 1 endif ifdef G4VIS_USE_RAYTRACERX @@ -116,6 +121,13 @@ ifdef G4VIS_USE_VRML # CPPFLAGS += -I... and VISLIBS += set above. endif +ifdef G4LIB_USE_GL2PS + ifneq ($(G4INCLUDE_EXEC),1) + CPPFLAGS += -I$(G4BASE)/visualization/externals/gl2ps/include + endif + VISLIBS += -lG4gl2ps +endif + ########################### and finally... ####################### G4VIS_USE = 1 diff --git a/config/History b/config/History index ba35be4e3c..0fbbad5b9e 100644 --- a/config/History +++ b/config/History @@ -1,4 +1,4 @@ -cvs log $Id: History,v 1.344 2008/12/09 11:20:58 gcosmo Exp $ +cvs log $Id: History,v 1.372 2009/11/25 14:20:40 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,112 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +25th November 2009 Ben Morgan (config-V09-02-17) +- Updated internal scripts for Configure. + +20th November 2009 Gabriele Cosmo (config-V09-02-16) +- Removed CHIPS/xs_dependent module from include paths. + +18th November 2009 Gabriele Cosmo (config-V09-02-15) +- architecture.gmk: corrected inclusion of -lz for zlib. +- WIN32-VC.gmk: added gd32.lib to OGLLIBS. + +17th November 2009 Gabriele Cosmo (config-V09-02-14) +- Added include paths to new CHIPS modules. + +17th November 2009 Gabriele Cosmo (config-V09-02-13) +- G4VIS_USE.gmk: fixed dependency issues on WIN32-VC for gl2ps utility + library in visualization. +- WIN32-VC.gmk: added use32.lib to OGLLIBS to fix problems of linking + when G4LIB_BUILD/USE_WIN32_SESSION is not set (L.Garnier). +- binmake.gmk: corrected inclusion of G4zlib library in link list for + the case of global libraries. +- Updated Configure script (Configure-V09-02-03) and internal scripts: + o Added new data set for G4REALSURFACEDATA variable and updated G4LEDATA + data set version. + o Fixed detection of QtCore library; addressing problem report #1079. + o Added flag to allow running with query options on non-interactive + terminal. Resolves issue reported in Hypernews Install-and-Config #1213. + o Corrected text for installation of g3tog4 module; cernlib is not required. + +5th November 2009 John Allison (config-V09-02-12) +- Removed references to obsolete GAGTREE driver. + +4th November 2009 John Allison +- Added new gMocren flags for backward compatibility. + +4th November 2009 Gabriele Cosmo (config-V09-02-11) +- Added new gMocren include path to G4VIS_USE.gmk script. + +8th September 2009 Gabriele Cosmo (config-V09-02-10) +- Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib to + setup for Qt4 configuration. + +17th August 2009 Gabriele Cosmo (config-V09-02-09) +- Added G4OPTDEBUG option for hybrid optimized-debug build also to + Darwin-g++ and WIN32-g++ configurations. + +3rd August 2009 Gabriele Cosmo (config-V09-02-08) +- Darwin-g++.gmk: added -arch_multiple option to LDFLAGS to force more + diagnostics for wrong architecture errors at link stage. + +17th June 2009 Gunter Folger (config-V09-02-07) +- binmake.gmk: moved definition of TARGOBJEXT to place not dependent + on G4EXLIB, such that the extension is defined when no lib is present + (e.g. for hadronic exercisers). + +27th May 2009 Ben Morgan (config-V09-02-06) +- Configure script: + o Rewritten check on make/gmake on WIN32-VC systems to avoid problems + with cygwin and Matlab. + o Added check to build Qt driver only when Qt UI module is built; + reordered moc checks and added cross-check on moc version. + Added safety reset of OpenGL QT build and use variables. + o Commented out echo compatibility warning to address problem report #1067. + +27th April 2009 Gabriele Cosmo (config-V09-02-05) +- Linux-icc.gmk: removed "-lcxa -lunwind" LOADLIBS addition, no longer + necessary since icc-11.0.83. + +20th April 2009 Laurent Garnier +- Linux-g++.gmk: corrections to respect standard location for include + and lib paths for Qt. Improved setup for non-standard Qt3 location. + +8th March 2009 Laurent Garnier +- Darwin-g++.gmk: bug fix for Qt non standard installation. +- Linux-g++.gmk: changed way to fing QtLib by default. +- WIN32-VC.gmk: bug fix for building GLQTLIBS. + +5th March 2009 Guy Barrand +- analysis.gmk: arrange configuration for WIN32-VC so that what is returned + by `aida-config --lib` (which may have the Windows LINK.exe syntax) is + understood by g++ which is in fact used by CygWin for linking applications. + Then transforming /LIBPATH options to -libpath options and change the path + '\' syntax to a '/' syntax. Allowing now to use the AIDA implementation + coming from an osc-batch or osc-vis binary kit built for WIN32-VC, in a + example using AIDA built from CygWin with Geant4 built with the VisualC++ + compiler. +- G4UI_USE.gmk: suppressed G4UI_USE_OSC logic. From OpenScientist/16.8, the + osc-g4-vis program can instrument directly the GNUmakefile of an example or + of a user application which is a clone of some Geant4 example. + +27th February 2009 Gabriele Cosmo (config-V09-02-04) +- common.gmk, globlib.gmk: added removal of moc sources in clean target. + +26th February 2009 Gabriele Cosmo (config-V09-02-03) +- Linux-g++.gmk: simplified Qt setup to conform to standard Qt installation. + +26th January 2009 Gabriele Cosmo (config-V09-02-02) +- architecture.gmk: restored generic name for XercesC library for WIN32-VC. + +20th January 2009 Gunter Folger (config-V09-02-01) +- architecture.gmk: changed name of XercesC library for WIN32-VC. + +9th January 2009 Gabriele Cosmo (config-V09-02-00) +- Added -lXi to X11LIBS for Linux-g++, Linux-icc and WIN32-g++ configurations, + required for correct linkage with OpenInventor Coin3D libraries (suggestion + by F.Jones). + 9th December 2008 Guy Barrand (config-V09-01-17) - G4UI_USE.gmk: corrected G4UI_USE_OSC to use $(shell ...) instead of direct backquoting to solve a tricky env expansion problem, diff --git a/config/analysis.gmk b/config/analysis.gmk index 863f1a3920..1c2add144f 100644 --- a/config/analysis.gmk +++ b/config/analysis.gmk @@ -14,14 +14,22 @@ ifdef G4ANALYSIS_USE # by "g++ -M" used by the Geant4 make system to get dependencies. # Then we transform to use the -I syntax which is understood by # both g++ and CL.exe compilers : - G4ANALYSIS_TMP := $(shell echo "`aida-config --include`") - G4ANALYSIS_AIDA_CONFIG_CFLAGS := $(patsubst /I%,-I"%",$(G4ANALYSIS_TMP)) + G4ANALYSIS_TMP_1 := $(shell echo "`aida-config --include`") + G4ANALYSIS_AIDA_CONFIG_CFLAGS := $(patsubst /I%,-I"%",$(G4ANALYSIS_TMP_1)) else G4ANALYSIS_AIDA_CONFIG_CFLAGS := `aida-config --include` endif endif ifndef G4ANALYSIS_AIDA_CONFIG_LIBS - G4ANALYSIS_AIDA_CONFIG_LIBS := `aida-config --lib` + ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) + # The "aida-config --lib" for VC may return information + # by using the Windows /LIBPATH syntax which is not understood + # by g++ used by the Geant4 make system to link applications. + G4ANALYSIS_TMP_2 := $(shell echo "`aida-config --lib`" | sed -e 's:\\:/:g') + G4ANALYSIS_AIDA_CONFIG_LIBS := $(patsubst /LIBPATH:%,'-libpath:'%,$(G4ANALYSIS_TMP_2)) + else + G4ANALYSIS_AIDA_CONFIG_LIBS := `aida-config --lib` + endif endif CPPFLAGS += $(G4ANALYSIS_AIDA_CONFIG_CFLAGS) ANALYSISLIBS += $(G4ANALYSIS_AIDA_CONFIG_LIBS) diff --git a/config/architecture.gmk b/config/architecture.gmk index 4006e0a8df..8d89846fde 100644 --- a/config/architecture.gmk +++ b/config/architecture.gmk @@ -1,4 +1,4 @@ -# $Id: architecture.gmk,v 1.118 2008/12/17 13:36:23 gcosmo Exp $ +# $Id: architecture.gmk,v 1.121 2009/11/18 17:27:38 gcosmo Exp $ # ------------------------------------------------------------------------ # GEANT 4 - Architecture configuration script for GNU Make # @@ -13,9 +13,9 @@ # List of the supported architectures/compilers and related flavors for # the environment variable G4SYSTEM: # -# Linux-g++ Linux (Red Hat Enterprise/SCL4), gcc-3.4.6 (default) +# Linux-g++ Linux (Red Hat Enterprise/SCL5), gcc-4.1.2 (default) # -# Darwin-g++ MacOSX 10.5, gcc-4.0.1 +# Darwin-g++ MacOSX 10.6, gcc-4.2.1 # # WIN32-VC Windows/XP and Microsoft Visual C++ 9.0 # Adding CYGWIN32 tools @@ -213,12 +213,9 @@ ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) LOADLIBS := $(CLHEP_LIB) else LDFLAGS += -L$(CLHEP_LIB_DIR) - LOADLIBS := -l$(CLHEP_LIB) - LOADLIBS += -lm - ifdef G4LIB_USE_ZLIB - ifndef G4LIB_BUILD_ZLIB - LOADLIBS += -lz - endif + LOADLIBS := -l$(CLHEP_LIB) -lm + ifndef G4LIB_USE_ZLIB + LOADLIBS += -lz endif endif diff --git a/config/binmake.gmk b/config/binmake.gmk index 915b067b18..75bbaf28e9 100644 --- a/config/binmake.gmk +++ b/config/binmake.gmk @@ -1,4 +1,4 @@ -# $Id: binmake.gmk,v 1.139 2008/12/03 13:35:36 gcosmo Exp $ +# $Id: binmake.gmk,v 1.144 2009/11/20 11:09:18 gcosmo Exp $ # ---------------------------------------------------------- # Script defining rules and paths for making binaries. # First implementation: Gabriele Cosmo, 25/06/1998. @@ -86,7 +86,10 @@ ifndef INCFLAGS -I$(G4BASE)/processes/hadronic/models/cascade/evaporation/include \ -I$(G4BASE)/processes/hadronic/models/cascade/utils/include \ -I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/body/include \ + -I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/cross_sections/include \ + -I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/fragmentation/include \ -I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/interface/include \ + -I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/processes/include \ -I$(G4BASE)/processes/hadronic/models/coherent_elastic/include \ -I$(G4BASE)/processes/hadronic/models/de_excitation/ablation/include \ -I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \ @@ -195,11 +198,9 @@ ifdef G4EXLIB ifeq (,$(findstring WIN32-VC,$(G4SYSTEM))) # Unix TARGETLIB := -l$(G4TARGET) - TARGOBJEXT := o else # Windows TARGETLIB := lib$(G4TARGET).a - TARGOBJEXT := OBJ endif endif @@ -232,6 +233,11 @@ ifdef GLOBALLIBS -lG4graphics_reps \ -lG4intercoms \ -lG4global + + ifdef G4LIB_USE_ZLIB + LDLIBS2 += -lG4zlib + endif + else # The next lines specifically should read LDLIBS2 = , not LDLIBS2 :=, so # that it is not expanded until the directory G4TMPDIR is created. @@ -258,10 +264,6 @@ else endif endif -ifdef G4LIB_USE_ZLIB - LDLIBS2 += -lG4zlib -endif - # LDLIBS3 contains the first set of low level libraries... # ifdef G4LIB_USE_GDML @@ -308,10 +310,12 @@ ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.a,$(WIN32TMP2)) endif OUT := /Fe + TARGOBJEXT := OBJ else # Unix LDLIBS = $(TARGETLIB) $(LDLIBS_PREFINAL) OUT := -o + TARGOBJEXT := o endif ifdef transform-RPath @@ -356,7 +360,7 @@ ifdef CPPVERBOSE $(OUT)$(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \ $(LDLIBS) else - @echo Linking $(G4TARGET) ... + @echo Linking $(G4TARGET) @$(CXX) $(CXXFLAGS) $(CPPFLAGS) \ $(OUT)$(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \ $(LDLIBS) diff --git a/config/common.gmk b/config/common.gmk index a3e2bb2f5a..538167616d 100644 --- a/config/common.gmk +++ b/config/common.gmk @@ -1,4 +1,4 @@ -# $Id: common.gmk,v 1.53 2008/12/03 13:35:36 gcosmo Exp $ +# $Id: common.gmk,v 1.54 2009/02/26 16:29:08 gcosmo Exp $ # ---------------------------------------------------------------- # Common part of GNUmakefile for libraries. John Allison, 5/7/95. # ---------------------------------------------------------------- @@ -150,6 +150,7 @@ clean:: @rm -f $(G4LIBDIR)/*$(name).exp @rm -f $(G4LIBDIR)/lib$(name).$(SHEXT) @rm -rf $(G4TMPDIR) + @rm -rf moc endif clean_libs:: diff --git a/config/globlib.gmk b/config/globlib.gmk index db45214f8e..bfd9b4dc34 100644 --- a/config/globlib.gmk +++ b/config/globlib.gmk @@ -1,4 +1,4 @@ -# $Id: globlib.gmk,v 1.28 2005/12/07 09:53:46 gcosmo Exp $ +# $Id: globlib.gmk,v 1.29 2009/02/26 16:40:40 gcosmo Exp $ # -------------------------------------------------------------- # Script for compound libraries. Gabriele Cosmo, 25/6/98. # -------------------------------------------------------------- @@ -115,6 +115,7 @@ clean:: rm -f $(G4LIBDIR)/*$$lib.exp;\ rm -f $(G4LIBDIR)/*$$lib.$(SHEXT) );\ done + @for dir in $(SUBDIRS); do (rm -rf $$dir/moc); done @rm -f $(G4LIBDIR)/*$(name).a @rm -f $(G4LIBDIR)/*$(name).lib @rm -f $(G4LIBDIR)/*$(name).exp diff --git a/config/scripts/env.csh.SH b/config/scripts/env.csh.SH index 9583b25779..82e00de4c5 100755 --- a/config/scripts/env.csh.SH +++ b/config/scripts/env.csh.SH @@ -30,7 +30,6 @@ unsetenv CLHEP_INCLUDE_DIR unsetenv CLHEP_LIB unsetenv CLHEP_LIB_DIR -unsetenv G4ANALYSIS_USE unsetenv G4DEBUG unsetenv G4INCLUDE unsetenv G4INSTALL @@ -40,6 +39,7 @@ unsetenv G4LEVELGAMMADATA unsetenv G4NEUTRONHPDATA unsetenv G4RADIOACTIVEDATA unsetenv G4ABLADATA +unsetenv G4REALSURFACEDATA unsetenv G4LIB unsetenv G4LIB_BUILD_G3TOG4 @@ -53,6 +53,7 @@ unsetenv G4LIB_USE_ZLIB unsetenv G4SYSTEM +unsetenv G4UI_NONE unsetenv G4UI_BUILD_WIN32_SESSION unsetenv G4UI_BUILD_XAW_SESSION unsetenv G4UI_BUILD_XM_SESSION @@ -62,6 +63,7 @@ unsetenv G4UI_USE_XAW unsetenv G4UI_USE_XM unsetenv G4UI_USE_QT +unsetenv G4VIS_NONE unsetenv G4VIS_BUILD_DAWN_DRIVER unsetenv G4VIS_BUILD_OIWIN32_DRIVER unsetenv G4VIS_BUILD_OIX_DRIVER @@ -155,12 +157,12 @@ setenv G4ABLADATA "$g4abladata" echo "On this machine the G4ABLADATA=\$G4ABLADATA" endif - #+ -#if ( X$g4elasticdata != X ) then -#setenv G4ELASTICDATA "$g4elasticdata" -#echo "On this machine the G4ELASTICDATA=\$G4ELASTICDATA" -#endif +if ( X$g4realsurfacedata != X ) then +setenv G4REALSURFACEDATA "$g4realsurfacedata" +echo "On this machine the G4REALSURFACEDATA=\$G4REALSURFACEDATA" +endif + # # g4clhep.U @@ -197,18 +199,24 @@ setenv G4DEBUG 1 echo "On this machine the G4DEBUG=\$G4DEBUG" endif -# -# g4analysis -# -#+ -if ( X$g4wanalysis_use == Xy ) then -setenv G4ANALYSIS_USE 1 -echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE" -endif # # g4ui # +#+ +if ( X$g4ui_none == Xy ) then +setenv G4UI_NONE 1 +echo "On this machine G4UI_NONE is set, so no user interfaces are available" +endif + +# Check for Windows! +if ( "X\$G4SYSTEM" != "XWIN32-VC" && "X\$G4SYSTEM" != "XWIN32-VC7" ) then +if ( X$g4ui_none != Xy ) then +setenv G4UI_USE_TCSH 1 +echo "On this machine the G4UI_USE_TCSH=\$G4UI_USE_TCSH" +endif +endif + #+ if ( X$g4ui_build_xaw_session == Xy ) then setenv G4UI_BUILD_XAW_SESSION 1 @@ -262,6 +270,12 @@ endif # # g4vis # +#+ +if ( X$g4vis_none == Xy ) then +setenv G4VIS_NONE 1 +echo "On this machine G4VIS_NONE is set, so no vis drivers are available" +endif + #+ if ( X$g4vis_build_dawn_driver == Xy ) then setenv G4VIS_BUILD_DAWN_DRIVER 1 @@ -521,12 +535,6 @@ setenv G4LIB_USE_GRANULAR 1 echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR" endif -# Check for Windows! -if ( "X\$G4SYSTEM" != "XWIN32-VC" && "X\$G4SYSTEM" != "XWIN32-VC7" ) then -setenv G4UI_USE_TCSH 1 -echo "On this machine the G4UI_USE_TCSH=\$G4UI_USE_TCSH" -endif - ##################################################################### !GROK!THIS! diff --git a/config/scripts/env.sh.SH b/config/scripts/env.sh.SH index b362ecaa0f..b9f1e678af 100755 --- a/config/scripts/env.sh.SH +++ b/config/scripts/env.sh.SH @@ -30,7 +30,6 @@ unset CLHEP_INCLUDE_DIR unset CLHEP_LIB unset CLHEP_LIB_DIR -unset G4ANALYSIS_USE unset G4DEBUG unset G4INCLUDE unset G4INSTALL @@ -40,6 +39,7 @@ unset G4LEVELGAMMADATA unset G4NEUTRONHPDATA unset G4RADIOACTIVEDATA unset G4ABLADATA +unset G4REALSURFACEDATA unset G4LIB unset G4LIB_BUILD_G3TOG4 @@ -53,6 +53,7 @@ unset G4LIB_USE_ZLIB unset G4SYSTEM +unset G4UI_NONE unset G4UI_BUILD_WIN32_SESSION unset G4UI_BUILD_XAW_SESSION unset G4UI_BUILD_XM_SESSION @@ -62,6 +63,8 @@ unset G4UI_USE_XAW unset G4UI_USE_XM unset G4UI_USE_QT + +unset G4VIS_NONE unset G4VIS_BUILD_DAWN_DRIVER unset G4VIS_BUILD_OIWIN32_DRIVER unset G4VIS_BUILD_OIX_DRIVER @@ -184,17 +187,14 @@ echo "On this machine the G4ABLADATA=\$G4ABLADATA" fi fi - - - #+ -#if [ X$g4elasticdata != X ] ; then -#G4ELASTICDATA="$g4elasticdata" -#export G4ELASTICDATA -#if [ X\$g4non_display = X ] ; then -#echo "On this machine the G4ELASTICDATA=\$G4ELASTICDATA" -#fi -#fi +if [ X$g4realsurfacedata != X ] ; then +G4REALSURFACEDATA="$g4realsurfacedata" +export G4REALSURFACEDATA +if [ X\$g4non_display = X ] ; then +echo "On this machine the G4REALSURFACEDATA=\$G4REALSURFACEDATA" +fi +fi # # g4clhep.U @@ -246,21 +246,36 @@ echo "On this machine the G4DEBUG=\$G4DEBUG" fi fi -# -# g4analysis -# -#+ -if [ X$g4wanalysis_use = Xy ] ; then -G4ANALYSIS_USE=1 -export G4ANALYSIS_USE -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE" -fi -fi # # g4ui # +#+ +if [ X$g4ui_none = Xy ] ; then +G4UI_NONE=1 +export G4UI_NONE +if [ X\$g4non_display = X ] ; then +echo "On this machine, G4UI_NONE is set, so no user interfaces are available" +fi +fi + + +# Check for Windows! +if test "X\$G4SYSTEM" != "XWIN32-VC" -a "X\$G4SYSTEM" != "XWIN32-VC7"; then +#+ +# +# UI_USE_TCSH for Unix +# +if [ X$g4ui_none != Xy ] ; then +G4UI_USE_TCSH=1 +export G4UI_USE_TCSH +if [ X\$g4non_display = X ] ; then +echo "On this machine the G4UI_USE_TCSH=\$G4UI_USE_TCSH" +fi +fi +fi + + #+ if [ X$g4ui_build_xaw_session = Xy ] ; then G4UI_BUILD_XAW_SESSION=1 @@ -339,6 +354,15 @@ fi # # g4vis # +#+ +if [ X$g4vis_none = Xy ] ; then +G4VIS_NONE=1 +export G4VIS_NONE +if [ X\$g4non_display = X ] ; then +echo "On this machine G4VIS_NONE is set, so no vis drivers are available" +fi +fi + #+ if [ X$g4vis_build_dawn_driver = Xy ] ; then G4VIS_BUILD_DAWN_DRIVER=1 @@ -714,18 +738,6 @@ echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR" fi fi -# Check for Windows! -if test "X\$G4SYSTEM" != "XWIN32-VC" -a "X\$G4SYSTEM" != "XWIN32-VC7"; then -#+ -# -# UI_USE_TCSH for Unix -# -G4UI_USE_TCSH=1 -export G4UI_USE_TCSH -if [ X\$g4non_display = X ] ; then -echo "On this machine the G4UI_USE_TCSH=\$G4UI_USE_TCSH" -fi -fi ##################################################################### diff --git a/config/scripts/install.sh.SH b/config/scripts/install.sh.SH index df3ad60ca1..6d6afc2e68 100755 --- a/config/scripts/install.sh.SH +++ b/config/scripts/install.sh.SH @@ -30,7 +30,6 @@ unset CLHEP_INCLUDE_DIR unset CLHEP_LIB unset CLHEP_LIB_DIR -unset G4ANALYSIS_USE unset G4DEBUG unset G4INCLUDE unset G4INSTALL @@ -53,6 +52,7 @@ unset G4LIB_USE_ZLIB unset G4SYSTEM +unset G4UI_NONE unset G4UI_BUILD_WIN32_SESSION unset G4UI_BUILD_XAW_SESSION unset G4UI_BUILD_XM_SESSION @@ -63,6 +63,7 @@ unset G4UI_USE_XAW unset G4UI_USE_XM unset G4UI_USE_QT +unset G4VIS_NONE unset G4VIS_BUILD_DAWN_DRIVER unset G4VIS_BUILD_OIWIN32_DRIVER unset G4VIS_BUILD_OIX_DRIVER @@ -218,19 +219,19 @@ export G4DEBUG echo "On this machine the G4DEBUG=\$G4DEBUG" fi -# -# g4analysis -# -#+ -if [ X$g4wanalysis_use = Xy ] ; then -G4ANALYSIS_USE=1 -export G4ANALYSIS_USE -echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE" -fi # # g4ui # +#+ +if [ X$g4ui_none = Xy ] ; then +G4UI_NONE=1 +export G4UI_NONE +echo "On this machine G4UI_NONE is set - no UIs will be built" + +else +echo "On this machine G4UI_NONE is not set - following UIs will be built:" + #+ if [ X$g4ui_build_xaw_session = Xy ] ; then G4UI_BUILD_XAW_SESSION=1 @@ -288,10 +289,21 @@ export G4UI_USE_QT echo "On this machine the G4UI_USE_QT=\$G4UI_USE_QT" fi +fi +# END OF G4UI_NONE block # # g4vis # +#+ +if [ X$g4vis_none = Xy ] ; then +G4VIS_NONE=1 +export G4VIS_NONE +echo "On this machine G4VIS_NONE is set - no drivers will be built" + +else +echo "On this machine G4VIS_NONE is not set - following drivers will be built:" + #+ if [ X$g4vis_build_dawn_driver = Xy ] ; then G4VIS_BUILD_DAWN_DRIVER=1 @@ -421,7 +433,8 @@ echo "On this machine the G4VIS_USE_OPENGLQT=\$G4VIS_USE_OPENGLQT" fi - +fi +# End of G4VIS_NONE block diff --git a/config/scripts/move.sh.SH b/config/scripts/move.sh.SH index 5f633cc8f4..2d1d8cbab1 100644 --- a/config/scripts/move.sh.SH +++ b/config/scripts/move.sh.SH @@ -150,15 +150,6 @@ export G4DEBUG echo "On this machine the G4DEBUG=\$G4DEBUG" fi -# -# g4analysis -# -#+ -if [ X$g4wanalysis_use = Xy ] ; then -G4ANALYSIS_USE=1 -export G4ANALYSIS_USE -echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE" -fi # # g4ui diff --git a/config/sys/Darwin-g++.gmk b/config/sys/Darwin-g++.gmk index 590713e0a1..36dda332a7 100644 --- a/config/sys/Darwin-g++.gmk +++ b/config/sys/Darwin-g++.gmk @@ -12,6 +12,7 @@ ifeq ($(G4SYSTEM),Darwin-g++) CXX := g++ CXXFLAGS := -Wall -ansi -pedantic -Wno-non-virtual-dtor -Wno-long-long +# CXXFLAGS += -Wunused-parameter -Winline -Wunreachable-code CXXFLAGS += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -pipe ifdef G4OPTIMISE CXXFLAGS += -O2 @@ -29,9 +30,14 @@ ifeq ($(G4SYSTEM),Darwin-g++) FCFLAGS += -pg CCFLAGS += -pg endif + ifdef G4OPTDEBUG + CXXFLAGS += -O2 -g + FCFLAGS += -O2 -g + CCFLAGS += -O2 -g + endif FC := gfortran FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore - LDFLAGS += -bind_at_load + LDFLAGS += -bind_at_load -arch_multiple FCLIBS := -lg2c -lnsl SHEXT := dylib ifndef X11FLAGS @@ -89,22 +95,23 @@ ifeq ($(G4SYSTEM),Darwin-g++) ifeq ($(QT_VERSION),4) QTFLAGS := -I $(QTHOME)/QtCore.framework/Headers QTFLAGS += -I $(QTHOME)/QtGui.framework/Headers - QTFLAGS += -I $(QTHOME)/QtOpenGL.framework/Headers + QTFLAGS += -I $(QTHOME)/QtOpenGL.framework/Headers + QTFLAGS += -I $(QTHOME)/include/Qt -I$(QTHOME)/include else QTFLAGS := -I $(QTHOME)/include/Qt -I$(QTHOME)/include endif endif ifndef QTLIBPATH ifeq ($(QT_VERSION),3) - QTLIBPATH := $(shell test -d $(QTHOME)/lib/qt3/lib && echo "/lib/qt3/lib" || echo "/lib" ) + QTLIBPATH := $(shell test -d $(QTHOME)/lib/qt3/lib && echo "$(QTHOME)/lib/qt3/lib" || echo "$(QTHOME)/lib" ) else - QTLIBPATH := -F$(QTHOME) + QTLIBPATH := -F$(QTHOME)/lib -F$(QTHOME) endif endif ifndef QTLIBS ifeq ($(QT_VERSION),3) - QTLIBS := -L$(QTHOME)$(QTLIBPATH) - QT3_MT := $(shell ls $(QTHOME)$(QTLIBPATH)/libqt-mt.* 2>/dev/null | wc -l ) + QTLIBS := -L$(QTLIBPATH) + QT3_MT := $(shell ls $(QTLIBPATH)/libqt-mt.* 2>/dev/null | wc -l ) ifneq ($(QT3_MT),0) QTLIBS += -lqt-mt else @@ -112,7 +119,7 @@ ifeq ($(G4SYSTEM),Darwin-g++) endif QTLIBS += -lqui else - QTLIBS := -framework QtCore -framework QtGui + QTLIBS := $(QTLIBPATH) -framework QtCore -framework QtGui endif endif ifndef GLQTLIBS @@ -120,7 +127,7 @@ ifeq ($(G4SYSTEM),Darwin-g++) # already done in QTLIBS # GLQTLIBS := $(QTLIBS) else - GLQTLIBS := -F$(QTHOME) -framework QtCore -framework QtGui + GLQTLIBS := $(QTLIBPATH) -framework QtCore -framework QtGui GLQTLIBS += -framework QtOpenGL endif endif diff --git a/config/sys/Linux-g++.gmk b/config/sys/Linux-g++.gmk index a586795d00..f1ba6f5ee1 100644 --- a/config/sys/Linux-g++.gmk +++ b/config/sys/Linux-g++.gmk @@ -53,7 +53,7 @@ ifeq ($(G4SYSTEM),Linux-g++) X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 endif ifndef X11LIBS - X11LIBS := -L/usr/X11R6/lib$(ARCH) -lXmu -lXt -lXext -lX11 -lSM -lICE + X11LIBS := -L/usr/X11R6/lib$(ARCH) -lXmu -lXt -lXext -lX11 -lXi -lSM -lICE endif ifndef XMFLAGS XMFLAGS := -I/usr/X11R6/include @@ -87,29 +87,39 @@ ifeq ($(G4SYSTEM),Linux-g++) ifndef QTFLAGS ifeq ($(QT_VERSION),4) - QTFLAGS += -I$(QTHOME)/include/qt$(QT_VERSION) - QTFLAGS += -I $(QTHOME)/include/qt$(QT_VERSION)/QtCore - QTFLAGS += -I $(QTHOME)/include/qt$(QT_VERSION)/QtGui - QTFLAGS += -I $(QTHOME)/include/qt$(QT_VERSION)/QtOpenGL + QTFLAGS += -I$(QTHOME)/include + QTFLAGS += -I $(QTHOME)/include/QtCore + QTFLAGS += -I $(QTHOME)/include/QtGui + QTFLAGS += -I $(QTHOME)/include/QtOpenGL else - QTFLAGS := -I$(QTHOME)/include/qt$(QT_VERSION)/Qt - QTFLAGS += -I$(QTHOME)/include/qt$(QT_VERSION) + QTFLAGS := -I$(QTHOME)/include/Qt -I$(QTHOME)/include + + # If Qt is not located in the STANDARD path, try to find it in some + # other places.(Ex: for ubuntu 8.10) + QT_ALT1 := $(shell ls $(QTHOME)/include/qt$(QT_VERSION)/*.h 2>/dev/null | wc -l ) + QT_ALT2 := $(shell ls $(QTHOME)/include/qt$(QT_VERSION)/Qt/*.h 2>/dev/null | wc -l ) + ifneq ($(QT_ALT1),0) + QTFLAGS := -I$(QTHOME)/include/qt$(QT_VERSION) + endif + ifneq ($(QT_ALT2),0) + QTFLAGS := -I$(QTHOME)/include/qt$(QT_VERSION)/Qt + endif endif endif ifndef QTLIBPATH QT_SEARCH_LIB1 := $(shell ls $(QTHOME)/lib/qt$(QT_VERSION)/libq* 2>/dev/null | wc -l ) QT_SEARCH_LIB2 := $(shell ls $(QTHOME)/lib/libq* 2>/dev/null | wc -l ) ifneq ($(QT_SEARCH_LIB1),0) - QTLIBPATH := /lib/qt$(QT_VERSION) + QTLIBPATH := $(QTHOME)/lib/qt$(QT_VERSION) endif ifneq ($(QT_SEARCH_LIB2),0) - QTLIBPATH := /lib + QTLIBPATH := $(QTHOME)/lib endif endif ifndef QTLIBS - QTLIBS := -L$(QTHOME)$(QTLIBPATH) + QTLIBS := -L$(QTLIBPATH) ifeq ($(QT_VERSION),3) - QT3_MT := $(shell ls $(QTHOME)$(QTLIBPATH)/libqt-mt.* 2>/dev/null | wc -l ) + QT3_MT := $(shell ls $(QTLIBPATH)/libqt-mt.* 2>/dev/null | wc -l ) ifneq ($(QT3_MT),0) QTLIBS += -lqt-mt else @@ -125,7 +135,7 @@ ifeq ($(G4SYSTEM),Linux-g++) # already done in QTLIBS # GLQTLIBS := $(QTLIBS) else - GLQTLIBS := -L$(QTHOME)$(QTLIBPATH) -lQtCore -lQtGui -lQtOpenGL + GLQTLIBS := -L$(QTLIBPATH) -lQtCore -lQtGui -lQtOpenGL endif endif #---------------------------------------------------------------------------- diff --git a/config/sys/Linux-icc.gmk b/config/sys/Linux-icc.gmk index 96cab0504f..85f89e4af2 100644 --- a/config/sys/Linux-icc.gmk +++ b/config/sys/Linux-icc.gmk @@ -1,5 +1,5 @@ # -# ------ GNU/LINUX ------ Intel icc 10.1 +# ------ GNU/LINUX ------ Intel icc 11.0 # ifeq ($(G4SYSTEM),Linux-icc) CXX := icc @@ -37,7 +37,7 @@ ifeq ($(G4SYSTEM),Linux-icc) X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 endif ifndef X11LIBS - X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE + X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lXi -lSM -lICE endif ifndef XMFLAGS XMFLAGS := -I/usr/X11R6/include @@ -52,7 +52,6 @@ ifeq ($(G4SYSTEM),Linux-icc) XAWLIBS := -lXaw endif DLDLIBS := -ldl - LOADLIBS += -lcxa -lunwind ifndef OGLFLAGS OGLFLAGS := -I$(OGLHOME)/include endif diff --git a/config/sys/WIN32-VC.gmk b/config/sys/WIN32-VC.gmk index f67fd8b5ec..941f735c3a 100644 --- a/config/sys/WIN32-VC.gmk +++ b/config/sys/WIN32-VC.gmk @@ -32,7 +32,7 @@ ifeq ($(G4SYSTEM),WIN32-VC) OGLFLAGS := endif ifndef OGLLIBS - OGLLIBS := glu32.lib opengl32.lib + OGLLIBS := glu32.lib opengl32.lib gdi32.lib user32.lib endif ifndef UI32LIBS UI32LIBS := gdi32.lib user32.lib @@ -58,9 +58,9 @@ ifeq ($(G4SYSTEM),WIN32-VC) endif ifndef GLQTLIBS ifeq ($(QT_VERSION),QT3) - QTLIBS := -L$(QTHOME)/lib -lqt-mt + GLQTLIBS := -L$(QTHOME)/lib -lqt-mt else - QTLIBS := -L$(QTHOME)/lib QtCore4.lib QtGui4.lib QtOpenGL4.lib + GLQTLIBS := -L$(QTHOME)/lib QtCore4.lib QtGui4.lib QtOpenGL4.lib endif endif diff --git a/config/sys/WIN32-g++.gmk b/config/sys/WIN32-g++.gmk index 895ba1d439..9abbfb700d 100644 --- a/config/sys/WIN32-g++.gmk +++ b/config/sys/WIN32-g++.gmk @@ -20,6 +20,16 @@ ifeq ($(G4SYSTEM),WIN32-g++) CCFLAGS := -g endif endif + ifdef G4PROFILE + CXXFLAGS += -pg + FCFLAGS += -pg + CCFLAGS += -pg + endif + ifdef G4OPTDEBUG + CXXFLAGS += -O2 -g + FCFLAGS += -O2 -g + CCFLAGS += -O2 -g + endif ifdef G4LIB_BUILD_SHARED CXXFLAGS += -fPIC FCFLAGS += -fPIC @@ -41,7 +51,7 @@ ifeq ($(G4SYSTEM),WIN32-g++) X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 endif ifndef X11LIBS - X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE + X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lXi -lSM -lICE endif ifndef XMFLAGS XMFLAGS := -I/usr/X11R6/include diff --git a/environments/History b/environments/History index 1fa0a9b105..dd999b820e 100644 --- a/environments/History +++ b/environments/History @@ -1,4 +1,4 @@ -$Id: History,v 1.37 2008/12/05 07:56:16 kmura Exp $ +$Id: History,v 1.40 2009/11/27 07:59:32 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,23 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +envs-V09-02-02 27 Nov. 2009 Koichi Murakami + [g4py] + - linker option is updated. + +envs-V09-02-01 20 Nov. 2009 Koichi Murakami + [g4py] + - configuration script is updated for 9.3 + - physics list is updated. + [momo] + - documentation is updated. + +envs-V09-02-00 15 May 2009 Koichi Murakami + [g4py] + - configuration script is updated. + * some fixes + * modify search paths for inc/lib + envs-V09-01-03 5 Dec. 2008 Koichi Murakami [g4py] - clean up codes diff --git a/environments/MOMO/MomoHome/Momomake.gmk b/environments/MOMO/MomoHome/Momomake.gmk index 7f4e180903..fb95b64262 100644 --- a/environments/MOMO/MomoHome/Momomake.gmk +++ b/environments/MOMO/MomoHome/Momomake.gmk @@ -34,6 +34,7 @@ NeutronHPCrossSections:=/home/yoshidah/G4data/G4NDL3.7 G4LEDATA:=/home/yoshidah/G4data/G4EMLOW2.3 G4LEVELGAMMADATA:=/home/yoshidah/G4data/PhotonEvaporation G4RADIOACTIVEDATA:=/home/yoshidah/G4data/RadiativeDecay +G4REALSURFACEDATA:=/home/yoshidah/G4data/RealSurface1.0 ifndef G4INSTALL G4INSTALL = ../../.. diff --git a/environments/MOMO/docs/MOMOHelp.html b/environments/MOMO/docs/MOMOHelp.html index d411f879c6..61a2a1e22b 100644 --- a/environments/MOMO/docs/MOMOHelp.html +++ b/environments/MOMO/docs/MOMOHelp.html @@ -1484,6 +1484,7 @@ G4USE_STL:=1 G4LIB_BUILD_STATIC:=1 G4LEDATA:=/home/yoshidah/G4DATA/G4EMLOW2.2 G4LEVELGAMMADATA:=/home/yoshidah/G4DATA/PhotonEvaporation +G4REALSURFACEDATA:=/home/yoshidah/G4DATA/RealSurface1.0 ifndef G4INSTALL G4INSTALL = ../../.. diff --git a/environments/g4py/00README b/environments/g4py/00README index a29f15dc21..e547eec97f 100644 --- a/environments/g4py/00README +++ b/environments/g4py/00README @@ -1,4 +1,4 @@ -$Id: 00README,v 1.11 2008/12/03 07:47:59 kmura Exp $ +$Id: 00README,v 1.12 2009/11/20 03:36:51 kmura Exp $ ========================================================================== Geant4Py @@ -149,18 +149,18 @@ Notes: All users' libraries should be build in SHARED libaries. 2) Development Environment: -OS: SuSE Linux 11.0 (x86-64) -g++ : 4.3.1 -Python: 2.5.2 -CLHEP: 1.9.3.2 / 2.0.3.2 +OS: SuSE Linux 11.1 (x86-64) +g++ : 4.3.2 +Python: 2.6 +CLHEP: 2.0.4.4 ROOT: 5.20/00 3) Tested environment: Linux 32/64-bit - SuSE 11.0 10.3 - SL3.4 SL4.5 SL5.1 + SuSE 11.2 11.1 + SL4.5 SL5.4 Ubuntu 8.0.4 - MacOSX 10.5 (Leopard) + MacOSX 10.5 (Leopard) 10.6 (Snow Leopard) Have A Fun!! diff --git a/environments/g4py/History b/environments/g4py/History index d7443e5ae2..1808834689 100644 --- a/environments/g4py/History +++ b/environments/g4py/History @@ -1,4 +1,4 @@ -$Id: History,v 1.45 2008/12/04 10:30:04 kmura Exp $ +$Id: History,v 1.48 2009/11/27 07:56:30 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -13,6 +13,18 @@ Geant4Py is a Geant4-Python bridge. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +27 November 2009 K.Murakami + - config/g4py.gmk: add -lz as linker options + +19 November 2009 K.Murakami + - add checking gl2ps library in configure script. + - gl2ps is added in config/g4vis.gmk. + - update pyPhysicsList.cc for 9.3 release + +14 May 2009 K. Murakami (tagged) + - fixes on configure script and config/module.gmk + - change default search paths for G4/CLHEP include and lib + 3 December 2008 K.Murakami (tagged) - modified for the 9.2 releaase. * G4Material, G4Isotope, G4Element diff --git a/environments/g4py/config/g4py.gmk b/environments/g4py/config/g4py.gmk index d03b5755f2..73a29fdf90 100644 --- a/environments/g4py/config/g4py.gmk +++ b/environments/g4py/config/g4py.gmk @@ -1,4 +1,4 @@ -# $Id: g4py.gmk,v 1.6 2008/12/01 10:14:14 kmura Exp $ +# $Id: g4py.gmk,v 1.7 2009/11/27 07:47:17 kmura Exp $ # =========================================================== # Makefile for building Python module with Boost.Python # @@ -33,6 +33,7 @@ G4PY_LOPT += $(G4PY_VISLIBS) G4PY_INCFLAGS += -I$(Q_CLHEP_INCDIR) G4PY_LOPT += -L$(Q_CLHEP_LIBDIR) -l$(Q_CLHEP_LIB) +G4PY_LOPT += -lm -lz # geant4 version G4PY_INCFLAGS += -I$(G4PY_INSTALL)/source/version diff --git a/environments/g4py/config/g4vis.gmk b/environments/g4py/config/g4vis.gmk index d80b5bbcef..98b01c313c 100644 --- a/environments/g4py/config/g4vis.gmk +++ b/environments/g4py/config/g4vis.gmk @@ -1,4 +1,4 @@ -# $Id: g4vis.gmk,v 1.2 2006/04/25 05:53:05 kmura Exp $ +# $Id: g4vis.gmk,v 1.3 2009/11/20 03:36:51 kmura Exp $ # =========================================================== # Makefile for building Python module with Boost.Python # @@ -45,6 +45,10 @@ ifeq ($(Q_ENABLE_VRML), 1) CPPFLAGS += -DG4VIS_USE_VRML endif +ifeq ($(Q_ENABLE_GL2PS), 1) + G4PY_VISLIBS += -lG4gl2ps +endif + CPPFLAGS += -DG4VIS_USE G4PY_VISLIBS += -lG4vis_management G4PY_VISLIBS += -lG4modeling diff --git a/environments/g4py/config/module.gmk b/environments/g4py/config/module.gmk index a4985cbf09..6eeb725570 100644 --- a/environments/g4py/config/module.gmk +++ b/environments/g4py/config/module.gmk @@ -1,4 +1,4 @@ -# $Id: module.gmk,v 1.5 2008/12/01 06:48:57 kmura Exp $ +# $Id: module.gmk,v 1.6 2009/05/14 09:10:02 kmura Exp $ # =========================================================== # Script for building a Boost-Python module # =========================================================== @@ -32,7 +32,7 @@ ifneq ($(Q_BOOST_LIBDIR), /usr/lib) endif endif -LOPT += -lboost_python +LOPT += -l$(Q_BOOST_PYTHON_LIB) # Xerces-C ... ifdef Q_XERCESC_INCDIR diff --git a/environments/g4py/configure b/environments/g4py/configure index ba3c01ff3f..86fd1030aa 100755 --- a/environments/g4py/configure +++ b/environments/g4py/configure @@ -1,5 +1,5 @@ #! /bin/sh - -#$Id: configure,v 1.15 2008/12/03 07:48:55 kmura Exp $ +#$Id: configure,v 1.17 2009/11/20 03:36:51 kmura Exp $ # ====================================================================== # A configure script for Geant4Py # ====================================================================== @@ -43,10 +43,10 @@ Installation directories: --libdir=DIR Python modules dir [PREFIX/lib] Fine tuning of the library path: - --with-g4-incdir=DIR Geant4 header dir [\$G4INCLUDE] - --with-g4-libdir=DIR Geant4 library dir [\$G4LIB/\$G4SYSTEM] - --with-clhep-incdir=DIR CLHEP header dir [\$CLHEP_INCLUDE_DIR] - --with-clhep-libdir=DIR CLHEP library dir [\$CLHEP_LIB_DIR] + --with-g4-incdir=DIR Geant4 header dir [\$G4INSTALL/include] + --with-g4-libdir=DIR Geant4 library dir [\$G4INSTALL/lib/\$G4SYSTEM] + --with-clhep-incdir=DIR CLHEP header dir [\$CLHEP_BASE_DIR/include] + --with-clhep-libdir=DIR CLHEP library dir [\$CLHEP_BASE_DIR/lib] --with-clhep-lib=LIB library name of libCLHEP.so [CLHEP|\$CLHEP_LIB] --with-python-incdir=DIR Python header dir [/usr/include/python(2.#)], @@ -89,12 +89,11 @@ arguments="$@" prefix=`pwd` current_dir=`pwd` -g4_incdir=${G4INCLUDE:-/zzz} -g4_libdir=${G4LIB:+$G4LIB/$G4SYSTEM} -g4_libdir=${g4_libdir:-/zzz} +g4_incdir=/zzz +g4_libdir=/zzz -clhep_incdir=${CLHEP_INCLUDE_DIR:-/zzz} -clhep_libdir=${CLHEP_LIB_DIR:-/zzz} +clhep_incdir=/zzz +clhep_libdir=/zzz clhep_lib=${CLHEP_LIB:-CLHEP} python_incdir=/zzz @@ -106,6 +105,7 @@ enable_openglxm=${G4VIS_USE_OPENGLXM:+1} enable_openglxm=${enable_openglxm:-0} enable_raytracerx=${G4VIS_USE_RAYTRACERX:+1} enable_raytracerx=${enable_raytracerx:-0} +enable_gl2ps=0 enable_physicslist=0 @@ -221,6 +221,17 @@ libdir=${libdir:-$prefix/lib} echo $libdir echo $ac_n "Checking for G4 include dir ... $ac_c" +g4_incdir1=${G4INSTALL:+$G4INSTALL/include} +g4_incdir2=${G4INCLUDE:+$G4INCLUDE} +set $g4_incdir $g4_incdir1 $g4_incdir2 +for adir in $* +do + if [ -d "$adir" ]; then + g4_incdir=$adir + break + fi +done + if [ ! -d "$g4_incdir" ]; then echo "no" echo $ac_n "### $g4_incdir (g4-incdir) does not exist. $ac_c" @@ -229,7 +240,19 @@ if [ ! -d "$g4_incdir" ]; then fi echo "$g4_incdir" +# --- echo $ac_n "Checking for G4 lib dir ... $ac_c" +g4_libdir1=${G4INSTALL:+$G4INSTALL/lib/$G4SYSTEM} +g4_libdir2=${G4LIB:+$G4LIB/$G4SYSTEM} +set $g4_libdir/$G4SYSTEM $g4_libdir $g4_libdir1 $g4_libdir2 +for adir in $* +do + if [ -d "$adir" ]; then + g4_libdir=$adir + break + fi +done + if [ ! -d "$g4_libdir" ]; then echo "no" echo $ac_n "### $g4_libdir (g4-libdir) does not exist. $ac_c" @@ -238,7 +261,27 @@ if [ ! -d "$g4_libdir" ]; then fi echo "$g4_libdir" +echo $ac_n "Checking for G4 libs are shared libraray ... $ac_c" +if [ ! -f ${g4_libdir}/libG4run.${shlib} ]; then + echo "no" + echo $ac_n "### G4 libray must be global and shared. $ac_c" + echo "Recompile with global and shared mode." + exit -1 +fi +echo "ok" + # --- +clhep_incdir1=${CLHEP_INCLUDE_DIR:-/zzz} +clhep_incdir2=${CLHEP_BASE_DIR:+$CLHEP_BASE_DIR/include} +set $clhep_incdir $clhep_incdir1 $clhep_incdir2 +for adir in $* +do + if [ -d "$adir" ]; then + clhep_incdir=$adir + break + fi +done + echo $ac_n "Checking for CLHEP include dir ... $ac_c" if [ ! -d "$clhep_incdir" ]; then echo "no" @@ -248,6 +291,18 @@ if [ ! -d "$clhep_incdir" ]; then fi echo "$clhep_incdir" +# --- +clhep_libdir1=${CLHEP_LIB_DIR:-/zzz} +clhep_libdir2=${CLHEP_BASE_DIR:+$CLHEP_BASE_DIR/lib} +set $clhep_libdir $clhep_libdir1 $clhep_libdir2 +for adir in $* +do + if [ -d "$adir" ]; then + clhep_libdir=$adir + break + fi +done + echo $ac_n "Checking for CLHEP lib dir ... $ac_c" if [ ! -d "$clhep_libdir" ]; then echo "no" @@ -269,10 +324,10 @@ echo "lib${clhep_lib}.${shlib}" # --- echo $ac_n "Checking for Python include dir (pyconfig.h) ... $ac_c" # check version -set python python2.5 python2.4 python2.3 python2.2 +set python python2.6 python2.5 python2.4 python2.3 python2.2 for aincdir in $* do - if [ -d /usr/include/$aincdir ]; then + if [ -d /usr/include/"$aincdir" ]; then python_incdir=/usr/include/$aincdir break fi @@ -331,7 +386,7 @@ int main() { return 1; } EOF -g++ -o conftest conftest.cc > /dev/null 2>&1 +g++ -I$boost_incdir -o conftest conftest.cc > /dev/null 2>&1 ./conftest q_boost_version=$? rm conftest.cc conftest @@ -389,6 +444,15 @@ else enable_openglx=0 fi +# --- +echo $ac_n "Checking for GL2PS support ...$ac_c" +if [ -f "$g4_libdir"/libG4gl2ps.${shlib} ]; then + echo "yes" + enable_gl2ps=1 +else + echo "no" +fi + # --- echo $ac_n "Checking for physics list support ...$ac_c" if [ -f "$g4_incdir"/QGSP.hh ]; then @@ -496,6 +560,7 @@ Q_BOOST_PYTHON_LIB := $boost_python_lib Q_ENABLE_OPENGLX := $enable_openglx Q_ENABLE_OPENGLXM := $enable_openglxm Q_ENABLE_RAYTRACERX := $enable_raytracerx +Q_ENABLE_GL2PS := $enable_gl2ps Q_ENABLE_PHYSICSLIST := $enable_physicslist @@ -529,6 +594,10 @@ if [ $enable_raytracerx = 1 ]; then echo $ac_n " raytracerx$ac_c" fi +if [ $enable_gl2ps = 1 ]; then + echo $ac_n " gl2ps$ac_c" +fi + if [ $enable_physicslist = 1 ]; then echo $ac_n " physicslist$ac_c" fi diff --git a/environments/g4py/source/gdml/pyG4GDMLParser.cc b/environments/g4py/source/gdml/pyG4GDMLParser.cc index f1518ed421..42ae8765dd 100644 --- a/environments/g4py/source/gdml/pyG4GDMLParser.cc +++ b/environments/g4py/source/gdml/pyG4GDMLParser.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4GDMLParser.cc,v 1.2 2008/12/03 06:54:39 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: pyG4GDMLParser.cc,v 1.3 2008/12/12 02:26:34 kmura Exp $ +// $Name: geant4-09-03 $ // ==================================================================== // pyG4GDMLParser.cc // @@ -34,6 +34,7 @@ #include #include "G4GDMLParser.hh" +#include "G4Version.hh" using namespace boost::python; @@ -42,10 +43,11 @@ using namespace boost::python; // ==================================================================== namespace pyG4GDMLParser { +#if G4VERSION_NUMBER >= 920 BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_Read, Read, 1, 2); BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ReadModule, ReadModule, 1, 2); - BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_Write, Write, 1, 4); +#endif BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetWorldVolume, GetWorldVolume, 0, 1); @@ -61,11 +63,15 @@ void export_G4GDMLParser() class_ ("G4GDMLParser", "GDML parser") // --- +#if G4VERSION_NUMBNER < 920 + .def("Read", &G4GDMLParser::Read) +#else .def("Read", &G4GDMLParser::Read, f_Read()) .def("ReadModule", &G4GDMLParser::ReadModule, f_ReadModule()) .def("Write", &G4GDMLParser::Write, f_Write()) .def("ParseST", &G4GDMLParser::ParseST, return_value_policy()) +#endif .def("GetWorldVolume", &G4GDMLParser::GetWorldVolume, f_GetWorldVolume() [return_value_policy()]) diff --git a/environments/g4py/source/materials/pyG4ElementVector.cc b/environments/g4py/source/materials/pyG4ElementVector.cc index 609be30837..d48def5b7e 100644 --- a/environments/g4py/source/materials/pyG4ElementVector.cc +++ b/environments/g4py/source/materials/pyG4ElementVector.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4ElementVector.cc,v 1.1 2008/12/04 10:31:03 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: pyG4ElementVector.cc,v 1.2 2008/12/12 03:02:30 kmura Exp $ +// $Name: geant4-09-03 $ // ==================================================================== // pyG4ElementVector.cc // @@ -32,7 +32,6 @@ // ==================================================================== #include #include "pyG4indexing.hh" -#include "G4Element.hh" #include "G4ElementVector.hh" using namespace boost::python; diff --git a/environments/g4py/source/materials/pymodG4materials.cc b/environments/g4py/source/materials/pymodG4materials.cc index 519324b363..0156e3ebec 100644 --- a/environments/g4py/source/materials/pymodG4materials.cc +++ b/environments/g4py/source/materials/pymodG4materials.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pymodG4materials.cc,v 1.7 2008/12/04 08:55:25 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: pymodG4materials.cc,v 1.8 2008/12/12 03:03:59 kmura Exp $ +// $Name: geant4-09-03 $ // ==================================================================== // pymodG4materials.cc [Geant4Py module] // @@ -41,7 +41,7 @@ void export_G4Material(); void export_G4MaterialTable(); void export_G4Element(); void export_G4ElementTable(); -void export_G4ElementVector(); +//void export_G4ElementVector(); void export_G4Isotope(); void export_G4NistManager(); void export_G4AtomicShells(); @@ -52,7 +52,7 @@ BOOST_PYTHON_MODULE(G4materials) export_G4MaterialTable(); export_G4Element(); export_G4ElementTable(); - export_G4ElementVector(); + //export_G4ElementVector(); export_G4Isotope(); export_G4NistManager(); export_G4AtomicShells(); diff --git a/environments/g4py/source/physics_lists/pyPhysicsLists.cc b/environments/g4py/source/physics_lists/pyPhysicsLists.cc index 159190a9d6..2dcfee85ed 100644 --- a/environments/g4py/source/physics_lists/pyPhysicsLists.cc +++ b/environments/g4py/source/physics_lists/pyPhysicsLists.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyPhysicsLists.cc,v 1.8 2008/12/04 10:26:40 kmura Exp $ -// $Name: geant4-09-02 $ +// $Id: pyPhysicsLists.cc,v 1.9 2009/11/20 03:36:51 kmura Exp $ +// $Name: geant4-09-03 $ // ==================================================================== // pyPhysicsLists.cc // @@ -93,9 +93,23 @@ #include "QGSP_BERT_DIF.hh" #endif +#if G4VERSION_NUMBER >= 930 +#include "CHIPS.hh" +#include "FTFP_BERT_EMV.hh" +#include "FTFP_BERT_EMX.hh" +#include "FTFP_BERT_TRV.hh" +#include "QGSC_CHIPS.hh" +#include "QGSC_QGSC.hh" +#include "QGSP_BERT_EMX.hh" +#include "QGSP_BERT_NOLEP.hh" +#include "QGSP_BIC_EMY.hh" +#include "QGSP_FTFP_BERT.hh" +#include "QGSP_INCL_ABLA.hh" +#endif + // macro for adding physics lists #define ADD_PHYSICS_LIST(plname) \ - class_ > \ + class_, boost::noncopyable> \ (#plname, #plname " physics list") \ ; \ AddPhysicsList(#plname); @@ -184,6 +198,20 @@ void export_PhysicsLists() ADD_PHYSICS_LIST(QGSP_BERT_DIF); #endif +#if G4VERSION_NUMBER >= 930 + ADD_PHYSICS_LIST(CHIPS); + ADD_PHYSICS_LIST(FTFP_BERT_EMV); + ADD_PHYSICS_LIST(FTFP_BERT_EMX); + ADD_PHYSICS_LIST(FTFP_BERT_TRV); + ADD_PHYSICS_LIST(QGSC_CHIPS); + ADD_PHYSICS_LIST(QGSC_QGSC); + ADD_PHYSICS_LIST(QGSP_BERT_EMX); + ADD_PHYSICS_LIST(QGSP_BERT_NOLEP); + ADD_PHYSICS_LIST(QGSP_BIC_EMY); + ADD_PHYSICS_LIST(QGSP_FTFP_BERT); + ADD_PHYSICS_LIST(QGSP_INCL_ABLA); +#endif + // sort PL vector std::sort(plList.begin(), plList.end()); diff --git a/environments/g4py/source/python/__init__.py b/environments/g4py/source/python/__init__.py index 13b52118d9..e3b3d005fa 100644 --- a/environments/g4py/source/python/__init__.py +++ b/environments/g4py/source/python/__init__.py @@ -8,9 +8,9 @@ # Hava A Fun! # ================================================================== """ -# $Id: __init__.py,v 1.19 2008/12/03 07:01:22 kmura Exp $ -__version__ ='9.2.0' -__date__ = '1/Dec/2008' +# $Id: __init__.py,v 1.21 2009/11/20 03:36:51 kmura Exp $ +__version__ ='9.3.0' +__date__ = '1/Dec/2009' __author__ = 'K.Murakami (Koichi.Murakami@kek.jp)' __url__ = 'http://www-geant4.kek.jp/projects/Geant4Py/' @@ -214,8 +214,8 @@ def _list_material(self): (j+1, elementVec[j].GetName(), elementVec[j].GetSymbol(), elementVec[j].GetZ(), elementVec[j].GetN(), - fractionVec[j]/HEPUnit.perCent, - abundanceVec[j]/totNAtoms/HEPUnit.perCent) + fractionVec[j]/hepunit.perCent, + abundanceVec[j]/totNAtoms/hepunit.perCent) print " +------------------------------------------------------------------" diff --git a/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc b/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc index 382089d9ff..463e51cf98 100644 --- a/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc +++ b/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsListEMstd.cc,v 1.3 2006/06/29 15:37:08 gunter Exp $ -// $Name: geant4-09-02 $ +// $Id: PhysicsListEMstd.cc,v 1.4 2009/11/20 03:36:51 kmura Exp $ +// $Name: geant4-09-03 $ // ==================================================================== // PhysicsListEMstd.cc // @@ -46,7 +46,7 @@ #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" @@ -96,7 +96,7 @@ void PhysicsListEMstd::ConstructProcess() // ---------------------------------------------------------- // electron physics // ---------------------------------------------------------- - G4MultipleScattering* msc= new G4MultipleScattering; + G4eMultipleScattering* msc= new G4eMultipleScattering; G4eIonisation* eion= new G4eIonisation; G4eBremsstrahlung* ebrems= new G4eBremsstrahlung; @@ -108,7 +108,7 @@ void PhysicsListEMstd::ConstructProcess() // ---------------------------------------------------------- // positron physics // ---------------------------------------------------------- - msc= new G4MultipleScattering; + msc= new G4eMultipleScattering; eion= new G4eIonisation; ebrems= new G4eBremsstrahlung; G4eplusAnnihilation* annihilation= new G4eplusAnnihilation; diff --git a/environments/g4py/tools/g4autobuild/g4autobuild b/environments/g4py/tools/g4autobuild/g4autobuild index 9150023748..6ec14ca35e 100755 --- a/environments/g4py/tools/g4autobuild/g4autobuild +++ b/environments/g4py/tools/g4autobuild/g4autobuild @@ -2,7 +2,7 @@ # ====================================================================== # A script for Geant4 autobuild # -# Version 2.3 Dec 2008 +# Version 2.3.1 Dec 2008 # # [usage] # g4autobuild [] @@ -192,7 +192,7 @@ ui_set=`grep '^u' $config | awk '{print $2}'` opt_set=`grep '^o' $config | awk '{print $2}'` if [ $g4sys == Darwin-g++ ]; then - qfic=1 + qfpic=1 fi if [ ! -d $g4base ]; then diff --git a/examples/History b/examples/History index c8f1abc0e1..66cd8f1ae4 100644 --- a/examples/History +++ b/examples/History @@ -1,4 +1,4 @@ -$Id: History,v 1.141 2008/12/18 10:28:27 gcosmo Exp $ +$Id: History,v 1.153 2009/12/16 11:34:09 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,86 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +17th November 2009 Gabriele Cosmo (examples-V09-03-00) +- Updated reference outputs according to reference tag geant4-09-03-ref-00. +- Includes tags: air_shower-V09-02-06, brachy-V09-02-02, ccal-V09-02-01, + gammaraytel-V09-02-01, hadrontherapy-V09-02-40, + lAr_calorimeter-V09-02-01, medical_linac-V09-02-05, + radioprotection-V09-02-04, Rich-V09-02-01, XrayFluo-V09-02-01, + xraytel-V09-02-01, exampleA01-V09-02-02, exbiasing-V09-02-00, + ReverseMC01-V09-02-02, testem0-V09-02-01, testem1-V09-02-01, + testem2-V09-02-02, testem3-V09-02-02, testem5-V09-02-07, + testem6-V09-02-01, testem7-V09-02-04, testem9-V09-02-00, + testem10-V09-02-00, testem11-V09-02-01, testem12-V09-02-01, + testem13-V09-02-01, testem14-V09-02-01, testem16-V09-02-00, + testem18-V09-02-04, fieldex01-V09-02-00, fieldex02-V09-02-00, + fieldex03-V09-02-00, fieldex04-V09-02-03, fieldex05-V09-02-00, + exhadr01-V09-02-03, DICOM-V09-02-03, exampleES2-V09-02-01, + electronScattering-V09-02-03, fano-V09-02-03, fano2-V09-02-01, + gtherapy-V09-02-00, LXe-V09-02-01, exampleP03-V09-02-02, + WLS-V09-02-02, expol01-V09-02-00, exampleN02-V09-02-01, + exampleN03-V09-02-02, exampleN06-V09-02-01. + +9th November 2009 Gabriele Cosmo (examples-V09-02-10) +- Updated reference outputs according to reference tag geant4-09-02-ref-10. +- Includes tags: testem18-V09-02-03, fieldex04-V09-02-02, fano-V09-02-02, + exampleN07-V09-02-00, LXe-V09-02-00, exampleN05-V09-02-00, + exampleN02-V09-02-00, exampleN03-V09-02-01, G01-V09-02-05, + exampleN04-V09-02-00, exampleN06-V09-02-00, fano2-V09-02-00. + +13th October 2009 Gabriele Cosmo (examples-V09-02-09) +- Updated reference outputs according to reference tag geant4-09-02-ref-09. +- Includes tags: amsEcal-V09-02-11, hadrontherapy-V09-02-28, + medical_linac-V09-02-02, testem1-V09-02-00, testem2-V09-02-01, + testem3-V09-02-01, testem5-V09-02-06, testem11-V09-02-00, + testem12-V09-02-00, testem13-V09-02-00, testem14-V09-02-00, + electronScattering-V09-02-02, G01-V09-02-04, exrdm-V09-02-00. + +4th September 2009 Gabriele Cosmo (examples-V09-02-08) +- Updated reference outputs according to reference tag geant4-09-02-ref-08. +- Includes tags: amsEcal-V09-02-10, microdosimetry-V09-02-04, + exhadr01-V09-02-02. + +7th August 2009 Gabriele Cosmo (examples-V09-02-07) +- Updated reference outputs according to reference tag geant4-09-02-ref-07. +- Includes tags: testem2-V09-02-00, monopole-V09-02-00. + +3rd July 2009 Gabriele Cosmo (examples-V09-02-06) +- Updated reference outputs according to reference tag geant4-09-02-ref-06. +- Includes tags: amsEcal-V09-02-08, testem5-V09-02-05, fieldex04-V09-02-01, + exhadr00-V09-02-00, exhadr01-V09-02-01. + +4th June 2009 Gabriele Cosmo (examples-V09-02-05) +- Updated reference outputs according to reference tag geant4-09-02-ref-05. +- Includes tags: air_shower-V09-02-00, amsEcal-V09-02-02, microbeam-V09-02-01, + hadrontherapy-V09-02-13, microdosimetry-V09-02-01, + AnaEx01-V09-02-00, testem6-V09-02-00, fieldex04-V09-02-00, + exhadr01-V09-02-00, G01-V09-02-03. + +30th April 2009 Gabriele Cosmo (examples-V09-02-04) +- Updated reference outputs according to reference tag geant4-09-02-ref-04. +- Includes tags: amsEcal-V09-02-01, lAr_calorimeter-V09-02-00, purtag-V09-02-00, + human_phantom-V09-02-02, XrayFluo-V09-02-00, G03-V09-02-01, + radmon-V09-02-00, radioprotection-V09-02-00, Rich-V09-02-00, + medical_linac-V09-02-00, G01-V09-02-01, G02-V09-02-02. + +27th March 2009 Gabriele Cosmo (examples-V09-02-03) +- Updated reference outputs according to reference tag geant4-09-02-ref-03. +- Includes tags: nanobeam-V09-02-01, B02-V09-02-00, testem3-V09-02-00, + testem5-V09-02-01, testem18-V09-02-01, exerrprop-V09-02-00, + ExDiane-V09-02-00. + +27th February 2009 Gabriele Cosmo (examples-V09-02-02) +- Updated reference outputs according to reference tag geant4-09-02-ref-02. +- Includes tags: microbeam-V09-02-00, nanobeam-V09-02-00, brachy-V09-02-00, + ccal-V09-02-00, hadrontherapy-V09-02-00, DICOM-V09-02-01, + human_phantom-V09-02-01, testem5-V09-02-01, G02-V09-02-01, + testem18-V09-02-00, fano-V09-02-00. + +30th January 2009 Gabriele Cosmo (examples-V09-02-01) +- Updated reference outputs according to reference tag geant4-09-02-ref-01. +- Includes tags: testem5-V09-02-00, DICOM-V09-02-00, G02-V09-02-00. + 18th December 2008 Gabriele Cosmo (examples-V09-02-00) - Updated reference outputs according to reference tag geant4-09-02-ref-00. - Includes tags: air_shower-V09-01-05, brachy-V09-01-03, gammaraytel-V09-01-02, diff --git a/examples/README b/examples/README index f2ad2a653b..54221c32d7 100644 --- a/examples/README +++ b/examples/README @@ -1,4 +1,4 @@ -$Id: README,v 1.14 2008/06/17 09:35:45 gcosmo Exp $ +$Id: README,v 1.15 2009/11/20 16:22:14 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -55,11 +55,11 @@ Extended level examples analysis - Histogramming through the AIDA interface biasing - - Examples of event biasing and scoring + - Examples of event biasing, scoring and reverse-MC electromagnetic - Specific EM physics simulation with histogramming errorpropagation - - Use of the error propagation utility (Geant4e). + - Use of the error propagation utility (Geant4e) eventgenerator - Applications using interface to HepMC exoticphysics @@ -68,9 +68,6 @@ Extended level examples - Specific simulation setups in magnetic field g3tog3 - Examples of usage of the g3tog4 converter tool - gdml - - Example of import/export detector persistency through the Geometry - Description Markup Language (GDML) geometry - Specific geometry examples and tools: OLAP tool for detection of overlapping geometries @@ -86,7 +83,7 @@ Extended level examples parameterisations - Examples for fast shower parameterisations according to specific models persistency - - Persistency of simulation outputs through Reflex tool + - Persistency of geometry (GDML or ASCII) and simulation output radioactivedecay - Examples to simulate the decays of radioactive isotopes and induced radioactivity resulted from nuclear interactions @@ -105,9 +102,6 @@ Advanced level examples composite_calorimeter - Test-beam simulation used in CMS against real data taken in 1996 in a CMS Hadron calorimeter test-beam at LHC - cosmicray_charging - - Simulation of electrostatic charging in the LISA mission by - galactic cosmic ray protons and helium nuclei gammaray_telescope - Simulation of a typical telescope for gamma ray analysis hadrontherapy @@ -133,19 +127,11 @@ Advanced level examples purging_magnet - Simulation of electrons traveling through a 3D magnetic field of a strong purging magnet used for treatment head in a medical environment - radiation_monitor - - Application to study the effects of a chip carrier on silicon radiation - monitoring devices used in the LHC environment radioprotection - Application for the evaluation of dose in astronauts, vehicle concepts and Moon surface habitat configurations, in a space radiation environment - raredecay_calorimetry - - Simulation of a simplified sandwitch calorimeter to Estimate importance - of photonuclear reactions for photon inefficiency Rich - Rich Test Beam Simulation - Tiara - - Simulation of the TIARA experiment using importance sampling underground_physics - Setup of an underground dark matter experiment xray_fluorescence diff --git a/examples/advanced/GNUmakefile b/examples/advanced/GNUmakefile index 1514e70ea3..98415aeed8 100644 --- a/examples/advanced/GNUmakefile +++ b/examples/advanced/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2008/06/23 09:26:07 gcosmo Exp $ +# $Id: GNUmakefile,v 1.7 2009/11/20 16:17:52 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -10,10 +10,10 @@ endif include $(G4INSTALL)/config/architecture.gmk SUBDIRS = gammaray_telescope underground_physics xray_fluorescence xray_telescope -SUBDIRS += brachytherapy cosmicray_charging hadrontherapy -SUBDIRS += medical_linac purging_magnet radioprotection human_phantom +SUBDIRS += brachytherapy hadrontherapy medical_linac +SUBDIRS += purging_magnet radioprotection human_phantom SUBDIRS += air_shower microbeam microdosimetry nanobeam -SUBDIRS += Tiara Rich composite_calorimeter lAr_calorimeter +SUBDIRS += Rich composite_calorimeter lAr_calorimeter .PHONY : all clean clean_libs diff --git a/examples/advanced/Rich/GNUmakefile b/examples/advanced/Rich/GNUmakefile index ba024c2c37..314e566e90 100644 --- a/examples/advanced/Rich/GNUmakefile +++ b/examples/advanced/Rich/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2003/05/26 13:02:50 pmendez Exp $ +# $Id: GNUmakefile,v 1.2 2009/03/06 09:39:58 gbarrand Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -18,10 +18,6 @@ endif include $(G4INSTALL)/config/architecture.gmk -ifdef G4ANALYSIS_USE - CPPFLAGS += `aida-config --include` - LDFLAGS += `aida-config --lib` -endif # .PHONY: all all: lib bin diff --git a/examples/advanced/Rich/History b/examples/advanced/Rich/History index bcf6b5a3c5..ce2970a3ed 100644 --- a/examples/advanced/Rich/History +++ b/examples/advanced/Rich/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.13 2008/11/24 14:34:11 cirrone Exp $ +$Id: History,v 1.16 2009/11/12 13:09:56 ribon Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,20 @@ $Id: History,v 1.13 2008/11/24 14:34:11 cirrone Exp $ Category History file --------------------- +12.11.2009 - A.Ribon (Rich-V09-02-01) + Added the possibility to use QGSP_BIC_EMY as + Physics List. However, by default, the example's + Physics List is used. + +08.04.2009 - G.A.P.Cirrone; Tag: Rich-V09-02-00 + Tag for the next release + +06.03.2009 - Guy Barrand (in agreement with G.Cosmo) + GNUmakefile : remove the G4ANALYSIS_USE logic found in this file + since it is handled already in the config/analysis.gmk. + This avoids a duplication in the compilation and link commands + of the aida-config options. + 23.11.2008 - G.A.P.Cirrone; Tag: Rich-V09-01-01 Fixed compilation errors on the file RichTbEventAction diff --git a/examples/advanced/Rich/RichTbSim.cc b/examples/advanced/Rich/RichTbSim.cc index 1d4cc464ac..cb9c64e1c1 100644 --- a/examples/advanced/Rich/RichTbSim.cc +++ b/examples/advanced/Rich/RichTbSim.cc @@ -43,10 +43,14 @@ #include "RichTbIOData.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "QGSP_BIC_EMY.hh" + #ifdef G4UI_USE_XM #include "G4UIXm.hh" #endif + #include "Randomize.hh" + #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif @@ -76,15 +80,15 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(RichTbDet); - RichTbPhysicsList* RichTbPhy - =new RichTbPhysicsList(rConfig); - - runManager-> SetUserInitialization(RichTbPhy); - + //***LOOKHERE*** : Choose the Physics List + RichTbPhysicsList* RichTbPhy =new RichTbPhysicsList(rConfig); + runManager->SetUserInitialization(RichTbPhy); // Use example's Physics List + //runManager->SetUserInitialization(new QGSP_BIC_EMY); // Use QGSP_BIC_EMY // UserAction classes - optional + #ifdef G4VIS_USE G4VisManager* visManager = new G4VisExecutive(); visManager->SetVerboseLevel(0); visManager->Initialize(); @@ -92,6 +96,7 @@ int main(int argc,char** argv) { G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); G4cout<<" PVVisManager "<SetUserAction(new RichTbRunAction); @@ -100,9 +105,13 @@ int main(int argc,char** argv) { runManager->SetUserAction( PrimaryGenAction ); - RichTbEventAction* eventAction= - new RichTbEventAction(rConfig,visManager, - rIOData); + #ifdef G4VIS_USE + RichTbEventAction* eventAction=new RichTbEventAction(rConfig,visManager,rIOData); +#endif + + #ifndef G4VIS_USE + RichTbEventAction* eventAction=new RichTbEventAction(rConfig,0,rIOData); +#endif runManager->SetUserAction(eventAction); @@ -145,9 +154,8 @@ int main(int argc,char** argv) { } #ifdef G4VIS_USE delete visManager; -#endif - G4cout << "\nVisManager deleted..\n" < from deprecated . - -May 3rd, 2005 J.Allison -- Replaced vis manager with G4VisExecutive. - -March 17th, 2005 G.Daquino - Tiara-V07-00-00 -- Migration of Tiara (working with PI) from rh73 to slc3 - -Dec 14th, 2004 G.Daquino - Tiara-V06-02-02 -- Update of GNUmakefiles to the new phys_lists structure - -Dec 13th, 2004 G.Cosmo - Tiara-V06-02-01 -- Use new phys-lists structure. - -Dec 8th, 2004 G.Daquino - Tiara-V06-02-00 -- Corrected link to the centralized hadronic physics lists. Eliminated all the old - links to the tiara-dedicated shared libraries for the Packaging and the physics lists - SWIG wraps based on the templated physics list classes - Migration to the completed - runSim.py still needs to be modified in order to obtain the plotting through PI - -Jun 18th, 2004 G.Daquino - Tiara-V06-01-03 -- Corrected some errors in the README and in the script envCommon.csh. Besides, the file - hadronic_list.gmk in the subdirectory source was not correct. - -Jun 9th, 2004 G.Daquino - Tiara-V06-01-00 -- Passing from Anaphe to PI, Tiara has been partly fixed. Still problems - are present on the compatibility between the PI and Anaphe pointers for hf. - However, runSimNoAnalysis.py works correctly, being independent of the - analysis tool. - -Dec 9th, 2003 G.Daquino - Tiara-V05-02-06 -- Fixed implementation of TiaraPrimaryGeneratorAction, where copy - constructor and operator=() definitions were commented out by mistake - by V.Ivantchenko. - -Dec 8th, 2003 G.Cosmo - Tiara-V05-02-05 -- Restored some classes in physics_lists package and fixed setup - configuration. - -Dec 5th, 2003 G.Cosmo - Tiara-V05-02-04 -- Changed LISTS_BASE to G4LISTS_BASE for hadronic physics lists path. - Cowork with "ghad-lists-V05-02-01". - -Dec 4th, 2003 G.Cosmo - Tiara-V05-02-03 -- Fixed build setup. Added references to new physics-lists structure. -- Corrected setup for SWIG to point to default installation under /usr. - -Dec 3rd, 2003 H.P.Wellisch -- Removed hadronics physics-lists. Now using default setup provided - in $G4INSTALL/hadronic_lists. - -Nov 20th, 2003 V.Ivanchenko - Tiara-V05-02-02 -- Decays for all particles - -Nov 13th, 2003 John Allison -- Removed OPACS from Vis Manager. - -Nov 07th, 2003 V.Ivanchenko - Tiara-V05-02-01 -- Remove STD from physics -- Cleanup GNUmakefiles and warnings - -Aug 08th, 2003 M.Dressel - Tiara-V05-02-00 -- important update of README - -Jul 08th, 2003 M.Dressel - Tiara-B05-01-05 -- this together with geant4-05-02-ref-00 is used for the check for - large deviations in 68c100 simulation - -Jun 20th, 2003 M.Dressel - Tiara-V05-01-04 -- using CLHEP units replacing G4Dimensions.hh - -Jun 18th, 2003 M.Dressel - Tiara-V05-01-03 -- change environment configuration for swig - -Jun 17th, 2003 M.Dressel - Tiara-V05-01-02 -- changes for rh73 with gcc-2.95.2 and rh73 with gcc-3.2 - -Jun 16th, 2003 M.Dressel - Tiara-V05-01-01 -- building with gmake supported, cvs meta info added - -Jun 12th, 2003 M.Dressel - Tiara-V05-01-00 -- Created diff --git a/examples/advanced/Tiara/README b/examples/advanced/Tiara/README deleted file mode 100644 index 952a529692..0000000000 --- a/examples/advanced/Tiara/README +++ /dev/null @@ -1,270 +0,0 @@ -# $Id: README,v 1.21 2005/03/17 19:48:27 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - -Simulation of the TIARA experiment using importance sampling -============================================================ - -This example is a simulation of the neutron shielding experiment TIARA -see http://idsun1.kek.jp/nakao/research/tiara/tiara.htm. -The example is meant to provide a realistic example for -applying geometrical importance sampling (geometrical splitting and -Russian roulette). -In the TIARA experiment neutrons of two different energy distributions -created by 43 MeV and 68 MeV protons bombarding a 7Li target are measured -behind several shields. The simulation starts from the neutron spectra. -In this example the interactions of the neutrons with the (concrete) -shields are simulated and energy dependent neutron fluxes are measured -behind the shields. Users may choose to run the simulation for different -shielding configuration with or without importance sampling. -The simulated neutron fluxes are compared to the published -experimental data. The efficiency of applying importance sampling -depends strongly on the shield thickness and importance configuration. -The efficiency of the simulations may be obtained as FOM values. - -See also "Geant4 User's Guide -For Application Developers", Chapter "Toolkit Fundamentals" -Section "Event Biasing Techniques" and references there. - -The example has been tested on CERN RH 7.3 with the -gcc-3.2.3 and gcc-2.95.2 compilers. - -Note for system testing without analysis: see points 1.1, 1.3 and 3.2. - - - -1) Setting the environment -========================== - -You must compile Geant4 with: - "G4LIB_BUILD_SHARED" set to 1. -You need to set: - "NeutronHPCrossSections" (e.g. pointing to a directory containing G4NDL3.7) - - -Three examples are given of how to set environment variables -in the three cases: - -1.1) PI via AFS (most simple): --------------------- - You have access to afs and you want to use PI for the - analysis: - Set the following environment variables: - "G4ANALYSIS_USE" - "PI_BASE_DIR" (where PI has been installed) - "SWIG_BASE_DIR" (where SWIG has been installed) - - Finally source the script envCommon.csh from the directory where you have Tiara - installed, e.g. ${G4INSTALL}/examples/advanced/Tiara - - -1.2) No afs but a local PI and SWIG installation: ------------------------------------------------------ - You don't use afs but you have a local installation of SWIG and PI - Set the following environment variables: - "G4ANALYSIS_USE" - "PI_BASE_DIR" - "SWIG_BASE_DIR" - - Finally source the script envCommon.csh from the directory where - you have Tiara installed, e.g. ${G4INSTALL}/examples/advanced/Tiara - - -1.3) No afs, no PI and no SWIG (e.g. for system testing): -------------------------------------------------------------- - You don't want to use PI and SWIG and you don't have afs access. - Make sure "G4ANALYSIS_USE" is unset (e.g. unsetenv G4ANALYSIS_USE or setenv G4ANALYSIS_USE 0) - - Note 1: python must be built against a "libc". - You may do this by creating a shared library by a command - similar to this - "ld -shared -o libpython2.3.so --whole-archive libpython2.3.a /usr/lib/libc.so" - - Set the following environment variables: - "PYTHONVERSION" (2.3 or higher) - "PYTHON_BASE_DIR" (e.g. to /usr) - "SWIG_VERSION" (e.g. 1.3 or higher) - "SWIG_BASE_DIR" (e.g. /usr) - "CLHEP_BASE_DIR" (e.g. to /opt/local) - - Finally source the script envCommon.csh from the directory where - you have Tiara installed, e.g. ${G4INSTALL}/examples/advanced/Tiara - - NOTE 2: Passing from a simulation WITH to another WITHOUT analysis implies - that the G4ANALYSIS_use should be unset and that the SWIG-wrapper scripts - in the directory TiaraWrapper should be deleted. Normally, the whole code - should be compiled again using gmake clean_all and, afterwards, gmake. - The same procedure should be followed also passing from a simulation WITHOUT - to another WITH analysis. - -2) Building the example -======================= - -Geant4 has to be compiled using G4LIB_BUILD_SHARED 1 and the one of the -above environment settings have to be set. -Type "gmake". - - -2.1) In more detail -------------------- - -Geant4 must be compiled into granular shared libraries. -Therefore before compiling Geant4 set "G4LIB_BUILD_SHARED" to "1". - -External packages used in this example are PI, SWIG and Python. - - -2.2) Cleaning up ----------------- -To remove the files created by swig ( *_wrap.cc, the corresponding -.py files) use "gmake swigClean". -To remove the directories of compiled code related to this example under -$G4WORKDIR/tmp/$G4SYSTEM/ use "gmake tiaraClean". -To remove all the files created during the previous compilation, use -"gmake clean_all". - - -3) Running the example: -======================= - - -3.1) Using PI ------------------ -Change to the sub directory "run" and execute "runSim.py". -"runSim.py" runs an example configuration which may be -changed by the user. The results of the simulation are stored in -the directory "simData". -The script "runSim.py" periodically prints scoring information to the -screen. -It also prints out the relative path of a ".shelve" file. -This file can be used to access results of the simulation. - -In case the example was build using analysis -results may be viewed e.g. using python or ROOT: -1) Start python -2) type: import dataAcess -3) type: p = dataAcess.ExpMcPlot (shelveFileName,detectorposition) - where "shelveFileName" is the name (enclosed in quotes) of the - shelve file created during the execution of runSim.py. - The name is printed on the screen during execution of runSim.py. - "detectorposition" may be "00, "20" or "40" and stand for the - detectors 00, 20, 40 cm off beam axis respectively. -4) type: p.display () -5) type: import extractShelve -6) type: extractShelve.getFluxes (p.she) - p.she is the shelve object containing simulation results. - This prints the FOM values for the used detectors - for two energy regions below and in the peak region. - The FOM should be compared to unbiased simulations. To run - an unbiased simulation set the importance values to one (see - runSim.py) - -Note: the output files written after every run are incremental! Meaning - the file with the highest run number contains the data from - all the runs! - -The modules (dataAcess, extractShelve) imported in the above steps are -placed in source/py_modules in files named after the module ending with -".py". - -Since the simulation time used by "runSim.py" is only 5 minutes the -calculated results have large errors. If you want to see a better result -do the following changes in "runSim.py". -Extend the total run time to e,g, 2 hours by setting: -"totalTime = 2 * myUtils.hour", -set the print out period to 30 minutes by setting: -"timeForOneRun = 30 * myUtils.min". - - - - -3.2) Not using PI (mainly for system testing) -------------------------------------------------- -Change to the sub directory "run" and execute -runSimNoAnalysis.py. - - - - - -4) Content of the directory: -============================ - - -envCommon.csh - a script to setup environment variables - in case the above one of the above environment settings have been - done beforehand. - -GNUmakefile - for building the example - - -data / - directory containing experimental data - - expDataOrig - experimental data taken from - http://idsun1.kek.jp/nakao/research/tiara/tiara.htm - - expDataConverted - some of the experimental data and the source - spectra converted into Anaphes DataPointSet - and stored in Anaphes xml format - - -source / - directory containing the source code - - tiara - C++ source code - - CLHEPWrapper - wrapper classes for usage in python - \include\CLHEP.i - specification file for swig - \src\CLHEP_wrap.cc - wrapper created with swig - - G4KernelWrapper - wrapper classes for usage in python - - TiaraWrapper - wrapper classes for usage in python - - py_modules - python modules for running and analysing - - swig.gmk - makefile rules for using swig - -run / - directory for running the example - runSim.py - executable example script - runSimNoAnalysis.py - executable script for running without - analysis - - - -5) Technicalities about this example -=================================== - - This example is composed out of a layer of classes written in C++ -(source/tiara/include, source/tiara/src), a layer of python -shadow classes created by swig (source/CLHEPWrapper, -source/G4KernelWrapper, source/TiaraWrapper) and a layer of -python modules (source/py_modules). - The C++ layer under source/tiara provides lower level classes closely -related to the Geant4 kernel. - The shadow classes in the source/*Wrapper directories provide classes -that may be instantiated in a python script or session. This way the -lower level C++ code can be used directly for scripting in python. The -shadow classes are declared in the files with extensions ".i" in the -source/*Wrapper/include directories. Swig is used to create C++ code for -a library that can be loaded into python and python modules (files with -extensions .py in the source/*Wrapper directories). When the python -modules created by swig are imported into python (in a session or a -script) the corresponding C++ library is automatically loaded as well. - The python modules in source/py_modules provide classes and functions -that may be changed or customized more frequently than the C++ classes -in source/tiara. These classes complete the construction of geometries, -take care of the procedure of setting up the simulation, the run sequence -and the analysis after the simulation has been ran. - The script runSim.py is an commented example of using the python modules -to run a simulation. - - -6) Note about how to call the hadronic physics lists in runSim.py and runSimNoAnalysis.py -========================================================================================= - -It is only necessary to change the physList value in runSim.py or runSimNoAnalysis.py. In the example, there are 4 available physics lists, but of course the user can use whatever physics lists he/she likes and present in the Geant4-7.0 repository. In such a case, the user should also modify the -/source/TiaraWrapper/include/Tiara.i file in order to create an instantiation of the - physics list class. In particular, just follow the same lines already used for the six -available physics lists. - diff --git a/examples/advanced/Tiara/data/expDataConverted/TiaraData2.xml b/examples/advanced/Tiara/data/expDataConverted/TiaraData2.xml deleted file mode 100644 index 165ff905fd..0000000000 Binary files a/examples/advanced/Tiara/data/expDataConverted/TiaraData2.xml and /dev/null differ diff --git a/examples/advanced/Tiara/data/expDataConverted/dpsSource.xml b/examples/advanced/Tiara/data/expDataConverted/dpsSource.xml deleted file mode 100644 index b2e4bb48ec..0000000000 Binary files a/examples/advanced/Tiara/data/expDataConverted/dpsSource.xml and /dev/null differ diff --git a/examples/advanced/Tiara/data/expDataConverted/source.xml b/examples/advanced/Tiara/data/expDataConverted/source.xml deleted file mode 100644 index 8b69afda1f..0000000000 Binary files a/examples/advanced/Tiara/data/expDataConverted/source.xml and /dev/null differ diff --git a/examples/advanced/Tiara/data/expDataOrig/43c100-00.pnt b/examples/advanced/Tiara/data/expDataOrig/43c100-00.pnt deleted file mode 100644 index 77a7c0199e..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c100-00.pnt +++ /dev/null @@ -1,55 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/10 [43c100-00] - Proton Energy : 43 MeV - Shielding Material :100.0cm thick Concrete - Iron collimator (10.9cm diam.) : 0cm thick - Distance from Li target to the shield surface(0cm thickness) = 403 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-a) =3.15E+09 [sr/micro-Coulomb] - 1.94E+04 [cm^2/micro-Coulomb] at 403 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 7.982E+00 5.061E-01 - 4.250E+07 1.658E+01 6.119E-01 - 4.150E+07 2.741E+01 5.229E-01 - 4.050E+07 3.590E+01 3.551E-01 - 3.950E+07 3.730E+01 8.271E-01 - 3.850E+07 3.104E+01 1.231E+00 - 3.750E+07 2.133E+01 1.067E+00 - 3.650E+07 1.310E+01 4.923E-01 - 3.550E+07 8.372E+00 1.973E-01 - 3.450E+07 6.416E+00 3.824E-01 - 3.350E+07 5.779E+00 3.854E-01 - 3.250E+07 5.528E+00 3.429E-01 - 3.150E+07 5.311E+00 3.288E-01 - 3.050E+07 5.061E+00 3.218E-01 - 2.950E+07 4.796E+00 3.132E-01 - 2.850E+07 4.537E+00 3.387E-01 - 2.750E+07 4.291E+00 4.334E-01 - 2.650E+07 4.037E+00 5.823E-01 - 2.550E+07 3.746E+00 7.262E-01 - 2.449E+07 3.404E+00 7.922E-01 - 2.349E+07 3.033E+00 7.398E-01 - 2.249E+07 2.676E+00 5.752E-01 - 2.149E+07 2.381E+00 3.341E-01 - 2.049E+07 2.166E+00 8.100E-02 - 1.949E+07 2.025E+00 2.460E-01 - 1.849E+07 1.931E+00 4.035E-01 - 1.749E+07 1.847E+00 3.831E-01 - 1.649E+07 1.751E+00 2.060E-01 - 1.549E+07 1.645E+00 5.948E-02 - 1.449E+07 1.545E+00 8.809E-02 - 1.349E+07 1.463E+00 3.949E-02 - 1.249E+07 1.394E+00 1.751E-01 - 1.149E+07 1.333E+00 2.621E-01 - 1.049E+07 1.297E+00 2.578E-01 - 9.487E+06 1.314E+00 2.050E-01 - 8.485E+06 1.378E+00 9.701E-02 - 7.483E+06 1.441E+00 1.518E-01 - 6.481E+06 1.522E+00 3.396E-01 - 5.477E+06 1.655E+00 2.592E-01 - 4.472E+06 1.570E+00 4.268E-01 diff --git a/examples/advanced/Tiara/data/expDataOrig/43c150-00.pnt b/examples/advanced/Tiara/data/expDataOrig/43c150-00.pnt deleted file mode 100644 index 85d3375267..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c150-00.pnt +++ /dev/null @@ -1,54 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/10 [43c150-00] - Proton Energy : 43 MeV - Shielding Material :150.0cm thick Concrete - Iron collimator (10.9cm diam.) : 0cm thick - Distance from Li target to the shield surface(0cm thickness) = 403 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-a) =3.15E+09 [sr/micro-Coulomb] - 1.94E+04 [cm^2/micro-Coulomb] at 403 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 2.026E-01 2.202E-02 - 4.250E+07 3.907E-01 3.008E-02 - 4.150E+07 6.249E-01 3.566E-02 - 4.050E+07 8.164E-01 3.072E-02 - 3.950E+07 8.651E-01 1.940E-02 - 3.850E+07 7.466E-01 5.153E-02 - 3.750E+07 5.400E-01 8.088E-02 - 3.650E+07 3.566E-01 7.398E-02 - 3.550E+07 2.514E-01 3.792E-02 - 3.450E+07 2.110E-01 1.171E-02 - 3.350E+07 1.996E-01 2.589E-02 - 3.250E+07 1.934E-01 3.038E-02 - 3.150E+07 1.847E-01 2.773E-02 - 3.050E+07 1.737E-01 2.382E-02 - 2.950E+07 1.626E-01 2.135E-02 - 2.850E+07 1.532E-01 2.124E-02 - 2.750E+07 1.462E-01 2.321E-02 - 2.650E+07 1.410E-01 2.611E-02 - 2.550E+07 1.358E-01 2.840E-02 - 2.449E+07 1.288E-01 2.859E-02 - 2.349E+07 1.184E-01 2.576E-02 - 2.249E+07 1.046E-01 1.975E-02 - 2.149E+07 8.811E-02 1.143E-02 - 2.049E+07 7.128E-02 3.505E-03 - 1.949E+07 5.705E-02 6.866E-03 - 1.849E+07 4.810E-02 1.058E-02 - 1.749E+07 4.529E-02 9.983E-03 - 1.649E+07 4.671E-02 6.501E-03 - 1.549E+07 4.872E-02 3.379E-03 - 1.449E+07 4.830E-02 2.474E-03 - 1.349E+07 4.499E-02 3.959E-03 - 1.249E+07 4.057E-02 7.091E-03 - 1.149E+07 3.714E-02 9.308E-03 - 1.049E+07 3.589E-02 9.567E-03 - 9.487E+06 3.780E-02 7.504E-03 - 8.485E+06 4.511E-02 1.241E-03 - 7.483E+06 5.828E-02 1.303E-02 - 6.481E+06 6.872E-02 2.887E-02 - 5.477E+06 6.311E-02 3.449E-02 diff --git a/examples/advanced/Tiara/data/expDataOrig/43c25-00a.pnt b/examples/advanced/Tiara/data/expDataOrig/43c25-00a.pnt deleted file mode 100644 index 9e5ecfae1f..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c25-00a.pnt +++ /dev/null @@ -1,55 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/10 [43c25-00a] - Proton Energy : 43 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 40cm thick - Distance from Li target to the shield surface(0cm thickness) = 443 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =3.45E+09 [sr/micro-Coulomb] - 1.76E+04 [cm^2/micro-Coulomb] at 443 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 6.744E+03 6.263E+02 - 4.250E+07 1.317E+04 5.875E+02 - 4.150E+07 1.965E+04 2.960E+02 - 4.050E+07 2.265E+04 3.991E+02 - 3.950E+07 2.023E+04 6.325E+02 - 3.850E+07 1.396E+04 5.659E+02 - 3.750E+07 7.428E+03 3.056E+02 - 3.650E+07 3.133E+03 1.181E+02 - 3.550E+07 1.325E+03 1.603E+02 - 3.450E+07 1.019E+03 1.766E+02 - 3.350E+07 1.274E+03 1.672E+02 - 3.250E+07 1.611E+03 1.699E+02 - 3.150E+07 1.878E+03 1.768E+02 - 3.050E+07 2.054E+03 1.720E+02 - 2.950E+07 2.147E+03 1.632E+02 - 2.850E+07 2.168E+03 1.734E+02 - 2.750E+07 2.130E+03 2.189E+02 - 2.650E+07 2.043E+03 2.937E+02 - 2.550E+07 1.930E+03 3.658E+02 - 2.449E+07 1.818E+03 3.990E+02 - 2.349E+07 1.725E+03 3.741E+02 - 2.249E+07 1.665E+03 2.899E+02 - 2.149E+07 1.640E+03 1.681E+02 - 2.049E+07 1.642E+03 3.660E+01 - 1.949E+07 1.649E+03 1.259E+02 - 1.849E+07 1.630E+03 2.058E+02 - 1.749E+07 1.551E+03 1.964E+02 - 1.649E+07 1.417E+03 1.066E+02 - 1.549E+07 1.267E+03 2.618E+01 - 1.449E+07 1.157E+03 4.025E+01 - 1.349E+07 1.108E+03 1.904E+01 - 1.249E+07 1.089E+03 8.798E+01 - 1.149E+07 1.054E+03 1.310E+02 - 1.049E+07 9.850E+02 1.281E+02 - 9.487E+06 9.110E+02 1.015E+02 - 8.485E+06 8.461E+02 4.836E+01 - 7.483E+06 7.555E+02 7.453E+01 - 6.481E+06 6.756E+02 1.505E+02 - 5.477E+06 6.938E+02 3.724E+01 - 4.472E+06 6.344E+02 2.723E+02 diff --git a/examples/advanced/Tiara/data/expDataOrig/43c25-20a.pnt b/examples/advanced/Tiara/data/expDataOrig/43c25-20a.pnt deleted file mode 100644 index e9bc5638f5..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c25-20a.pnt +++ /dev/null @@ -1,53 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [43c25-20a] - Proton Energy : 43 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 40cm thick - Distance from Li target to the shield surface(0cm thickness) = 443 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =3.45E+09 [sr/micro-Coulomb] - 1.76E+04 [cm^2/micro-Coulomb] at 443 cm - Measured position : 20cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 1.029E+02 5.729E+01 - 4.250E+07 1.864E+02 1.201E+02 - 4.150E+07 3.223E+02 1.284E+02 - 4.050E+07 4.607E+02 5.482E+01 - 3.950E+07 5.036E+02 5.250E+01 - 3.850E+07 4.150E+02 9.947E+01 - 3.750E+07 2.740E+02 8.055E+01 - 3.650E+07 1.732E+02 3.748E+01 - 3.550E+07 1.304E+02 1.279E+01 - 3.450E+07 1.189E+02 1.230E+01 - 3.350E+07 1.165E+02 1.132E+01 - 3.250E+07 1.156E+02 9.308E+00 - 3.150E+07 1.144E+02 8.170E+00 - 3.050E+07 1.127E+02 8.258E+00 - 2.950E+07 1.105E+02 9.341E+00 - 2.850E+07 1.078E+02 1.121E+01 - 2.750E+07 1.048E+02 1.364E+01 - 2.650E+07 1.018E+02 1.615E+01 - 2.550E+07 9.920E+01 1.795E+01 - 2.449E+07 9.722E+01 1.825E+01 - 2.349E+07 9.574E+01 1.653E+01 - 2.249E+07 9.453E+01 1.271E+01 - 2.149E+07 9.336E+01 7.264E+00 - 2.049E+07 9.201E+01 1.853E+00 - 1.949E+07 9.031E+01 4.591E+00 - 1.849E+07 8.799E+01 7.237E+00 - 1.749E+07 8.493E+01 6.927E+00 - 1.649E+07 8.127E+01 4.560E+00 - 1.549E+07 7.751E+01 2.286E+00 - 1.449E+07 7.421E+01 1.610E+00 - 1.349E+07 7.164E+01 2.670E+00 - 1.249E+07 6.964E+01 4.689E+00 - 1.149E+07 6.788E+01 6.075E+00 - 1.049E+07 6.627E+01 6.198E+00 - 9.487E+06 6.503E+01 4.849E+00 - 8.485E+06 6.352E+01 7.540E-01 - 7.483E+06 5.906E+01 8.406E+00 - 6.481E+06 4.854E+01 1.869E+01 diff --git a/examples/advanced/Tiara/data/expDataOrig/43c25-40a.pnt b/examples/advanced/Tiara/data/expDataOrig/43c25-40a.pnt deleted file mode 100644 index 5c334e6a96..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c25-40a.pnt +++ /dev/null @@ -1,53 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [43c25-40a] - Proton Energy : 43 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 40cm thick - Distance from Li target to the shield surface(0cm thickness) = 443 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =3.45E+09 [sr/micro-Coulomb] - 1.76E+04 [cm^2/micro-Coulomb] at 443 cm - Measured position : 40cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 1.240E+01 2.475E+00 - 4.250E+07 2.332E+01 5.019E+00 - 4.150E+07 3.197E+01 5.360E+00 - 4.050E+07 3.461E+01 2.346E+00 - 3.950E+07 3.263E+01 2.697E+00 - 3.850E+07 2.852E+01 4.865E+00 - 3.750E+07 2.322E+01 3.978E+00 - 3.650E+07 1.833E+01 1.766E+00 - 3.550E+07 1.551E+01 6.330E-01 - 3.450E+07 1.463E+01 8.040E-01 - 3.350E+07 1.454E+01 7.655E-01 - 3.250E+07 1.452E+01 6.638E-01 - 3.150E+07 1.438E+01 6.204E-01 - 3.050E+07 1.416E+01 6.446E-01 - 2.950E+07 1.391E+01 7.280E-01 - 2.850E+07 1.365E+01 8.705E-01 - 2.750E+07 1.342E+01 1.058E+00 - 2.650E+07 1.324E+01 1.258E+00 - 2.550E+07 1.310E+01 1.401E+00 - 2.449E+07 1.302E+01 1.425E+00 - 2.349E+07 1.299E+01 1.291E+00 - 2.249E+07 1.301E+01 9.958E-01 - 2.149E+07 1.306E+01 5.761E-01 - 2.049E+07 1.309E+01 1.641E-01 - 1.949E+07 1.304E+01 3.370E-01 - 1.849E+07 1.286E+01 5.304E-01 - 1.749E+07 1.253E+01 5.027E-01 - 1.649E+07 1.210E+01 3.256E-01 - 1.549E+07 1.166E+01 1.650E-01 - 1.449E+07 1.132E+01 1.218E-01 - 1.349E+07 1.112E+01 2.006E-01 - 1.249E+07 1.103E+01 3.591E-01 - 1.149E+07 1.100E+01 4.709E-01 - 1.049E+07 1.102E+01 4.840E-01 - 9.487E+06 1.114E+01 3.799E-01 - 8.485E+06 1.130E+01 6.600E-02 - 7.483E+06 1.109E+01 6.604E-01 - 6.481E+06 9.770E+00 1.462E+00 diff --git a/examples/advanced/Tiara/data/expDataOrig/43c50-00a.pnt b/examples/advanced/Tiara/data/expDataOrig/43c50-00a.pnt deleted file mode 100644 index 0059d1374a..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c50-00a.pnt +++ /dev/null @@ -1,55 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/10 [43c50-00a] - Proton Energy : 43 MeV - Shielding Material : 50.0cm thick Concrete - Iron collimator (10.9cm diam.) : 40cm thick - Distance from Li target to the shield surface(0cm thickness) = 443 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =3.45E+09 [sr/micro-Coulomb] - 1.76E+04 [cm^2/micro-Coulomb] at 443 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 9.291E+02 9.291E+01 - 4.250E+07 1.609E+03 7.717E+01 - 4.150E+07 2.215E+03 3.532E+01 - 4.050E+07 2.429E+03 4.096E+01 - 3.950E+07 2.112E+03 5.964E+01 - 3.850E+07 1.451E+03 5.239E+01 - 3.750E+07 7.942E+02 2.636E+01 - 3.650E+07 3.710E+02 1.163E+01 - 3.550E+07 1.905E+02 2.092E+01 - 3.450E+07 1.515E+02 2.113E+01 - 3.350E+07 1.635E+02 1.827E+01 - 3.250E+07 1.829E+02 1.789E+01 - 3.150E+07 1.973E+02 1.909E+01 - 3.050E+07 2.052E+02 1.913E+01 - 2.950E+07 2.071E+02 1.841E+01 - 2.850E+07 2.028E+02 1.944E+01 - 2.750E+07 1.919E+02 2.413E+01 - 2.650E+07 1.756E+02 3.208E+01 - 2.550E+07 1.578E+02 3.968E+01 - 2.449E+07 1.425E+02 4.333E+01 - 2.349E+07 1.330E+02 4.046E+01 - 2.249E+07 1.295E+02 3.158E+01 - 2.149E+07 1.302E+02 1.828E+01 - 2.049E+07 1.324E+02 4.021E+00 - 1.949E+07 1.333E+02 1.368E+01 - 1.849E+07 1.297E+02 2.277E+01 - 1.749E+07 1.192E+02 2.189E+01 - 1.649E+07 1.033E+02 1.205E+01 - 1.549E+07 8.752E+01 2.788E+00 - 1.449E+07 7.839E+01 4.361E+00 - 1.349E+07 7.748E+01 2.085E+00 - 1.249E+07 8.043E+01 9.733E+00 - 1.149E+07 8.144E+01 1.441E+01 - 1.049E+07 7.837E+01 1.404E+01 - 9.487E+06 7.365E+01 1.110E+01 - 8.485E+06 6.797E+01 5.263E+00 - 7.483E+06 5.690E+01 8.178E+00 - 6.481E+06 4.823E+01 1.841E+01 - 5.477E+06 5.012E+01 1.414E+01 - 4.472E+06 3.196E+01 2.353E+01 diff --git a/examples/advanced/Tiara/data/expDataOrig/43c50-20a.pnt b/examples/advanced/Tiara/data/expDataOrig/43c50-20a.pnt deleted file mode 100644 index 8839a75ff8..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c50-20a.pnt +++ /dev/null @@ -1,53 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [43c50-20a] - Proton Energy : 43 MeV - Shielding Material : 50.0cm thick Concrete - Iron collimator (10.9cm diam.) : 40cm thick - Distance from Li target to the shield surface(0cm thickness) = 443 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =3.45E+09 [sr/micro-Coulomb] - 1.76E+04 [cm^2/micro-Coulomb] at 443 cm - Measured position : 20cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 7.643E+01 2.326E+01 - 4.250E+07 1.393E+02 4.860E+01 - 4.150E+07 2.224E+02 5.188E+01 - 4.050E+07 2.958E+02 2.187E+01 - 3.950E+07 3.163E+02 2.127E+01 - 3.850E+07 2.661E+02 4.021E+01 - 3.750E+07 1.792E+02 3.244E+01 - 3.650E+07 1.072E+02 1.513E+01 - 3.550E+07 7.055E+01 5.007E+00 - 3.450E+07 5.836E+01 4.528E+00 - 3.350E+07 5.551E+01 4.164E+00 - 3.250E+07 5.460E+01 3.473E+00 - 3.150E+07 5.362E+01 3.213E+00 - 3.050E+07 5.230E+01 3.443E+00 - 2.950E+07 5.074E+01 4.002E+00 - 2.850E+07 4.911E+01 4.864E+00 - 2.750E+07 4.751E+01 5.939E+00 - 2.650E+07 4.597E+01 7.031E+00 - 2.550E+07 4.440E+01 7.822E+00 - 2.449E+07 4.265E+01 7.948E+00 - 2.349E+07 4.063E+01 7.203E+00 - 2.249E+07 3.830E+01 5.544E+00 - 2.149E+07 3.575E+01 3.172E+00 - 2.049E+07 3.312E+01 7.357E-01 - 1.949E+07 3.061E+01 1.993E+00 - 1.849E+07 2.843E+01 3.164E+00 - 1.749E+07 2.669E+01 3.030E+00 - 1.649E+07 2.535E+01 1.973E+00 - 1.549E+07 2.424E+01 9.422E-01 - 1.449E+07 2.314E+01 6.386E-01 - 1.349E+07 2.198E+01 1.144E+00 - 1.249E+07 2.085E+01 2.038E+00 - 1.149E+07 1.988E+01 2.644E+00 - 1.049E+07 1.921E+01 2.695E+00 - 9.487E+06 1.899E+01 2.106E+00 - 8.485E+06 1.943E+01 2.844E-01 - 7.483E+06 2.016E+01 3.657E+00 - 6.481E+06 1.947E+01 8.138E+00 diff --git a/examples/advanced/Tiara/data/expDataOrig/43c50-40a.pnt b/examples/advanced/Tiara/data/expDataOrig/43c50-40a.pnt deleted file mode 100644 index 79e1a5ea8d..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/43c50-40a.pnt +++ /dev/null @@ -1,52 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [43c50-40a] - Proton Energy : 43 MeV - Shielding Material : 50.0cm thick Concrete - Iron collimator (10.9cm diam.) : 40cm thick - Distance from Li target to the shield surface(0cm thickness) = 443 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =3.45E+09 [sr/micro-Coulomb] - 1.76E+04 [cm^2/micro-Coulomb] at 443 cm - Measured position : 40cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 4.350E+07 1.148E+01 2.295E+00 - 4.250E+07 2.235E+01 4.648E+00 - 4.150E+07 3.336E+01 4.966E+00 - 4.050E+07 4.007E+01 2.185E+00 - 3.950E+07 4.012E+01 2.536E+00 - 3.850E+07 3.390E+01 4.569E+00 - 3.750E+07 2.466E+01 3.745E+00 - 3.650E+07 1.692E+01 1.653E+00 - 3.550E+07 1.283E+01 5.953E-01 - 3.450E+07 1.140E+01 7.710E-01 - 3.350E+07 1.095E+01 7.247E-01 - 3.250E+07 1.064E+01 6.112E-01 - 3.150E+07 1.027E+01 5.526E-01 - 3.050E+07 9.846E+00 5.641E-01 - 2.950E+07 9.362E+00 6.351E-01 - 2.850E+07 8.812E+00 7.602E-01 - 2.750E+07 8.207E+00 9.271E-01 - 2.650E+07 7.606E+00 1.101E+00 - 2.550E+07 7.097E+00 1.227E+00 - 2.449E+07 6.766E+00 1.249E+00 - 2.349E+07 6.657E+00 1.131E+00 - 2.249E+07 6.765E+00 8.699E-01 - 2.149E+07 7.027E+00 5.021E-01 - 2.049E+07 7.326E+00 1.347E-01 - 1.949E+07 7.502E+00 2.975E-01 - 1.849E+07 7.403E+00 4.675E-01 - 1.749E+07 6.978E+00 4.435E-01 - 1.649E+07 6.344E+00 2.858E-01 - 1.549E+07 5.747E+00 1.404E-01 - 1.449E+07 5.398E+00 1.006E-01 - 1.349E+07 5.338E+00 1.737E-01 - 1.249E+07 5.433E+00 3.142E-01 - 1.149E+07 5.513E+00 4.122E-01 - 1.049E+07 5.508E+00 4.231E-01 - 9.487E+06 5.412E+00 3.316E-01 - 8.485E+06 5.059E+00 5.120E-02 - 7.483E+06 4.087E+00 5.762E-01 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c100-00.pnt b/examples/advanced/Tiara/data/expDataOrig/68c100-00.pnt deleted file mode 100644 index c1cb3e9972..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c100-00.pnt +++ /dev/null @@ -1,66 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/12 [68c100-00] - Proton Energy : 68 MeV - Shielding Material :100.0cm thick Concrete - Iron collimator (10.9cm diam.) : 0cm thick - Distance from Li target to the shield surface(0cm thickness) = 403 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-a) =4.00E+09 [sr/micro-Coulomb] - 2.46E+04 [cm^2/micro-Coulomb] at 403 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 1.414E+02 4.815E+00 - 6.699E+07 2.831E+02 7.960E+00 - 6.499E+07 3.986E+02 6.056E+00 - 6.299E+07 4.097E+02 4.991E+00 - 6.099E+07 3.137E+02 8.514E+00 - 5.899E+07 1.820E+02 7.124E+00 - 5.699E+07 8.636E+01 2.849E+00 - 5.499E+07 4.693E+01 3.020E+00 - 5.299E+07 4.307E+01 3.444E+00 - 5.099E+07 4.971E+01 2.929E+00 - 4.899E+07 5.391E+01 2.609E+00 - 4.699E+07 5.237E+01 2.450E+00 - 4.499E+07 4.658E+01 2.242E+00 - 4.350E+07 4.145E+01 2.170E+00 - 4.250E+07 3.843E+01 2.205E+00 - 4.150E+07 3.602E+01 2.321E+00 - 4.050E+07 3.424E+01 2.510E+00 - 3.950E+07 3.298E+01 2.766E+00 - 3.850E+07 3.201E+01 2.947E+00 - 3.750E+07 3.104E+01 3.030E+00 - 3.650E+07 2.982E+01 3.020E+00 - 3.550E+07 2.819E+01 2.944E+00 - 3.450E+07 2.616E+01 2.837E+00 - 3.350E+07 2.392E+01 2.724E+00 - 3.250E+07 2.180E+01 2.608E+00 - 3.150E+07 2.019E+01 2.482E+00 - 3.050E+07 1.930E+01 2.351E+00 - 2.950E+07 1.909E+01 2.257E+00 - 2.850E+07 1.926E+01 2.246E+00 - 2.750E+07 1.933E+01 2.336E+00 - 2.650E+07 1.895E+01 2.494E+00 - 2.550E+07 1.798E+01 2.629E+00 - 2.449E+07 1.655E+01 2.624E+00 - 2.349E+07 1.490E+01 2.392E+00 - 2.249E+07 1.321E+01 1.913E+00 - 2.149E+07 1.158E+01 1.289E+00 - 2.049E+07 9.976E+00 7.099E-01 - 1.949E+07 8.437E+00 1.187E+00 - 1.849E+07 7.065E+00 1.580E+00 - 1.749E+07 6.038E+00 1.588E+00 - 1.649E+07 5.496E+00 1.272E+00 - 1.549E+07 5.423E+00 8.433E-01 - 1.449E+07 5.626E+00 5.475E-01 - 1.349E+07 5.872E+00 5.197E-01 - 1.249E+07 6.052E+00 7.146E-01 - 1.149E+07 6.199E+00 8.919E-01 - 1.049E+07 6.401E+00 9.085E-01 - 9.487E+06 6.731E+00 7.199E-01 - 8.485E+06 7.120E+00 2.334E-01 - 7.483E+06 7.186E+00 1.163E+00 - 6.481E+06 6.380E+00 2.414E+00 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c150-00.pnt b/examples/advanced/Tiara/data/expDataOrig/68c150-00.pnt deleted file mode 100644 index 5018181248..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c150-00.pnt +++ /dev/null @@ -1,66 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/12 [68c150-00] - Proton Energy : 68 MeV - Shielding Material :150.0cm thick Concrete - Iron collimator (10.9cm diam.) : 0cm thick - Distance from Li target to the shield surface(0cm thickness) = 403 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-a) =4.00E+09 [sr/micro-Coulomb] - 2.46E+04 [cm^2/micro-Coulomb] at 403 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 4.219E+00 2.187E-01 - 6.699E+07 9.864E+00 3.778E-01 - 6.499E+07 1.682E+01 3.018E-01 - 6.299E+07 2.072E+01 2.816E-01 - 6.099E+07 1.844E+01 4.484E-01 - 5.899E+07 1.210E+01 3.656E-01 - 5.699E+07 6.539E+00 1.538E-01 - 5.499E+07 4.037E+00 1.936E-01 - 5.299E+07 3.649E+00 1.979E-01 - 5.099E+07 3.848E+00 1.726E-01 - 4.899E+07 3.880E+00 1.799E-01 - 4.699E+07 3.553E+00 1.907E-01 - 4.499E+07 2.958E+00 1.819E-01 - 4.350E+07 2.507E+00 1.727E-01 - 4.250E+07 2.286E+00 1.705E-01 - 4.150E+07 2.154E+00 1.764E-01 - 4.050E+07 2.107E+00 1.935E-01 - 3.950E+07 2.116E+00 2.169E-01 - 3.850E+07 2.143E+00 2.333E-01 - 3.750E+07 2.153E+00 2.380E-01 - 3.650E+07 2.118E+00 2.304E-01 - 3.550E+07 2.030E+00 2.146E-01 - 3.450E+07 1.893E+00 1.976E-01 - 3.350E+07 1.724E+00 1.856E-01 - 3.250E+07 1.554E+00 1.802E-01 - 3.150E+07 1.417E+00 1.761E-01 - 3.050E+07 1.344E+00 1.664E-01 - 2.950E+07 1.338E+00 1.520E-01 - 2.850E+07 1.372E+00 1.435E-01 - 2.750E+07 1.396E+00 1.490E-01 - 2.650E+07 1.375E+00 1.684E-01 - 2.550E+07 1.305E+00 1.905E-01 - 2.449E+07 1.206E+00 2.017E-01 - 2.349E+07 1.104E+00 1.891E-01 - 2.249E+07 1.008E+00 1.521E-01 - 2.149E+07 9.192E-01 1.000E-01 - 2.049E+07 8.301E-01 5.036E-02 - 1.949E+07 7.348E-01 9.630E-02 - 1.849E+07 6.316E-01 1.371E-01 - 1.749E+07 5.323E-01 1.413E-01 - 1.649E+07 4.606E-01 1.072E-01 - 1.549E+07 4.339E-01 5.644E-02 - 1.449E+07 4.465E-01 4.556E-02 - 1.349E+07 4.733E-01 2.382E-02 - 1.249E+07 4.922E-01 5.187E-02 - 1.149E+07 4.984E-01 6.799E-02 - 1.049E+07 5.006E-01 6.646E-02 - 9.487E+06 5.143E-01 5.413E-02 - 8.485E+06 5.508E-01 3.059E-02 - 7.483E+06 5.917E-01 5.520E-02 - 6.481E+06 5.733E-01 1.587E-01 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c200-00.pnt b/examples/advanced/Tiara/data/expDataOrig/68c200-00.pnt deleted file mode 100644 index e79c77e569..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c200-00.pnt +++ /dev/null @@ -1,66 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/12 [68c200-00] - Proton Energy : 68 MeV - Shielding Material :200.0cm thick Concrete - Iron collimator (10.9cm diam.) : 0cm thick - Distance from Li target to the shield surface(0cm thickness) = 403 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-a) =4.00E+09 [sr/micro-Coulomb] - 2.46E+04 [cm^2/micro-Coulomb] at 403 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 5.347E-01 4.621E-02 - 6.699E+07 1.240E+00 7.555E-02 - 6.499E+07 2.100E+00 6.124E-02 - 6.299E+07 2.617E+00 6.205E-02 - 6.099E+07 2.422E+00 1.006E-01 - 5.899E+07 1.714E+00 8.274E-02 - 5.699E+07 1.036E+00 3.380E-02 - 5.499E+07 6.847E-01 4.307E-02 - 5.299E+07 5.882E-01 4.369E-02 - 5.099E+07 5.836E-01 3.780E-02 - 4.899E+07 5.824E-01 3.986E-02 - 4.699E+07 5.545E-01 4.276E-02 - 4.499E+07 4.990E-01 4.096E-02 - 4.350E+07 4.542E-01 3.875E-02 - 4.250E+07 4.324E-01 3.839E-02 - 4.150E+07 4.210E-01 4.013E-02 - 4.050E+07 4.200E-01 4.445E-02 - 3.950E+07 4.258E-01 4.992E-02 - 3.850E+07 4.324E-01 5.379E-02 - 3.750E+07 4.335E-01 5.493E-02 - 3.650E+07 4.247E-01 5.308E-02 - 3.550E+07 4.044E-01 4.902E-02 - 3.450E+07 3.740E-01 4.433E-02 - 3.350E+07 3.381E-01 4.046E-02 - 3.250E+07 3.024E-01 3.813E-02 - 3.150E+07 2.722E-01 3.647E-02 - 3.050E+07 2.502E-01 3.396E-02 - 2.950E+07 2.355E-01 3.054E-02 - 2.850E+07 2.245E-01 2.805E-02 - 2.750E+07 2.132E-01 2.807E-02 - 2.650E+07 2.004E-01 3.029E-02 - 2.550E+07 1.874E-01 3.317E-02 - 2.449E+07 1.756E-01 3.449E-02 - 2.349E+07 1.651E-01 3.227E-02 - 2.249E+07 1.543E-01 2.629E-02 - 2.149E+07 1.424E-01 1.820E-02 - 2.049E+07 1.303E-01 1.101E-02 - 1.949E+07 1.192E-01 1.916E-02 - 1.849E+07 1.099E-01 2.653E-02 - 1.749E+07 1.023E-01 2.790E-02 - 1.649E+07 9.634E-02 2.253E-02 - 1.549E+07 9.137E-02 1.341E-02 - 1.449E+07 8.724E-02 9.807E-03 - 1.349E+07 8.511E-02 5.466E-03 - 1.249E+07 8.613E-02 9.634E-03 - 1.149E+07 8.881E-02 1.189E-02 - 1.049E+07 9.013E-02 1.171E-02 - 9.487E+06 9.109E-02 9.624E-03 - 8.485E+06 9.619E-02 5.636E-03 - 7.483E+06 1.040E-01 7.985E-03 - 6.481E+06 1.098E-01 1.223E-02 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c25-00a.pnt b/examples/advanced/Tiara/data/expDataOrig/68c25-00a.pnt deleted file mode 100644 index b07aadd5f7..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c25-00a.pnt +++ /dev/null @@ -1,66 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/12 [68c25-00a] - Proton Energy : 68 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 80cm thick - Distance from Li target to the shield surface(0cm thickness) = 483 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =4.77E+09 [sr/micro-Coulomb] - 2.04E+04 [cm^2/micro-Coulomb] at 483 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 1.600E+04 3.408E+02 - 6.699E+07 3.239E+04 5.661E+02 - 6.499E+07 4.576E+04 4.326E+02 - 6.299E+07 4.658E+04 3.534E+02 - 6.099E+07 3.478E+04 5.994E+02 - 5.899E+07 1.947E+04 5.009E+02 - 5.699E+07 9.141E+03 2.031E+02 - 5.499E+07 5.437E+03 2.195E+02 - 5.299E+07 5.548E+03 2.515E+02 - 5.099E+07 6.558E+03 2.183E+02 - 4.899E+07 7.050E+03 1.987E+02 - 4.699E+07 6.736E+03 1.889E+02 - 4.499E+07 5.920E+03 1.724E+02 - 4.350E+07 5.279E+03 1.642E+02 - 4.250E+07 4.937E+03 1.632E+02 - 4.150E+07 4.688E+03 1.679E+02 - 4.050E+07 4.526E+03 1.801E+02 - 3.950E+07 4.424E+03 2.020E+02 - 3.850E+07 4.351E+03 2.198E+02 - 3.750E+07 4.273E+03 2.296E+02 - 3.650E+07 4.166E+03 2.349E+02 - 3.550E+07 4.017E+03 2.366E+02 - 3.450E+07 3.830E+03 2.372E+02 - 3.350E+07 3.627E+03 2.370E+02 - 3.250E+07 3.441E+03 2.356E+02 - 3.150E+07 3.305E+03 2.322E+02 - 3.050E+07 3.238E+03 2.282E+02 - 2.950E+07 3.230E+03 2.299E+02 - 2.850E+07 3.238E+03 2.436E+02 - 2.750E+07 3.210E+03 2.714E+02 - 2.650E+07 3.102E+03 3.068E+02 - 2.550E+07 2.900E+03 3.343E+02 - 2.449E+07 2.626E+03 3.381E+02 - 2.349E+07 2.314E+03 3.075E+02 - 2.249E+07 1.996E+03 2.402E+02 - 2.149E+07 1.690E+03 1.468E+02 - 2.049E+07 1.401E+03 5.814E+01 - 1.949E+07 1.140E+03 1.143E+02 - 1.849E+07 9.224E+02 1.604E+02 - 1.749E+07 7.642E+02 1.567E+02 - 1.649E+07 6.718E+02 1.158E+02 - 1.549E+07 6.321E+02 6.894E+01 - 1.449E+07 6.167E+02 4.468E+01 - 1.349E+07 5.992E+02 5.408E+01 - 1.249E+07 5.708E+02 8.711E+01 - 1.149E+07 5.408E+02 1.115E+02 - 1.049E+07 5.224E+02 1.134E+02 - 9.487E+06 5.211E+02 8.868E+01 - 8.485E+06 5.353E+02 1.933E+01 - 7.483E+06 5.494E+02 1.528E+02 - 6.481E+06 5.213E+02 3.332E+02 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c25-20a.pnt b/examples/advanced/Tiara/data/expDataOrig/68c25-20a.pnt deleted file mode 100644 index 2da7baaad1..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c25-20a.pnt +++ /dev/null @@ -1,65 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [68c25-20a] - Proton Energy : 68 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 80cm thick - Distance from Li target to the shield surface(0cm thickness) = 483 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =4.77E+09 [sr/micro-Coulomb] - 2.04E+04 [cm^2/micro-Coulomb] at 483 cm - Measured position : 20cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 1.075E+02 1.161E+01 - 6.699E+07 2.578E+02 3.584E+01 - 6.499E+07 4.950E+02 5.163E+01 - 6.299E+07 5.337E+02 5.786E+01 - 6.099E+07 3.761E+02 5.715E+01 - 5.899E+07 1.767E+02 2.683E+01 - 5.699E+07 1.227E+02 1.586E+01 - 5.499E+07 1.511E+02 1.293E+01 - 5.299E+07 1.752E+02 7.720E+00 - 5.099E+07 1.886E+02 6.939E+00 - 4.899E+07 2.004E+02 7.982E+00 - 4.699E+07 2.139E+02 9.695E+00 - 4.499E+07 2.236E+02 9.849E+00 - 4.350E+07 2.260E+02 9.252E+00 - 4.250E+07 2.257E+02 8.648E+00 - 4.150E+07 2.251E+02 8.233E+00 - 4.050E+07 2.246E+02 9.058E+00 - 3.950E+07 2.247E+02 1.055E+01 - 3.850E+07 2.254E+02 1.168E+01 - 3.750E+07 2.266E+02 1.202E+01 - 3.650E+07 2.281E+02 1.145E+01 - 3.550E+07 2.297E+02 1.029E+01 - 3.450E+07 2.308E+02 9.231E+00 - 3.350E+07 2.304E+02 9.033E+00 - 3.250E+07 2.279E+02 9.938E+00 - 3.150E+07 2.229E+02 1.136E+01 - 3.050E+07 2.159E+02 1.159E+01 - 2.950E+07 2.081E+02 9.616E+00 - 2.850E+07 2.007E+02 7.213E+00 - 2.750E+07 1.938E+02 7.256E+00 - 2.650E+07 1.867E+02 1.026E+01 - 2.550E+07 1.787E+02 1.458E+01 - 2.449E+07 1.697E+02 1.716E+01 - 2.349E+07 1.599E+02 1.598E+01 - 2.249E+07 1.500E+02 1.211E+01 - 2.149E+07 1.406E+02 7.582E+00 - 2.049E+07 1.321E+02 3.391E+00 - 1.949E+07 1.239E+02 6.874E+00 - 1.849E+07 1.153E+02 1.162E+01 - 1.749E+07 1.064E+02 1.269E+01 - 1.649E+07 9.818E+01 8.522E+00 - 1.549E+07 9.107E+01 4.777E+00 - 1.449E+07 8.510E+01 6.005E+00 - 1.349E+07 8.112E+01 2.627E+00 - 1.249E+07 7.975E+01 4.568E+00 - 1.149E+07 7.988E+01 6.147E+00 - 1.049E+07 8.000E+01 5.095E+00 - 9.487E+06 7.939E+01 3.646E+00 - 8.485E+06 7.886E+01 2.627E+00 - 7.483E+06 8.070E+01 1.763E+00 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c25-40a.pnt b/examples/advanced/Tiara/data/expDataOrig/68c25-40a.pnt deleted file mode 100644 index f254ad5755..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c25-40a.pnt +++ /dev/null @@ -1,65 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [68c25-40a] - Proton Energy : 68 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 80cm thick - Distance from Li target to the shield surface(0cm thickness) = 483 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =4.77E+09 [sr/micro-Coulomb] - 2.04E+04 [cm^2/micro-Coulomb] at 483 cm - Measured position : 40cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 5.036E+00 6.597E-01 - 6.699E+07 9.936E+00 2.103E+00 - 6.499E+07 2.360E+01 3.078E+00 - 6.299E+07 3.368E+01 3.594E+00 - 6.099E+07 2.137E+01 3.929E+00 - 5.899E+07 1.346E+01 1.802E+00 - 5.699E+07 1.407E+01 1.112E+00 - 5.499E+07 1.517E+01 9.061E-01 - 5.299E+07 1.580E+01 5.613E-01 - 5.099E+07 1.669E+01 5.294E-01 - 4.899E+07 1.857E+01 6.233E-01 - 4.699E+07 2.082E+01 7.906E-01 - 4.499E+07 2.203E+01 8.311E-01 - 4.350E+07 2.221E+01 7.548E-01 - 4.250E+07 2.226E+01 6.694E-01 - 4.150E+07 2.244E+01 6.097E-01 - 4.050E+07 2.285E+01 6.978E-01 - 3.950E+07 2.349E+01 8.529E-01 - 3.850E+07 2.432E+01 9.626E-01 - 3.750E+07 2.531E+01 9.946E-01 - 3.650E+07 2.638E+01 9.480E-01 - 3.550E+07 2.743E+01 8.611E-01 - 3.450E+07 2.829E+01 8.054E-01 - 3.350E+07 2.875E+01 8.581E-01 - 3.250E+07 2.868E+01 1.048E+00 - 3.150E+07 2.810E+01 1.251E+00 - 3.050E+07 2.720E+01 1.241E+00 - 2.950E+07 2.632E+01 9.555E-01 - 2.850E+07 2.567E+01 6.602E-01 - 2.750E+07 2.533E+01 6.997E-01 - 2.650E+07 2.519E+01 1.192E+00 - 2.550E+07 2.507E+01 1.900E+00 - 2.449E+07 2.478E+01 2.302E+00 - 2.349E+07 2.418E+01 2.154E+00 - 2.249E+07 2.323E+01 1.616E+00 - 2.149E+07 2.195E+01 9.498E-01 - 2.049E+07 2.040E+01 3.315E-01 - 1.949E+07 1.877E+01 7.951E-01 - 1.849E+07 1.743E+01 1.465E+00 - 1.749E+07 1.660E+01 1.602E+00 - 1.649E+07 1.619E+01 9.539E-01 - 1.549E+07 1.590E+01 4.526E-01 - 1.449E+07 1.545E+01 7.515E-01 - 1.349E+07 1.485E+01 2.838E-01 - 1.249E+07 1.439E+01 5.722E-01 - 1.149E+07 1.438E+01 8.423E-01 - 1.049E+07 1.462E+01 6.867E-01 - 9.487E+06 1.468E+01 4.628E-01 - 8.485E+06 1.481E+01 3.424E-01 - 7.483E+06 1.542E+01 1.937E-01 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c50-00a.pnt b/examples/advanced/Tiara/data/expDataOrig/68c50-00a.pnt deleted file mode 100644 index f3dd5ccef2..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c50-00a.pnt +++ /dev/null @@ -1,66 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1992/12 [68c50-00a] - Proton Energy : 68 MeV - Shielding Material : 50.0cm thick Concrete - Iron collimator (10.9cm diam.) : 80cm thick - Distance from Li target to the shield surface(0cm thickness) = 483 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =4.77E+09 [sr/micro-Coulomb] - 2.04E+04 [cm^2/micro-Coulomb] at 483 cm - Measured position : beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 3.117E+03 7.820E+01 - 6.699E+07 6.407E+03 1.225E+02 - 6.499E+07 9.058E+03 9.158E+01 - 6.299E+07 9.240E+03 7.787E+01 - 6.099E+07 6.949E+03 1.328E+02 - 5.899E+07 3.924E+03 1.132E+02 - 5.699E+07 1.790E+03 4.630E+01 - 5.499E+07 9.298E+02 4.262E+01 - 5.299E+07 8.462E+02 5.280E+01 - 5.099E+07 9.845E+02 4.554E+01 - 4.899E+07 1.073E+03 3.703E+01 - 4.699E+07 1.053E+03 3.152E+01 - 4.499E+07 9.530E+02 2.784E+01 - 4.350E+07 8.570E+02 2.708E+01 - 4.250E+07 7.926E+02 2.732E+01 - 4.150E+07 7.340E+02 2.847E+01 - 4.050E+07 6.823E+02 3.080E+01 - 3.950E+07 6.375E+02 3.397E+01 - 3.850E+07 5.984E+02 3.685E+01 - 3.750E+07 5.634E+02 3.900E+01 - 3.650E+07 5.307E+02 4.038E+01 - 3.550E+07 4.997E+02 4.114E+01 - 3.450E+07 4.710E+02 4.123E+01 - 3.350E+07 4.461E+02 4.109E+01 - 3.250E+07 4.273E+02 4.043E+01 - 3.150E+07 4.162E+02 3.993E+01 - 3.050E+07 4.123E+02 3.979E+01 - 2.950E+07 4.130E+02 4.054E+01 - 2.850E+07 4.140E+02 4.237E+01 - 2.750E+07 4.105E+02 4.513E+01 - 2.650E+07 3.989E+02 4.774E+01 - 2.550E+07 3.777E+02 4.884E+01 - 2.449E+07 3.478E+02 4.691E+01 - 2.349E+07 3.110E+02 4.110E+01 - 2.249E+07 2.698E+02 3.160E+01 - 2.149E+07 2.266E+02 2.034E+01 - 2.049E+07 1.846E+02 1.077E+01 - 1.949E+07 1.466E+02 1.411E+01 - 1.849E+07 1.160E+02 1.909E+01 - 1.749E+07 9.447E+01 1.954E+01 - 1.649E+07 8.218E+01 1.672E+01 - 1.549E+07 7.687E+01 1.317E+01 - 1.449E+07 7.567E+01 1.111E+01 - 1.349E+07 7.639E+01 1.157E+01 - 1.249E+07 7.824E+01 1.403E+01 - 1.149E+07 8.126E+01 1.614E+01 - 1.049E+07 8.545E+01 1.564E+01 - 9.487E+06 9.058E+01 1.012E+01 - 8.485E+06 9.563E+01 6.890E+00 - 7.483E+06 9.737E+01 2.881E+01 - 6.481E+06 9.009E+01 4.976E+01 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c50-20a.pnt b/examples/advanced/Tiara/data/expDataOrig/68c50-20a.pnt deleted file mode 100644 index fe69a9e9a7..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c50-20a.pnt +++ /dev/null @@ -1,65 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [68c50-20a] - Proton Energy : 68 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 80cm thick - Distance from Li target to the shield surface(0cm thickness) = 483 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =4.77E+09 [sr/micro-Coulomb] - 2.04E+04 [cm^2/micro-Coulomb] at 483 cm - Measured position : 20cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 1.766E+02 8.249E+00 - 6.699E+07 4.777E+02 4.283E+01 - 6.499E+07 7.983E+02 4.415E+01 - 6.299E+07 7.486E+02 3.923E+01 - 6.099E+07 4.569E+02 5.239E+01 - 5.899E+07 2.162E+02 3.237E+01 - 5.699E+07 1.275E+02 1.073E+01 - 5.499E+07 1.322E+02 1.482E+01 - 5.299E+07 1.528E+02 9.732E+00 - 5.099E+07 1.667E+02 7.347E+00 - 4.899E+07 1.735E+02 7.634E+00 - 4.699E+07 1.754E+02 8.007E+00 - 4.499E+07 1.733E+02 7.531E+00 - 4.350E+07 1.696E+02 7.158E+00 - 4.250E+07 1.663E+02 7.187E+00 - 4.150E+07 1.628E+02 7.550E+00 - 4.050E+07 1.593E+02 8.346E+00 - 3.950E+07 1.557E+02 9.339E+00 - 3.850E+07 1.520E+02 1.004E+01 - 3.750E+07 1.482E+02 1.023E+01 - 3.650E+07 1.441E+02 9.894E+00 - 3.550E+07 1.394E+02 9.205E+00 - 3.450E+07 1.340E+02 8.436E+00 - 3.350E+07 1.278E+02 7.854E+00 - 3.250E+07 1.209E+02 7.538E+00 - 3.150E+07 1.137E+02 7.309E+00 - 3.050E+07 1.068E+02 6.900E+00 - 2.950E+07 1.008E+02 6.270E+00 - 2.850E+07 9.587E+01 5.795E+00 - 2.750E+07 9.165E+01 5.831E+00 - 2.650E+07 8.759E+01 6.360E+00 - 2.550E+07 8.326E+01 7.030E+00 - 2.449E+07 7.859E+01 7.340E+00 - 2.349E+07 7.373E+01 6.861E+00 - 2.249E+07 6.890E+01 5.547E+00 - 2.149E+07 6.428E+01 3.752E+00 - 2.049E+07 6.002E+01 2.077E+00 - 1.949E+07 5.612E+01 3.820E+00 - 1.849E+07 5.240E+01 5.359E+00 - 1.749E+07 4.851E+01 5.584E+00 - 1.649E+07 4.439E+01 4.400E+00 - 1.549E+07 4.049E+01 2.493E+00 - 1.449E+07 3.753E+01 1.935E+00 - 1.349E+07 3.571E+01 1.055E+00 - 1.249E+07 3.449E+01 2.030E+00 - 1.149E+07 3.340E+01 2.567E+00 - 1.049E+07 3.267E+01 2.516E+00 - 9.487E+06 3.281E+01 2.056E+00 - 8.485E+06 3.377E+01 1.171E+00 - 7.483E+06 3.222E+01 1.671E+00 diff --git a/examples/advanced/Tiara/data/expDataOrig/68c50-40a.pnt b/examples/advanced/Tiara/data/expDataOrig/68c50-40a.pnt deleted file mode 100644 index 9cf5e58983..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/68c50-40a.pnt +++ /dev/null @@ -1,65 +0,0 @@ -Experimental neutron spectra measured by BC501A at TIARA1995/2 [68c50-40a] - Proton Energy : 68 MeV - Shielding Material : 25.0cm thick Concrete - Iron collimator (10.9cm diam.) : 80cm thick - Distance from Li target to the shield surface(0cm thickness) = 483 cm - Number of monoenergetic peak neutrons of p-7Li neutron source - (case-b) =4.77E+09 [sr/micro-Coulomb] - 2.04E+04 [cm^2/micro-Coulomb] at 483 cm - Measured position : 40cm from beam line - Reference :Nucl. Sci. Eng. 124(1996)p228 , JAERI-Data/Code97-020(1997) - -Graph - Neutron Energy [eV] - Neutron Flux [n/cm^2/micro-Coulomb/lethargy] - Absolute Error [n/cm^2/micro-Coulomb/lethargy] - 6.899E+07 8.311E+00 7.593E-01 - 6.699E+07 2.991E+01 3.887E+00 - 6.499E+07 5.900E+01 4.051E+00 - 6.299E+07 6.739E+01 3.832E+00 - 6.099E+07 5.139E+01 5.569E+00 - 5.899E+07 3.004E+01 3.502E+00 - 5.699E+07 2.068E+01 1.169E+00 - 5.499E+07 2.097E+01 1.642E+00 - 5.299E+07 2.280E+01 1.094E+00 - 5.099E+07 2.404E+01 8.512E-01 - 4.899E+07 2.485E+01 9.248E-01 - 4.699E+07 2.544E+01 1.010E+00 - 4.499E+07 2.583E+01 9.558E-01 - 4.350E+07 2.610E+01 8.742E-01 - 4.250E+07 2.634E+01 8.460E-01 - 4.150E+07 2.667E+01 8.726E-01 - 4.050E+07 2.708E+01 9.835E-01 - 3.950E+07 2.752E+01 1.141E+00 - 3.850E+07 2.789E+01 1.255E+00 - 3.750E+07 2.810E+01 1.301E+00 - 3.650E+07 2.807E+01 1.284E+00 - 3.550E+07 2.775E+01 1.227E+00 - 3.450E+07 2.716E+01 1.170E+00 - 3.350E+07 2.636E+01 1.142E+00 - 3.250E+07 2.545E+01 1.141E+00 - 3.150E+07 2.448E+01 1.127E+00 - 3.050E+07 2.349E+01 1.062E+00 - 2.950E+07 2.247E+01 9.674E-01 - 2.850E+07 2.142E+01 9.311E-01 - 2.750E+07 2.038E+01 1.021E+00 - 2.650E+07 1.938E+01 1.229E+00 - 2.550E+07 1.842E+01 1.457E+00 - 2.449E+07 1.747E+01 1.567E+00 - 2.349E+07 1.649E+01 1.472E+00 - 2.249E+07 1.550E+01 1.170E+00 - 2.149E+07 1.452E+01 7.356E-01 - 2.049E+07 1.359E+01 3.107E-01 - 1.949E+07 1.270E+01 6.628E-01 - 1.849E+07 1.185E+01 9.814E-01 - 1.749E+07 1.104E+01 9.911E-01 - 1.649E+07 1.031E+01 6.990E-01 - 1.549E+07 9.646E+00 3.228E-01 - 1.449E+07 9.051E+00 2.986E-01 - 1.349E+07 8.566E+00 1.575E-01 - 1.249E+07 8.261E+00 3.903E-01 - 1.149E+07 8.132E+00 5.315E-01 - 1.049E+07 8.111E+00 5.157E-01 - 9.487E+06 8.217E+00 4.181E-01 - 8.485E+06 8.547E+00 2.284E-01 - 7.483E+06 8.878E+00 4.239E-01 diff --git a/examples/advanced/Tiara/data/expDataOrig/source-for-shield-exp-43.pnt b/examples/advanced/Tiara/data/expDataOrig/source-for-shield-exp-43.pnt deleted file mode 100644 index 507f1e8e3b..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/source-for-shield-exp-43.pnt +++ /dev/null @@ -1,55 +0,0 @@ -Energy spectrum of 43-MeV p-7Li source neutrons for shielding experiment. -The flux at monoenergetic peak (36.3-45.5 MeV) is normalized to unity. -(Ratio of the peak flux to the total flux above 6.5 MeV is 1:2.17.) -All values should be multiplied by -the corresponding value of "Peak Flux of Source Neutron" in -the table of "Numerical Data for Experimental Geometry and Source Neutrons" ---------------------------------- -Upper Neutron Error -Energy Flux -[MeV] [n/MeV] [n/MeV] ---------------------------------- -0 4.41E-02 1.51E-03 -6.5 4.41E-02 1.51E-03 -7.5 4.42E-02 1.52E-03 -8.5 4.48E-02 1.54E-03 -9.5 4.50E-02 1.54E-03 -10.5 4.39E-02 1.51E-03 -11.5 4.50E-02 1.51E-03 -12.5 4.63E-02 1.57E-03 -13.5 4.93E-02 1.65E-03 -14.5 4.90E-02 1.65E-03 -15.5 4.89E-02 1.62E-03 -16.5 4.75E-02 1.57E-03 -17.5 4.98E-02 1.63E-03 -18.5 4.61E-02 1.51E-03 -19.5 4.71E-02 1.56E-03 -20.5 4.75E-02 2.05E-03 -21.5 4.69E-02 2.02E-03 -22.5 4.65E-02 2.01E-03 -23.5 4.49E-02 1.91E-03 -24.5 4.36E-02 1.88E-03 -25.5 4.10E-02 1.77E-03 -26.5 3.96E-02 1.70E-03 -27.5 3.47E-02 1.50E-03 -28.5 3.49E-02 1.51E-03 -29.5 3.08E-02 1.34E-03 -30.5 2.64E-02 1.16E-03 -31.5 2.10E-02 9.43E-04 -32.5 1.88E-02 1.19E-03 -33.5 1.49E-02 9.60E-04 -34.5 1.29E-02 8.40E-04 -35.5 1.08E-02 7.11E-04 -36.5 7.23E-03 4.91E-04 -37.5 1.34E-02 8.53E-04 -38.5 1.38E-01 8.31E-03 -39.5 3.63E-01 2.18E-02 -40.5 3.68E-01 2.21E-02 -41.5 1.14E-01 6.86E-03 -42.5 5.06E-03 3.54E-04 -43.5 6.36E-04 7.29E-05 -44.5 1.63E-04 3.31E-05 -45.5 ---------------------------------- - - diff --git a/examples/advanced/Tiara/data/expDataOrig/source-for-shield-exp-68.pnt b/examples/advanced/Tiara/data/expDataOrig/source-for-shield-exp-68.pnt deleted file mode 100644 index fc30db4f89..0000000000 --- a/examples/advanced/Tiara/data/expDataOrig/source-for-shield-exp-68.pnt +++ /dev/null @@ -1,81 +0,0 @@ -Energy spectrum of 68-MeV p-7Li source neutrons for shielding experiment. -The flux at monoenergetic peak (60.8-72.5 MeV) is normalized to unity. -The absolute peak flux for each experiment can be obtained from Table 1. -(Ratio of the peak flux to the total flux above 6.5 MeV is 1:2.61.) -All values should be multiplied by -the corresponding value of "Peak Flux of Source Neutron" in -the table of "Numerical Data for Experimental Geometry and Source Neutrons" ---------------------------------- -Upper Neutron Error -Energy Flux -[MeV] [n/MeV] [n/MeV] ---------------------------------- -0 2.37E-02 8.50E-04 -6.5 2.37E-02 8.50E-04 -7.5 2.40E-02 8.55E-04 -8.5 2.44E-02 8.67E-04 -9.5 2.51E-02 8.86E-04 -10.5 2.57E-02 9.07E-04 -11.5 2.53E-02 8.98E-04 -12.5 2.59E-02 9.21E-04 -13.5 2.68E-02 9.46E-04 -14.5 2.71E-02 9.60E-04 -15.5 2.79E-02 9.83E-04 -16.5 2.80E-02 9.89E-04 -17.5 2.86E-02 1.01E-03 -18.5 2.95E-02 1.04E-03 -19.5 3.10E-02 1.09E-03 -20.5 3.15E-02 1.10E-03 -21.5 3.33E-02 1.45E-03 -22.5 3.38E-02 1.46E-03 -23.5 3.53E-02 1.52E-03 -24.5 3.62E-02 1.56E-03 -25.5 3.67E-02 1.57E-03 -26.5 3.84E-02 1.64E-03 -27.5 3.81E-02 1.62E-03 -28.5 3.93E-02 1.67E-03 -29.5 3.85E-02 1.64E-03 -30.5 3.88E-02 1.65E-03 -31.5 3.86E-02 1.64E-03 -32.5 3.88E-02 2.39E-03 -33.5 3.76E-02 2.33E-03 -34.5 3.70E-02 2.28E-03 -35.5 3.72E-02 2.30E-03 -36.5 3.66E-02 2.26E-03 -37.5 3.62E-02 2.23E-03 -38.5 3.40E-02 2.10E-03 -39.5 3.35E-02 2.07E-03 -40.5 3.32E-02 2.05E-03 -41.5 3.34E-02 2.07E-03 -42.5 3.14E-02 1.94E-03 -43.5 3.21E-02 1.98E-03 -44.5 3.10E-02 1.92E-03 -45.5 3.10E-02 1.92E-03 -46.5 3.16E-02 1.95E-03 -47.5 3.09E-02 1.90E-03 -48.5 3.00E-02 1.85E-03 -49.5 2.86E-02 1.77E-03 -50.5 2.80E-02 1.73E-03 -51.5 2.66E-02 1.64E-03 -52.5 2.51E-02 1.56E-03 -53.5 2.39E-02 1.48E-03 -54.5 2.18E-02 1.36E-03 -55.5 1.96E-02 1.22E-03 -56.5 1.60E-02 1.01E-03 -57.5 1.28E-02 8.38E-04 -58.5 1.09E-02 7.42E-04 -59.5 9.01E-03 6.27E-04 -60.5 7.43E-03 5.27E-04 -61.5 8.10E-03 5.62E-04 -62.5 4.70E-02 2.90E-03 -63.5 2.10E-01 1.27E-02 -64.5 3.61E-01 2.18E-02 -65.5 2.77E-01 1.67E-02 -66.5 8.20E-02 4.99E-03 -67.5 8.90E-03 6.05E-04 -68.5 1.07E-03 1.12E-04 -69.5 4.01E-04 6.17E-05 -70.5 4.97E-04 6.87E-05 -71.5 1.32E-04 3.24E-05 -72.5 ---------------------------------- diff --git a/examples/advanced/Tiara/envCommon.csh b/examples/advanced/Tiara/envCommon.csh deleted file mode 100644 index 43fbc6da96..0000000000 --- a/examples/advanced/Tiara/envCommon.csh +++ /dev/null @@ -1,101 +0,0 @@ -# $Id: envCommon.csh,v 1.13 2005/03/17 19:48:27 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# Before sourcing this script make sure you have set the -# environment variables according to the description in README. -# ------------------------------------------------------------------- - -# setup in case PI is used -------------------------------------- - -if (${?PI_BASE_DIR} == 1 && ${?SWIG_BASE_DIR} == 1) then - - setenv PI_VERSION 1_3_0 - setenv PI_VER 1.3.0 - setenv PI_ARCH slc3_ia32_gcc323 - setenv PYTHONVERSION 2.3 - setenv PI_DIR ${PI_BASE_DIR}/${PI_VER}/app/releases/PI/PI_${PI_VERSION}/${PI_ARCH} - setenv PATH ${PATH}:${PI_DIR}/bin - setenv PATH ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PI_ARCH}/bin:$PATH - eval `aida-config -r csh` - # - # python from PI - # - setenv PYTHON_INCLUDE_DIR ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PI_ARCH}/include/python${PYTHONVERSION} - setenv PYTHON_LIB_DIR ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PI_ARCH}/lib/python${PYTHONVERSION}/config - # - # python for PI -if (${?PYTHONPATH} == 0) then - setenv PYTHONPATH -endif - setenv PYTHONPATH ${PI_DIR}/python:$PYTHONPATH - setenv PYTHONPATH ${PI_BASE_DIR}/${PI_VER}/app/releases/SEAL/SEAL_1_6_0/${PI_ARCH}/python:$PYTHONPATH - # - # setup the swig command - # - setenv SWIG_VERSION 1.3.15 - setenv SWIG_INCDIRS "-I${SWIG_BASE_DIR}/lib/swig-${SWIG_VERSION} -I${SWIG_BASE_DIR}/lib/swig-${SWIG_VERSION}/python" - setenv SWIG ${SWIG_BASE_DIR}/bin/swig-${SWIG_VERSION} - -else # not using PI - - echo "-- WARNING: histograms are not activated !" - echo " Either PI_BASE_DIR or SWIG_BASE_DIR are not set." - # - if ( ${?PYTHONVERSION} == 1 && \ - ${?PYTHON_BASE_DIR} == 1 && \ - ${?SWIG_BASE_DIR} == 1 && \ - ${?SWIG_VERSION} == 1 && \ - ${?CLHEP_BASE_DIR} == 1) then # settings without PI - setenv PYTHON_LIB_DIR ${PYTHON_BASE_DIR}/lib/python${PYTHONVERSION}/config - setenv PYTHON_INCLUDE_DIR ${PYTHON_BASE_DIR}/include/python${PYTHONVERSION} - # - if ( ! -d $PYTHON_LIB_DIR ) then - echo -- ERROR: no pyhton lib/config directory: $PYTHON_LIB_DIR - endif - if ( ! -d $PYTHON_INCLUDE_DIR ) then - echo -- ERROR: no pyhton include directory: $PYTHON_INCLUDE_DIR - endif - # - setenv SWIG_INCDIRS "-I${SWIG_BASE_DIR}/lib/swig-${SWIG_VERSION} -I${SWIG_BASE_DIR}/lib/swig-${SWIG_VERSION}/python" - if ( -x ${SWIG_BASE_DIR}/bin/swig-${SWIG_VERSION} ) then - setenv SWIG ${SWIG_BASE_DIR}/bin/swig-${SWIG_VERSION} - else if ( -x ${SWIG_BASE_DIR}/bin/swig ) then - setenv SWIG ${SWIG_BASE_DIR}/bin/swig - else - echo -- ERROR: could not find swig executable ! - endif - else # environment not completed in case no PI is used - echo "-- ERROR: PYTHONVERSION or PYTHON_BASE_DIR or SWIG_BASE_DIR or SWIG_VERSION or CLHEP_BASE_DIR not set!" - exit - endif - -endif # end settings for not using PI - -# -# common settings -# - -if (${?LD_LIBRARY_PATH} == 0) then - setenv LD_LIBRARY_PATH -endif -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/TiaraWrapper -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/G4KernelWrapper -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/CLHEPWrapper -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/tiara -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/lib/${G4SYSTEM} -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PYTHON_LIB_DIR} -#setenv LD_LIBRARY_PATH ${PI_BASE_DIR}/${PI_VER}/app/releases/SEAL/SEAL_1_3_4/rh73_gcc32/lib:$LD_LIBRARY_PATH -setenv LD_LIBRARY_PATH ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PI_ARCH}/lib:${LD_LIBRARY_PATH} -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PI_BASE_DIR}/${PI_VER}/external/Boost/1.31.0/${PI_ARCH}/lib -setenv TIARA_BASE `pwd` -setenv TIARASCRIPTS ${TIARA_BASE}/source/py_modules -if (${?PYTHONPATH} == 0) then - setenv PYTHONPATH -endif -setenv PYTHONPATH ${PYTHONPATH}:${LD_LIBRARY_PATH} -setenv PYTHONPATH ${PYTHONPATH}:${TIARA_BASE}/run:${TIARASCRIPTS} -setenv PYTHONPATH ${PYTHONPATH}:${TIARA_BASE}/source/TiaraWrapper -setenv PYTHONPATH ${PYTHONPATH}:${TIARA_BASE}/source/G4KernelWrapper -setenv PYTHONPATH ${PYTHONPATH}:${TIARA_BASE}/source/CLHEPWrapper -# diff --git a/examples/advanced/Tiara/envCommon.sh b/examples/advanced/Tiara/envCommon.sh deleted file mode 100644 index e85b8b9eb0..0000000000 --- a/examples/advanced/Tiara/envCommon.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -echo have to set PI_DIR and PYTHON_LIB_DIR and SWIG_BASE_DIR -if [ -n $SWIG_BASE_DIR ]; then - echo SWIG_BASE_DIR default is /usr/local - export SWIG_BASE_DIR=/usr/local -else - echo SWIG_BASE_DIR is $SWIG_BASE_DIR -fi -if [ -n $PYTHON_INCLUDE_DIR ]; then - export PYTHON_INCLUDE_DIR=/usr/include/python2.3 - echo PYTHON_INCLUDE_DIR default is $PYTHON_INCLUDE_DIR -else - echo PYTHON_INCLUDE_DIR is $PYTHON_INCLUDE_DIR -fi -if [ -n $PYTHON_LIB_DIR ]; then - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PYTHON_LIB_DIR} -else - echo Please set PYTHON_LIB_DIR -fi -export PYTHONVERSION=2.3 -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/TiaraWrapper:${G4WORKDIR}/tmp/${G4SYSTEM}/G4KernelWrapper:${G4WORKDIR}/tmp/${G4SYSTEM}/CLHEPWrapper -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/tiara -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${G4WORKDIR}/lib/${G4SYSTEM} -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PYTHON_LIB_DIR} -export TIARA_BASE=`pwd` -export TIARASCRIPTS=${TIARA_BASE}/source/py_modules -export PYTHONPATH=${PYTHONPATH}:${LD_LIBRARY_PATH} -export PYTHONPATH=${PYTHONPATH}:${TIARA_BASE}/run:${TIARASCRIPTS} -export PYTHONPATH=${PYTHONPATH}:${TIARA_BASE}/source/TiaraWrapper -export PYTHONPATH=${PYTHONPATH}:${TIARA_BASE}/source/G4KernelWrapper -export PYTHONPATH=${PYTHONPATH}:${TIARA_BASE}/source/CLHEPWrapper -if [ -n $SWIG_VERSION ]; then - export SWIG_VERSION=1.3.15 - echo setting SWIG_VERSION to default $SWIG_VERSION -else - echo SWIG_VERSION is $SWIG_VERSION -fi -export SWIG_INCDIRS="-I${SWIG_BASE_DIR}/lib/swig_lib -I${SWIG_BASE_DIR}/lib/swig_lib/python" -if [ -n $SWIG ]; then - export SWIG=${SWIG_BASE_DIR}/bin/swig - echo setting SWIG executable to $SWIG -else - echo SWIG executable is $SWIG -fi -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/CLHEPWrapper -export PYTHONPATH=${PYTHONPATH}:${TIARA_BASE}/source/CLHEPWrapper -echo if python2.3 is not picked up then execute following command -echo "'cp $PI_DIR/lib/libpython2.3.so $G4LIB/$G4SYSTEM/.'" -echo finished envCommon.sh diff --git a/examples/advanced/Tiara/run/runSim.py b/examples/advanced/Tiara/run/runSim.py deleted file mode 100755 index 0b93305151..0000000000 --- a/examples/advanced/Tiara/run/runSim.py +++ /dev/null @@ -1,213 +0,0 @@ -#!/usr/bin/env python -# -# $Id: runSim.py,v 1.12 2005/12/15 16:23:11 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - -# importing python libraries -import os - -# importing wrapper modules (see the source/*Wrapper directories) -# created by swig (from the source/*Wrapper/*.i files). -import CLHEP -import G4Kernel -import Tiara - -# importing python modules specific to this example -# (see source/py_modules) -import tiaraApplication -import tiaraGenerators -import tiaraDetectors -import tiaraSpecifications -import myUtils -import variableGeometry -import slabGeometry -import runSequence - -########################################################################## -# random number initialization -########################################################################## -Tiara.setRandomSeed(891011); -#Tiara.setRandomStatus("dTest/tiara-2003_5_27_20_5_39_pcgeant2/randomNumberFile_run00003"); - - - - - -########################################################################## -# experiment and simulation specific data -########################################################################## -# create a list of particles and give a lower energy cut -particleCut = {"neutron" : 3 * CLHEP.MeV, - "gamma" : 1 * CLHEP.MeV, - "proton" : 1 * CLHEP.MeV, - "deuteron": 1 * CLHEP.MeV, - "triton" : 1 * CLHEP.MeV, - "alpha" : 1 * CLHEP.MeV} - -# specify if the source neutrons shoul be form the 43 or 68 MeV protons -beamEnergy = 68 * CLHEP.MeV -# specify the shieldwidth [25, 50, 100, 150, (200 for 68 MeV case only)] -shieldWidth = 100 * CLHEP.cm - -# set the total running time and the time for one run -# followed by a printout -# if the total running time, giving 0 will start a visualization -# and timeForOneRun has no meaning -totalTime = 5 * myUtils.min -timeForOneRun = 2 * myUtils.min -# if running the visualization mode by setting totalTime = 0, -# a Geant4 session will be started. Start the visualization -# by e.g.: -# Idle> control/execute vis.mac -# Idle> /run/beamOn 10 - - -# available physics lists: LHEP_LEAD, LHEP_PRECO_HP -# LHEP_BIC LHEP_BIC_HP LHEP_PRECO LHEP -#3physList = Tiara.LHEP() -##physList = Tiara.LHEP_PRECO() -##physList = Tiara.LHEP_PRECO_HP() -physList = Tiara.LHEP_LEAD() - - -# specify the detectors -scoreDetectorCreator = tiaraDetectors.ThreeZylindricDetectors() -#scoreDetectorCreator = tiaraDetectors.DetectorSlab() - - -comment = "" - - - - -########################################################################## -# Create a Specification object of the configuaration data -########################################################################## - -# this should be fine for most settings -experiment = tiaraSpecifications.Experiment(beamEnergy, - particleCut["neutron"], - particleCut, - shieldWidth, - "concrete") - -tiaraSpecs = tiaraSpecifications.Specifications(Tiara.TiaraDimensions(), - experiment, - Tiara.TiaraMaterials()) - - - - -########################################################################## -# definition of the importance geometry importance values and a scorer -########################################################################## -# create a parallel geometry. -impGeo = variableGeometry.VariableImpSlabGeometry(tiaraSpecs) - - -# introduce "importance cells" into the shielding region -# In this case the width of all the shields in the shielding region -# are equal and the importance staring from one doubles -# from cell to cell in the beam direction. -impGeo.addCellImportance(width=20.0 * CLHEP.cm, faktor=1) -for i in range(4): - # to run unbiased set: faktor=1 in the next line - impGeo.addCellImportance(width=20.0 * CLHEP.cm, faktor=2) - -impGeo.construct() - -# Make sure the widths given in the above way add up to the -# shield widths e.g. 25, 50, ... cm. -# The importance geometries take care to give the importance value 1 -# to the volume before the shield and to assign the same importance -# as the last cell in the shield region to the volume behind the shield. - -# an alternative -#impGeo = slabGeometry.SlabedImportanceGeometry(tiaraSpecs, -# 10.0 * CLHEP.cm, -# 1.5) - - -impScorer = G4Kernel.G4Scorer() - - - -########################################################################## -# Creation of a TiaraApplet to define the run mode, physics list, -# detector type and the primary generator -########################################################################## - -# this and the remaining part should be fine for most settings -tApp = tiaraApplication.TiaraApplet(tiaraSpecs, - Tiara.TiaraSim_GetTiaraSim()) - -if totalTime == 0: - tApp.visMode() -else: - tApp.timedMode(timeForOneRun) - - -tApp.specifyPhysicsList(physList, particleCut) - -# detectors -tApp.setScoreDetectorCreator(scoreDetectorCreator) -tApp.buildGeometry() -tiara_dir = os.environ["TIARA_BASE"] - -tApp.setPhysics() - -primGenBuilder = tiaraGenerators.\ - TiaraDPSEnergyGenerator(tiaraSpecs, - tiara_dir + - "/data/expDataConverted/dpsSource.xml") -#primGenBuilder = tiaraGenerators.TiaraPrimaryGenerator(tiaraSpecs) -#primGenBuilder = tiaraGenerators.FixedEnergyPrimaryGenerator(tiaraSpecs) - -tApp.setPrimaryGenerator(primGenBuilder.primGen) - -tApp.noComponents = 0 -tApp.config() - -## The following lines should be probably moved here after release Geant4-7.0 -##physList = Tiara.LHEP() -##physList = Tiara.LHEP_PRECO() -##physList = Tiara.LHEP_PRECO_HP() -##physList = Tiara.LHEP_LEAD() -##tApp.specifyPhysicsList(physList, particleCut) -##tApp.setPrimaryGenerator(primGenBuilder.primGen) - - - -########################################################################## -# creating of the sampler -########################################################################## -parallelSampler = myUtils.createParallelSampler(impGeo, - impScorer) - - - -########################################################################## -# create a run config object, a run sequence and run the simulation -########################################################################## -if totalTime > 0: - rc = runSequence.RunConfig() - - rc.basePath = "simData" - rc.tApp = tApp - rc.tiaraSpecs = tiaraSpecs - rc.impGeo = impGeo - rc.impScorer = impScorer - rc.totalTime = totalTime - rc.comment = comment - - rs = runSequence.RunSequence(rc) - rs.runNevents(100) - rs.runLoop() -else: - tApp.tiaraSim.startSession() - - -########################################################################## -########################################################################## diff --git a/examples/advanced/Tiara/run/runSimNoAnalysis.py b/examples/advanced/Tiara/run/runSimNoAnalysis.py deleted file mode 100755 index 288542818e..0000000000 --- a/examples/advanced/Tiara/run/runSimNoAnalysis.py +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/env python -# -# $Id: runSimNoAnalysis.py,v 1.7 2005/12/15 16:23:06 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - - -import CLHEP -import G4Kernel -import Tiara -import tiaraApplication -import tiaraGenerators -import tiaraDetectors -import tiaraSpecifications -import myUtils -import variableGeometry -import slabGeometry -import runSequence -import os - -########################################################################## -# random number initialization -########################################################################## -Tiara.setRandomSeed(891011); -#Tiara.setRandomStatus("dTest/tiara-2003_5_27_20_5_39_pcgeant2/randomNumberFile_run00003"); - - - - - - - - - - -########################################################################## -# experiment and simulation specific data -########################################################################## -particleCut = {"neutron" : 3 * CLHEP.MeV, - "gamma" : 1 * CLHEP.MeV, - "proton" : 1 * CLHEP.MeV, - "deuteron": 1 * CLHEP.MeV, - "triton" : 1 * CLHEP.MeV, - "alpha" : 1 * CLHEP.MeV} - -beamEnergy = 43 -shieldWidth = 150 * CLHEP.cm - -totalTime = 3 * myUtils.min -timeForOneRun = 1 * myUtils.min - -# available physics lists: LHEP_LEAD, LHEP_PRECO_HP -# LHEP_PRECO, LHEP -##physList = Tiara.LHEP() -##physList = Tiara.LHEP_PRECO() -physList = Tiara.LHEP_LEAD() -##physList = Tiara.LHEP_PRECO_HP() - -# specify the detectors -scoreDetectorCreator = tiaraDetectors.ThreeZylindricDetectors() -#scoreDetectorCreator = tiaraDetectors.DetectorSlab() - - -comment = "" - - - -########################################################################## -# Create a Specification object of the configuaration data -########################################################################## -experiment = tiaraSpecifications.Experiment(beamEnergy, - particleCut["neutron"], - particleCut, - shieldWidth, - "concrete") - -tiaraSpecs = tiaraSpecifications.Specifications(Tiara.TiaraDimensions(), - experiment, - Tiara.TiaraMaterials()) - - - -########################################################################## -# definition of the importance geometry and a scorer -########################################################################## -impGeo = variableGeometry.VariableImpSlabGeometry(tiaraSpecs) - -impGeo.addCellImportance(width=15.0 * CLHEP.cm, faktor=1) -for i in range(9): - impGeo.addCellImportance(width=15.0 * CLHEP.cm, faktor=2) - -impGeo.construct() - -# an alternative -#impGeo = slabGeometry.SlabedImportanceGeometry(tiaraSpecs, -# 10.0 * CLHEP.cm, -# 1.5) - - -impScorer = G4Kernel.G4Scorer() - - - -########################################################################## -# Creation of a TiaraApplet to define the run mode, physics list, -# detector type and the primary generator -########################################################################## -tApp = tiaraApplication.TiaraApplet(tiaraSpecs = tiaraSpecs, - tSim = Tiara.TiaraSim_GetTiaraSim(), - usePI = False) - - -#tApp.visMode() -tApp.timedMode(timeForOneRun) - - -tApp.specifyPhysicsList(physList, particleCut) - -# detectors -tApp.setScoreDetectorCreator(scoreDetectorCreator) - -tApp.buildGeometry() - -tiara_dir = os.environ["TIARA_BASE"] - -tApp.setPhysics() - -#primGenBuilder = tiaraGenerators.\ -# TiaraDPSEnergyGenerator(tiaraSpecs, -# tiara_dir + -# "/data/expDataConverted/dpsSource.xml") -#primGenBuilder = tiaraGenerators.TiaraPrimaryGenerator(tiaraSpecs) - -primGenBuilder = tiaraGenerators.FixedEnergyPrimaryGenerator(tiaraSpecs) - -tApp.setPrimaryGenerator(primGenBuilder.primGen) - - -tApp.noComponents = 0 - -## The following lines should be probably moved here after release Geant4-7.0 -##physList = Tiara.LHEP() -##physList = Tiara.LHEP_PRECO() -##physList = Tiara.LHEP_PRECO_HP() -##physList = Tiara.LHEP_LEAD() -##tApp.specifyPhysicsList(physList, particleCut) -##tApp.setPrimaryGenerator(primGenBuilder.primGen) - -tApp.config() - - - - -########################################################################## -# creating of the sampler -########################################################################## -parallelSampler = myUtils.createParallelSampler(impGeo, - impScorer) - - - - -########################################################################## -# create a run config object, a run sequence and run the simulation -########################################################################## -rc = runSequence.RunConfig() - -rc.basePath = "simData" -rc.tApp = tApp -rc.tiaraSpecs = tiaraSpecs -rc.impGeo = impGeo -rc.impScorer = impScorer -rc.totalTime = totalTime -rc.comment = comment - -rs = runSequence.RunSequence(runConfig=rc, usePI = False) -rs.runNevents(100) -rs.runLoop() - - -########################################################################## -########################################################################## diff --git a/examples/advanced/Tiara/run/runVisMode.py b/examples/advanced/Tiara/run/runVisMode.py deleted file mode 100644 index 7386758296..0000000000 --- a/examples/advanced/Tiara/run/runVisMode.py +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/env python -# -# $Id: runVisMode.py,v 1.8 2006/06/26 10:12:05 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - - -# importing python libraries -import os - -# importing wrapper modules (see the source/*Wrapper directories) -# created by swig (from the source/*Wrapper/*.i files). -import CLHEP -import Tiara -import G4Kernel - -# importing python modules specific to this example -# (see source/py_modules) -import tiaraApplication -import tiaraGenerators -import tiaraDetectors -import tiaraSpecifications -import myUtils -import variableGeometry -import slabGeometry -import runSequence - -########################################################################## -# random number initialization -########################################################################## -Tiara.setRandomSeed(891011); -#Tiara.setRandomStatus("dTest/tiara-2003_5_27_20_5_39_pcgeant2/randomNumberFile_run00003"); - - - - - - - - - - -########################################################################## -# experiment and simulation specific data -########################################################################## -# create a list of particles and give a lower energy cut -particleCut = {"neutron" : 3 * CLHEP.MeV, - "gamma" : 1 * CLHEP.MeV, - "proton" : 1 * CLHEP.MeV, - "deuteron": 1 * CLHEP.MeV, - "triton" : 1 * CLHEP.MeV, - "alpha" : 1 * CLHEP.MeV} - -# specify if the source neutrons shoul be form the 43 or 68 MeV protons -beamEnergy = 68 * CLHEP.MeV -# specify the shieldwidth [25, 50, 100, 150, (200 for 68 MeV case only)] -shieldWidth = 100 * CLHEP.cm - -# available physics lists: TiaraPhysicsList, LHEP_LEAD_HP, LHEP_PRECO_HP -# CASCADE_HP LHEP_BIC LHEP_BIC_BIC -physList = Tiara.LHEP_BIC_HP() - -# specify the detectors -scoreDetectorCreator = tiaraDetectors.ThreeZylindricDetectors() -#scoreDetectorCreator = tiaraDetectors.DetectorSlab() - - -comment = "" - - - - - - - - - - - - -########################################################################## -# Create a Specification object of the configuaration data -########################################################################## - -experiment = tiaraSpecifications.Experiment(beamEnergy, - particleCut["neutron"], - particleCut, - shieldWidth, - "concrete") - -tiaraSpecs = tiaraSpecifications.Specifications(Tiara.TiaraDimensions(), - experiment, - Tiara.TiaraMaterials()) - - - - - - - - - -########################################################################## -# definition of the importance geometry importance values and a scorer -########################################################################## -# create a parallel geometry. -impGeo = variableGeometry.VariableImpSlabGeometry(tiaraSpecs) - - -# introduce "importance cells" into the shielding region -# In this case the width of all the shields in the shielding region -# are equal and the importance staring from one doubles -# from cell to cell in the beam direction. -impGeo.addCellImportance(width=15.0 * CLHEP.cm, faktor=1) -for i in range(9): - # to run unbiased set: faktor=1 in the next line - impGeo.addCellImportance(width=15.0 * CLHEP.cm, faktor=2) - -impGeo.construct() - -# Make sure the widths given in the above way add up to the -# shield widths e.g. 25, 50, ... cm. -# The importance geometries take care to give the importance value 1 -# to the volume before the shield and to assign the same importance -# as the last cell in the shield region to the volume behind the shield. - -# an alternative -#impGeo = slabGeometry.SlabedImportanceGeometry(tiaraSpecs, -# 10.0 * CLHEP.cm, -# 1.5) - - -impScorer = G4Kernel.G4Scorer() - - - - - - - -########################################################################## -# Creation of a TiaraApplet to define the run mode, physics list, -# detector type and the primary generator -########################################################################## -tApp = tiaraApplication.TiaraApplet(tiaraSpecs, - Tiara.TiaraSim_GetTiaraSim()) - - -# chise if you want to run in a timed mode (for a given time) or in -# the visualization mode to see the detector. -tApp.visMode() - - -tApp.specifyPhysicsList(physList, particleCut) - -# detectors -tApp.setScoreDetectorCreator(scoreDetectorCreator) - -tApp.buildGeometry() - -tiara_dir = os.environ["TIARA_BASE"] - -tApp.setPhysics() - -tApp.visAdd() - -##primGenBuilder = tiaraGenerators.\ -## TiaraDPSEnergyGenerator(tiaraSpecs, -## tiara_dir + -## "/data/expDataConverted/dpsSource.xml") -#primGenBuilder = tiaraGenerators.TiaraPrimaryGenerator(tiaraSpecs) -primGenBuilder = tiaraGenerators.FixedEnergyPrimaryGenerator(tiaraSpecs) - -tApp.setPrimaryGenerator(primGenBuilder.primGen) - - -tApp.noComponents = 0 -tApp.config() - - - - - - - - - -########################################################################## -# creating of the sampler -########################################################################## -parallelSampler = myUtils.createParallelSampler(impGeo, - impScorer) - - - - - - - - - - - -########################################################################## -# create a run config object, a run sequence and run the simulation -########################################################################## -rc = runSequence.RunConfig() - -rc.basePath = "simData" -rc.tApp = tApp -rc.tiaraSpecs = tiaraSpecs -rc.impGeo = impGeo -rc.impScorer = impScorer -rc.totalTime = totalTime -rc.comment = comment - -rs = runSequence.RunSequence(rc) -rs.runNevents(100) -rs.runLoop() - - -########################################################################## -########################################################################## diff --git a/examples/advanced/Tiara/run/runVisNoAnalysis.py b/examples/advanced/Tiara/run/runVisNoAnalysis.py deleted file mode 100755 index 520d6f9d37..0000000000 --- a/examples/advanced/Tiara/run/runVisNoAnalysis.py +++ /dev/null @@ -1,225 +0,0 @@ -#!/usr/bin/env python -# -# $Id: runVisNoAnalysis.py,v 1.5 2006/06/26 10:12:05 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - - -# importing python libraries -import os - -# importing wrapper modules (see the source/*Wrapper directories) -# created by swig (from the source/*Wrapper/*.i files). -import CLHEP -import Tiara -import G4Kernel - -# importing python modules specific to this example -# (see source/py_modules) -import tiaraApplication -import tiaraGenerators -import tiaraDetectors -import tiaraSpecifications -import myUtils -import variableGeometry -import slabGeometry -import runSequence - -########################################################################## -# random number initialization -########################################################################## -Tiara.setRandomSeed(891011); -#Tiara.setRandomStatus("dTest/tiara-2003_5_27_20_5_39_pcgeant2/randomNumberFile_run00003"); - - - - - - - - - - -########################################################################## -# experiment and simulation specific data -########################################################################## -# create a list of particles and give a lower energy cut -particleCut = {"neutron" : 3 * CLHEP.MeV, - "gamma" : 1 * CLHEP.MeV, - "proton" : 1 * CLHEP.MeV, - "deuteron": 1 * CLHEP.MeV, - "triton" : 1 * CLHEP.MeV, - "alpha" : 1 * CLHEP.MeV} - -# specify if the source neutrons shoul be form the 43 or 68 MeV protons -beamEnergy = 68 * CLHEP.MeV -# specify the shieldwidth [25, 50, 100, 150, (200 for 68 MeV case only)] -shieldWidth = 100 * CLHEP.cm - -# available physics lists: TiaraPhysicsList, LHEP_LEAD_HP, LHEP_PRECO_HP -# CASCADE_HP LHEP_BIC LHEP_BIC_BIC -physList = Tiara.LHEP_BIC_HP() - -# specify the detectors -scoreDetectorCreator = tiaraDetectors.ThreeZylindricDetectors() -#scoreDetectorCreator = tiaraDetectors.DetectorSlab() - - -comment = "" - - - - - - - - - - - - -########################################################################## -# Create a Specification object of the configuaration data -########################################################################## - -experiment = tiaraSpecifications.Experiment(beamEnergy, - particleCut["neutron"], - particleCut, - shieldWidth, - "concrete") - -tiaraSpecs = tiaraSpecifications.Specifications(Tiara.TiaraDimensions(), - experiment, - Tiara.TiaraMaterials()) - - - - - - - - - -########################################################################## -# definition of the importance geometry importance values and a scorer -########################################################################## -# create a parallel geometry. -impGeo = variableGeometry.VariableImpSlabGeometry(tiaraSpecs) - - -# introduce "importance cells" into the shielding region -# In this case the width of all the shields in the shielding region -# are equal and the importance staring from one doubles -# from cell to cell in the beam direction. -impGeo.addCellImportance(width=15.0 * CLHEP.cm, faktor=1) -for i in range(9): - # to run unbiased set: faktor=1 in the next line - impGeo.addCellImportance(width=15.0 * CLHEP.cm, faktor=2) - -impGeo.construct() - -# Make sure the widths given in the above way add up to the -# shield widths e.g. 25, 50, ... cm. -# The importance geometries take care to give the importance value 1 -# to the volume before the shield and to assign the same importance -# as the last cell in the shield region to the volume behind the shield. - -# an alternative -#impGeo = slabGeometry.SlabedImportanceGeometry(tiaraSpecs, -# 10.0 * CLHEP.cm, -# 1.5) - - -impScorer = G4Kernel.G4Scorer() - - - - - - - -########################################################################## -# Creation of a TiaraApplet to define the run mode, physics list, -# detector type and the primary generator -########################################################################## -tApp = tiaraApplication.TiaraApplet(tiaraSpecs, - Tiara.TiaraSim_GetTiaraSim(), False) - - -# chise if you want to run in a timed mode (for a given time) or in -# the visualization mode to see the detector. -tApp.visMode() -##timeForOneRun = 1 * myUtils.min -##tApp.timedMode(timeForOneRun) - -tApp.specifyPhysicsList(physList, particleCut) - -# detectors -tApp.setScoreDetectorCreator(scoreDetectorCreator) - -tApp.buildGeometry() - -tiara_dir = os.environ["TIARA_BASE"] - -tApp.setPhysics() - -tApp.visAdd() - -##primGenBuilder = tiaraGenerators.\ -## TiaraDPSEnergyGenerator(tiaraSpecs, -## tiara_dir + -## "/data/expDataConverted/dpsSource.xml") -#primGenBuilder = tiaraGenerators.TiaraPrimaryGenerator(tiaraSpecs) -primGenBuilder = tiaraGenerators.FixedEnergyPrimaryGenerator(tiaraSpecs) - -tApp.setPrimaryGenerator(primGenBuilder.primGen) - - -tApp.noComponents = 0 -tApp.config() - - - - - - - - - -########################################################################## -# creating of the sampler -########################################################################## -parallelSampler = myUtils.createParallelSampler(impGeo, - impScorer) - - - - - - - - - - - -########################################################################## -# create a run config object, a run sequence and run the simulation -########################################################################## -rc = runSequence.RunConfig() - -rc.basePath = "simData" -rc.tApp = tApp -rc.tiaraSpecs = tiaraSpecs -rc.impGeo = impGeo -rc.impScorer = impScorer -rc.totalTime = totalTime -rc.comment = comment - -rs = runSequence.RunSequence(rc) -rs.runNevents(100) -rs.runLoop() - - -########################################################################## -########################################################################## diff --git a/examples/advanced/Tiara/run/vis.mac b/examples/advanced/Tiara/run/vis.mac deleted file mode 100644 index 783f7d5cc1..0000000000 --- a/examples/advanced/Tiara/run/vis.mac +++ /dev/null @@ -1,13 +0,0 @@ -# $Id: vis.mac,v 1.2 2003/06/16 17:06:44 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - - -/vis/scene/create -/vis/open OGLIX -/vis/viewer/set/style w -/vis/viewer/flush -/vis/viewer/set/viewpointThetaPhi -70 -20 -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate diff --git a/examples/advanced/Tiara/source/CLHEPWrapper/GNUmakefile b/examples/advanced/Tiara/source/CLHEPWrapper/GNUmakefile deleted file mode 100644 index 5d7845a89c..0000000000 --- a/examples/advanced/Tiara/source/CLHEPWrapper/GNUmakefile +++ /dev/null @@ -1,49 +0,0 @@ -# $Id: GNUmakefile,v 1.2 2004/06/09 15:04:35 daquinog Exp $ -# -------------------------------------------------------------- -# GNUmakefile Michael Dressel -# -------------------------------------------------------------- - - -name := CLHEPWrapper -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../.. -endif - -include $(G4INSTALL)/config/architecture.gmk - - -.PHONY: all tiaraClean - -SWIGFLAGS = -I${CLHEP_BASE_DIR}/include -include $(TIARA_BASE)/source/swig.gmk - - -all: $(SWIGSO) - - - -include $(G4INSTALL)/config/binmake.gmk - - - -CPPFLAGS += -I$(PYTHON_INCLUDE_DIR) - -LDFLAGS += -L$(PYTHON_LIB_DIR) - -LDLIBS += -lpython$(PYTHONVERSION) \ - -lnsl \ - -ldl \ - -lreadline \ - -ltermcap \ - -lieee \ - -lpthread \ - -lutil - - -tiaraClean: - @echo Cleaning up $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) - @rm -rf $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) - @rm -f *.pyc diff --git a/examples/advanced/Tiara/source/CLHEPWrapper/include/CLHEP.i b/examples/advanced/Tiara/source/CLHEPWrapper/include/CLHEP.i deleted file mode 100644 index 54b66cbe2f..0000000000 --- a/examples/advanced/Tiara/source/CLHEPWrapper/include/CLHEP.i +++ /dev/null @@ -1,335 +0,0 @@ -# $Id: CLHEP.i,v 1.5 2005/12/15 14:23:31 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - - -%module CLHEP -%{ -#include -#include -%} - -%include CLHEP/Units/SystemOfUnits.h - -namespace CLHEP { - -class Hep3Vector { - -public: - -// Basic properties and operations on 3-vectors: - - enum { X=0, Y=1, Z=2, NUM_COORDINATES=3, SIZE=NUM_COORDINATES }; - // Safe indexing of the coordinates when using with matrices, arrays, etc. - // (BaBar) - - inline Hep3Vector(double x = 0.0, double y = 0.0, double z = 0.0); - // The constructor. - - inline double x() const; - inline double y() const; - inline double z() const; - // The components in cartesian coordinate system. Same as getX() etc. - - inline void setX(double); - inline void setY(double); - inline void setZ(double); - // Set the components in cartesian coordinate system. - - inline double phi() const; - // The azimuth angle. - - inline double theta() const; - // The polar angle. - - inline double cosTheta() const; - // Cosine of the polar angle. - - inline double cos2Theta() const; - // Cosine squared of the polar angle - faster than cosTheta(). (ZOOM) - - inline double mag2() const; - // The magnitude squared (r^2 in spherical coordinate system). - - inline double mag() const; - // The magnitude (r in spherical coordinate system). - - inline void setPhi(double); - // Set phi keeping mag and theta constant (BaBar). - - inline void setTheta(double); - // Set theta keeping mag and phi constant (BaBar). - - void setMag(double); - // Set magnitude keeping theta and phi constant (BaBar). - - inline double perp2() const; - // The transverse component squared (rho^2 in cylindrical coordinate system). - - inline double perp() const; - // The transverse component (rho in cylindrical coordinate system). - - inline void setPerp(double); - // Set the transverse component keeping phi and z constant. - - void setCylTheta(double); - // Set theta while keeping transvers component and phi fixed - - inline double perp2(const Hep3Vector &) const; - // The transverse component w.r.t. given axis squared. - - inline double perp(const Hep3Vector &) const; - // The transverse component w.r.t. given axis. - - inline bool operator == (const Hep3Vector &) const; - inline bool operator != (const Hep3Vector &) const; - // Comparisons (Geant4). - - inline Hep3Vector & operator += (const Hep3Vector &); - // Addition. - - inline Hep3Vector & operator -= (const Hep3Vector &); - // Subtraction. - - inline Hep3Vector operator - () const; - // Unary minus. - - inline Hep3Vector & operator *= (double); - // Scaling with real numbers. - - Hep3Vector & operator /= (double); - // Division by (non-zero) real number. - - inline Hep3Vector unit() const; - // Vector parallel to this, but of length 1. - - inline Hep3Vector orthogonal() const; - // Vector orthogonal to this (Geant4). - - inline double dot(const Hep3Vector &) const; - // double product. - - inline Hep3Vector cross(const Hep3Vector &) const; - // Cross product. - - double angle(const Hep3Vector &) const; - // The angle w.r.t. another 3-vector. - - double pseudoRapidity() const; - // Returns the pseudo-rapidity, i.e. -ln(tan(theta/2)) - - void setEta ( double p ); - // Set pseudo-rapidity, keeping magnitude and phi fixed. (ZOOM) - - void setCylEta ( double p ); - // Set pseudo-rapidity, keeping transverse component and phi fixed. (ZOOM) - - Hep3Vector & rotateX(double); - // Rotates the Hep3Vector around the x-axis. - - Hep3Vector & rotateY(double); - // Rotates the Hep3Vector around the y-axis. - - Hep3Vector & rotateZ(double); - // Rotates the Hep3Vector around the z-axis. - - Hep3Vector & rotateUz(const Hep3Vector&); - // Rotates reference frame from Uz to newUz (unit vector) (Geant4). - - Hep3Vector & rotate(double, const Hep3Vector &); - // Rotates around the axis specified by another Hep3Vector. - // (Uses methods of HepRotation, forcing linking in of Rotation.cc.) - - Hep3Vector & operator *= (const CLHEP::HepRotation &); - Hep3Vector & transform(const CLHEP::HepRotation &); - // Transformation with a Rotation matrix. - - - -// = = = = = = = = = = = = = = = = = = = = = = = = -// -// Esoteric properties and operations on 3-vectors: -// -// 1 - Set vectors in various coordinate systems -// 2 - Synonyms for accessing coordinates and properties -// 3 - Comparisions (dictionary, near-ness, and geometric) -// 4 - Intrinsic properties -// 5 - Properties releative to z axis and arbitrary directions -// 6 - Polar and azimuthal angle decomposition and deltaPhi -// 7 - Rotations -// -// = = = = = = = = = = = = = = = = = = = = = = = = - -// 1 - Set vectors in various coordinate systems - - inline void setRThetaPhi (double r, double theta, double phi); - // Set in spherical coordinates: Angles are measured in RADIANS - - inline void setREtaPhi ( double r, double eta, double phi ); - // Set in spherical coordinates, but specify peudorapidiy to determine theta. - - inline void setRhoPhiZ (double rho, double phi, double z); - // Set in cylindrical coordinates: Phi angle is measured in RADIANS - - void setRhoPhiTheta ( double rho, double phi, double theta); - // Set in cylindrical coordinates, but specify theta to determine z. - - void setRhoPhiEta ( double rho, double phi, double eta); - // Set in cylindrical coordinates, but specify pseudorapidity to determine z. - -// 2 - Synonyms for accessing coordinates and properties - - inline double getX() const; - inline double getY() const; - inline double getZ() const; - // x(), y(), and z() - - inline double getR () const; - inline double getTheta() const; - inline double getPhi () const; - // mag(), theta(), and phi() - - inline double r () const; - // mag() - - inline double rho () const; - inline double getRho () const; - // perp() - - double eta () const; - double getEta () const; - // pseudoRapidity() - - inline void setR ( double s ); - // setMag() - - inline void setRho ( double s ); - // setPerp() - -// 3 - Comparisions (dictionary, near-ness, and geometric) - - int compare (const Hep3Vector & v) const; - bool operator > (const Hep3Vector & v) const; - bool operator < (const Hep3Vector & v) const; - bool operator>= (const Hep3Vector & v) const; - bool operator<= (const Hep3Vector & v) const; - // dictionary ordering according to z, then y, then x component - - inline double diff2 (const Hep3Vector & v) const; - // |v1-v2|**2 - - static double setTolerance (double tol); - static inline double getTolerance (); - // Set the tolerance used in isNear() for Hep3Vectors - - bool isParallel (const Hep3Vector & v, double epsilon) const; - // Are the vectors parallel, within the given tolerance? - - bool isOrthogonal (const Hep3Vector & v, double epsilon) const; - // Are the vectors orthogonal, within the given tolerance? - - double howParallel (const Hep3Vector & v) const; - // | v1.cross(v2) / v1.dot(v2) |, to a maximum of 1. - - double howOrthogonal (const Hep3Vector & v) const; - // | v1.dot(v2) / v1.cross(v2) |, to a maximum of 1. - - enum { ToleranceTicks = 100 }; - -// 4 - Intrinsic properties - - double beta () const; - // relativistic beta (considering v as a velocity vector with c=1) - // Same as mag() but will object if >= 1 - - double gamma() const; - // relativistic gamma (considering v as a velocity vector with c=1) - - double coLinearRapidity() const; - // inverse tanh (beta) - -// 5 - Properties relative to Z axis and to an arbitrary direction - - // Note that the non-esoteric CLHEP provides - // theta(), cosTheta(), cos2Theta, and angle(const Hep3Vector&) - - inline double angle() const; - // angle against the Z axis -- synonym for theta() - - inline double theta(const Hep3Vector & v2) const; - // synonym for angle(v2) - - double cosTheta (const Hep3Vector & v2) const; - double cos2Theta(const Hep3Vector & v2) const; - // cos and cos^2 of the angle between two vectors - - inline Hep3Vector project () const; - Hep3Vector project (const Hep3Vector & v2) const; - // projection of a vector along a direction. - - inline Hep3Vector perpPart() const; - inline Hep3Vector perpPart (const Hep3Vector & v2) const; - // vector minus its projection along a direction. - - double rapidity () const; - // inverse tanh(v.z()) - - double rapidity (const Hep3Vector & v2) const; - // rapidity with respect to specified direction: - // inverse tanh (v.dot(u)) where u is a unit in the direction of v2 - - double eta(const Hep3Vector & v2) const; - // - ln tan of the angle beween the vector and the ref direction. - -// 6 - Polar and azimuthal angle decomposition and deltaPhi - - // Decomposition of an angle within reference defined by a direction: - - double polarAngle (const Hep3Vector & v2) const; - // The reference direction is Z: the polarAngle is abs(v.theta()-v2.theta()). - - double deltaPhi (const Hep3Vector & v2) const; - // v.phi()-v2.phi(), brought into the range (-PI,PI] - - double azimAngle (const Hep3Vector & v2) const; - // The reference direction is Z: the azimAngle is the same as deltaPhi - - double polarAngle (const Hep3Vector & v2, - const Hep3Vector & ref) const; - // For arbitrary reference direction, - // polarAngle is abs(v.angle(ref) - v2.angle(ref)). - - double azimAngle (const Hep3Vector & v2, - const Hep3Vector & ref) const; - // To compute azimangle, project v and v2 into the plane normal to - // the reference direction. Then in that plane take the angle going - // clockwise around the direction from projection of v to that of v2. - -// 7 - Rotations - -// These mehtods **DO NOT** use anything in the HepRotation class. -// Thus, use of v.rotate(axis,delta) does not force linking in Rotation.cc. - - Hep3Vector & rotate (const Hep3Vector & axis, double delta); - // Synonym for rotate (delta, axis) - - Hep3Vector & rotate (const CLHEP::HepAxisAngle & ax); - // HepAxisAngle is a struct holding an axis direction and an angle. - - Hep3Vector & rotate (const CLHEP::HepEulerAngles & e); - Hep3Vector & rotate (double phi, - double theta, - double psi); - // Rotate via Euler Angles. Our Euler Angles conventions are - // those of Goldstein Classical Mechanics page 107. - -}; - -} // namespace CLHEP - - -%inline %{ - typedef CLHEP::Hep3Vector G4ThreeVector; -%} - diff --git a/examples/advanced/Tiara/source/CLHEPWrapper/src/README b/examples/advanced/Tiara/source/CLHEPWrapper/src/README deleted file mode 100644 index 6a91324191..0000000000 --- a/examples/advanced/Tiara/source/CLHEPWrapper/src/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory will contain the source file for python wrappers -generated by swig. diff --git a/examples/advanced/Tiara/source/G4KernelWrapper/G4String.i b/examples/advanced/Tiara/source/G4KernelWrapper/G4String.i deleted file mode 100644 index f34234b6bd..0000000000 --- a/examples/advanced/Tiara/source/G4KernelWrapper/G4String.i +++ /dev/null @@ -1,67 +0,0 @@ -# $Id: G4String.i,v 1.1 2003/06/17 15:25:01 mdressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - -// coppied from std_string.i - -%include exception.i - -%{ -#include "G4String.hh" -%} - - -class G4String; - -/* Overloading check */ - -%typemap(typecheck) G4String = char *; -%typemap(typecheck) const G4String & = char *; - -%typemap(in) G4String { - if (PyString_Check($input)) - $1 = G4String(PyString_AsString($input)); - else - SWIG_exception(SWIG_TypeError, "G4String expected"); -} - -%typemap(in) const G4String & (G4String temp) { - if (PyString_Check($input)) { - temp = G4String(PyString_AsString($input)); - $1 = &temp; - } else { - SWIG_exception(SWIG_TypeError, "G4String expected"); - } -} - -%typemap(out) G4String { - $result = PyString_FromStringAndSize($1.data(),$1.size()); -} - -%typemap(out) const G4String & { - $result = PyString_FromStringAndSize($1->data(),$1->size()); -} - -%typemap(inv, parse="s") G4String, const G4String &, G4String & "$1_name.c_str()"; - -%typemap(inv, parse="s") G4String *, const G4String * "$1_name->c_str()"; - -%typemap(outv) G4String { - if (PyString_Check($input)) - $result = G4String(PyString_AsString($input)); - else - throw SWIG_DIRECTOR_TYPE_MISMATCH("G4String expected"); -} - -%typemap(outv) const G4String & (G4String temp) { - if (PyString_Check($input)) { - temp = G4String(PyString_AsString($input)); - $result = &temp; - } else { - throw SWIG_DIRECTOR_TYPE_MISMATCH("G4String expected"); - } -} - - - diff --git a/examples/advanced/Tiara/source/G4KernelWrapper/GNUmakefile b/examples/advanced/Tiara/source/G4KernelWrapper/GNUmakefile deleted file mode 100644 index f3c62b6661..0000000000 --- a/examples/advanced/Tiara/source/G4KernelWrapper/GNUmakefile +++ /dev/null @@ -1,47 +0,0 @@ -# $Id: GNUmakefile,v 1.7 2006/06/23 13:15:34 ahoward Exp $ -# -------------------------------------------------------------- -# GNUmakefile Michael Dressel -# -------------------------------------------------------------- - -name := G4KernelWrapper -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../.. -endif -include $(G4INSTALL)/config/architecture.gmk - -SWIGFLAGS = -I./ \ - -I${G4INSTALL}/source/global/management/include \ - -I${G4INSTALL}/source/geometry/biasing/include \ - -I${G4INSTALL}/source/digits_hits/detector/include \ - -I${G4INSTALL}/source/event/include \ - -I${G4INSTALL}/source/processes/transportation/include \ - -I${G4INSTALL}/source/visualization/management/include \ - -I${TIARA_BASE}/source/CLHEPWrapper/include \ - -I${CLHEP_BASE_DIR}/include - -include $(TIARA_BASE)/source/swig.gmk - -.PHONY: all tiaraClean - -all: $(SWIGSO) - -include $(G4INSTALL)/config/binmake.gmk - -CPPFLAGS += -I$(PYTHON_INCLUDE_DIR) -LDFLAGS += -L$(PYTHON_LIB_DIR) -LDLIBS += -lpython$(PYTHONVERSION) \ - -lnsl \ - -ldl \ - -lreadline \ - -ltermcap \ - -lieee \ - -lpthread \ - -lutil - -tiaraClean: - @echo Cleaning up $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) - @rm -rf $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) - @rm -f *.pyc diff --git a/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i b/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i deleted file mode 100644 index a436af9ace..0000000000 --- a/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i +++ /dev/null @@ -1,214 +0,0 @@ -# $Id: G4Kernel.i,v 1.7 2005/12/15 14:24:56 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - -%module G4Kernel -%{ -#include -#include -#include "globals.hh" -#include "G4LogicalVolume.hh" -#include "G4VPhysicalVolume.hh" -#include "G4RotationMatrix.hh" -#include "G4PVPlacement.hh" -#include "G4VSolid.hh" -#include "G4Material.hh" -#include "G4FieldManager.hh" -#include "G4VSensitiveDetector.hh" -#include "G4UserLimits.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4VScorer.hh" -#include "G4VCellScorer.hh" -#include "G4CellScorer.hh" -#include "G4CellStoreScorer.hh" -#include "G4VCellScorerStore.hh" -#include "G4ScoreTable.hh" -#include "G4VUserPrimaryGeneratorAction.hh" -#include "G4UserEventAction.hh" -#include "G4VUserPhysicsList.hh" -#include "G4VModularPhysicsList.hh" -#include "G4GeometryCell.hh" -#include "G4CellScoreValues.hh" -#include "G4CellScorerStore.hh" -#include "G4Scorer.hh" -#include "G4VSampler.hh" -#include "G4MassGeometrySampler.hh" -#include "G4ParallelGeometrySampler.hh" -#include "G4VImportanceAlgorithm.hh" -#include "G4CellScoreComposer.hh" -#include "G4VIStore.hh" -#include "G4IStore.hh" -#include "G4UserSteppingAction.hh" -#include -#include "G4VisManager.hh" -#include "G4VUserDetectorConstruction.hh" -%} - -%include std_string.i -%include G4String.i - -%import CLHEP.i -%inline %{ - typedef bool G4bool; - typedef double G4double; - typedef int G4int; -%} - - -%include G4VIStore.hh - -%include G4GeometryCell.hh - -%include G4IStore.hh - -%include G4CellScoreValues.hh - -%include G4CellScoreComposer.hh - -%include G4VScorer.hh - -%include G4VCellScorer.hh -%include G4CellScorer.hh - -%include G4VCellScorerStore.hh -%include G4CellScorerStore.hh - -%include G4CellStoreScorer.hh -%include G4Scorer.hh - -%include G4VImportanceAlgorithm.hh - -%include G4VSampler.hh - -%include G4MassGeometrySampler.hh - -%include G4ParallelGeometrySampler.hh - -%include G4ScoreTable.hh -%extend G4ScoreTable { - const char *Write(const G4MapGeometryCellCellScorer &cs){ - std::ostringstream tmpout; - self->Print(cs, &tmpout); - std::string *value = new std::string(tmpout.str()); - return value->c_str(); - }; -} - - -class G4VisManager { -public: - void Initialize(); -}; - - - -class G4VPhysicalVolume{ -}; - -class G4VUserDetectorConstruction { -public: - G4VPhysicalVolume* Construct(); -}; - - -class G4VUserPrimaryGeneratorAction { -}; - -class G4VUserPhysicsList { -public: - void Construct(); -}; - -class G4VModularPhysicsList: public G4VUserPhysicsList { -public: - void Construct(); -}; - -class G4UserSteppingAction{ -}; - -class G4UserEventAction{ -}; - -class G4FieldManager { -}; - -class G4VSensitiveDetector { -}; - -class G4UserLimits { -}; - -class G4Material { -}; - - -class G4VSolid { -}; - -class G4CSGSolid : public G4VSolid{ -}; - -class G4Box : public G4CSGSolid -{ -public: - G4Box(const G4String &pName, G4double pX, G4double pY, G4double pZ); -}; - - -class G4Tubs : public G4CSGSolid -{ -public: - G4Tubs(const G4String &pName, - G4double pRMin, - G4double pRMax, - G4double pDz, - G4double pSPhi, - G4double pDPhi ); -}; - - - -class G4LogicalVolume -{ -public: - G4LogicalVolume(G4VSolid *pSolid, - G4Material *pMaterial, - const G4String &pName, - G4FieldManager* pFieldMgr=0, - G4VSensitiveDetector* pSDetector=0, - G4UserLimits* pULimits=0, - G4bool optimise=true); - // Constructor. The solid and material pointer must be non null. - // The parameters for field, detector and user limits are optional. - // The volume also enters itself into the logical volume Store. - // Optimisation of the geometry (voxelisation) for the volume - // hierarchy is applied by default. For parameterised volumes in - // the hierarchy, optimisation is -always- applied. - -}; - - - - -class G4RotationMatrix{ -public: - G4RotationMatrix(); -}; - -class G4PVPlacement : public G4VPhysicalVolume -{ -public: - G4PVPlacement(G4RotationMatrix *pRot, - const CLHEP::Hep3Vector &tlate, - G4LogicalVolume *pCurrentLogical, - const G4String &pName, - G4LogicalVolume *pMotherLogical = 0, - G4bool pMany = false, - G4int pCopyNo = 0); -}; - - - diff --git a/examples/advanced/Tiara/source/G4KernelWrapper/src/README b/examples/advanced/Tiara/source/G4KernelWrapper/src/README deleted file mode 100644 index 6a91324191..0000000000 --- a/examples/advanced/Tiara/source/G4KernelWrapper/src/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory will contain the source file for python wrappers -generated by swig. diff --git a/examples/advanced/Tiara/source/TiaraWrapper/GNUmakefile b/examples/advanced/Tiara/source/TiaraWrapper/GNUmakefile deleted file mode 100644 index 07c177e0ad..0000000000 --- a/examples/advanced/Tiara/source/TiaraWrapper/GNUmakefile +++ /dev/null @@ -1,90 +0,0 @@ -# $Id: GNUmakefile,v 1.10 2006/11/23 08:50:29 ahoward Exp $ -# -------------------------------------------------------------- -# GNUmakefile Michael Dressel -# -------------------------------------------------------------- - -name := TiaraWrapper -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../.. -endif -include $(G4INSTALL)/config/architecture.gmk - - -SWIGFLAGS = -I../G4KernelWrapper \ - -I$(G4INSTALL)/source/geometry/biasing/include \ - -I$(G4INSTALL)/source/digits_hits/detector/include \ - -I$(G4INSTALL)/source/event/include \ - -I$(G4INSTALL)/source/processes/transportation/include \ - -I$(TIARA_BASE)/source/tiara/include \ - -I$(G4INSTALL)/source/physics_lists/lists/include \ - -I$(TIARA_BASE)/source/CLHEPWrapper/include \ - -I$(TIARA_BASE)/source/G4KernelWrapper/include \ - -I${CLHEP_BASE_DIR}/include - - -##include $(TIARA_BASE)/source/hadronic_lists.gmk -#SWIGFLAGS += ${LSTFLAGS} - -libdirTiara = $(G4WORKDIR)/tmp/$(G4SYSTEM)/tiara -SWIG_OBJ_DEP = $(wildcard $(libdirTiara)/*.o) - - -include $(TIARA_BASE)/source/swig.gmk - -tiaraDeps = $(notdir $(wildcard ${G4WORKDIR}/tmp/${G4SYSTEM}/tiara/*.d)) -copyDeps = $(addprefix ${G4WORKDIR}/tmp/${G4SYSTEM}/TiaraWrapper/, $(tiaraDeps)) - - -.PHONY: all tiaraClean - -all: $(copyDeps) $(SWIGSO) - - - -include $(G4INSTALL)/config/binmake.gmk - -ifdef G4ANALYSIS_USE -CPPFLAGS += `aida-config --include` -# LDFLAGS += `aida-config --lib` -endif - -CPPFLAGS += -I$(TIARA_BASE)/source/tiara/include\ - -I$(PYTHON_INCLUDE_DIR) \ - -I$(G4INSTALL)/source/physics_lists/lists/include \ - -I$(TIARA_BASE)/source/G4KernelWrapper/include - - -LDFLAGS += -L$(G4WORKDIR)/tmp/$(G4SYSTEM)/tiara \ - -L$(G4WORKDIR)/lib/plists/$(G4SYSTEM) \ - -L$(PYTHON_LIB_DIR) - - -ifdef G4ANALYSIS_USE - LDLIBS += `aida-config --lib` -endif - -LDLIBS += -lpython$(PYTHONVERSION) \ - -lnsl \ - -ldl \ - -lreadline \ - -ltermcap \ - -lieee \ - -lpthread \ - -lutil - - - - -${G4WORKDIR}/tmp/${G4SYSTEM}/TiaraWrapper/%.d: ${G4WORKDIR}/tmp/${G4SYSTEM}/tiara/%.d - @cp $< $@ - - - -tiaraClean: - @echo Cleaning up $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) - @echo $(tiaraDeps) - @rm -rf $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) - @rm -f *.pyc diff --git a/examples/advanced/Tiara/source/TiaraWrapper/include/Tiara.i b/examples/advanced/Tiara/source/TiaraWrapper/include/Tiara.i deleted file mode 100644 index e63082d88e..0000000000 --- a/examples/advanced/Tiara/source/TiaraWrapper/include/Tiara.i +++ /dev/null @@ -1,133 +0,0 @@ -# $Id: Tiara.i,v 1.9 2005/12/14 13:18:40 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- - -%module Tiara -%{ -#include "G4PVPlacement.hh" - -#include "TiaraSim.hh" -#include "TiaraGeometry.hh" -#include "TiaraMaterials.hh" -#include "TiaraVSourceEnergyGenerator.hh" -#include "TiaraSampledEnergy.hh" -#include "TiaraDPSSampledEnergy.hh" -#include "TiaraFixedEnergyGenerator.hh" -#include "TiaraVDirectionGenerator.hh" -#include "TiaraIsotropicDirections.hh" -#include "TiaraPrimaryGeneratorAction.hh" -#include "TiaraCellScorer.hh" -#include "TiaraCellScorerStore.hh" -#include "TiaraPhysicsList.hh" -#include "LHEP_BIC_HP.hh" -#include "LHEP_BIC.hh" -#include "LHEP.hh" -#include "LHEP_PRECO.hh" -#include "LHEP_LEAD.hh" -#include "LHEP_PRECO_HP.hh" -#include "TiaraVisEventAction.hh" -#include "TiaraTimedEventAction.hh" -#include "TiaraMeasure.hh" -#include "TiaraTally.hh" -#include "TiaraRandom.hh" -%} - -%include typemaps.i -%include std_string.i -%include std_vector.i - -%template(hist_vec_dbl) std::vector< double >; -%template(particle_vec_string) std::vector< std::string >; - - -%include CLHEP.i -%import G4Kernel.i - - - - -%include TiaraDimensions.hh -%include TiaraMaterials.hh -%include TiaraGeometry.hh - - -%include TiaraMeasure.hh -%include TiaraTally.hh - - -%include G4VCellScorer.hh -%include TiaraCellScorer.hh - -%include TiaraCellScorerStore.hh -%extend TiaraCellScorerStore { - G4VCellScorerStore *GetG4VCellScorerStore() { - return self; - } -} - -%include TiaraVSourceEnergyGenerator.hh -%include TiaraSampledEnergy.hh -%include TiaraDPSSampledEnergy.hh -%include TiaraFixedEnergyGenerator.hh - -%include TiaraVDirectionGenerator.hh -%include TiaraIsotropicDirections.hh - -%include TiaraPrimaryGeneratorAction.hh - -%include TiaraSim.hh - -%include TiaraVisEventAction.hh - -%include TiaraTimedEventAction.hh - -%include TiaraRandom.hh - -%include LHEP_BIC_HP.hh -%template(LHEP_BIC_HP) TLHEP_BIC_HP; -%extend TLHEP_BIC_HP { - std::string getName() const { - return std::string("LHEP_BIC_HP"); - } -} - -%include LHEP_BIC.hh -%template(LHEP_BIC) TLHEP_BIC; -%extend TLHEP_BIC { - std::string getName() const { - return std::string("LHEP_BIC"); - } -} - -%include LHEP.hh -%template(LHEP) TLHEP; -%extend TLHEP { - std::string getName() const { - return std::string("LHEP"); - } -} - -%include LHEP_PRECO.hh -%template(LHEP_PRECO) TLHEP_PRECO; -%extend TLHEP_PRECO { - std::string getName() const { - return std::string("LHEP_PRECO"); - } -} - -%include LHEP_LEAD.hh -%template(LHEP_LEAD) TLHEP_LEAD; -%extend TLHEP_LEAD { - std::string getName() const { - return std::string("LHEP_LEAD"); - } -} - -%include LHEP_PRECO_HP.hh -%template(LHEP_PRECO_HP) TLHEP_PRECO_HP; -%extend TLHEP_PRECO_HP { - std::string getName() const { - return std::string("LHEP_PRECO_HP"); - } -} diff --git a/examples/advanced/Tiara/source/TiaraWrapper/src/README b/examples/advanced/Tiara/source/TiaraWrapper/src/README deleted file mode 100644 index 6a91324191..0000000000 --- a/examples/advanced/Tiara/source/TiaraWrapper/src/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory will contain the source file for python wrappers -generated by swig. diff --git a/examples/advanced/Tiara/source/hadronic_lists.gmk b/examples/advanced/Tiara/source/hadronic_lists.gmk deleted file mode 100644 index cc726209e4..0000000000 --- a/examples/advanced/Tiara/source/hadronic_lists.gmk +++ /dev/null @@ -1,54 +0,0 @@ -# $Id: hadronic_lists.gmk,v 1.9 2006/06/23 06:37:32 ahoward Exp $ -# -------------------------------------------------------------- -# hadronic physics-lists setup - H.P.Wellisch -# -------------------------------------------------------------- - -ifndef G4LISTS_BASE - EXTRALIBS += -L$(G4LIB)/plists/$(G4SYSTEM) - G4LISTS_BASE = $(G4INSTALL)/physics_lists -else - EXTRALIBS += -L$(G4LISTS_BASE)/hadronic/plists/lib/$(G4SYSTEM) -endif -EXTRALIBS += -lFTFC -EXTRALIBS += -lFTFP -EXTRALIBS += -lLBE -EXTRALIBS += -lLHEP -EXTRALIBS += -lLHEP_LEAD -EXTRALIBS += -lLHEP_LEAD_HP -EXTRALIBS += -lLHEP_PRECO -EXTRALIBS += -lQGSP_BERT -EXTRALIBS += -lLHEP_PRECO_HP -EXTRALIBS += -lQGSC -EXTRALIBS += -lQGSC_LEAD -EXTRALIBS += -lQGSC_LEAD_HP -EXTRALIBS += -lQGSP -EXTRALIBS += -lQGSP_HP -EXTRALIBS += -lLHEP_BERT -EXTRALIBS += -lLHEP_BIC -EXTRALIBS += -lLHEP_BIC_HP -EXTRALIBS += -lQGSP_BIC -EXTRALIBS += -lPackaging - -LSTFLAGS := -I$(G4LISTS_BASE)/hadronic/FTFC/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LBE/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT_HP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC_HP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD_HP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO_HP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/Packaging/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD_HP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BERT/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BIC/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_HP/include -LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_Model/include - -CPPFLAGS += ${LSTFLAGS} diff --git a/examples/advanced/Tiara/source/py_modules/dataAcess.py b/examples/advanced/Tiara/source/py_modules/dataAcess.py deleted file mode 100644 index 6ab552ab10..0000000000 --- a/examples/advanced/Tiara/source/py_modules/dataAcess.py +++ /dev/null @@ -1,174 +0,0 @@ -# $Id: dataAcess.py,v 1.3 2003/06/26 11:54:13 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import os -import shelve -import myLiz -import dpsManip -import detector - - - -class ExperimentalData(object): - def __init__(self): - tiara_dir = os.environ["TIARA_BASE"] - if not tiara_dir: - print "dataAcess.ExperimentalData: TIARA_BASE not defined run tiara...sh first" - dataFile = tiara_dir + "/data/expDataConverted/TiaraData2.xml" - print "display.ExperimentalData.dataFile:" ,dataFile - self.dataTree = myLiz.tf.create (dataFile,"xml",1,0) - - def getDataDPS(self, she, detector): - energy = she["energy"] - shieldWidth = she["shieldWidth"] - dataName = "Tiara-" + energy + "c" + shieldWidth + \ - "-" + detector - if shieldWidth == "25" or shieldWidth == "50": - dataName += "a" - dataName += ".pnt" - print dataName - pData = self.dataTree.findDataPointSet(dataName) - dpsManip.setDPSErrorsToZero(pData, 0) - return pData - - def getScaledDataaDPS(self, she, detname, df): - pDataO = self.getDataDPS(she, detname) - pData = dpsManip.createScaledDPS(0, - pDataO, - df, - "scaled_" + pDataO.title (), - 0.000001) - return pData - - - -class MC_Data(object): - def __init__(self, she, mcTree): - self.she = she - self.energy = self.she["energy"] - self.shield = self.she["shieldWidth"] - self.mcTree = mcTree - self.coli = 0 - if self.shield == "25" or \ - self.shield == "50": - self.coli = 1 - self.baseName = self.energy + "c" + self.shield +\ - "_detector_" - - - def getGeneratedHisto(self): - name = "source_detector" - hGen = self.mcTree.findH1D(name) - return hGen - - def getMcPlot(self, detector, histo): - mcName = "detector_" + detector + histo - print mcName - hMc = self.mcTree.findH1D(mcName) - return hMc - - def getScale(self, atColiExit): - coli = 0 - if atColiExit==1: - coli = 0 - else: - coli = self.coli - - nPeakNeutrons = self.she["generatorTally"].measures[1].sum - scale = detector.detScale(nPeakNeutrons, self.energy, coli) - print "CompPlot.getScale: scaling with:", scale - return scale - - - def getScaledMcDPS(self, atColiExit, det, df, histo = ""): - dname = self.baseName + det.name - if histo: - dname += "_" + histo - - scale = self.getScale (atColiExit) - hMc = self.getMcPlot (det.name, histo ) - binEdges = dpsManip.getBinEdges(hMc) - dScaled = dpsManip.getScaledDPS(hMc, scale/det.volume, - df, dname + "scaled") - dLethScaled = dpsManip.dLogWeightDPS (dScaled, - df, - dname + "df_dlgE", - binEdges) - return dLethScaled - - - def getScaledGeneratedDPS(self, atColiExit, det, df, histo = ""): - dname = self.baseName + det.name - if histo: - dname += "_" + histo - scale = self.getScale (atColiExit) - hGen = self.getGeneratedHisto() - binEdges = dpsManip.getBinEdges(hGen) - dGenScaled = dpsManip.getScaledDPS(hGen, - scale/detector.sourceDetectorVolume, - df, - dname + "GenScaled") - dGenLethScaled = dpsManip.dLogWeightDPS(dGenScaled, df, - dname + "gen, df_dlgE", - binEdges) - - return dGenLethScaled - - - -class ExpMcPlot(object): - """Prepare and hold source information for a plot. - - Hold experimental and Monte Carlo data to plot in one diagram. - """ - def __init__(self, shelveName, dist, detType="ring", histo = ""): - path = os.path.dirname(shelveName) - shelveFile = os.path.basename(shelveName) - self.tt = myLiz.tf.create () - self.df = myLiz.af.createDataPointSetFactory (self.tt) - - self.she = shelve.open(shelveName,"r") - xmlFile = self.she["xmlStoreName"] - if path: - xmlFile = path + "/" + xmlFile - self.mcTree = myLiz.tf.create (xmlFile, "xml", 1, 0) - self.det = detector.Detector(dist,detType) - self.expData = ExperimentalData() - self.mcData = MC_Data(self.she, self.mcTree) - - self.pDataDPS = self.expData.getScaledDataaDPS(self.she, - self.det.name, - self.df) - - self.pMcDPS = self.mcData.getScaledMcDPS(atColiExit=1, - det=self.det, - df=self.df, - histo="") - - - self.pGenDPS = self.mcData.getScaledGeneratedDPS(atColiExit=1, - det=self.det, - df=self.df, - histo="") - - self.regions = [] - - - def display(self): - if "pl" not in dir(myLiz): - myLiz.pf = myLiz.af.createPlotterFactory () - myLiz.pl = myLiz.pf.create() - region = myLiz.pl.currentRegion() - self.regions.append(region) - region.plot (self.pDataDPS,"markers overlay") - region.plot (self.pMcDPS,"markers overlay") - myLiz.pl.refresh () - - - - - - - diff --git a/examples/advanced/Tiara/source/py_modules/detector.py b/examples/advanced/Tiara/source/py_modules/detector.py deleted file mode 100644 index b5d2b78ea8..0000000000 --- a/examples/advanced/Tiara/source/py_modules/detector.py +++ /dev/null @@ -1,80 +0,0 @@ -# $Id: detector.py,v 1.3 2003/06/26 11:54:13 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# - -# A detector is either the of the "simple" or "ring" type. -# the volumina of the "simple" detectors are the same at all -# positions (00, 20, 40 cm off beam axis). The "ring" type detectors -# have different volumina at the different positions. -# For convinience a class Detector is provided to link a detector -# position and it's volume. - - -d00Volume = 1608.8 # volume of the 12.9 cm x 12.9 cm cyinder -d20Volume = 20268.3 # volume of the ring at 20 cm -d40Volume = 40536.6 # volume of the ring at 40 cm - -# map of distances to volumina for the 12.9 cm x 12.9 cm detectors -SimpleDetectorVolume = {"00":d00Volume, "20":d00Volume, "40":d00Volume} -# map of distances to volumina for ring detectors -RingDetectorVolume = {"00":d00Volume, "20":d20Volume, "40":d40Volume} - -# map of detector type to distance-volumina map -DetectorVolume = {"simple":SimpleDetectorVolume, - "ring" :RingDetectorVolume} - - -# the area of the beam pipe needed for scaling -beamPipeArea = 93.31 - -# the source detector volume: beamPipeArea * 0.1 cm -sourceDetectorVolume = 9.33 - -# source flux from the TIARA paper -Fexp43_Coli = 1.76E+04 -Fexp43 = 1.94E+04 -Fexp68_Coli = 2.04E+04 -Fexp68 = 2.46E+04 - - - -class Detector(object): - "Distance and volume of a Detector." - def __init__(self, dist, detType): - self.name = dist - self.volume = DetectorVolume[detType][dist] - - - - - -# function to calculate the scale factor - -def detScale(ngen, energy, coli): - """Detrmine scale. - - Determine scale according to the number of generated neutrons, - the proton beam energy. If coli == 1, the flux at the - colimator exit is used, else the flux at 401 cm is used. - """ - Asrc = beamPipeArea - Fexp = 0 - if energy == "43": - if coli == 1: - Fexp = Fexp43_Coli - else: - Fexp = Fexp43 - else: - if energy == "68": - if coli == 1: - Fexp = Fexp68_Coli - else: - Fexp = Fexp68 - - S = Fexp * Asrc / ngen - - return S - - diff --git a/examples/advanced/Tiara/source/py_modules/dpsManip.py b/examples/advanced/Tiara/source/py_modules/dpsManip.py deleted file mode 100644 index 8abd1d13dd..0000000000 --- a/examples/advanced/Tiara/source/py_modules/dpsManip.py +++ /dev/null @@ -1,90 +0,0 @@ -# $Id: dpsManip.py,v 1.2 2003/06/16 17:06:44 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import math - -# functions to manipulate a DPS (data point set) - -def getScaledDPS(hSrc, scale, df, name): - "Create a scaled DPS from a histogramm." - hSrc.scale(scale) - dp = df.create(name, hSrc) - setDPSErrorsToZero(dp, 0) - hSrc.scale(1./scale) - - return dp - - -def setDPSErrorsToZero(dps, coNum): - "Set errors of a DPS to zero." - for i in range(dps.size()): - p = dps.point(i) - co = p.coordinate(coNum) - co.setErrorMinus(coNum) - co.setErrorPlus(coNum) - -def copyDPS(dSrc, df, name): - "Make a copy of a DPS using the data point set factory df." - dp = df.create(name, dSrc.dimension ()) - for i in range( dSrc.size() ): - dp.addPoint() - pNew = dp.point(i) - pOld = dSrc.point(i) - for d in range(dSrc.dimension ()): - cOld = pOld.coordinate(d) - cNew = pNew.coordinate(d) - cNew.setValue(cOld.value()) - em = cOld.errorMinus() - ep = cOld.errorPlus() - cNew.setErrorMinus(em) - cNew.setErrorPlus(ep) - return dp - -def dLogWeightDPS(dSrc, df, name, binEdges): - """Create a dps with the coordinate 1 scaled by 1/dlog(coordinate 0). - """ - dp = copyDPS(dSrc, df, name) - for i in range(len(binEdges) - 1): - s = math.log(binEdges[i+1]) - math.log(binEdges[i]) - c = dp.point(i).coordinate (1) - value = dSrc.point(i).coordinate(1).value() - errorMinus = dSrc.point(i).coordinate(1).errorMinus() - errorPlus = dSrc.point(i).coordinate(1).errorPlus() - c.setValue(value / s) - c.setErrorMinus(errorMinus / s) - c.setErrorPlus(errorPlus / s) - return dp - - -def createScaledDPS(coNum, pDataO, df, name, scale): - """Create a scaled DPS from a DPS. - - The coordinate \'coNum\' of the source DPS \'pDataO\' is scaled by - \'scale\'. The result is returned in the DPS created by the given - data point set factory \'df\' named \'name\'. - """ - dp = copyDPS(pDataO, df, name) - for i in range( dp.size() ): - p = dp.point(i) - co = p.coordinate(coNum) - co.setValue(co.value()*scale) - co.setErrorMinus(co.errorMinus()*scale) - co.setErrorPlus(co.errorPlus()*scale) - return dp - - - -def getBinEdges(h): - "Get bin edges of a histogramm." - binEdges = [] - a = h.axis () - for i in range(a.bins ()): - binEdges.append(a.binLowerEdge(i)) - binEdges.append(a.binUpperEdge(a.bins () - 1)) - return binEdges - - - - diff --git a/examples/advanced/Tiara/source/py_modules/extractShelve.py b/examples/advanced/Tiara/source/py_modules/extractShelve.py deleted file mode 100644 index 0cc5fe3398..0000000000 --- a/examples/advanced/Tiara/source/py_modules/extractShelve.py +++ /dev/null @@ -1,118 +0,0 @@ -# $Id: extractShelve.py,v 1.3 2003/07/04 13:26:31 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import string -import math -import os -import shelve -import string -import detector - - - -# some functions for calculating the FOM - -def getR2(measure): - "Error squared of a measure." - v = measure.variance - m2 = math.pow(measure.mean, 2) - n = measure.entries - - r2 = 1e+10 - if n>0 and m2 > 0: - r2 = v/m2/n - - return r2 - -def getFOMbyName(shelveName, tallyName, bin): - "FOM by shelve name, tally name and bin of energy region" - she = shelve.open (shelveName, "r") - measure = she[tallyName].measures[bin] - R2= getR2(measure) - T = she["runTime"] - return 1./(T*R2) - -def getFOM(aShelve, tallyName, bin): - "FOM given a shelve, tally name and energy bin." - measure = aShelve[tallyName].measures[bin] - R2= getR2(measure) - T = aShelve["runTime"] - return 1./(T*R2) - - - - - - - - - - -# functions to retrive information from the shelve - -def infoShelve(file): - "Print information stored in a shelve." - she = shelve.open(file, "r") - print file - for k in she.keys(): - value = she[k] - if value.__class__.__module__ == "__builtin__" : - print " ", k, ":", value - -def lsShelve(path): - "List shelve information found in and under the given path. " - if os.path.isfile(path): - if string.find(path,".shelve") > -1: - infoShelve(path) - else: - if os.path.isdir(path): - files = os.listdir(path) - for file in files: - f=path + "/" + file - lsShelve(f) - - - -def getFluxInRegion(she, dist="00", detType="ring", region=1): - "Get the flux in a detector." - tally = she["detector_" + dist + "Tally"] - m = tally.measures[region] - rawFlux = m.sum - mean = m.mean - var = m.getVariance() - n = m.entries - errRel = -1. - if n>0 and var >0 and mean > 0: - errRel = math.sqrt(var/n)/mean - nPeakNeutrons = she["generatorTally"].measures[1].sum - scale = detector.detScale(nPeakNeutrons, she["energy"], 0) - return rawFlux * scale / detector.DetectorVolume[detType][dist], errRel - - - -def getFluxes(she, detType = "ring"): - "Get all fluxes and FOM in a shelve." - fluxName = "flux_" + she["energy"]+"_"+\ - she["shieldWidth"] - keys = she.keys() - fluxes = {} - for k in keys: - if string.find(k,"detector_") > -1: - sp = string.split(k,"detector_") - sp = string.split(sp[1],"Tally") - dist = sp[0] - fluxNameD = fluxName + "_" + dist - for i in range(1,3): - fom = getFOM(she, k, i) - f = fluxNameD + "_" + "%(i)d" % vars() - flux, errRel = getFluxInRegion(she, dist, detType, i) - errRel*=100 - sFlux = '%1.2E' % (flux) - sErrRel = '%1.0f' % (errRel) - if errRel < 10.0: - sErrRel = '%1.1f' % (errRel) - print f, sFlux, ", errRel:", sErrRel, " FOM:", fom -# fluxes[f] = sFlux - return fluxes diff --git a/examples/advanced/Tiara/source/py_modules/myPI.py b/examples/advanced/Tiara/source/py_modules/myPI.py deleted file mode 100644 index 25628f8519..0000000000 --- a/examples/advanced/Tiara/source/py_modules/myPI.py +++ /dev/null @@ -1,11 +0,0 @@ -# $Id: myPI.py,v 1.1 2004/06/09 15:04:36 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import sys - -origArgv = sys.argv -sys.argv = ["","--noGraphics"] -from PyAida import * -sys.argv = origArgv diff --git a/examples/advanced/Tiara/source/py_modules/myUtils.py b/examples/advanced/Tiara/source/py_modules/myUtils.py deleted file mode 100644 index db385e2bd0..0000000000 --- a/examples/advanced/Tiara/source/py_modules/myUtils.py +++ /dev/null @@ -1,269 +0,0 @@ -# $Id: myUtils.py,v 1.6 2004/12/08 15:37:14 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import CLHEP -import G4Kernel - -import string -import os -import time -import shelve - -G4analysisUse = os.environ.has_key("G4ANALYSIS_USE") -if G4analysisUse: - import myPI - - -def createParallelSampler(impGeo, impScorer): - parallelSampler = G4Kernel. \ - G4ParallelGeometrySampler(\ - impGeo.getWorldVolume(), "neutron") - parallelSampler.PrepareScoring(impScorer) - if impGeo.base > 1: - istore = impGeo.getImportanceStore() - parallelSampler.PrepareImportanceSampling(istore,None) - - parallelSampler.Configure() - return parallelSampler - - - -def printImpTable(impScorer, istore = ""): - iScMap = impScorer.GetMapGeometryCellCellScorer() - table = "" - if istore: - table = G4Kernel.G4ScoreTable(istore) - else: - table = G4Kernel.G4ScoreTable() - table.Print(iScMap) - - - -def saveResults(tApp, path, shelveName, impScorer, impGeo): - myShelve = shelve.open(path + "/" + shelveName) - printImpTable(impScorer, impGeo.getImportanceStore()) - table = G4Kernel.G4ScoreTable() - table.Print(tApp.cellScorerStore.GetMapGeometryCellCellScorer()) - if G4analysisUse: - storePath = path + "/" + myShelve["xmlStoreName"] - persistantStore = myPI.tf.create(storePath,"xml",0,1) - coppyTrees(tApp.tree, persistantStore) - persistantStore.commit() - persistantStore.close() - print "wrote to store: ", storePath - - tApp.fillShelve(myShelve) - myShelve.close() - print "wrote shelve: ", shelveName - - -def coppyTrees(srcTree, cpTree): - mntPoint = "cpTreeMountPoint" - srcTree.mkdir("/" + mntPoint) - srcTree.mount("/" + mntPoint, cpTree, "/") - objectNames = srcTree.listObjectNames() - objectTypes = srcTree.listObjectTypes() - for i in range(len(objectNames)): - name = objectNames[i] - type = objectTypes[i] - if string.find(name, mntPoint) < 0: - srcTree.cp (name,"/" + mntPoint +"/") - -min = 6000 -hour = 60 * min -day = 24 * hour - - -def getTotalTime(totalTime): - days = totalTime / day - dayRest = totalTime - days*day - hours = dayRest / hour - minrest = dayRest - hours*hour - minutes = minrest / min - - tString = "" - if days > 0: - tString += "%(days)dd" % vars() - if hours > 0: - tString += "%(hours)dh" % vars() - if minutes > 0: - tString += "%(minutes)dm" % vars() - - return tString - - -def getStoreName(): - - Y, M, D, h, m, s, wd, jd, ds = time.localtime() - hostName = os.environ["HOST"] - - storeName = "tiara-" + \ - "%(Y)d" % vars() + "_" + \ - "%(M)d" % vars() + "_" + \ - "%(D)d" % vars() + "_" + \ - "%(h)d" % vars() + "_" + \ - "%(m)d" % vars() + "_" + \ - "%(s)d" % vars() + "_" + \ - hostName - - return storeName - - -def getConfigurationInfo(impGeo, experiment, physicsList, totalTime, - comment): - configInfo = {} - - - configInfo["energy"] = experiment.energy - - configInfo["shieldMaterial"] = experiment.shieldMaterial - - width = experiment.shieldWidth / CLHEP.cm - s_width = "%(width)d" % vars() - configInfo["shieldWidth"] = s_width - - - base = impGeo.base - simp = "no" - if base > 1: - simp = "ImpBase_%(base)f" % vars() - - - configInfo["biasing"] = simp - - configInfo["physListName"] = physicsList.getName() - - particles = "" - - configInfo["minEnergyCut"] = experiment.particleCut - - - stime = "no" - if totalTime > 0: - stime = getTotalTime(totalTime) - - - configInfo["timeLimit"] = stime - - - configInfo["impGeoName"] = impGeo.nameExt - - - configInfo["hostName"] = os.environ["HOST"] - - - - configInfo["comment"] = comment - - - return configInfo - - - - -def setConfigInfo(tree, confInfo, af): - hf = af.createHistogramFactory(tree) - h = hf.createHistogram1D("configInfo","configInfo",1,0,1) - anno = h.annotation() - for k in confInfo: - anno.addItem(k, confInfo[k]) - - -def getConfigInfoFromTree(tree): - configInfo = {} - h = tree.findH1D("configInfo") - anno = h.annotation () - for i in range(8, anno.size()): - configInfo[anno.key(i)] = anno.value(i) - - return configInfo - -if G4analysisUse: - def addToXML(mergedXMLStore, xmlStore): - objNames = xmlStore.listObjectNames() - objTypes = xmlStore.listObjectTypes() - hf = myPI.af.createHistogramFactory(mergedXMLStore) - for i in range(len(objNames)): - oName = objNames[i] - oType = objTypes[i] - if oType == "IHistogram1D": - h1 = mergedXMLStore.findH1D(oName) - h2 = xmlStore.findH1D(oName) - hf.add(oName,h1,h2) - -if G4analysisUse: - def comparableShelves(she, mergedXMLStore): - comp = 1 - if mergedShelve["energy"] != she["energy"]: - comp = 0 - if mergedShelve["shieldWidth"] != she["shieldWidth"]: - comp = 0 - - -def setUpMergedShelve(she, mergedShelve, mergedXMLname, shelveNameToBeAdded): - mergedShelve["xmlStoreName"] = mergedXMLname - mergedShelve["energy"] = she["energy"] - mergedShelve["shieldWidth"] = she["shieldWidth"] - mergedShelve["mergedFiles"] = shelveNameToBeAdded - mergedShelve["runTime"] = she["runTime"] - mergedShelve["generatorTally"] = she["generatorTally"] - mergedShelve["sourceDetectorTally"] = she["sourceDetectorTally"] - mergedShelve["detector_00Tally"] = she["detector_00Tally"] - mergedShelve["detector_20Tally"] = she["detector_20Tally"] - mergedShelve["detector_40Tally"] = she["detector_40Tally"] - - -def addToShelve(mergedShelve, she, shelveNameToBeAdded): - mergedShelve["mergedFiles"] += shelveNameToBeAdded + " " - mergedShelve["runTime"] += she["runTime"] - mergedShelve["generatorTally"].addMeasures(she["generatorTally"]) - mergedShelve["sourceDetectorTally"].addMeasures(she["sourceDetectorTally"]) - mergedShelve["detector_00Tally"].addMeasures(she["detector_00Tally"]) - mergedShelve["detector_20Tally"].addMeasures(she["detector_20Tally"]) - mergedShelve["detector_40Tally"].addMeasures(she["detector_40Tally"]) - -if G4analysisUse: - def mergeData(mergedName, shelveList): - mergedShelveName = mergedName + ".shelve" - print "creating merged shelve: ", mergedShelveName - mergedShelve = shelve.open(mergedShelveName) - mergedXMLname = mergedName + ".xml" - print "creating merged XML store: ", mergedXMLname - mergedXMLStore = myPI.tf.create(mergedXMLname, "xml", 0, 1) - - - for i in range(len(shelveList)): - shelveName = shelveList[i] - print "adding data from: ", shelveName - she = shelve.open(shelveName,"r") - xmlStoreName = she["xmlStoreName"] - print "opening: ", xmlStoreName - xmlStore = myPI.tf.create(xmlStoreName,"xml",1,0) - if i == 0: - if mergedXMLStore.listObjectNames() == (): - setUpMergedShelve(she, mergedShelve, mergedXMLname, shelveName) - coppyTrees(xmlStore, mergedXMLStore) - else: - if comparableShelves(she, mergedXMLStore): - addToShelve(mergedShelve, she, shelveName) - addToXML(mergedXMLStore, xmlStore) - else: - addToShelve(mergedShelve, she, shelveName) - addToXML(mergedXMLStore, xmlStore) - - mergedShelve.close() - mergedXMLStore.commit() - mergedXMLStore.close() - - -def rmPath(she): - xmlFile = she["xmlStoreName"] - n = string.rfind(xmlFile,"/") - if n > -1: - xmlFile = xmlFile[n+1:] - she["xmlStoreName"] = xmlFile - - - diff --git a/examples/advanced/Tiara/source/py_modules/parallelHall.py b/examples/advanced/Tiara/source/py_modules/parallelHall.py deleted file mode 100644 index 485db610fe..0000000000 --- a/examples/advanced/Tiara/source/py_modules/parallelHall.py +++ /dev/null @@ -1,60 +0,0 @@ -# $Id: parallelHall.py,v 1.4 2003/06/20 12:41:06 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import G4Kernel -import CLHEP -import string - -class ParallelHall(object): - def __init__(self, tiaraSpecs): - self.halfWidth = tiaraSpecs.dimensions.worldHalfWidth + \ - 10*CLHEP.cm - self.halfLength = tiaraSpecs.dimensions.worldHalfLength + \ - 10*CLHEP.cm - self.hallSolid = G4Kernel.G4Box("parallelBox", - self.halfWidth, - self.halfWidth, - self.halfLength) - vacuum = tiaraSpecs.materials.GetMaterial("vacuum") - self.logHall = G4Kernel.G4LogicalVolume(self.hallSolid, - vacuum, - "paralleleLog") - rot = G4Kernel.G4RotationMatrix() - self.worldVolume = G4Kernel.\ - G4PVPlacement(rot, - CLHEP.Hep3Vector(0, 0, 0), - self.logHall, - "ParallelHall"); - self.geoCells = [] - - def getWorldVolume(self): - return self.worldVolume - - def placeCells(self, arrPosLogVol): - for ele in arrPosLogVol: - phys = self.placeOneCell(ele) - self.geoCells.append(G4Kernel.G4GeometryCell(phys, 0)) - - def placeOneCell(self, pLog, name = ""): - rot = G4Kernel.G4RotationMatrix() - z = int(pLog.pos) - zstr = "%(z)d" % vars() - zstr = string.rjust(zstr, 5) - zstr = string.replace(zstr,' ','0') - - if not name: - name = "cell_z_" + zstr - vPhys = G4Kernel.\ - G4PVPlacement(rot, - CLHEP.Hep3Vector(0, 0, pLog.pos), - pLog.log, - name, - self.logHall); - return vPhys - - def getGeometryCells(self): - return self.geoCells - - diff --git a/examples/advanced/Tiara/source/py_modules/posLog.py b/examples/advanced/Tiara/source/py_modules/posLog.py deleted file mode 100644 index b241800e15..0000000000 --- a/examples/advanced/Tiara/source/py_modules/posLog.py +++ /dev/null @@ -1,10 +0,0 @@ -# $Id: posLog.py,v 1.2 2003/06/16 17:06:44 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# - -class PosLog(object): - def __init__(self, pos, log): - self.pos = pos - self.log = log diff --git a/examples/advanced/Tiara/source/py_modules/runSequence.py b/examples/advanced/Tiara/source/py_modules/runSequence.py deleted file mode 100644 index b5e360bbaf..0000000000 --- a/examples/advanced/Tiara/source/py_modules/runSequence.py +++ /dev/null @@ -1,119 +0,0 @@ -# $Id: runSequence.py,v 1.4 2004/06/09 15:04:36 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import Tiara -import myUtils -import shelve -import os -import string - -class RunConfig(object): - def __init__(self): - self.basePath = "" - self.tApp = "" - self.tiaraSpecs = "" - self.impGeo = "" - self.impScorer = "" - self.totalTime = "" - self.comment = "" - def getConfInfo(self): - return myUtils.\ - getConfigurationInfo(self.impGeo, - self.tiaraSpecs.experiment, - self.tApp.physicsList, - self.totalTime, - self.comment) - - - - -class RunSequence(object): - # methods to be used public - def __init__(self, runConfig, usePI = True): - self.rc = runConfig - self.usePI = usePI - self.runNum = -1 - self.confInfo = self.rc.getConfInfo() - self.storeName = myUtils.getStoreName() - self.xmlStore = "" - self.pathXMLName = "" - self.shelveName = "" - self.pathShelveName = "" - self.randomNumberFileName = "" - self.path = self.mkPath() - - def runNevents(self, events): - self.runNum += 1 - self.mkNames() - self.mkShelve() - self.report() - self.rc.tApp.tiaraSim.BeamOn (events) - Tiara.saveRandomStatus(self.randomNumberFileName) - myUtils.saveResults(self.rc.tApp, - self.path, - self.shelveName, - self.rc.impScorer, - self.rc.impGeo) - - def runLoop(self): - while ( not \ - (self.rc.tApp.eventAction.\ - GetTotalProcessedTime() > self.rc.totalTime)): - self.runNevents(10000000) # dummy num. events - - - - - - - - # methods used privately - - def report(self): - print "\n\nRunSequence.report:" - print self.confInfo - if self.usePI: - print "the xml store will be named: " - print " ", self.pathXMLName - print "the shelve name: " - print " ", self.pathShelveName - print "\n\n" - - - - def mkPath(self): - if not os.path.exists(self.rc.basePath): - os.mkdir(self.rc.basePath) - path = self.rc.basePath + "/" + self.storeName - if not os.path.exists(path): - os.mkdir(path) - return path - - def mkNames(self): - rn = self.runNum - rns = "%(rn)d" % vars() - rns = string.rjust(rns, 5) - rns = string.replace(rns,' ','0') - rId = "_run" + rns - if self.usePI: - self.xmlStore = self.storeName + rId + ".xml" - self.pathXMLName = self.path + "/" + self.xmlStore - - self.shelveName = self.storeName + rId + ".shelve" - self.pathShelveName = self.path + "/" + self.shelveName - self.randomNumberFileName = self.path + "/randomNumberFile" + rId - - - def mkShelve(self): - myShelve = shelve.open(self.pathShelveName) - if self.usePI: - myShelve["xmlStoreName"] = self.xmlStore - for info in self.confInfo: - myShelve[info] = self.confInfo[info] - myShelve.close() - - -# end of RunSeuence - diff --git a/examples/advanced/Tiara/source/py_modules/slabGeometry.py b/examples/advanced/Tiara/source/py_modules/slabGeometry.py deleted file mode 100644 index fba04aca79..0000000000 --- a/examples/advanced/Tiara/source/py_modules/slabGeometry.py +++ /dev/null @@ -1,119 +0,0 @@ -# $Id: slabGeometry.py,v 1.3 2003/06/20 12:41:07 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import math -import G4Kernel -import parallelHall -import posLog - -class SlabedGeometry(object): - def __init__(self, tiaraSpecs, cellWidth, parallelGeo): - self.arrPosLogVol = [] - self.normalCellSolid = None - self.logNormCell = None - self.lastCellSolid = None - self.logLastCell = None - self.createCells(tiaraSpecs, cellWidth, parallelGeo) - - def createCells(self, tiaraSpecs, cellWidth, parallelGeo): - print "SlabedGeometry::createCells:" - print "halfLength", parallelGeo.halfLength,\ - "halfWidth", parallelGeo.halfWidth - nCells = int(tiaraSpecs.experiment.shieldWidth / cellWidth) - print "cellWidth", cellWidth - print "nCells", nCells - zCellStart = tiaraSpecs.dimensions.targetPosZ + \ - tiaraSpecs.dimensions.distTargetExperiment + \ - tiaraSpecs.experiment.colWidth - print "zCellStart", zCellStart - zCellRegion = parallelGeo.halfLength - zCellStart - print "zCellRegion", zCellRegion - lengthLastCell = zCellRegion - nCells * cellWidth - print "lengthLastCell", lengthLastCell - print "sum cell length:", lengthLastCell + nCells * cellWidth - vacuum = tiaraSpecs.materials.GetMaterial("vacuum") - self.normalCellSolid = G4Kernel.G4Box("cellBox", - parallelGeo.halfWidth, - parallelGeo.halfWidth, - cellWidth/2) - print "normal box:",parallelGeo.halfWidth,cellWidth/2 - self.logNormCell = G4Kernel.G4LogicalVolume(self.normalCellSolid, - vacuum, - "cellLog") - - zPos = zCellStart - 0.5 * cellWidth - for i in range(nCells): - zPos += cellWidth - self.arrPosLogVol.append(posLog.PosLog(zPos, self.logNormCell)) - print "zPos", zPos - - - self.lastCellSolid = G4Kernel.G4Box("lastCellBox", - parallelGeo.halfWidth, - parallelGeo.halfWidth, - lengthLastCell/2) - self.logLastCell = G4Kernel.G4LogicalVolume(self.lastCellSolid, - vacuum, - "lastCellLog") - - print "last cell:", parallelGeo.halfWidth, lengthLastCell/2 - - zPos += cellWidth/2+lengthLastCell/2 - self.arrPosLogVol.append(posLog.PosLog(zPos, self.logLastCell)) - print "last cell zPos", zPos - - - - - def getArrPosLogVol(self): - return self.arrPosLogVol - - - -class SlabedImportanceGeometry(object): - def __init__(self, tiaraSpecs, cellWidth, impBase, parallelGeo = None): - self.parallelGeo = parallelGeo - self.tiaraSpecs = tiaraSpecs - self.cellWidth = cellWidth - self.iStore = None - self.geometryCells = [] - self.base = impBase - cellwidth_cm = cellWidth / CLHEP.cm - self.nameExt = "-cellWidth_%(cellwidth_cm)d" %vars() - self.buildParallelGeometry() - self.setImportances() - - def buildParallelGeometry(self): - self.parallelGeo = parallelHall.ParallelHall(self.tiaraSpecs) - - self.slabedGeo = SlabedGeometry(self.tiaraSpecs, - self.cellWidth, - self.parallelGeo) - self.parallelGeo.placeCells(self.slabedGeo.getArrPosLogVol()) - self.iStore = G4Kernel.G4IStore(self.parallelGeo.getWorldVolume()) - self.geometryCells = self.parallelGeo.getGeometryCells() - - def setImportances(self): - worldCell = G4Kernel.G4GeometryCell(self.parallelGeo.\ - getWorldVolume(), 0) - self.iStore.AddImportanceGeometryCell(1, worldCell) - nCells = len(self.geometryCells) - for i in range(nCells-1): - cell = self.geometryCells[i] - importance = math.pow(self.base, i) - print "i=", importance - self.iStore.AddImportanceGeometryCell(importance, cell) - lastCell = self.geometryCells[nCells-1] - importance = math.pow(self.base, nCells-2) - print "last cells i=", importance - self.iStore.AddImportanceGeometryCell(importance, lastCell) - - - - def getWorldVolume(self): - return self.parallelGeo.getWorldVolume() - - def getImportanceStore(self): - return self.iStore diff --git a/examples/advanced/Tiara/source/py_modules/tallyData.py b/examples/advanced/Tiara/source/py_modules/tallyData.py deleted file mode 100644 index 2d09a271d2..0000000000 --- a/examples/advanced/Tiara/source/py_modules/tallyData.py +++ /dev/null @@ -1,72 +0,0 @@ -# $Id: tallyData.py,v 1.2 2003/06/16 17:06:44 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# - -class MeasureData: - def __init__(self, entries, mean, sum, sumSquared, variance): - self.entries = entries - self.mean = mean - self.sum = sum - self.sumSquared = sumSquared - self.variance = variance - - def __iadd__(self,m): - self.entries += m.entries - self.sum += m.sum - self.sumSquared += m.sumSquared - self.mean = self.getMean() - self.variance = self.getVariance() - return self - - def __add__(self,b): - c = MeasureData(self.entries, - self.mean, - self.sum, - self.sumSquared, - self.variance) - c+=b - return c - - def getMean(self): - return 1.0 * self.sum / self.entries - - def getVariance(self): - n = 0 - f = 0 - if self.entries > 1: - mean = self.getMean() - n = 1.0 * self.entries/(self.entries -1) - f = 1.0 * self.sumSquared/self.entries - mean*mean - return n * f - - - -class TallyData: - def __init__(self, binEdges, measures): - self.binEdges = binEdges - self.measures = measures - - def addMeasures(self, tally): - if tally.binEdges != self.binEdges: - print "TallyData.addMeasures: tally.binEdges != self.binEdges" - else: - for i in range(len(self.measures)): - self.measures[i] += tally.measures[i] - - - - - -def createTallyDat(tally): - measures = [] - for i in range(tally.size()): - m = tally.measure(i) - measures.append(MeasureData(m.GetEntries(), - m.GetMean(), - m.GetSum(), - m.GetSumSquared(), - m.GetVariance())) - t = TallyData(tally.binEdges(), measures) - return t diff --git a/examples/advanced/Tiara/source/py_modules/tiaraApplication.py b/examples/advanced/Tiara/source/py_modules/tiaraApplication.py deleted file mode 100644 index b60dd589cd..0000000000 --- a/examples/advanced/Tiara/source/py_modules/tiaraApplication.py +++ /dev/null @@ -1,243 +0,0 @@ -# $Id: tiaraApplication.py,v 1.7 2006/06/26 10:13:14 ahoward Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import string -import CLHEP -import G4Kernel -import Tiara - -import tiaraSpecifications -import tallyData - - - -class TiaraApplet(object): - tiaraSim = None - def __init__(self, tiaraSpecs, tSim = None, usePI = True): - if usePI: - import myPI - self.tree = myPI.tf.create() - self.hf = myPI.af.createHistogramFactory (self.tree) - print self.hf - print "hf" - hf_ptr = str(self.hf._theObject) - print hf_ptr - print "hf_ptr before split" - hf_ptr = string.split(str(self.hf._theObject))[-1] - print hf_ptr - print "hf_ptr after split" - hf_ptr2 = hf_ptr.split('x')[1] - for i in range(len(hf_ptr2),8) : - hf_ptr2 = '0'+hf_ptr2 - - self.hf.this='_' + hf_ptr2 + '_p_AIDA__IHistogramFactory' - self.hf.thisown = 1 - print self.hf.this - print "hf.this after split" - else: - self.tree = None - self.hf = None - - if (not TiaraApplet.tiaraSim): - if not tSim: - print "Error: TiaraApplet: argument is empty, and no tiaraSim exists!" - else: - TiaraApplet.tiaraSim = tSim - self.tiaraSpecs = tiaraSpecs - self.tiaraHall = Tiara.TiaraGeometry(self.tiaraSpecs.\ - materials) - self.cellScorerStore = Tiara.TiaraCellScorerStore() - self.sampler = G4Kernel.G4MassGeometrySampler("neutron") - self.eventAction = None - self.scorer = None - self.primGen = None - self.scSrc = None - self.physicsList = None - self.nameExt = "" - self.scoreDets = [] - self.scoreDetectorCreator = None - self.noComponents = 0 - self.createdDPS = 0 - self.tiaraSim.SetGeometry(self.tiaraHall) - - def specifyPhysicsList(self, pl, particleCut): - self.particleCut = particleCut - self.physicsList = pl - - def setScoreDetectorCreator(self, creator): - self.scoreDetectorCreator=creator - - def visMode(self): - if self.eventAction: - print "TiaraApplet.visMode(): event action exists already" - else: - self.eventAction = Tiara.TiaraVisEventAction() -# now later self.tiaraSim.AddVisRunAction() - self.tiaraSim.AddTiaraEventAction(self.eventAction) - return - - def timedMode(self, time, randomNumFileName = ""): - if self.eventAction: - print "TiaraApplet.timedMode(): event action exists already" - else: - self.eventAction = Tiara.TiaraTimedEventAction(time) - if randomNumFileName: - self.eventAction.SetRnadomNumFilename(randomNumFileName) - self.tiaraSim.AddTiaraEventAction(self.eventAction) - return - - - def buildColimator(self): - posColi = \ - CLHEP.Hep3Vector(0,0, self.tiaraSpecs. - dimensions.targetPosZ + - self.tiaraSpecs. - dimensions.distTargetExperiment + - self.tiaraSpecs.\ - experiment.colWidth/2) - - logCol = self.tiaraHall.BuildCollimator(self.tiaraSpecs.\ - experiment.colWidth, - "iron", - "air") - self.tiaraHall.PlaceExpComponent(posColi, - logCol, - "colimator") - return - - def buildShield(self): - log = self.tiaraHall.BuildShield(self.tiaraSpecs.\ - experiment.shieldWidth, - self.tiaraSpecs.\ - experiment.shieldMaterial) - posShield = CLHEP.Hep3Vector(0,0, self.tiaraSpecs. - dimensions.targetPosZ + - self.tiaraSpecs. - dimensions. - distTargetExperiment + - self.tiaraSpecs.experiment. - colWidth + - self.tiaraSpecs.experiment.\ - shieldWidth/2) - self.tiaraHall.PlaceExpComponent(posShield, log, "shield") - return - - def buildGeometry(self): - self.tiaraHall.BuildGeometry(self.tiaraSpecs.dimensions) - if self.noComponents != 1: - self.tiaraHall.CreateComponents() - if self.tiaraSpecs.experiment.colWidth > 0: - self.buildColimator() - self.buildShield() - - def createCellScorers(self): - self.cellScorer = [] - tally = Tiara.TiaraTally() - tally.setBinEdges(tiaraSpecifications.\ - tallyBinEdges[self.tiaraSpecs.\ - experiment.energy]) - for det in self.scoreDets: - det.scorer = None - if self.hf: - det.scorer = \ - Tiara.\ - TiaraCellScorer(self.hf, - det.name, - self.tiaraSpecs. - experiment.binEdgesScinti, - self.tiaraSpecs. - experiment.binEdgesBonner, - tally) - else: - det.scorer = \ - Tiara.\ - TiaraCellScorer(det.name, - tally) - self.cellScorer.append(det.scorer) - - - def buildDetectors(self): - tally = Tiara.TiaraTally() - tally.setBinEdges(tiaraSpecifications.\ - tallyBinEdges[self.tiaraSpecs. - experiment.energy]) - - physSrcDet = self.tiaraHall.AddSourceDetector() - self.scSrc = None - if self.hf: - self.scSrc = Tiara.\ - TiaraCellScorer(self.hf, - "source_detector", - self.tiaraSpecs. - experiment.binEdgesScinti, - self.tiaraSpecs. - experiment.binEdgesBonner, - tally) - - else: - self.scSrc = Tiara.\ - TiaraCellScorer("source_detector", - tally) - - - self.scoreDets = self.scoreDetectorCreator.\ - createScoreDetectors(self.tiaraHall) - - self.createCellScorers() - - self.cellScorerStore.AddTiaraCellScorer(self.scSrc, - G4Kernel.G4GeometryCell(physSrcDet, - 0)) - - for det in self.scoreDets: - self.cellScorerStore.AddTiaraCellScorer(det.scorer, - G4Kernel.\ - G4GeometryCell(det. - phys, - 0)) - - self.scorer = G4Kernel.G4CellStoreScorer(self.cellScorerStore. - GetG4VCellScorerStore()) - - self.eventAction.SetScorerStore(self.cellScorerStore) - - return - - def setPhysics(self): - self.tiaraSim.SetPhysicsList(self.physicsList) - return - - def visAdd(self): - self.tiaraSim.AddVisRunAction() - return - - def setPrimaryGenerator(self, primGen): - self.primGen = primGen - self.tiaraSim.SetPrimaryGenerator(self.primGen) - return - - def fillShelve(self, shelveDB): - t = self.primGen.GetTally() - shelveDB["generatorTally"] = tallyData.createTallyDat(t) - t = self.scSrc.GetTally() - shelveDB["sourceDetectorTally"] = tallyData.createTallyDat(t) - for det in self.scoreDets: - t = det.scorer.GetTally() - shelveDB[det.name + "Tally"] = tallyData.createTallyDat(t) - shelveDB["runTime"] = self.eventAction.GetTotalProcessedTime() - - def config(self): - - self.buildDetectors() - self.tiaraSim.initialize() - - if len(self.particleCut) > 0: - for p in self.particleCut: - self.tiaraSim.AddParticleCut(p, self.particleCut[p]); - - self.sampler.PrepareScoring(self.scorer) - self.sampler.Configure() - - diff --git a/examples/advanced/Tiara/source/py_modules/tiaraDetectors.py b/examples/advanced/Tiara/source/py_modules/tiaraDetectors.py deleted file mode 100644 index 5739e7adf1..0000000000 --- a/examples/advanced/Tiara/source/py_modules/tiaraDetectors.py +++ /dev/null @@ -1,42 +0,0 @@ -# $Id: tiaraDetectors.py,v 1.4 2004/06/09 15:04:36 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import CLHEP -import G4Kernel - -class ScoreDetector(object): - def __init__(self, name): - self.name = name - self.phys = "" - self.scorer = "" - -class DetectorSlab(object): - def __init__(self): - pass - def createScoreDetectors(self, tiaraHall): - scoreDets = [] - scoreDets.append(ScoreDetector("detectorSlab")) - scoreDets[0].phys = tiaraHall.AddDetectorSlab(scoreDets[0].name) - print "+++ DetectorSlab: created slab detector." - return scoreDets - -class ThreeZylindricDetectors(object): - def __init__(self): - pass - def createScoreDetectors(self, tiaraHall): - scoreDets = [] - scoreDets.append(ScoreDetector("detector_00")) - scoreDets.append(ScoreDetector("detector_20")) - scoreDets.append(ScoreDetector("detector_40")) - dist = 0.0 - for det in scoreDets: - if dist > 0.0: - det.phys = tiaraHall.AddPhysicalRingDetector(dist, - det.name) - else: - det.phys = tiaraHall.AddPhysicalDetector(dist, det.name) - dist += 20*CLHEP.cm - print "+++ ThreeZylindricDetectors: created 3 zylindric detectors" - return scoreDets diff --git a/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py b/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py deleted file mode 100644 index 9260d86edc..0000000000 --- a/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py +++ /dev/null @@ -1,91 +0,0 @@ -# $Id: tiaraGenerators.py,v 1.3 2004/06/09 15:04:36 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import string -import tiaraSpecifications -import Tiara -import os - -tiara_dir = os.environ["TIARA_BASE"] - -class TiaraPrimaryGenerator(object): - def __init__(self, tiaraSpecs): - self.name = "preIntegratedSource" - self.eSamp = Tiara.TiaraSampledEnergy(\ - tiaraSpecs.experiment.energy, - tiaraSpecs.experiment.minNeutronEnergyCut, - tiara_dir + "/data/expDataConverted/source.xml", - "_v3") - self.tally = Tiara.TiaraTally() - self.tally.setBinEdges(tiaraSpecifications.\ - sourceTallyEdges[tiaraSpecs.experiment.energy]) - - self.directionGenerator = Tiara.TiaraIsotropicDirections(\ - 0, - tiaraSpecs.dimensions) - self.primGen = Tiara.TiaraPrimaryGeneratorAction(\ - self.eSamp, - self.directionGenerator, - self.tally, - tiaraSpecs.dimensions) - return - - -class TiaraDPSEnergyGenerator(object): - def __init__(self, tiaraSpecs, xmlName): - self.Name = "dpsSource" - self.eSamp = Tiara.\ - TiaraDPSSampledEnergy(tiaraSpecs. - experiment.energy, - tiaraSpecs. - experiment.minNeutronEnergyCut, - xmlName, - "") - - self.tally = Tiara.TiaraTally() - - if string.find(xmlName,"other") > -1: - if tiaraSpecs.experiment.energy == "43": - self.tally.setBinEdges([0,37.5, 43,50]) - else: - if tiaraSpecs.experiment.energy == "68": - self.tally.setBinEdges([0,61, 69,80]) - else: - self.tally.setBinEdges(tiaraSpecifications.\ - sourceTallyEdges[tiaraSpecs. - experiment.energy]) - - self.directionGenerator = Tiara.TiaraIsotropicDirections(\ - 0, - tiaraSpecs.dimensions) - self.primGen = Tiara.TiaraPrimaryGeneratorAction(\ - self.eSamp, - self.directionGenerator, - self.tally, - tiaraSpecs.dimensions) - return - -class FixedEnergyPrimaryGenerator(object): - def __init__(self, tiaraSpecs): - self.name = "fixedSource" - self.eSamp = Tiara.TiaraFixedEnergyGenerator(\ - float(tiaraSpecs.experiment.energy)) - self.tally = Tiara.TiaraTally() - self.tally.setBinEdges(tiaraSpecifications.\ - sourceTallyEdges[tiaraSpecs. - experiment.energy]) - - self.directionGenerator = Tiara.TiaraIsotropicDirections(\ - 0, - tiaraSpecs.dimensions) - self.primGen = Tiara.TiaraPrimaryGeneratorAction(\ - self.eSamp, - self.directionGenerator, - self.tally, - tiaraSpecs.dimensions) - return - - - diff --git a/examples/advanced/Tiara/source/py_modules/tiaraSpecifications.py b/examples/advanced/Tiara/source/py_modules/tiaraSpecifications.py deleted file mode 100644 index 1dbdcd3eab..0000000000 --- a/examples/advanced/Tiara/source/py_modules/tiaraSpecifications.py +++ /dev/null @@ -1,100 +0,0 @@ -# $Id: tiaraSpecifications.py,v 1.3 2003/06/20 12:41:07 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import CLHEP -import G4Kernel - -ColWidth = {"43":40*CLHEP.cm, - "68":80*CLHEP.cm} - -BinEdgesScinti = {"43":range(4,45), - "68":range(6,45) + range(46,71,2)} - -BinEdgesBonner = {"43": [4.500E+07, - 3.500E+07, - 2.750E+07, - 2.250E+07, - 1.750E+07, - 1.350E+07, - 1.000E+07, - 6.700E+06, - 4.490E+06, - 3.010E+06, - 2.020E+06, - 1.350E+06, - 9.070E+05, - 4.980E+05, - 2.240E+05, - 8.650E+04, - 1.500E+04, - 3.350E+03, - 4.540E+02, - 2.260E+01, - 5.040E+00, - 1.120E+00, - 4.140E-01, - 1.000E-04], - "68": [ 8.000E+07, - 6.500E+07, - 5.500E+07, - 4.500E+07, - 3.500E+07, - 2.750E+07, - 2.250E+07, - 1.750E+07, - 1.350E+07, - 1.000E+07, - 6.700E+06, - 4.490E+06, - 3.010E+06, - 2.020E+06, - 1.350E+06, - 9.070E+05, - 4.980E+05, - 2.240E+05, - 8.650E+04, - 1.500E+04, - 3.350E+03, - 4.540E+02, - 2.260E+01, - 5.040E+00, - 1.120E+00, - 4.140E-01, - 1.000E-04]} - - -tallyBinEdges = {} -tallyBinEdges["43"] = [0,10,35,45] -tallyBinEdges["68"] = [0,10,60,70] - -sourceTallyEdges = {} -sourceTallyEdges["43"] = [0,36.3, 45.5,50] -sourceTallyEdges["68"] = [0,60.8, 72.5,80] - -class Experiment(object): - def __init__(self, - energy, - minNeutronEnergyCut, - particleCut, - shieldWidth, - shieldMaterial): - self.energy = "%(energy)d" % vars() - self.minNeutronEnergyCut = minNeutronEnergyCut - self.particleCut = particleCut - self.shieldWidth = shieldWidth - self.shieldMaterial = shieldMaterial - self.binEdgesBonner = BinEdgesBonner[self.energy] - self.binEdgesScinti = BinEdgesScinti[self.energy] - self.colWidth = 0 - if self.shieldWidth <= 50.0*CLHEP.cm: - self.colWidth = ColWidth[self.energy] - - -class Specifications(object): - def __init__(self,dimensions, experiment, materials): - self.dimensions = dimensions - self.experiment = experiment - self.materials = materials - diff --git a/examples/advanced/Tiara/source/py_modules/variableGeometry.py b/examples/advanced/Tiara/source/py_modules/variableGeometry.py deleted file mode 100644 index 953aee2a7c..0000000000 --- a/examples/advanced/Tiara/source/py_modules/variableGeometry.py +++ /dev/null @@ -1,137 +0,0 @@ -# $Id: variableGeometry.py,v 1.2 2003/06/16 17:06:45 dressel Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-09-02 $ -# ------------------------------------------------------------------- -# -import G4Kernel -import parallelHall -import posLog - -class VariableSlobedGeometry(object): - def __init__(self,\ - tiaraSpecs, - cellSizeImportanceList, - parallelGeo): - self.arrPosLogVol = [] - self.normalCellSolids = [] - self.logNormCells = [] - self.lastCellSolid = None - self.logLastCell = None - self.createCells(tiaraSpecs, - cellSizeImportanceList, parallelGeo) - - def createCells(self, tiaraSpecs, - cellSizeImportanceList, parallelGeo): - nImps = len(cellSizeImportanceList) - zCellStart = tiaraSpecs.dimensions.targetPosZ + \ - tiaraSpecs.dimensions.distTargetExperiment + \ - tiaraSpecs.experiment.colWidth - zCellRegion = parallelGeo.halfLength - zCellStart - print "zCellStart", zCellStart, "zCellRegion", zCellRegion - vacuum = tiaraSpecs.materials.GetMaterial("vacuum") - for i in range(nImps): - ncsName = "cellBox_%(i)d" % vars() - print "i", i, "cswidth", cellSizeImportanceList[i]["width"] - ncs = G4Kernel.G4Box(ncsName, - parallelGeo.halfWidth, - parallelGeo.halfWidth, - 0.5 * cellSizeImportanceList[i]["width"]) - self.normalCellSolids.append(ncs) - nclName = "cellLog_%(i)d" % vars() - ncl = G4Kernel.G4LogicalVolume(ncs, - vacuum, - nclName) - self.logNormCells.append(ncl) - - zPos = zCellStart - for i in range(nImps): - zPos += 0.5 * cellSizeImportanceList[i]["width"] - print "zPos", zPos, "cellNum", i - self.arrPosLogVol.append(posLog.PosLog(zPos, self.logNormCells[i])) - zPos += 0.5 * cellSizeImportanceList[i]["width"] - - - allCellWidth = 0.0 - for i in range(nImps): - allCellWidth+=cellSizeImportanceList[i]["width"] - print "allCellWidth", allCellWidth - lengthLastCell = zCellRegion - allCellWidth - - self.lastCellSolid = G4Kernel.G4Box("lastCellBox", - parallelGeo.halfWidth, - parallelGeo.halfWidth, - lengthLastCell/2) - self.logLastCell = G4Kernel.G4LogicalVolume(self.lastCellSolid, - vacuum, - "lastCellLog") - - zPos += lengthLastCell/2 - print "last cell zPos", zPos, "length", lengthLastCell - self.arrPosLogVol.append(posLog.PosLog(zPos, self.logLastCell)) - - - def getArrPosLogVol(self): - return self.arrPosLogVol - - -class VariableImpSlabGeometry(object): - def __init__(self, tiaraSpecs, - parallelGeo = None): - self.tiaraSpecs = tiaraSpecs - self.cellSizeImportanceList = [] - self.parallelGeo = parallelGeo - self.iStore = None - self.geometryCells = [] - self.base = 0.0 - self.nameExt = "-variableCellWidth" - - - def addCellImportance(self, width, faktor): - self.cellSizeImportanceList.append( - {"width":width, "faktor":faktor}) - - - def construct(self): - nImps = len(self.cellSizeImportanceList) - if nImps>0: - for i in range(nImps): - self.base+=1.0*self.cellSizeImportanceList[i]["faktor"] - self.base/=nImps - self.createParallelGeometry(self.tiaraSpecs) - self.setImportances() - - - def createParallelGeometry(self, tiaraSpecs): - self.parallelGeo = parallelHall.ParallelHall(tiaraSpecs) - self.slobedGeo = VariableSlobedGeometry(\ - tiaraSpecs, - self.cellSizeImportanceList, - self.parallelGeo) - self.parallelGeo.placeCells(self.slobedGeo.getArrPosLogVol()) - self.iStore = G4Kernel.G4IStore(self.parallelGeo.getWorldVolume()) - self.geometryCells = self.parallelGeo.getGeometryCells() - - def setImportances(self): - worldCell = G4Kernel.G4GeometryCell(self.parallelGeo.\ - getWorldVolume(), 0) - self.iStore.AddImportanceGeometryCell(1, worldCell) - nCells = len(self.geometryCells) - nImps = len(self.cellSizeImportanceList) - if ((nCells - 1) != nImps): - print "VariableImpSlabGeometry: ERROR importances and cells don't mach!", nCells, nImps - importance = 1 - for i in range(nImps): - cell = self.geometryCells[i] - importance*=self.cellSizeImportanceList[i]["faktor"] - print "i=", importance - self.iStore.AddImportanceGeometryCell(importance, cell) - - lastCell = self.geometryCells[nCells-1] - print "last cells i=", importance - self.iStore.AddImportanceGeometryCell(importance, lastCell) - - def getWorldVolume(self): - return self.parallelGeo.getWorldVolume() - - def getImportanceStore(self): - return self.iStore diff --git a/examples/advanced/Tiara/source/swig.gmk b/examples/advanced/Tiara/source/swig.gmk deleted file mode 100644 index 78a51056ce..0000000000 --- a/examples/advanced/Tiara/source/swig.gmk +++ /dev/null @@ -1,51 +0,0 @@ -# $Id: swig.gmk,v 1.6 2006/06/25 14:07:23 ahoward Exp $ -# -------------------------------------------------------------- -# swig.gmk Michael Dressel -# -------------------------------------------------------------- - -libdirWrapper = $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) - - -SWIGINC = $(wildcard include/*.i) -TMP = $(subst .i,_wrap.cc,$(SWIGINC)) -TMPD = $(subst .i,_wrap.d,$(SWIGINC)) -TMPO = $(subst .i,_wrap.o,$(SWIGINC)) -TMPSO = $(subst .i,.so,$(SWIGINC)) -SWIGCC = $(subst include,src,$(TMP)) -SWIGD = $(subst include/,$(libdirWrapper)/,$(TMPD)) -objectfilesWrapper = $(subst include,$(libdirWrapper),$(TMPO)) -SWIGSO = $(subst include/,$(libdirWrapper)/_,$(TMPSO)) - -moduleName = $(subst Wrapper,,$(name)) - - -.PHONY: all swigClean - -all: ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) $(SWIGD) $(SWIGCC) ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) -CXXFLAGS += -w - - -ifdef G4ANALYSIS_USE -SWIGFLAGS += -DG4ANALYSIS_USE -endif - - -MYLIBS = $(subst -l$(name),,$(LDLIBS)) - -$(SWIGSO): $(objectfilesWrapper) $(SWIG_OBJ_DEP) - @echo Creating shared library: $(libdirWrapper)/$@ - $(CXX) -Wl,-soname,$(@F) -shared $(LDFLAGS) $(objectfilesWrapper) $(SWIG_OBJ_DEP) $(MYLIBS) -lc -o $(SWIGSO) - -src/%_wrap.cc: include/%.i - $(SWIG) -python -c++ -shadow -no_default $(SWIGFLAGS) \ - ${SWIG_INCDIRS} \ - -o $@ $< - @mv src/$(moduleName).py ./ - -${G4WORKDIR}/tmp/${G4SYSTEM}/$(name): - @mkdir ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) - -swigClean: - @echo Cleaning up $(moduleName).py, $(SWIGCC) - @rm -f $(moduleName).py - @rm -f $(SWIGCC) diff --git a/examples/advanced/Tiara/source/tiara/hadronic_lists.gmk b/examples/advanced/Tiara/source/tiara/hadronic_lists.gmk deleted file mode 100644 index 0c4d6e5b70..0000000000 --- a/examples/advanced/Tiara/source/tiara/hadronic_lists.gmk +++ /dev/null @@ -1,56 +0,0 @@ -# $Id: hadronic_lists.gmk,v 1.1 2006/06/23 14:33:48 ahoward Exp $ -# -------------------------------------------------------------- -# hadronic physics-lists setup -# -------------------------------------------------------------- - -ifndef G4LISTS_BASE - EXTRALIBS += -L$(G4LIB)/plists/$(G4SYSTEM) - G4LISTS_BASE = $(G4INSTALL)/physics_lists -else - EXTRALIBS += -L$(G4LISTS_BASE)/hadronic/plists/lib/$(G4SYSTEM) -endif - -EXTRALIBS += -lFTFP -EXTRALIBS += -lLHEP -EXTRALIBS += -lLHEP_BERT_HP -EXTRALIBS += -lLHEP_BIC_HP -EXTRALIBS += -lLHEP_LEAD_HP -EXTRALIBS += -lLHEP_PRECO -EXTRALIBS += -lQGSP_BERT -EXTRALIBS += -lLHEP_PRECO_HP -EXTRALIBS += -lQGSC -EXTRALIBS += -lQGSC_LEAD -EXTRALIBS += -lQGSC_LEAD_HP -EXTRALIBS += -lQGSP -EXTRALIBS += -lQGSP_HP -EXTRALIBS += -lQGSP_BERT_HP -EXTRALIBS += -lQGSP_BIC -EXTRALIBS += -lQBBC -EXTRALIBS += -lPackaging - -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFC/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LBE/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_GN/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/Packaging/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BERT/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BIC/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BERT_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_GN/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_HP/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_Model/include -CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QBBC/include diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorer.hh b/examples/advanced/Tiara/source/tiara/include/TiaraCellScorer.hh deleted file mode 100644 index 1390b139b2..0000000000 --- a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorer.hh +++ /dev/null @@ -1,102 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: TiaraCellScorer.hh,v 1.4 2006/06/29 15:43:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ---------------------------------------------------------------------- -// Class TiaraCellScorer -// -// Class description: -// -// This class is an example how to build a customized cell scorer -// derived from G4VCellScorer that also uses the G4CellScorer. -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef TiaraCellScorer_hh -#define TiaraCellScorer_hh TiaraCellScorer_hh - - -#include "G4CellScoreComposer.hh" -#include "G4CellScorer.hh" -#include "G4VCellScorer.hh" - -#include - -#ifdef G4ANALYSIS_USE -#include "AIDA/AIDA.h" -#endif - -#include "TiaraTally.hh" - - -class TiaraCellScorer : public G4VCellScorer{ -public: -#ifdef G4ANALYSIS_USE - TiaraCellScorer(AIDA::IHistogramFactory *hf, - const G4String &histBaseName, - const std::vector & binEdgesScinti, - const std::vector & binEdgesBonner, - const TiaraTally &tally); -#else - TiaraCellScorer(const G4String &histBaseName, - const TiaraTally &tally); -#endif - - virtual ~TiaraCellScorer(); - virtual void ScoreAnExitingStep(const G4Step &aStep, - const G4GeometryCell &gCell); - virtual void ScoreAnEnteringStep(const G4Step &aStep, - const G4GeometryCell &gCell); - virtual void ScoreAnInVolumeStep(const G4Step &aStep, - const G4GeometryCell &gCell); - - const G4CellScorer &GetG4CellScorer() const { - return fG4CellScorer; - } - const TiaraTally &GetTally() const ; - - void EndOfEventAction(); - -private: - void FillHisto(const G4Step &aStep); - - G4CellScorer fG4CellScorer; - G4String fBaseName; -#ifdef G4ANALYSIS_USE - AIDA::IHistogram1D* fEnergyHisto; - AIDA::IHistogram1D* fEnergyFluxHisto; - AIDA::IHistogram1D* fEnergyHistoBonner; - AIDA::IHistogram1D* fEnergyFluxHistoBonner; -#endif - TiaraTally fTally; -}; - - - -#endif diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorerStore.hh b/examples/advanced/Tiara/source/tiara/include/TiaraCellScorerStore.hh deleted file mode 100644 index ab75ffe594..0000000000 --- a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorerStore.hh +++ /dev/null @@ -1,85 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: TiaraCellScorerStore.hh,v 1.3 2006/06/29 15:43:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ---------------------------------------------------------------------- -// Class TiaraCellScorerStore -// -// Class description: -// -// This class is a cell customized cell scorer store. -// Nevertheless the standard G4CellScorer may be created with this class -// simular to the G4CellScorerStore. In addition this class -// stores TiaraCellScorer pointers. -// This class delivers a map with the G4CellScorer objects -// to be printed with the G4ScorerTable class. -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef TiaraCellScorerStore_hh -#define TiaraCellScorerStore_hh TiaraCellScorerStore_hh - -#include -#include "G4GeometryCell.hh" -#include "G4GeometryCellComp.hh" - -#include "globals.hh" -#include "G4VCellScorerStore.hh" -#include "G4CellScorerStore.hh" - -class G4CellScorer; -class IHistogram1D; -class TiaraCellScorer; - -//typedef std::map G4MapGeometryCellCellScorer; - -typedef std::map TiaraMapGeometryCellTiaraCellScorer; - -class TiaraCellScorerStore : public G4VCellScorerStore { -public: - TiaraCellScorerStore(); - virtual ~TiaraCellScorerStore(){} - - virtual G4VCellScorer *GetCellScore(const G4GeometryCell &gCell); - - G4CellScorer *AddG4CellScorer(const G4GeometryCell &gCell); - const G4MapGeometryCellCellScorer &GetMapGeometryCellCellScorer() ; - - void AddTiaraCellScorer(TiaraCellScorer *tiaraCellScorer, - const G4GeometryCell &gCell); - const TiaraMapGeometryCellTiaraCellScorer &GetMapGeometryCellTiaraCellScorer() const ; - void EndOfEventAction(); - -private: - G4MapGeometryCellCellScorer fMapGeometryCellCellScorer; - TiaraMapGeometryCellTiaraCellScorer fMapGeometryCellTiaraCellScorer; - -}; - -#endif diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraDPSSampledEnergy.hh b/examples/advanced/Tiara/source/tiara/include/TiaraDPSSampledEnergy.hh deleted file mode 100644 index 769db0fa21..0000000000 --- a/examples/advanced/Tiara/source/tiara/include/TiaraDPSSampledEnergy.hh +++ /dev/null @@ -1,82 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraDPSSampledEnergy.hh,v 1.7 2006/06/29 15:43:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ---------------------------------------------------------------------- -// -// Class TiaraDPSSampledEnergy -// - -#ifndef TiaraDPSSampledEnergy_hh -#define TiaraDPSSampledEnergy_hh TiaraDPSSampledEnergy_hh - -#ifdef G4ANALYSIS_USE - -#include "TiaraVSourceEnergyGenerator.hh" -#include -#include - -namespace AIDA { - class IDataPointSet; - class ITree; -} - -class TiaraDPSSampledEnergy : public TiaraVSourceEnergyGenerator { -public: - TiaraDPSSampledEnergy(const G4String &eng, - G4double minEnergyCut, - const G4String &sourceTree, - const G4String &nameExt = G4String("")); - ~TiaraDPSSampledEnergy(); - TiaraDPSSampledEnergy(const TiaraDPSSampledEnergy& rhs); - - - virtual G4double GetEnergy(); - virtual TiaraVSourceEnergyGenerator *Clone() const; - - TiaraDPSSampledEnergy& operator=(const TiaraDPSSampledEnergy& rhs); - -private: - - void getBounds(G4int &cL, G4int &cH, G4double v); - - //std::auto_ptr fTree; - // std::auto_ptr fSampleDPS; - // ///// - AIDA::ITree* fTree; - AIDA::IDataPointSet* fSampleDPS; - ////// - - G4double fMinEnergyCut; - std::map fEnergy_Flux; - G4double fMaxProb; - G4double fMinE; - G4double fMaxE; -}; - -#endif -#endif diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraSim.hh b/examples/advanced/Tiara/source/tiara/include/TiaraSim.hh deleted file mode 100644 index c7da82c0c9..0000000000 --- a/examples/advanced/Tiara/source/tiara/include/TiaraSim.hh +++ /dev/null @@ -1,98 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraSim.hh,v 1.5 2006/06/29 15:44:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ---------------------------------------------------------------------- -// -// Class TiaraSim -// - -#ifndef TiaraSim_hh -#define TiaraSim_hh TiaraSim_hh -#include "G4UIterminal.hh" -#include -#include -#include "G4ProcessPlacer.hh" - -class G4RunManager; -class G4VUserPrimaryGeneratorAction; -class G4VUserPhysicsList; -class TiaraPhysicsList; -class G4VUserDetectorConstruction; -class G4VisManager; -class TiaraStackingAction; -class G4UserEventAction; -class TiaraEnergyCutProcess; - -class TiaraSim { -public: - ~TiaraSim(); - static TiaraSim &GetTiaraSim(); - void SetGeometry(G4VUserDetectorConstruction *geo); - void SetPrimaryGenerator(G4VUserPrimaryGeneratorAction *primGen); - void SetPhysicsList(G4VUserPhysicsList *physList); - void initialize(); - void initializeVisManager(); - void startSession(); - void AddParticleCut(const std::string &particle, - G4double cut); - void AddTiaraEventAction(G4UserEventAction *eventAction); - void AddVisRunAction(); - void BeamOn(G4int nEvents); - -private: - TiaraSim(); - static TiaraSim *fTiaraSim; - G4RunManager *frunMgr; - G4VisManager *fVisManager; - G4UIterminal fSession; - - G4VUserDetectorConstruction *fGeometry; - G4VUserPrimaryGeneratorAction *fPrimary; - G4VUserPhysicsList *fPhysics; - - std::vector fCutProcessVector; - std::vector fPlacers; - - TiaraStackingAction *fStackingAction; - G4UserEventAction *fUserEventAction; -}; - - - - -#endif - - - - - - - - - - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorer.cc b/examples/advanced/Tiara/source/tiara/src/TiaraCellScorer.cc deleted file mode 100644 index 240ea422aa..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorer.cc +++ /dev/null @@ -1,149 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: TiaraCellScorer.cc,v 1.5 2006/06/29 15:44:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// TiaraCellScorer.cc -// -// ---------------------------------------------------------------------- - -#include -#include "TiaraCellScorer.hh" -#include "G4GeometryCell.hh" -#include "G4Step.hh" -#include "G4StepPoint.hh" -#include "G4CellScoreValues.hh" -#include "Randomize.hh" - -#ifdef G4ANALYSIS_USE -TiaraCellScorer::TiaraCellScorer(AIDA::IHistogramFactory *hf, - const G4String &histBaseName, - const std::vector - &binEdgesScinti, - const std::vector - &binEdgesBonner, - const TiaraTally &tally) : - fBaseName(histBaseName), - // fEnergyHisto(hf->createHistogram1D(histBaseName, - // histBaseName + ": flux vs. energy", - // binEdgesScinti)), - //fEnergyFluxHisto(hf->createHistogram1D(histBaseName + "Eflux", - // histBaseName + ": energy flux vs. energy", - // binEdgesScinti)), - - //fEnergyHistoBonner(hf->createHistogram1D(histBaseName + "Bonner", - // histBaseName + ": flux vs. energy", - // binEdgesBonner)), - //fEnergyFluxHistoBonner(hf->createHistogram1D(histBaseName + "BonnerEflux", - // histBaseName + ": energy flux vs. energy", - // binEdgesBonner)), - - fTally(tally) -{ - //G4cout << "porca troia" << G4endl; - G4cout << hf << " hf in G4" << G4endl; - fEnergyHisto = hf->createHistogram1D(histBaseName, - histBaseName + ": flux vs. energy", - binEdgesScinti); - fEnergyFluxHisto = hf->createHistogram1D(histBaseName + "Eflux", - histBaseName + ": energy flux vs. energy", - binEdgesScinti); - fEnergyHistoBonner = hf->createHistogram1D(histBaseName + "Bonner", - histBaseName + ": flux vs. energy", - binEdgesBonner); - fEnergyFluxHistoBonner = hf->createHistogram1D(histBaseName + "BonnerEflux", - histBaseName + ": energy flux vs. energy", - binEdgesBonner); -} -#else -TiaraCellScorer::TiaraCellScorer(const G4String &histBaseName, - const TiaraTally &tally) : - fBaseName(histBaseName), - fTally(tally) -{} -#endif - - -TiaraCellScorer::~TiaraCellScorer() -{} - -void TiaraCellScorer::ScoreAnExitingStep(const G4Step &aStep, - const G4GeometryCell &pre_gCell){ - fG4CellScorer.ScoreAnExitingStep(aStep, pre_gCell); - FillHisto(aStep); -} - -void TiaraCellScorer::ScoreAnEnteringStep(const G4Step &aStep, - const G4GeometryCell &post_gCell){ - fG4CellScorer.ScoreAnEnteringStep(aStep, post_gCell); - return; -} - -void TiaraCellScorer::ScoreAnInVolumeStep(const G4Step &aStep, - const G4GeometryCell &post_gCell){ - fG4CellScorer.ScoreAnInVolumeStep(aStep, post_gCell); - FillHisto(aStep); -} - -void TiaraCellScorer::FillHisto(const G4Step &aStep){ - - G4StepPoint *p = 0; - p = aStep.GetPreStepPoint(); - - G4double sl = aStep.GetStepLength() / cm; - G4double w = p->GetWeight(); - G4double slw = sl * w; - - G4double e(p->GetKineticEnergy()); - -#ifdef G4ANALYSIS_USE - fEnergyHisto->fill(e, slw); - fEnergyFluxHisto->fill(e, slw*e); - fEnergyHistoBonner->fill(e/eV, slw); - fEnergyFluxHistoBonner->fill(e/eV, slw*e/eV); -#else - G4cout << fBaseName << ": Energy: " << e << ", sl*w: " << slw << "\n"; -#endif - - fTally.fill(e, slw); - -} - -void TiaraCellScorer::EndOfEventAction() { -#ifndef G4ANALYSIS_USE - G4cout << fBaseName << ": end of event" << G4endl; -#endif - fTally.EndOfEventAction(); -} - -const TiaraTally &TiaraCellScorer::GetTally() const { - return fTally; -} - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorerStore.cc b/examples/advanced/Tiara/source/tiara/src/TiaraCellScorerStore.cc deleted file mode 100644 index 7cf75285df..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorerStore.cc +++ /dev/null @@ -1,95 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: TiaraCellScorerStore.cc,v 1.2 2008/06/14 16:56:59 cirrone Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// TiaraCellScorerStore.cc -// -// ---------------------------------------------------------------------- - -#include "TiaraCellScorerStore.hh" - -#include "G4CellScorer.hh" -#include "TiaraCellScorer.hh" - - -TiaraCellScorerStore::TiaraCellScorerStore() -{} - - -G4CellScorer *TiaraCellScorerStore:: -AddG4CellScorer(const G4GeometryCell &g) { - return fMapGeometryCellCellScorer[g] = - new G4CellScorer; -} - -void TiaraCellScorerStore:: -AddTiaraCellScorer(TiaraCellScorer *tiaraScorer, - const G4GeometryCell &g) { - fMapGeometryCellTiaraCellScorer[g] = tiaraScorer; -} - -void TiaraCellScorerStore::EndOfEventAction() { - for (TiaraMapGeometryCellTiaraCellScorer::iterator it = fMapGeometryCellTiaraCellScorer.begin(); - it != fMapGeometryCellTiaraCellScorer.end(); it++) { - (*it).second->EndOfEventAction(); - } -} - -const G4MapGeometryCellCellScorer &TiaraCellScorerStore::GetMapGeometryCellCellScorer() { - for (TiaraMapGeometryCellTiaraCellScorer::iterator it = fMapGeometryCellTiaraCellScorer.begin(); - it != fMapGeometryCellTiaraCellScorer.end(); it++) { - fMapGeometryCellCellScorer[(*it).first] = - new G4CellScorer((*it).second->GetG4CellScorer()); - } - return fMapGeometryCellCellScorer; -} - -const TiaraMapGeometryCellTiaraCellScorer &TiaraCellScorerStore::GetMapGeometryCellTiaraCellScorer() const { - return fMapGeometryCellTiaraCellScorer; -} - -G4VCellScorer *TiaraCellScorerStore:: -GetCellScore(const G4GeometryCell &gCell){ - TiaraMapGeometryCellTiaraCellScorer::iterator itTiara = - fMapGeometryCellTiaraCellScorer.find(gCell); - if (itTiara != fMapGeometryCellTiaraCellScorer.end()) { - return (*itTiara).second; - } - else { - G4MapGeometryCellCellScorer::iterator it = fMapGeometryCellCellScorer.find(gCell); - if (it != fMapGeometryCellCellScorer.end()) { - return (*it).second; - } - else { - return 0; - } - } -} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldB.cc b/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldB.cc deleted file mode 100644 index a07e4be821..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldB.cc +++ /dev/null @@ -1,104 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraConcreteShieldB.cc,v 1.4 2006/06/29 15:44:45 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraConcreteShieldB.hh" -#include "TiaraDimensions.hh" -#include "TiaraMaterials.hh" -#include "G4Box.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - - -TiaraConcreteShieldB:: -TiaraConcreteShieldB(TiaraMaterials &mfac, - const TiaraDimensions &tiaraDimensions){ - G4double halfHight((tiaraDimensions.distTargetEndB - - tiaraDimensions.distTargetEndA) / 2); - G4double radialHalf(0.5 * (tiaraDimensions.worldHalfWidth - - tiaraDimensions.widthExperiment/2)); - G4double lateralHalf(0.5 * (tiaraDimensions.widthExperiment/2 + - tiaraDimensions.worldHalfWidth)); - G4double radialShift(tiaraDimensions.widthExperiment/2 + radialHalf); - G4double lateralShift(tiaraDimensions.worldHalfWidth - lateralHalf); - - G4Box *concretBbox = new G4Box("concretBbox", - lateralHalf, - radialHalf, - halfHight); - - G4LogicalVolume *logConcreteBbox = - new G4LogicalVolume(concretBbox, - mfac.GetMaterial("concrete"), - "ConcreteBbox"); - - G4VisAttributes* pConcreteAVis = new - G4VisAttributes(G4Colour(0.5, 0.5, 0.5)); - // pConcreteAVis->SetForceSolid(true); - logConcreteBbox->SetVisAttributes(pConcreteAVis); - - TiaraPart tiaraPart; - tiaraPart.rot = 0; - tiaraPart.logVol = logConcreteBbox; - tiaraPart.pos.setZ(tiaraDimensions.targetPosZ + - tiaraDimensions.distTargetEndA + halfHight); - - // upper shield - tiaraPart.pos.setX(lateralShift); - tiaraPart.pos.setY(radialShift); - fTiaraParts.push_back(tiaraPart); - - // lower shield - tiaraPart.pos.setX(-1*lateralShift); - tiaraPart.pos.setY(-1*radialShift); - fTiaraParts.push_back(tiaraPart); - - // right shield - tiaraPart.rot = new G4RotationMatrix(); - tiaraPart.rot->set(G4ThreeVector(0, 0, 1), 90 * deg); - tiaraPart.pos.setX(-1* radialShift); - tiaraPart.pos.setY(lateralShift); - fTiaraParts.push_back(tiaraPart); - - // left shield - // tiaraPart.rot->set(G4ThreeVector(0, 0, 1), -90); - tiaraPart.pos.setX(radialShift); - tiaraPart.pos.setY(-1*lateralShift); - fTiaraParts.push_back(tiaraPart); - - -} - -TiaraConcreteShieldB::~TiaraConcreteShieldB(){ -} - -TiaraParts TiaraConcreteShieldB::GetParts(){ - return fTiaraParts; -} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraDPSSampledEnergy.cc b/examples/advanced/Tiara/source/tiara/src/TiaraDPSSampledEnergy.cc deleted file mode 100644 index e67aeec88d..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraDPSSampledEnergy.cc +++ /dev/null @@ -1,168 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraDPSSampledEnergy.cc,v 1.9 2006/06/29 15:44:48 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraDPSSampledEnergy.hh" - -#ifdef G4ANALYSIS_USE - -#include "Randomize.hh" -#include "TiaraFileAcess.hh" - - -#include "AIDA/AIDA.h" - - -TiaraDPSSampledEnergy::TiaraDPSSampledEnergy(const G4String &eng, - G4double minEnergyCut, - const G4String &sourceTree, - const G4String &nameExt) - : - // fTree( (checkFileIsReadable(sourceTree, "TiaraDPSSampledEnergy::TiaraDPSSampledEnergy"), -// AIDA_createAnalysisFactory() -// ->createTreeFactory() -// ->create(sourceTree, "xml",true,false)) ), - //fSampleDPS(dynamic_cast(fTree->find(G4String("dps" + eng + nameExt)))), - fMinEnergyCut(minEnergyCut), - fMaxProb(0) - // fMinE(fSampleDPS->point(0)->coordinate(0)->value()), - //fMaxE(fSampleDPS->point(fSampleDPS->size()-1)->coordinate(0)->value()) -{ - ///////////////////////////////////////// - - AIDA::IAnalysisFactory* aFact = AIDA_createAnalysisFactory(); - - AIDA::ITreeFactory *treeFact = aFact->createTreeFactory(); - - fTree = treeFact -> create(sourceTree, "xml",true,false); - - AIDA::IManagedObject* object = fTree->find("dps" + eng + nameExt); - if(object) { - AIDA::IDataPointSet* sample = object->cast("AIDA::IDataPointSet"); - fSampleDPS = sample; - } - fMinE = fSampleDPS->point(0)->coordinate(0)->value(); - fMaxE = fSampleDPS->point(fSampleDPS->size()-1)->coordinate(0)->value(); - - ///////////////////////////////////////// - - for (G4int i=0; i < fSampleDPS->size(); i++) { - AIDA::IDataPoint *p = fSampleDPS->point(i); - G4double prob(p->coordinate(1)->value()); - fEnergy_Flux[p->coordinate(0)->value() * 10] = prob; - if (prob > fMaxProb) { - fMaxProb = prob; - } - } - if (!(fMaxProb > 0)) { - G4Exception("TiaraDPSSampledEnergy::TiaraDPSSampledEnergy: fMaxProb <= 0!"); - } -} - -TiaraDPSSampledEnergy::TiaraDPSSampledEnergy(const TiaraDPSSampledEnergy& rhs) - : TiaraVSourceEnergyGenerator() -{ - *this = rhs; -} - -TiaraDPSSampledEnergy& TiaraDPSSampledEnergy:: -operator=(const TiaraDPSSampledEnergy& rhs) { - if (this!=&rhs) { - TiaraDPSSampledEnergy &nonConstRhs = static_cast(rhs); - fTree = nonConstRhs.fTree; - fSampleDPS = nonConstRhs.fSampleDPS; - fEnergy_Flux = nonConstRhs.fEnergy_Flux; - fMinEnergyCut = nonConstRhs.fMinEnergyCut; - fMaxProb = nonConstRhs.fMaxProb; - fMinE = nonConstRhs.fMinE; - fMaxE = nonConstRhs.fMaxE; - } - return *this; -} - -TiaraDPSSampledEnergy::~TiaraDPSSampledEnergy(){ -} - - -TiaraVSourceEnergyGenerator *TiaraDPSSampledEnergy::Clone() const { - return new TiaraDPSSampledEnergy(*this); -} - -G4double TiaraDPSSampledEnergy::GetEnergy() { - - G4double e(0.0); - while (!(e>fMinEnergyCut)) { - // a factor 10 is introduced to have an integer map - // for .5 values - G4double r(10 * (fMinE + G4UniformRand() * (fMaxE - fMinE) )); - G4int cLow(0); - G4int cHigh(0); - getBounds(cLow,cHigh,r); - G4double dx10(r-cLow); // a facto 10 enters - - G4double fLow(fEnergy_Flux[cLow]); - G4double fHigh(fEnergy_Flux[cHigh]); - - // if ( (!(fLow>0.0)) || (!(fHigh>0.0)) ) { - // G4cout << "TiaraDPSSampledEnergy::GetEnergy: WARNING: (!(fLow>0.0) || (!(fHigh>0.0) " << G4endl; - // G4cout << "r: " << r << G4endl; - // G4cout << "d: " << d << G4endl; - // G4cout << "cLow: " << cLow << G4endl; - // G4cout << "cHigh: " << cHigh << G4endl; - // } - // G4cout << "fLow: " << fLow << ", fHigh: " << fHigh << G4endl; - - G4double dy(fHigh - fLow); - G4double m01(dy/(cHigh-cLow)); // a factor 1/10 enters - G4double p((fLow + m01*dx10)/fMaxProb); - // G4cout << "p: " << p << G4endl; - G4double discard(G4UniformRand()); - // G4cout << "discard: " << discard << G4endl; - if (discard < p) { - e = r/10.; - break; - } - } - return e; -} - -void TiaraDPSSampledEnergy::getBounds(G4int &cL, G4int &cH, G4double v) { - std::map::iterator itH = fEnergy_Flux.upper_bound(v); - cH = itH->first; - std::map::iterator itL = --itH; - cL = itL->first; -} - -#endif - - - - - - - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraDimensions.cc b/examples/advanced/Tiara/source/tiara/src/TiaraDimensions.cc deleted file mode 100644 index 3f69192b4d..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraDimensions.cc +++ /dev/null @@ -1,66 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraDimensions.cc,v 1.4 2006/06/29 15:44:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraDimensions.hh" - -TiaraDimensions::TiaraDimensions() : - - // World volume - worldHalfLength(330 * cm), - worldHalfWidth(100 * cm), - - // basic dimensions - targetPosZ(-325 * cm), - distTargetWall(176 * cm), - distTargetEndA(396 * cm), - distTargetExperiment(401 * cm), - distTargetEndB(516 * cm), - - // beam pipe - pipeRadius((10.9/2) * cm), - - // radius iron A - radiusIronA(26 * cm), - - // experiment width - widthExperiment(120 * cm), - - // detector - detectorRadius(12.7 / 2 * cm), - detectorHalfHight(12.7 / 2 * cm), - - // source detector - srcDetectorWidth(0.1 * cm) - -{} - -TiaraDimensions::~TiaraDimensions() -{} - - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraEnergyCutProcess.cc b/examples/advanced/Tiara/source/tiara/src/TiaraEnergyCutProcess.cc deleted file mode 100644 index cf37f35d15..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraEnergyCutProcess.cc +++ /dev/null @@ -1,98 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraEnergyCutProcess.cc,v 1.6 2006/06/29 15:44:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraEnergyCutProcess.hh" - -TiaraEnergyCutProcess::TiaraEnergyCutProcess(G4double minEnergyCut) - : - G4VProcess("TiaraEnergyCutProcess"), - fMinEnergyCut(minEnergyCut) -{ - G4VProcess::pParticleChange = new G4ParticleChange; - if (!G4VProcess::pParticleChange) { - G4Exception("ERROR:TiaraEnergyCutProcess::TiaraEnergyCutProcess new failed to create G4ParticleChange!"); - } -} - -TiaraEnergyCutProcess::~TiaraEnergyCutProcess() -{ - delete pParticleChange; -} - -G4double TiaraEnergyCutProcess:: -PostStepGetPhysicalInteractionLength(const G4Track&, - G4double, - G4ForceCondition* condition) -{ - *condition = Forced; - return kInfinity; -} - -G4VParticleChange * -TiaraEnergyCutProcess::PostStepDoIt(const G4Track& aTrack, const G4Step &) -{ - pParticleChange->Initialize(aTrack); - - if (aTrack.GetKineticEnergy() < fMinEnergyCut) { - pParticleChange->ProposeTrackStatus(fStopAndKill); - } - - return G4VProcess::pParticleChange; -} - -const G4String &TiaraEnergyCutProcess::GetName() const { - return theProcessName; -} - - -G4double TiaraEnergyCutProcess:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) { - return -1.0; -} - -G4double TiaraEnergyCutProcess:: -AtRestGetPhysicalInteractionLength(const G4Track&, - G4ForceCondition*) { - return -1.0; -} - -G4VParticleChange* TiaraEnergyCutProcess::AtRestDoIt(const G4Track&, - const G4Step&) { - return 0; -} - -G4VParticleChange* TiaraEnergyCutProcess::AlongStepDoIt(const G4Track&, - const G4Step&) { - return 0; -} - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraGeometry.cc b/examples/advanced/Tiara/source/tiara/src/TiaraGeometry.cc deleted file mode 100644 index 29533ff58b..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraGeometry.cc +++ /dev/null @@ -1,343 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraGeometry.cc,v 1.5 2006/06/29 15:45:03 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraGeometry.hh" -#include "TiaraDimensions.hh" -#include "G4LogicalVolume.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "TiaraMaterials.hh" -#include "G4PVPlacement.hh" -#include "TiaraConcreteShieldA.hh" -#include "TiaraIronShieldA.hh" -#include "TiaraConcreteShieldB.hh" -#include "TiaraIronShieldB.hh" -#include "TiaraPart.hh" -#include "G4Colour.hh" -#include "G4VisAttributes.hh" - -TiaraGeometry::TiaraGeometry(TiaraMaterials &matfac) : - fLogicalWorld(0), - fWorldVolume(0), - fMaterials(matfac), - fShieldWidth(0), - fColimatorWidth(0), - fColliPipeLogVol(0), - fTiaraDimensions(TiaraDimensions()) -{} - -TiaraGeometry::~TiaraGeometry() -{} - -G4VPhysicalVolume* TiaraGeometry::Construct(){ - PlaceComponents(); - return fWorldVolume; -} - -G4Material *TiaraGeometry::GetWorldMaterial() { - return fMaterials.GetMaterial("vacuum"); -} - - -void TiaraGeometry::ConstHall(){ - G4VSolid *worldSolid = new G4Box("worldBox", - fTiaraDimensions.worldHalfWidth, - fTiaraDimensions.worldHalfWidth, - fTiaraDimensions.worldHalfLength); - fLogicalWorld = - new G4LogicalVolume(worldSolid, GetWorldMaterial(), "LogicalWorld"); - G4String name("Hall"); - fWorldVolume = new - G4PVPlacement(0, G4ThreeVector(0,0,0), fLogicalWorld, - name, 0, false, 0); -} - -void TiaraGeometry::CreateComponents(){ - - fTiaraComponents. - insert(new TiaraConcreteShieldA(fMaterials, fTiaraDimensions)); - - fTiaraComponents. - insert(new TiaraIronShieldA(fMaterials, fTiaraDimensions)); - - fTiaraComponents. - insert(new TiaraConcreteShieldB(fMaterials, fTiaraDimensions)); - - fTiaraComponents. - insert(new TiaraIronShieldB(fMaterials, fTiaraDimensions)); - -} - -G4VPhysicalVolume *TiaraGeometry:: -AddPhysicalDetector(G4double xDist, - const G4String &physName) { - G4Tubs *tub = new G4Tubs("detectorTub", - 0, - fTiaraDimensions.detectorRadius, - fTiaraDimensions.detectorHalfHight, - 0, - 360 * deg); - - G4ThreeVector pos(xDist, 0, fTiaraDimensions.targetPosZ + - fTiaraDimensions.distTargetExperiment + - fShieldWidth + fColimatorWidth + - fTiaraDimensions.detectorHalfHight); - - G4Material *mat = fMaterials.GetMaterial("vacuum"); - G4LogicalVolume *logVol = - new G4LogicalVolume(tub, mat, "logDetectorTub"); - G4VisAttributes* pVis = new - G4VisAttributes(G4Colour(1, 0, 0)); - logVol->SetVisAttributes(pVis); - - - return PlaceExpComponent(pos, logVol, physName); - -} - -G4VPhysicalVolume *TiaraGeometry:: -AddPhysicalRingDetector(G4double xDist, - const G4String &physName){ - if (xDist < fTiaraDimensions.detectorRadius) { - G4cout << "TiaraGeometry::AddPhysicalRingDetector: (xDist < fTiaraDimensions.detectorRadius" << G4endl; - return 0; - } - G4Tubs *tub = new G4Tubs("detectorTub", - xDist - fTiaraDimensions.detectorRadius, - xDist + fTiaraDimensions.detectorRadius, - fTiaraDimensions.detectorHalfHight, - 0, - 360 * deg); - G4ThreeVector pos(0, 0, fTiaraDimensions.targetPosZ + - fTiaraDimensions.distTargetExperiment + - fShieldWidth + fColimatorWidth + - fTiaraDimensions.detectorHalfHight); - - G4Material *mat = fMaterials.GetMaterial("vacuum"); - G4LogicalVolume *logVol = - new G4LogicalVolume(tub, mat, "logRingDetectorTub"); - G4VisAttributes* pVis = new - G4VisAttributes(G4Colour(1, 0, 0)); - logVol->SetVisAttributes(pVis); - - return PlaceExpComponent(pos, logVol, physName); - -} - -G4VPhysicalVolume *TiaraGeometry:: -AddDetectorSlab( const G4String &physName) { - G4Tubs *tub = new G4Tubs("detectorTub", - 0, - 0.5*fTiaraDimensions.widthExperiment, - fTiaraDimensions.detectorHalfHight, - 0, - 360 * deg); - G4ThreeVector pos(0, 0, fTiaraDimensions.targetPosZ + - fTiaraDimensions.distTargetExperiment + - fShieldWidth + fColimatorWidth + - fTiaraDimensions.detectorHalfHight); - - G4Material *mat = fMaterials.GetMaterial("vacuum"); - G4LogicalVolume *logVol = - new G4LogicalVolume(tub, mat, "logSlabDetectorTub"); - G4VisAttributes* pVis = new - G4VisAttributes(G4Colour(1, 0, 0)); - logVol->SetVisAttributes(pVis); - - return PlaceExpComponent(pos, logVol, physName); - -} - -G4VPhysicalVolume *TiaraGeometry:: -AddSourceDetector() { - G4Tubs *tub = new G4Tubs("srcTub", - 0, - fTiaraDimensions.pipeRadius, - fTiaraDimensions.srcDetectorWidth / 2, - 0, - 360 * deg); - G4Material *mat = fMaterials.GetMaterial("vacuum"); - G4LogicalVolume *logVol = - new G4LogicalVolume(tub, mat, "logSrcDetector"); - - G4VisAttributes* pVis = new - G4VisAttributes(G4Colour(1, 0, 0)); - logVol->SetVisAttributes(pVis); - - G4VPhysicalVolume *physVol = 0; - if (fColliPipeLogVol) { - G4ThreeVector pos(0, 0, fColimatorWidth/2 - - fTiaraDimensions.srcDetectorWidth / 2); - physVol = new G4PVPlacement(0, - pos, - logVol, - "sourceDetector", - fColliPipeLogVol, - false, - 0); - } - else { - G4ThreeVector pos(0, 0, fTiaraDimensions.targetPosZ + - fTiaraDimensions.distTargetExperiment + - fColimatorWidth - - fTiaraDimensions.srcDetectorWidth / 2); - physVol = PlaceExpComponent(pos, logVol, "sourceDetector"); - } - - return physVol; -} - - -void TiaraGeometry::PlaceComponents(){ - for (TiaraComponents::iterator it = fTiaraComponents.begin(); - it != fTiaraComponents.end(); ++it) { - TiaraParts tiaraParts = (*it)->GetParts(); - for (TiaraParts::iterator ip = tiaraParts.begin(); - ip != tiaraParts.end(); ++ip){ - TiaraPart tiaraPart = *ip; - G4LogicalVolume *logVol = ip->logVol; - G4cout << logVol->GetName() - << ", pos: " << ip->pos << G4endl; - G4String name(logVol->GetName()); - name += "_placed"; - new G4PVPlacement(ip->rot, - ip->pos, - logVol, - name, - fLogicalWorld, - false, - 0); - } - } -} - - -void TiaraGeometry::BuildGeometry(const TiaraDimensions &td){ - fTiaraDimensions = td; - ConstHall(); -} - -G4LogicalVolume *TiaraGeometry::BuildShield(G4double width, - const G4String &matName){ - - fShieldWidth = width; - - G4LogicalVolume *logVol = 0; - if (! (width > 0)) { - G4cout << "TiaraGeometry::BuildShield width must be > 0" - << G4endl; - } - else { - G4Material *mat = 0; - mat = fMaterials.GetMaterial(matName); - if (!mat) { - G4cout << "TiaraGeometry::BuildShield no valid material" - << G4endl; - } - else { - G4Box *box = new G4Box("box", - fTiaraDimensions.widthExperiment/2, - fTiaraDimensions.widthExperiment/2, - width/2); - logVol = new G4LogicalVolume(box, mat, "logShieldBox"); - G4VisAttributes* pVis = new - G4VisAttributes(G4Colour(1, 1, 0)); - logVol->SetVisAttributes(pVis); - } - } - return logVol; -} - -G4LogicalVolume *TiaraGeometry:: -BuildCollimator(G4double width, - const G4String &outerMatName, - const G4String &innerMatName) { - fColimatorWidth = width; - - G4LogicalVolume *logVol = 0; - if (! (width > 0)) { - G4cout << "TiaraGeometry::BuildCollimator witdth must be > 0" - << G4endl; - } - else { - G4Material *matOuter = 0; - matOuter = fMaterials.GetMaterial(outerMatName); - G4Material *matInner = 0; - matInner = fMaterials.GetMaterial(innerMatName); - if (!matOuter || !matInner) { - G4cout << "TiaraGeometry::BuildCollimator no valid material" - << G4endl; - } - else { - G4Box *box = new G4Box("box", - fTiaraDimensions.widthExperiment/2, - fTiaraDimensions.widthExperiment/2, - width/2); - logVol = new G4LogicalVolume(box, matOuter, "logColimatorBox"); - G4VisAttributes* pVis = new - G4VisAttributes(G4Colour(0.0, 1.0, 0.0)); - logVol->SetVisAttributes(pVis); - - G4Tubs *tub = new G4Tubs("tub", - 0, - fTiaraDimensions.pipeRadius, - width/2, - 0, - 360 * deg); - - fColliPipeLogVol = new G4LogicalVolume(tub, matInner, - "logColimatorTub"); - - new G4PVPlacement(0, - G4ThreeVector(0, 0, 0), - fColliPipeLogVol, - "pipeInCollimator", - logVol, - false, - 0); - } - } - return logVol; -} - -G4VPhysicalVolume *TiaraGeometry:: -PlaceExpComponent(const G4ThreeVector &pos, - G4LogicalVolume *logVol, - const G4String &physName){ - - return new G4PVPlacement(0, - pos, - logVol, - physName, - fLogicalWorld, - false, - 0); - -} - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldB.cc b/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldB.cc deleted file mode 100644 index 8ae2c2a511..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldB.cc +++ /dev/null @@ -1,159 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraIronShieldB.cc,v 1.4 2006/06/29 15:45:09 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraIronShieldB.hh" -#include "TiaraDimensions.hh" -#include "TiaraMaterials.hh" -#include "G4Box.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" -#include "G4Tubs.hh" -#include "G4PVPlacement.hh" - -/* -TiaraIronShieldB:: -TiaraIronShieldB(TiaraMaterials &mfac, - const TiaraDimensions &tiaraDimensions){ - G4double halfHight((tiaraDimensions.distTargetExperiment - - tiaraDimensions.distTargetEndA) / 2); - G4double radialHalf(0.5 * (tiaraDimensions.widthExperiment/2 - - tiaraDimensions.pipeRadius)); - G4double lateralHalf(0.5 * (tiaraDimensions.pipeRadius + - tiaraDimensions.widthExperiment/2)); - G4double radialShift(tiaraDimensions.pipeRadius + radialHalf); - G4double lateralShift(tiaraDimensions.widthExperiment/2 - lateralHalf); - - G4Box *ironBbox = new G4Box("ironBbox", - lateralHalf, - radialHalf, - halfHight); - - G4LogicalVolume *logIronBbox = - new G4LogicalVolume(ironBbox, - mfac.GetMaterial("iron"), - "IronBbox"); - - G4VisAttributes* pIronAVis = new - G4VisAttributes(G4Colour(0.1, 0.1, 1.0)); - // pIronAVis->SetForceSolid(true); - logIronBbox->SetVisAttributes(pIronAVis); - - TiaraPart tiaraPart; - tiaraPart.rot = 0; - tiaraPart.logVol = logIronBbox; - tiaraPart.pos.setZ(tiaraDimensions.targetPosZ + - tiaraDimensions.distTargetEndA + halfHight); - - // upper shield - tiaraPart.pos.setX(lateralShift); - tiaraPart.pos.setY(radialShift); - fTiaraParts.push_back(tiaraPart); - - // lower shield - tiaraPart.pos.setX(-1*lateralShift); - tiaraPart.pos.setY(-1*radialShift); - fTiaraParts.push_back(tiaraPart); - - // right shield - tiaraPart.rot = new G4RotationMatrix(); - tiaraPart.rot->set(G4ThreeVector(0, 0, 1), 90 * deg); - tiaraPart.pos.setX(-1* radialShift); - tiaraPart.pos.setY(lateralShift); - fTiaraParts.push_back(tiaraPart); - - // left shield - // tiaraPart.rot->set(G4ThreeVector(0, 0, 1), -90); - tiaraPart.pos.setX(radialShift); - tiaraPart.pos.setY(-1*lateralShift); - fTiaraParts.push_back(tiaraPart); - - -} -*/ - -TiaraIronShieldB:: -TiaraIronShieldB(TiaraMaterials &mfac, - const TiaraDimensions &tiaraDimensions){ - G4double halfHight((tiaraDimensions.distTargetExperiment - - tiaraDimensions.distTargetEndA) / 2); - G4double halfWidth(tiaraDimensions.widthExperiment/2); - - G4Box *ironBbox = new G4Box("ironBbox", - halfWidth, - halfWidth, - halfHight); - - G4LogicalVolume *logIronBbox = - new G4LogicalVolume(ironBbox, - mfac.GetMaterial("iron"), - "IronBbox"); - - G4VisAttributes* pIronAVis = new - G4VisAttributes(G4Colour(0.1, 0.1, 1.0)); - // pIronAVis->SetForceSolid(true); - logIronBbox->SetVisAttributes(pIronAVis); - - G4Tubs *tub = new G4Tubs("holeIronB", - 0, - tiaraDimensions.pipeRadius, - halfHight, - 0, - 360 * deg); - - G4LogicalVolume *logHole = new G4LogicalVolume(tub, - mfac.GetMaterial("air"), - "logHoleIronB"); - - new G4PVPlacement(0, - G4ThreeVector(0, 0, 0), - logHole, - "holeIronB", - logIronBbox, - false, - 0); - - TiaraPart tiaraPart; - tiaraPart.rot = 0; - tiaraPart.logVol = logIronBbox; - tiaraPart.pos.setZ(tiaraDimensions.targetPosZ + - tiaraDimensions.distTargetEndA + halfHight); - tiaraPart.pos.setX(0); - tiaraPart.pos.setY(0); - fTiaraParts.push_back(tiaraPart); - -} - -TiaraIronShieldB::~TiaraIronShieldB(){ -} - -TiaraParts TiaraIronShieldB::GetParts(){ - return fTiaraParts; -} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraIsotropicDirections.cc b/examples/advanced/Tiara/source/tiara/src/TiaraIsotropicDirections.cc deleted file mode 100644 index a3ef2bc196..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraIsotropicDirections.cc +++ /dev/null @@ -1,82 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraIsotropicDirections.cc,v 1.5 2006/06/29 15:45:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraIsotropicDirections.hh" -#include "TiaraDimensions.hh" -#include "Randomize.hh" -#include - -TiaraIsotropicDirections:: -TiaraIsotropicDirections(G4double colWidth, - const TiaraDimensions &tiaraDimensions) : - fMinCos(MinimumCosine(colWidth, - tiaraDimensions)) -{} - -TiaraIsotropicDirections::~TiaraIsotropicDirections() -{} - -TiaraIsotropicDirections:: -TiaraIsotropicDirections(const TiaraIsotropicDirections& rhs) - : TiaraVDirectionGenerator() -{ - *this = rhs; -} - -G4double TiaraIsotropicDirections:: -MinimumCosine(G4double colWidth, - const TiaraDimensions &tiaraDimensions) { - G4double l(tiaraDimensions.distTargetExperiment + colWidth); - G4double r(tiaraDimensions.pipeRadius); - G4double R(std::sqrt(std::pow(l, 2) + std::pow(r, 2))); - return l/R; -} - -TiaraIsotropicDirections& TiaraIsotropicDirections:: -operator=(const TiaraIsotropicDirections& rhs){ - if (this != &rhs) { - fMinCos = rhs.fMinCos; - } - return *this; -} - -TiaraVDirectionGenerator *TiaraIsotropicDirections::Clone() const { - return new TiaraIsotropicDirections(*this); -} - - -G4ThreeVector TiaraIsotropicDirections::GetDirection(){ - G4double cosTh(fMinCos + G4UniformRand() * (1 - fMinCos)); - G4double sinTh(std::sqrt(1-std::pow(cosTh,2))); - G4double phi(G4UniformRand() * 2*pi); - G4double x(sinTh * std::cos(phi)); - G4double y(sinTh * std::sin(phi)); - return G4ThreeVector(x, y, cosTh); -} - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraMaterials.cc b/examples/advanced/Tiara/source/tiara/src/TiaraMaterials.cc deleted file mode 100644 index ab2c938833..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraMaterials.cc +++ /dev/null @@ -1,187 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraMaterials.cc,v 1.5 2006/06/29 15:45:15 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraMaterials.hh" -#include "G4Element.hh" -#include "G4Material.hh" - - -TiaraMaterials::TiaraMaterials() -{ - - G4String name, symbol; - - FillElementMap("Hydrogen", "H", 1, 1.01*g/mole); - FillElementMap("Carbon", "C", 6, 12.01*g/mole); - FillElementMap("Oxygen", "O", 8, 16.00*g/mole); - FillElementMap("Natrium", "Na", 11, 22.99*g/mole); - FillElementMap("Magnesium", "Mg", 12, 24.305*g/mole); - // FillElementMap("Hg", "Hg", 80, 200.59*g/mole); - FillElementMap("Aluminium", "Al", 14, 26.98*g/mole); - FillElementMap("Silicon", "Si", 14, 28.09*g/mole); - FillElementMap("K", "K", 19, 39.1*g/mole); - FillElementMap("Calzium", "Ca", 31, 69.72*g/mole); - FillElementMap("Iron", "Fe", 26, 55.85*g/mole); - FillElementMap("Nitro", "N", 7 , 14.006*g/mole); - - - G4Material *mat = 0; - mat = CreateConcrete(); - fMapNameMaterial[mat->GetName()] = mat; - mat = CreateIron(); - fMapNameMaterial[mat->GetName()] = mat; - mat = CreateAir(); - fMapNameMaterial[mat->GetName()] = mat; - mat = CreateVakuum(); - fMapNameMaterial[mat->GetName()] = mat; -} - -TiaraMaterials::~TiaraMaterials(){ -} - - -G4Material *TiaraMaterials::GetMaterial(const G4String &matName) const { - G4Material *mat =0; - - TiaraMapNameMaterial::const_iterator matElm = - fMapNameMaterial.find(matName); - - if (matElm == fMapNameMaterial.end()) { - G4cout << "TiaraMaterials::GetMaterial: material named \"" << - matName << "\", not known!" << G4endl; - } - else { - mat = matElm->second; - } - return mat; -} - - -void TiaraMaterials::FillElementMap(const G4String &name, - const G4String &symbol, - G4int Z, - G4double A) { - TiaraMapSymbolElement::iterator it = fMapSymbolElement.find(symbol); - if (it!=fMapSymbolElement.end()) { - G4cout << "TiaraMaterials::FillElementMap: symbol: " - << symbol << ", already defined" << G4endl; - } - else { - fMapSymbolElement[symbol] = new G4Element(name, symbol, Z, A); - if (!fMapSymbolElement[symbol]) { - G4Exception("TiaraMaterials::FillElementMap: new failed to create G4Element!"); - } - } - return; -} - -G4Material *TiaraMaterials::CreateMCNPConcrete(){ - typedef std::map< G4Element* , G4double > TiaraMapElementFraction; - - TiaraMapElementFraction concreteFractions; - concreteFractions[fMapSymbolElement["H"]] = 0.01; - concreteFractions[fMapSymbolElement["O"]] = 0.529; - concreteFractions[fMapSymbolElement["Na"]] = 0.016; - // concreteFractions[fMapSymbolElement["Hg"]] = 0.002 ; - concreteFractions[fMapSymbolElement["Al"]] = 0.034; - concreteFractions[fMapSymbolElement["Si"]] = 0.337 + 0.002; - concreteFractions[fMapSymbolElement["K"]] = 0.013; - concreteFractions[fMapSymbolElement["Ca"]] = 0.044; - concreteFractions[fMapSymbolElement["Fe"]] = 0.014; - concreteFractions[fMapSymbolElement["C"]] = 0.001; - - G4Material *mat =0; - G4double density = 2.03*g/cm3; - mat = new G4Material("concrete", density, - concreteFractions.size()); - for (TiaraMapElementFraction::iterator it = concreteFractions.begin(); - it != concreteFractions.end(); ++it) { - mat->AddElement(it->first , it->second); - } - - return mat; - -} - -G4Material *TiaraMaterials::CreateConcrete(){ - typedef std::map< G4Element* , G4double > TiaraMapElementFraction; - - TiaraMapElementFraction concreteFractions; - concreteFractions[fMapSymbolElement["H"]] = 0.010853422; - concreteFractions[fMapSymbolElement["O"]] = 0.48165594; - concreteFractions[fMapSymbolElement["Na"]] = 0.020327181; - concreteFractions[fMapSymbolElement["Mg"]] = 0.010832401; - concreteFractions[fMapSymbolElement["Al"]] = 0.060514396; - concreteFractions[fMapSymbolElement["Si"]] = 0.22409956; - concreteFractions[fMapSymbolElement["K"]] = 0.010680188; - concreteFractions[fMapSymbolElement["Ca"]] = 0.12388306; - concreteFractions[fMapSymbolElement["Fe"]] = 0.056603178; - - G4Material *mat =0; - G4double density = 2.31*g/cm3; - mat = new G4Material("concrete", density, - concreteFractions.size()); - for (TiaraMapElementFraction::iterator it = concreteFractions.begin(); - it != concreteFractions.end(); ++it) { - mat->AddElement(it->first , it->second); - } - - return mat; - -} - -G4Material *TiaraMaterials::CreateAir(){ - G4Material *mat =0; - G4double density = 1.29*mg/cm3; - mat = new G4Material("air", density, 2); - - mat->AddElement(fMapSymbolElement["N"], 0.75); - mat->AddElement(fMapSymbolElement["O"], 0.25); - - return mat; -} - -G4Material *TiaraMaterials::CreateIron(){ - G4Material *mat =0; - G4double density = 7.87*g/cm3; - mat = new G4Material("iron", density, 1); - mat->AddElement(fMapSymbolElement["Fe"],1); - return mat; -} - -G4Material *TiaraMaterials::CreateVakuum(){ - G4Material *mat =0; - G4double density(universe_mean_density); - G4double temperature(2.73*kelvin); - G4double pressure(3.e-18*pascal); - mat = new G4Material("vacuum", 1., 1.01*g/mole, - density, - kStateGas,temperature,pressure); - return mat; -} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraPhysicsList.cc b/examples/advanced/Tiara/source/tiara/src/TiaraPhysicsList.cc deleted file mode 100644 index 36b34f0e27..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraPhysicsList.cc +++ /dev/null @@ -1,635 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: TiaraPhysicsList.cc,v 1.6 2006/06/29 15:45:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "globals.hh" -#include - -#include "TiaraPhysicsList.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4BosonConstructor.hh" -#include "G4LeptonConstructor.hh" -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" -#include "G4ShortLivedConstructor.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" - -TiaraPhysicsList::TiaraPhysicsList() : G4VUserPhysicsList() -{ - SetVerboseLevel(1); -} - -TiaraPhysicsList::~TiaraPhysicsList() -{} - -void TiaraPhysicsList::ConstructParticle() -{ - // In this method, static member functions should be called - // for all particles which you want to use. - // This ensures that objects of these particle types will be - // created in the program. - - ConstructAllBosons(); - ConstructAllLeptons(); - ConstructAllMesons(); - ConstructAllBaryons(); - ConstructAllIons(); - ConstructAllShortLiveds(); -} - -void TiaraPhysicsList::ConstructAllBosons() -{ - // Construct all bosons - G4BosonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void TiaraPhysicsList::ConstructAllLeptons() -{ - // Construct all leptons - G4LeptonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void TiaraPhysicsList::ConstructAllMesons() -{ - // Construct all mesons - G4MesonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void TiaraPhysicsList::ConstructAllBaryons() -{ - // Construct all barions - G4BaryonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void TiaraPhysicsList::ConstructAllIons() -{ - // Construct light ions - G4IonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void TiaraPhysicsList::ConstructAllShortLiveds() -{ - // Construct resonaces and quarks - G4ShortLivedConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void TiaraPhysicsList::ConstructProcess() -{ - AddTransportation(); - ConstructEM(); - ConstructLeptHad(); - ConstructHad(); - ConstructGeneral(); -} - -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4MultipleScattering.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - -#include "G4hIonisation.hh" -#include "G4ionIonisation.hh" - -void TiaraPhysicsList::ConstructEM() -{ - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - // gamma - // Construct processes for gamma - pmanager->AddDiscreteProcess(new G4GammaConversion()); - pmanager->AddDiscreteProcess(new G4ComptonScattering()); - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); - - } else if (particleName == "e-") { - //electron - // Construct processes for electron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); - - } else if (particleName == "e+") { - //positron - // Construct processes for positron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation(),0,-1,4); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - // Construct processes for muon+ - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4MuIonisation(),-1,2,2); - pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3); - pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4); - - } else if( particleName == "GenericIon" ) { - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4ionIonisation(),-1,2,2); - } else { - if ((particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")&& - (!particle->IsShortLived()) ) { - // all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hIonisation(),-1,2,2); - } - } - } -} - -// Hadron Processes - -#include "G4HadronElasticProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4HadronCaptureProcess.hh" - -#include "G4PionPlusInelasticProcess.hh" -#include "G4PionMinusInelasticProcess.hh" -#include "G4KaonPlusInelasticProcess.hh" -#include "G4KaonZeroSInelasticProcess.hh" -#include "G4KaonZeroLInelasticProcess.hh" -#include "G4KaonMinusInelasticProcess.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4AntiProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4AntiNeutronInelasticProcess.hh" -#include "G4LambdaInelasticProcess.hh" -#include "G4AntiLambdaInelasticProcess.hh" -#include "G4SigmaPlusInelasticProcess.hh" -#include "G4SigmaMinusInelasticProcess.hh" -#include "G4AntiSigmaPlusInelasticProcess.hh" -#include "G4AntiSigmaMinusInelasticProcess.hh" -#include "G4XiZeroInelasticProcess.hh" -#include "G4XiMinusInelasticProcess.hh" -#include "G4AntiXiZeroInelasticProcess.hh" -#include "G4AntiXiMinusInelasticProcess.hh" -#include "G4DeuteronInelasticProcess.hh" -#include "G4TritonInelasticProcess.hh" -#include "G4AlphaInelasticProcess.hh" -#include "G4OmegaMinusInelasticProcess.hh" -#include "G4AntiOmegaMinusInelasticProcess.hh" - -// Low-energy Models - -#include "G4LElastic.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" - -#include "G4LEPionPlusInelastic.hh" -#include "G4LEPionMinusInelastic.hh" -#include "G4LEKaonPlusInelastic.hh" -#include "G4LEKaonZeroSInelastic.hh" -#include "G4LEKaonZeroLInelastic.hh" -#include "G4LEKaonMinusInelastic.hh" -#include "G4LEProtonInelastic.hh" -#include "G4LEAntiProtonInelastic.hh" -#include "G4LENeutronInelastic.hh" -#include "G4LEAntiNeutronInelastic.hh" -#include "G4LELambdaInelastic.hh" -#include "G4LEAntiLambdaInelastic.hh" -#include "G4LESigmaPlusInelastic.hh" -#include "G4LESigmaMinusInelastic.hh" -#include "G4LEAntiSigmaPlusInelastic.hh" -#include "G4LEAntiSigmaMinusInelastic.hh" -#include "G4LEXiZeroInelastic.hh" -#include "G4LEXiMinusInelastic.hh" -#include "G4LEAntiXiZeroInelastic.hh" -#include "G4LEAntiXiMinusInelastic.hh" -#include "G4LEDeuteronInelastic.hh" -#include "G4LETritonInelastic.hh" -#include "G4LEAlphaInelastic.hh" -#include "G4LEOmegaMinusInelastic.hh" -#include "G4LEAntiOmegaMinusInelastic.hh" - -// -- generator models -#include "G4TheoFSGenerator.hh" -#include "G4ExcitationHandler.hh" -#include "G4Evaporation.hh" -#include "G4CompetitiveFission.hh" -#include "G4FermiBreakUp.hh" -#include "G4StatMF.hh" -#include "G4GeneratorPrecompoundInterface.hh" -#include "G4Fancy3DNucleus.hh" -#include "G4LEProtonInelastic.hh" -#include "G4StringModel.hh" -#include "G4PreCompoundModel.hh" -#include "G4FTFModel.hh" -#include "G4QGSMFragmentation.hh" -#include "G4ExcitedStringDecay.hh" - -// -// ConstructHad() -// -// Makes discrete physics processes for the hadrons, at present limited -// to those particles with GHEISHA interactions (INTRC > 0). -// The processes are: Elastic scattering, Inelastic scattering, -// Fission (for neutron only), and Capture (neutron). -// -// F.W.Jones 06-JUL-1998 -// - -void TiaraPhysicsList::ConstructHad() -{ - // this will be the model class for high energies - G4TheoFSGenerator * theTheoModel = new G4TheoFSGenerator; - - // all models for treatment of thermal nucleus - G4Evaporation * theEvaporation = new G4Evaporation; - G4FermiBreakUp * theFermiBreakUp = new G4FermiBreakUp; - G4StatMF * theMF = new G4StatMF; - - // Evaporation logic - G4ExcitationHandler * theHandler = new G4ExcitationHandler; - theHandler->SetEvaporation(theEvaporation); - theHandler->SetFermiModel(theFermiBreakUp); - theHandler->SetMultiFragmentation(theMF); - theHandler->SetMaxAandZForFermiBreakUp(12, 6); - theHandler->SetMinEForMultiFrag(3*MeV); - - // Pre equilibrium stage - G4PreCompoundModel * thePreEquilib = new G4PreCompoundModel(theHandler); - - - // a no-cascade generator-precompound interaface - G4GeneratorPrecompoundInterface * theCascade = new G4GeneratorPrecompoundInterface; - theCascade->SetDeExcitation(thePreEquilib); - - // here come the high energy parts - // the string model; still not quite according to design - Explicite use of the forseen interfaces - // will be tested and documented in this program by beta-02 at latest. - G4VPartonStringModel * theStringModel; - theStringModel = new G4FTFModel; - theTheoModel->SetTransport(theCascade); - theTheoModel->SetHighEnergyGenerator(theStringModel); - theTheoModel->SetMinEnergy(19*GeV); - theTheoModel->SetMaxEnergy(100*TeV); - - G4VLongitudinalStringDecay * theFragmentation = new G4QGSMFragmentation; - G4ExcitedStringDecay * theStringDecay = new G4ExcitedStringDecay(theFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); - -// done with the generator model (most of the above is also available as default) - G4HadronElasticProcess* theElasticProcess = - new G4HadronElasticProcess; - G4LElastic* theElasticModel = new G4LElastic; - theElasticProcess->RegisterMe(theElasticModel); - G4HadronElasticProcess* theElasticProcess1 = - new G4HadronElasticProcess; - theParticleIterator->reset(); - while ((*theParticleIterator)()) { - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "pi+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4PionPlusInelasticProcess* theInelasticProcess = - new G4PionPlusInelasticProcess("inelastic"); - G4LEPionPlusInelastic* theInelasticModel = - new G4LEPionPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "pi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4PionMinusInelasticProcess* theInelasticProcess = - new G4PionMinusInelasticProcess("inelastic"); - G4LEPionMinusInelastic* theInelasticModel = - new G4LEPionMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonPlusInelasticProcess* theInelasticProcess = - new G4KaonPlusInelasticProcess("inelastic"); - G4LEKaonPlusInelastic* theInelasticModel = new G4LEKaonPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon0S") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonZeroSInelasticProcess* theInelasticProcess = - new G4KaonZeroSInelasticProcess("inelastic"); - G4LEKaonZeroSInelastic* theInelasticModel = - new G4LEKaonZeroSInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon0L") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonZeroLInelasticProcess* theInelasticProcess = - new G4KaonZeroLInelasticProcess("inelastic"); - G4LEKaonZeroLInelastic* theInelasticModel = - new G4LEKaonZeroLInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonMinusInelasticProcess* theInelasticProcess = - new G4KaonMinusInelasticProcess("inelastic"); - G4LEKaonMinusInelastic* theInelasticModel = - new G4LEKaonMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "proton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4ProtonInelasticProcess* theInelasticProcess = - new G4ProtonInelasticProcess("inelastic"); - G4LEProtonInelastic* theInelasticModel = new G4LEProtonInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_proton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiProtonInelasticProcess* theInelasticProcess = - new G4AntiProtonInelasticProcess("inelastic"); - G4LEAntiProtonInelastic* theInelasticModel = - new G4LEAntiProtonInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "neutron") { - - // elastic scattering - G4LElastic* theElasticModel1 = new G4LElastic; - theElasticProcess1->RegisterMe(theElasticModel1); - pmanager->AddDiscreteProcess(theElasticProcess1); - // inelastic scattering - G4NeutronInelasticProcess* theInelasticProcess = - new G4NeutronInelasticProcess("inelastic"); - G4LENeutronInelastic* theInelasticModel = new G4LENeutronInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - // fission - G4HadronFissionProcess* theFissionProcess = - new G4HadronFissionProcess; - G4LFission* theFissionModel = new G4LFission; - theFissionProcess->RegisterMe(theFissionModel); - pmanager->AddDiscreteProcess(theFissionProcess); - // capture - G4HadronCaptureProcess* theCaptureProcess = - new G4HadronCaptureProcess; - G4LCapture* theCaptureModel = new G4LCapture; - theCaptureProcess->RegisterMe(theCaptureModel); - pmanager->AddDiscreteProcess(theCaptureProcess); - } - else if (particleName == "anti_neutron") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiNeutronInelasticProcess* theInelasticProcess = - new G4AntiNeutronInelasticProcess("inelastic"); - G4LEAntiNeutronInelastic* theInelasticModel = - new G4LEAntiNeutronInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "lambda") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4LambdaInelasticProcess* theInelasticProcess = - new G4LambdaInelasticProcess("inelastic"); - G4LELambdaInelastic* theInelasticModel = new G4LELambdaInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_lambda") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiLambdaInelasticProcess* theInelasticProcess = - new G4AntiLambdaInelasticProcess("inelastic"); - G4LEAntiLambdaInelastic* theInelasticModel = - new G4LEAntiLambdaInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "sigma+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4SigmaPlusInelasticProcess* theInelasticProcess = - new G4SigmaPlusInelasticProcess("inelastic"); - G4LESigmaPlusInelastic* theInelasticModel = - new G4LESigmaPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "sigma-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4SigmaMinusInelasticProcess* theInelasticProcess = - new G4SigmaMinusInelasticProcess("inelastic"); - G4LESigmaMinusInelastic* theInelasticModel = - new G4LESigmaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_sigma+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiSigmaPlusInelasticProcess* theInelasticProcess = - new G4AntiSigmaPlusInelasticProcess("inelastic"); - G4LEAntiSigmaPlusInelastic* theInelasticModel = - new G4LEAntiSigmaPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_sigma-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiSigmaMinusInelasticProcess* theInelasticProcess = - new G4AntiSigmaMinusInelasticProcess("inelastic"); - G4LEAntiSigmaMinusInelastic* theInelasticModel = - new G4LEAntiSigmaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "xi0") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4XiZeroInelasticProcess* theInelasticProcess = - new G4XiZeroInelasticProcess("inelastic"); - G4LEXiZeroInelastic* theInelasticModel = - new G4LEXiZeroInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "xi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4XiMinusInelasticProcess* theInelasticProcess = - new G4XiMinusInelasticProcess("inelastic"); - G4LEXiMinusInelastic* theInelasticModel = - new G4LEXiMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_xi0") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiXiZeroInelasticProcess* theInelasticProcess = - new G4AntiXiZeroInelasticProcess("inelastic"); - G4LEAntiXiZeroInelastic* theInelasticModel = - new G4LEAntiXiZeroInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_xi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiXiMinusInelasticProcess* theInelasticProcess = - new G4AntiXiMinusInelasticProcess("inelastic"); - G4LEAntiXiMinusInelastic* theInelasticModel = - new G4LEAntiXiMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "deuteron") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4DeuteronInelasticProcess* theInelasticProcess = - new G4DeuteronInelasticProcess("inelastic"); - G4LEDeuteronInelastic* theInelasticModel = - new G4LEDeuteronInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "triton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4TritonInelasticProcess* theInelasticProcess = - new G4TritonInelasticProcess("inelastic"); - G4LETritonInelastic* theInelasticModel = - new G4LETritonInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "alpha") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AlphaInelasticProcess* theInelasticProcess = - new G4AlphaInelasticProcess("inelastic"); - G4LEAlphaInelastic* theInelasticModel = - new G4LEAlphaInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "omega-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4OmegaMinusInelasticProcess* theInelasticProcess = - new G4OmegaMinusInelasticProcess("inelastic"); - G4LEOmegaMinusInelastic* theInelasticModel = - new G4LEOmegaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_omega-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiOmegaMinusInelasticProcess* theInelasticProcess = - new G4AntiOmegaMinusInelasticProcess("inelastic"); - G4LEAntiOmegaMinusInelastic* theInelasticModel = - new G4LEAntiOmegaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - } -} - -void TiaraPhysicsList::ConstructLeptHad() -{;} - -#include "G4Decay.hh" -void TiaraPhysicsList::ConstructGeneral() -{ - G4Decay* theDecayProcess = new G4Decay(); - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); - } - } -} - -void TiaraPhysicsList::SetCuts() -{ - if (verboseLevel >0) - { - G4cout << "TiaraPhysicsList::SetCuts:"; - G4cout << "CutLength : " << defaultCutValue/mm << " (mm)" << G4endl; - } - // "G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - SetCutsWithDefault(); -} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraPrimaryGeneratorAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraPrimaryGeneratorAction.cc deleted file mode 100644 index 80b76ccae7..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraPrimaryGeneratorAction.cc +++ /dev/null @@ -1,109 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: TiaraPrimaryGeneratorAction.cc,v 1.5 2006/06/29 15:45:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "globals.hh" - -#include "TiaraPrimaryGeneratorAction.hh" - -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4Neutron.hh" -#include "G4Geantino.hh" -#include "G4ThreeVector.hh" -#include "TiaraDimensions.hh" -#include "TiaraVSourceEnergyGenerator.hh" -#include "TiaraVDirectionGenerator.hh" - -TiaraPrimaryGeneratorAction:: -TiaraPrimaryGeneratorAction(const TiaraVSourceEnergyGenerator& eG, - const TiaraVDirectionGenerator& dG, - const TiaraTally &tally, - const TiaraDimensions &tiaraDimensions) : - fEnergyGenerator(eG.Clone()), - fDirectionGenerator(dG.Clone()), - particleGun(new G4ParticleGun(1)), - fTally(tally) -{ - particleGun-> - SetParticlePosition(G4ThreeVector(0.0, 0.0, - tiaraDimensions.targetPosZ)); -} - -TiaraPrimaryGeneratorAction::~TiaraPrimaryGeneratorAction() -{ - delete particleGun; - delete fDirectionGenerator; - delete fEnergyGenerator; -} - -TiaraPrimaryGeneratorAction:: -TiaraPrimaryGeneratorAction(const TiaraPrimaryGeneratorAction &rhs) - : G4VUserPrimaryGeneratorAction() -{ - *this = rhs; -} - -TiaraPrimaryGeneratorAction & -TiaraPrimaryGeneratorAction:: -operator=(const TiaraPrimaryGeneratorAction &rhs) -{ - if (this != &rhs) { - fEnergyGenerator = rhs.fEnergyGenerator->Clone(); - fDirectionGenerator = rhs.fDirectionGenerator->Clone(); - particleGun = new G4ParticleGun(1); - fTally = rhs.fTally; - } - return *this; -} - -void TiaraPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) -{ - particleGun->SetParticleDefinition(G4Neutron::NeutronDefinition()); - particleGun->SetParticleMomentumDirection(fDirectionGenerator-> - GetDirection()); - - - G4double e(fEnergyGenerator->GetEnergy()); - fTally.fill(e, 1); - fTally.EndOfEventAction(); - particleGun->SetParticleEnergy(e); - - particleGun->GeneratePrimaryVertex(anEvent); -} - -const TiaraVSourceEnergyGenerator *TiaraPrimaryGeneratorAction:: -GetEnergyGenerator() const { - return fEnergyGenerator; -} - -const TiaraTally & -TiaraPrimaryGeneratorAction::GetTally() const { - return fTally; -} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraSampledEnergy.cc b/examples/advanced/Tiara/source/tiara/src/TiaraSampledEnergy.cc deleted file mode 100644 index b96d79b6c1..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraSampledEnergy.cc +++ /dev/null @@ -1,93 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraSampledEnergy.cc,v 1.5 2006/06/29 15:45:29 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraSampledEnergy.hh" - -#ifdef G4ANALYSIS_USE - -#include "Randomize.hh" -#include "TiaraFileAcess.hh" - - -#include "AIDA/AIDA.h" - - - -TiaraSampledEnergy::TiaraSampledEnergy(const G4String &eng, - G4double minEnergyCut, - const G4String &sourceTree, - const G4String &nameExt) - : - TiaraVSourceEnergyGenerator(), - fTree((checkFileIsReadable(sourceTree, "TiaraSampledEnergy::TiaraSampledEnergy"), - AIDA_createAnalysisFactory() - ->createTreeFactory() - ->create(sourceTree, "xml",true,false))), - fSampleHisto(dynamic_cast(fTree->find(G4String("h" + eng + "int" + nameExt)))), - fScale(fSampleHisto->axis().bins()), - fMinEnergyCut(minEnergyCut) -{} - -TiaraSampledEnergy::TiaraSampledEnergy(const TiaraSampledEnergy& rhs) : - TiaraVSourceEnergyGenerator() -{ - *this = rhs; -} - -TiaraSampledEnergy& TiaraSampledEnergy:: -operator=(const TiaraSampledEnergy& rhs) { - if (this!=&rhs) { - TiaraSampledEnergy &nonConstRhs = static_cast(rhs); - fTree = nonConstRhs.fTree; - fSampleHisto = nonConstRhs.fSampleHisto; - fScale = nonConstRhs.fScale; - } - return *this; -} - -TiaraSampledEnergy::~TiaraSampledEnergy(){ -} - - -TiaraVSourceEnergyGenerator *TiaraSampledEnergy::Clone() const { - return new TiaraSampledEnergy(*this); -} - -G4double TiaraSampledEnergy::GetEnergy() { - - G4double e(0.0); - while (!(e>fMinEnergyCut)) { - G4double r(G4UniformRand() * fScale); - G4int bin(static_cast(r)); - e = fSampleHisto->binHeight(bin) * MeV; - } - return e; -} - -#endif diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraSim.cc b/examples/advanced/Tiara/source/tiara/src/TiaraSim.cc deleted file mode 100644 index e9f2cf609d..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraSim.cc +++ /dev/null @@ -1,167 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraSim.cc,v 1.9 2006/06/29 15:45:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraSim.hh" -#include - -#include "CLHEP/Random/Random.h" - -#include "G4RunManager.hh" - -#include "G4VPhysicalVolume.hh" -#include "G4VUserPhysicsList.hh" - -#include "G4VUserDetectorConstruction.hh" - -#include "TiaraPrimaryGeneratorAction.hh" -#include "G4VisExecutive.hh" -#include "G4UItcsh.hh" -#include "TiaraVisEventAction.hh" -#include "TiaraVisRunAction.hh" -#include "G4VUserPrimaryGeneratorAction.hh" -#include "TiaraEnergyCutProcess.hh" -#include "G4UserStackingAction.hh" -#include "G4UserEventAction.hh" -#include "TiaraStackingAction.hh" - - -TiaraSim *TiaraSim::fTiaraSim = 0; -TiaraSim &TiaraSim::GetTiaraSim() { - if (!fTiaraSim) { - fTiaraSim = new TiaraSim; - } - return *fTiaraSim; -} - -TiaraSim::TiaraSim(): - fVisManager(0), - fSession(new G4UItcsh), - fGeometry(0), - fPrimary(0), - fPhysics(0), - fCutProcessVector(), - fPlacers(), - fStackingAction(0), - fUserEventAction(0) -{ - - frunMgr = new G4RunManager; - -} - -void TiaraSim::SetGeometry(G4VUserDetectorConstruction *geo){ - fGeometry = geo; -} - - -void TiaraSim::AddTiaraEventAction(G4UserEventAction *eventAction) { - fUserEventAction = eventAction; -} - -void TiaraSim:: -SetPhysicsList(G4VUserPhysicsList *physicsList) { - fPhysics = physicsList; - frunMgr->SetUserInitialization(fPhysics); -} - -void TiaraSim:: -SetPrimaryGenerator(G4VUserPrimaryGeneratorAction *primGen){ - fPrimary = primGen; -} - - - -void TiaraSim::AddParticleCut(const std::string &particle, - G4double cut) { - if (!fStackingAction) { - fStackingAction = new TiaraStackingAction; - frunMgr->SetUserAction(fStackingAction); - } - TiaraEnergyCutProcess *cutProcess = new TiaraEnergyCutProcess(cut); - fCutProcessVector.push_back(cutProcess); - fPlacers.push_back(G4ProcessPlacer(particle)); - fPlacers[fPlacers.size() - 1]. - AddProcessAsLastDoIt(cutProcess); - fStackingAction->AddParticleCut(particle, cut); -} - -void TiaraSim::AddVisRunAction() { - fVisManager = new G4VisExecutive; - frunMgr->SetUserAction(new TiaraVisRunAction); -} -void TiaraSim::initializeVisManager() { - if (fVisManager) { - fVisManager->Initialize(); - }else { - G4cout << "TiaraSim::initializeVisManager(): no VisManager!" << G4endl; - } -}; -void TiaraSim::initialize(){ - G4bool ready(true); - if (!fPrimary) { - G4cout << "TiaraSim::initialize: no primary generator set" << G4endl; - ready = false; - } - if (ready) { - frunMgr->SetUserInitialization(fGeometry); - frunMgr->SetUserAction(fPrimary); - if (fUserEventAction) { - frunMgr->SetUserAction(fUserEventAction); - } - if (fVisManager) { - fVisManager->Initialize(); - } - frunMgr->Initialize(); - } -} - -void TiaraSim::startSession(){ - fSession.SessionStart(); -} - - -void TiaraSim::BeamOn(G4int nEvents){ - frunMgr->BeamOn(nEvents); -} - -TiaraSim::~TiaraSim(){ - for (size_t i = 0; i < fCutProcessVector.size(); i++) { - fPlacers[i].RemoveProcess(fCutProcessVector[i]); - delete fCutProcessVector[i]; - } - if (fStackingAction) { - delete fStackingAction; - } - if (fVisManager) { - delete fVisManager; - } - delete frunMgr; -} - - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraStackingAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraStackingAction.cc deleted file mode 100644 index 8178b53de0..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraStackingAction.cc +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraStackingAction.cc,v 1.5 2006/06/29 15:45:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraStackingAction.hh" -#include "G4ClassificationOfNewTrack.hh" -#include "G4Track.hh" - - -TiaraStackingAction:: -TiaraStackingAction() : - fParticleCut(), - fMinEnergyCut(-1) -{} - -TiaraStackingAction::~TiaraStackingAction() -{} - -void TiaraStackingAction::AddParticleCut(const G4String &particle, - G4double cut){ - fParticleCut[particle] = cut; - if (cut < fMinEnergyCut || fMinEnergyCut < 0) { - fMinEnergyCut = cut; - } -} - -G4ClassificationOfNewTrack -TiaraStackingAction::ClassifyNewTrack(const G4Track* aTrack) { - G4ClassificationOfNewTrack result(fUrgent); - - G4double kinEnergy = aTrack->GetKineticEnergy(); - - if (fMinEnergyCut>0 && kinEnergy < fMinEnergyCut ) { - // kill any particle with kinetic enerfy lower than the lowest cut - result = fKill; - } - else { - G4ParticleDefinition* pParticle = aTrack->GetDefinition(); - G4String pName = pParticle->GetParticleName(); - std::map::const_iterator itP = - fParticleCut.find(pName); - if (itP != fParticleCut.end()) { - if (kinEnergy < itP->second) { - // kill particle if it's energy is below it's cut - result = fKill; - } - } - else { - // kill any particle not in the map - result = fKill; - } - } - return result; -} - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraTally.cc b/examples/advanced/Tiara/source/tiara/src/TiaraTally.cc deleted file mode 100644 index 574f72f84d..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraTally.cc +++ /dev/null @@ -1,113 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraTally.cc,v 1.5 2006/06/29 15:45:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraTally.hh" - -TiaraTally::TiaraTally() : - fBinEdges(), - fLowestEdge(0), - fMapHighEdgeToMeasure() -{} - -TiaraTally::~TiaraTally() -{} - -void TiaraTally::setBinEdges(const std::vector & binEdges){ - fBinEdges = binEdges; - if (fBinEdges.size() < 2) { - G4Exception("ERROR in TiaraTally::setBinEdges: binEdges.size() < 2"); - } - fLowestEdge = fBinEdges[0]; - std::vector::iterator binIt = fBinEdges.begin(); - binIt++; - for (;binIt != fBinEdges.end(); ++binIt) { - std::vector::iterator testIt = binIt; - if (! (*binIt > *(--testIt))) { - G4Exception("ERROR in TiaraTally::setBinEdges: binEdges not in ascending order"); - } - - std::pair myPair(0, TiaraMeasure()); - fMapHighEdgeToMeasure[*binIt] = myPair; - } -} - -void TiaraTally::fill(G4double x, G4double w){ - if (x>fLowestEdge) { - for (TiaraTallyData::iterator dataIt = fMapHighEdgeToMeasure.begin(); - dataIt != fMapHighEdgeToMeasure.end(); dataIt++) { - if (x < dataIt->first) { - dataIt->second.first += w; - break; - } - } - } -} - -void TiaraTally::EndOfEventAction() { - for (TiaraTallyData::iterator dataIt = fMapHighEdgeToMeasure.begin(); - dataIt != fMapHighEdgeToMeasure.end(); dataIt++) { - dataIt->second.second.Xin(dataIt->second.first); - dataIt->second.first = 0; - } -} - - -TiaraMeasure TiaraTally::measure(G4int i){ - TiaraMeasure m; - if (i<0 || i>(G4int)(fMapHighEdgeToMeasure.size()-1)) { - G4cout << "ERROR in TiaraTally::measure: argument: " << i - << ", out of range!" << G4endl; - } - else { - G4int k(0); - for (TiaraTallyData::iterator dataIt = fMapHighEdgeToMeasure.begin(); - dataIt != fMapHighEdgeToMeasure.end(); dataIt++) { - if (i==k++) { - m = dataIt->second.second; - break; - } - } - } - return m; -} - -std::vector TiaraTally::binEdges(){ - return fBinEdges; -} - -G4int TiaraTally::size() { - return fMapHighEdgeToMeasure.size(); -} - - - - - - - diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVDirectionGenerator.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVDirectionGenerator.cc deleted file mode 100644 index 2438c1f109..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVDirectionGenerator.cc +++ /dev/null @@ -1,35 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraVDirectionGenerator.cc,v 1.4 2006/06/29 15:45:46 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraVDirectionGenerator.hh" - -TiaraVDirectionGenerator::TiaraVDirectionGenerator() -{} -TiaraVDirectionGenerator::~TiaraVDirectionGenerator() -{} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVSourceEnergyGenerator.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVSourceEnergyGenerator.cc deleted file mode 100644 index 7781c690b1..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVSourceEnergyGenerator.cc +++ /dev/null @@ -1,33 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: TiaraVSourceEnergyGenerator.cc,v 1.4 2006/06/29 15:45:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// - -#include "TiaraVSourceEnergyGenerator.hh" - -TiaraVSourceEnergyGenerator::TiaraVSourceEnergyGenerator(){} -TiaraVSourceEnergyGenerator::~TiaraVSourceEnergyGenerator(){} diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVisEventAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVisEventAction.cc deleted file mode 100644 index d3eecf74b0..0000000000 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVisEventAction.cc +++ /dev/null @@ -1,160 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: TiaraVisEventAction.cc,v 1.4 2006/06/29 15:45:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "TiaraVisEventAction.hh" - - -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4HCofThisEvent.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4VVisManager.hh" -#include "G4SDManager.hh" -#include "G4UImanager.hh" -#include "G4ios.hh" -#include "G4UnitsTable.hh" -#include "G4Polyline.hh" -#include "G4Colour.hh" -#include "G4VisAttributes.hh" -#include "TiaraCellScorerStore.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -TiaraVisEventAction::TiaraVisEventAction(): - fScorerStore(0) -{ -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -TiaraVisEventAction::~TiaraVisEventAction() -{ -} - -void TiaraVisEventAction::Clear() { - -} - - - -void TiaraVisEventAction::BeginOfEventAction(const G4Event* ) -{ -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void TiaraVisEventAction:: -SetScorerStore(TiaraCellScorerStore *scorerStore){ - fScorerStore = scorerStore; -} - -void TiaraVisEventAction::EndOfEventAction(const G4Event* evt) -{ - - if (fScorerStore) { - fScorerStore->EndOfEventAction(); - } - - if (G4VVisManager::GetConcreteInstance()) { - G4TrajectoryContainer* trajectoryContainer(0); - trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) { - n_trajectories = trajectoryContainer->entries(); - } - - for (G4int i=0; i((*trajectoryContainer)[i]); - if (trj) { - G4bool charged(false); - charged = std::fabs(trj->GetCharge()) > 0; - DrawTrajectory(*trj); - } - else { - G4cerr << " TiaraVisEventAction::EndOfEventAction: failed to dynamic cast to G4Trajectory!" << G4endl; - } - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -/////////////////////////////////////////////// -void TiaraVisEventAction::DrawTrajectory(G4Trajectory &trj) const -/////////////////////////////////////////////// -{ - - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - G4ThreeVector pos; - - G4ParticleDefinition* pdf = trj.GetParticleDefinition(); - G4String ParticleName(pdf->GetParticleName()); - G4double PDGCharge(pdf->GetPDGCharge()); - - - G4Polyline pPolyline; - for (int i = 0; i < trj.GetPointEntries() ; i++) { - G4VTrajectoryPoint* trjPoint = trj.GetPoint(i); - pos = trjPoint->GetPosition(); - pPolyline.push_back( pos ); - } - - G4Colour colour; - if (ParticleName == "proton") { - colour = G4Colour(1,0,1); // magenta - } - else if (ParticleName == "neutron") { - colour = G4Colour(0,1,1); // cyan - } - else if (ParticleName == "gamma") { - colour = G4Colour(1,1,0); // yellow - } - else { - if(PDGCharge<0.) - colour = G4Colour(1.,0.,0.); // red - else if(PDGCharge>0.) - colour = G4Colour(0.,0.,1.); // blue - else - colour = G4Colour(0.,1.,0.); // green - } - G4VisAttributes attribs(colour); - pPolyline.SetVisAttributes(attribs); - if(pVVisManager) { - pVVisManager->Draw(pPolyline); - } -} diff --git a/examples/advanced/Tiara/source/tiara/tiara.cc b/examples/advanced/Tiara/source/tiara/tiara.cc deleted file mode 100644 index 738245cdc3..0000000000 --- a/examples/advanced/Tiara/source/tiara/tiara.cc +++ /dev/null @@ -1,92 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: tiara.cc,v 1.4 2006/06/29 15:43:16 gunter Exp $ -// GEANT4 tag -// -// -// -------------------------------------------------------------- -// GEANT 4 - tiara -// -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- - -#include "TiaraSim.hh" -#include "G4RegionStore.hh" -#include "G4ProductionCutsTable.hh" -#include "TiaraTally.hh" -#include "Randomize.hh" - -int main(int, char **) -{ - - std::vector binEdges; - binEdges.push_back(1.); - binEdges.push_back(3.); - binEdges.push_back(7.); - binEdges.push_back(13.); - binEdges.push_back(21.); - - TiaraTally t; - t.setBinEdges(binEdges); - for (G4int e=0; e<1000; e++) { - for (G4int i=0; i<1000; i++) { - G4double r(1 + G4UniformRand()*20); - t.fill(r, G4UniformRand()); - } - t.EndOfEventAction(); - } - for (G4int i=0; iConstruct(); - phys->SetCuts(); - G4RegionStore::GetInstance()->UpdateMaterialList(); - // Let G4ProductionCutsTable update couples - G4ProductionCutsTable::GetProductionCutsTable()->UpdateCoupleTable(); - G4ProductionCutsTable::GetProductionCutsTable()->DumpCouples(); - - if(G4ProductionCutsTable::GetProductionCutsTable()->IsModified()) - { - phys->BuildPhysicsTable(); - G4ProductionCutsTable::GetProductionCutsTable()->PhysicsTableUpdated(); - } - phys->DumpCutValuesTableIfRequested(); - TiaraSim &tSim = TiaraSim::GetTiaraSim(); - */ -} - diff --git a/examples/advanced/air_shower/History b/examples/advanced/air_shower/History index 2635eb1a51..296cb3ac5c 100644 --- a/examples/advanced/air_shower/History +++ b/examples/advanced/air_shower/History @@ -1,4 +1,4 @@ -$Id: History,v 1.20 2008/12/10 18:07:33 cirrone Exp $ +$Id: History,v 1.23 2009/11/16 23:45:01 tomezb Exp $ ------------------------------------------------------------------- ========================================================= @@ -7,6 +7,16 @@ $Id: History,v 1.20 2008/12/10 18:07:33 cirrone Exp $ History file ------------ +16.11.2009 -- B. Tomé, + Tag air_shower-V09-02-06 + Changed UltraPhysicsList.cc to use new processes G4eMultipleScattering, G4MuMultipleScattering + and G4hMultipleScattering + Tested example air_shower with Geant4 tag geant4-09-02-ref-10 + +15.05.2009 -- B. Tomé, + Updated README file. Tag air_shower-V09-01-00 + Tested example with Geant4 tag geant4-09-02-ref-04 and iAIDA-1.0.14 + 10.12.2008 -- G.A.P.Cirrone, Tag: air_shower-V09-01-05 Updated README file; 03.07.2008 -- B. Tomé; Tag air_shower-V09-01-04 diff --git a/examples/advanced/air_shower/README b/examples/advanced/air_shower/README index c2efec21c3..5aad724a66 100644 --- a/examples/advanced/air_shower/README +++ b/examples/advanced/air_shower/README @@ -48,12 +48,7 @@ processes is made. | ------------------------------------------------------------------------| ----> SET-UP | - -example enviroment with the compiler 3.4.6 - -a standard Geant4 example GNUmakefile is provided | - -setup with: | -compiler = gcc-3.4.6 -G4SYSTEM = linux-g++ | +A standard Geant4 example GNUmakefile is provided | The following environment variables can be set: | @@ -64,28 +59,24 @@ setenv ULTRA_VERBOSE setenv ULTRA_MIRROR_USE 1 : A specular reflecting surface is used. setenv ULTRA_GROUND_USE 1 : A diffusive reflecting surface is used. -Setup for analysis with AIDA 3.2.1, PI 1.3.3. -The download instructions for the PI UltraLite+Hbook version -can be found at: - http://cern.ch/pi/pi-ultraLite-133.html +------------------------------------------------------------------------ -Definition of environment variables (assuming you used the directory -"PiUltraLite-1.3.3" in your home directory): +Setup for analysis with iAIDA : for details, see Appendix 2 of the Users Guide for Application Developers + +Definition of environment variables (assuming AIDA_INSTALL is the directory where you installed iAIDA): + +setenv PATH ${PATH}:"$AIDA_INSTALL/bin" + +The following keywords can be used in UltraAnalysisManager.cc, +in order to produce HBOOK, AIDA or ROOT histograms. -setenv PI_VERSION 1_3_3 -setenv PI_DIR ${HOME}/PiUltraLite-1.3.3 -setenv PATH ${PATH}:"${HOME}/PiUltraLite-1.3.3/bin" -eval `aida-config -r csh` | ------------------------------------------------------------- -The following keywords can be used in order to produce HBOOK, AIDA or ROOT -histograms "hbook" for HBOOK histograms "xml" for AIDA histograms "root" for ROOT histograms -For more information on the analysis tools: +For more information on the AIDA interface: http://aida.freehep.org -http://www.cern.ch/PI + - @@ -116,4 +107,5 @@ to run it : $G4WORKDIR/bin/Linux-g++/Ultra Visualisation.mac for comments and questions: bernardo@lip.pt for more info http://www.ge.infn.it/geant4/examples/ -last modified: B. Tome and M.C. Espirito Santo 20/05/2004 +last modified: B. Tome 16/11/2009 +created by : B. Tome and M.C. Espirito Santo 20/05/2004 diff --git a/examples/advanced/air_shower/src/UltraPhysicsList.cc b/examples/advanced/air_shower/src/UltraPhysicsList.cc index 4e9f1896dd..395bb0d3fa 100644 --- a/examples/advanced/air_shower/src/UltraPhysicsList.cc +++ b/examples/advanced/air_shower/src/UltraPhysicsList.cc @@ -163,7 +163,9 @@ void UltraPhysicsList::ConstructGeneral() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -195,14 +197,14 @@ void UltraPhysicsList::ConstructEM() } else if (particleName == "e-") { //electron // Construct processes for electron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4eMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4eIonisation(),-1,2,2); pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); } else if (particleName == "e+") { //positron // Construct processes for positron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4eMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4eIonisation(),-1,2,2); pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); pmanager->AddProcess(new G4eplusAnnihilation(),0,-1,4); @@ -211,7 +213,7 @@ void UltraPhysicsList::ConstructEM() particleName == "mu-" ) { //muon // Construct processes for muon - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4MuMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4MuIonisation(),-1,2,2); pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3); pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4); @@ -220,7 +222,7 @@ void UltraPhysicsList::ConstructEM() if ((particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { // all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(),-1,2,2); } } diff --git a/examples/advanced/Tiara/source/tiara/GNUmakefile b/examples/advanced/amsEcal/GNUmakefile similarity index 59% rename from examples/advanced/Tiara/source/tiara/GNUmakefile rename to examples/advanced/amsEcal/GNUmakefile index 2726294f94..4121813121 100644 --- a/examples/advanced/Tiara/source/tiara/GNUmakefile +++ b/examples/advanced/amsEcal/GNUmakefile @@ -1,36 +1,30 @@ -# $Id: GNUmakefile,v 1.10 2006/11/20 12:43:02 ahoward Exp $ +# $Id: GNUmakefile,v 1.4 2009/09/18 17:34:54 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- -name := tiara +name := amsEcal G4TARGET := $(name) G4EXLIB := true +#### CPPFLAGS := ${CPPFLAGS} -g + ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -ifdef G4ANALYSIS_USE - CPPFLAGS += -DG4ANALYSIS_USE -endif - - -include $(G4INSTALL)/config/architecture.gmk - -##include hadronic_lists.gmk - -ifdef G4ANALYSIS_USE - CPPFLAGS += `aida-config --include` - LDFLAGS += `aida-config --lib` + G4INSTALL = ../../../.. endif .PHONY: all all: lib bin +#### G4ANALYSIS_USE := true + +include $(G4INSTALL)/config/architecture.gmk + include $(G4INSTALL)/config/binmake.gmk visclean: rm -f g4*.prim g4*.eps g4*.wrl rm -f .DAWN_* - + +histclean: + rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/HistoManager.o diff --git a/examples/advanced/amsEcal/History b/examples/advanced/amsEcal/History new file mode 100644 index 0000000000..83d462ff5a --- /dev/null +++ b/examples/advanced/amsEcal/History @@ -0,0 +1,145 @@ +$Id: History,v 1.16 2009/09/18 17:34:54 maire Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + amsEcal History file + -------------------- +This file should be used by the G4 example coordinator to briefly +summarize all major modifications introduced in the code and keep +track of all tags. + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +18-09-09 mma (amsEcal-V09-02-11) +- SteppingAction: correct protection of i1Pixel calculation + +07-09-09 mma +- BeginOfRun: suppress function clear + +26-08-09 mma (amsEcal-V09-02-10) +- pixels file created at BeginOfRun and appended at EndOfEvent + +23-07-09 mma (amsEcal-V09-02-09) +- EventActionMessenger : /ams/event/writePixels G4bool +- change names for pixels numbering : detectorConstruction, RunAction, + EventAction, SteppingAction + +17-07-09 mma +- EventAction : create File and write list of pixels fired + +30-06-09 mma (amsEcal-V09-02-08) +- DetectorConstruction : complete PrintParameters() + +26-06-09 mma (amsEcal-V09-02-07) +- DetectorConstruction : + module = 10*layerThickness(1.68 mm) + 1*milledLayer(1.40 mm) + +24-06-09 mma +- RunAction, EventAction : modify initialisation of std::vector +- SteppingAction : put protection on index computation + +22-06-09 mma (amsEcal-V09-02-06) +- DetectorConstruction : layerThickness = 1.82 mm + +17-06-09 mma (amsEcal-V09-02-05) +- rename superLayer -> module + affected : DetectorConstruction, SteppingAction, README + +16-06-09 mma (amsEcal-V09-02-04) + +10-06-09 mma +- move trigger conditions from SteppingAction to EventAction + +09-06-09 mma +- problems with extra plates. Suppress them and put back + distanceInterLayers = 1.78 mm + +08-06-09 mma (amsEcal-V09-02-03) +- back to distanceInterLayers = 1.68 mm (ie nominal) + Put in superLayer 2 extra plates of absorber, 0.5 mm each + +07-06-09 mma +- distanceInterLayers = 1.78 mm (was 1.85 mm) --> - 1.5X0 + +04-06-09 mma +- add histo 5 for geantino scan +- distanceInterLayers = 1.85 mm (was 1.68 mm) --> + 3X0 + +29-05-09 mma +- do not use GeometryReadOut. +- Compute pixel numbering directly in SteppingAction. + Modify DetectorConstruction, RunAction, EventAction + +26-05-09 mma +- add GeometryReadOut class for pixels + +06-05-09 mma (amsEcal-V09-02-02) +- scan nb of radL with geantino. + modifs in DetectorConstruction, SteppingAction, EventAction, RunAction + +26-04-09 mma +- print calorimeter dimensions + +24-04-09 mma (amsEcal-V09-02-01) +- add TrackingAction class +- compute forward, backward, lateral leakage + +06-04-09 mma (amsEcal-V09-02-00) +- rndmSeed.mac : macro to generate random seeds +- run2.mac : add command to handle random seed + +01-04-09 mma +- complete README +- SteppingAction. Code for trigger: kill event under given conditions + +28-03-09 mma +- HistoManager : add Ntuple booking + +27-03-09 mma +- pass informations to EventAction and RunAction +- modify HistoManager + +26-03-09 mma +- modify SteppingAction: read layer and superLayer copyNumber + compute Pixel index + +25-03-09 mma +- DetectorConstruction: suppress biLayer-> put 10 layers directly in superLayer +- numbering from 0 to n-1 + +24-03-09 mma +- DetectorConstruction: compute fiberLength coherently; + +23-03-09 mma +- physList emstandard_local : mscStepLimitation UseSafety; +- spline : 10 bin per decade + +22-03-09 mma +- fiberDiameter = 1.08 mm; distanceInterLayers = 1.68 mm +- fiberLength = 664 mm + +19-03-09 mma +- PrimaryGeneratorAction & Messenger : /ams/gun/beam +- HistoManager +- EventAction: FillHisto + +18-03-09 mma +- EventAction -> RunAction : totalEnergy, leakage + +12-03-09 mma +- EventAction -> RunAction +- rm TrackingAction + +12-03-09 mma +- SteppingAction -> EventAction + +10-03-09 mma +- DetectorConstruction, PhysicsList, PrimaryGeneratorAction + +08-03-09 mma +- created from TestEm3 diff --git a/examples/advanced/amsEcal/InstallAida.txt b/examples/advanced/amsEcal/InstallAida.txt new file mode 100644 index 0000000000..b3fdeb4680 --- /dev/null +++ b/examples/advanced/amsEcal/InstallAida.txt @@ -0,0 +1,78 @@ +$Id: InstallAida.txt,v 1.1 2009/04/16 11:05:40 maire Exp $ +----------------------------------------------------------- + + -------------- + Install AIDA + -------------- + + To use histograms, at least one of the AIDA implementations should be + available. + + You can use various file formats to write histograms (hbook, root, AIDA-XML). + + 1 - OpenScientist (lal/in2p3) + ------------------------- + + OpenScientist is available at http://OpenScientist.lal.in2p3.fr. + + OpenScientist_batch is a small package ( ~ 6MB), easy to install. + It provides an AIDA interface to write files in ROOT or PAW format. + + Download and gunzip (for Linux system) : + http://openscientist.lal.in2p3.fr/download/16.3/osc_batch-v16r3-Linux-i386-gcc_323.zip + + (or more recent version, or Windows or Mac system) + + Installation: + prompt%> cd osc_batch/v16r3 (or more recent version) + prompt%> ./install + prompt%> source aida-setup.csh + + (on Windows : dos%> call </aida-setup.bat) + + + 2 - RAIDA (desy) + ------------ + It is a ROOT based AIDA interface. It can be downloaded from + http://ilcsoft.desy.de/portal/software_packages/raida/index_eng.html + + + 3 - iAIDA + ----- + Another package including AIDA (an evolution of the former cern PI project) + is the iAIDA package: http://iaida.dynalias.net + + Once you have installed iAIDA in a specified local area $MYIAIDA, it is + required to add the installation path to $PATH, i.e. for example, for + release 1.0.11 of iAIDA: + setenv PATH ${PATH}:$MYIAIDA/bin + + Before running the example the command should be issued: + eval `aida-config --runtime csh` + + + 4 - JAIDA (slac) + ------------ + + JAIDA is an implementation of AIDA in Java. To use it, one needs Java + as well as AIDAJNI, a connector between AIDA-C++ and AIDA-Java. + + Available for: Linux-g++2, Linux-g++3, WIN32-VC, SUN-CC, + Darwin-g++2, Darwin-g++3 + To compile and link with JAIDA using AIDAJNI, make sure you have: + + 1. JAIDA version 3.2.0, see http://java.freehep.org/jaida + 2. set enviroment variable JAIDA_HOME to your JAIDA installation + 3. source the aida-setup script $JAIDA_HOME/bin/aida-setup.[sh|csh|win32] + + 4. AIDAJNI version 3.0.4 or 3.2.0, or better: see http://java.freehep.org/aidajni + 5. set environment variable AIDAJNI_HOME to your AIDAJNI installation + 6. set environment variable JDK_HOME to your Java Standard Development Kit (1.4.x or up). + 7. source the aidajni-setup script $AIDAJNI_HOME/bin/$G4SYSTEM/aidajni-setup.[sh|csh|win32] + + now execute: + + source setup-analysis (.csh, .sh, .win32) + gmake clean + gmake + diff --git a/examples/advanced/amsEcal/README b/examples/advanced/amsEcal/README new file mode 100644 index 0000000000..13bbddd250 --- /dev/null +++ b/examples/advanced/amsEcal/README @@ -0,0 +1,153 @@ +$Id: README,v 1.6 2009/08/29 08:48:30 maire Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + amsEcal + ------- + + 1- GEOMETRY DEFINITION + + AMS Ecal calorimeter is described in the joined documument : ams_ecal.pdf + + - A single layer is a plane of scintillating fibers within a box of + absorber material. + - Single layers are positionned (eg. placement) within Module + (called SuperLayer in the descriptive document), + alternatively with a relative offset of +- 0.25*distanceInterFibers. + - Modules are positionned within calorimeter, alternatively rotated of + 90 deg around beam axis (X_axis). + Therefore all fibers are along Y_axis or Z_axis calorimeter. + + The default geometry is constructed in DetectorConstruction class. + In addition a transverse uniform magnetic field can be applied. + + 2- PHYSICS LISTS + + Physics lists can be local (eg. in this example) or from G4 kernel + physics_lists subdirectory. + + - "emstandard_local standard EM physics with current 'default' options. + These options are explicited in PhysListEmStandard + + From geant4/source/physics_lists/builders: + - "emstandard_opt0" standard EM physics with all default options + - "emstandard_opt1" best CPU performance standard physics for LHC + - "emstandard_opt2" + - "emstandard_opt3" + + Physics lists and options can be (re)set with UI commands + + Please, notice that options set through G4EmProcessOPtions are global, eg + for all particle types. In G4 builders, it is shown how to set options per + particle type. + + 3- PRIMARY GENERATOR : mono-energetic pencil beam + + The primary kinematic is a single particle which hits the calorimeter + perpendicular to the input face (eg. along X_axis). + The type of particle and its energy are set in the PrimaryGeneratorAction, + and can be changed via the G4 build-in commands of ParticleGun class + (see the macros provided with this example). + + One can choose randomly the tranverse position of the incident particle, + eg. the width of the beam. The associated interactive command is built + in PrimaryGeneratorMessenger. + + 4- DETECTOR RESPONSE + + The program computes the 'visible' energy, eg. the energy deposited + in scintillating fibers. The fibers are packed in pixels. + + It also computes the total energy deposited per pixel, either in absorber + material or in scintillator material. + + The list of pixels fired are written event per event, on an ascii file. + The file is created at RunAction::BeginOfRun() and filled at EndOfEvent(); + See EventAction::WritePixels() and the format description : eventFormat.txt + There is also the command /ams/event/writePixels (true/false) + + NB: visible energy can be corrected for Birk's attenuation: + see the function SteppingAction::BirksAttenuation() (not activated) + + 5- HISTOGRAMS and NTUPLE + + The Program contains 5 built-in 1D histograms, managed by HistoManager class + and its Messenger. These histograms can be activated individually + with the command : + /ams/histo/setHisto id nbBins valMin valMax unit + where unit is the desired unit for the histo (MeV, keV, etc..) + (see the macros xxxx.mac). + + 1 total visible energy in calorimeter (eg. summed all pixels) + 2 total deposit energy in calorimeter (eg. summed all pixels) + 3 visible energy per subModule (eg. longitudinal profile) + 4 deposit energy per subModule (eg. longitudinal profile) + 5 nb of radiation length seen by geantino + + Histograms can be viewed using ROOT or PAW. See below the note on AIDA. + + One can control the name and format of the histograms file with the command: + /ams/histo/setFileName name (default ecal) + /ams/histo/setFileType type (choice: hbook, root(default), XML) + + It is also possible to print selected histograms on an ascii file: + /ams/histo/printHisto id + All selected histos will be written on a file name.ascii (default ecal) + + An Ntuple is also predefined. It contains energies, visible and total, + per subModule and per event. + The Ntuple is activated with the command: /ams/histo/setNtuple 1 + + Note that, by default, histograms are disabled. To activate them, uncomment + the flag G4ANALYSIS_USE in GNUmakefile. + + Before compilation of the example it is optimal to clean up old files: + gmake histclean + gmake + + 6- VISUALIZATION + + Visualization Manager is set in the main(). + Initialisation of the drawing is done via the commands : + /vis/... in the macro vis.mac. In interactive session: + PreInit or Idle > /control/execute vis.mac + + Default view is a longitudinal view of the calorimeter. + + Tracks are drawn at end of event, and erased at end of run. + Optionaly one can choose to draw all particles, only charged one, or none. + This command is defined in EventActionMessenger. + + 7- HOW TO START ? + + - compile and link to generate an executable + % cd amsEcal + % gmake + + - execute amsEcal in 'batch' mode from macro files + % amsEcal run1.mac + + - execute amsEcal in 'interactive mode' with visualization + % amsEcal + .... + Idle> type your commands. For instance: + Idle> /control/execute run1.mac + .... + Idle> exit + + 8- HANDLE RANDOM NUMBER SEEDS + + The macro rndmSeed.mac shows how to create a set a random number seeds. + Here we save the seed at begin of each run (the number of events per run + is arbitrary). The seeds are stored in subdirectory random. + + Macro run2.mac shows how to start a run from one of these seeds. + + 9- USING HISTOGRAMS + + To use histograms, at least one of the AIDA implementations should be + available. See InstallAida.txt + diff --git a/examples/advanced/amsEcal/amsEcal.cc b/examples/advanced/amsEcal/amsEcal.cc new file mode 100644 index 0000000000..028fa7e394 --- /dev/null +++ b/examples/advanced/amsEcal/amsEcal.cc @@ -0,0 +1,131 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: amsEcal.cc,v 1.2 2009/04/24 09:10:22 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "G4UIterminal.hh" +#include "G4UItcsh.hh" +#include "Randomize.hh" + +#include "DetectorConstruction.hh" +#include "PhysicsList.hh" +#include "PrimaryGeneratorAction.hh" +#include "RunAction.hh" +#include "EventAction.hh" +#include "TrackingAction.hh" +#include "SteppingAction.hh" +#include "SteppingVerbose.hh" +#include "HistoManager.hh" + +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +int main(int argc,char** argv) { + + //choose the Random engine + CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); + + //my Verbose output class + G4VSteppingVerbose::SetInstance(new SteppingVerbose); + + // Construct the default run manager + G4RunManager * runManager = new G4RunManager; + + // set mandatory initialization classes + DetectorConstruction* detector = new DetectorConstruction; + runManager->SetUserInitialization(detector); + runManager->SetUserInitialization(new PhysicsList); + + // histograms for this example + HistoManager* histo = new HistoManager(); + + // primary generator + PrimaryGeneratorAction* primary = new PrimaryGeneratorAction(detector,histo); + runManager->SetUserAction(primary); + + // set user action classes + // + RunAction* runAct = new RunAction(detector,primary,histo); + EventAction* evtAct = new EventAction(detector,runAct,primary,histo); + TrackingAction* trkAct = new TrackingAction(detector,runAct,primary,evtAct, + histo); + SteppingAction* stpAct = new SteppingAction(detector,runAct,primary,evtAct, + histo); + + runManager->SetUserAction(runAct); + runManager->SetUserAction(evtAct); + runManager->SetUserAction(trkAct); + runManager->SetUserAction(stpAct); + + // get the pointer to the User Interface manager + G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + else //define visualization and UI terminal for interactive mode + { +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif + session->SessionStart(); + delete session; + +#ifdef G4VIS_USE + delete visManager; +#endif + } + + // job termination + // + delete histo; + delete runManager; + + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/ams_ecal.pdf b/examples/advanced/amsEcal/ams_ecal.pdf new file mode 100755 index 0000000000..1e7dc64bda Binary files /dev/null and b/examples/advanced/amsEcal/ams_ecal.pdf differ diff --git a/examples/advanced/amsEcal/eventFormat.txt b/examples/advanced/amsEcal/eventFormat.txt new file mode 100644 index 0000000000..c949dc099b --- /dev/null +++ b/examples/advanced/amsEcal/eventFormat.txt @@ -0,0 +1,20 @@ +1- Run Header + ---------- + - NbOfEvents N1Pixels N2Pixels N1Shift + +2- loop on Events + -------------- + - EventNb + - Energy (MeV) Direction Position (mm) + - NbOfPixels + + - loop on Pixels + -------------- + - PixelNb (coded) Evis (MeV) Etot (MeV) + +Coding convention +----------------- +- Pixel has a double index : + Pixel[i1,i2] i1 = 0,...,N1Pixels-1, i2 = 0,...,N2Pixels-1 +- by convention PixelNb = i1*N1Shift+i2 +- therefore : i1 = int(PixelNb/N1Shift), i2 = PixelNb%N1Shift diff --git a/examples/advanced/amsEcal/geantino.mac b/examples/advanced/amsEcal/geantino.mac new file mode 100644 index 0000000000..12200ea918 --- /dev/null +++ b/examples/advanced/amsEcal/geantino.mac @@ -0,0 +1,23 @@ +# $Id: geantino.mac,v 1.4 2009/06/26 14:21:17 maire Exp $ +# +# Macro file for "amsEcal.cc" +# +# Geantinos allows to measure nb of radLengths of calorimeter +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +/ams/gun/setDefault +/gun/particle geantino +/ams/gun/beam 6 mm # +- 0.5*beam +# +/ams/histo/setFileName nradl/nradl.milled +/ams/histo/setFileType hbook +# +/ams/histo/setHisto 5 100 12. 22. none +# +/ams/event/printModulo 4000 +# +/run/beamOn 40000 diff --git a/examples/advanced/amsEcal/include/DetectorConstruction.hh b/examples/advanced/amsEcal/include/DetectorConstruction.hh new file mode 100644 index 0000000000..a24c3fd4f2 --- /dev/null +++ b/examples/advanced/amsEcal/include/DetectorConstruction.hh @@ -0,0 +1,146 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: DetectorConstruction.hh,v 1.7 2009/07/24 13:02:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef DetectorConstruction_h +#define DetectorConstruction_h 1 + +#include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + +class G4VPhysicalVolume; +class G4LogicalVolume; +class G4Material; +class G4UniformMagField; +class DetectorMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class DetectorConstruction : public G4VUserDetectorConstruction +{ +public: + + DetectorConstruction(); + ~DetectorConstruction(); + +public: + + G4VPhysicalVolume* Construct(); + + void PrintCalorParameters(); + void SetMagField(G4double); + void UpdateGeometry(); + +public: + + G4VPhysicalVolume* GetPvolWorld() {return pvol_world;}; + G4Material* GetWorldMaterial() {return worldMat;}; + G4double GetWorldSizeX() {return worldSizeX;}; + G4double GetCalorThickness() {return calorThickness;}; + G4double GetCalorSizeYZ() {return fiberLength;}; + G4double GetModuleThickness() {return moduleThickness;}; + + G4LogicalVolume* GetLvolFiber() {return lvol_fiber;}; + G4LogicalVolume* GetLvolLayer() {return lvol_layer;}; + G4LogicalVolume* GetLvolModule() {return lvol_module;}; + G4LogicalVolume* GetLvolCalorimeter() {return lvol_calorimeter;}; + G4LogicalVolume* GetLvolWorld() {return lvol_world;}; + + G4int GetNbFibers() {return nbOfFibers;}; + G4int GetNbLayers() {return nbOfLayers;}; + G4int GetNbModules() {return nbOfModules;}; + + G4int GetN1Pixels() {return n1pxl;}; + G4int GetN2Pixels() {return n2pxl;}; + G4double GetD1Pixel() {return d1pxl;}; + G4double GetD2Pixel() {return d2pxl;}; + G4int GetN1Shift() {return n1shift;}; + G4int GetSizeVectorPixels() {return sizeVectorPxl;}; + +private: + + //fibers + // + G4Material* fiberMat; + G4double fiberDiameter, fiberLength; + G4LogicalVolume* lvol_fiber; + + //layers + // + G4Material* absorberMat; + G4int nbOfFibers; + G4double distanceInterFibers; + G4double layerThickness; + G4LogicalVolume* lvol_layer; + + //modules + // + G4Material* moduleMat; + G4int nbOfLayers; + G4double milledLayer; + G4double moduleThickness; + G4LogicalVolume* lvol_module; + + //calorimeter + // + G4Material* calorimeterMat; + G4int nbOfModules; + G4double calorThickness; + G4LogicalVolume* lvol_calorimeter; + + //world + // + G4Material* worldMat; + G4double worldSizeX; + G4LogicalVolume* lvol_world; + G4VPhysicalVolume* pvol_world; + + G4Material* defaultMat; + + //pixels readout + // + G4int n1pxl, n2pxl; + G4double d1pxl, d2pxl; + G4int n1shift; + G4int sizeVectorPxl; + + G4UniformMagField* magField; + DetectorMessenger* detectorMessenger; + +private: + + void DefineMaterials(); + G4VPhysicalVolume* ConstructCalorimeter(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysListEmLivermore.hh b/examples/advanced/amsEcal/include/DetectorMessenger.hh similarity index 74% rename from examples/extended/electromagnetic/TestEm1/include/PhysListEmLivermore.hh rename to examples/advanced/amsEcal/include/DetectorMessenger.hh index 76bf4d58bd..07ea4e90d1 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysListEmLivermore.hh +++ b/examples/advanced/amsEcal/include/DetectorMessenger.hh @@ -23,45 +23,43 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:36:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef PhysListEmLivermore_h -#define PhysListEmLivermore_h 1 +#ifndef DetectorMessenger_h +#define DetectorMessenger_h 1 -#include "G4VPhysicsConstructor.hh" #include "globals.hh" +#include "G4UImessenger.hh" + +class DetectorConstruction; +class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithoutParameter; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysListEmLivermore : public G4VPhysicsConstructor +class DetectorMessenger: public G4UImessenger { - public: - PhysListEmLivermore(const G4String& name = "Livermore"); - ~PhysListEmLivermore(); + public: + DetectorMessenger(DetectorConstruction* ); + ~DetectorMessenger(); - public: - // This method is dummy for physics - void ConstructParticle() {}; - - // This method will be invoked in the Construct() method. - // each physics process will be instantiated and - // registered to the process manager of each particle type - void ConstructProcess(); + void SetNewValue(G4UIcommand*, G4String); + + private: + DetectorConstruction* Detector; + + G4UIdirectory* amsDir; + G4UIdirectory* detDir; + G4UIcmdWithADoubleAndUnit* MagFieldCmd; + G4UIcmdWithoutParameter* UpdateCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - diff --git a/examples/advanced/amsEcal/include/EventAction.hh b/examples/advanced/amsEcal/include/EventAction.hh new file mode 100644 index 0000000000..b3b61d4ea8 --- /dev/null +++ b/examples/advanced/amsEcal/include/EventAction.hh @@ -0,0 +1,96 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: EventAction.hh,v 1.5 2009/08/29 08:48:30 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef EventAction_h +#define EventAction_h 1 + +#include "G4UserEventAction.hh" +#include "DetectorConstruction.hh" +#include "globals.hh" + +#include + +class RunAction; +class PrimaryGeneratorAction; +class EventActionMessenger; +class HistoManager; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class EventAction : public G4UserEventAction +{ + public: + EventAction(DetectorConstruction*, RunAction*, PrimaryGeneratorAction*, + HistoManager*); + ~EventAction(); + + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); + + void SetDrawFlag (G4String val) {drawFlag = val;}; + void SetPrintModulo(G4int val) {printModulo = val;}; + + void SumVisibleEnergy(G4int pixel, G4double de) + {visibleEnergy[pixel] += de;}; + + void SumTotalEnergy (G4int pixel, G4double de) + {totalEnergy[pixel] += de;}; + + void SumNbRadLength (G4double dn) {nbRadLen += dn;}; + + void SetWriteFile(G4bool); + void WritePixels(const G4Event*); + + private: + DetectorConstruction* detector; + RunAction* runAct; + PrimaryGeneratorAction* primary; + + std::vector visibleEnergy; + std::vector totalEnergy; + G4double nbRadLen; + + G4bool trigger; + G4double Eseuil; + + G4bool writeFile; + + G4String drawFlag; + G4int printModulo; + EventActionMessenger* eventMessenger; + HistoManager* histoManager; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmLivermore.hh b/examples/advanced/amsEcal/include/EventActionMessenger.hh similarity index 74% rename from examples/extended/electromagnetic/TestEm12/include/PhysListEmLivermore.hh rename to examples/advanced/amsEcal/include/EventActionMessenger.hh index f854dd1571..aba30acdde 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysListEmLivermore.hh +++ b/examples/advanced/amsEcal/include/EventActionMessenger.hh @@ -23,45 +23,43 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:42:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: EventActionMessenger.hh,v 1.2 2009/07/24 13:02:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef PhysListEmLivermore_h -#define PhysListEmLivermore_h 1 +#ifndef EventActionMessenger_h +#define EventActionMessenger_h 1 -#include "G4VPhysicsConstructor.hh" #include "globals.hh" +#include "G4UImessenger.hh" + +class EventAction; +class G4UIdirectory; +class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; +class G4UIcmdWithABool; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysListEmLivermore : public G4VPhysicsConstructor +class EventActionMessenger: public G4UImessenger { - public: - PhysListEmLivermore(const G4String& name = "Livermore"); - ~PhysListEmLivermore(); - - public: - // This method is dummy for physics - void ConstructParticle() {}; - - // This method will be invoked in the Construct() method. - // each physics process will be instantiated and - // registered to the process manager of each particle type - void ConstructProcess(); + public: + EventActionMessenger(EventAction*); + ~EventActionMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + EventAction* eventAction; + + G4UIdirectory* eventDir; + G4UIcmdWithAString* DrawCmd; + G4UIcmdWithAnInteger* PrintCmd; + G4UIcmdWithABool* WriteCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - - - - - - diff --git a/examples/advanced/amsEcal/include/HistoManager.hh b/examples/advanced/amsEcal/include/HistoManager.hh new file mode 100644 index 0000000000..b7f1b79ba7 --- /dev/null +++ b/examples/advanced/amsEcal/include/HistoManager.hh @@ -0,0 +1,114 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HistoManager.hh,v 1.3 2009/07/24 13:02:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef HistoManager_h +#define HistoManager_h 1 + +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +namespace AIDA { + class IAnalysisFactory; + class ITree; + class IHistogram1D; + class ITuple; +} + +class HistoMessenger; + + const G4int MaxHisto = 6; const G4int MaxNtupl = 2; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class HistoManager +{ + public: + + HistoManager(); + ~HistoManager(); + + void SetFileName (const G4String& name) { fileName[0] = name;}; + void SetFileType (const G4String& name) { fileType = name;}; + void SetFileOption (const G4String& name) { fileOption = name;}; + void book(); + void save(); + void SetHisto (G4int,G4int,G4double,G4double,const G4String& unit="none"); + void FillHisto(G4int id, G4double bin, G4double weight = 1.0); + void Normalize(G4int id, G4double fac); + void RemoveHisto(G4int); + void PrintHisto (G4int); + + void SetNtuple (G4int); + void FillNtuple(G4int id, G4int column, G4double value); + void AddRowNtuple(G4int id); + + G4bool HistoExist (G4int id) {return exist[id];} + G4double GetHistoUnit(G4int id) {return Unit[id];} + G4double GetBinWidth (G4int id) {return Width[id];} + G4String GetFileName () {return fileName[0];} + + private: + + G4String fileName[2]; + G4String fileType; + G4String fileOption; + G4bool factoryOn; + AIDA::IAnalysisFactory* af; + AIDA::ITree* tree; + + AIDA::IHistogram1D* histo[MaxHisto]; + G4bool exist[MaxHisto]; + G4String Label[MaxHisto]; + G4String Title[MaxHisto]; + G4int Nbins[MaxHisto]; + G4double Vmin [MaxHisto]; + G4double Vmax [MaxHisto]; + G4double Unit [MaxHisto]; + G4double Width[MaxHisto]; + G4bool ascii[MaxHisto]; + + AIDA::ITuple* ntupl[MaxNtupl]; + G4bool existNt[MaxNtupl]; + G4String LabelNt[MaxNtupl]; + G4String TitleNt[MaxNtupl]; + G4String ColumnNt[MaxNtupl]; + + HistoMessenger* histoMessenger; + + private: + void saveAscii(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/amsEcal/include/HistoMessenger.hh b/examples/advanced/amsEcal/include/HistoMessenger.hh new file mode 100644 index 0000000000..1c8a4f12ab --- /dev/null +++ b/examples/advanced/amsEcal/include/HistoMessenger.hh @@ -0,0 +1,74 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HistoMessenger.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef HistoMessenger_h +#define HistoMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class HistoManager; +class G4UIdirectory; +class G4UIcommand; +class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class HistoMessenger: public G4UImessenger +{ + public: + + HistoMessenger(HistoManager* ); + ~HistoMessenger(); + + void SetNewValue(G4UIcommand* ,G4String ); + + private: + + HistoManager* histoManager; + + G4UIdirectory* histoDir; + G4UIcmdWithAString* factoryCmd; + G4UIcmdWithAString* typeCmd; + G4UIcmdWithAString* optionCmd; + G4UIcommand* histoCmd; + G4UIcmdWithAnInteger* prhistoCmd; + G4UIcmdWithAnInteger* rmhistoCmd; + + G4UIcmdWithAnInteger* ntuplCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmPenelope.hh b/examples/advanced/amsEcal/include/PhysListEmStandard.hh similarity index 88% rename from examples/extended/electromagnetic/TestEm11/include/PhysListEmPenelope.hh rename to examples/advanced/amsEcal/include/PhysListEmStandard.hh index b1ec5cbc31..1ed37700e4 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysListEmPenelope.hh +++ b/examples/advanced/amsEcal/include/PhysListEmStandard.hh @@ -23,26 +23,25 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:39:39 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmStandard.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef PhysListEmPenelope_h -#define PhysListEmPenelope_h 1 +#ifndef PhysListEmStandard_h +#define PhysListEmStandard_h 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class PhysListEmPenelope : public G4VPhysicsConstructor +class PhysListEmStandard : public G4VPhysicsConstructor { public: - PhysListEmPenelope(const G4String& name = "Penelope"); - ~PhysListEmPenelope(); + PhysListEmStandard(const G4String& name = "standard"); + ~PhysListEmStandard(); public: // This method is dummy for physics diff --git a/examples/advanced/amsEcal/include/PhysicsList.hh b/examples/advanced/amsEcal/include/PhysicsList.hh new file mode 100644 index 0000000000..0d1784c7b0 --- /dev/null +++ b/examples/advanced/amsEcal/include/PhysicsList.hh @@ -0,0 +1,74 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PhysicsList.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysicsList_h +#define PhysicsList_h 1 + +#include "G4VModularPhysicsList.hh" +#include "globals.hh" + +class PhysicsListMessenger; +class G4VPhysicsConstructor; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysicsList: public G4VModularPhysicsList +{ + public: + PhysicsList(); + ~PhysicsList(); + + void ConstructParticle(); + void ConstructProcess(); + + void AddPhysicsList(const G4String& name); + + void SetCuts(); + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForPositron(G4double); + + private: + G4double cutForGamma; + G4double cutForElectron; + G4double cutForPositron; + G4double currentDefaultCut; + + G4VPhysicsConstructor* emPhysicsList; + G4String emName; + + PhysicsListMessenger* pMessenger; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/amsEcal/include/PhysicsListMessenger.hh b/examples/advanced/amsEcal/include/PhysicsListMessenger.hh new file mode 100644 index 0000000000..00e81b7c6f --- /dev/null +++ b/examples/advanced/amsEcal/include/PhysicsListMessenger.hh @@ -0,0 +1,70 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PhysicsListMessenger.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PhysicsListMessenger_h +#define PhysicsListMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class PhysicsList; +class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PhysicsListMessenger: public G4UImessenger +{ + public: + + PhysicsListMessenger(PhysicsList* ); + ~PhysicsListMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + + PhysicsList* pPhysicsList; + + G4UIdirectory* physDir; + G4UIcmdWithADoubleAndUnit* gammaCutCmd; + G4UIcmdWithADoubleAndUnit* electCutCmd; + G4UIcmdWithADoubleAndUnit* protoCutCmd; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithAString* pListCmd; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/amsEcal/include/PrimaryGeneratorAction.hh b/examples/advanced/amsEcal/include/PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..032e493e16 --- /dev/null +++ b/examples/advanced/amsEcal/include/PrimaryGeneratorAction.hh @@ -0,0 +1,71 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PrimaryGeneratorAction.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PrimaryGeneratorAction_h +#define PrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "G4ParticleGun.hh" +#include "globals.hh" + +class G4Event; +class DetectorConstruction; +class PrimaryGeneratorMessenger; +class HistoManager; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + PrimaryGeneratorAction(DetectorConstruction*, HistoManager*); + ~PrimaryGeneratorAction(); + + public: + void SetDefaultKinematic(); + void SetRndmBeam(G4double val) { beam = val;} + void GeneratePrimaries(G4Event*); + G4ParticleGun* GetParticleGun() {return particleGun;}; + + private: + G4ParticleGun* particleGun; + DetectorConstruction* Detector; + HistoManager* histoManager; + G4double beam; //lateral beam extension + + PrimaryGeneratorMessenger* gunMessenger; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/advanced/amsEcal/include/PrimaryGeneratorMessenger.hh b/examples/advanced/amsEcal/include/PrimaryGeneratorMessenger.hh new file mode 100644 index 0000000000..dd82fd0745 --- /dev/null +++ b/examples/advanced/amsEcal/include/PrimaryGeneratorMessenger.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PrimaryGeneratorMessenger.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef PrimaryGeneratorMessenger_h +#define PrimaryGeneratorMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +class PrimaryGeneratorAction; +class G4UIdirectory; +class G4UIcmdWithoutParameter; +class G4UIcmdWithADoubleAndUnit; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorMessenger: public G4UImessenger +{ + public: + PrimaryGeneratorMessenger(PrimaryGeneratorAction*); + ~PrimaryGeneratorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + PrimaryGeneratorAction* Action; + + G4UIdirectory* gunDir; + G4UIcmdWithoutParameter* DefaultCmd; + G4UIcmdWithADoubleAndUnit* RndmCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/amsEcal/include/RunAction.hh b/examples/advanced/amsEcal/include/RunAction.hh new file mode 100644 index 0000000000..636405772f --- /dev/null +++ b/examples/advanced/amsEcal/include/RunAction.hh @@ -0,0 +1,96 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: RunAction.hh,v 1.5 2009/08/29 08:48:30 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef RunAction_h +#define RunAction_h 1 + +#include "DetectorConstruction.hh" + +#include "G4UserRunAction.hh" +#include "globals.hh" + +#include + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class PrimaryGeneratorAction; +class HistoManager; + +class G4Run; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class RunAction : public G4UserRunAction +{ +public: + + RunAction(DetectorConstruction*, PrimaryGeneratorAction*, HistoManager*); + ~RunAction(); + + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + + void fillPerEvent_1(G4int,G4double,G4double); + void fillPerEvent_2(G4int,G4double,G4double); + void fillPerEvent_3(G4double,G4double,G4double); + void fillDetailedLeakage(G4int,G4double); + void fillNbRadLen(G4double); + + void SetWriteFile(G4bool val) {writeFile = val;}; + void CreateFilePixels(); + +private: + + DetectorConstruction* detector; + PrimaryGeneratorAction* primary; + HistoManager* histoManager; + + std::vector visibleEnergy, visibleEnergy2; + std::vector totalEnergy, totalEnergy2; + + std::vector layerEvis, layerEvis2; + std::vector layerEtot, layerEtot2; + + G4int nbEvents; + G4double calorEvis, calorEvis2; + G4double calorEtot, calorEtot2; + G4double Eleak, Eleak2; + G4double EdLeak[3]; + G4double nbRadLen, nbRadLen2; + + G4bool writeFile; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/amsEcal/include/SteppingAction.hh b/examples/advanced/amsEcal/include/SteppingAction.hh new file mode 100644 index 0000000000..204fc545fa --- /dev/null +++ b/examples/advanced/amsEcal/include/SteppingAction.hh @@ -0,0 +1,79 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: SteppingAction.hh,v 1.8 2009/09/18 17:34:54 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef SteppingAction_h +#define SteppingAction_h 1 + +#include "G4UserSteppingAction.hh" +#include "globals.hh" + +class DetectorConstruction; +class RunAction; +class PrimaryGeneratorAction; +class EventAction; +class HistoManager; + +class G4LogicalVolume; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class SteppingAction : public G4UserSteppingAction +{ + public: + SteppingAction(DetectorConstruction*, RunAction*, PrimaryGeneratorAction*, + EventAction*, HistoManager*); + ~SteppingAction(); + + void UserSteppingAction(const G4Step*); + + G4double BirksAttenuation(const G4Step*); + + private: + DetectorConstruction* detector; + RunAction* runAct; + PrimaryGeneratorAction* primary; + EventAction* eventAct; + HistoManager* histoManager; + + G4bool first; + G4LogicalVolume* lvol_world; + G4LogicalVolume* lvol_module; + G4LogicalVolume* lvol_layer; + G4LogicalVolume* lvol_fiber; + + G4double calorThickness, calorSizeYZ, moduleThickness; + G4double d1Pixel, d2Pixel; + G4int n1pxl, n2pxl, n1shift; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/advanced/amsEcal/include/SteppingVerbose.hh b/examples/advanced/amsEcal/include/SteppingVerbose.hh new file mode 100644 index 0000000000..dd20e8bcae --- /dev/null +++ b/examples/advanced/amsEcal/include/SteppingVerbose.hh @@ -0,0 +1,56 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: SteppingVerbose.hh,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// This class manages the verbose outputs in G4SteppingManager. +// It inherits from G4SteppingVerbose. +// It shows how to extract informations during the tracking of a particle. +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef SteppingVerbose_h +#define SteppingVerbose_h 1 + +#include "G4SteppingVerbose.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class SteppingVerbose : public G4SteppingVerbose +{ +public: + + SteppingVerbose(); + ~SteppingVerbose(); + + void StepInfo(); + void TrackingStarted(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/advanced/amsEcal/include/TrackingAction.hh b/examples/advanced/amsEcal/include/TrackingAction.hh new file mode 100644 index 0000000000..b5bfa04487 --- /dev/null +++ b/examples/advanced/amsEcal/include/TrackingAction.hh @@ -0,0 +1,66 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: TrackingAction.hh,v 1.1 2009/04/24 09:11:18 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef TrackingAction_h +#define TrackingAction_h 1 + +#include "G4UserTrackingAction.hh" +#include "globals.hh" + +class DetectorConstruction; +class RunAction; +class PrimaryGeneratorAction; +class EventAction; +class HistoManager; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class TrackingAction : public G4UserTrackingAction { + + public: + TrackingAction(DetectorConstruction*,RunAction*, PrimaryGeneratorAction*, + EventAction*,HistoManager* ); + ~TrackingAction() {}; + + void PreUserTrackingAction(const G4Track*); + void PostUserTrackingAction(const G4Track*); + + private: + DetectorConstruction* detector; + RunAction* runAct; + PrimaryGeneratorAction* primary; + EventAction* eventAct; + HistoManager* histoManager; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/advanced/amsEcal/mips.mac b/examples/advanced/amsEcal/mips.mac new file mode 100644 index 0000000000..da4b736443 --- /dev/null +++ b/examples/advanced/amsEcal/mips.mac @@ -0,0 +1,29 @@ +# $Id: mips.mac,v 1.3 2009/06/18 12:43:04 maire Exp $ +# +# Macro file for "amsEcal.cc" +# (can be run in batch, without graphic) +# +/control/verbose 2 +/run/verbose 2 +# +/ams/phys/addPhysics emstandard_local +/ams/phys/setCuts 1 mm +# +/run/initialize +# +/ams/gun/setDefault +/gun/particle proton +/gun/energy 100 GeV +/ams/gun/beam 20 mm +# +/ams/histo/setFileName mips/100gev +/ams/histo/setFileType hbook +/ams/histo/setFileOption export=root +# +/ams/histo/setHisto 1 100 0. 50. MeV #evis in ecal +/ams/histo/setHisto 3 20 0. 20. none +/ams/histo/setHisto 4 20 0. 20. none +# +/ams/event/printModulo 4000 +# +/run/beamOn 40000 diff --git a/examples/advanced/amsEcal/random/seed0 b/examples/advanced/amsEcal/random/seed0 new file mode 100644 index 0000000000..0c2f705303 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed0 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +9876 +54321 diff --git a/examples/advanced/amsEcal/random/seed1 b/examples/advanced/amsEcal/random/seed1 new file mode 100644 index 0000000000..3708c51d76 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed1 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +1025323244 +856439159 diff --git a/examples/advanced/amsEcal/random/seed2 b/examples/advanced/amsEcal/random/seed2 new file mode 100644 index 0000000000..356842cb71 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed2 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +713101094 +2038649755 diff --git a/examples/advanced/amsEcal/random/seed3 b/examples/advanced/amsEcal/random/seed3 new file mode 100644 index 0000000000..07eae8b034 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed3 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +1812204229 +326359066 diff --git a/examples/advanced/amsEcal/random/seed4 b/examples/advanced/amsEcal/random/seed4 new file mode 100644 index 0000000000..508e501c19 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed4 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +1427837696 +989760762 diff --git a/examples/advanced/amsEcal/random/seed5 b/examples/advanced/amsEcal/random/seed5 new file mode 100644 index 0000000000..907cd38eac --- /dev/null +++ b/examples/advanced/amsEcal/random/seed5 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +1623759447 +1970023775 diff --git a/examples/advanced/amsEcal/random/seed6 b/examples/advanced/amsEcal/random/seed6 new file mode 100644 index 0000000000..cc58e29f56 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed6 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +1527956654 +58643015 diff --git a/examples/advanced/amsEcal/random/seed7 b/examples/advanced/amsEcal/random/seed7 new file mode 100644 index 0000000000..e160f859f8 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed7 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +1563611635 +406053752 diff --git a/examples/advanced/amsEcal/random/seed8 b/examples/advanced/amsEcal/random/seed8 new file mode 100644 index 0000000000..f7298b8738 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed8 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +1597885398 +1788354257 diff --git a/examples/advanced/amsEcal/random/seed9 b/examples/advanced/amsEcal/random/seed9 new file mode 100644 index 0000000000..30795e5477 --- /dev/null +++ b/examples/advanced/amsEcal/random/seed9 @@ -0,0 +1,5 @@ +Uvec +1878463799 +0 +738346151 +1901847971 diff --git a/examples/advanced/amsEcal/rndmSeed.mac b/examples/advanced/amsEcal/rndmSeed.mac new file mode 100644 index 0000000000..0c9813875e --- /dev/null +++ b/examples/advanced/amsEcal/rndmSeed.mac @@ -0,0 +1,53 @@ +# $Id: rndmSeed.mac,v 1.1 2009/04/16 11:05:40 maire Exp $ +# +# This macro illustrates how to save random number seeds +# +/control/verbose 2 +/run/verbose 2 +# +/ams/phys/addPhysics emstandard_local +/ams/phys/setCuts 1 mm +# +/run/initialize +# +/ams/gun/setDefault +/gun/particle mu+ +/gun/energy 1 GeV +/ams/gun/beam 1 cm +# +/control/shell mkdir random +# +/run/beamOn 12 +/control/shell mv ./currentRun.rndm ./random/seed0 +# +/run/beamOn 23 +/control/shell mv ./currentRun.rndm ./random/seed1 +# +/run/beamOn 34 +/control/shell mv ./currentRun.rndm ./random/seed2 +# +/run/beamOn 45 +/control/shell mv ./currentRun.rndm ./random/seed3 +# +/run/beamOn 56 +/control/shell mv ./currentRun.rndm ./random/seed4 +# +/run/beamOn 65 +/control/shell mv ./currentRun.rndm ./random/seed5 +# +/run/beamOn 54 +/control/shell mv ./currentRun.rndm ./random/seed6 +# +/run/beamOn 43 +/control/shell mv ./currentRun.rndm ./random/seed7 +# +/run/beamOn 32 +/control/shell mv ./currentRun.rndm ./random/seed8 +# +/run/beamOn 21 +/control/shell mv ./currentRun.rndm ./random/seed9 +# +# restart run 1 +# +/random/resetEngineFrom ./random/seed1 +/run/beamOn 23 diff --git a/examples/advanced/amsEcal/run0.mac b/examples/advanced/amsEcal/run0.mac new file mode 100644 index 0000000000..f341982c30 --- /dev/null +++ b/examples/advanced/amsEcal/run0.mac @@ -0,0 +1,19 @@ +# $Id: run0.mac,v 1.2 2009/06/11 13:39:20 maire Exp $ +# +# Macro file for "amsEcal.cc" +# +/control/verbose 2 +/run/verbose 2 +# +/ams/phys/setCuts 1 km +# +/run/initialize +# +/ams/gun/setDefault +/gun/particle geantino +/gun/energy 1 GeV +/ams/gun/beam 3 mm +# +/control/execute vis.mac +# +/run/beamOn 10 diff --git a/examples/advanced/amsEcal/run1.mac b/examples/advanced/amsEcal/run1.mac new file mode 100644 index 0000000000..54882d0477 --- /dev/null +++ b/examples/advanced/amsEcal/run1.mac @@ -0,0 +1,21 @@ +# $Id: run1.mac,v 1.1 2009/04/16 11:05:40 maire Exp $ +# +# Macro file for "amsEcal.cc" +# (can be run in batch, without graphic) +# +/control/verbose 2 +/run/verbose 2 +# +/ams/phys/addPhysics emstandard_local +/ams/phys/setCuts 1 km +# +/run/initialize +# +/ams/gun/setDefault +/gun/particle mu+ +/gun/energy 1 GeV +/ams/gun/beam 1 cm +# +/ams/event/printModulo 1000 +# +/run/beamOn 10000 diff --git a/examples/advanced/amsEcal/run1.out b/examples/advanced/amsEcal/run1.out new file mode 100644 index 0000000000..6a8dec0141 --- /dev/null +++ b/examples/advanced/amsEcal/run1.out @@ -0,0 +1,214 @@ + + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + +************************************************************* + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Copyright : Geant4 Collaboration + Reference : NIM A 506 (2003), 250-303 + WWW : http://cern.ch/geant4 +************************************************************* + + +***** Table : Nb of materials = 4 ***** + + Material: Lead density: 11.200 g/cm3 RadL: 5.687 mm Nucl.Int.Length: 18.492 cm Imean: 820.000 eV + ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.20 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Scintillator density: 1.032 g/cm3 RadL: 42.438 cm Nucl.Int.Length: 70.639 cm Imean: 65.013 eV + ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 92.24 % ElmAbundance 50.00 % + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 7.76 % ElmAbundance 50.00 % + + Material: Air density: 1.290 mg/cm3 RadL: 285.161 m Nucl.Int.Length: 662.680 m Imean: 85.684 eV temperature: 273.15 K pressure: 1.00 atm + ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % + + Material: Galactic density: 0.000 kg/m3 RadL: 204322111.300 pc Nucl.Int.Length: 113728944.943 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm + ---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + +/run/verbose 2 +# +/ams/phys/addPhysics emstandard_local +/ams/phys/setCuts 1 km +# +/run/initialize +userDetector->Construct() start. + +------------------------------------------------------------- + ---> The calorimeter is 9 Modules + ---> A Module is 10 Layers + 1 milled Layer + ---> A Layer is 1.68 mm thickness of Lead + ---> A Layer includes 490 fibers of Scintillator + ---> diameter : 1.08 mm + ---> length : 66.285 cm + ---> distance : 1.35 mm + ---> The milled Layer is 1.4 mm thickness of Lead + + ---> Module thickness 1.82 cm + + ---> Total calor thickness 16.38 cm + Tranverse size 66.285 cm +------------------------------------------------------------- + +world is registered to the default region. +physicsList->Construct() start. +physicsList->Construct() start. +physicsList->CheckParticleList() start. +physicsList->setCut() start. +PhysicsList::SetCuts:CutLength : 1 mm +# +/ams/gun/setDefault +/gun/particle mu+ +/gun/energy 1 GeV +/ams/gun/beam 1 cm +# +/ams/event/printModulo 1000 +# +/run/beamOn 10000 + +Region -- appears in world volume + Root logical volume(s) : world + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] + Materials : Galactic Lead Scintillator + Production cuts : gamma 1 km e- 1 km e+ 1 km proton 0 fm + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 km e- 1 km e+ 1 km proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 1 km e- 1 km e+ 1 km proton 0 fm + Energy thresholds : gamma 10 GeV e- 10 GeV e+ 10 GeV proton 0 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : Scintillator + Range cuts : gamma 1 km e- 1 km e+ 1 km proton 0 fm + Energy thresholds : gamma 10 GeV e- 10 GeV e+ 10 GeV proton 0 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + +Start closing geometry. +G4GeometryManager::ReportVoxelStats -- Voxel Statistics + + Total memory consumed for geometry optimisation: 32 kByte + Total CPU time elapsed for geometry optimisation: 0 seconds + + Voxelisation: top CPU users: + Percent Total CPU System CPU Memory Volume + ------- ---------- ---------- -------- ---------- + 0.00 0.00 0.00 31k layer + 0.00 0.00 0.00 1k module + 0.00 0.00 0.00 1k calorimeter + + Voxelisation: top memory users: + Percent Memory Heads Nodes Pointers Total CPU Volume + ------- -------- ------ ------ -------- ---------- ---------- + 94.74 30k 1 490 980 0.00 layer + 3.16 1k 1 17 20 0.00 module + 2.10 0k 1 10 18 0.00 calorimeter +### Run 0 start. + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 9876, 54321 +---------------------------------------- +Start Run processing. + +---> Begin Of Event: 0 + +---> Begin Of Event: 1000 + +---> Begin Of Event: 2000 + +---> Begin Of Event: 3000 + +---> Begin Of Event: 4000 + +---> Begin Of Event: 5000 + +---> Begin Of Event: 6000 + +---> Begin Of Event: 7000 + +---> Begin Of Event: 8000 + +---> Begin Of Event: 9000 +Run terminated. +Run Summary + Number of events processed : 10000 + User=26.57s Real=26.79s Sys=0.23s + +------------------------------------------------------------- + ---> The calorimeter is 9 Modules + ---> A Module is 10 Layers + 1 milled Layer + ---> A Layer is 1.68 mm thickness of Lead + ---> A Layer includes 490 fibers of Scintillator + ---> diameter : 1.08 mm + ---> length : 66.285 cm + ---> distance : 1.35 mm + ---> The milled Layer is 1.4 mm thickness of Lead + + ---> Module thickness 1.82 cm + + ---> Total calor thickness 16.38 cm + Tranverse size 66.285 cm +------------------------------------------------------------- + + The run was 10000 mu+ of 1 GeV through the calorimeter +------------------------------------------------------------ + + visible Energy (rms/mean) total Energy (rms/mean) + + layer 0: 732.61 keV +- 1.93 MeV (2.6e+02 %) 8.9055 MeV +- 5.476 MeV ( 61 %) + layer 1: 742.11 keV +- 1.928 MeV (2.6e+02 %) 9.0962 MeV +- 6.159 MeV ( 68 %) + layer 2: 700.99 keV +- 1.5 MeV (2.1e+02 %) 8.9776 MeV +- 5.436 MeV ( 61 %) + layer 3: 748.4 keV +- 1.927 MeV (2.6e+02 %) 9.0973 MeV +- 6.064 MeV ( 67 %) + layer 4: 748.55 keV +- 1.95 MeV (2.6e+02 %) 9.0366 MeV +- 5.856 MeV ( 65 %) + layer 5: 715.88 keV +- 1.44 MeV (2e+02 %) 8.9494 MeV +- 5.571 MeV ( 62 %) + layer 6: 710.79 keV +- 1.107 MeV (1.6e+02 %) 8.9548 MeV +- 5.207 MeV ( 58 %) + layer 7: 731.93 keV +- 1.605 MeV (2.2e+02 %) 9.0496 MeV +- 5.693 MeV ( 63 %) + layer 8: 746.8 keV +- 1.722 MeV (2.3e+02 %) 8.993 MeV +- 5.309 MeV ( 59 %) + layer 9: 695.44 keV +- 1.104 MeV (1.6e+02 %) 8.9305 MeV +- 5.471 MeV ( 61 %) + layer 10: 714.49 keV +- 1.146 MeV (1.6e+02 %) 8.9825 MeV +- 5.39 MeV ( 60 %) + layer 11: 740.05 keV +- 1.741 MeV (2.4e+02 %) 9.0284 MeV +- 5.927 MeV ( 66 %) + layer 12: 724.77 keV +- 1.429 MeV (2e+02 %) 8.9099 MeV +- 5.258 MeV ( 59 %) + layer 13: 720.08 keV +- 1.503 MeV (2.1e+02 %) 8.9256 MeV +- 5.244 MeV ( 59 %) + layer 14: 739.52 keV +- 1.793 MeV (2.4e+02 %) 8.9942 MeV +- 5.493 MeV ( 61 %) + layer 15: 735.07 keV +- 1.754 MeV (2.4e+02 %) 8.9093 MeV +- 5.029 MeV ( 56 %) + layer 16: 724.37 keV +- 1.406 MeV (1.9e+02 %) 8.9576 MeV +- 5.17 MeV ( 58 %) + layer 17: 702.53 keV +- 1.294 MeV (1.8e+02 %) 8.8082 MeV +- 4.696 MeV ( 53 %) + + total calor : 13.074 MeV +- 6.781 MeV ( 52 %) 161.51 MeV +- 23.38 MeV ( 14 %) +------------------------------------------------------------ + + Leakage : 838.49 MeV +- 23.38 MeV + Eleak/Ebeam =83.8 % ( forward =83.8 %; backward =0.014 %; lateral =0.0243 %) + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 1380347255, 1399488370 +---------------------------------------- +UserDetectorConstruction deleted. +UserPhysicsList deleted. +UserRunAction deleted. +UserPrimaryGenerator deleted. +G4 kernel has come to Quit state. +EventManager deleted. +UImanager deleted. +Units table cleared. +StateManager deleted. +RunManagerKernel is deleted. +RunManager is deleting. + diff --git a/examples/advanced/amsEcal/run2.mac b/examples/advanced/amsEcal/run2.mac new file mode 100644 index 0000000000..e8ac6469e8 --- /dev/null +++ b/examples/advanced/amsEcal/run2.mac @@ -0,0 +1,34 @@ +# $Id: run2.mac,v 1.2 2009/06/08 12:58:13 maire Exp $ +# +# Macro file for "amsEcal.cc" +# (can be run in batch, without graphic) +# +/control/verbose 2 +/run/verbose 2 +# +/ams/phys/addPhysics emstandard_local +/ams/phys/setCuts 1 mm +# +/run/initialize +# +/ams/gun/setDefault +/gun/particle e- +/gun/energy 10 GeV +/ams/gun/beam 4 mm +# +/ams/histo/setFileName showers/10gev.run1 +/ams/histo/setFileType hbook +/ams/histo/setFileOption export=root +# +/ams/histo/setHisto 1 100 0. 500. MeV #evis in ecal +/ams/histo/setHisto 2 100 4. 7. GeV #edep in ecal +/ams/histo/setHisto 3 20 0. 20. none +/ams/histo/setHisto 4 20 0. 20. none +/ams/histo/setNtuple 1 +# +/ams/event/printModulo 100 +# +# set rndm seed +/random/resetEngineFrom random/seed1 +# +/run/beamOn 1000 diff --git a/examples/advanced/amsEcal/showers/plotHisto.C b/examples/advanced/amsEcal/showers/plotHisto.C new file mode 100644 index 0000000000..af034507a3 --- /dev/null +++ b/examples/advanced/amsEcal/showers/plotHisto.C @@ -0,0 +1,25 @@ +{ + gROOT->Reset(); + + // Draw histos filled by Geant4 simulation + // + TFile f = TFile("e6gev.run1.root"); + TCanvas* c1 = new TCanvas("c1", " "); + + TH1D* hist1 = (TH1D*)f.Get("1"); + hist1->Draw("HIST"); + + TH1D* hist2 = (TH1D*)f.Get("2"); + hist2->Draw("HIST"); + + TH1D* hist3 = (TH1D*)f.Get("3"); + hist3->Draw("HIST"); + + TH1D* hist4 = (TH1D*)f.Get("4"); + hist4->Draw("HIST"); + + TTree* nt = (TTree*)f.Get("101"); + c1->cd(); + c1->Update(); + nt->StartViewer(); +} diff --git a/examples/advanced/amsEcal/showers/plotHisto.kumac b/examples/advanced/amsEcal/showers/plotHisto.kumac new file mode 100644 index 0000000000..8e647d553d --- /dev/null +++ b/examples/advanced/amsEcal/showers/plotHisto.kumac @@ -0,0 +1,21 @@ +macro plotHisto.kumac +* +h/file 1 10gev.run1.hbook +* +h/list +* +opt stat +* +h/pl 1 +h/pl 2 +h/pl 3 +h/pl 4 +* +opt grid +* +nt/print 101 +* +nt/pl 101.Evis0 +nt/pl 101.Edep0 +* +return diff --git a/examples/advanced/amsEcal/src/DetectorConstruction.cc b/examples/advanced/amsEcal/src/DetectorConstruction.cc new file mode 100644 index 0000000000..2601bfae26 --- /dev/null +++ b/examples/advanced/amsEcal/src/DetectorConstruction.cc @@ -0,0 +1,413 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: DetectorConstruction.cc,v 1.11 2009/07/24 13:02:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "DetectorConstruction.hh" +#include "DetectorMessenger.hh" + +#include "G4Material.hh" +#include "G4Tubs.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4RotationMatrix.hh" + +#include "G4UniformMagField.hh" + +#include "G4GeometryManager.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4SolidStore.hh" + +#include "G4UnitsTable.hh" + +#include "G4VisAttributes.hh" + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +DetectorConstruction::DetectorConstruction() +:fiberMat(0),lvol_fiber(0), absorberMat(0),lvol_layer(0), + moduleMat(0),lvol_module(0), calorimeterMat(0),lvol_calorimeter(0), + worldMat(0),pvol_world(0), defaultMat(0), magField(0) +{ + // materials + DefineMaterials(); + + // default parameter values of calorimeter + // + fiberDiameter = 1.08*mm; //1.08*mm + nbOfFibers = 490; //490 + distanceInterFibers = 1.35*mm; //1.35*mm + layerThickness = 1.68*mm; //1.68*mm + milledLayer = 1.40*mm; // ? + nbOfLayers = 10; //10 + nbOfModules = 9; //9 + + fiberLength = (nbOfFibers+1)*distanceInterFibers; //658*mm + + //pixels readout + // + G4int nSubModul = 2; //2 + n1pxl = nbOfModules*nSubModul; //18 + n2pxl = 72; //72 + + n1shift = 1; + if (n1pxl > 1) n1shift = 10; + if (n1pxl > 10) n1shift = 100; + if (n1pxl > 100) n1shift = 1000; + + sizeVectorPxl = n1pxl*n1shift; //1800 + + // create commands for interactive definition of the calorimeter + detectorMessenger = new DetectorMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +DetectorConstruction::~DetectorConstruction() +{ + delete detectorMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* DetectorConstruction::Construct() +{ + return ConstructCalorimeter(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void DetectorConstruction::DefineMaterials() +{ + // define Elements + // + G4Element* H = new G4Element("Hydrogen","H", 1, 1.01*g/mole); + G4Element* C = new G4Element("Carbon", "C", 6, 12.01*g/mole); + G4Element* N = new G4Element("Nitrogen","N", 7, 14.01*g/mole); + G4Element* O = new G4Element("Oxygen", "O", 8, 16.00*g/mole); + + G4int natoms, ncomponents; + G4double density, massfraction; + + // Lead + // + G4Material* Pb = + new G4Material("Lead", 82., 207.20*g/mole, density= 11.20*g/cm3); + + // Scintillator + // + G4Material* Sci = + new G4Material("Scintillator", density= 1.032*g/cm3, ncomponents=2); + Sci->AddElement(C, natoms=8); + Sci->AddElement(H, natoms=8); + + Sci->GetIonisation()->SetBirksConstant(0.126*mm/MeV); + + // Air + // + G4Material* Air = + new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2); + Air->AddElement(N, massfraction=70*perCent); + Air->AddElement(O, massfraction=30.*perCent); + + // example of vacuum + // + density = universe_mean_density; //from PhysicalConstants.h + G4double pressure = 3.e-18*pascal; + G4double temperature = 2.73*kelvin; + G4Material* Vacuum = + new G4Material("Galactic", 1., 1.008*g/mole, density, + kStateGas,temperature,pressure); + + //attribute materials + // + defaultMat = Vacuum; + fiberMat = Sci; + absorberMat = Pb; + moduleMat = defaultMat; + calorimeterMat = defaultMat; + worldMat = defaultMat; + + // print table + // + G4cout << *(G4Material::GetMaterialTable()) << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* DetectorConstruction::ConstructCalorimeter() +{ + // Cleanup old geometry + // + G4GeometryManager::GetInstance()->OpenGeometry(); + G4PhysicalVolumeStore::GetInstance()->Clean(); + G4LogicalVolumeStore::GetInstance()->Clean(); + G4SolidStore::GetInstance()->Clean(); + + // fibers + // + G4Tubs* + svol_fiber = new G4Tubs("fiber", //name + 0*mm, 0.5*fiberDiameter, //r1, r2 + 0.5*fiberLength, //half-length + 0., twopi); //theta1, theta2 + + lvol_fiber = new G4LogicalVolume(svol_fiber, //solid + fiberMat, //material + "fiber"); //name + + // layer + // + G4double sizeX = layerThickness; + G4double sizeY = distanceInterFibers*nbOfFibers; + G4double sizeZ = fiberLength; + + G4Box* + svol_layer = new G4Box("layer", //name + 0.5*sizeX, 0.5*sizeY, 0.5*sizeZ); //size + + + lvol_layer = new G4LogicalVolume(svol_layer, //solid + absorberMat, //material + "layer"); //name + + // put fibers within layer + // + G4double Xcenter = 0.; + G4double Ycenter = -0.5*(sizeY + distanceInterFibers); + + for (G4int k=0; krotateX(90*deg); + + for (G4int k=0; kSetVisAttributes (G4VisAttributes::Invisible); + lvol_layer->SetVisAttributes (G4VisAttributes::Invisible); + lvol_world->SetVisAttributes (G4VisAttributes::Invisible); + + // Pixels readout + // + d1pxl = calorThickness/n1pxl; + d2pxl = fiberLength/n2pxl; + + //always return the physical World + // + return pvol_world; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void DetectorConstruction::PrintCalorParameters() +{ + G4cout << "\n-------------------------------------------------------------" + << "\n ---> The calorimeter is " << nbOfModules << " Modules" + << "\n ---> A Module is " << nbOfLayers << " Layers + 1 milled Layer"; + + G4cout + << "\n ---> A Layer is " << G4BestUnit(layerThickness,"Length") + << " thickness of " << absorberMat->GetName(); + + G4cout + << "\n ---> A Layer includes " << nbOfFibers << " fibers of " + << fiberMat->GetName(); + + G4cout + << "\n ---> diameter : " << G4BestUnit(fiberDiameter,"Length") + << "\n ---> length : " << G4BestUnit(fiberLength,"Length") + << "\n ---> distance : " << G4BestUnit(distanceInterFibers,"Length"); + + G4cout + << "\n ---> The milled Layer is " << G4BestUnit(milledLayer,"Length") + << " thickness of " << absorberMat->GetName(); + + G4cout + << "\n\n ---> Module thickness " << G4BestUnit(moduleThickness,"Length"); + + G4cout + << "\n\n ---> Total calor thickness " << G4BestUnit(calorThickness,"Length") + << "\n Tranverse size " << G4BestUnit(fiberLength,"Length"); + + G4cout << "\n-------------------------------------------------------------\n"; + G4cout << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" + +void DetectorConstruction::SetMagField(G4double fieldValue) +{ + //apply a global uniform magnetic field along Z axis + // + G4FieldManager* fieldMgr + = G4TransportationManager::GetTransportationManager()->GetFieldManager(); + + if(magField) delete magField; //delete the existing magn field + + if(fieldValue!=0.) // create a new one if non nul + { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); + fieldMgr->SetDetectorField(magField); + fieldMgr->CreateChordFinder(magField); + } else { + magField = 0; + fieldMgr->SetDetectorField(magField); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4RunManager.hh" + +void DetectorConstruction::UpdateGeometry() +{ + G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/src/ParticlesBuilder.cc b/examples/advanced/amsEcal/src/DetectorMessenger.cc similarity index 54% rename from examples/extended/medical/GammaTherapy/src/ParticlesBuilder.cc rename to examples/advanced/amsEcal/src/DetectorMessenger.cc index c7949284cf..de223ff6b4 100644 --- a/examples/extended/medical/GammaTherapy/src/ParticlesBuilder.cc +++ b/examples/advanced/amsEcal/src/DetectorMessenger.cc @@ -23,97 +23,63 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: DetectorMessenger.cc,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // -// $Id: ParticlesBuilder.cc,v 1.3 2006/06/29 17:27:56 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: ParticleBuilder -// -// Author: V.Ivanchenko 03.05.2004 -// -// Modified: -// -//---------------------------------------------------------------------------- -// - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "ParticlesBuilder.hh" +#include "DetectorMessenger.hh" -// Bosons -#include "G4ChargedGeantino.hh" -#include "G4Geantino.hh" -#include "G4Gamma.hh" -#include "G4OpticalPhoton.hh" - -// leptons -#include "G4MuonPlus.hh" -#include "G4MuonMinus.hh" -#include "G4NeutrinoMu.hh" -#include "G4AntiNeutrinoMu.hh" - -#include "G4Electron.hh" -#include "G4Positron.hh" -#include "G4NeutrinoE.hh" -#include "G4AntiNeutrinoE.hh" - -// Hadrons -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" +#include "DetectorConstruction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithoutParameter.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ParticlesBuilder::ParticlesBuilder(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -ParticlesBuilder::~ParticlesBuilder() -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void ParticlesBuilder::ConstructParticle() -{ - -// pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); +DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) +:Detector(Det) +{ + amsDir = new G4UIdirectory("/ams/"); + amsDir->SetGuidance("UI commands specific to this example"); -// gamma - G4Gamma::GammaDefinition(); + detDir = new G4UIdirectory("/ams/det/"); + detDir->SetGuidance("detector construction commands"); -// optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); - -// leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); - -// mesons - G4MesonConstructor mConstructor; - mConstructor.ConstructParticle(); - -// barions - G4BaryonConstructor bConstructor; - bConstructor.ConstructParticle(); - -// ions - G4IonConstructor iConstructor; - iConstructor.ConstructParticle(); + MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/ams/det/setField",this); + MagFieldCmd->SetGuidance("Define magnetic field."); + MagFieldCmd->SetGuidance("Magnetic field will be in Z direction."); + MagFieldCmd->SetParameterName("Bz",false); + MagFieldCmd->SetUnitCategory("Magnetic flux density"); + MagFieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + UpdateCmd = new G4UIcmdWithoutParameter("/ams/det/update",this); + UpdateCmd->SetGuidance("Update calorimeter geometry."); + UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); + UpdateCmd->SetGuidance("if you changed geometrical value(s)."); + UpdateCmd->AvailableForStates(G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +DetectorMessenger::~DetectorMessenger() +{ + delete MagFieldCmd; + delete UpdateCmd; + delete detDir; + delete amsDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == MagFieldCmd ) + { Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} + + if( command == UpdateCmd ) + { Detector->UpdateGeometry();} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/amsEcal/src/EventAction.cc b/examples/advanced/amsEcal/src/EventAction.cc new file mode 100644 index 0000000000..bb39f46866 --- /dev/null +++ b/examples/advanced/amsEcal/src/EventAction.cc @@ -0,0 +1,234 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: EventAction.cc,v 1.8 2009/09/18 17:34:54 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "EventAction.hh" + +#include "RunAction.hh" +#include "PrimaryGeneratorAction.hh" +#include "EventActionMessenger.hh" +#include "HistoManager.hh" + +#include "G4Event.hh" +#include "G4TrajectoryContainer.hh" +#include "G4Trajectory.hh" +#include "G4VVisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventAction::EventAction(DetectorConstruction* det, RunAction* run, + PrimaryGeneratorAction* prim, HistoManager* hist) +:detector(det), runAct(run), primary(prim), histoManager(hist) +{ + trigger = false; + Eseuil = 10*keV; + + writeFile = false; + + drawFlag = "none"; + printModulo = 1000; + eventMessenger = new EventActionMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventAction::~EventAction() +{ + delete eventMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventAction::BeginOfEventAction(const G4Event* evt) +{ + G4int evtNb = evt->GetEventID(); + + //survey printing + if (evtNb%printModulo == 0) + G4cout << "\n---> Begin Of Event: " << evtNb << G4endl; + + //initialize Energy per event + // + G4int nbOfPixels = detector->GetSizeVectorPixels(); + G4int size = totalEnergy.size(); + if (size < nbOfPixels) { + visibleEnergy.resize(nbOfPixels); + totalEnergy.resize(nbOfPixels); + } + + for (G4int k=0; kGetN1Pixels(); + G4int n2pxl = detector->GetN2Pixels(); + G4int n1shift = detector->GetN1Shift(); + + // code for trigger conditions : + // 1 and only 1 pixel fired per layer + // + if (trigger) { + for (G4int i1=0; i1 Eseuil) count++; + } + //if event killed --> skip EndOfEventAction + if (count > 1) return; + } + } + + //pass informations to RunAction and HistoManager + // + G4double calorEvis = 0.; + G4double calorEtot = 0.; + for (G4int i1=0; i1fillPerEvent_1(k,visibleEnergy[k],totalEnergy[k]); + layerEvis += visibleEnergy[k]; + layerEtot += totalEnergy[k]; + calorEvis += visibleEnergy[k]; + calorEtot += totalEnergy[k]; + } + runAct->fillPerEvent_2(i1,layerEvis,layerEtot); + if (layerEvis > 0.) histoManager->FillNtuple(1, i1, layerEvis); + if (layerEtot > 0.) histoManager->FillNtuple(1, n1pxl+i1, layerEtot); + } + + histoManager->AddRowNtuple(1); + + if (calorEvis > 0.) histoManager->FillHisto(1,calorEvis); + if (calorEtot > 0.) histoManager->FillHisto(2,calorEtot); + + G4double Ebeam = primary->GetParticleGun()->GetParticleEnergy(); + G4double Eleak = Ebeam - calorEtot; + runAct->fillPerEvent_3(calorEvis,calorEtot,Eleak); + + //nb of radiation lenght + // + runAct->fillNbRadLen(nbRadLen); + if (nbRadLen > 0.) histoManager->FillHisto(5,nbRadLen); + + //write file of pixels + // + if (writeFile) WritePixels(evt); + + //parameters for trajectory visualisation + // + if (G4VVisManager::GetConcreteInstance()) + { + G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); + G4int n_trajectories = 0; + if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); + for (G4int i=0; iGetTrajectoryContainer()))[i]); + if (drawFlag == "all") trj->DrawTrajectory(100); + else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) + trj->DrawTrajectory(100); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventAction::SetWriteFile(G4bool val) +{ + writeFile = val; + runAct->SetWriteFile(val); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include +#include "G4RunManager.hh" +#include "G4Run.hh" + +void EventAction::WritePixels(const G4Event* evt) +{ + // event is appended onto file created at BeginOfRun + // + G4String name = histoManager->GetFileName(); + G4String fileName = name + ".pixels.ascii"; + + std::ofstream File(fileName, std::ios::app); + std::ios::fmtflags mode = File.flags(); + File.setf( std::ios::scientific, std::ios::floatfield ); + G4int prec = File.precision(3); + + //write event number + // + File << evt->GetEventID() << G4endl; + + //gun particle informations + // + G4ParticleGun* gun = primary->GetParticleGun(); + G4double ekin = gun->GetParticleEnergy(); + G4ThreeVector direction = gun->GetParticleMomentumDirection(); + G4ThreeVector position = gun->GetParticlePosition(); + File << ekin << " " << direction << " " << position << G4endl; + + //count nb of fired pixels + // + G4int firedPixels = 0; + G4int nbOfPixels = detector->GetSizeVectorPixels(); + for (G4int k=0; k 0.0) firedPixels++; + } + File << firedPixels << G4endl; + + //write pixels + // + for (G4int k=0; k 0.0) + File << k << " " << visibleEnergy[k] << " " << totalEnergy[k] << " "; + } + File << G4endl; + + // restaure default formats + File.setf(mode,std::ios::floatfield); + File.precision(prec); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + diff --git a/examples/advanced/amsEcal/src/EventActionMessenger.cc b/examples/advanced/amsEcal/src/EventActionMessenger.cc new file mode 100644 index 0000000000..d4a7d4e511 --- /dev/null +++ b/examples/advanced/amsEcal/src/EventActionMessenger.cc @@ -0,0 +1,94 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: EventActionMessenger.cc,v 1.2 2009/07/24 13:02:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "EventActionMessenger.hh" +#include "EventAction.hh" + +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithABool.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventActionMessenger::EventActionMessenger(EventAction* EvAct) +:eventAction(EvAct) +{ + eventDir = new G4UIdirectory("/ams/event/"); + eventDir->SetGuidance("event control"); + + DrawCmd = new G4UIcmdWithAString("/ams/event/drawTracks",this); + DrawCmd->SetGuidance("Draw the tracks in the event"); + DrawCmd->SetGuidance(" Choice : none, charged(default), all"); + DrawCmd->SetParameterName("choice",true); + DrawCmd->SetDefaultValue("all"); + DrawCmd->SetCandidates("none charged all"); + DrawCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + PrintCmd = new G4UIcmdWithAnInteger("/ams/event/printModulo",this); + PrintCmd->SetGuidance("Print events modulo n"); + PrintCmd->SetParameterName("EventNb",false); + PrintCmd->SetRange("EventNb>0"); + PrintCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + WriteCmd = new G4UIcmdWithABool("/ams/event/writePixels",this); + WriteCmd->SetGuidance("write ascii file of fired pixels"); + WriteCmd->SetParameterName("writeF", true); + WriteCmd->SetDefaultValue(true); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +EventActionMessenger::~EventActionMessenger() +{ + delete DrawCmd; + delete PrintCmd; + delete WriteCmd; + delete eventDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void EventActionMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if(command == DrawCmd) + {eventAction->SetDrawFlag(newValue);} + + if(command == PrintCmd) + {eventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));} + + if(command == WriteCmd) + {eventAction->SetWriteFile(WriteCmd->GetNewBoolValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/amsEcal/src/HistoManager.cc b/examples/advanced/amsEcal/src/HistoManager.cc new file mode 100644 index 0000000000..7941a49dc9 --- /dev/null +++ b/examples/advanced/amsEcal/src/HistoManager.cc @@ -0,0 +1,361 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HistoManager.cc,v 1.4 2009/07/24 13:02:02 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "HistoManager.hh" +#include "HistoMessenger.hh" +#include "G4UnitsTable.hh" + +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoManager::HistoManager() +:factoryOn(false),af(0),tree(0) +{ +#ifdef G4ANALYSIS_USE + // Creating the analysis factory + af = AIDA_createAnalysisFactory(); + if(!af) { + G4cout << " HistoManager::HistoManager :" + << " problem creating the AIDA analysis factory." + << G4endl; + } +#endif + + fileName[0] = "ecal"; + fileType = "root"; + fileOption = "--noErrors export=root uncompress"; + + // histograms + for (G4int k=0; kcreateTreeFactory(); + tree = tf->create(fileName[1], fileType, readOnly, createNew, fileOption); + delete tf; + if(!tree) { + G4cout << " HistoManager::book :" + << " problem creating the AIDA tree with " + << " storeName = " << fileName[1] + << " storeType = " << fileType + << " readOnly = " << readOnly + << " createNew = " << createNew + << " options = " << fileOption + << G4endl; + return; + } + + // Creating a histogram factory, whose histograms will be handled by the tree + AIDA::IHistogramFactory* hf = af->createHistogramFactory(*tree); + + // create selected histograms + for (G4int k=1; kcreateHistogram1D( Label[k], Title[k], + Nbins[k], Vmin[k], Vmax[k]); + factoryOn = true; + } + } + delete hf; + + // Creating a ntuple factory, handled by the tree + AIDA::ITupleFactory* ntf = af->createTupleFactory(*tree); + + // create selected ntuples + for (G4int k=1; kcreate( LabelNt[k], TitleNt[k], ColumnNt[k]); + factoryOn = true; + } + } + + delete ntf; + + if (factoryOn) + G4cout << "\n----> Histogram Tree is opened in " << fileName[1] << G4endl; +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::save() +{ +#ifdef G4ANALYSIS_USE + if (factoryOn) { + saveAscii(); // Write ascii file, if any + tree->commit(); // Writing the histograms to the file + tree->close(); // and closing the tree (and the file) + G4cout << "\n----> Histogram Tree is saved in " << fileName[1] << G4endl; + + delete tree; + tree = 0; + factoryOn = false; + } +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::FillHisto(G4int ih, G4double xbin, G4double weight) +{ + if (ih >= MaxHisto) { + G4cout << "---> warning from HistoManager::FillHisto() : histo " << ih + << " xbin= " << xbin << " weight= " << weight << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(exist[ih]) histo[ih]->fill(xbin/Unit[ih], weight); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::SetHisto(G4int ih, + G4int nbins, G4double valmin, G4double valmax, const G4String& unit) +{ + if (ih < 1 || ih >= MaxHisto) { + G4cout << "---> warning from HistoManager::SetHisto() : histo " << ih + << "does not exist" << G4endl; + return; + } + + const G4String id[] = { "0", "1", "2", "3", "4", "5" }; + const G4String title[] = + { "dummy", //0 + "total Evis in Ecal", //1 + "total Edep in Ecal", //2 + "Evis profile", //3 + "Edep profile", //4 + "Nb of Radiation Length" //5 + }; + + G4String titl = title[ih]; + G4double vmin = valmin, vmax = valmax; + Unit[ih] = 1.; + + if (unit != "none") { + titl = title[ih] + " (" + unit + ")"; + Unit[ih] = G4UnitDefinition::GetValueOf(unit); + vmin = valmin/Unit[ih]; vmax = valmax/Unit[ih]; + } + + exist[ih] = true; + Label[ih] = id[ih]; + Title[ih] = titl; + Nbins[ih] = nbins; + Vmin[ih] = vmin; + Vmax[ih] = vmax; + Width[ih] = (valmax-valmin)/nbins; + + G4cout << "----> SetHisto " << ih << ": " << titl << "; " + << nbins << " bins from " + << vmin << " " << unit << " to " << vmax << " " << unit << G4endl; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::Normalize(G4int ih, G4double fac) +{ + if (ih >= MaxHisto) { + G4cout << "---> warning from HistoManager::Normalize() : histo " << ih + << " fac= " << fac << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(exist[ih]) histo[ih]->scale(fac); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::RemoveHisto(G4int ih) +{ + if (ih >= MaxHisto) { + G4cout << "---> warning from HistoManager::RemoveHisto() : histo " << ih + << "does not exist" << G4endl; + return; + } + + histo[ih] = 0; exist[ih] = false; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::PrintHisto(G4int ih) +{ + if (ih < MaxHisto) { ascii[ih] = true; ascii[0] = true; } + else + G4cout << "---> warning from HistoManager::PrintHisto() : histo " << ih + << "does not exist" << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include + +void HistoManager::saveAscii() +{ +#ifdef G4ANALYSIS_USE + + if (!ascii[0]) return; + + G4String name = fileName[0] + ".ascii"; + std::ofstream File(name, std::ios::out); + File.setf( std::ios::scientific, std::ios::floatfield ); + + //write selected histograms + for (G4int ih=0; ihaxis().binLowerEdge(iBin) + + histo[ih]->axis().binUpperEdge(iBin)) << "\t" + << histo[ih]->binHeight(iBin) + << G4endl; + } + } + } +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::SetNtuple(G4int nt) +{ + if (nt < 1 || nt >= MaxNtupl) { + G4cout << "---> warning from HistoManager::SetNtuple() : Ntuple " << nt + << "does not exist" << G4endl; + return; + } + + const G4String id[] = { "100", "101" }; + const G4String title[] = + { "dummy", //0 + "Energy deposit in subModule" //1 + }; + + G4String column[MaxNtupl]; + + column[0] = " int dum=0 "; //0 + + column[1] = + "double Evis0, Evis1, Evis2, Evis3, Evis4, Evis5, Evis6, Evis7, Evis8, Evis9"; + column[1] += + ", Evis10, Evis11, Evis12, Evis13, Evis14, Evis15, Evis16, Evis17"; + column[1] += + ", Edep0, Edep1, Edep2, Edep3, Edep4, Edep5, Edep6, Edep7, Edep8, Edep9"; + column[1] += + ", Edep10, Edep11, Edep12, Edep13, Edep14, Edep15, Edep16, Edep17"; + + G4String titl = title[nt]; + + existNt[nt] = true; + LabelNt[nt] = id[nt]; + TitleNt[nt] = titl; + ColumnNt[nt] = column[nt]; + + G4cout << "----> SetNtuple " << nt << ": " << titl << "; " << G4endl; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::FillNtuple(G4int nt, G4int column, G4double value) +{ + if (nt >= MaxNtupl) { + G4cout << "---> warning from HistoManager::FillNtuple() : Ntuple " << nt + << " does not exist " << column << value << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(existNt[nt]) ntupl[nt]->fill(column, value); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoManager::AddRowNtuple(G4int nt) +{ + if (nt >= MaxNtupl) { + G4cout << "---> warning from HistoManager::AddRowNtuple() : Ntuple " << nt + << " do not exist" << G4endl; + return; + } +#ifdef G4ANALYSIS_USE + if(existNt[nt]) ntupl[nt]->addRow(); +#endif +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + diff --git a/examples/advanced/amsEcal/src/HistoMessenger.cc b/examples/advanced/amsEcal/src/HistoMessenger.cc new file mode 100644 index 0000000000..5fda9ec070 --- /dev/null +++ b/examples/advanced/amsEcal/src/HistoMessenger.cc @@ -0,0 +1,153 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HistoMessenger.cc,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "HistoMessenger.hh" + +#include + +#include "HistoManager.hh" +#include "G4UIdirectory.hh" +#include "G4UIcommand.hh" +#include "G4UIparameter.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoMessenger::HistoMessenger(HistoManager* manager) +:histoManager (manager) +{ + histoDir = new G4UIdirectory("/ams/histo/"); + histoDir->SetGuidance("histograms control"); + + factoryCmd = new G4UIcmdWithAString("/ams/histo/setFileName",this); + factoryCmd->SetGuidance("set name for the histograms file"); + + typeCmd = new G4UIcmdWithAString("/ams/histo/setFileType",this); + typeCmd->SetGuidance("set histograms file type: hbook, root, XML"); + typeCmd->SetCandidates("hbook root XML"); + + optionCmd = new G4UIcmdWithAString("/ams/histo/setFileOption",this); + optionCmd->SetGuidance("set option for the histograms file"); + + histoCmd = new G4UIcommand("/ams/histo/setHisto",this); + histoCmd->SetGuidance("Set bining of the histo number ih :"); + histoCmd->SetGuidance(" nbBins; valMin; valMax; unit (of vmin and vmax)"); + // + G4UIparameter* ih = new G4UIparameter("ih",'i',false); + ih->SetGuidance("histo number : from 1 to MaxHisto-1"); + ih->SetParameterRange("ih>0"); + histoCmd->SetParameter(ih); + // + G4UIparameter* nbBins = new G4UIparameter("nbBins",'i',false); + nbBins->SetGuidance("number of bins"); + nbBins->SetParameterRange("nbBins>0"); + histoCmd->SetParameter(nbBins); + // + G4UIparameter* valMin = new G4UIparameter("valMin",'d',false); + valMin->SetGuidance("valMin, expressed in choosen unit"); + histoCmd->SetParameter(valMin); + // + G4UIparameter* valMax = new G4UIparameter("valMax",'d',false); + valMax->SetGuidance("valMax, expressed in choosen unit"); + histoCmd->SetParameter(valMax); + // + G4UIparameter* unit = new G4UIparameter("unit",'s',true); + unit->SetGuidance("if omitted, vmin and vmax are assumed dimensionless"); + unit->SetDefaultValue("none"); + histoCmd->SetParameter(unit); + + prhistoCmd = new G4UIcmdWithAnInteger("/ams/histo/printHisto",this); + prhistoCmd->SetGuidance("print histo #id on ascii file"); + prhistoCmd->SetParameterName("id",false); + prhistoCmd->SetRange("id>0"); + + rmhistoCmd = new G4UIcmdWithAnInteger("/ams/histo/removeHisto",this); + rmhistoCmd->SetGuidance("desactivate histo #id"); + rmhistoCmd->SetParameterName("id",false); + rmhistoCmd->SetRange("id>0"); + + ntuplCmd = new G4UIcmdWithAnInteger("/ams/histo/setNtuple",this); + ntuplCmd->SetGuidance("set nTuple #id"); + ntuplCmd->SetParameterName("id",false); + ntuplCmd->SetRange("id>0"); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +HistoMessenger::~HistoMessenger() +{ + delete rmhistoCmd; + delete prhistoCmd; + delete histoCmd; + delete ntuplCmd; + delete optionCmd; + delete typeCmd; + delete factoryCmd; + delete histoDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void HistoMessenger::SetNewValue(G4UIcommand* command, G4String newValues) +{ + if (command == factoryCmd) + histoManager->SetFileName(newValues); + + if (command == typeCmd) + histoManager->SetFileType(newValues); + + if (command == optionCmd) + histoManager->SetFileOption(newValues); + + if (command == histoCmd) + { G4int ih,nbBins; G4double vmin,vmax; + std::istringstream is(newValues); + G4String unts; + is >> ih >> nbBins >> vmin >> vmax >> unts; + G4String unit = unts; + G4double vUnit = 1. ; + if (unit != "none") vUnit = G4UIcommand::ValueOf(unit); + histoManager->SetHisto (ih,nbBins,vmin*vUnit,vmax*vUnit,unit); + } + + if (command == prhistoCmd) + histoManager->PrintHisto(prhistoCmd->GetNewIntValue(newValues)); + + if (command == rmhistoCmd) + { histoManager->RemoveHisto(rmhistoCmd->GetNewIntValue(newValues));} + + if (command == ntuplCmd) + { histoManager->SetNtuple(ntuplCmd->GetNewIntValue(newValues));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/src/PhysListEmStandard.cc b/examples/advanced/amsEcal/src/PhysListEmStandard.cc new file mode 100644 index 0000000000..038f462179 --- /dev/null +++ b/examples/advanced/amsEcal/src/PhysListEmStandard.cc @@ -0,0 +1,172 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PhysListEmStandard.cc,v 1.2 2009/05/06 18:39:32 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysListEmStandard.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eMultipleScattering.hh" +#include "G4hMultipleScattering.hh" + +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" + +#include "G4hIonisation.hh" +#include "G4hBremsstrahlung.hh" +#include "G4hPairProduction.hh" + +#include "G4ionIonisation.hh" + +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandard::PhysListEmStandard(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysListEmStandard::~PhysListEmStandard() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysListEmStandard::ConstructProcess() +{ + // Add standard EM Processes + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + pmanager->AddProcess(new G4eMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3); + + } else if (particleName == "e+") { + //positron + pmanager->AddProcess(new G4eMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); + + } else if( particleName == "mu-" || + particleName == "mu+" ) { + //muon + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); + + } else if( particleName == "proton" || + particleName == "pi-" || + particleName == "pi+" ) { + //proton + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); + + } else if( particleName == "alpha" || + particleName == "He3" || + particleName == "GenericIon" ) { + //Ions + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4hIonisation, -1, 2, 2); + } + } + + // Em options + // + // Main options and setting parameters are shown here. + // Several of them have default values. + // + G4EmProcessOptions emOptions; + + //physics tables + // + emOptions.SetMinEnergy(100*eV); //default + emOptions.SetMaxEnergy(100*TeV); //default + emOptions.SetDEDXBinning(12*10); //default=12*7 + emOptions.SetLambdaBinning(12*10); //default=12*7 + emOptions.SetSplineFlag(true); //default + + //multiple coulomb scattering + // + emOptions.SetMscStepLimitation(fUseSafety); //default=fUseSafety + emOptions.SetMscRangeFactor(0.04); //default + emOptions.SetMscGeomFactor (2.5); //default + emOptions.SetSkin(3.); //default + + //energy loss + // + emOptions.SetStepFunction(0.2, 100*um); //default=(0.2, 1*mm) + emOptions.SetLinearLossLimit(1.e-2); //default + + //ionization + // + emOptions.SetSubCutoff(false); //default=false + + //verbose + // + emOptions.SetVerbose(0); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/src/PhysicsList.cc b/examples/advanced/amsEcal/src/PhysicsList.cc new file mode 100644 index 0000000000..028b5a03ca --- /dev/null +++ b/examples/advanced/amsEcal/src/PhysicsList.cc @@ -0,0 +1,296 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PhysicsList.cc,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysicsList.hh" +#include "PhysicsListMessenger.hh" + +#include "PhysListEmStandard.hh" + +#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" +#include "G4EmStandardPhysics_option3.hh" + +#include "G4LossTableManager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysicsList::PhysicsList() : G4VModularPhysicsList() +{ + G4LossTableManager::Instance(); + currentDefaultCut = 1.0*mm; + cutForGamma = currentDefaultCut; + cutForElectron = currentDefaultCut; + cutForPositron = currentDefaultCut; + + pMessenger = new PhysicsListMessenger(this); + + SetVerboseLevel(1); + + // EM physics + emName = G4String("emstandard_local"); + emPhysicsList = new PhysListEmStandard(emName); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysicsList::~PhysicsList() +{ + delete pMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Bosons +#include "G4ChargedGeantino.hh" +#include "G4Geantino.hh" +#include "G4Gamma.hh" +#include "G4OpticalPhoton.hh" + +// leptons +#include "G4MuonPlus.hh" +#include "G4MuonMinus.hh" +#include "G4NeutrinoMu.hh" +#include "G4AntiNeutrinoMu.hh" + +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4NeutrinoE.hh" +#include "G4AntiNeutrinoE.hh" + +// Mesons +#include "G4PionPlus.hh" +#include "G4PionMinus.hh" +#include "G4PionZero.hh" +#include "G4Eta.hh" +#include "G4EtaPrime.hh" + +#include "G4KaonPlus.hh" +#include "G4KaonMinus.hh" +#include "G4KaonZero.hh" +#include "G4AntiKaonZero.hh" +#include "G4KaonZeroLong.hh" +#include "G4KaonZeroShort.hh" + +// Baryons +#include "G4Proton.hh" +#include "G4AntiProton.hh" +#include "G4Neutron.hh" +#include "G4AntiNeutron.hh" + +// Nuclei +#include "G4Deuteron.hh" +#include "G4Triton.hh" +#include "G4Alpha.hh" +#include "G4GenericIon.hh" + +void PhysicsList::ConstructParticle() +{ +// pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + +// gamma + G4Gamma::GammaDefinition(); + +// optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); + +// leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); + +// mesons + G4PionPlus::PionPlusDefinition(); + G4PionMinus::PionMinusDefinition(); + G4PionZero::PionZeroDefinition(); + G4Eta::EtaDefinition(); + G4EtaPrime::EtaPrimeDefinition(); + G4KaonPlus::KaonPlusDefinition(); + G4KaonMinus::KaonMinusDefinition(); + G4KaonZero::KaonZeroDefinition(); + G4AntiKaonZero::AntiKaonZeroDefinition(); + G4KaonZeroLong::KaonZeroLongDefinition(); + G4KaonZeroShort::KaonZeroShortDefinition(); + +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); + +// ions + G4Deuteron::DeuteronDefinition(); + G4Triton::TritonDefinition(); + G4Alpha::AlphaDefinition(); + G4GenericIon::GenericIonDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4ProcessManager.hh" +#include "G4Decay.hh" + +void PhysicsList::ConstructProcess() +{ + AddTransportation(); + + // electromagnetic Physics List + // + emPhysicsList->ConstructProcess(); + + // Add Decay Process + // + G4Decay* fDecayProcess = new G4Decay(); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (fDecayProcess->IsApplicable(*particle)) { + + pmanager ->AddProcess(fDecayProcess); + + // set ordering for PostStepDoIt and AtRestDoIt + pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep); + pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest); + + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::AddPhysicsList(const G4String& name) +{ + if (verboseLevel>1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + + if (name == emName) return; + + if (name == "emstandard_local") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new PhysListEmStandard(name); + + } else if (name == "emstandard_opt0") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics(); + + } else if (name == "emstandard_opt1") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option1(); + + } else if (name == "emstandard_opt2") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option2(); + + } else if (name == "emstandard_opt3") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option3(); + + } else { + + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetCuts() +{ + + if (verboseLevel >0){ + G4cout << "PhysicsList::SetCuts:"; + G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; + } + + // set cut values for gamma at first and for e- second and next for e+, + // because some processes for e+/e- need cut values for gamma + SetCutValue(cutForGamma, "gamma"); + SetCutValue(cutForElectron, "e-"); + SetCutValue(cutForPositron, "e+"); + + if (verboseLevel>0) DumpCutValuesTable(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" + +void PhysicsList::SetCutForGamma(G4double cut) +{ + cutForGamma = cut; + SetParticleCuts(cutForGamma, G4Gamma::Gamma()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetCutForElectron(G4double cut) +{ + cutForElectron = cut; + SetParticleCuts(cutForElectron, G4Electron::Electron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsList::SetCutForPositron(G4double cut) +{ + cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/src/PhysicsListMessenger.cc b/examples/advanced/amsEcal/src/PhysicsListMessenger.cc new file mode 100644 index 0000000000..d800ffae51 --- /dev/null +++ b/examples/advanced/amsEcal/src/PhysicsListMessenger.cc @@ -0,0 +1,119 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PhysicsListMessenger.cc,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PhysicsListMessenger.hh" + +#include "PhysicsList.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) +:pPhysicsList(pPhys) +{ + physDir = new G4UIdirectory("/ams/phys/"); + physDir->SetGuidance("physics list commands"); + + gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/ams/phys/setGCut",this); + gammaCutCmd->SetGuidance("Set gamma cut."); + gammaCutCmd->SetParameterName("Gcut",false); + gammaCutCmd->SetUnitCategory("Length"); + gammaCutCmd->SetRange("Gcut>0.0"); + gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + electCutCmd = new G4UIcmdWithADoubleAndUnit("/ams/phys/setECut",this); + electCutCmd->SetGuidance("Set electron cut."); + electCutCmd->SetParameterName("Ecut",false); + electCutCmd->SetUnitCategory("Length"); + electCutCmd->SetRange("Ecut>0.0"); + electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + protoCutCmd = new G4UIcmdWithADoubleAndUnit("/ams/phys/setPCut",this); + protoCutCmd->SetGuidance("Set positron cut."); + protoCutCmd->SetParameterName("Pcut",false); + protoCutCmd->SetUnitCategory("Length"); + protoCutCmd->SetRange("Pcut>0.0"); + protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + allCutCmd = new G4UIcmdWithADoubleAndUnit("/ams/phys/setCuts",this); + allCutCmd->SetGuidance("Set cut for all."); + allCutCmd->SetParameterName("cut",false); + allCutCmd->SetUnitCategory("Length"); + allCutCmd->SetRange("cut>0.0"); + allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pListCmd = new G4UIcmdWithAString("/ams/phys/addPhysics",this); + pListCmd->SetGuidance("Add modula physics list."); + pListCmd->SetParameterName("PList",false); + pListCmd->AvailableForStates(G4State_PreInit); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PhysicsListMessenger::~PhysicsListMessenger() +{ + delete gammaCutCmd; + delete electCutCmd; + delete protoCutCmd; + delete allCutCmd; + delete pListCmd; + delete physDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PhysicsListMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if( command == gammaCutCmd ) + { pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} + + if( command == electCutCmd ) + { pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} + + if( command == protoCutCmd ) + { pPhysicsList->SetCutForPositron(protoCutCmd->GetNewDoubleValue(newValue));} + + if( command == allCutCmd ) + { + G4double cut = allCutCmd->GetNewDoubleValue(newValue); + pPhysicsList->SetCutForGamma(cut); + pPhysicsList->SetCutForElectron(cut); + pPhysicsList->SetCutForPositron(cut); + } + + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/amsEcal/src/PrimaryGeneratorAction.cc b/examples/advanced/amsEcal/src/PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..72499e4168 --- /dev/null +++ b/examples/advanced/amsEcal/src/PrimaryGeneratorAction.cc @@ -0,0 +1,107 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PrimaryGeneratorAction.cc,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorAction.hh" + +#include "PrimaryGeneratorMessenger.hh" +#include "DetectorConstruction.hh" +#include "HistoManager.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det, + HistoManager* hist) +:Detector(det),histoManager(hist) +{ + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + SetDefaultKinematic(); + beam = 0.*mm; + + //create a messenger for this class + gunMessenger = new PrimaryGeneratorMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorAction::~PrimaryGeneratorAction() +{ + delete particleGun; + delete gunMessenger; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction::SetDefaultKinematic() +{ + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + G4ParticleDefinition* particle + = particleTable->FindParticle(particleName="e-"); + particleGun->SetParticleDefinition(particle); + particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + particleGun->SetParticleEnergy(1.*GeV); + G4double position = -0.5*(Detector->GetWorldSizeX()); + particleGun->SetParticlePosition(G4ThreeVector(position,0.*mm,0.*mm)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + //this function is called at the begining of event + // + //randomize beam, if requested. + // + if (beam > 0.) + { + G4ThreeVector position = particleGun->GetParticlePosition(); + G4double maxYZ = 0.49*(Detector->GetCalorSizeYZ()); + G4double x0 = position.x(); + G4double y0 = position.y() + (G4UniformRand()-0.5)*beam; + G4double z0 = position.z() + (G4UniformRand()-0.5)*beam; + if (std::abs(y0) > maxYZ) y0 = maxYZ; + if (std::abs(z0) > maxYZ) z0 = maxYZ; + particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + particleGun->GeneratePrimaryVertex(anEvent); + particleGun->SetParticlePosition(position); + } + else particleGun->GeneratePrimaryVertex(anEvent); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/src/PrimaryGeneratorMessenger.cc b/examples/advanced/amsEcal/src/PrimaryGeneratorMessenger.cc new file mode 100644 index 0000000000..4d3733fdbf --- /dev/null +++ b/examples/advanced/amsEcal/src/PrimaryGeneratorMessenger.cc @@ -0,0 +1,83 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: PrimaryGeneratorMessenger.cc,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "PrimaryGeneratorMessenger.hh" + +#include "PrimaryGeneratorAction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithoutParameter.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorMessenger::PrimaryGeneratorMessenger( + PrimaryGeneratorAction* Gun) +:Action(Gun) +{ + gunDir = new G4UIdirectory("/ams/gun/"); + gunDir->SetGuidance("gun control"); + + DefaultCmd = new G4UIcmdWithoutParameter("/ams/gun/setDefault",this); + DefaultCmd->SetGuidance("set/reset kinematic defined in PrimaryGenerator"); + DefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + RndmCmd = new G4UIcmdWithADoubleAndUnit("/ams/gun/beam",this); + RndmCmd->SetGuidance("random lateral extension on the beam"); + RndmCmd->SetGuidance(" max: 0.5*sizeYZ"); + RndmCmd->SetParameterName("rBeam",false); + RndmCmd->SetRange("rBeam>=0."); + RndmCmd->SetUnitCategory("Length"); + RndmCmd->AvailableForStates(G4State_Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger() +{ + delete DefaultCmd; + delete RndmCmd; + delete gunDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void PrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if( command == DefaultCmd ) + { Action->SetDefaultKinematic();} + + if( command == RndmCmd ) + { Action->SetRndmBeam(RndmCmd->GetNewDoubleValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/src/RunAction.cc b/examples/advanced/amsEcal/src/RunAction.cc new file mode 100644 index 0000000000..5e7848f881 --- /dev/null +++ b/examples/advanced/amsEcal/src/RunAction.cc @@ -0,0 +1,363 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: RunAction.cc,v 1.8 2009/09/18 17:34:54 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "RunAction.hh" + +#include "PrimaryGeneratorAction.hh" +#include "HistoManager.hh" + +#include "G4Run.hh" +#include "G4RunManager.hh" +#include "G4UnitsTable.hh" +#include "G4Geantino.hh" + +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* prim, + HistoManager* hist) +:detector(det), primary(prim), histoManager(hist) +{ + writeFile = false; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +RunAction::~RunAction() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::BeginOfRunAction(const G4Run* aRun) +{ + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + + // save Rndm status + // + G4RunManager::GetRunManager()->SetRandomNumberStore(true); + CLHEP::HepRandom::showEngineStatus(); + + //initialize cumulative quantities + // + G4int nbPixels = detector->GetSizeVectorPixels(); + G4int size = totalEnergy.size(); + if (size < nbPixels) { + visibleEnergy.resize(nbPixels); + totalEnergy.resize(nbPixels); + + visibleEnergy2.resize(nbPixels); + totalEnergy2.resize(nbPixels); + } + + for (G4int k=0; kGetN1Pixels(); + size = layerEtot.size(); + if (size < n1pxl) { + layerEvis.resize(n1pxl); + layerEtot.resize(n1pxl); + layerEvis2.resize(n1pxl); + layerEtot2.resize(n1pxl); + } + + for (G4int k=0; kbook(); + + //create ascii file for pixels + // + if (writeFile) CreateFilePixels(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::fillPerEvent_1(G4int pixel, G4double Evis, G4double Etot) +{ + //accumulate statistic per pixel + // + visibleEnergy[pixel] += Evis; visibleEnergy2[pixel] += Evis*Evis; + totalEnergy[pixel] += Etot; totalEnergy2[pixel] += Etot*Etot; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::fillPerEvent_2(G4int layer, G4double Evis, G4double Etot) +{ + //accumulate statistic per layer + // + layerEvis[layer] += Evis; layerEvis2[layer] += Evis*Evis; + layerEtot[layer] += Etot; layerEtot2[layer] += Etot*Etot; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::fillPerEvent_3(G4double calEvis, G4double calEtot, + G4double eleak) +{ + //accumulate statistic + // + nbEvents++; + calorEvis += calEvis; calorEvis2 += calEvis*calEvis; + calorEtot += calEtot; calorEtot2 += calEtot*calEtot; + Eleak += eleak; Eleak2 += eleak*eleak; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::fillDetailedLeakage(G4int icase, G4double energy) +{ + //forward, backward, lateral leakage + // + EdLeak[icase] += energy; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void RunAction::fillNbRadLen(G4double dn) +{ + //total number of radiation length + // + nbRadLen += dn; nbRadLen2 += dn*dn; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + +void RunAction::EndOfRunAction(const G4Run*) +{ + //calorimeter + // + detector->PrintCalorParameters(); + + //run conditions + // + G4ParticleDefinition* particle = primary->GetParticleGun() + ->GetParticleDefinition(); + G4String partName = particle->GetParticleName(); + G4double energy = primary->GetParticleGun()->GetParticleEnergy(); + + G4int prec = G4cout.precision(3); + + G4cout << " The run was " << nbEvents << " " << partName << " of " + << G4BestUnit(energy,"Energy") << " through the calorimeter" << G4endl; + + G4cout << "------------------------------------------------------------" + << G4endl; + + //if no events, return + // + if (nbEvents == 0) return; + + //compute and print statistic + // + std::ios::fmtflags mode = G4cout.flags(); + + //number of radiation length + // + if (particle == G4Geantino::Geantino() ) { + G4double meanNbRadL = nbRadLen/ nbEvents; + G4double meanNbRadL2 = nbRadLen2/nbEvents; + G4double varNbRadL = meanNbRadL2 - meanNbRadL*meanNbRadL; + G4double rmsNbRadL = 0.; + if (varNbRadL > 0.) rmsNbRadL = std::sqrt(varNbRadL); + G4double effRadL = (detector->GetCalorThickness())/meanNbRadL; + G4cout.precision(5); + G4cout + << "\n Calor : mean number of Rad Length = " + << meanNbRadL << " +- "<< rmsNbRadL + << " --> Effective Rad Length = " + << G4BestUnit( effRadL,"Length") << G4endl; + + G4cout << "------------------------------------------------------------" + << G4endl; + } + + G4cout.precision(prec); + G4cout << "\n " + << "visible Energy (rms/mean) " + << "total Energy (rms/mean)" << G4endl; + + G4double meanEvis,meanEvis2,varianceEvis,rmsEvis,resEvis; + G4double meanEtot,meanEtot2,varianceEtot,rmsEtot,resEtot; + + G4int n1pxl = detector->GetN1Pixels(); + + for (G4int i1=0; i1 0.) rmsEvis = std::sqrt(varianceEvis); + resEvis = 100*rmsEvis/meanEvis; + histoManager->FillHisto(3, i1+0.5, meanEvis); + + //total energy + meanEtot = layerEtot[i1] /nbEvents; + meanEtot2 = layerEtot2[i1]/nbEvents; + varianceEtot = meanEtot2 - meanEtot*meanEtot; + rmsEtot = 0.; + if (varianceEtot > 0.) rmsEtot = std::sqrt(varianceEtot); + resEtot = 100*rmsEtot/meanEtot; + histoManager->FillHisto(4, i1+0.5, meanEtot); + + //print + // + G4cout + << "\n layer " << i1 << ": " + << std::setprecision(5) + << std::setw(6) << G4BestUnit(meanEvis,"Energy") << " +- " + << std::setprecision(4) + << std::setw(5) << G4BestUnit( rmsEvis,"Energy") << " (" + << std::setprecision(2) + << std::setw(3) << resEvis << " %)" + << " " + << std::setprecision(5) + << std::setw(6) << G4BestUnit(meanEtot,"Energy") << " +- " + << std::setprecision(4) + << std::setw(5) << G4BestUnit( rmsEtot,"Energy") << " (" + << std::setprecision(2) + << std::setw(3) << resEtot << " %)"; + } + G4cout << G4endl; + + //calorimeter: visible energy + meanEvis = calorEvis /nbEvents; + meanEvis2 = calorEvis2/nbEvents; + varianceEvis = meanEvis2 - meanEvis*meanEvis; + rmsEvis = 0.; + if (varianceEvis > 0.) rmsEvis = std::sqrt(varianceEvis); + resEvis = 100*rmsEvis/meanEvis; + + //calorimeter: total energy + meanEtot = calorEtot /nbEvents; + meanEtot2 = calorEtot2/nbEvents; + varianceEtot = meanEtot2 - meanEtot*meanEtot; + rmsEtot = 0.; + if (varianceEtot > 0.) rmsEtot = std::sqrt(varianceEtot); + resEtot = 100*rmsEtot/meanEtot; + + //print + // + G4cout + << "\n total calor : " + << std::setprecision(5) + << std::setw(6) << G4BestUnit(meanEvis,"Energy") << " +- " + << std::setprecision(4) + << std::setw(5) << G4BestUnit( rmsEvis,"Energy") << " (" + << std::setprecision(2) + << std::setw(3) << resEvis << " %)" + << " " + << std::setprecision(5) + << std::setw(6) << G4BestUnit(meanEtot,"Energy") << " +- " + << std::setprecision(4) + << std::setw(5) << G4BestUnit( rmsEtot,"Energy") << " (" + << std::setprecision(2) + << std::setw(3) << resEtot << " %)"; + + G4cout << "\n------------------------------------------------------------" + << G4endl; + + //leakage + G4double meanEleak,meanEleak2,varianceEleak,rmsEleak,ratio; + meanEleak = Eleak /nbEvents; + meanEleak2 = Eleak2/nbEvents; + varianceEleak = meanEleak2 - meanEleak*meanEleak; + rmsEleak = 0.; + if (varianceEleak > 0.) rmsEleak = std::sqrt(varianceEleak); + ratio = 100*meanEleak/energy; + + G4double forward = 100*EdLeak[0]/(nbEvents*energy); + G4double bakward = 100*EdLeak[1]/(nbEvents*energy); + G4double lateral = 100*EdLeak[2]/(nbEvents*energy); + //print + // + G4cout + << "\n Leakage : " + << std::setprecision(5) + << std::setw(6) << G4BestUnit(meanEleak,"Energy") << " +- " + << std::setprecision(4) + << std::setw(5) << G4BestUnit( rmsEleak,"Energy") + << "\n Eleak/Ebeam =" + << std::setprecision(3) + << std::setw(4) << ratio << " % ( forward =" + << std::setw(4) << forward << " %; backward =" + << std::setw(4) << bakward << " %; lateral =" + << std::setw(4) << lateral << " %)" + << G4endl; + + G4cout.setf(mode,std::ios::floatfield); + G4cout.precision(prec); + + //save histograms + histoManager->save(); + + // show Rndm status + CLHEP::HepRandom::showEngineStatus(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include + +void RunAction::CreateFilePixels() +{ + //create file and write run header + // + G4String name = histoManager->GetFileName(); + G4String fileName = name + ".pixels.ascii"; + + std::ofstream File(fileName, std::ios::out); + + G4int n1pxl = detector->GetN1Pixels(); + G4int n2pxl = detector->GetN2Pixels(); + G4int n1shift = detector->GetN1Shift(); + G4int nbEvents = G4RunManager::GetRunManager()->GetCurrentRun() + ->GetNumberOfEventToBeProcessed(); + File << nbEvents << " " << n1pxl << " " << n2pxl << " " << n1shift + << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + + diff --git a/examples/advanced/amsEcal/src/SteppingAction.cc b/examples/advanced/amsEcal/src/SteppingAction.cc new file mode 100644 index 0000000000..ae498056f5 --- /dev/null +++ b/examples/advanced/amsEcal/src/SteppingAction.cc @@ -0,0 +1,156 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: SteppingAction.cc,v 1.9 2009/09/18 17:34:54 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "SteppingAction.hh" + +#include "DetectorConstruction.hh" +#include "RunAction.hh" +#include "PrimaryGeneratorAction.hh" +#include "EventAction.hh" +#include "HistoManager.hh" + +#include "G4Step.hh" + +#include "G4Geantino.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingAction::SteppingAction(DetectorConstruction* det, RunAction* run, + PrimaryGeneratorAction* prim, EventAction* evt, + HistoManager* hist) +:G4UserSteppingAction(),detector(det),runAct(run),primary(prim),eventAct(evt), + histoManager(hist) +{ + first = true; + lvol_world = lvol_module = lvol_layer = lvol_fiber = 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingAction::~SteppingAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingAction::UserSteppingAction(const G4Step* step ) +{ + //some initialisation + // + if (first) { + lvol_world = detector->GetLvolWorld(); + lvol_module = detector->GetLvolModule(); + lvol_layer = detector->GetLvolLayer(); + lvol_fiber = detector->GetLvolFiber(); + + calorThickness = detector->GetCalorThickness(); + calorSizeYZ = detector->GetCalorSizeYZ(); + moduleThickness = detector->GetModuleThickness(); + d1Pixel = detector->GetD1Pixel(); + d2Pixel = detector->GetD2Pixel(); + n1pxl = detector->GetN1Pixels(); + n2pxl = detector->GetN2Pixels(); + n1shift = detector->GetN1Shift(); + + first = false; + } + + //locate point in geometry + // + G4TouchableHandle touch1 = step->GetPreStepPoint()->GetTouchableHandle(); + G4LogicalVolume* lvol = touch1->GetVolume()->GetLogicalVolume(); + + //if world, return + // + if (lvol == lvol_world) return; + + //sum nb of radiation length of calorimeter with geantino + // + G4ParticleDefinition* particle = step->GetTrack()->GetDefinition(); + if (particle == G4Geantino::Geantino()) { + G4double radl = lvol->GetMaterial()->GetRadlen(); + G4double stepl = step->GetStepLength(); + eventAct->SumNbRadLength(stepl/radl); + } + + //if no edep, return + // + G4double edep = step->GetTotalEnergyDeposit(); + if (edep == 0.) return; + + //locate position and compute pixel number + // + G4ThreeVector point1 = step->GetPreStepPoint()->GetPosition(); + G4int i1Module = (int) ((point1.x() + 0.5*calorThickness)/moduleThickness); + G4int i1Pixel = (int) ((point1.x() + 0.5*calorThickness)/d1Pixel); + if (i1Pixel < 0 ) i1Pixel = 0; + if (i1Pixel >= n1pxl) i1Pixel = n1pxl - 1; + G4double point1yz = point1.y(); + if (i1Module%2 != 0) point1yz = point1.z(); + G4int i2Pixel = (int) ((point1yz + 0.5*calorSizeYZ)/d2Pixel); + if (i2Pixel < 0 ) i2Pixel = 0; + if (i2Pixel >= n2pxl) i2Pixel = n2pxl - 1; + + G4int iPixel = i1Pixel*n1shift + i2Pixel; + + // sum total energy deposit + // + eventAct->SumTotalEnergy(iPixel, edep); + + //in fiber ? + // + if (lvol == lvol_fiber) { + eventAct->SumVisibleEnergy(iPixel, edep); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double SteppingAction::BirksAttenuation(const G4Step* aStep) +{ + //Example of Birk attenuation law in organic scintillators. + //adapted from Geant3 PHYS337. See MIN 80 (1970) 239-244 + // + G4Material* material = aStep->GetTrack()->GetMaterial(); + G4double birk1 = material->GetIonisation()->GetBirksConstant(); + G4double destep = aStep->GetTotalEnergyDeposit(); + G4double stepl = aStep->GetStepLength(); + G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge(); + // + G4double response = destep; + if (birk1*destep*stepl*charge != 0.) + { + response = destep/(1. + birk1*destep/stepl); + } + return response; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/src/SteppingVerbose.cc b/examples/advanced/amsEcal/src/SteppingVerbose.cc new file mode 100644 index 0000000000..d883a2d35d --- /dev/null +++ b/examples/advanced/amsEcal/src/SteppingVerbose.cc @@ -0,0 +1,180 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: SteppingVerbose.cc,v 1.1 2009/04/16 11:05:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "SteppingVerbose.hh" + +#include "G4SteppingManager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingVerbose::SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +SteppingVerbose::~SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingVerbose::StepInfo() +{ + CopyState(); + + G4int prec = G4cout.precision(3); + + if( verboseLevel >= 1 ){ + if( verboseLevel >= 4 ) VerboseTrack(); + if( verboseLevel >= 3 ){ + G4cout << G4endl; + G4cout << std::setw( 5) << "#Step#" << " " + << std::setw( 6) << "X" << " " + << std::setw( 6) << "Y" << " " + << std::setw( 6) << "Z" << " " + << std::setw( 9) << "KineE" << " " + << std::setw( 9) << "dEStep" << " " + << std::setw(10) << "StepLeng" + << std::setw(10) << "TrakLeng" + << std::setw(10) << "Volume" << " " + << std::setw(10) << "Process" << G4endl; + } + + G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " + << std::setw(6) << G4BestUnit(fTrack->GetPosition().x(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetPosition().y(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetPosition().z(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") + << std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") + << std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; + + // if( fStepStatus != fWorldBoundary){ + if( fTrack->GetNextVolume() != 0 ) { + G4cout << std::setw(10) << fTrack->GetVolume()->GetName(); + } else { + G4cout << std::setw(10) << "OutOfWorld"; + } + + if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){ + G4cout << " " + << std::setw(10) << fStep->GetPostStepPoint() + ->GetProcessDefinedStep()->GetProcessName(); + } else { + G4cout << " UserLimit"; + } + + G4cout << G4endl; + + if( verboseLevel == 2 ){ + G4int tN2ndariesTot = fN2ndariesAtRestDoIt + + fN2ndariesAlongStepDoIt + + fN2ndariesPostStepDoIt; + if(tN2ndariesTot>0){ + G4cout << " :----- List of 2ndaries - " + << "#SpawnInStep=" << std::setw(3) << tN2ndariesTot + << "(Rest=" << std::setw(2) << fN2ndariesAtRestDoIt + << ",Along=" << std::setw(2) << fN2ndariesAlongStepDoIt + << ",Post=" << std::setw(2) << fN2ndariesPostStepDoIt + << "), " + << "#SpawnTotal=" << std::setw(3) << (*fSecondary).size() + << " ---------------" + << G4endl; + + for(size_t lp1=(*fSecondary).size()-tN2ndariesTot; + lp1<(*fSecondary).size(); lp1++){ + G4cout << " : " + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length") + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length") + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy") + << std::setw(10) + << (*fSecondary)[lp1]->GetDefinition()->GetParticleName(); + G4cout << G4endl; + } + + G4cout << " :-----------------------------" + << "----------------------------------" + << "-- EndOf2ndaries Info ---------------" + << G4endl; + } + } + + } + G4cout.precision(prec); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void SteppingVerbose::TrackingStarted() +{ + + CopyState(); +G4int prec = G4cout.precision(3); + if( verboseLevel > 0 ){ + + G4cout << std::setw( 5) << "Step#" << " " + << std::setw( 6) << "X" << " " + << std::setw( 6) << "Y" << " " + << std::setw( 6) << "Z" << " " + << std::setw( 9) << "KineE" << " " + << std::setw( 9) << "dEStep" << " " + << std::setw(10) << "StepLeng" + << std::setw(10) << "TrakLeng" + << std::setw(10) << "Volume" << " " + << std::setw(10) << "Process" << G4endl; + + G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " + << std::setw(6) << G4BestUnit(fTrack->GetPosition().x(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetPosition().y(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetPosition().z(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") + << std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") + << std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; + + if(fTrack->GetNextVolume()){ + G4cout << std::setw(10) << fTrack->GetVolume()->GetName(); + } else { + G4cout << std::setw(10) << "OutOfWorld"; + } + G4cout << " initStep" << G4endl; + } + G4cout.precision(prec); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/amsEcal/src/TrackingAction.cc b/examples/advanced/amsEcal/src/TrackingAction.cc new file mode 100644 index 0000000000..a65a5db12e --- /dev/null +++ b/examples/advanced/amsEcal/src/TrackingAction.cc @@ -0,0 +1,84 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: TrackingAction.cc,v 1.1 2009/04/24 09:11:18 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "TrackingAction.hh" + +#include "DetectorConstruction.hh" +#include "RunAction.hh" +#include "PrimaryGeneratorAction.hh" +#include "EventAction.hh" +#include "HistoManager.hh" + +#include "G4Track.hh" +#include "G4Positron.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +TrackingAction::TrackingAction(DetectorConstruction* det,RunAction* run, + PrimaryGeneratorAction* prim, EventAction* evt, + HistoManager* hist) +:G4UserTrackingAction(),detector(det),runAct(run),primary(prim),eventAct(evt), + histoManager(hist) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void TrackingAction::PreUserTrackingAction(const G4Track*) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void TrackingAction::PostUserTrackingAction(const G4Track* track) +{ + //compute leakage + // + // if not at World boundaries, return + if (track->GetVolume() != detector->GetPvolWorld()) return; + + //get position + G4double x = (track->GetPosition()).x(); + G4double xlimit = 0.5*(detector->GetCalorThickness()); + G4int icase = 2; + if (x >= xlimit) icase = 0; + else if (x <= -xlimit) icase = 1; + + //get particle energy + G4double Eleak = track->GetKineticEnergy(); + if (track->GetDefinition() == G4Positron::Positron()) + Eleak += 2*electron_mass_c2; + + //sum leakage + runAct->fillDetailedLeakage(icase,Eleak); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/advanced/amsEcal/vis.mac b/examples/advanced/amsEcal/vis.mac new file mode 100644 index 0000000000..49031ac126 --- /dev/null +++ b/examples/advanced/amsEcal/vis.mac @@ -0,0 +1,30 @@ +# +# Macro file for the initialization phase of "TestEm3.cc" +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +# Create empty scene ("world" is default) +/vis/scene/create +# +# Create a scene handler for a specific graphics system +# Edit the next line(s) to choose another graphic system +# +####/vis/open DAWNFILE +/vis/open OGLIX +# +# Draw scene +/vis/viewer/zoom 1.2 +/vis/viewer/flush +# +# for drawing the tracks +# if too many tracks cause core dump => storeTrajectory 0 +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate +# +/ams/event/drawTracks all diff --git a/examples/advanced/brachytherapy/History b/examples/advanced/brachytherapy/History index 09f0698b47..992dbf4fa9 100644 --- a/examples/advanced/brachytherapy/History +++ b/examples/advanced/brachytherapy/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.26 2008/11/24 14:53:28 cirrone Exp $ +$Id: History,v 1.29 2009/11/12 10:34:31 pandola Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,16 @@ $Id: History,v 1.26 2008/11/24 14:53:28 cirrone Exp $ Category History file --------------------- + +12 Nov 2009 - L. Pandola; tag brachy-V09-02-02 + Fixed AIDA + +12 Nov. 2009 - S. Guatelli; brachy-V09-02-01 +- Update of Physics List + +22.Feb 2009 - G.Folger; tag brachy-V09-02-00 +- Correct compilation errors and warnings when G4ANALYSIS is NOT set + 24.11.2008 -- G.A.P.Cirrone; tag: brachy-V09-01-03 Updated macro files 21.11.2008 -- G.A.P.Cirrone; Tag: brachy-V09-01-02 diff --git a/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc b/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc index 2f9f987a64..167866e5bb 100644 --- a/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc +++ b/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc @@ -32,16 +32,18 @@ // * * // ******************************* // -// $Id: BrachyAnalysisManager.cc,v 1.20 2008/06/05 13:45:39 cirrone Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: BrachyAnalysisManager.cc,v 1.22 2009/11/12 10:32:59 pandola Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // +#ifdef G4ANALYSIS_USE + #include #include #include "BrachyAnalysisManager.hh" #include "G4ios.hh" -#ifdef G4ANALYSIS_USE + #include "AIDA/IHistogram1D.h" #include "AIDA/IHistogram2D.h" #include "AIDA/IManagedObject.h" @@ -51,16 +53,15 @@ #include "AIDA/ITreeFactory.h" #include "AIDA/ITree.h" #include "AIDA/ITuple.h" -#endif + BrachyAnalysisManager* BrachyAnalysisManager::instance = 0; -BrachyAnalysisManager::BrachyAnalysisManager(): +BrachyAnalysisManager::BrachyAnalysisManager() : aFact(0), theTree(0), histFact(0), tupFact(0), h1(0), - h2(0), ntuple(0) -{ + h2(0), h3(0), ntuple(0) -#ifdef G4ANALYSIS_USE +{ // Instantiate the factories // The factories manage the analysis objects @@ -73,13 +74,10 @@ aFact(0), theTree(0), histFact(0), tupFact(0), h1(0), theTree = treeFact -> create(fileName,"ROOT",false, true); delete treeFact; -#endif } BrachyAnalysisManager::~BrachyAnalysisManager() { - -#ifdef G4ANALYSIS_USE delete tupFact; tupFact = 0; @@ -91,7 +89,6 @@ BrachyAnalysisManager::~BrachyAnalysisManager() delete aFact; aFact = 0; -#endif } BrachyAnalysisManager* BrachyAnalysisManager::getInstance() @@ -102,7 +99,6 @@ BrachyAnalysisManager* BrachyAnalysisManager::getInstance() void BrachyAnalysisManager::book() { -#ifdef G4ANALYSIS_USE // Instantiate the histogram and ntuple factories histFact = aFact -> createHistogramFactory( *theTree ); tupFact = aFact -> createTupleFactory ( *theTree ); @@ -123,14 +119,13 @@ void BrachyAnalysisManager::book() 300,-150.,150.); //bins' number, xmin, xmax //defining the ntuple columns' name - std::string columnNames = "double energy; double x; double y; double z"; + std::string columnNames = "double energy, x , y , z "; std::string options = ""; //creating a ntuple if (tupFact) ntuple = tupFact -> create("1","1",columnNames, options); // check for non-zero ... if (ntuple) G4cout<<"The Ntuple is non-zero"< fill(indexZ, zz); ntuple->addRow(); -#endif } void BrachyAnalysisManager::FillHistogramWithEnergy(G4double x, G4double z, G4double energyDeposit) { -#ifdef G4ANALYSIS_USE // 2DHistogram: energy deposit in a voxel which center is fixed in position (x,z) h1 -> fill(x,z,energyDeposit); -#endif } void BrachyAnalysisManager::PrimaryParticleEnergySpectrum(G4double primaryParticleEnergy) { -#ifdef G4ANALYSIS_USE // 1DHistogram: energy spectrum of primary particles h2 -> fill(primaryParticleEnergy); -#endif return; } void BrachyAnalysisManager::DoseDistribution(G4double x,G4double energy) { -#ifdef G4ANALYSIS_USE // 1DHistogram: energy spectrum of primary particles h3 -> fill(x, energy); -#endif } void BrachyAnalysisManager::finish() { -#ifdef G4ANALYSIS_USE + // write all histograms to file ... theTree -> commit(); // close (will again commit) ... theTree -> close(); -#endif } - +#endif diff --git a/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc b/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc index 86ad273891..6a2bf49b81 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc @@ -33,11 +33,13 @@ // * * // ******************************** // -// $Id: BrachyPhantomSD.cc,v 1.13 2006/06/29 15:48:39 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: BrachyPhantomSD.cc,v 1.14 2009/02/23 17:34:26 gunter Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #include "BrachyPhantomSD.hh" +#ifdef G4ANALYSIS_USE #include "BrachyAnalysisManager.hh" +#endif #include "BrachyDetectorConstruction.hh" #include "G4Track.hh" #include "G4LogicalVolume.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc index edef4a34eb..5fde5b89d1 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc @@ -35,8 +35,8 @@ // * * // ********************************** // -// $Id: BrachyPhysicsList.cc,v 1.13 2006/11/15 10:02:17 guatelli Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: BrachyPhysicsList.cc,v 1.14 2009/11/12 02:50:51 cirrone Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #include "BrachyPhysicsList.hh" @@ -46,16 +46,27 @@ #include "G4ParticleTypes.hh" #include "G4UnitsTable.hh" #include "G4ios.hh" - #include "G4MultipleScattering.hh" // gamma -#include "G4LowEnergyRayleigh.hh" -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" +#include "G4PhotoElectricEffect.hh" +#include "G4LivermorePhotoElectricModel.hh" + +#include "G4ComptonScattering.hh" +#include "G4LivermoreComptonModel.hh" + +#include "G4GammaConversion.hh" +#include "G4LivermoreGammaConversionModel.hh" + +#include "G4RayleighScattering.hh" +#include "G4LivermoreRayleighModel.hh" + // e- -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" +#include "G4eMultipleScattering.hh" +#include "G4eIonisation.hh" +#include "G4LivermoreIonisationModel.hh" +#include "G4eBremsstrahlung.hh" +#include "G4LivermoreBremsstrahlungModel.hh" + // e+ #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -79,6 +90,7 @@ void BrachyPhysicsList::ConstructParticle() ConstructBosons(); ConstructLeptons(); + } void BrachyPhysicsList::ConstructBosons() @@ -113,30 +125,58 @@ void BrachyPhysicsList::ConstructEM() // Processes if (particleName == "gamma") { + // Photon - pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh); - pmanager->AddDiscreteProcess(new G4LowEnergyPhotoElectric); - pmanager->AddDiscreteProcess(new G4LowEnergyCompton); - pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion); + G4RayleighScattering* theRayleigh = new G4RayleighScattering(); + theRayleigh->SetModel(new G4LivermoreRayleighModel()); //not strictly necessary + pmanager->AddDiscreteProcess(theRayleigh); + + G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); + thePhotoElectricEffect->SetModel(new G4LivermorePhotoElectricModel()); + pmanager->AddDiscreteProcess(thePhotoElectricEffect); + + G4ComptonScattering* theComptonScattering = new G4ComptonScattering(); + theComptonScattering->SetModel(new G4LivermoreComptonModel()); + pmanager->AddDiscreteProcess(theComptonScattering); + + G4GammaConversion* theGammaConversion = new G4GammaConversion(); + theGammaConversion->SetModel(new G4LivermoreGammaConversionModel()); + pmanager->AddDiscreteProcess(theGammaConversion); } else if (particleName == "e-") { // Electron - G4LowEnergyIonisation* loweIon = new G4LowEnergyIonisation("LowEnergyIoni"); + + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc,-1, 1, 1); - G4LowEnergyBremsstrahlung* loweBrem = new G4LowEnergyBremsstrahlung("LowEnBrem"); - // Select the Bremsstrahlung angular distribution model (Tsai/2BN/2BS) - loweBrem->SetAngularGenerator("tsai"); - - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); - pmanager->AddProcess(loweIon, -1, 2,2); - pmanager->AddProcess(loweBrem, -1,-1,3); + // Ionisation + G4eIonisation* eIonisation = new G4eIonisation(); + eIonisation->SetEmModel(new G4LivermoreIonisationModel()); + eIonisation->SetStepFunction(0.2, 100*um); //improved precision in tracking + pmanager->AddProcess(eIonisation,-1, 2, 2); + + // Bremsstrahlung + G4eBremsstrahlung* eBremsstrahlung = new G4eBremsstrahlung(); + eBremsstrahlung->SetEmModel(new G4LivermoreBremsstrahlungModel()); + pmanager->AddProcess(eBremsstrahlung, -1,-3, 3); } else if (particleName == "e+") { // Positron - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc,-1, 1, 1); + + // Ionisation + G4eIonisation* eIonisation = new G4eIonisation(); + eIonisation->SetStepFunction(0.2, 100*um); // + pmanager->AddProcess(eIonisation, -1, 2, 2); + + //Bremsstrahlung (use default, no low-energy available) + pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3); + + //Annihilation + pmanager->AddProcess(new G4eplusAnnihilation(),0,-1, 4); } } diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc index d86737eaf9..a8bdf6e77b 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc @@ -37,12 +37,14 @@ // * * // ******************************************** // -// $Id: BrachyPrimaryGeneratorAction.cc,v 1.18 2006/06/29 15:48:45 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: BrachyPrimaryGeneratorAction.cc,v 1.19 2009/02/23 17:34:26 gunter Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #include "globals.hh" #include "BrachyPrimaryGeneratorAction.hh" +#ifdef G4ANALYSIS_USE #include "BrachyAnalysisManager.hh" +#endif #include "G4ParticleTable.hh" #include "Randomize.hh" #include "G4Event.hh" diff --git a/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc b/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc index 6a87066d0f..15873bbad8 100644 --- a/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc +++ b/examples/advanced/composite_calorimeter/CompositeCalorimeter.cc @@ -36,6 +36,7 @@ #include "LHEP.hh" #include "QGSP.hh" #include "QGSC.hh" +#include "QGSP_BIC_EMY.hh" #include "G4RunManager.hh" #include "G4UIterminal.hh" @@ -60,9 +61,10 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(new CCalDetectorConstruction); //***LOOKHERE*** CHOOSE THE PHYSICS LIST. - // runManager->SetUserInitialization(new LHEP); // LHEP - runManager->SetUserInitialization(new QGSP); // QGSP - // runManager->SetUserInitialization(new QGSC); // QGSC + // runManager->SetUserInitialization(new LHEP); // LHEP + // runManager->SetUserInitialization(new QGSP); // QGSP + // runManager->SetUserInitialization(new QGSC); // QGSC + runManager->SetUserInitialization(new QGSP_BIC_EMY); // QGSP_BIC_EMY //***endLOOKHERE*** //////////////////////////// diff --git a/examples/advanced/composite_calorimeter/History b/examples/advanced/composite_calorimeter/History index 0b908ffa87..03731e9e56 100644 --- a/examples/advanced/composite_calorimeter/History +++ b/examples/advanced/composite_calorimeter/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.32 2008/06/15 18:13:06 cirrone Exp $ +$Id: History,v 1.34 2009/11/12 12:46:25 ribon Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,15 @@ $Id: History,v 1.32 2008/06/15 18:13:06 cirrone Exp $ Example History file --------------------- + +12.11.2009 - A.Ribon (ccal-V09-02-01) +- Use QGSP_BIC_EMY as default Physics List to test the + low-energy electromagnetic. + +22.02.2009 + - G.Folger; Tag: ccal-V09-02-00 + Fix compilation warnings in CCalRunAction.cc and CCalEndOfEventAction.cc + 15.06.2008 - G.A.P.Cirrone; Tag: ccal-V09-01-00 Removed no more necessary AIDA commands from GNUmakefile diff --git a/examples/advanced/composite_calorimeter/README b/examples/advanced/composite_calorimeter/README index f7f7185334..e110301756 100644 --- a/examples/advanced/composite_calorimeter/README +++ b/examples/advanced/composite_calorimeter/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: README,v 1.12 2006/07/25 11:02:56 gcosmo Exp $ +$Id: README,v 1.13 2009/11/12 12:46:25 ribon Exp $ ------------------------------------------------------------------- ========================================================= @@ -235,24 +235,24 @@ $Id: README,v 1.12 2006/07/25 11:02:56 gcosmo Exp $ -------------------- By the default, one of the ufficial High Energy Physics List for - Calorimetry, QGSC, is used in this example. However, it is - very easy to use instead either LHEP or QGSP. To do so, it is - enough to comment/uncomment a line in the main CompositeCalorimeter.cc : - for example, if you want to use LHEP instead of the default QGSC - you have to change it as follows: + Calorimetry, QGSP_BIC_EMY, is used in this example, so that it + allows to test the low-energy electromagnetic. + However, it is very easy to use instead either LHEP, QGSP, or QGSC. + To do so, it is enough to comment/uncomment a line in the main + CompositeCalorimeter.cc : for example, if you want to use LHEP + instead of the default QGSP_BIC_EMY you have to change it as follows: //***LOOKHERE*** CHOOSE THE PHYSICS LIST. - runManager->SetUserInitialization(new LHEP); // LHEP - // runManager->SetUserInitialization(new QGSP); // QGSP - // runManager->SetUserInitialization(new QGSC); // QGSC + runManager->SetUserInitialization(new LHEP); // LHEP + // runManager->SetUserInitialization(new QGSP); // QGSP + // runManager->SetUserInitialization(new QGSC); // QGSC + // runManager->SetUserInitialization(new QGSP_BIC_EMY); // QGSP_BIC_EMY //***endLOOKHERE*** Notice that, for most of the cases (and certainly also in this case in which we don't even take into account the beam profile, noise and digitization!) the faster LHEP Physics List would be good enough - for calorimetry studies. However, we prefer to use, as default, the - more sophisticated (but slower) QGSC Physics List for the learning - purposes of this example. + for calorimetry studies. 5. Particle Generator diff --git a/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc b/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc index 1e1c928826..5be2e47cf0 100644 --- a/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc +++ b/examples/advanced/composite_calorimeter/src/CCalEndOfEventAction.cc @@ -213,14 +213,15 @@ void CCalEndOfEventAction::EndOfEventAction(const G4Event* evt){ } } + delete[] edep; + +#ifdef G4ANALYSIS_USE G4ThreeVector pos = primaryGenerator->GetParticlePosition(); float ener = primaryGenerator->GetParticleEnergy()/GeV; float x = pos.x()/mm; float y = pos.y()/mm; float z = pos.z()/mm; - delete[] edep; -#ifdef G4ANALYSIS_USE CCalAnalysis* analysis = CCalAnalysis::getInstance(); analysis->InsertEnergy(fullE); analysis->InsertEnergyHcal(hcalE); diff --git a/examples/advanced/composite_calorimeter/src/CCalRunAction.cc b/examples/advanced/composite_calorimeter/src/CCalRunAction.cc index 9a732ce3ed..75dbc7d4aa 100644 --- a/examples/advanced/composite_calorimeter/src/CCalRunAction.cc +++ b/examples/advanced/composite_calorimeter/src/CCalRunAction.cc @@ -61,7 +61,7 @@ void CCalRunAction::BeginOfRunAction(const G4Run* aRun) { void CCalRunAction::EndOfRunAction(const G4Run* aRun) { - G4cout << "Executing CCalRunAction" << G4endl; + G4cout << "### Run " << aRun->GetRunID() << " end." << G4endl; // A.R. Added for visualization of events. if (G4VVisManager::GetConcreteInstance()) { diff --git a/examples/advanced/cosmicray_charging/CRCharging.cc b/examples/advanced/cosmicray_charging/CRCharging.cc deleted file mode 100644 index 8cf3a85b08..0000000000 --- a/examples/advanced/cosmicray_charging/CRCharging.cc +++ /dev/null @@ -1,142 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * main program class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - -#include "Randomize.hh" - -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - -#include "LISADetectorConstruction.hh" -#include "LISAPhysicsList.hh" -#include "LISAPrimaryGeneratorAction.hh" -#include "LISARunAction.hh" -#include "LISAEventAction.hh" -#include "LISASteppingAction.hh" -#include "LISAStackingAction.hh" - -#include - - -int main(int argc,char** argv) { - - // choose the Random engine - CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); - - // Construct the default run manager - G4RunManager* runManager = new G4RunManager; - - // set mandatory initialization classes - LISADetectorConstruction* detector = new LISADetectorConstruction; - runManager->SetUserInitialization(detector); - runManager->SetUserInitialization(new LISAPhysicsList); - LISAPrimaryGeneratorAction* generatorAction = new LISAPrimaryGeneratorAction; - runManager->SetUserAction(generatorAction); - - // set user action classes - LISASteppingAction* steppingAction = new LISASteppingAction; - runManager->SetUserAction(steppingAction); - runManager->SetUserAction(new LISAStackingAction); - runManager->SetUserAction( - new LISAEventAction(generatorAction,steppingAction)); - runManager->SetUserAction(new LISARunAction); - - - G4UIsession* session=0; - if (argc==1) { // Define UI session for interactive mode. - // G4UIterminal is a (dumb) terminal. -#ifdef G4UI_USE_XM - session = new G4UIXm(argc,argv); -#else -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif -#endif - } - -#ifdef G4VIS_USE - // visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - - - //Initialize G4 kernel - runManager->Initialize(); - - // get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - - // Define UI session for interactive mode. - if(session) { - // G4UIterminal is a (dumb) terminal. - UI->ApplyCommand("/control/execute init.mac"); - session->SessionStart(); - delete session; - } - // Batch mode - else { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } - - // job termination -#ifdef G4VIS_USE - delete visManager; -#endif - delete runManager; - - return 0; -} - diff --git a/examples/advanced/cosmicray_charging/History b/examples/advanced/cosmicray_charging/History deleted file mode 100644 index 7ced84b109..0000000000 --- a/examples/advanced/cosmicray_charging/History +++ /dev/null @@ -1,61 +0,0 @@ -------------------------------------------------------------------- - - ========================================================= - Geant4 - an Object-Oriented Toolkit for Simulation in HEP - ========================================================= - - Category History file - --------------------- -This file should be used by G4 developers and category coordinators -to briefly summarize all major modifications introduced in the code -and keep track of all category-tags. -It DOES NOT substitute the CVS log-message one should put at every -committal in the CVS repository ! - - ---------------------------------------------------------- - * Reverse chronological order (last date on top), please * - ---------------------------------------------------------- - -15.06.2008 -- G.A.P.Cirrone; Tag: cosmicray_charging-V09-01-00 - Removed no more necessary AIDA commands from GNUmakefile - -24.05.2007 - Vladimir Ivanchenko, tag cosmicray_charging-V08-03-00 - Fix compilation problem in Physics List - -08.12.2005 - Henrique Araujo, tag cosmicray_charging-V07-01-02 - Removed all compilation warnings - -07.12.2005 - S. Guatelli tag cosmicray_charging-V07-01-01 - G4Exception fixed (hadronic physics updated) - The example compiles withn CLHEP 2.0.2.2 - -15.11.2005 - Gabriele Cosmo, tag cosmicray_charging-V07-01-00 - Migration to from deprecated . - -06.06.2005 - Gabriele Cosmo, tag cosmicray_charging-V07-00-00 - Fixed trivial compilation error on gcc-3.4.X (double semicolon). - -03.05.2005 - John Allison - Replaced vis manager with G4VisExecutive. - -10.12.2004 - Gabriele Cosmo, tag cosmicray_charging-V06-02-03 - Replaced usage of M_PI with CLHEP's pi. - -01.12.2004 - Henrique Araujo, tag cosmicray_charging-V06-02-02 - Migrated to cmath - Solved some solid conficts - -24.11.2004 - Henrique Araujo, tag cosmicray_charging-V06-02-01 - Failed cvs submission - -10.08.2004 - Henrique Araujo, tag cosmicray_charging-V06-02-00 - Removed call by pointer of hadronics classes - Added MuNuclear interaction - Updated input macros for obsolete gps commands - -28.05.2004 - Henrique Araujo, tag cosmicray_charging-V06-01-01 - Minor changes to GNUMakeFile - Ported to PI Light (no changes in code required) - -07.05.2004 - Henrique Araujo, tag cosmicray_charging-V06-01-00 - First submission of cosmicray_charging example. diff --git a/examples/advanced/cosmicray_charging/README b/examples/advanced/cosmicray_charging/README deleted file mode 100644 index 9c73a520e8..0000000000 --- a/examples/advanced/cosmicray_charging/README +++ /dev/null @@ -1,45 +0,0 @@ -======================================================================== - - cosmicray_charging advanced example - - Henrique Araujo & Peter Wass - Imperial College London - - April 2004 - -======================================================================== - -This Geant4 example was derived from an application aimed at -simulating the electrostatic charging of isolated test masses in the -LISA mission by galactic cosmic ray protons and helium nuclei. This -work was supported by the European Space Agency through the SEPTIMESS -project under Contract No. 16339/02/NL/FM. - -LISA, the Laser Interferometer Space Antenna for the detection of -gravitational waves, is a joint ESA/NASA mission composed of three -identical spacecraft orbiting the Sun in a triangular formation, each -containing two cubic test masses in pure geodesic (drag free) motion. -The interferometric measurements between different spacecraft -are affected by the accrual of charge in the test masses caused by the -interaction of energetic cosmic rays. - -With this example we intend to demonstrate an application of Geant4 to -space environment simulations, using an extensive set of physics -models spanning from TeV energies down to a few hundred eV. This code -retains most (but not all) of the complex spacecraft and sensor -geometry implemented for the original purpose. In particular, some -complex elements of the inertial sensor surrounding the test masses -have not been included. Differential energy spectra for protons, He-4 -and He-3 nuclei at solar minimum conditions are the only input macros -provided. The remaining application classes have been kept unchanged. - -A Software Users' Manual suitable for Geant4 users of all levels is -distributed with this application (/docs). The technical description -of the original software package, including further software -documentation, physics analysis and a similar effort for the precursor -ESA mission LISA Pathfinder are available from the SEPTIMESS project -website at http://reat.space.qinetiq.com/septimess/ or from -http://astro.ic.ac.uk/~haraujo/SEPTIMESS/ . - -Any queries regarding this example or the original work can be -directed to h.araujo@imperial.ac.uk. diff --git a/examples/advanced/cosmicray_charging/docs/WP500_SUM_ICL_002_v1.0.pdf b/examples/advanced/cosmicray_charging/docs/WP500_SUM_ICL_002_v1.0.pdf deleted file mode 100644 index 142cc423f6..0000000000 Binary files a/examples/advanced/cosmicray_charging/docs/WP500_SUM_ICL_002_v1.0.pdf and /dev/null differ diff --git a/examples/advanced/cosmicray_charging/include/LISAAnalysisManager.hh b/examples/advanced/cosmicray_charging/include/LISAAnalysisManager.hh deleted file mode 100644 index 248b40be39..0000000000 --- a/examples/advanced/cosmicray_charging/include/LISAAnalysisManager.hh +++ /dev/null @@ -1,108 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// - -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** - - -#ifdef G4ANALYSIS_USE -#ifndef LISAAnalysisManager_h -#define LISAAnalysisManager_h 1 - -#include "globals.hh" - -#include - -namespace AIDA { - class IAnalysisFactory; - class ITree; - class IHistogramFactory; - class ITupleFactory; - class ITuple; - class IHistogram1D; - class IHistogram2D; - class IPlotter; - class IFitter; - class IFitResult; - class IFitData; - class IRangeSet; - class IFitParameterSettings; - class IFunctionFactory; - class IFunction; - class IFitFactory; -} - - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class LISAAnalysisManager { - - public: - virtual ~LISAAnalysisManager(); - void Init(); - void Dispose(); - - - // Run analysis - void bookRun(G4String); - void FinishRun(); - void analyseRun - (G4int evt, G4int tm, G4double energy, G4int charge, - G4int in, G4int out, long seed1, long seed2); - - // grab instance - static LISAAnalysisManager* getInstance(); - - - private: - - // private constructor for singleton - LISAAnalysisManager(); - - static LISAAnalysisManager* instance; - - - AIDA::IAnalysisFactory *af; - AIDA::ITreeFactory *tf; - AIDA::ITree *run_tree; - AIDA::ITupleFactory *run_tpf; - AIDA::ITuple *run_tuple; - - -}; -#endif -#endif - - - diff --git a/examples/advanced/cosmicray_charging/include/LISADetectorConstruction.hh b/examples/advanced/cosmicray_charging/include/LISADetectorConstruction.hh deleted file mode 100644 index 7922afebce..0000000000 --- a/examples/advanced/cosmicray_charging/include/LISADetectorConstruction.hh +++ /dev/null @@ -1,114 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** - -#ifndef LISADetectorConstruction_h -#define LISADetectorConstruction_h 1 - -#include "G4VUserDetectorConstruction.hh" - -#include "G4UserLimits.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4Element.hh" -#include "G4Isotope.hh" -#include "G4UnitsTable.hh" - -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4Sphere.hh" -#include "G4Cons.hh" -#include "G4Trap.hh" -#include "G4Torus.hh" -#include "G4Trd.hh" -#include "G4VSolid.hh" -#include "G4UnionSolid.hh" -#include "G4SubtractionSolid.hh" - -#include "G4ThreeVector.hh" -#include "G4RotationMatrix.hh" -#include "G4Transform3D.hh" - -#include "G4PVPlacement.hh" -#include "G4LogicalVolume.hh" -#include "G4VPhysicalVolume.hh" - -#include "G4Region.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4ios.hh" -#include "globals.hh" - -#include - - -class LISADetectorConstruction : public G4VUserDetectorConstruction { - - public: - LISADetectorConstruction(); - ~LISADetectorConstruction(); - - G4VPhysicalVolume* Construct(); - - private: - void ConstructMaterials(); - G4VPhysicalVolume* ConstructDetector(); - - - private: - // pointers to materials - G4Material *vacuum; - G4Material *Al6061; - G4Material *AlHoneycomb; - G4Material *Scell; - G4Material *MLImat; - G4Material *molybdenum; - G4Material *TiAlloy; - G4Material *gold; - G4Material *AuPt; - G4Material *CFRP; - G4Material *ULEglass; - G4Material *SHAPAL; - G4Material *SiC; - G4Material *foam; - - -}; - -#endif - diff --git a/examples/advanced/cosmicray_charging/include/LISADetectorMaterials.hh b/examples/advanced/cosmicray_charging/include/LISADetectorMaterials.hh deleted file mode 100644 index f633b1594d..0000000000 --- a/examples/advanced/cosmicray_charging/include/LISADetectorMaterials.hh +++ /dev/null @@ -1,137 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** - - -void LISADetectorConstruction::ConstructMaterials(void) { - - // Elements - - G4Element* elementH = new G4Element("Hydrogen", "H", 1., 1.0079*g/mole); - G4Element* elementC = new G4Element("Carbon", "C", 6., 12.011*g/mole); - G4Element* elementN = new G4Element("Nitrogen", "N", 7., 14.007*g/mole); - G4Element* elementO = new G4Element("Oxygen", "O", 8., 15.9994*g/mole); - G4Element* elementMg = new G4Element("Magnesium", "Mg",12., 24.3050*g/mole); - G4Element* elementAl = new G4Element("Aluminium", "Al",13., 26.9815*g/mole); - G4Element* elementSi = new G4Element("Silicon", "Si",14., 28.0855*g/mole); - G4Element* elementTi = new G4Element("Titanium", "Ti",22., 47.90*g/mole); - G4Element* elementV = new G4Element("Vanadium", "V", 23., 50.9415*g/mole); - G4Element* elementFe = new G4Element("Iron", "Fe",26., 55.845*g/mole); - G4Element* elementMo = new G4Element("Molybdenum","Mo",42., 95.94*g/mole); - G4Element* elementPt = new G4Element("Platinum", "Pt",78., 195.08*g/mole); - G4Element* elementAu = new G4Element("Gold", "Au",79., 196.97*g/mole); - - - // Materials - - vacuum = new G4Material("vacuum", 1, 1.00794*g/mole, - 1.0E-25*g/cm3, kStateGas, 0.1*kelvin, 1.0E-19*pascal); - - // Aluminium alloy 6061-T6 - Al6061 = new G4Material("Al6061", 2.70*g/cm3, 4); - Al6061->AddElement(elementAl, 0.980); - Al6061->AddElement(elementMg, 0.010); - Al6061->AddElement(elementSi, 0.006); - Al6061->AddElement(elementFe, 0.004); - - // Aluminium Alloy honeycomb - AlHoneycomb = new G4Material("AlHoneycomb",0.05*g/cm3, 4); - AlHoneycomb->AddElement(elementAl, 0.980); - AlHoneycomb->AddElement(elementMg, 0.010); - AlHoneycomb->AddElement(elementSi, 0.006); - AlHoneycomb->AddElement(elementFe, 0.004); - - // Solar Cells**** - Scell = new G4Material("Scell", 7.82*g/cm3, 1); - Scell->AddElement(elementSi, 1.00); - - // MLI Blanket: mylar (composition from STAR Stopping Power database) - MLImat = new G4Material("MLImat", 1.40*g/cm3, 3); - MLImat->AddElement(elementH, 0.041959); - MLImat->AddElement(elementC, 0.625017); - MLImat->AddElement(elementO, 0.333025); - - // Molybdenum - molybdenum = new G4Material("molybdenum", 10.22*g/cm3, 1); - molybdenum->AddElement(elementMo, 1.00); - - // Titanium Alloy (Ti-6Al-4V) - TiAlloy = new G4Material("TiAlloy", 4.43*g/cm3, 3); - TiAlloy->AddElement(elementTi, 0.90); - TiAlloy->AddElement(elementAl, 0.06); - TiAlloy->AddElement(elementV, 0.04); - - // Gold - gold = new G4Material("gold", 19.32*g/cm3, 1); - gold->AddElement(elementAu, 1.00); - - // Gold-Platinum 70%/30% - AuPt = new G4Material("AuPt", 19.92*g/cm3, 2); - AuPt->AddElement(elementAu, 0.70); - AuPt->AddElement(elementPt, 0.30); - - // CRFP (Carbon Fiber Reinforced Polymer): M55 Quasiisotropic Layup - CFRP = new G4Material("CFRP", 1.66*g/cm3, 1); - CFRP->AddElement(elementC,1); - - // Silicate glass - G4Material* SiGlass = new G4Material("SiGlass", 2.20*g/cm3, 2); - SiGlass->AddElement(elementO, 2); - SiGlass->AddElement(elementSi,1); - // Titanium glass - G4Material* TiGlass = new G4Material("TiGlass", 4.25*g/cm3, 2); - TiGlass->AddElement(elementO, 2); - TiGlass->AddElement(elementTi,1); - // Corning 7972 ULE Titanium Silicate Glass - ULEglass = new G4Material("ULEglass", 2.21*g/cm3, 2); - ULEglass->AddMaterial(SiGlass, 0.925); - ULEglass->AddMaterial(TiGlass, 0.075); - - // SHAPAL-M (AlN) - SHAPAL = new G4Material("SHAPAL-M", 2.90*g/cm3, 2); - SHAPAL->AddElement(elementAl,1); - SHAPAL->AddElement(elementN, 1); - - // Silicon carbide - SiC = new G4Material("SiC", 3.1*g/cm3, 2); - SiC->AddElement(elementSi,1); - SiC->AddElement(elementC, 1); - - // Foam: Polystyrene-based - foam = new G4Material("foam",0.05*g/cm3, 2); - foam->AddElement(elementC, 0.90); - foam->AddElement(elementH, 0.10); - - -} diff --git a/examples/advanced/cosmicray_charging/include/LISAPhysicsList.hh b/examples/advanced/cosmicray_charging/include/LISAPhysicsList.hh deleted file mode 100644 index 4eb340fac6..0000000000 --- a/examples/advanced/cosmicray_charging/include/LISAPhysicsList.hh +++ /dev/null @@ -1,397 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** - -#ifndef LISAPhysicsList_h -#define LISAPhysicsList_h 1 - -#include "G4VUserPhysicsList.hh" -#include "globals.hh" - -// Hadronics -#include "G4HadronElasticProcess.hh" -#include "G4HadronInelasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4HadronFissionProcess.hh" - -// Inelastic Processes -#include "G4ProtonInelasticProcess.hh" -#include "G4AntiProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4AntiNeutronInelasticProcess.hh" -#include "G4PionPlusInelasticProcess.hh" -#include "G4PionMinusInelasticProcess.hh" -#include "G4KaonPlusInelasticProcess.hh" -#include "G4KaonZeroSInelasticProcess.hh" -#include "G4KaonZeroLInelasticProcess.hh" -#include "G4KaonMinusInelasticProcess.hh" -#include "G4DeuteronInelasticProcess.hh" -#include "G4TritonInelasticProcess.hh" -#include "G4AlphaInelasticProcess.hh" -#include "G4LambdaInelasticProcess.hh" -#include "G4AntiLambdaInelasticProcess.hh" -#include "G4OmegaMinusInelasticProcess.hh" -#include "G4AntiOmegaMinusInelasticProcess.hh" -#include "G4SigmaMinusInelasticProcess.hh" -#include "G4AntiSigmaMinusInelasticProcess.hh" -#include "G4SigmaPlusInelasticProcess.hh" -#include "G4AntiSigmaPlusInelasticProcess.hh" -#include "G4XiZeroInelasticProcess.hh" -#include "G4AntiXiZeroInelasticProcess.hh" -#include "G4XiMinusInelasticProcess.hh" -#include "G4AntiXiMinusInelasticProcess.hh" - -// Low-energy Parameterised Models: 1 to 25 GeV -#include "G4LElastic.hh" -#include "G4LEPionPlusInelastic.hh" -#include "G4LEPionMinusInelastic.hh" -#include "G4LEKaonPlusInelastic.hh" -#include "G4LEKaonZeroSInelastic.hh" -#include "G4LEKaonZeroLInelastic.hh" -#include "G4LEKaonMinusInelastic.hh" -// #include "G4LEProtonInelastic.hh" -#include "G4LEAntiProtonInelastic.hh" -// #include "G4LENeutronInelastic.hh" -#include "G4LEAntiNeutronInelastic.hh" -#include "G4LEDeuteronInelastic.hh" -#include "G4LETritonInelastic.hh" -#include "G4LEAlphaInelastic.hh" -#include "G4LELambdaInelastic.hh" -#include "G4LEAntiLambdaInelastic.hh" -#include "G4LEOmegaMinusInelastic.hh" -#include "G4LEAntiOmegaMinusInelastic.hh" -#include "G4LESigmaMinusInelastic.hh" -#include "G4LEAntiSigmaMinusInelastic.hh" -#include "G4LESigmaPlusInelastic.hh" -#include "G4LEAntiSigmaPlusInelastic.hh" -#include "G4LEXiZeroInelastic.hh" -#include "G4LEAntiXiZeroInelastic.hh" -#include "G4LEXiMinusInelastic.hh" -#include "G4LEAntiXiMinusInelastic.hh" -// neutrons -#include "G4LCapture.hh" -#include "G4LFission.hh" - -// High-energy Parameterised Models: 25 GeV to 10 TeV -// #include "G4HEPionPlusInelastic.hh" -// #include "G4HEPionMinusInelastic.hh" -// #include "G4HEKaonPlusInelastic.hh" -// #include "G4HEKaonZeroInelastic.hh" -// #include "G4HEKaonZeroInelastic.hh" -// #include "G4HEKaonMinusInelastic.hh" -// #include "G4HEProtonInelastic.hh" -// #include "G4HENeutronInelastic.hh" -#include "G4HEAntiProtonInelastic.hh" -#include "G4HEAntiNeutronInelastic.hh" -#include "G4HELambdaInelastic.hh" -#include "G4HEAntiLambdaInelastic.hh" -#include "G4HEOmegaMinusInelastic.hh" -#include "G4HEAntiOmegaMinusInelastic.hh" -#include "G4HESigmaMinusInelastic.hh" -#include "G4HEAntiSigmaMinusInelastic.hh" -#include "G4HESigmaPlusInelastic.hh" -#include "G4HEAntiSigmaPlusInelastic.hh" -#include "G4HEXiZeroInelastic.hh" -#include "G4HEAntiXiZeroInelastic.hh" -#include "G4HEXiMinusInelastic.hh" -#include "G4HEAntiXiMinusInelastic.hh" - -// // Neutron HP Models: Thermal to 19 MeV -// #include "G4NeutronHPElastic.hh" -// #include "G4NeutronHPElasticData.hh" -// #include "G4NeutronHPCapture.hh" -// #include "G4NeutronHPCaptureData.hh" -// #include "G4NeutronHPInelastic.hh" -// #include "G4NeutronHPInelasticData.hh" - -// Stopping processes -#include "G4PiMinusAbsorptionAtRest.hh" -#include "G4KaonMinusAbsorptionAtRest.hh" -#include "G4AntiProtonAnnihilationAtRest.hh" -#include "G4AntiNeutronAnnihilationAtRest.hh" - -// Generator models: HE -#include "G4TheoFSGenerator.hh" -#include "G4Evaporation.hh" -#include "G4CompetitiveFission.hh" -#include "G4FermiBreakUp.hh" -#include "G4StatMF.hh" -#include "G4ExcitationHandler.hh" -#include "G4PreCompoundModel.hh" -#include "G4GeneratorPrecompoundInterface.hh" -#include "G4QGSModel.hh" -#include "G4QGSParticipants.hh" -#include "G4QGSMFragmentation.hh" -#include "G4ExcitedStringDecay.hh" - -// Kinetic Model -#include "G4BinaryCascade.hh" -#include "G4BinaryLightIonReaction.hh" -#include "G4TripathiCrossSection.hh" -#include "G4IonsShenCrossSection.hh" - - -/////////////////////////// -// ElectroNuclear Physics - -// photonuclear and electronuclear reaction -#include "G4PhotoNuclearProcess.hh" -#include "G4ElectronNuclearProcess.hh" -#include "G4PositronNuclearProcess.hh" -#include "G4GammaNuclearReaction.hh" -#include "G4ElectroNuclearReaction.hh" - -// CHIPS fragmentation model -#include "G4TheoFSGenerator.hh" -#include "G4StringChipsParticleLevelInterface.hh" -#include "G4QGSModel.hh" -#include "G4GammaParticipants.hh" -#include "G4QGSMFragmentation.hh" -#include "G4ExcitedStringDecay.hh" - -// muon photonuclear reaction -#include "G4MuNuclearInteraction.hh" - - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class LISAPhysicsList: public G4VUserPhysicsList { - - public: - LISAPhysicsList(); - virtual ~LISAPhysicsList(); - - public: - virtual void SetCuts(); - - protected: - // particles and physics - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - // physics processes - virtual void AddTransportation(); - virtual void ElectromagneticPhysics(); - virtual void HadronicPhysics(); - virtual void ElectroNuclearPhysics(); - virtual void GeneralPhysics(); - - private: - G4int VerboseLevel; - protected: - - // PhotoNuclear ************************************************* - - G4PhotoNuclearProcess thePhotoNuclearProcess; - G4GammaNuclearReaction* theGammaReaction; - G4TheoFSGenerator* theHEModel_PN; - G4StringChipsParticleLevelInterface* theCascade_PN; - G4QGSModel* theStringModel_PN; - G4QGSMFragmentation theFragmentation_PN; - G4ExcitedStringDecay* theStringDecay_PN; - // ElectronNuclear - G4ElectronNuclearProcess theElectronNuclearProcess; - G4ElectroNuclearReaction* theElectroReaction; - // PositronNuclear - G4PositronNuclearProcess thePositronNuclearProcess; - // MuNucleus - G4MuNuclearInteraction theMuMinusNuclearInteraction; - G4MuNuclearInteraction theMuPlusNuclearInteraction; - - - // Hadronics ************************************************* - - // Binary Cascade - G4TheoFSGenerator* theHEModel; - G4Evaporation* theEvaporation; - G4FermiBreakUp* theFermiBreakUp; - G4StatMF* theMF; - G4ExcitationHandler* theHandler; - G4PreCompoundModel* thePreEquilib; - G4GeneratorPrecompoundInterface* theCascade; - G4VPartonStringModel* theStringModel; - G4BinaryCascade* theCasc; - G4VLongitudinalStringDecay* theFragmentation; - G4ExcitedStringDecay* theStringDecay; - G4BinaryCascade* theCascForPi; - // Cascade for light ions - G4BinaryLightIonReaction* theIonCascade; - G4TripathiCrossSection* theTripathiCrossSection; - G4IonsShenCrossSection* theShenCrossSection; - G4BinaryLightIonReaction* theGenIonCascade; - - - // Elastic Process - G4HadronElasticProcess theElasticProcess; - G4LElastic* theElasticModel; - - // pi+ - G4PionPlusInelasticProcess thePionPlusInelasticProcess; - G4LEPionPlusInelastic* theLEPionPlusInelasticModel; - - // pi- - G4PionMinusInelasticProcess thePionMinusInelasticProcess; - G4LEPionMinusInelastic* theLEPionMinusInelasticModel; - G4PiMinusAbsorptionAtRest thePiMinusAbsorptionAtRest; - - // kaon+ - G4KaonPlusInelasticProcess theKaonPlusInelasticProcess; - G4LEKaonPlusInelastic* theLEKaonPlusInelasticModel; - - // kaon0S - G4KaonZeroSInelasticProcess theKaonZeroSInelasticProcess; - G4LEKaonZeroSInelastic* theLEKaonZeroSInelasticModel; - - // kaon0L - G4KaonZeroLInelasticProcess theKaonZeroLInelasticProcess; - G4LEKaonZeroLInelastic* theLEKaonZeroLInelasticModel; - - // kaon- - G4KaonMinusInelasticProcess theKaonMinusInelasticProcess; - G4LEKaonMinusInelastic* theLEKaonMinusInelasticModel; - G4KaonMinusAbsorptionAtRest theKaonMinusAbsorptionAtRest; - - // proton - G4ProtonInelasticProcess theProtonInelasticProcess; - - // anti-proton - G4AntiProtonInelasticProcess theAntiProtonInelasticProcess; - G4LEAntiProtonInelastic* theLEAntiProtonInelasticModel; - G4HEAntiProtonInelastic* theHEAntiProtonInelasticModel; - G4AntiProtonAnnihilationAtRest theAntiProtonAnnihilationAtRest; - - // neutron - G4HadronElasticProcess theNeutronElasticProcess; - G4LElastic* theNeutronElasticModel1; - // G4NeutronHPElastic* theNeutronElasticModel2; - // G4NeutronHPElasticData* theNeutronElasticData; - G4NeutronInelasticProcess theNeutronInelasticProcess; - // G4NeutronHPInelastic* theNeutronInelasticModel1; - // G4NeutronHPInelasticData* theNeutronInelasticData1; - G4HadronCaptureProcess theNeutronCaptureProcess; - G4LCapture* theNeutronCaptureModel1; - // G4NeutronHPCapture* theNeutronCaptureModel2; - // G4NeutronHPCaptureData* theNeutronCaptureData; - G4HadronFissionProcess theNeutronFissionProcess; - G4LFission* theNeutronFissionModel; - - // anti-neutron - G4AntiNeutronInelasticProcess theAntiNeutronInelasticProcess; - G4LEAntiNeutronInelastic* theLEAntiNeutronInelasticModel; - G4HEAntiNeutronInelastic* theHEAntiNeutronInelasticModel; - G4AntiNeutronAnnihilationAtRest theAntiNeutronAnnihilationAtRest; - - // deuteron - G4DeuteronInelasticProcess* theDeuteronInelasticProcess; - G4LEDeuteronInelastic* theLEDeuteronInelasticModel; - - // triton - G4TritonInelasticProcess* theTritonInelasticProcess; - G4LETritonInelastic* theLETritonInelasticModel; - - // alpha - G4AlphaInelasticProcess* theAlphaInelasticProcess; - G4LEAlphaInelastic* theLEAlphaInelasticModel; - - // He-3 - G4HadronInelasticProcess* theHe3InelasticProcess; - - // Generic Ion - G4HadronInelasticProcess* theGenericIonInelasticProcess; - - // lambda - G4LambdaInelasticProcess theLambdaInelasticProcess; - G4LELambdaInelastic* theLELambdaInelasticModel; - G4HELambdaInelastic* theHELambdaInelasticModel; - - // anti-lambda - G4AntiLambdaInelasticProcess theAntiLambdaInelasticProcess; - G4LEAntiLambdaInelastic* theLEAntiLambdaInelasticModel; - G4HEAntiLambdaInelastic* theHEAntiLambdaInelasticModel; - - // omega- - G4OmegaMinusInelasticProcess theOmegaMinusInelasticProcess; - G4LEOmegaMinusInelastic* theLEOmegaMinusInelasticModel; - G4HEOmegaMinusInelastic* theHEOmegaMinusInelasticModel; - - // anti-omega- - G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelasticProcess; - G4LEAntiOmegaMinusInelastic* theLEAntiOmegaMinusInelasticModel; - G4HEAntiOmegaMinusInelastic* theHEAntiOmegaMinusInelasticModel; - - // sigma- - G4SigmaMinusInelasticProcess theSigmaMinusInelasticProcess; - G4LESigmaMinusInelastic* theLESigmaMinusInelasticModel; - G4HESigmaMinusInelastic* theHESigmaMinusInelasticModel; - - // anti-sigma- - G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelasticProcess; - G4LEAntiSigmaMinusInelastic* theLEAntiSigmaMinusInelasticModel; - G4HEAntiSigmaMinusInelastic* theHEAntiSigmaMinusInelasticModel; - - // sigma+ - G4SigmaPlusInelasticProcess theSigmaPlusInelasticProcess; - G4LESigmaPlusInelastic* theLESigmaPlusInelasticModel; - G4HESigmaPlusInelastic* theHESigmaPlusInelasticModel; - - // anti-sigma+ - G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelasticProcess; - G4LEAntiSigmaPlusInelastic* theLEAntiSigmaPlusInelasticModel; - G4HEAntiSigmaPlusInelastic* theHEAntiSigmaPlusInelasticModel; - - // xi0 - G4XiZeroInelasticProcess theXiZeroInelasticProcess; - G4LEXiZeroInelastic* theLEXiZeroInelasticModel; - G4HEXiZeroInelastic* theHEXiZeroInelasticModel; - - // anti-xi0 - G4AntiXiZeroInelasticProcess theAntiXiZeroInelasticProcess; - G4LEAntiXiZeroInelastic* theLEAntiXiZeroInelasticModel; - G4HEAntiXiZeroInelastic* theHEAntiXiZeroInelasticModel; - - // xi- - G4XiMinusInelasticProcess theXiMinusInelasticProcess; - G4LEXiMinusInelastic* theLEXiMinusInelasticModel; - G4HEXiMinusInelastic* theHEXiMinusInelasticModel; - - // anti-xi- - G4AntiXiMinusInelasticProcess theAntiXiMinusInelasticProcess; - G4LEAntiXiMinusInelastic* theLEAntiXiMinusInelasticModel; - G4HEAntiXiMinusInelastic* theHEAntiXiMinusInelasticModel; - - -}; - -#endif diff --git a/examples/advanced/cosmicray_charging/include/LISAPrimaryGeneratorAction.hh b/examples/advanced/cosmicray_charging/include/LISAPrimaryGeneratorAction.hh deleted file mode 100644 index 6805fac7df..0000000000 --- a/examples/advanced/cosmicray_charging/include/LISAPrimaryGeneratorAction.hh +++ /dev/null @@ -1,66 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** - -#ifndef LISAPrimaryGeneratorAction_h -#define LISAPrimaryGeneratorAction_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" -#include "globals.hh" - -class G4GeneralParticleSource; -class G4Event; - -class LISAPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { - - public: - LISAPrimaryGeneratorAction(); - ~LISAPrimaryGeneratorAction(); - void GeneratePrimaries(G4Event* anEvent); - - private: - G4GeneralParticleSource* particleGun; - - private: - long seeds[2]; - G4double energy_pri; - - public: - const long* GetEventSeeds() {return seeds;}; - G4double GetEnergyPrimary() {return energy_pri;}; - -}; - -#endif - diff --git a/examples/advanced/cosmicray_charging/include/LISARunActionMessenger.hh b/examples/advanced/cosmicray_charging/include/LISARunActionMessenger.hh deleted file mode 100644 index 798e58e2d5..0000000000 --- a/examples/advanced/cosmicray_charging/include/LISARunActionMessenger.hh +++ /dev/null @@ -1,61 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** - -#ifndef LISARunActionMessenger_h -#define LISARunActionMessenger_h 1 - -#include "G4UImessenger.hh" -#include "G4UIcommand.hh" -#include "G4UIcmdWithABool.hh" -#include "globals.hh" - -class LISARunAction; - -class LISARunActionMessenger: public G4UImessenger { - - public: - LISARunActionMessenger(LISARunAction*); - ~LISARunActionMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - - private: - LISARunAction* runAction; - - G4UIcmdWithABool* SetAutoSeedCmd; - -}; - -#endif diff --git a/examples/advanced/cosmicray_charging/include/LISAStackingAction.hh b/examples/advanced/cosmicray_charging/include/LISAStackingAction.hh deleted file mode 100644 index bab1e541da..0000000000 --- a/examples/advanced/cosmicray_charging/include/LISAStackingAction.hh +++ /dev/null @@ -1,68 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** - -#ifndef LISAStackingAction_h -#define LISAStackingAction_h 1 - -#include "globals.hh" -#include "G4UserStackingAction.hh" - -class LISAStackingActionMessenger; -class G4Track; - -class LISAStackingAction : public G4UserStackingAction { - - public: - LISAStackingAction(); - virtual ~LISAStackingAction(); - - virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack); - virtual void NewStage(); - virtual void PrepareNewEvent(); - - public: - inline void SetPrimarySurvey (const G4bool val) {PrimarySurveyFlag = val;} - inline void SetParticleSurvey(const G4bool val) {ParticleSurveyFlag = val;} - - private: - LISAStackingActionMessenger* stackingMessenger; - G4bool PrimarySurveyFlag; - G4bool ParticleSurveyFlag; - - -}; - -#endif - diff --git a/examples/advanced/cosmicray_charging/init.mac b/examples/advanced/cosmicray_charging/init.mac deleted file mode 100644 index e201503ab5..0000000000 --- a/examples/advanced/cosmicray_charging/init.mac +++ /dev/null @@ -1,25 +0,0 @@ -#############################################################################*# -# Initialisation macro for interactive mode # -############################################################################### -# -/control/verbose 1 -#/control/saveHistory -# -# Create empty scene -#/vis/scene/create -# -# Create a scene handler for a specific graphics system -# (Edit the next line(s) to choose another graphic system) -/vis/open OGLSX -#/vis/open OGLIX -#/vis/open OGLSXm -#/vis/open OGLIXm -#/vis/open DANWFILE -# -# Add detector to scene -/vis/drawVolume -# -# Flush visualization -#/vis/viewer/flush -# -/vis/viewer/set/lineSegmentsPerCircle 120 diff --git a/examples/advanced/cosmicray_charging/primaries/helium3_solmin.mac b/examples/advanced/cosmicray_charging/primaries/helium3_solmin.mac deleted file mode 100644 index 86cdb397fc..0000000000 --- a/examples/advanced/cosmicray_charging/primaries/helium3_solmin.mac +++ /dev/null @@ -1,66 +0,0 @@ -################################################################# -# Differential energy spectrum for solar minimum HELIUM-3 at 1 AU -################################################################# -# -/vis/disable -/tracking/storeTrajectory 0 -/control/verbose 1 -/run/verbose 1 -/event/verbose 0 -# -/control/suppressAbortion 1 -# -# Random seeds -/run/autoSeed 1 -#/random/resetEngineFrom seeds.rndm -# -# particle surveys -#/surveys/surveyParticles 1 -#/surveys/surveyPrimaries 1 -#/surveys/surveyTestMasses 1 -# -/gps/particle He3 -# -# Isotropic distribution -/gps/pos/type Surface -/gps/pos/shape Sphere -/gps/pos/radius 1499. mm -/gps/pos/centre 0. 0. 0. mm -/gps/ang/type cos -# -# Differential energy spectrum for solar minimum -# Helium flux (/m2/s/sr/MeV) from Vannuccini 2001 -# He-3/He-4 compiled by C. Grimani -# EPN TAKEN FOR A=4!!! -# INTEGRAL FLUX = 0.0591 He/cm2/s -/gps/ene/type Arb -/gps/hist/type arb -# -/gps/hist/point 4.000E+02 2.409E+01 -/gps/hist/point 5.970E+02 2.972E+01 -/gps/hist/point 8.910E+02 3.448E+01 -/gps/hist/point 1.330E+03 3.691E+01 -/gps/hist/point 1.985E+03 3.068E+01 -/gps/hist/point 2.962E+03 2.202E+01 -/gps/hist/point 4.421E+03 1.459E+01 -/gps/hist/point 6.599E+03 9.011E+00 -/gps/hist/point 9.848E+03 4.512E+00 -/gps/hist/point 1.470E+04 2.042E+00 -/gps/hist/point 2.194E+04 8.501E-01 -#/gps/hist/point 3.274E+04 3.318E-01 -#/gps/hist/point 4.887E+04 1.234E-01 -#/gps/hist/point 7.293E+04 4.435E-02 -#/gps/hist/point 1.089E+05 1.555E-02 -#/gps/hist/point 1.625E+05 5.360E-03 -#/gps/hist/point 2.425E+05 1.826E-03 -#/gps/hist/point 3.619E+05 6.172E-04 -#/gps/hist/point 5.401E+05 2.075E-04 -#/gps/hist/point 8.061E+05 6.949E-05 -#/gps/hist/point 1.203E+06 2.322E-05 -#/gps/hist/point 1.796E+06 7.745E-06 -#/gps/hist/point 2.680E+06 2.581E-06 -#/gps/hist/point 4.000E+06 8.593E-07 -# -/gps/hist/inter Lin -# -/run/beamOn 10000 diff --git a/examples/advanced/cosmicray_charging/primaries/helium4_solmin.mac b/examples/advanced/cosmicray_charging/primaries/helium4_solmin.mac deleted file mode 100644 index 7820a93552..0000000000 --- a/examples/advanced/cosmicray_charging/primaries/helium4_solmin.mac +++ /dev/null @@ -1,65 +0,0 @@ -################################################################# -# Differential energy spectrum for solar minimum HELIUM-4 at 1 AU -################################################################# -# -/vis/disable -/tracking/storeTrajectory 0 -/control/verbose 1 -/run/verbose 1 -/event/verbose 0 -# -/control/suppressAbortion 1 -# -# Random seeds -/run/autoSeed 1 -#/random/resetEngineFrom seeds.rndm -# -# particle surveys -#/surveys/surveyParticles 1 -#/surveys/surveyPrimaries 1 -#/surveys/surveyTestMasses 1 -# -/gps/particle alpha -# -# Isotropic distribution -/gps/pos/type Surface -/gps/pos/shape Sphere -/gps/pos/radius 1499. mm -/gps/pos/centre 0. 0. 0. mm -/gps/ang/type cos -# -# Differential energy spectrum for solar minimum -# Helium flux (/m2/s/sr/MeV) from Vannuccini 2001 -# He-3/He-4 compiled by C. Grimani -# INTEGRAL FLUX = 0.315 He/cm2/s -/gps/ene/type Arb -/gps/hist/type arb -# -/gps/hist/point 4.000E+02 2.666E+02 -/gps/hist/point 5.970E+02 2.619E+02 -/gps/hist/point 8.910E+02 2.419E+02 -/gps/hist/point 1.330E+03 2.062E+02 -/gps/hist/point 1.985E+03 1.641E+02 -/gps/hist/point 2.962E+03 1.177E+02 -/gps/hist/point 4.421E+03 7.428E+01 -/gps/hist/point 6.599E+03 4.096E+01 -/gps/hist/point 9.848E+03 2.051E+01 -/gps/hist/point 1.470E+04 9.280E+00 -/gps/hist/point 2.194E+04 3.864E+00 -/gps/hist/point 3.274E+04 1.508E+00 -#/gps/hist/point 4.887E+04 5.611E-01 -#/gps/hist/point 7.293E+04 2.016E-01 -#/gps/hist/point 1.089E+05 7.068E-02 -#/gps/hist/point 1.625E+05 2.436E-02 -#/gps/hist/point 2.425E+05 8.300E-03 -#/gps/hist/point 3.619E+05 2.805E-03 -#/gps/hist/point 5.401E+05 9.430E-04 -#/gps/hist/point 8.061E+05 3.159E-04 -#/gps/hist/point 1.203E+06 1.055E-04 -#/gps/hist/point 1.796E+06 3.521E-05 -#/gps/hist/point 2.680E+06 1.173E-05 -#/gps/hist/point 4.000E+06 3.906E-06 -# -/gps/hist/inter Lin -# -/run/beamOn 10000 diff --git a/examples/advanced/cosmicray_charging/primaries/protons_solmin.mac b/examples/advanced/cosmicray_charging/primaries/protons_solmin.mac deleted file mode 100644 index 0f02892df9..0000000000 --- a/examples/advanced/cosmicray_charging/primaries/protons_solmin.mac +++ /dev/null @@ -1,71 +0,0 @@ -################################################################# -# Differential energy spectrum for solar minimum PROTONS at 1 AU -################################################################# -# -/vis/disable -/tracking/storeTrajectory 0 -/control/verbose 1 -/run/verbose 1 -/event/verbose 0 -# -/control/suppressAbortion 1 -# -# Random seeds -/run/autoSeed 1 -#/random/resetEngineFrom seeds.rndm -# -# particle surveys -#/surveys/surveyParticles 1 -#/surveys/surveyPrimaries 1 -#/surveys/surveyTestMasses 1 -# -/gps/particle proton -# -# Isotropic distribution -/gps/pos/type Surface -/gps/pos/shape Sphere -/gps/pos/radius 1499. mm -/gps/pos/centre 0. 0. 0. mm -/gps/ang/type cos -# -# Differential energy spectrum for solar minimum -# proton flux (/m2/s/sr/MeV) from Vannuccini 2001 -# INTEGRAL FLUX = 4.29 p/cm2/s -/gps/ene/type Arb -/gps/hist/type arb -# -/gps/hist/point 1.0000e+01 1.0886e+02 -/gps/hist/point 1.4874e+01 1.6753e+02 -/gps/hist/point 2.2122e+01 2.5783e+02 -/gps/hist/point 3.2903e+01 3.9680e+02 -/gps/hist/point 4.8939e+01 6.1068e+02 -/gps/hist/point 7.2790e+01 9.3985e+02 -/gps/hist/point 1.0826e+02 1.3421e+03 -/gps/hist/point 1.6103e+02 1.6191e+03 -/gps/hist/point 2.3950e+02 1.8305e+03 -/gps/hist/point 3.5622e+02 1.9002e+03 -/gps/hist/point 5.2983e+02 1.7726e+03 -/gps/hist/point 7.8805e+02 1.4572e+03 -/gps/hist/point 1.1721e+03 1.0417e+03 -/gps/hist/point 1.7433e+03 6.4545e+02 -/gps/hist/point 2.5929e+03 3.4914e+02 -/gps/hist/point 3.8566e+03 1.6753e+02 -/gps/hist/point 5.7362e+03 7.2810e+01 -/gps/hist/point 8.5317e+03 2.9280e+01 -/gps/hist/point 1.2690e+04 1.1109e+01 -/gps/hist/point 1.8874e+04 4.0399e+00 -/gps/hist/point 2.8072e+04 1.4257e+00 -/gps/hist/point 4.1753e+04 4.9270e-01 -/gps/hist/point 6.2102e+04 1.6783e-01 -/gps/hist/point 9.2367e+04 5.6602e-02 -/gps/hist/point 1.3738e+05 1.8962e-02 -/gps/hist/point 2.0434e+05 6.3234e-03 -/gps/hist/point 3.0392e+05 2.1023e-03 -/gps/hist/point 4.5204e+05 6.9745e-04 -/gps/hist/point 6.7234e+05 2.3106e-04 -/gps/hist/point 1.0000e+06 7.6479e-05 -# -/gps/hist/inter Lin - -# -/run/beamOn 10000 diff --git a/examples/advanced/cosmicray_charging/seeds.rndm b/examples/advanced/cosmicray_charging/seeds.rndm deleted file mode 100644 index 2f2f1a6f8c..0000000000 --- a/examples/advanced/cosmicray_charging/seeds.rndm +++ /dev/null @@ -1,2 +0,0 @@ -0 -1632641235 2127009234 diff --git a/examples/advanced/cosmicray_charging/shoot.mac b/examples/advanced/cosmicray_charging/shoot.mac deleted file mode 100644 index 1b587ee0eb..0000000000 --- a/examples/advanced/cosmicray_charging/shoot.mac +++ /dev/null @@ -1,32 +0,0 @@ -################################################################# -# Shoots 1 GeV protons randomly from generator surface -################################################################# -# -/vis/enable -/tracking/storeTrajectory 1 -/control/verbose 1 -/run/verbose 1 -/event/verbose 0 -# -/control/suppressAbortion 1 -# -# Random seeds -#/run/autoSeed 1 -/random/resetEngineFrom seeds.rndm -# -# particle surveys -#/surveys/surveyParticles 1 -#/surveys/surveyPrimaries 1 -#/surveys/surveyTestMasses 1 -# -/gps/particle proton -/gps/energy 1 GeV -# -# Isotropic distribution -/gps/pos/type Surface -/gps/pos/shape Sphere -/gps/pos/radius 1499. mm -/gps/pos/centre 0. 0. 0. mm -/gps/ang/type cos -# -/run/beamOn 10 diff --git a/examples/advanced/cosmicray_charging/shoot.out b/examples/advanced/cosmicray_charging/shoot.out deleted file mode 100644 index 1215d80d15..0000000000 --- a/examples/advanced/cosmicray_charging/shoot.out +++ /dev/null @@ -1,528 +0,0 @@ - -************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully registered the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - G4HepRep (HepRepXML) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - OpenGLImmediateX (OGLIX) - OpenGLStoredX (OGLSX) - -Registering model factories... - -You have successfully registered the following model factories. -Registered model factories: - generic - drawByCharge - drawByParticleID - drawByOriginVolume - drawByAttribute - -Registered filter factories: - chargeFilter - particleFilter - originVolumeFilter - attributeFilter - -Electromagnetic Physics -Hadronic Physics -ElectroNuclear Physics -WARNING: G4VisManager::IsValidView(): Attempt to draw when no graphics system - has been instantiated. Use "/vis/open" or "/vis/sceneHandler/create". - Alternatively, to avoid this message, suppress instantiation of vis - manager (G4VisExecutive), possibly by setting G4VIS_NONE, and ensure - drawing code is executed only if G4VVisManager::GetConcreteInstance() - is non-zero. -G4VisManager::Enable: WARNING: visualization remains disabled for - above reasons. Rectifying with valid vis commands will - automatically enable. -/run/verbose 1 -/event/verbose 0 -/control/suppressAbortion 1 -/random/resetEngineFrom seeds.rndm -RandomNumberEngineStatus restored from file: ./seeds.rndm - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1632641235, 2127009234 ----------------------------------------- -/gps/particle proton -/gps/energy 1 GeV -/gps/pos/type Surface -/gps/pos/shape Sphere -/gps/pos/radius 1499. mm -/gps/pos/centre 0. 0. 0. mm -/gps/ang/type cos -/run/beamOn 10 - -msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete - -LowEnergyIoni: Total cross sections from EEDL database. - Gamma energy sampled from a parametrised formula. - Implementation of the continuous dE/dx part. - At present it can be used for electrons in the energy range [250eV,100GeV]. - The process must work with G4LowEnergyBremsstrahlung. - -LowEnBrem: Total cross sections from EEDL database. - Gamma energy sampled from a parameterised formula. - Implementation of the continuous dE/dx part. - At present it can be used for electrons in the energy range [250eV,100GeV]. - The process must work with G4LowEnergyIonisation. - -eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV - -eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - LPM flag: 1 for E > 1 GeV - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV - -annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV - -msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV - -hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV - -msc: for GenericIon SubType= 10 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, skin= 3, geomFactor= 2.5 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV - -ionIoni: for GenericIon SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.15 - Stopping Power data for 16 ion/material pairs, nuclearStopping: 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV - -hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV - -hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV - -hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV - -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV - -muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 200 keV - BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV - -muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV - -muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV - -muNuclear: cross sections from R. Kokoulin - Good description up to 1000 PeV. - PhysicsTables from 1 GeV to 1000 PeV in 100 bins. - - -muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 200 keV - BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV - -muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV - -muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV - -hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV - -msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV - -hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 - NuclearStopping= 0 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV -============================================================================================ - HADRONIC PROCESSES SUMMARY (verbose level 1) - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 -AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 10000 - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 10000 - - Hadronic Processes for - ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 10000 - - Hadronic Processes for - PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 - TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - KaonPlusInelastic Models: G4LEKaonPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - TheoFSGenerator: Emin(GeV)= 6 Emax(GeV)= 100000 - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - KaonMinusInelastic Models: G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - TheoFSGenerator: Emin(GeV)= 6 Emax(GeV)= 100000 - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 10000 - - Hadronic Processes for - muMinusCaptureAtRest - muNuclear - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - NeutronInelastic Models: PrecompoundModel: Emin(GeV)= 0 Emax(GeV)= 0.07 - Binary Cascade: Emin(GeV)= 0.065 Emax(GeV)= 6.1 - TheoFSGenerator: Emin(GeV)= 6 Emax(GeV)= 100000 - nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - PionPlusInelastic Models: Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 1.5 - G4LEPionPlusInelastic: Emin(GeV)= 1.4 Emax(GeV)= 6.1 - TheoFSGenerator: Emin(GeV)= 6 Emax(GeV)= 100000 - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - PionMinusInelastic Models: Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 1.5 - G4LEPionMinusInelastic: Emin(GeV)= 1.4 Emax(GeV)= 6.1 - TheoFSGenerator: Emin(GeV)= 6 Emax(GeV)= 100000 - - Hadronic Processes for - HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 - ProtonInelastic Models: PrecompoundModel: Emin(GeV)= 0 Emax(GeV)= 0.07 - Binary Cascade: Emin(GeV)= 0.065 Emax(GeV)= 6.1 - TheoFSGenerator: Emin(GeV)= 6 Emax(GeV)= 100000 -============================================================================================ - -========= Table of registered couples ============================== - -Index : 0 used in the geometry : Yes recalculation needed : No - Material : vacuum - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : Al6061 - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 9.61286 keV e- 1.02044 MeV e+ 981.911 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 2 used in the geometry : Yes recalculation needed : No - Material : AlHoneycomb - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 1.47519 keV e- 73.0604 keV e+ 71.6677 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 3 used in the geometry : Yes recalculation needed : No - Material : CFRP - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 3.81634 keV e- 764.561 keV e+ 735.691 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 4 used in the geometry : Yes recalculation needed : No - Material : MLImat - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 3.95385 keV e- 694.417 keV e+ 668.195 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : foam - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 250 eV e- 85.2216 keV e+ 84.4054 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 6 used in the geometry : Yes recalculation needed : No - Material : Scell - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 17.0843 keV e- 2.72314 MeV e+ 2.57036 MeV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 7 used in the geometry : Yes recalculation needed : No - Material : TiAlloy - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 18.105 keV e- 1.44292 MeV e+ 1.36196 MeV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 8 used in the geometry : Yes recalculation needed : No - Material : ULEglass - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 7.83917 keV e- 909.156 keV e+ 874.826 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 9 used in the geometry : Yes recalculation needed : No - Material : SiC - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 9.50746 keV e- 1.20181 MeV e+ 1.14535 MeV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 10 used in the geometry : Yes recalculation needed : No - Material : molybdenum - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 64.242 keV e- 2.83 MeV e+ 2.62031 MeV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 11 used in the geometry : Yes recalculation needed : No - Material : molybdenum - Range cuts : gamma 50 nm e- 50 nm e+ 50 nm - Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV - Region(s) which use this couple : - sensor - -Index : 12 used in the geometry : Yes recalculation needed : No - Material : gold - Range cuts : gamma 50 nm e- 50 nm e+ 50 nm - Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV - Region(s) which use this couple : - sensor - -Index : 13 used in the geometry : Yes recalculation needed : No - Material : vacuum - Range cuts : gamma 50 nm e- 50 nm e+ 50 nm - Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV - Region(s) which use this couple : - sensor - -Index : 14 used in the geometry : Yes recalculation needed : No - Material : AuPt - Range cuts : gamma 50 nm e- 50 nm e+ 50 nm - Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV - Region(s) which use this couple : - sensor - -Index : 15 used in the geometry : Yes recalculation needed : No - Material : SHAPAL-M - Range cuts : gamma 50 nm e- 50 nm e+ 50 nm - Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV - Region(s) which use this couple : - sensor - -==================================================================== - -### Run 0 start. -Start Run processing. - ----> Begin of event: 0 -Run terminated. -Run Summary - Number of events processed : 10 - User=0s Real=0.01s Sys=0s -Graphics systems deleted. -Visualization Manager deleting... -G4 kernel has come to Quit state. diff --git a/examples/advanced/cosmicray_charging/src/LISAAnalysisManager.cc b/examples/advanced/cosmicray_charging/src/LISAAnalysisManager.cc deleted file mode 100644 index 220bda14a0..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAAnalysisManager.cc +++ /dev/null @@ -1,176 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISAAnalysisManager class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#ifdef G4ANALYSIS_USE - -#include "LISAAnalysisManager.hh" -#include "globals.hh" - -LISAAnalysisManager* LISAAnalysisManager::instance = 0; - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -LISAAnalysisManager::LISAAnalysisManager() : - af(0), - tf(0), - run_tree(0), - run_tpf(0), - run_tuple(0) -{;} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -LISAAnalysisManager::~LISAAnalysisManager() { - - if(af) { - delete tf; - G4cout << " LISAAnalysis -- deleted tree factory" << G4endl; - delete af; - G4cout << " LISAAnalysis -- deleted analysis factory" << G4endl; - } - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISAAnalysisManager* LISAAnalysisManager::getInstance() { - - if (!instance) instance = new LISAAnalysisManager(); - return instance; - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISAAnalysisManager::Dispose() { - - if(instance) { - delete instance; - instance = 0; - } -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISAAnalysisManager::Init() { - - G4cout << G4endl << "******* Analysis with AIDA 3.0 *********" << G4endl; - - // create analysis factory - if( (af = AIDA_createAnalysisFactory()) ) - G4cout << " LISAAnalysis -- created analysis factory" << G4endl; - - // create tree factory - if( (tf = af->createTreeFactory()) ) - G4cout << " LISAAnalysis -- created tree factory" << G4endl; - -} - - - - -// -// RUN ANALYSIS ************************************************************** -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISAAnalysisManager::bookRun(G4String hbookfile) { - - - // create RunTree - G4bool fileExists = false; - G4bool readOnly = false; - run_tree = tf->create(hbookfile, "hbook", readOnly, fileExists); - G4cout << " LISAAnalysis -- tree store: " << run_tree->storeName()<createTupleFactory(*run_tree ); - G4cout << " LISAAnalysis -- created NTuple factory" << G4endl; - - // Run Information - run_tuple = run_tpf->create( "1", "Run Tuple", - "float evt,tm,energy,charge,in,out,seed1,seed2"); - assert(run_tuple); - G4cout << " LISAAnalysis -- created Run NTuple" << G4endl; - - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISAAnalysisManager::FinishRun() { - - // Committing transaction with the tree - G4cout << " LISAAnalysis -- committing run_tree..." << G4endl; - run_tree->commit(); - run_tree->close(); - - delete run_tpf; - delete run_tree; -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISAAnalysisManager::analyseRun(G4int evt, G4int tm, G4double energy, - G4int charge, G4int in, G4int out, long seed1, long seed2) { - - AIDA::ITuple* ntuple = dynamic_cast ( run_tree->find("1") ); - - // Fill the ntuple - ntuple->fill( ntuple->findColumn( "evt" ), (float) evt ); - ntuple->fill( ntuple->findColumn( "tm" ), (float) tm ); - ntuple->fill( ntuple->findColumn( "energy" ), (float) energy ); - ntuple->fill( ntuple->findColumn( "charge" ), (float) charge ); - ntuple->fill( ntuple->findColumn( "in" ), (float) in ); - ntuple->fill( ntuple->findColumn( "out" ), (float) out ); - ntuple->fill( ntuple->findColumn( "seed1" ), (float) seed1 ); - ntuple->fill( ntuple->findColumn( "seed2" ), (float) seed2 ); - - // Values of attributes are prepared; store them to the nTuple: - ntuple->addRow(); - -} - - -#endif diff --git a/examples/advanced/cosmicray_charging/src/LISAColours.icc b/examples/advanced/cosmicray_charging/src/LISAColours.icc deleted file mode 100644 index 7c2f29b6ac..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAColours.icc +++ /dev/null @@ -1,107 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 08/12/2005: removed compilation warnings -// -// ******************************************************************** - - -// ************************************************************************** -// Colours and VisAttributes -//*************************************************************************** - - - // edge colour attributes - G4VisAttributes* white_vat; - white_vat = new G4VisAttributes( G4Colour(1.0, 1.0, 1.0)); - G4VisAttributes* grey_vat; - grey_vat = new G4VisAttributes( G4Colour(0.5, 0.5, 0.5)); - G4VisAttributes* black_vat; - black_vat = new G4VisAttributes( G4Colour(0.0, 0.0, 0.0)); - G4VisAttributes* red_vat; - red_vat = new G4VisAttributes( G4Colour(1.0, 0.0, 0.0)); - G4VisAttributes* orange_vat; - orange_vat = new G4VisAttributes( G4Colour(1.0, 0.5, 0.0)); - G4VisAttributes* yellow_vat; - yellow_vat = new G4VisAttributes( G4Colour(1.0, 1.0, 0.0)); - G4VisAttributes* gold_vat; - gold_vat = new G4VisAttributes( G4Colour(.75, .75, 0.0)); - G4VisAttributes* green_vat; - green_vat = new G4VisAttributes( G4Colour(0.0, 1.0, 0.0)); - G4VisAttributes* lgreen_vat; - lgreen_vat = new G4VisAttributes( G4Colour(0.0, .75, 0.0)); - G4VisAttributes* cyan_vat; - cyan_vat = new G4VisAttributes( G4Colour(0.0, 1.0, 1.0)); - G4VisAttributes* lblue_vat; - lblue_vat = new G4VisAttributes( G4Colour(0.0, 0.0, .75)); - G4VisAttributes* blue_vat; - blue_vat = new G4VisAttributes( G4Colour(0.0, 0.0, 1.0)); - G4VisAttributes* magenta_vat; - magenta_vat = new G4VisAttributes(G4Colour(1.0, 0.0, 1.0)); - - // solid colour attributes - G4VisAttributes* sol_white_vat = new G4VisAttributes(G4Colour(1.0,1.0,1.0)); - sol_white_vat->SetForceSolid(true); - G4VisAttributes* sol_grey_vat = new G4VisAttributes(G4Colour(0.5,0.5,0.5)); - sol_grey_vat->SetForceSolid(true); - G4VisAttributes* sol_dgrey_vat = new G4VisAttributes(G4Colour(.25,.25,.25)); - sol_dgrey_vat->SetForceSolid(true); - G4VisAttributes* sol_black_vat = new G4VisAttributes(G4Colour(0.0,0.0,0.0)); - sol_black_vat->SetForceSolid(true); - G4VisAttributes* sol_red_vat = new G4VisAttributes(G4Colour(1.0,0.0,0.0)); - sol_red_vat->SetForceSolid(true); - G4VisAttributes* sol_green_vat = new G4VisAttributes(G4Colour(0.0,1.0,0.0)); - sol_green_vat->SetForceSolid(true); - G4VisAttributes* sol_lgreen_vat = new G4VisAttributes(G4Colour(0.0,.75,0.0)); - sol_lgreen_vat->SetForceSolid(true); - G4VisAttributes* sol_lblue_vat = new G4VisAttributes(G4Colour(0.0,0.0,.75)); - sol_lblue_vat->SetForceSolid(true); - G4VisAttributes* sol_cyan_vat = new G4VisAttributes(G4Colour(0.0,1.0,1.0)); - sol_cyan_vat->SetForceSolid(true); - G4VisAttributes* sol_blue_vat = new G4VisAttributes(G4Colour(0.0,0.0,1.0)); - sol_blue_vat->SetForceSolid(true); - G4VisAttributes* sol_gold_vat = new G4VisAttributes(G4Colour(.75,.75,0.0)); - sol_gold_vat->SetForceSolid(true); - G4VisAttributes* sol_yellow_vat = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - sol_yellow_vat->SetForceSolid(true); - G4VisAttributes* sol_orange_vat = new G4VisAttributes(G4Colour(1.0,0.5,0.0)); - sol_orange_vat->SetForceSolid(true); - - -//***************************************************************************** diff --git a/examples/advanced/cosmicray_charging/src/LISADetectorConstruction.cc b/examples/advanced/cosmicray_charging/src/LISADetectorConstruction.cc deleted file mode 100644 index 2a3c503cf2..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISADetectorConstruction.cc +++ /dev/null @@ -1,232 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 24/11/2004: migrated to cmath -// -// ******************************************************************** - - -#include "LISADetectorConstruction.hh" -#include "LISADetectorMaterials.hh" - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISADetectorConstruction::LISADetectorConstruction() {;} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISADetectorConstruction::~LISADetectorConstruction() {;} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4VPhysicalVolume* LISADetectorConstruction::Construct() { - - - // material definitions - ConstructMaterials(); - - - // build it - return ConstructDetector(); - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4VPhysicalVolume* LISADetectorConstruction::ConstructDetector() { - - - // Edge and solid colour attributes -#include "LISAColours.icc" - - - - //*************************************************************************** - // world - //*************************************************************************** - - G4double wld_len = 3000.*mm; - - G4Tubs* truewld_sol = - new G4Tubs("truewld_box", 0., 0.5*wld_len, 0.5*wld_len, 0., 360.*deg); - G4LogicalVolume* truewld_log = - new G4LogicalVolume(truewld_sol, vacuum, "truewld_log"); - G4VPhysicalVolume* truewld_phys = new G4PVPlacement(0, G4ThreeVector(), - "truewld_phys", truewld_log, NULL, false, 0); - truewld_log->SetVisAttributes(G4VisAttributes::Invisible); - - // allow spacecraft rotation - G4RotationMatrix wld_rot; wld_rot.rotateZ(0.*deg); - G4Tubs* wld_sol = - new G4Tubs("wld_box", 0., 0.49*wld_len, 0.5*wld_len, 0., 360.*deg); - G4LogicalVolume* wld_log = - new G4LogicalVolume(wld_sol, vacuum, "wld_log"); - G4VPhysicalVolume* wld_phys = new G4PVPlacement(G4Transform3D(wld_rot, - G4ThreeVector()), "wld_phys", wld_log, truewld_phys, false, 0); - // wld_log->SetVisAttributes(white_vat); - wld_log->SetVisAttributes(G4VisAttributes::Invisible); - - - // Probe volume - // uncomment code in LISASteppingAction.cc to count hits - // G4Sphere* probe_sol = - // new G4Sphere("probe_sol", 0., 100.*mm, 0., 360.*deg, 0., 180.*deg); - // G4LogicalVolume* probe_log = - // new G4LogicalVolume(probe_sol, vacuum, "probe_log"); - // G4VPhysicalVolume* probe_phys = - // new G4PVPlacement(0, G4ThreeVector(0*mm,0*mm,0*mm), - // "probe_phys", probe_log, wld_phys, false, 0); - // probe_log->SetVisAttributes(sol_white_vat); - - - - //************************************************************************** - // Science Module Structure (SMS) - //************************************************************************** - // Primary Structure - // Lower Deck - // Upper Deck - // Thermal Shield - // Solar Array - // Optical Surface Reflectors (OSR) - // Radiator Panels - //************************************************************************** - - // position of science module spacecraft in world volume - G4ThreeVector spacecraft_pos(0.*mm,0.*mm,0.*mm); - -#include "LISAScienceModuleStructures.icc" - - - - //*************************************************************************** - // Interferometer Assembly - //*************************************************************************** - // Payload Shield (Y Tube) - // Telescope Light Shields - // Telescope Electronics Mounting - // Telescope Mirrors Mounting - // Telescope Actuator Mechanism - // Optical Bench Mounting - // Optical Bench - //*************************************************************************** - - - // position of payload shields in spacecraft - G4double YTube_xoff = -800.*mm; - - // position of interferometer in Y-tubes - G4RotationMatrix tel_rot1; tel_rot1.rotateY(210.*deg); - G4ThreeVector tel_pos1(+319.*mm, 0.*mm, 920.*mm); - G4RotationMatrix tel_rot2; tel_rot2.rotateY(150.*deg); - G4ThreeVector tel_pos2(-319.*mm, 0.*mm, 920.*mm); - - // position of optical bench along Y-tube - G4double OpticalBench_off = 0.0*mm; - -#include "LISAInterferometerAssembly.icc" - - - - //*************************************************************************** - // Sensor Vacuum Housing - // Modified to contain LTP Inertial Sensor and Caging Mechanism - //*************************************************************************** - - G4RotationMatrix IS_rot; IS_rot.rotateX(90.*deg); IS_rot.rotateY(90.*deg); - -#include "LISASensorHousing.icc" - - - - //*************************************************************************** - // LTP Caging Mechanism - //*************************************************************************** - - //#include "LISACagingMechanism.icc" - - - - - //*************************************************************************** - // Inertial Sensors: YZ-Injection, 46 mm Test Mass - // Design adopted for LTP/SMART-2: Report LTP-RT-CGS-001, issue 2 - //*************************************************************************** - -#include "LISAInertialSensor.icc" - - // Sensor Region (cuts 250 eV) - G4Region* ISensor = new G4Region(G4String("sensor")); - cage_o_log->SetRegion(ISensor); - ISensor->AddRootLogicalVolume(cage_o_log); - - - - - //*************************************************************************** - // Electronics Boxes - //*************************************************************************** - -#include "LISAElectronicsBoxes.icc" - - - - - //*************************************************************************** - // Support Systems - //*************************************************************************** - // Star Trackers - // FEEP Thrusters - // Communications Antennas - //*************************************************************************** - -#include "LISASupportSystems.icc" - - - - // ...................................................................... - // attach user limits ................................................... - - // reduce step size in electrodes - // goldplating_log->SetUserLimits (new G4UserLimits(30.*nanometer)); - - // return - return truewld_phys; - -} diff --git a/examples/advanced/cosmicray_charging/src/LISAElectronicsBoxes.icc b/examples/advanced/cosmicray_charging/src/LISAElectronicsBoxes.icc deleted file mode 100644 index 61b74d0b90..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAElectronicsBoxes.icc +++ /dev/null @@ -1,576 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 24/11/2004: migrated to cmath -// 24/11/2004: inner boxes made invisible -// 08/12/2005: removed compilation warnings -// -// ******************************************************************** - - -//*************************************************************************** -// Electronics Boxes -//*************************************************************************** - - - // Lower Deck electronics - G4double EB_zoff = -230.*mm; - G4ThreeVector EPC1_pos(-680*mm, +580*mm, EB_zoff+0.5*110.*mm); - G4ThreeVector EPC2_pos(-680*mm, -580*mm, EB_zoff+0.5*110.*mm); - G4ThreeVector GyroPack_pos(+150*mm, +980*mm, EB_zoff+0.5* 85.*mm); - G4ThreeVector InstConE1_pos(+720*mm, -190*mm, EB_zoff+0.5*180.*mm); - G4ThreeVector InstConE2_pos(+720*mm, +190*mm, EB_zoff+0.5*180.*mm); - G4ThreeVector RFDU_pos( +30*mm,-1000*mm, EB_zoff+0.5* 80.*mm); - G4ThreeVector StarTrack3_pos(+450*mm, -850*mm, EB_zoff+0.5* 54.*mm); - G4ThreeVector StarTrack4_pos(+450*mm, +850*mm, EB_zoff+0.5* 54.*mm); - G4ThreeVector STElec1_pos( +30*mm, -720*mm, EB_zoff+0.5*100.*mm); - G4ThreeVector STElec2_pos(-280*mm, -900*mm, EB_zoff+0.5*100.*mm); - G4ThreeVector STElec3_pos(-280*mm, +900*mm, EB_zoff+0.5*100.*mm); - G4ThreeVector STElec4_pos( +30*mm, +720*mm, EB_zoff+0.5*100.*mm); - G4ThreeVector TWT1_pos(-730*mm, +350*mm, EB_zoff+0.5* 36.*mm); - G4ThreeVector TWT2_pos(-730*mm, -350*mm, EB_zoff+0.5* 36.*mm); - G4ThreeVector UVBox1_pos(+180*mm, 0, EB_zoff+0.5* 70.*mm); - G4ThreeVector UVBox2_pos(+480*mm, 0, EB_zoff+0.5* 70.*mm); - - // Upper Deck electronics - EB_zoff = 220.*mm; - G4ThreeVector PCDU_pos(-770*mm, +600*mm, EB_zoff-0.5*300.*mm); - G4ThreeVector CentELCPS_pos(-780*mm, -570*mm, EB_zoff-0.5*115.*mm); - G4ThreeVector CentEL2_pos(-250*mm,-1000*mm, EB_zoff-0.5*284.*mm); - G4ThreeVector FEEPEL1_pos(-250*mm,+1000*mm, EB_zoff-0.5*200.*mm); - G4ThreeVector FEEPEL2_pos(+270*mm,+1020*mm, EB_zoff-0.5*200.*mm); - G4ThreeVector HGADrive1_pos( 20*mm,-1210*mm, EB_zoff-0.5*100.*mm); - G4ThreeVector HGADrive2_pos( 20*mm,+1210*mm, EB_zoff-0.5*100.*mm); - G4ThreeVector InterfelEL1_pos(1030*mm, -180*mm, EB_zoff-0.5*150.*mm); - G4ThreeVector InterfelEL2_pos(1030*mm, +180*mm, EB_zoff-0.5*150.*mm); - G4ThreeVector LaserEL1_pos(+720*mm, -220*mm, EB_zoff-0.5*100.*mm); - G4ThreeVector LaserEL2_pos(+720*mm, +220*mm, EB_zoff-0.5*100.*mm); - G4ThreeVector LaserHead1_pos(1100*mm, -400*mm, EB_zoff-0.5* 5.*mm); - G4ThreeVector LaserHead2_pos(1010*mm, -480*mm, EB_zoff-0.5* 50.*mm); - G4ThreeVector LaserHead3_pos(1100*mm, +400*mm, EB_zoff-0.5* 50.*mm); - G4ThreeVector LaserHead4_pos(1010*mm, +480*mm, EB_zoff-0.5* 50.*mm); - G4ThreeVector StarTrack1_pos(+650*mm,+1050*mm, EB_zoff-0.5* 54.*mm); - G4ThreeVector StarTrack2_pos(+650*mm,-1050*mm, EB_zoff-0.5* 54.*mm); - G4ThreeVector Transpond2_pos(+270*mm,-1050*mm, EB_zoff-0.5*178.*mm); - - - // rotations - G4RotationMatrix EB_rot1; EB_rot1.rotateZ(+30.*deg); - G4RotationMatrix EB_rot2; EB_rot2.rotateZ(-30.*deg); - G4RotationMatrix EB_rot3; EB_rot3.rotateZ(+60.*deg); - G4RotationMatrix EB_rot4; EB_rot4.rotateZ(-60.*deg); - - - G4double f; - // Each box is made from solid Al6061 from which a volume - // f times smaller is removed to match assigned mass; - - - // Lower Deck electronics - G4Box* EPC_box_o; - EPC_box_o = new G4Box("EPC_box_o", - 0.5*227.*mm, 0.5*63.*mm, 0.5*110.*mm); - G4LogicalVolume* EPC_log_o; - EPC_log_o = new G4LogicalVolume(EPC_box_o, Al6061, "EPC_log_o"); - G4VPhysicalVolume* EPC_phys_o; - EPC_phys_o = new G4PVPlacement(0, spacecraft_pos + EPC1_pos, - "EPC_phys_o", EPC_log_o, wld_phys, false, 0); - EPC_phys_o = new G4PVPlacement(0, spacecraft_pos + EPC2_pos, - "EPC_phys_o", EPC_log_o, wld_phys, false, 1); - f = std::pow(1.-1.4/(2.70*227*63*110)*1E6, 1./3.); - // G4cout << "f: " << f << G4endl; - G4Box* EPC_box_i; - EPC_box_i = new G4Box("EPC_box_i", - f*0.5*227.*mm, f*0.5*63.*mm, f*0.5*110.*mm); - G4LogicalVolume* EPC_log_i; - EPC_log_i = new G4LogicalVolume(EPC_box_i, vacuum, "EPC_log_i"); - G4VPhysicalVolume* EPC_phys_i; - EPC_phys_i = new G4PVPlacement - (0, 0, "EPC_phys_i", EPC_log_i, EPC_phys_o, false, 0); - // - // - G4Tubs* GyroPack_tub_o; - GyroPack_tub_o = new G4Tubs("GyroPack_tub_o", - 0., 0.5*89.*mm, 0.5*85.*mm, 0., 360.*deg); - G4LogicalVolume* GyroPack_log_o; - GyroPack_log_o = new G4LogicalVolume - (GyroPack_tub_o, Al6061, "GyroPack_log_o"); - G4VPhysicalVolume* GyroPack_phys_o; - GyroPack_phys_o = new G4PVPlacement(0, spacecraft_pos - + GyroPack_pos, "GyroPack_phys_o", GyroPack_log_o, wld_phys, false, 0); - f = std::pow(1.-1.00/(2.70*pi*(0.5*89.)*(0.5*89.)*85.)*1E6, 1./3.); - // G4cout << "f: " << f << G4endl; - G4Tubs* GyroPack_tub_i; - GyroPack_tub_i = new G4Tubs("GyroPack_tub_i", - 0., f*0.5*89.*mm, f*0.5*85.*mm, 0., 360.*deg); - G4LogicalVolume* GyroPack_log_i; - GyroPack_log_i = new G4LogicalVolume - (GyroPack_tub_i, vacuum, "GyroPack_log_i"); - G4VPhysicalVolume* GyroPack_phys_i; - GyroPack_phys_i = new G4PVPlacement(0, 0, - "GyroPack_phys_i", GyroPack_log_i, GyroPack_phys_o, false, 0); - // - // - G4Box* InstConE_box_o; - InstConE_box_o = new G4Box("InstConE_box_o", - 0.5*250.*mm, 0.5*180.*mm, 0.5*180.*mm); - G4LogicalVolume* InstConE_log_o; - InstConE_log_o = new G4LogicalVolume - (InstConE_box_o, Al6061, "InstConE_log_o"); - G4VPhysicalVolume* InstConE_phys_o; - InstConE_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot1, spacecraft_pos + InstConE1_pos), - "InstConE_phys_o", InstConE_log_o, wld_phys, false, 0); - InstConE_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot2, spacecraft_pos + InstConE2_pos), - "InstConE_phys_o", InstConE_log_o, wld_phys, false, 1); - f = std::pow(1.-4.5/(2.70*250*180*180)*1E6, 1./3.); - G4Box* InstConE_box_i; - InstConE_box_i = new G4Box("InstConE_box_i", - f*0.5*250.*mm, f*0.5*180.*mm, f*0.5*180.*mm); - G4LogicalVolume* InstConE_log_i; - InstConE_log_i = new G4LogicalVolume - (InstConE_box_i, vacuum, "InstConE_log_i"); - G4VPhysicalVolume* InstConE_phys_i; - InstConE_phys_i = new G4PVPlacement - (0, 0, "InstConE_phys_i", InstConE_log_i, InstConE_phys_o, false, 0); - // - // - G4Box* RFDU_box_o; - RFDU_box_o = new G4Box("RFDU_box_o", - 0.5*160.*mm, 0.5*60.*mm, 0.5*80.*mm); - G4LogicalVolume* RFDU_log_o; - RFDU_log_o = new G4LogicalVolume - (RFDU_box_o, Al6061, "RFDU_log_o"); - G4VPhysicalVolume* RFDU_phys_o; - RFDU_phys_o = new G4PVPlacement(0, spacecraft_pos - + RFDU_pos, "RFDU_phys_o", RFDU_log_o, wld_phys, false, 0); - f = std::pow(1.-1.0/(2.70*160*60*80)*1E6, 1./3.); - G4Box* RFDU_box_i; - RFDU_box_i = new G4Box("RFDU_box_i", - f*0.5*160.*mm, f*0.5*60.*mm, f*0.5*80.*mm); - G4LogicalVolume* RFDU_log_i; - RFDU_log_i = new G4LogicalVolume(RFDU_box_i, vacuum, "RFDU_log_i"); - G4VPhysicalVolume* RFDU_phys_i; - RFDU_phys_i = new G4PVPlacement - (0, 0, "RFDU_phys_i", RFDU_log_i, RFDU_phys_o, false, 0); - // - // - G4Box* StarTrack_L_box_o; - StarTrack_L_box_o = new G4Box("StarStrack_box_o", - 0.5*50.*mm, 0.5*50.*mm, 0.5*54.*mm); - G4LogicalVolume* StarTrack_L_log_o; - StarTrack_L_log_o = new G4LogicalVolume - (StarTrack_L_box_o, Al6061, "StarTrack_log_o"); - G4VPhysicalVolume* StarTrack_L_phys_o; - StarTrack_L_phys_o = new G4PVPlacement(0, spacecraft_pos + StarTrack3_pos, - "STarTrack3_phys_o", StarTrack_L_log_o, wld_phys, false, 0); - StarTrack_L_phys_o = new G4PVPlacement(0, spacecraft_pos + StarTrack4_pos, - "STarTrack4_phys_o", StarTrack_L_log_o, wld_phys, false, 1); - f = std::pow(1.-0.30/(2.70*50*50*54)*1E6, 1./3.); - G4Box* StarTrack_L_box_i; - StarTrack_L_box_i = new G4Box("StarTrack_L_box_i", - f*0.5*50.*mm, f*0.5*50.*mm, f*0.5*54.*mm); - G4LogicalVolume* StarTrack_L_log_i; - StarTrack_L_log_i = new G4LogicalVolume - (StarTrack_L_box_i, vacuum, "StarTrack_L_log_i"); - G4VPhysicalVolume* StarTrack_L_phys_i; - StarTrack_L_phys_i = new G4PVPlacement - (0,0,"StarTrack_L_phys_i",StarTrack_L_log_i,StarTrack_L_phys_o,false,0); - // - // - G4Box* STElec_box_o; - STElec_box_o = new G4Box("STElec_box_o", - 0.5*100.*mm, 0.5*100.*mm, 0.5*100.*mm); - G4LogicalVolume* STElec_log_o; - STElec_log_o = new G4LogicalVolume - (STElec_box_o, Al6061, "STElec_log_o"); - G4VPhysicalVolume* STElec_phys_o; - STElec_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot1, spacecraft_pos + STElec1_pos), - "STElec_phys_o", STElec_log_o, wld_phys, false, 0); - STElec_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot1, spacecraft_pos + STElec2_pos), - "STElec_phys_o", STElec_log_o, wld_phys, false, 1); - STElec_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot2, spacecraft_pos + STElec3_pos), - "STElec_phys_o", STElec_log_o, wld_phys, false, 2); - STElec_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot2, spacecraft_pos + STElec4_pos), - "STElec_phys_o", STElec_log_o, wld_phys, false, 3); - f = std::pow(1.-2.0/(2.70*100*100*100)*1E6, 1./3.); - G4Box* STElec_box_i; - STElec_box_i = new G4Box("STElec_box_i", - f*0.5*100.*mm, f*0.5*100.*mm, f*0.5*100.*mm); - G4LogicalVolume* STElec_log_i; - STElec_log_i = new G4LogicalVolume(STElec_box_i, vacuum, "STElec_log_i"); - G4VPhysicalVolume* STElec_phys_i; - STElec_phys_i = new G4PVPlacement - (0, 0, "STElec_phys_i", STElec_log_i, STElec_phys_o, false, 0); - // - // - G4Box* TWT_box_o; - TWT_box_o = new G4Box("TWT_box_o", - 0.5*321.*mm, 0.5*58.*mm, 0.5*36.*mm); - G4LogicalVolume* TWT_log_o; - TWT_log_o = new G4LogicalVolume - (TWT_box_o, Al6061, "TWT_log_o"); - G4VPhysicalVolume* TWT_phys_o; - TWT_phys_o = new G4PVPlacement(0, spacecraft_pos + TWT1_pos, - "TWT_phys_o", TWT_log_o, wld_phys, false, 0); - TWT_phys_o = new G4PVPlacement(0, spacecraft_pos + TWT2_pos, - "TWT_phys_o", TWT_log_o, wld_phys, false, 1); - f = std::pow(1.-0.75/(2.70*321*58*36)*1E6, 1./3.); - G4Box* TWT_box_i = new G4Box("TWT_box_i", - f*0.5*321.*mm, f*0.5*58.*mm, f*0.5*36.*mm); - G4LogicalVolume* TWT_log_i; - TWT_log_i = new G4LogicalVolume - (TWT_box_i, vacuum, "TWT_log_i"); - G4VPhysicalVolume* TWT_phys_i; - TWT_phys_i = new G4PVPlacement - (0, 0, "TWT_phys_i", TWT_log_i, TWT_phys_o, false, 0); - // - // - G4Box* UVBox_box_o; - UVBox_box_o = new G4Box("UVBox_box_o", - 0.5*150.*mm, 0.5*100.*mm, 0.5*70.*mm); - G4LogicalVolume* UVBox_log_o; - UVBox_log_o = new G4LogicalVolume - (UVBox_box_o, Al6061, "UVBox_log_o"); - G4VPhysicalVolume* UVBox_phys_o; - UVBox_phys_o = new G4PVPlacement(0, spacecraft_pos + UVBox1_pos, - "UVBox_phys_o", UVBox_log_o, wld_phys, false, 0); - UVBox_phys_o = new G4PVPlacement(0, spacecraft_pos + UVBox2_pos, - "UVBox_phys_o", UVBox_log_o, wld_phys, false, 1); - f = std::pow(1.-0.50/(2.70*150*100*70)*1E6, 1./3.); - G4Box* UVBox_box_i; - UVBox_box_i = new G4Box("UVBox_box_i", - f*0.5*150.*mm, f*0.5*100.*mm, f*0.5*70.*mm); - G4LogicalVolume* UVBox_log_i; - UVBox_log_i = new G4LogicalVolume - (UVBox_box_i, vacuum, "UVBox_log_i"); - G4VPhysicalVolume* UVBox_phys_i; - UVBox_phys_i = new G4PVPlacement - (0, 0, "UVBox_phys_i", UVBox_log_i, UVBox_phys_o, false, 0); - - - - // Upper Deck electronics - - G4Box* PCDU_box_o; - PCDU_box_o = new G4Box("PCDU_box_o", - 0.5*200.*mm, 0.5*350.*mm, 0.5*300.*mm); - G4LogicalVolume* PCDU_log_o; - PCDU_log_o = new G4LogicalVolume - (PCDU_box_o, Al6061, "PCDU_log_o"); - G4VPhysicalVolume* PCDU_phys_o; - PCDU_phys_o = new G4PVPlacement(0, spacecraft_pos - + PCDU_pos, "PCDU_phys_o", PCDU_log_o, wld_phys, false, 0); - f = std::pow(1.-15.90/(2.70*200*350*300)*1E6, 1./3.); - G4Box* PCDU_box_i; - PCDU_box_i = new G4Box("PCDU_box_i", - f*0.5*200.*mm, f*0.5*350.*mm, f*0.5*300.*mm); - G4LogicalVolume* PCDU_log_i; - PCDU_log_i = new G4LogicalVolume - (PCDU_box_i, vacuum, "PCDU_log_i"); - G4VPhysicalVolume* PCDU_phys_i; - PCDU_phys_i = new G4PVPlacement - (0, 0, "PCDU_phys_i", PCDU_log_i, PCDU_phys_o, false, 0); - // - // - G4Box* CentELCPS_box_o; - CentELCPS_box_o = new G4Box("CentELCPS_box_o", - 0.5*240.*mm, 0.5*356.*mm, 0.5*140.*mm); - G4LogicalVolume* CentELCPS_log_o; - CentELCPS_log_o = new G4LogicalVolume - (CentELCPS_box_o, Al6061, "CentELCPS_log_o"); - G4VPhysicalVolume* CentELCPS_phys_o; - CentELCPS_phys_o = new G4PVPlacement(0, spacecraft_pos - + CentELCPS_pos, "CentELCPS_phys_o", CentELCPS_log_o, wld_phys, false, 0); - f = std::pow(1.-15.90/(2.70*240*356*140)*1E6, 1./3.); - G4Box* CentELCPS_box_i; - CentELCPS_box_i = new G4Box("CentELCPS_box_i", - f*0.5*240.*mm, f*0.5*356.*mm, f*0.5*140.*mm); - G4LogicalVolume* CentELCPS_log_i; - CentELCPS_log_i = new G4LogicalVolume - (CentELCPS_box_i, vacuum, "CentELCPS_log_i"); - G4VPhysicalVolume* CentELCPS_phys_i; - CentELCPS_phys_i = new G4PVPlacement - (0, 0, "CentELCPS_phys_i", CentELCPS_log_i, CentELCPS_phys_o, false, 0); - // - // - G4Box* CentEL2_box_o; - CentEL2_box_o = new G4Box("CentEL2_box_o", - 0.5*220.*mm, 0.5*184.*mm, 0.5*284.*mm); - G4LogicalVolume* CentEL2_log_o; - CentEL2_log_o = new G4LogicalVolume - (CentEL2_box_o, Al6061, "CentEL2_log_o"); - G4VPhysicalVolume* CentEL2_phys_o; - CentEL2_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot3, spacecraft_pos + CentEL2_pos), - "CentEL2_phys_o", CentEL2_log_o, wld_phys, false, 0); - f = std::pow(1.-15.90/(2.70*220*184*284)*1E6, 1./3.); - G4Box* CentEL2_box_i; - CentEL2_box_i = new G4Box("CentEL2_box_i", - f*0.5*220.*mm, f*0.5*184.*mm, f*0.5*284.*mm); - G4LogicalVolume* CentEL2_log_i; - CentEL2_log_i = new G4LogicalVolume - (CentEL2_box_i, vacuum, "CentEL2_log_i"); - G4VPhysicalVolume* CentEL2_phys_i; - CentEL2_phys_i = new G4PVPlacement - (0, 0, "CentEL2_phys_i", CentEL2_log_i, CentEL2_phys_o, false, 0); - // - // - G4Box* FEEPEL_box_o; - FEEPEL_box_o = new G4Box("FEEPEL_box_o", - 0.5*260.*mm, 0.5*170.*mm, 0.5*200.*mm); - G4LogicalVolume* FEEPEL_log_o; - FEEPEL_log_o = new G4LogicalVolume - (FEEPEL_box_o, Al6061, "FEEPEL_log_o"); - G4VPhysicalVolume* FEEPEL_phys_o; - FEEPEL_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot4, spacecraft_pos + FEEPEL1_pos), - "FEEPEL_phys_o", FEEPEL_log_o, wld_phys, false, 0); - FEEPEL_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot1, spacecraft_pos + FEEPEL2_pos), - "FEEPEL_phys_o", FEEPEL_log_o, wld_phys, false, 1); - f = std::pow(1.-6.50/(2.70*260*170*200)*1E6, 1./3.); - G4Box* FEEPEL_box_i; - FEEPEL_box_i = new G4Box("FEEPEL_box_i", - f*0.5*260.*mm, f*0.5*170.*mm, f*0.5*200.*mm); - G4LogicalVolume* FEEPEL_log_i; - FEEPEL_log_i = new G4LogicalVolume - (FEEPEL_box_i, vacuum, "FEEPEL_log_i"); - G4VPhysicalVolume* FEEPEL_phys_i; - FEEPEL_phys_i = new G4PVPlacement - (0, 0, "FEEPEL_phys_i", FEEPEL_log_i, FEEPEL_phys_o, false, 0); - // - // - G4Box* HGADrive_box_o; - HGADrive_box_o = new G4Box("HGADrive_box_o", - 0.5*100.*mm, 0.5*100.*mm, 0.5*100.*mm); - G4LogicalVolume* HGADrive_log_o; - HGADrive_log_o = new G4LogicalVolume - (HGADrive_box_o, Al6061, "HGADrive_log_o"); - G4VPhysicalVolume* HGADrive_phys_o; - HGADrive_phys_o = new G4PVPlacement(0, spacecraft_pos + HGADrive1_pos, - "HGADrive_phys_o", HGADrive_log_o, wld_phys, false, 0); - HGADrive_phys_o = new G4PVPlacement(0, spacecraft_pos + HGADrive2_pos, - "HGADrive_phys_o", HGADrive_log_o, wld_phys, false, 1); - f = std::pow(1.-1.00/(2.70*100*100*100)*1E6, 1./3.); - G4Box* HGADrive_box_i; - HGADrive_box_i = new G4Box("HGADrive_box_i", - f*0.5*100.*mm, f*0.5*100.*mm, f*0.5*100.*mm); - G4LogicalVolume* HGADrive_log_i; - HGADrive_log_i = new G4LogicalVolume - (HGADrive_box_i, vacuum, "HGADrive_log_i"); - G4VPhysicalVolume* HGADrive_phys_i; - HGADrive_phys_i = new G4PVPlacement - (0, 0, "HGADrive_phys_i", HGADrive_log_i, HGADrive_phys_o, false, 0); - // - // - G4Box* InterfelEL_box_o; - InterfelEL_box_o = new G4Box("InterfelEL_box_o", - 0.5*200.*mm, 0.5*200.*mm, 0.5*150.*mm); - G4LogicalVolume* InterfelEL_log_o; - InterfelEL_log_o = new G4LogicalVolume - (InterfelEL_box_o, Al6061, "InterfelEL_log_o"); - G4VPhysicalVolume* InterfelEL_phys_o; - InterfelEL_phys_o = new G4PVPlacement(0, spacecraft_pos + InterfelEL1_pos, - "InterfelEL_phys_o", InterfelEL_log_o, wld_phys, false, 0); - InterfelEL_phys_o = new G4PVPlacement(0, spacecraft_pos + InterfelEL2_pos, - "InterfelEL_phys_o", InterfelEL_log_o, wld_phys, false, 1); - f = std::pow(1.-3.50/(2.70*200*200*150)*1E6, 1./3.); - G4Box* InterfelEL_box_i; - InterfelEL_box_i = new G4Box("InterfelEL_box_i", - f*0.5*200.*mm, f*0.5*200.*mm, f*0.5*150.*mm); - G4LogicalVolume* InterfelEL_log_i; - InterfelEL_log_i = new G4LogicalVolume - (InterfelEL_box_i, vacuum, "InterfelEL_log_i"); - G4VPhysicalVolume* InterfelEL_phys_i; - InterfelEL_phys_i = new G4PVPlacement(0, 0, - "InterfelEL_phys_i", InterfelEL_log_i, InterfelEL_phys_o, false, 0); - // - // - G4Box* LaserEL_box_o; - LaserEL_box_o = new G4Box("LaserEL_box_o", - 0.5*200.*mm, 0.5*200.*mm, 0.5*100.*mm); - G4LogicalVolume* LaserEL_log_o; - LaserEL_log_o = new G4LogicalVolume - (LaserEL_box_o, Al6061, "LaserEL_log_o"); - G4VPhysicalVolume* LaserEL_phys_o; - LaserEL_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot1, spacecraft_pos + LaserEL1_pos), - "LaserEL_phys_o", LaserEL_log_o, wld_phys, false, 0); - LaserEL_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot2, spacecraft_pos + LaserEL2_pos), - "LaserEL_phys_o", LaserEL_log_o, wld_phys, false, 1); - f = std::pow(1.-3.00/(2.70*200*200*100)*1E6, 1./3.); - G4Box* LaserEL_box_i; - LaserEL_box_i = new G4Box("LaserEL_box_i", - f*0.5*200.*mm, f*0.5*200.*mm, f*0.5*100.*mm); - G4LogicalVolume* LaserEL_log_i; - LaserEL_log_i = new G4LogicalVolume - (LaserEL_box_i, vacuum, "LaserEL_log_i"); - G4VPhysicalVolume* LaserEL_phys_i; - LaserEL_phys_i = new G4PVPlacement - (0, 0, "LaserEL_phys_i", LaserEL_log_i, LaserEL_phys_o, false, 0); - // - // - G4Box* LaserHead_box_o; - LaserHead_box_o = new G4Box("LaserHead_box_o", - 0.5*100.*mm, 0.5*100.*mm, 0.5*50.*mm); - G4LogicalVolume* LaserHead_log_o; - LaserHead_log_o = new G4LogicalVolume - (LaserHead_box_o, Al6061, "LaserHead_log_o"); - G4VPhysicalVolume* LaserHead_phys_o; - LaserHead_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot3, spacecraft_pos + LaserHead1_pos), - "LaserHead_phys_o", LaserHead_log_o, wld_phys, false, 0); - LaserHead_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot3, spacecraft_pos + LaserHead2_pos), - "LaserHead_phys_o", LaserHead_log_o, wld_phys, false, 1); - LaserHead_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot4, spacecraft_pos + LaserHead3_pos), - "LaserHead_phys_o", LaserHead_log_o, wld_phys, false, 2); - LaserHead_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot4, spacecraft_pos + LaserHead4_pos), - "LaserHead_phys_o", LaserHead_log_o, wld_phys, false, 3); - f = std::pow(1.-0.70/(2.70*100*100*50)*1E6, 1./3.); - G4Box* LaserHead_box_i; - LaserHead_box_i = new G4Box("LaserHead_box_i", - f*0.5*100.*mm, f*0.5*100.*mm, f*0.5*50.*mm); - G4LogicalVolume* LaserHead_log_i; - LaserHead_log_i = new G4LogicalVolume - (LaserHead_box_i, vacuum, "LaserHead_log_i"); - G4VPhysicalVolume* LaserHead_phys_i; - LaserHead_phys_i = new G4PVPlacement - (0, 0, "LaserHead_phys_i", LaserHead_log_i, LaserHead_phys_o, false, 0); - // - // - G4Box* StarTrack_U_box_o; - StarTrack_U_box_o = new G4Box("StarStrack_box_o", - 0.5*50.*mm, 0.5*50.*mm, 0.5*54.*mm); - G4LogicalVolume* StarTrack_U_log_o; - StarTrack_U_log_o = new G4LogicalVolume - (StarTrack_U_box_o, Al6061, "StarTrack_log_o"); - G4VPhysicalVolume* StarTrack_U_phys_o; - StarTrack_U_phys_o = new G4PVPlacement(0, spacecraft_pos + StarTrack1_pos, - "STarTrack_phys_o", StarTrack_U_log_o, wld_phys, false, 0); - StarTrack_U_phys_o = new G4PVPlacement(0, spacecraft_pos + StarTrack2_pos, - "STarTrack_phys_o", StarTrack_U_log_o, wld_phys, false, 1); - f = std::pow(1.-0.30/(2.70*50*50*54)*1E6, 1./3.); - G4Box* StarTrack_U_box_i; - StarTrack_U_box_i = new G4Box("StarTrack_U_box_i", - f*0.5*50.*mm, f*0.5*50.*mm, f*0.5*54.*mm); - G4LogicalVolume* StarTrack_U_log_i; - StarTrack_U_log_i = new G4LogicalVolume - (StarTrack_U_box_i, vacuum, "StarTrack_U_log_i"); - G4VPhysicalVolume* StarTrack_U_phys_i; - StarTrack_U_phys_i = new G4PVPlacement(0, 0, - "StarTrack_U_phys_i", StarTrack_U_log_i, StarTrack_U_phys_o, false, 0); - // - // - G4Box* Transpond2_box_o; - Transpond2_box_o = new G4Box("Transpond2_box_o", - 0.5*220.*mm, 0.5*184.*mm, 0.5*178.*mm); - G4LogicalVolume* Transpond2_log_o; - Transpond2_log_o = new G4LogicalVolume - (Transpond2_box_o, Al6061, "Transpond2_log_o"); - G4VPhysicalVolume* Transpond2_phys_o; - Transpond2_phys_o = new G4PVPlacement(G4Transform3D - (EB_rot2, spacecraft_pos + Transpond2_pos), - "Transpond2_phys_o", Transpond2_log_o, wld_phys, false, 0); - f = std::pow(1.-3.50/(2.70*220*184*178)*1E6, 1./3.); - G4Box* Transpond2_box_i; - Transpond2_box_i = new G4Box("Transpond2_box_i", - f*0.5*220.*mm, f*0.5*184.*mm, f*0.5*178.*mm); - G4LogicalVolume* Transpond2_log_i; - Transpond2_log_i = new G4LogicalVolume - (Transpond2_box_i, vacuum, "Transpond2_log_i"); - G4VPhysicalVolume* Transpond2_phys_i; - Transpond2_phys_i = new G4PVPlacement(0, 0, - "Transpond2_phys_i", Transpond2_log_i, Transpond2_phys_o, false, 0); - - - // vis Attributes - - EPC_log_o->SetVisAttributes(sol_blue_vat); - GyroPack_log_o->SetVisAttributes(sol_blue_vat); - InstConE_log_o->SetVisAttributes(sol_blue_vat); - RFDU_log_o->SetVisAttributes(sol_blue_vat); - StarTrack_L_log_o->SetVisAttributes(sol_blue_vat); - STElec_log_o->SetVisAttributes(sol_blue_vat); - TWT_log_o->SetVisAttributes(sol_blue_vat); - UVBox_log_o->SetVisAttributes(sol_blue_vat); - EPC_log_i->SetVisAttributes(G4VisAttributes::Invisible); - GyroPack_log_i->SetVisAttributes(G4VisAttributes::Invisible); - InstConE_log_i->SetVisAttributes(G4VisAttributes::Invisible); - RFDU_log_i->SetVisAttributes(G4VisAttributes::Invisible); - StarTrack_L_log_i->SetVisAttributes(G4VisAttributes::Invisible); - STElec_log_i->SetVisAttributes(G4VisAttributes::Invisible); - TWT_log_i->SetVisAttributes(G4VisAttributes::Invisible); - UVBox_log_i->SetVisAttributes(G4VisAttributes::Invisible); - - PCDU_log_o->SetVisAttributes(sol_lblue_vat); - CentELCPS_log_o->SetVisAttributes(sol_lblue_vat); - CentEL2_log_o->SetVisAttributes(sol_lblue_vat); - FEEPEL_log_o->SetVisAttributes(sol_lblue_vat); - HGADrive_log_o->SetVisAttributes(sol_lblue_vat); - InterfelEL_log_o->SetVisAttributes(sol_lblue_vat); - LaserEL_log_o->SetVisAttributes(sol_lblue_vat); - LaserHead_log_o->SetVisAttributes(sol_lblue_vat); - StarTrack_U_log_o->SetVisAttributes(sol_lblue_vat); - Transpond2_log_o->SetVisAttributes(sol_lblue_vat); - PCDU_log_i->SetVisAttributes(G4VisAttributes::Invisible); - CentELCPS_log_i->SetVisAttributes(G4VisAttributes::Invisible); - CentEL2_log_i->SetVisAttributes(G4VisAttributes::Invisible); - FEEPEL_log_i->SetVisAttributes(G4VisAttributes::Invisible); - HGADrive_log_i->SetVisAttributes(G4VisAttributes::Invisible); - InterfelEL_log_i->SetVisAttributes(G4VisAttributes::Invisible); - LaserEL_log_i->SetVisAttributes(G4VisAttributes::Invisible); - LaserHead_log_i->SetVisAttributes(G4VisAttributes::Invisible); - StarTrack_U_log_i->SetVisAttributes(G4VisAttributes::Invisible); - Transpond2_log_i->SetVisAttributes(G4VisAttributes::Invisible); - - - - // ************************************************************************** - - diff --git a/examples/advanced/cosmicray_charging/src/LISAEventAction.cc b/examples/advanced/cosmicray_charging/src/LISAEventAction.cc deleted file mode 100644 index 013a332a96..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAEventAction.cc +++ /dev/null @@ -1,214 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISAEventAction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#include "LISAEventAction.hh" - -#include "LISAPrimaryGeneratorAction.hh" -#include "LISASteppingAction.hh" - -#ifdef G4ANALYSIS_USE -#include "LISAAnalysisManager.hh" -#endif - -#include "G4Event.hh" -#include "G4EventManager.hh" -#include "G4TrajectoryContainer.hh" -#include "G4Trajectory.hh" -#include "G4ParticleDefinition.hh" -#include "G4VVisManager.hh" -#include "G4UImanager.hh" -#include "G4Polyline.hh" -#include "G4Colour.hh" -#include "G4VisAttributes.hh" -#include "G4UnitsTable.hh" -#include "G4ios.hh" - -#include -#include - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISAEventAction::LISAEventAction(LISAPrimaryGeneratorAction* generatorAction, - LISASteppingAction* steppingAction) - : genAction(generatorAction),stepAction(steppingAction) { - - energy_pri = 0; - charge_in[0] = 0; - charge_in[1] = 0; - charge_out[0] = 0; - charge_out[1] = 0; - charge_tot[0] = 0; - charge_tot[1] = 0; - seeds = NULL; - filename = G4String(); - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISAEventAction::~LISAEventAction() {;} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISAEventAction::BeginOfEventAction(const G4Event* evt) { - - // reset event charges - stepAction->Discharge(); - - // grab event seeds - seeds = genAction->GetEventSeeds(); - // G4cout << " 1st seed: " << *seeds << G4endl;; - // G4cout << " 2nd seed: " << *(seeds+1) << G4endl; - // HepRandom::showEngineStatus(); - - // grab energy of primary - energy_pri = genAction->GetEnergyPrimary(); - - event_id = evt->GetEventID(); - if(event_id%1000==0 || (event_id%100==0 && event_id<1000)) - G4cout << "\n---> Begin of event: " << event_id << G4endl; - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISAEventAction::EndOfEventAction(const G4Event* evt) { - - - // Look at TM0 and TM1 - for(int tm=0; tm<=1; ++tm) { - - charge_in[tm] = stepAction->GetChargeIn(tm); - charge_out[tm] = stepAction->GetChargeOut(tm); - charge_tot[tm] = charge_in[tm] - charge_out[tm]; - - // save if changed - if(charge_tot[tm]) { - - // printout - G4cout << " *** Evt: " << event_id - << "\tTM: " << tm - << "\tE: " << energy_pri - << "\tQnet: " << charge_tot[tm] - << "\tQin: " << charge_in[tm] - << "\tQout: " << charge_out[tm] - << G4endl; - - // append to file - std::ofstream chargefile(filename,std::ios::app); - chargefile << event_id << "\t" - << tm << "\t" - << energy_pri << "\t" - << charge_tot[tm] << "\t" - << charge_in[tm] << "\t" - << charge_out[tm] << "\t" - << *seeds << "\t" - << *(seeds+1) << "\t" - << G4endl; - - // Write event information to HBOOK NTuple if using analysis -#ifdef G4ANALYSIS_USE - LISAAnalysisManager* analysis = LISAAnalysisManager::getInstance(); - analysis->analyseRun(event_id, - tm, - energy_pri, - charge_tot[tm], - charge_in[tm], - charge_out[tm], - *seeds, - *(seeds+1)); -#endif - - } // if(charge_tot[tm]) - - } // for(int tm=0; tm<=1; ++tm) - - - - // draw trajectories - // colours by particle type - G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); - if(pVVisManager) { - - G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); - G4int n_trajectories = 0; - if (trajectoryContainer) - n_trajectories = trajectoryContainer->entries(); - - for (G4int i=0; i((*trajectoryContainer)[i]); - - G4String name = trj->GetParticleDefinition()->GetParticleName(); - G4Colour colour = G4Colour(1.0, 1.0, 1.0); - G4Polyline pPolyline; - - if (trj) { - - for (int i=0; iGetPointEntries(); i++) - pPolyline.push_back( trj->GetPoint(i)->GetPosition() ); - - if(name=="proton") colour=G4Colour(0.0, 0.0, 1.0); - else if(name=="alpha") colour=G4Colour(0.0, 0.0, 0.5); - else if(name=="He3") colour=G4Colour(1.0, 0.0, 1.0); - else if(name=="pi+") colour=G4Colour(0.5, 0.5, 0.5); - else if(name=="pi-") colour=G4Colour(0.5, 0.5, 0.5); - else if(name=="e+") colour=G4Colour(0.0, 1.0, 1.0); - else if(name=="e-") colour=G4Colour(1.0, 0.0, 0.0); - else if(name=="gamma") colour=G4Colour(0.0, 1.0, 0.0); - else if(name=="neutron") colour=G4Colour(1.0, 1.0, 0.0); - else colour=G4Colour(1.0, 1.0, 1.0); - - G4VisAttributes attribs(colour); - pPolyline.SetVisAttributes(attribs); - if(pVVisManager) pVVisManager->Draw(pPolyline); - - } else - G4cerr << "EndOfEventAction: Failed to dynamic cast to G4Trajectory!" - << G4endl; - } - } - - -} - diff --git a/examples/advanced/cosmicray_charging/src/LISAInertialSensor.icc b/examples/advanced/cosmicray_charging/src/LISAInertialSensor.icc deleted file mode 100644 index 84e64aa94b..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAInertialSensor.icc +++ /dev/null @@ -1,255 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 08/12/2005: removed compilation warnings -// -// ******************************************************************** - - -// ************************************************************************** -// Inertial Sensors: YZ-Injection, 46 mm Test Mass -// LISA Inertial Sensor Design Report LTP-RT-CGS-001, issue 2 -//*************************************************************************** - - - // Molybdenum cage (electrode housing) - G4double cage_o = 75.0*mm; - G4double cage_i_x = 53.8*mm; - G4double cage_i_y = 51.6*mm; - G4double cage_i_z = 52.8*mm; - - // Molybdenum disks (top and bottom) - G4double disk_thi = 3.0*mm; - G4double disk_id = 12.0*mm; - G4double disk_od = 60.0*mm; - G4double disk_off = 0.5*cage_o+0.5*disk_thi; - - // SHAPAL electrode supports - G4double elecsupp_x_thi = 6.5*mm; - G4double elecsupp_y_thi = 7.6*mm; - G4double elecsupp_yi_thi = 6.5*mm; - G4double elecsupp_z_thi = 7.0*mm; - G4double elecsupp_zi_thi = 6.5*mm; - - - // gold plating thickness - G4double elec_thi = 0.300*micrometer; - - // electrodes (x faces) - G4double elec_x_xoff = 0.5*cage_i_x + 0.5*elecsupp_x_thi + elec_thi; - G4double elec_x_y = 14.5*mm, elec_x_z = 36.0*mm; - G4double elec_x_yoff = 10.*mm; - // electrodes (y faces) - G4double elec_y_yoff = 0.5*cage_i_y + 0.5*elecsupp_y_thi + elec_thi; - G4double elec_y_x = 38.2*mm, elec_y_z = 7.1*mm; - G4double elec_y_zoff = 15.*mm; - // electrodes (y injection) - G4double elec_yi_yoff = 0.5*cage_i_y + 0.5*elecsupp_yi_thi + elec_thi; - G4double elec_yi_x = 38.2*mm, elec_yi_z = 16.0*mm; - // electrodes (z faces) - G4double elec_z_zoff = 0.5*cage_i_z + 0.5*elecsupp_z_thi + elec_thi; - G4double elec_z_x = 6.5*mm, elec_z_y = 37.0*mm; - // electrodes (z injection) - G4double elec_zi_x = 16.0*mm; - G4double elec_zi_y = 12.0*mm; - G4double elec_zi_zoff = 0.5*cage_i_z + 0.5*elecsupp_zi_thi + elec_thi; - G4double elec_zi_yoff = 12.*mm; - - // Test Mass - G4double tmass_len = 46.0*mm; - - - - - // Molybdenum cage ********************************************************** - G4Box* cage_o_sol = new G4Box("cage_o_sol", .5*cage_o, .5*cage_o, .5*cage_o); - G4LogicalVolume* cage_o_log = - new G4LogicalVolume(cage_o_sol, molybdenum, "cage_o_log"); - G4VPhysicalVolume* cage_o_phys; - cage_o_phys = new G4PVPlacement(0, G4ThreeVector(), - "cage_o_phys", cage_o_log, SensorHousing_i_phys, false, 0); - cage_o_log->SetVisAttributes(lgreen_vat); - // cage_o_log->SetVisAttributes(G4VisAttributes::Invisible); - - // 0.3 um gold plating - G4Box* goldplating_sol = new G4Box("goldplating_sol", - 0.5*cage_i_x+elec_thi, 0.5*cage_i_y+elec_thi, 0.5*cage_i_z+elec_thi); - G4LogicalVolume* goldplating_log = - new G4LogicalVolume(goldplating_sol, gold, "goldplating_log"); - G4VPhysicalVolume* goldplating_phys; - goldplating_phys = new G4PVPlacement(0, G4ThreeVector(), - "goldplating_phys", goldplating_log, cage_o_phys, false, 0); - goldplating_log->SetVisAttributes(yellow_vat); - - // Inside cage - G4Box* cage_i_sol = - new G4Box("cage_i_sol", .5*cage_i_x, .5*cage_i_y, .5*cage_i_z); - G4LogicalVolume* cage_i_log = - new G4LogicalVolume(cage_i_sol, vacuum, "cage_i_log"); - G4VPhysicalVolume* cage_i_phys; - cage_i_phys = new G4PVPlacement(0, G4ThreeVector(), - "cage_i_phys", cage_i_log, goldplating_phys, false, 0); - cage_i_log->SetVisAttributes(white_vat); - - - // Molybdenum disks ********************************************************* - G4Tubs* disk_sol = new G4Tubs("disk_sol", 0.5*disk_id, 0.5*disk_od, - 0.5*disk_thi, 0., 360.*deg); - G4LogicalVolume* disk_log = - new G4LogicalVolume(disk_sol, molybdenum, "disk_log"); - G4VPhysicalVolume* disk_phys; - disk_phys = new G4PVPlacement(0, G4ThreeVector(0,0,+disk_off), - "disk_phys", disk_log, SensorHousing_i_phys, false, 0); - disk_phys = new G4PVPlacement(0, G4ThreeVector(0,0,-disk_off), - "disk_phys", disk_log, SensorHousing_i_phys, false, 1); - disk_log->SetVisAttributes(lgreen_vat); -// disk_log->SetVisAttributes(G4VisAttributes::Invisible); - - - - // electrodes (x faces) ***************************************************** - G4Box* elecsupp_x_sol = - new G4Box("elecsupp_x_sol", 0.5*elecsupp_x_thi,0.5*elec_x_y,0.5*elec_x_z); - G4LogicalVolume* elecsupp_x_log = - new G4LogicalVolume(elecsupp_x_sol, SHAPAL, "elecsupp_x_log"); - G4VPhysicalVolume* elecsupp_x_phys; - elecsupp_x_phys = new G4PVPlacement(0, - G4ThreeVector(+elec_x_xoff,-elec_x_yoff,0), - "elecsupp_x_phys", elecsupp_x_log, cage_o_phys, false, 0); - elecsupp_x_phys = new G4PVPlacement(0, - G4ThreeVector(+elec_x_xoff,+elec_x_yoff,0), - "elecsupp_x_phys", elecsupp_x_log, cage_o_phys, false, 1); - elecsupp_x_phys = new G4PVPlacement(0, - G4ThreeVector(-elec_x_xoff,-elec_x_yoff,0), - "elecsupp_x_phys", elecsupp_x_log, cage_o_phys, false, 2); - elecsupp_x_phys = new G4PVPlacement(0, - G4ThreeVector(-elec_x_xoff,+elec_x_yoff,0), - "elecsupp_x_phys", elecsupp_x_log, cage_o_phys, false, 3); - - - // electrodes (y faces) ***************************************************** - G4Box* elecsupp_y_sol = - new G4Box("elecsupp_y_sol", 0.5*elec_y_x,0.5*elecsupp_y_thi,0.5*elec_y_z); - G4LogicalVolume* elecsupp_y_log = - new G4LogicalVolume(elecsupp_y_sol, SHAPAL, "elecsupp_y_log"); - G4VPhysicalVolume* elecsupp_y_phys; - elecsupp_y_phys = new G4PVPlacement(0, - G4ThreeVector(0,+elec_y_yoff,-elec_y_zoff), - "elecsupp_y_phys", elecsupp_y_log, cage_o_phys, false, 0); - elecsupp_y_phys = new G4PVPlacement(0, - G4ThreeVector(0,+elec_y_yoff,+elec_y_zoff), - "elecsupp_y_phys", elecsupp_y_log, cage_o_phys, false, 1); - elecsupp_y_phys = new G4PVPlacement(0, - G4ThreeVector(0,-elec_y_yoff,-elec_y_zoff), - "elecsupp_y_phys", elecsupp_y_log, cage_o_phys, false, 2); - elecsupp_y_phys = new G4PVPlacement(0, - G4ThreeVector(0,-elec_y_yoff,+elec_y_zoff), - "elecsupp_y_phys", elecsupp_y_log, cage_o_phys, false, 3); - - // y injection - G4Box* elecsupp_yi_sol = - new G4Box("elecsupp_yi_sol",.5*elec_yi_x,.5*elecsupp_yi_thi,.5*elec_yi_z); - G4LogicalVolume* elecsupp_yi_log = - new G4LogicalVolume(elecsupp_yi_sol, SHAPAL, "elecsupp_yi_log"); - G4VPhysicalVolume* elecsupp_yi_phys; - elecsupp_yi_phys = new G4PVPlacement(0, G4ThreeVector(0,+elec_yi_yoff,0), - "elecsupp_yi_phys", elecsupp_yi_log, cage_o_phys, false, 0); - elecsupp_yi_phys = new G4PVPlacement(0, G4ThreeVector(0,-elec_yi_yoff,0), - "elecsupp_yi_phys", elecsupp_yi_log, cage_o_phys, false, 1); - - - // electrodes (z faces) ***************************************************** - G4Box* elecsupp_z_sol = - new G4Box("elecsupp_z_sol",.5*elec_z_x,.5*elec_z_y,.5*elecsupp_z_thi); - G4LogicalVolume* elecsupp_z_log = - new G4LogicalVolume(elecsupp_z_sol, SHAPAL, "elecsupp_z_log"); - G4VPhysicalVolume* elecsupp_z_phys; - elecsupp_z_phys = new G4PVPlacement(0, - G4ThreeVector(-elec_y_zoff,0,+elec_z_zoff), - "elecsupp_y_phys", elecsupp_z_log, cage_o_phys, false, 0); - elecsupp_z_phys = new G4PVPlacement(0, - G4ThreeVector(+elec_y_zoff,0,+elec_z_zoff), - "elecsupp_y_phys", elecsupp_z_log, cage_o_phys, false, 1); - elecsupp_z_phys = new G4PVPlacement(0, - G4ThreeVector(-elec_y_zoff,0,-elec_z_zoff), - "elecsupp_y_phys", elecsupp_z_log, cage_o_phys, false, 2); - elecsupp_z_phys = new G4PVPlacement(0, - G4ThreeVector(+elec_y_zoff,0,-elec_z_zoff), - "elecsupp_y_phys", elecsupp_z_log, cage_o_phys, false, 3); - - // z injection - G4Box* elecsupp_zi_sol = - new G4Box("elecsupp_zi_sol",.5*elec_zi_x,.5*elec_zi_y,.5*elecsupp_zi_thi); - G4LogicalVolume* elecsupp_zi_log = - new G4LogicalVolume(elecsupp_zi_sol, SHAPAL, "elecsupp_zi_log"); - G4VPhysicalVolume* elecsupp_zi_phys; - elecsupp_zi_phys=new G4PVPlacement(0, - G4ThreeVector(0,-elec_zi_yoff,+elec_zi_zoff), - "elecsupp_zi_phys", elecsupp_zi_log, cage_o_phys, false, 0); - elecsupp_zi_phys=new G4PVPlacement(0, - G4ThreeVector(0,+elec_zi_yoff,+elec_zi_zoff), - "elecsupp_zi_phys", elecsupp_zi_log, cage_o_phys, false, 1); - elecsupp_zi_phys=new G4PVPlacement(0, - G4ThreeVector(0,-elec_zi_yoff,-elec_zi_zoff), - "elecsupp_zi_phys", elecsupp_zi_log, cage_o_phys, false, 2); - elecsupp_zi_phys=new G4PVPlacement(0, - G4ThreeVector(0,+elec_zi_yoff,-elec_zi_zoff), - "elecsupp_zi_phys", elecsupp_zi_log, cage_o_phys, false, 3); - - // electrode vis attributes - elecsupp_x_log ->SetVisAttributes(sol_white_vat); - elecsupp_y_log ->SetVisAttributes(sol_white_vat); - elecsupp_z_log ->SetVisAttributes(sol_white_vat); - elecsupp_yi_log->SetVisAttributes(sol_orange_vat); - elecsupp_zi_log->SetVisAttributes(sol_orange_vat); - - - // Test Masses ************************************************************** - G4Box* tmass_sol = - new G4Box("tmass_sol", 0.5*tmass_len, 0.5*tmass_len, 0.5*tmass_len); - G4LogicalVolume* tmass_log = - new G4LogicalVolume(tmass_sol, AuPt, "tmass_log"); - G4VPhysicalVolume* tmass_phys; - tmass_phys = new G4PVPlacement - (0, G4ThreeVector(), "tmass_phys", tmass_log, cage_i_phys, false, 0); - tmass_log->SetVisAttributes(sol_gold_vat); - - - -//***************************************************************************** diff --git a/examples/advanced/cosmicray_charging/src/LISAInterferometerAssembly.icc b/examples/advanced/cosmicray_charging/src/LISAInterferometerAssembly.icc deleted file mode 100644 index 0403f08ea7..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAInterferometerAssembly.icc +++ /dev/null @@ -1,668 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * Cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 24/11/2004: migrated to cmath -// 24/11/2004: inner elec boxes made invisible -// 24/11/2004: tweaked TelPriMir_phys (17 to 18mm) to avoid solid problem -// 24/11/2004: G4Torus in SupportRing_sol still problematic! -// 08/12/2005: removed compilation warnings -// -// ******************************************************************** - - -//*************************************************************************** -// Interferometer Assembly -//*************************************************************************** -// Payload Shield (Y Tube) -// Telescope Light Shields -// Telescope Electronics Mounting -// Telescope Mirrors Mounting -// Telescope Actuator Mechanism -// Optical Bench Mounting -// Optical Bench -//*************************************************************************** - - - - //*************************************************************************** - // Payload Shield - //*************************************************************************** - - // Y-tube - G4double YTube_dia = 400.*mm; - G4double YTube_thi = 5.*mm; - G4double arm1_len = 900.*mm; - G4double arm2_len = 900.*mm; - G4double arm3_len = 900.*mm; - // G4double YTube_xoff = -800.*mm; - G4double tune_x = 800.*mm; - G4double tune_y = 250.*mm; - - // outer volumes - G4Tubs* arm1_o_sol = - new G4Tubs("arm1_o_sol", 0., 0.5*YTube_dia, 0.5*arm1_len, 0., 360.*deg); - G4Tubs* arm2_o_sol = - new G4Tubs("arm2_o_sol", 0., 0.5*YTube_dia, 0.5*arm2_len, 0., 360.*deg); - G4Tubs* arm3_o_sol = - new G4Tubs("arm3_o_sol", 0., 0.5*YTube_dia, 0.5*arm3_len, 0., 360.*deg); - G4RotationMatrix ytube_rot1; ytube_rot1.rotateY(30.*deg); - G4UnionSolid* uni1_o_sol = new G4UnionSolid("uni1_o_sol", arm1_o_sol, - arm2_o_sol, G4Transform3D(ytube_rot1, G4ThreeVector(+tune_y,0,tune_x))); - G4RotationMatrix ytube_rot2; ytube_rot2.rotateY(-30.*deg); - G4UnionSolid* uni2_o_sol = new G4UnionSolid("uni2_o_sol", uni1_o_sol, - arm3_o_sol, G4Transform3D(ytube_rot2, G4ThreeVector(-tune_y,0,tune_x))); - G4LogicalVolume* arms_o_log = - new G4LogicalVolume(uni2_o_sol, CFRP, "arms_o_log"); - G4RotationMatrix ytube_rot3; - ytube_rot3.rotateX(90.*deg); ytube_rot3.rotateZ(90.*deg); - G4VPhysicalVolume* arms_o_phys; - arms_o_phys = new G4PVPlacement - (G4Transform3D(ytube_rot3, spacecraft_pos + G4ThreeVector(YTube_xoff,0,0)), - "arms_o_phys", arms_o_log, wld_phys, false, 0); - arms_o_log->SetVisAttributes(yellow_vat); - // inner volumes - G4Tubs* arm1_i_sol = new G4Tubs("arm1_i_sol", 0., 0.5*YTube_dia-YTube_thi, - 0.5*arm1_len, 0.*deg, 360.*deg); - G4Tubs* arm2_i_sol = new G4Tubs("arm2_i_sol", 0., 0.5*YTube_dia-YTube_thi, - 0.5*arm2_len, 0.*deg, 360.*deg); - G4Tubs* arm3_i_sol = new G4Tubs("arm3_i_sol", 0., 0.5*YTube_dia-YTube_thi, - 0.5*arm3_len, 0.*deg, 360.*deg); - G4UnionSolid* uni1_i_sol = new G4UnionSolid("uni1_i_sol", arm1_i_sol, - arm2_i_sol, G4Transform3D(ytube_rot1, G4ThreeVector(+tune_y,0,tune_x))); - G4UnionSolid* uni2_i_sol = new G4UnionSolid("uni2_i_sol", uni1_i_sol, - arm3_i_sol, G4Transform3D(ytube_rot2, G4ThreeVector(-tune_y,0,tune_x))); - G4LogicalVolume* arms_i_log = - new G4LogicalVolume(uni2_i_sol, vacuum, "arms_i_log"); - G4VPhysicalVolume* arms_i_phys; - arms_i_phys = new G4PVPlacement(0, G4ThreeVector(0,0,0), - "arms_i_phys", arms_i_log, arms_o_phys, false, 0); - arms_i_log->SetVisAttributes(yellow_vat); - - - - // Telescope Light Shields: ~5.5 kg - G4double TelShield_len = 730.*mm; - G4double TelShield_dia = 370.*mm; - G4double TelShield_thi = 5.*mm; - G4double TelShield_yoff = 663.*mm; - G4double TelShield_xoff = 1511.*mm; - G4double TelShieldCutout_len = 2000.*mm; - G4double TelShieldCutout_off = 1000.*mm; - - G4Tubs* TelShield_tub = new G4Tubs("TelShield_sol", 0.5*TelShield_dia - - TelShield_thi, 0.5*TelShield_dia, 0.5*TelShield_len, 0., 360.*deg); - G4Box* TelShieldCutout_box = new G4Box("TelShieldCutout_box", - 0.5*TelShieldCutout_len, 0.5*TelShieldCutout_len, 0.5*TelShieldCutout_len); - G4RotationMatrix ytube_rot4; ytube_rot4.rotateX(-30.*deg); - G4SubtractionSolid* TelShield_sol = new G4SubtractionSolid("TelShield_sol", - TelShield_tub, TelShieldCutout_box, G4Transform3D(ytube_rot4, - G4ThreeVector(0,0,-0.5*TelShield_len-TelShieldCutout_off))); - G4LogicalVolume* TelShield_log = - new G4LogicalVolume(TelShield_sol, CFRP, "TelShield_log"); - G4VPhysicalVolume* TelShield_phys; - G4RotationMatrix telsh_rot1; telsh_rot1.rotateY(-90.*deg); - telsh_rot1.rotateX(90.*deg); telsh_rot1.rotateZ(-30.*deg); - TelShield_phys = new G4PVPlacement(G4Transform3D(telsh_rot1, - spacecraft_pos+G4ThreeVector(YTube_xoff+TelShield_xoff,-TelShield_yoff,0)), - "TelShield_phys", TelShield_log, wld_phys, false, 0); - G4RotationMatrix telsh_rot2; telsh_rot2.rotateY(-90.*deg); - telsh_rot2.rotateX(90.*deg); telsh_rot2.rotateZ(+30.*deg); - TelShield_phys = new G4PVPlacement(G4Transform3D(telsh_rot2, - spacecraft_pos+G4ThreeVector(YTube_xoff+TelShield_xoff,+TelShield_yoff,0)), - "TelShield_phys", TelShield_log, wld_phys, false, 1); - TelShield_log->SetVisAttributes(green_vat); - - - - // Telescope actuator: 1.8 kg - // includes mass of Al arms - G4double TelActuatorCyl_dia = 76.*mm; - G4double TelActuatorCyl_len = 147.*mm; - // Actuator mount: 0.45 kg - G4double TelActuatorMount_hei = 147.*mm; - G4double TelActuatorMount_wid = 120.*mm; - G4double TelActuatorMount_thi = 7.5*mm; - G4ThreeVector TelActuator_pos1(-100.*mm,0.,550.*mm); - G4ThreeVector TelActuator_pos2( 100.*mm,0.,550.*mm); - - // Telescope actuator 1: cylinder - G4Tubs* TelActuatorCyl_sol = new G4Tubs("TelActuatorCyl_sol", - 0, 0.5*TelActuatorCyl_dia, 0.5*TelActuatorCyl_len, 0., 360.*deg); - G4LogicalVolume* TelActuatorCyl_log = - new G4LogicalVolume(TelActuatorCyl_sol, Al6061, "TelActuatorCyl_log"); - G4RotationMatrix act_rot1; act_rot1.rotateY(60.*deg); - G4VPhysicalVolume* TelActuatorCyl_phys; - TelActuatorCyl_phys = new G4PVPlacement(G4Transform3D(act_rot1, - TelActuator_pos1), "TelActuatorCyl_phys", TelActuatorCyl_log, - arms_i_phys, false, 0); - TelActuatorCyl_log->SetVisAttributes(sol_red_vat); - // Telescope actuator 1: mount - G4Box* TelActuatorMount_box = new G4Box("TelActuatorMount_box", - .5*TelActuatorMount_wid, .5*TelActuatorMount_hei, .5*TelActuatorMount_thi); - G4SubtractionSolid* TelActuatorMount_sol = new G4SubtractionSolid - ("TelActuatorMount_sol", TelActuatorMount_box, TelActuatorCyl_sol, - 0, G4ThreeVector(0,0.5*TelActuatorMount_hei,0)); - G4LogicalVolume* TelActuatorMount_log = - new G4LogicalVolume(TelActuatorMount_sol, TiAlloy, "TelActuatorMount_log"); - G4VPhysicalVolume* TelActuatorMount_phys; - TelActuatorMount_phys = new G4PVPlacement(G4Transform3D(act_rot1, - TelActuator_pos1 + G4ThreeVector(0,-0.5*TelActuatorMount_hei-2.*mm,0.)), - "TelActuatorMount_phys", TelActuatorMount_log, arms_i_phys, false, 0); - TelActuatorMount_log->SetVisAttributes(sol_yellow_vat); - // Telescope actuator 2 - G4RotationMatrix act_rot2; act_rot2.rotateY(-60.*deg); - TelActuatorCyl_phys = new G4PVPlacement(G4Transform3D - (act_rot2, TelActuator_pos2), "TelActuatorCyl_phys", - TelActuatorCyl_log, arms_i_phys, false, 1); - TelActuatorMount_phys = new G4PVPlacement(G4Transform3D(act_rot2, - TelActuator_pos2 + G4ThreeVector(0,-0.5*TelActuatorMount_hei-2.*mm,0.)), - "TelActuatorMount_phys", TelActuatorMount_log, arms_i_phys, false, 1); - - - - - //*************************************************************************** - // Telescope / GRS Assembly (in dummy wrapper volume) - //*************************************************************************** - - - // Dummy (assembly) box for telescope - G4double TelBox_len = 620.*mm; - G4double TelBox_dia = 370.*mm; - // Dummy (assembly) box for telescope - G4Tubs* TelBox_sol = - new G4Tubs("TelBox_sol", 0., 0.5*TelBox_dia, 0.5*TelBox_len, 0., 360.*deg); - G4LogicalVolume* TelBox_log = - new G4LogicalVolume(TelBox_sol, vacuum, "TelBox_log"); - G4VPhysicalVolume* TelBox_phys; - TelBox_phys = - new G4PVPlacement(G4Transform3D(tel_rot1, tel_pos1), - "TelBox1_phys", TelBox_log, arms_i_phys, false, 0); - TelBox_phys = - new G4PVPlacement(G4Transform3D(tel_rot2, tel_pos2), - "TelBox2_phys", TelBox_log, arms_i_phys, false, 1); - // TelBox_log->SetVisAttributes(white_vat); - TelBox_log->SetVisAttributes(G4VisAttributes::Invisible); - - - // all z-offsets referred to TM centre - // change OpticalBench_off to move telescope components along z-axis - - // Optical Bench: 4.41 kg - G4double OpticalBench_len = 350.0*mm; - G4double OpticalBench_wid = 200.0*mm; - G4double OpticalBench_thi = 40.0*mm; - // Sensor Housing as in Solid Model - // G4double OpticalBenchCutout_len = 170.0*mm + 1.*mm; - // G4double OpticalBenchCutout_wid = 120.0*mm + 1.*mm; - // Sensor Housing to fit LTP Sensor - G4double OpticalBenchCutout_dia = 126.0*mm; - G4double OpticalBenchCutout_thi = 100.0*mm; - // G4double OpticalBench_off = 0.0*mm; - - // Optical Bench - G4Box* OpticalBench_box = new G4Box("OpticalBench_box", - 0.5*OpticalBench_wid, 0.5*OpticalBench_thi, 0.5*OpticalBench_len); - // old design cutout - // G4Box* OpticalBenchCutout_box = new G4Box("OpticalBenchCutout_box", - // 0.5*OpticalBenchCutout_wid, 0.5*OpticalBenchCutout_thi, - // 0.5*OpticalBenchCutout_len); - // LTP design cutout - G4Tubs* OpticalBenchCutout_box = new G4Tubs("OpticalBenchCutout_box", - 0., 0.5*OpticalBenchCutout_dia, 0.5*OpticalBenchCutout_thi, 0., 360.*deg); - G4RotationMatrix cutout_rot; cutout_rot.rotateX(90.*deg); - G4SubtractionSolid* OpticalBench_sol = new G4SubtractionSolid - ("OpticalBench_sol", OpticalBench_box, OpticalBenchCutout_box, - G4Transform3D(cutout_rot, G4ThreeVector())); - G4LogicalVolume* OpticalBench_log = - new G4LogicalVolume(OpticalBench_sol, ULEglass, "OpticalBench_log"); - G4VPhysicalVolume* OpticalBench_phys; - OpticalBench_phys= - new G4PVPlacement(0, G4ThreeVector(0,0, OpticalBench_off), - "OpticalBench_phys", OpticalBench_log, TelBox_phys, false, 0); - OpticalBench_log->SetVisAttributes(sol_white_vat); - - - // Support ring: 0.99 kg - G4double SupportRing_od = 359.*mm; - G4double SupportRing_dia_o = 23.*mm; - G4double SupportRing_dia_i = 10.*mm; - // Support yokes: 0.12 kg - // also accounts for pivot mass - G4double SupportYoke_thi = 5.*mm; - G4double SupportYoke_dia = 15.*mm; - G4double SupportYoke_len = 170.*mm; - G4double SupportYoke_xoff = 122.*mm; - G4double SupportYoke_yoff = 50.*mm; - G4double SupportYoke_zoff = 90.*mm; - - // Support ring - G4Torus* SupportRing_sol = new G4Torus("SupportRing_sol", - 0.5*SupportRing_dia_i,0.5*SupportRing_dia_o, - 0.5*(SupportRing_od-SupportRing_dia_o), 0.,360.*deg); - G4LogicalVolume* SupportRing_log = - new G4LogicalVolume(SupportRing_sol, ULEglass, "SupportRing_log"); - G4VPhysicalVolume* SupportRing_phys; - SupportRing_phys= - new G4PVPlacement(0, G4ThreeVector(0.,0.,OpticalBench_off), - "SupportRing_phys", SupportRing_log, TelBox_phys, false, 0); - SupportRing_log->SetVisAttributes(sol_red_vat); - // Support yokes - G4Tubs* SupportYoke_sol = new G4Tubs("SupportYoke_sol", 0.5*SupportYoke_dia - - SupportYoke_thi, 0.5*SupportYoke_dia, 0.5*SupportYoke_len, 0., 360.*deg); - G4LogicalVolume* SupportYoke_log = - new G4LogicalVolume(SupportYoke_sol, TiAlloy, "SupportYoke_log"); - SupportYoke_log->SetVisAttributes(sol_red_vat); - G4VPhysicalVolume* SupportYoke_phys; - // upper - G4RotationMatrix tel_rot3; - tel_rot3.rotateX(+30.*deg); tel_rot3.rotateY(-10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot3, - G4ThreeVector(+SupportYoke_xoff, +SupportYoke_yoff , - OpticalBench_off + SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 0); - G4RotationMatrix tel_rot4; - tel_rot4.rotateX(+30.*deg); tel_rot4.rotateY(+10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot4, - G4ThreeVector(-SupportYoke_xoff, +SupportYoke_yoff , - OpticalBench_off + SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 1); - G4RotationMatrix tel_rot5; - tel_rot5.rotateX(-30.*deg); tel_rot5.rotateY(+10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot5, - G4ThreeVector(+SupportYoke_xoff, +SupportYoke_yoff , - OpticalBench_off - SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 2); - G4RotationMatrix tel_rot6; - tel_rot6.rotateX(-30.*deg); tel_rot6.rotateY(-10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot6, - G4ThreeVector(-SupportYoke_xoff, +SupportYoke_yoff , - OpticalBench_off - SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 3); - // lower - G4RotationMatrix tel_rot7; - tel_rot7.rotateX(-30.*deg); tel_rot7.rotateY(-10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot7, - G4ThreeVector(+SupportYoke_xoff, -SupportYoke_yoff , - OpticalBench_off + SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 4); - G4RotationMatrix tel_rot8; - tel_rot8.rotateX(-30.*deg); tel_rot8.rotateY(+10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot8, - G4ThreeVector(-SupportYoke_xoff, -SupportYoke_yoff , - OpticalBench_off + SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 5); - G4RotationMatrix tel_rot9; - tel_rot9.rotateX(+30.*deg); tel_rot9.rotateY(+10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot9, - G4ThreeVector(+SupportYoke_xoff, -SupportYoke_yoff , - OpticalBench_off - SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 6); - G4RotationMatrix tel_rot10; - tel_rot10.rotateX(+30.*deg); tel_rot10.rotateY(-10.*deg); - SupportYoke_phys = new G4PVPlacement(G4Transform3D(tel_rot10, - G4ThreeVector(-SupportYoke_xoff, -SupportYoke_yoff , - OpticalBench_off - SupportYoke_zoff)), "SupportYoke_phys", - SupportYoke_log, TelBox_phys, false, 7); - - - - // Shield tube: 3.66 kg - G4double ShieldTube_len = 500.*mm; - G4double ShieldTube_thi = 4.*mm; - G4double ShieldTube_dia = 360.*mm + 2*ShieldTube_thi; - G4double ShieldTube_off = 60.*mm; - - // Shield tube - G4Tubs* ShieldTube_sol = new G4Tubs("ShieldTube_sol", - 0.5*ShieldTube_dia-ShieldTube_thi, 0.5*ShieldTube_dia, - 0.5*ShieldTube_len, 0., 360.*deg); - G4LogicalVolume* ShieldTube_log = - new G4LogicalVolume(ShieldTube_sol, CFRP, "ShieldTube_log"); - G4VPhysicalVolume* ShieldTube_phys; - ShieldTube_phys = new G4PVPlacement(0, - G4ThreeVector(0,0,OpticalBench_off-ShieldTube_off), - "ShieldTube_phys", ShieldTube_log, TelBox_phys, false, 0); - ShieldTube_log->SetVisAttributes(G4VisAttributes::Invisible); - - - - // Mounting rings: 0.78 kg - G4double TelRing_dia = 360.0*mm; - G4double TelRing_thi = 15.0*mm; - G4double TelRing_len = 30.0*mm; - G4double TelRing_off1 = 0.5*OpticalBench_len - 0.5*TelRing_len + 0.5*mm; - G4double TelRing_off2 = 0.5*OpticalBench_len; - - // Mounting rings - G4Tubs* TelRing_sol = - new G4Tubs("TelRing_sol", 0.5*TelRing_dia-TelRing_thi, 0.5*TelRing_dia, - 0.5*TelRing_len, 0., 360.*deg); - G4LogicalVolume* TelRing_log = - new G4LogicalVolume(TelRing_sol, CFRP, "TelRing_log"); - TelRing_log->SetVisAttributes(sol_white_vat); - G4VPhysicalVolume* TelRing_phys; - TelRing_phys = new G4PVPlacement(0, G4ThreeVector - (0,0,OpticalBench_off - TelRing_off1), - "TelRing_phys", TelRing_log, TelBox_phys, false, 0); - // Electronics mounting ring - TelRing_phys = new G4PVPlacement(0, G4ThreeVector - (0,0,OpticalBench_off + TelRing_off2), - "TelRing_phys", TelRing_log, TelBox_phys, false, 1); - - - - // Shield/Mounting Plate: 1.54 kg - G4double ShieldPlate_dia = 350.*mm; - G4double ShieldPlate_thi = 10.*mm; - G4double ShieldPlate_off = TelRing_off2 + - 0.5*(TelRing_len+ShieldPlate_thi) + 20.0*mm; - // Shield/Mounting Plate - G4Tubs* ShieldPlate_sol = new G4Tubs("ShieldPlate_sol", - 0., 0.5*ShieldPlate_dia, 0.5*ShieldPlate_thi, 0., 360.*deg); - G4LogicalVolume* ShieldPlate_log = - new G4LogicalVolume(ShieldPlate_sol, CFRP, "ShieldPlate_log"); - G4VPhysicalVolume* ShieldPlate_phys; - ShieldPlate_phys = new G4PVPlacement(0, - G4ThreeVector(0,0,OpticalBench_off + ShieldPlate_off), - "ShieldPlate_phys", ShieldPlate_log, TelBox_phys, false, 0); - ShieldPlate_log->SetVisAttributes(sol_white_vat); - - - - // Telescope electronics boxes: 0.36 kg - G4double TelElecBox_wid = 100.0*mm; - G4double TelElecBox_len = 90.0*mm; - G4double TelElecBox_hei = 180.0*mm; - G4double TelElecBoxes_sep = 150.0*mm; - G4double TelElecBoxes_off = ShieldPlate_off + - 0.5*(ShieldPlate_thi + TelElecBox_len); - - // Telescope electronics boxes - G4Box* TelElecBox_sol = new G4Box("TelElecBox_sol", 0.5*TelElecBox_wid, - 0.5*TelElecBox_hei, 0.5*TelElecBox_len); - G4LogicalVolume* TelElecBox_log = - new G4LogicalVolume(TelElecBox_sol, Al6061, "TelElecBox_log"); - G4VPhysicalVolume* TelElecBox_phys; - // Interferometer electronics - TelElecBox_phys = new G4PVPlacement(0, - G4ThreeVector(-0.5*TelElecBoxes_sep, 0,OpticalBench_off+TelElecBoxes_off), - "TelElecBox_phys", TelElecBox_log, TelBox_phys, false, 0); - TelElecBox_log->SetVisAttributes(sol_red_vat); - // Accelerator electronics - TelElecBox_phys = new G4PVPlacement(0, - G4ThreeVector(0.5*TelElecBoxes_sep, 0, OpticalBench_off+TelElecBoxes_off), - "TelElecBox_phys", TelElecBox_log, TelBox_phys, false, 1); - // Each box is made from solid Al6061 from which a volume - // s times smaller is removed to match assigned mass; - G4double s = std::pow(1.-0.36/(2.70*TelElecBox_wid*TelElecBox_hei - *TelElecBox_len)*1.E6,1./3.); - G4Box* TelElecBoxIn_sol = new G4Box("TelElecBoxIn_sol", s*0.5*TelElecBox_wid, - s*0.5*TelElecBox_hei, s*0.5*TelElecBox_len); - G4LogicalVolume* TelElecBoxIn_log = - new G4LogicalVolume(TelElecBoxIn_sol, vacuum, "TelElecBoxIn_log"); - G4VPhysicalVolume* TelElecBoxIn_phys; - TelElecBoxIn_phys = new G4PVPlacement - (0, 0, "TelElecBoxIn_i", TelElecBoxIn_log, TelElecBox_phys, false, 0); - TelElecBoxIn_log->SetVisAttributes(G4VisAttributes::Invisible); - - - - // Front thermal shield: 0.15 kg - G4double FrontThermalShield_dia = 350.*mm; - G4double FrontThermalShield_thi = 1.*mm; - G4double FrontThermalShield_hol = 25.*mm; - G4double FrontThermalShield_roff = 30.*mm; - G4double FrontThermalShield_off = TelRing_off1 + 0.5*TelRing_len - + 0.5*FrontThermalShield_thi + 20.0*mm; - - // Front thermal shield - G4Tubs* FrontThermalShield_tub = new G4Tubs("FrontThermalShield_tub", - 0., 0.5*FrontThermalShield_dia, 0.5*FrontThermalShield_thi, 0., 360.*deg); - G4Tubs* FrontThermalShieldCutout_tub = - new G4Tubs("FrontThermalShieldCutout_tub", - 0., 0.5*FrontThermalShield_hol, 2*FrontThermalShield_thi, 0., 360.*deg); - G4SubtractionSolid* FrontThermalShield_sol = - new G4SubtractionSolid("FrontThermalShield_sol", FrontThermalShield_tub, - FrontThermalShieldCutout_tub, G4Transform3D(G4RotationMatrix(), - G4ThreeVector(0,FrontThermalShield_roff,0))); - G4LogicalVolume* FrontThermalShield_log = - new G4LogicalVolume(FrontThermalShield_sol, CFRP, - "FrontThermalShield_log"); - G4VPhysicalVolume* FrontThermalShield_phys; - FrontThermalShield_phys = new G4PVPlacement - (0, G4ThreeVector(0, 0, OpticalBench_off-FrontThermalShield_off), - "FrontThermalShield_phys", FrontThermalShield_log, TelBox_phys, false, 0); - FrontThermalShield_log->SetVisAttributes(sol_white_vat); - - - - //*************************************************************************** - // Telescope assembly - //*************************************************************************** - - - // Primary mirror mount: ~1.9 kg - G4double TelPriMirMount_rad = 420.*mm; - G4double TelPriMirMount_yoff = 220.*mm; - G4double TelPriMirMount_thi = 13.*mm; - G4double TelPriMirMount_off = FrontThermalShield_off + - 0.5*TelPriMirMount_thi + 20.*mm; - G4double TelPriMirMountCutout0_dia = 350.*mm; - G4double TelPriMirMountCutout0_yoff = 220.*mm; - G4double TelPriMirMountCutout1_dia = 60.*mm; - G4double TelPriMirMountCutout1_yoff = 190.*mm; - G4double TelPriMirMountCutout2_dia = 46.*mm; - G4double TelPriMirMountCutout2_yoff = 367.*mm; - - // Primary mirror mount - // full thickness assumed; material density is decreased to conserve mass - G4Tubs* TelPriMirMount_tub = new G4Tubs("TelPriMirMount_tub", - 0, TelPriMirMount_rad, 0.5*TelPriMirMount_thi, -115.*deg, 50.*deg); - G4Tubs* TelPriMirMountCutout0_tub = new G4Tubs - ("TelPriMirMountCutout0_tub", 0.5*TelPriMirMountCutout0_dia, - 0.8*TelPriMirMountCutout0_dia, TelPriMirMount_thi, 0., 360.*deg); - G4SubtractionSolid* TelPriMirMount_sol0 = new G4SubtractionSolid - ("TelPriMirMount_sol1", TelPriMirMount_tub, TelPriMirMountCutout0_tub, - G4Transform3D(G4RotationMatrix(), - G4ThreeVector(0.,-TelPriMirMountCutout0_yoff,0.))); - G4Tubs* TelPriMirMountCutout1_tub = new G4Tubs("TelPriMirMountCutout1_tub", - 0, 0.5*TelPriMirMountCutout1_dia, TelPriMirMount_thi, 0.*deg, 360.*deg); - G4SubtractionSolid* TelPriMirMount_sol1 = new G4SubtractionSolid - ("TelPriMirMount_sol1", TelPriMirMount_sol0, TelPriMirMountCutout1_tub, - G4Transform3D(G4RotationMatrix(), - G4ThreeVector(0., -TelPriMirMountCutout1_yoff,0.))); - G4Tubs* TelPriMirMountCutout2_tub = new G4Tubs("TelPriMirMountCutout2_tub", - 0, 0.5*TelPriMirMountCutout2_dia, TelPriMirMount_thi, 0.*deg, 360.*deg); - G4SubtractionSolid* TelPriMirMount_sol2 = new G4SubtractionSolid - ("TelPriMirMount_sol2", TelPriMirMount_sol1, TelPriMirMountCutout2_tub, - G4Transform3D(G4RotationMatrix(), - G4ThreeVector(0., -TelPriMirMountCutout2_yoff, 0.))); - G4LogicalVolume* TelPriMirMount_log = - new G4LogicalVolume(TelPriMirMount_sol2, Al6061, "TelPriMirMount_log"); - G4VPhysicalVolume* TelPriMirMount_phys; - TelPriMirMount_phys = new G4PVPlacement(0, - G4ThreeVector(0.,TelPriMirMount_yoff, OpticalBench_off-TelPriMirMount_off), - "TelPriMirMount_phys", TelPriMirMount_log, TelBox_phys, false, 0); - TelPriMirMount_log->SetVisAttributes(sol_blue_vat); - - - // primary mirror: 2.03 kg - G4double TelPriMir_thi = 9.0*mm; - G4double TelPriMir_rad = 500.0*mm; - G4double TelPriMir_dia = 304.0*mm; - G4double TelPriMir_yoff = 30.0*mm; - G4double TelPriMirHol_dia = 35.0*mm; - G4double TelPriMirHol_thi = 5.0*mm; - G4double TelPriMirHol_len = 45.0*mm; - G4double TelPriMir_off = TelPriMirMount_off + - 0.5*TelPriMirMount_thi +2.*mm; - // primary mirror: cylinder - G4Tubs* TelPriMirCyl_sol = new G4Tubs("TelPriMirCyl_sol", - 0.5*TelPriMirHol_dia, 0.5*TelPriMirHol_dia+TelPriMirHol_thi, - 0.5*TelPriMirHol_len, 0., 360.*deg); - G4LogicalVolume* TelPriMirCyl_log = - new G4LogicalVolume(TelPriMirCyl_sol, SiC, "TelPriMirCyl_log"); - G4VPhysicalVolume* TelPriMirCyl_phys; - TelPriMirCyl_phys= new G4PVPlacement(0, G4ThreeVector - (0,TelPriMir_yoff,OpticalBench_off-TelPriMir_off+0.5*TelPriMirMount_thi), - "TelPriMirCyl_phys", TelPriMirCyl_log, TelBox_phys, false, 0); - TelPriMirCyl_log->SetVisAttributes(sol_green_vat); - // primary mirror: dish - G4Sphere* TelPriMir_sol = - new G4Sphere("TelPriMir_sol", TelPriMir_rad - TelPriMir_thi, - TelPriMir_rad, 0., 360.*deg, - std::atan(0.5*TelPriMirHol_dia/TelPriMir_rad), - std::atan(0.5*TelPriMir_dia/TelPriMir_rad) - - std::atan(0.5*TelPriMirHol_dia/TelPriMir_rad)); - G4LogicalVolume* TelPriMir_log = - new G4LogicalVolume(TelPriMir_sol, SiC, "TelPriMir_log"); - G4VPhysicalVolume* TelPriMir_phys; - TelPriMir_phys= new G4PVPlacement(0, G4ThreeVector - (0,TelPriMir_yoff, OpticalBench_off-TelPriMir_off-TelPriMir_rad-18.*mm), - "TelPriMir_phys", TelPriMir_log, TelBox_phys, false, 0); - TelPriMir_log->SetVisAttributes(sol_green_vat); - - - - // *** NOTE *** - // Following items are NOT in TelBox_phys but in TelShield_phys - - G4ThreeVector offset(0,0,0.5*TelShield_len); - - // Telescope mast: 0.41 kg - G4double TelMast_thi = 2.0*mm; - G4double TelMast_dia = 44.0*mm; - G4double TelMast_len = 500.*mm; - G4double TelMast_off = 0.5*TelMast_len; - // Telescope mast - G4Tubs* TelMast_sol = - new G4Tubs("TelMast_sol", 0.5*TelMast_dia-TelMast_thi, 0.5*TelMast_dia, - 0.5*TelMast_len, 0., 360.*deg); - G4LogicalVolume* TelMast_log = - new G4LogicalVolume(TelMast_sol, SiC, "TelMast_log"); - G4VPhysicalVolume* TelMast_phys; - TelMast_phys= new G4PVPlacement(0, offset+G4ThreeVector - (0,-0.5*TelPriMir_dia - 0.5*TelMast_dia + TelPriMir_yoff, -TelMast_off), - "TelMastTel_phys", TelMast_log, TelShield_phys, false, 0); - TelMast_log->SetVisAttributes(sol_grey_vat); - - - // secondary mirror: 0.27 kg - G4double TelSecMir_dia = 40.0*mm; - G4double TelSecMir_len = 70.0*mm; - G4double TelSecMir_off = TelMast_off + 0.5*TelMast_len - - 0.5*TelSecMir_len + 10.*mm; - // secondary mirror - G4Tubs* TelSecMir_sol = - new G4Tubs("TelSecMir_sol", 0., 0.5*TelSecMir_dia, - 0.5*TelSecMir_len, 0., 360.*deg); - G4LogicalVolume* TelSecMir_log = - new G4LogicalVolume(TelSecMir_sol, SiC, "TelSecMir_log"); - G4VPhysicalVolume* TelSecMir_phys; - TelSecMir_phys= new G4PVPlacement - (0, offset+G4ThreeVector(0,TelPriMir_yoff, -TelSecMir_off), - "TelSecMir_phys", TelSecMir_log, TelShield_phys, false, 0); - TelSecMir_log->SetVisAttributes(sol_green_vat); - - - - // secondary mirror holder: 0.35 kg - G4double TelSecHol_top = 20.0*mm; - G4double TelSecHol_bot = 60.0*mm; - G4double TelSecHol_thi = 5.0*mm; - G4double TelSecHolCap1_thi = 5.0*mm; - G4double TelSecHolCap1_len = TelSecHol_bot; - G4double TelSecHolCap2_thi = 5.0*mm; - G4double TelSecHolCap2_len = TelSecHol_top; - G4double TelSecHol_len = 0.5*(TelPriMir_dia-TelSecMir_dia) - - TelSecHolCap1_thi - TelSecHolCap2_thi; - // secondary mirror holder - G4Trap* TelSecHol_sol = new G4Trap("TelSecHol_sol", - TelSecHol_thi, TelSecHol_len, - TelSecHol_bot, TelSecHol_top); - G4RotationMatrix tel_rot11; tel_rot11.rotateZ(-90.*deg); - tel_rot11.rotateY(-90.*deg); tel_rot11.rotateX(-90.*deg); - G4LogicalVolume* TelSecHol_log = - new G4LogicalVolume(TelSecHol_sol, SiC, "TelSecHol_log"); - G4VPhysicalVolume* TelSecHol_phys; - TelSecHol_phys= new G4PVPlacement(G4Transform3D - (tel_rot11, offset + G4ThreeVector(0, - TelPriMir_yoff-0.5*TelSecHol_len-0.5*TelSecMir_dia-TelSecHolCap2_thi, - -TelMast_off-0.5*TelMast_len+TelSecHol_top)), - "TelSecHol_phys", TelSecHol_log, TelShield_phys, false, 0); - TelSecHol_log->SetVisAttributes(sol_grey_vat); - // cap1 - G4Tubs* TelSecHolCap1_sol = - new G4Tubs("TelSecHolCap1_sol", 0.5*TelMast_dia, - 0.5*TelMast_dia+TelSecHolCap1_thi, 0.5*TelSecHolCap1_len, 0., 360.*deg); - G4LogicalVolume* TelSecHolCap1_log = - new G4LogicalVolume(TelSecHolCap1_sol, SiC, "TelSecHolCap1_log"); - G4VPhysicalVolume* TelSecHolCap1_phys; - TelSecHolCap1_phys= new G4PVPlacement(0, - offset + G4ThreeVector(0,-0.5*TelPriMir_dia-0.5*TelMast_dia+TelPriMir_yoff, - -TelMast_off-0.5*TelMast_len+0.5*TelSecHol_bot), - "TelSecHolCap1_phys", TelSecHolCap1_log, TelShield_phys, false, 0); - TelSecHolCap1_log->SetVisAttributes(sol_grey_vat); - // cap2 - G4Tubs* TelSecHolCap2_sol = - new G4Tubs("TelSecHolCap2_sol", 0.5*TelSecMir_dia, - 0.5*TelSecMir_dia+TelSecHolCap2_thi, 0.5*TelSecHolCap2_len, 0., 360.*deg); - G4LogicalVolume* TelSecHolCap2_log = - new G4LogicalVolume(TelSecHolCap2_sol, SiC, "TelSecHolCap2_log"); - G4VPhysicalVolume* TelSecHolCap2_phys; - TelSecHolCap2_phys= new G4PVPlacement(0, - offset + G4ThreeVector(0,TelPriMir_yoff, - -TelMast_off-0.5*TelMast_len+0.5*TelSecHol_top), - "TelSecHolCap2_phys", TelSecHolCap2_log, TelShield_phys, false, 0); - TelSecHolCap2_log->SetVisAttributes(sol_grey_vat); - - - // make structure invisible - // arms_o_log->SetVisAttributes(G4VisAttributes::Invisible); - // arms_i_log->SetVisAttributes(G4VisAttributes::Invisible); - // TelShield_log->SetVisAttributes(G4VisAttributes::Invisible); - - // make structure solid - // arms_o_log->SetVisAttributes(sol_yellow_vat); - // arms_i_log->SetVisAttributes(yellow_vat); - // TelShield_log->SetVisAttributes(sol_green_vat); - - -// **************************************************************************** diff --git a/examples/advanced/cosmicray_charging/src/LISAPhysicsList.cc b/examples/advanced/cosmicray_charging/src/LISAPhysicsList.cc deleted file mode 100644 index ef20468739..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAPhysicsList.cc +++ /dev/null @@ -1,764 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISAPhysicsList class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 09/08/2004: Removed call by pointer of hadronics classes -// 09/08/2004: Added MuNuclear interaction -// 08/12/2005: changed particle construction -// -// ******************************************************************** - -// Hadronics : -// : PreCo for p, n at 0 < E < 70 MeV -// : BiC for p, n at 65 MeV < E < 6.1 GeV -// : QGSP for p, n at 6 GeV < E < 100 TeV -// : BiC for pi at 0 < E < 1.5 GeV -// : LEP for pi at 1.4 GeV < E < 6.1 GeV -// : QGSP for pi at 6 GeV < E < 100 TeV -// : LEP for H2, H3, He4 at 0 < E < 100 MeV -// : BiC for H2, H3, He4 at 80 MeV < E < 40 GeV -// : BiC for He3, GenIon at 0 < E < 30 GeV - - - -#include "LISAPhysicsList.hh" - -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" - -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include - - -// Constructor ///////////////////////////////////////////////////////////// -LISAPhysicsList::LISAPhysicsList() : G4VUserPhysicsList() { - - VerboseLevel = 1; - SetVerboseLevel(VerboseLevel); -} - - -// Destructor ////////////////////////////////////////////////////////////// -LISAPhysicsList::~LISAPhysicsList() -{;} - - - -//////////////////////////////////////////////////////////////////////////// -// Construct Particles ///////////////////////////////////////////////////// - -#include "G4LeptonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4MesonConstructor.hh" -#include "G4BosonConstructor.hh" -#include "G4ShortLivedConstructor.hh" -#include "G4IonConstructor.hh" - -void LISAPhysicsList::ConstructParticle() { - - G4LeptonConstructor lepton; - lepton.ConstructParticle(); - - G4BosonConstructor boson; - boson.ConstructParticle(); - - G4MesonConstructor meson; - meson.ConstructParticle(); - - G4BaryonConstructor baryon; - baryon.ConstructParticle(); - - G4ShortLivedConstructor shortLived; - shortLived.ConstructParticle(); - - G4IonConstructor ion; - ion.ConstructParticle(); - -} - -///////////////////////////////////////////////////////////////////////////// -// Construct Processes ////////////////////////////////////////////////////// - -void LISAPhysicsList::ConstructProcess() { - - AddTransportation(); - - ElectromagneticPhysics(); - - HadronicPhysics(); - - ElectroNuclearPhysics(); - - GeneralPhysics(); - -} - - -///////////////////////////////////////////////////////////////////////////// -// Transportation /////////////////////////////////////////////////////////// - -void LISAPhysicsList::AddTransportation() { - - G4VUserPhysicsList::AddTransportation(); - -} - - -///////////////////////////////////////////////////////////////////////////// -// Electromagnetic Processes //////////////////////////////////////////////// - -// all charged particles -#include "G4MultipleScattering.hh" - -// gamma -#include "G4LowEnergyRayleigh.hh" -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" - -// e- -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" - -// e+ -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -// muons -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" -#include "G4MuonMinusCaptureAtRest.hh" - -// hadrons and ions -#include "G4hIonisation.hh" -#include "G4ionIonisation.hh" - - -void LISAPhysicsList::ElectromagneticPhysics() { - - - G4cout << "Electromagnetic Physics" << G4endl; - - - // processes - - G4LowEnergyPhotoElectric* lowePhot = new G4LowEnergyPhotoElectric(); - G4LowEnergyIonisation* loweIon = new G4LowEnergyIonisation(); - G4LowEnergyBremsstrahlung* loweBrem = new G4LowEnergyBremsstrahlung(); - lowePhot->SetCutForLowEnSecPhotons(100*eV); - loweIon ->SetCutForLowEnSecPhotons(100*eV); - loweBrem->SetCutForLowEnSecPhotons(100*eV); - - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - G4String particleType = particle->GetParticleType(); - G4double particleCharge = particle->GetPDGCharge(); - - if (particleName == "gamma") { - //gamma - pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh()); - pmanager->AddDiscreteProcess(lowePhot); - pmanager->AddDiscreteProcess(new G4LowEnergyCompton()); - pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion()); - - } else if (particleName == "e-") { - //electron - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - // Modifying Facrange from default value (0.199) - // to improve backscattering fraction for electrons - // aMultipleScattering->SetRangeFactor(0.01); - pmanager->AddProcess(aMultipleScattering, -1, 1, 1); - pmanager->AddProcess(loweIon, -1, 2, 2); - pmanager->AddProcess(loweBrem, -1,-1, 3); - - } else if (particleName == "e+") { - //positron - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - pmanager->AddProcess(aMultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4eIonisation(), -1, 2, 2); - pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3); - pmanager->AddProcess(new G4eplusAnnihilation(), 0,-1, 4); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - pmanager->AddProcess(aMultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); - pmanager->AddProcess(new G4MuBremsstrahlung(), -1,-1, 3); - pmanager->AddProcess(new G4MuPairProduction(), -1,-1, 4); - if( particleName == "mu-" ) - pmanager->AddProcess(new G4MuonMinusCaptureAtRest(),0,-1,-1); - - } else if( particleName == "GenericIon" || - particleName == "alpha" || - particleName == "He3") { - // ions - pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); - - } else if (!particle->IsShortLived() && - particleCharge != 0.0 && - particleName != "chargedgeantino") { - // all other stable charged particles - pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4hIonisation, -1, 2, 2); - } - - } - -} - - - - -/////////////////////////////////////////////////////////////////////////// -// ElectroNuclear Physics ///////////////////////////////////////////////// -void LISAPhysicsList::ElectroNuclearPhysics() { - - G4cout << "ElectroNuclear Physics" << G4endl; - - // gamma - G4ProcessManager* pmanager = G4Gamma::Gamma()->GetProcessManager(); - // low energy - theGammaReaction = new G4GammaNuclearReaction; - theGammaReaction->SetMaxEnergy(3.5*GeV); - thePhotoNuclearProcess.RegisterMe(theGammaReaction); - // high energy - theHEModel_PN = new G4TheoFSGenerator; - theCascade_PN = new G4StringChipsParticleLevelInterface; - theHEModel_PN->SetTransport(theCascade_PN); - theHEModel_PN->SetHighEnergyGenerator(theStringModel_PN); - theStringDecay_PN = new G4ExcitedStringDecay(&theFragmentation_PN); - - theStringModel_PN = new G4QGSModel; - theStringModel_PN -> SetFragmentationModel(theStringDecay_PN); - theHEModel_PN->SetMinEnergy(3.*GeV); - theHEModel_PN->SetMaxEnergy(100*TeV); - thePhotoNuclearProcess.RegisterMe(theHEModel_PN); - pmanager->AddDiscreteProcess(&thePhotoNuclearProcess); - - // e- - pmanager = G4Electron::Electron()->GetProcessManager(); - // see G4ElectroNuclearReaction.hh for defaults - // 0 < E < 10 TeV - theElectroReaction = new G4ElectroNuclearReaction; - theElectroReaction->SetMaxEnergy(10*TeV); - theElectronNuclearProcess.RegisterMe(theElectroReaction); - pmanager->AddDiscreteProcess(&theElectronNuclearProcess); - - // e+ - pmanager = G4Positron::Positron()->GetProcessManager(); - // see G4ElectroNuclearReaction.hh for defaults - // 0 < E < 10 TeV - thePositronNuclearProcess.RegisterMe(theElectroReaction); - pmanager->AddDiscreteProcess(&thePositronNuclearProcess); - - // Mu-nuclear reaction - // mu- - pmanager = G4MuonMinus::MuonMinus()->GetProcessManager(); - pmanager->AddDiscreteProcess(&theMuMinusNuclearInteraction); - // mu+ - pmanager = G4MuonPlus::MuonPlus()->GetProcessManager(); - pmanager->AddDiscreteProcess(&theMuPlusNuclearInteraction); - - -} - - - -///////////////////////////////////////////////////////////////////////////// -// Hadronic Physics ///////////////////////////////////////////////////////// -void LISAPhysicsList::HadronicPhysics() { - - - G4cout << "Hadronic Physics" << G4endl; - - - // **************************************************// - // *** preparing inelastic reactions for hadrons *** // - // **************************************************// - // - // high energy model for proton, neutron, pions and kaons - theHEModel = new G4TheoFSGenerator; - // all models for treatment of thermal nucleus - theEvaporation = new G4Evaporation; - theFermiBreakUp = new G4FermiBreakUp; - theMF = new G4StatMF; - // evaporation logic - theHandler = new G4ExcitationHandler; - theHandler->SetEvaporation(theEvaporation); - theHandler->SetFermiModel(theFermiBreakUp); - theHandler->SetMultiFragmentation(theMF); - theHandler->SetMaxAandZForFermiBreakUp(12, 6); - theHandler->SetMinEForMultiFrag(3.*MeV); - - // pre-equilibrium stage - thePreEquilib = new G4PreCompoundModel(theHandler); - thePreEquilib->SetMaxEnergy(70*MeV); - - // a no-cascade generator-precompound interaface - theCascade = new G4GeneratorPrecompoundInterface; - theCascade->SetDeExcitation(thePreEquilib); - - // QGSP model - theStringModel = new G4QGSModel; - theHEModel->SetTransport(theCascade); - theHEModel->SetHighEnergyGenerator(theStringModel); - theHEModel->SetMinEnergy(6*GeV); - theHEModel->SetMaxEnergy(100*TeV); - // Binary cascade for p, n - theCasc = new G4BinaryCascade; - theCasc->SetMinEnergy(65*MeV); - theCasc->SetMaxEnergy(6.1*GeV); - // fragmentation - theFragmentation = new G4QGSMFragmentation; - theStringDecay = new G4ExcitedStringDecay(theFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); - // - // Binary Cascade for Pi - theCascForPi = new G4BinaryCascade; - theCascForPi->SetMinEnergy(0*MeV); - theCascForPi->SetMaxEnergy(1.5*GeV); - // LEP to fill the gap - theLEPionPlusInelasticModel = new G4LEPionPlusInelastic(); - theLEPionPlusInelasticModel->SetMinEnergy(1.4*GeV); - theLEPionPlusInelasticModel->SetMaxEnergy(6.1*GeV); - theLEPionMinusInelasticModel = new G4LEPionMinusInelastic(); - theLEPionMinusInelasticModel->SetMinEnergy(1.4*GeV); - theLEPionMinusInelasticModel->SetMaxEnergy(6.1*GeV); - - - // *******************************************************// - // *** preparing inelastic reactions for light nuclei *** // - // *******************************************************// - // - // binary cascade for light nuclei - // NOTE: Shen XS only up to 10 GeV/n; - theIonCascade= new G4BinaryLightIonReaction; - theIonCascade->SetMinEnergy(80*MeV); - theIonCascade->SetMaxEnergy(40*GeV); - theTripathiCrossSection = new G4TripathiCrossSection; - theShenCrossSection = new G4IonsShenCrossSection; - // - // deuteron - theLEDeuteronInelasticModel = new G4LEDeuteronInelastic(); - theLEDeuteronInelasticModel->SetMaxEnergy(100*MeV); - // - // triton - theLETritonInelasticModel = new G4LETritonInelastic(); - theLETritonInelasticModel->SetMaxEnergy(100*MeV); - // - // alpha - theLEAlphaInelasticModel = new G4LEAlphaInelastic(); - theLEAlphaInelasticModel->SetMaxEnergy(100*MeV); - // - // Generic Ion and He3 - // NOTE: Shen XS only up to 10 GeV/n; - theGenIonCascade = new G4BinaryLightIonReaction; - theGenIonCascade->SetMinEnergy(0*MeV); - theGenIonCascade->SetMaxEnergy(30*GeV); - - - // ***************************// - // *** elastic scattering *** // - // ***************************// - // - theElasticModel = new G4LElastic(); - theElasticProcess.RegisterMe(theElasticModel); - - - // *****************************************// - // *** attaching processes to particles *** // - // *****************************************// - // - theParticleIterator->reset(); - while ((*theParticleIterator)()) { - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "pi+") { - pmanager->AddDiscreteProcess(&theElasticProcess); - // NOTE: PreCo crahes for Pi+ - // thePionPlusInelasticProcess.RegisterMe(thePreEquilib); - thePionPlusInelasticProcess.RegisterMe(theCascForPi); - thePionPlusInelasticProcess.RegisterMe(theLEPionPlusInelasticModel); - thePionPlusInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&thePionPlusInelasticProcess); - - } else if (particleName == "pi-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - // thePionMinusInelasticProcess.RegisterMe(thePreEquilib); - thePionMinusInelasticProcess.RegisterMe(theCascForPi); - thePionMinusInelasticProcess.RegisterMe(theLEPionMinusInelasticModel); - thePionMinusInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&thePionMinusInelasticProcess); - pmanager->AddRestProcess(&thePiMinusAbsorptionAtRest, ordDefault); - - } else if (particleName == "kaon+") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEKaonPlusInelasticModel = new G4LEKaonPlusInelastic(); - theLEKaonPlusInelasticModel->SetMaxEnergy(25*GeV); - theKaonPlusInelasticProcess.RegisterMe(theLEKaonPlusInelasticModel); - theKaonPlusInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&theKaonPlusInelasticProcess); - - } else if (particleName == "kaon0S") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEKaonZeroSInelasticModel = new G4LEKaonZeroSInelastic(); - theLEKaonZeroSInelasticModel->SetMaxEnergy(25*GeV); - theKaonZeroSInelasticProcess.RegisterMe(theLEKaonZeroSInelasticModel); - theKaonZeroSInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&theKaonZeroSInelasticProcess); - - } else if (particleName == "kaon0L") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEKaonZeroLInelasticModel = new G4LEKaonZeroLInelastic(); - theLEKaonZeroLInelasticModel->SetMaxEnergy(25*GeV); - theKaonZeroLInelasticProcess.RegisterMe(theLEKaonZeroLInelasticModel); - theKaonZeroLInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&theKaonZeroLInelasticProcess); - - } else if (particleName == "kaon-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEKaonMinusInelasticModel = new G4LEKaonMinusInelastic(); - theLEKaonMinusInelasticModel->SetMaxEnergy(25*GeV); - theKaonMinusInelasticProcess.RegisterMe(theLEKaonMinusInelasticModel); - theKaonMinusInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&theKaonMinusInelasticProcess); - pmanager->AddRestProcess(&theKaonMinusAbsorptionAtRest, ordDefault); - - } else if (particleName == "proton") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theProtonInelasticProcess.RegisterMe(thePreEquilib); - theProtonInelasticProcess.RegisterMe(theCasc); - theProtonInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&theProtonInelasticProcess); - - } else if (particleName == "anti_proton") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiProtonInelasticModel = new G4LEAntiProtonInelastic(); - theHEAntiProtonInelasticModel = new G4HEAntiProtonInelastic(); - theLEAntiProtonInelasticModel->SetMaxEnergy(25*GeV); - theAntiProtonInelasticProcess.RegisterMe(theLEAntiProtonInelasticModel); - theAntiProtonInelasticProcess.RegisterMe(theHEAntiProtonInelasticModel); - pmanager->AddDiscreteProcess(&theAntiProtonInelasticProcess); - pmanager->AddRestProcess(&theAntiProtonAnnihilationAtRest, ordDefault); - - } else if (particleName == "neutron") { - // elastic scattering - // LEP - theNeutronElasticModel1 = new G4LElastic(); - // theNeutronElasticModel1->SetMinEnergy(19*MeV); - theNeutronElasticProcess.RegisterMe(theNeutronElasticModel1); - // // HP - // theNeutronElasticModel2 = new G4NeutronHPElastic(); - // theNeutronElasticModel2->SetMaxEnergy(19.1*MeV); - // theNeutronElasticData = new G4NeutronHPElasticData; - // theNeutronElasticProcess.AddDataSet(theNeutronElasticData); - // theNeutronElasticProcess.RegisterMe(theNeutronElasticModel2); - pmanager->AddDiscreteProcess(&theNeutronElasticProcess); - // inelastic scattering - // // HP - // theNeutronInelasticModel1 = new G4NeutronHPInelastic(); - // theNeutronInelasticProcess.RegisterMe(theNeutronInelasticModel1); - // theNeutronInelasticData1 = new G4NeutronHPInelasticData; - // theNeutronInelasticProcess.AddDataSet(theNeutronInelasticData1); - // Preco_n + BiC + QGSP - theNeutronInelasticProcess.RegisterMe(thePreEquilib); - theNeutronInelasticProcess.RegisterMe(theCasc); - theNeutronInelasticProcess.RegisterMe(theHEModel); - pmanager->AddDiscreteProcess(&theNeutronInelasticProcess); - // capture - theNeutronCaptureModel1 = new G4LCapture(); - // theNeutronCaptureModel1->SetMinEnergy(19*MeV); - theNeutronCaptureProcess.RegisterMe(theNeutronCaptureModel1); - // theNeutronCaptureModel2 = new G4NeutronHPCapture; - // theNeutronCaptureProcess.RegisterMe(theNeutronCaptureModel2); - // theNeutronCaptureData = new G4NeutronHPCaptureData; - // theNeutronCaptureProcess.AddDataSet(theNeutronCaptureData); - pmanager->AddDiscreteProcess(&theNeutronCaptureProcess); - // fission - theNeutronFissionModel = new G4LFission(); - theNeutronFissionProcess.RegisterMe(theNeutronFissionModel); - pmanager->AddDiscreteProcess(&theNeutronFissionProcess); - - } else if (particleName == "anti_neutron") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiNeutronInelasticModel = new G4LEAntiNeutronInelastic(); - theHEAntiNeutronInelasticModel = new G4HEAntiNeutronInelastic(); - theLEAntiNeutronInelasticModel->SetMaxEnergy(25*GeV); - theAntiNeutronInelasticProcess.RegisterMe - (theLEAntiNeutronInelasticModel); - theAntiNeutronInelasticProcess.RegisterMe - (theHEAntiNeutronInelasticModel); - pmanager->AddDiscreteProcess(&theAntiNeutronInelasticProcess); - pmanager->AddRestProcess(&theAntiNeutronAnnihilationAtRest,ordDefault); - - } else if (particleName == "deuteron") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theDeuteronInelasticProcess = new G4DeuteronInelasticProcess; - theDeuteronInelasticProcess->AddDataSet(theTripathiCrossSection); - theDeuteronInelasticProcess->AddDataSet(theShenCrossSection); - theDeuteronInelasticProcess->RegisterMe(theLEDeuteronInelasticModel); - theDeuteronInelasticProcess->RegisterMe(theIonCascade); - pmanager->AddDiscreteProcess(theDeuteronInelasticProcess); - - } else if (particleName == "triton") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theTritonInelasticProcess = new G4TritonInelasticProcess; - theTritonInelasticProcess->AddDataSet(theTripathiCrossSection); - theTritonInelasticProcess->AddDataSet(theShenCrossSection); - theTritonInelasticProcess->RegisterMe(theLETritonInelasticModel); - theTritonInelasticProcess->RegisterMe(theIonCascade); - pmanager->AddDiscreteProcess(theTritonInelasticProcess); - - } else if (particleName == "alpha") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theAlphaInelasticProcess = new G4AlphaInelasticProcess; - theAlphaInelasticProcess->AddDataSet(theTripathiCrossSection); - theAlphaInelasticProcess->AddDataSet(theShenCrossSection); - theAlphaInelasticProcess->RegisterMe(theLEAlphaInelasticModel); - theAlphaInelasticProcess->RegisterMe(theIonCascade); - pmanager->AddDiscreteProcess(theAlphaInelasticProcess); - - } else if (particleName == "He3") { - // NOTE elastic scattering does not stick to He3! - pmanager->AddDiscreteProcess(&theElasticProcess); - theHe3InelasticProcess = new G4HadronInelasticProcess - ("He3Inelastic", G4He3::He3()); - theHe3InelasticProcess->AddDataSet(theTripathiCrossSection); - theHe3InelasticProcess->AddDataSet(theShenCrossSection); - theHe3InelasticProcess->RegisterMe(theGenIonCascade); - pmanager->AddDiscreteProcess(theHe3InelasticProcess); - - } else if (particleName == "GenericIon") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theGenericIonInelasticProcess = new G4HadronInelasticProcess - ("IonInelastic", G4GenericIon::GenericIon()); - theGenericIonInelasticProcess->AddDataSet(theTripathiCrossSection); - theGenericIonInelasticProcess->AddDataSet(theShenCrossSection); - theGenericIonInelasticProcess->RegisterMe(theGenIonCascade); - pmanager->AddDiscreteProcess(theGenericIonInelasticProcess); - - } else if (particleName == "lambda") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLELambdaInelasticModel = new G4LELambdaInelastic(); - theHELambdaInelasticModel = new G4HELambdaInelastic(); - theLELambdaInelasticModel->SetMaxEnergy(25*GeV); - theLambdaInelasticProcess.RegisterMe(theLELambdaInelasticModel); - theLambdaInelasticProcess.RegisterMe(theHELambdaInelasticModel); - pmanager->AddDiscreteProcess(&theLambdaInelasticProcess); - - } else if (particleName == "anti_lambda") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiLambdaInelasticModel = new G4LEAntiLambdaInelastic(); - theHEAntiLambdaInelasticModel = new G4HEAntiLambdaInelastic(); - theLEAntiLambdaInelasticModel->SetMaxEnergy(25*GeV); - theAntiLambdaInelasticProcess.RegisterMe(theLEAntiLambdaInelasticModel); - theAntiLambdaInelasticProcess.RegisterMe(theHEAntiLambdaInelasticModel); - pmanager->AddDiscreteProcess(&theAntiLambdaInelasticProcess); - - } else if (particleName == "omega-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEOmegaMinusInelasticModel = new G4LEOmegaMinusInelastic(); - theHEOmegaMinusInelasticModel = new G4HEOmegaMinusInelastic(); - theLEOmegaMinusInelasticModel->SetMaxEnergy(25*GeV); - theOmegaMinusInelasticProcess.RegisterMe(theLEOmegaMinusInelasticModel); - theOmegaMinusInelasticProcess.RegisterMe(theHEOmegaMinusInelasticModel); - pmanager->AddDiscreteProcess(&theOmegaMinusInelasticProcess); - - } else if (particleName == "anti_omega-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiOmegaMinusInelasticModel = new G4LEAntiOmegaMinusInelastic(); - theHEAntiOmegaMinusInelasticModel = new G4HEAntiOmegaMinusInelastic(); - theLEAntiOmegaMinusInelasticModel->SetMaxEnergy(25*GeV); - theAntiOmegaMinusInelasticProcess.RegisterMe - (theLEAntiOmegaMinusInelasticModel); - theAntiOmegaMinusInelasticProcess.RegisterMe - (theHEAntiOmegaMinusInelasticModel); - pmanager->AddDiscreteProcess(&theAntiOmegaMinusInelasticProcess); - - } else if (particleName == "sigma-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLESigmaMinusInelasticModel = new G4LESigmaMinusInelastic(); - theHESigmaMinusInelasticModel = new G4HESigmaMinusInelastic(); - theLESigmaMinusInelasticModel->SetMaxEnergy(25*GeV); - theSigmaMinusInelasticProcess.RegisterMe(theLESigmaMinusInelasticModel); - theSigmaMinusInelasticProcess.RegisterMe(theHESigmaMinusInelasticModel); - pmanager->AddDiscreteProcess(&theSigmaMinusInelasticProcess); - - } else if (particleName == "anti_sigma-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiSigmaMinusInelasticModel = new G4LEAntiSigmaMinusInelastic(); - theHEAntiSigmaMinusInelasticModel = new G4HEAntiSigmaMinusInelastic(); - theLEAntiSigmaMinusInelasticModel->SetMaxEnergy(25*GeV); - theAntiSigmaMinusInelasticProcess.RegisterMe - (theLEAntiSigmaMinusInelasticModel); - theAntiSigmaMinusInelasticProcess.RegisterMe - (theHEAntiSigmaMinusInelasticModel); - pmanager->AddDiscreteProcess(&theAntiSigmaMinusInelasticProcess); - - } else if (particleName == "sigma+") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLESigmaPlusInelasticModel = new G4LESigmaPlusInelastic(); - theHESigmaPlusInelasticModel = new G4HESigmaPlusInelastic(); - theLESigmaPlusInelasticModel->SetMaxEnergy(25*GeV); - theSigmaPlusInelasticProcess.RegisterMe(theLESigmaPlusInelasticModel); - theSigmaPlusInelasticProcess.RegisterMe(theHESigmaPlusInelasticModel); - pmanager->AddDiscreteProcess(&theSigmaPlusInelasticProcess); - - } else if (particleName == "anti_sigma+") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiSigmaPlusInelasticModel = new G4LEAntiSigmaPlusInelastic(); - theHEAntiSigmaPlusInelasticModel = new G4HEAntiSigmaPlusInelastic(); - theLEAntiSigmaPlusInelasticModel->SetMaxEnergy(25*GeV); - theAntiSigmaPlusInelasticProcess.RegisterMe - (theLEAntiSigmaPlusInelasticModel); - theAntiSigmaPlusInelasticProcess.RegisterMe - (theHEAntiSigmaPlusInelasticModel); - pmanager->AddDiscreteProcess(&theAntiSigmaPlusInelasticProcess); - - } else if (particleName == "xi0") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEXiZeroInelasticModel = new G4LEXiZeroInelastic(); - theHEXiZeroInelasticModel = new G4HEXiZeroInelastic(); - theLEXiZeroInelasticModel->SetMaxEnergy(25*GeV); - theXiZeroInelasticProcess.RegisterMe(theLEXiZeroInelasticModel); - theXiZeroInelasticProcess.RegisterMe(theHEXiZeroInelasticModel); - pmanager->AddDiscreteProcess(&theXiZeroInelasticProcess); - - } else if (particleName == "anti_xi0") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiXiZeroInelasticModel = new G4LEAntiXiZeroInelastic(); - theHEAntiXiZeroInelasticModel = new G4HEAntiXiZeroInelastic(); - theLEAntiXiZeroInelasticModel->SetMaxEnergy(25*GeV); - theAntiXiZeroInelasticProcess.RegisterMe(theLEAntiXiZeroInelasticModel); - theAntiXiZeroInelasticProcess.RegisterMe(theHEAntiXiZeroInelasticModel); - pmanager->AddDiscreteProcess(&theAntiXiZeroInelasticProcess); - - } else if (particleName == "xi-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEXiMinusInelasticModel = new G4LEXiMinusInelastic(); - theHEXiMinusInelasticModel = new G4HEXiMinusInelastic(); - theLEXiMinusInelasticModel->SetMaxEnergy(25*GeV); - theXiMinusInelasticProcess.RegisterMe(theLEXiMinusInelasticModel); - theXiMinusInelasticProcess.RegisterMe(theHEXiMinusInelasticModel); - pmanager->AddDiscreteProcess(&theXiMinusInelasticProcess); - - } else if (particleName == "anti_xi-") { - pmanager->AddDiscreteProcess(&theElasticProcess); - theLEAntiXiMinusInelasticModel = new G4LEAntiXiMinusInelastic(); - theHEAntiXiMinusInelasticModel = new G4HEAntiXiMinusInelastic(); - theLEAntiXiMinusInelasticModel->SetMaxEnergy(25*GeV); - theAntiXiMinusInelasticProcess.RegisterMe - (theLEAntiXiMinusInelasticModel); - theAntiXiMinusInelasticProcess.RegisterMe - (theHEAntiXiMinusInelasticModel); - pmanager->AddDiscreteProcess(&theAntiXiMinusInelasticProcess); - } - } -} - - -// Decays /////////////////////////////////////////////////////////////////// -#include "G4Decay.hh" -// #include "G4RadioactiveDecay.hh" -#include "G4IonTable.hh" -#include "G4Ions.hh" - -void LISAPhysicsList::GeneralPhysics() { - - // Add Decay Process - G4Decay* theDecayProcess = new G4Decay("decay"); - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); - } - } - -} - - - -// Cuts ///////////////////////////////////////////////////////////////////// -#include "G4Region.hh" -#include "G4RegionStore.hh" -#include "G4ProductionCuts.hh" - -void LISAPhysicsList::SetCuts() { - - // low energy limit - G4double lowlimit=250*eV; - G4ProductionCutsTable::GetProductionCutsTable() - ->SetEnergyRange(lowlimit, 100.*GeV); - - // default cuts for world volume - G4double cutValue = 2.0*mm; - SetCutValue(cutValue,"gamma"); - SetCutValue(cutValue,"e-"); - SetCutValue(cutValue,"e+"); - - // cuts per region: inertial sensor (250 eV for gamma, e-, e+) - G4Region* region = G4RegionStore::GetInstance()->GetRegion("sensor"); - G4ProductionCuts* cuts = new G4ProductionCuts(); - cuts->SetProductionCut(0.050*micrometer); - region->SetProductionCuts(cuts); - - if (verboseLevel>0) DumpCutValuesTable(); - -} - diff --git a/examples/advanced/cosmicray_charging/src/LISAPrimaryGeneratorAction.cc b/examples/advanced/cosmicray_charging/src/LISAPrimaryGeneratorAction.cc deleted file mode 100644 index 8dd0c05f87..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAPrimaryGeneratorAction.cc +++ /dev/null @@ -1,84 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISAPrimaryGeneratorAction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#include "LISAPrimaryGeneratorAction.hh" -#include "G4GeneralParticleSource.hh" - -#include "G4Event.hh" -#include "Randomize.hh" - - -LISAPrimaryGeneratorAction::LISAPrimaryGeneratorAction() { - - particleGun = new G4GeneralParticleSource(); - - energy_pri=0; - seeds[0]=-1; - seeds[1]=-1; - -} - - -LISAPrimaryGeneratorAction::~LISAPrimaryGeneratorAction() { - - delete particleGun; -} - - -void LISAPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - - energy_pri = 0.; - - // seeds - seeds[0] = *CLHEP::HepRandom::getTheSeeds(); - seeds[1] = *(CLHEP::HepRandom::getTheSeeds()+1); - // G4cout << " 1st seed: " << *seeds << G4endl;; - // G4cout << " 2nd seed: " << *(seeds+1) << G4endl; - // HepRandom::showEngineStatus(); - - particleGun->GeneratePrimaryVertex(anEvent); - - energy_pri = particleGun->GetParticleEnergy(); - -} - diff --git a/examples/advanced/cosmicray_charging/src/LISARunAction.cc b/examples/advanced/cosmicray_charging/src/LISARunAction.cc deleted file mode 100644 index 2536887fc6..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISARunAction.cc +++ /dev/null @@ -1,169 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISARunAction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#include "LISARunAction.hh" - -#include "LISARunActionMessenger.hh" -#include "LISAEventAction.hh" - -#ifdef G4ANALYSIS_USE -#include "LISAAnalysisManager.hh" -#endif - -#include "G4Run.hh" -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4VVisManager.hh" -#include "G4ios.hh" -#include "globals.hh" -#include - -#include "Randomize.hh" -#include - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISARunAction::LISARunAction() { - - // defaults - autoSeed = false; - - // create messenger - runMessenger = new LISARunActionMessenger(this); - -#ifdef G4ANALYSIS_USE - // Book histograms and ntuples - LISAAnalysisManager* analysis = LISAAnalysisManager::getInstance(); - analysis->Init(); -#endif - - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISARunAction::~LISARunAction() { - -#ifdef G4ANALYSIS_USE - // delete analysis - LISAAnalysisManager* analysis = LISAAnalysisManager::getInstance(); - analysis->Dispose(); -#endif - - delete runMessenger; - - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISARunAction::BeginOfRunAction(const G4Run* aRun) { - - // run id - G4int run_id = aRun->GetRunID(); - G4cout << "### Run " << run_id << " start." << G4endl; - - - std::ostringstream os; - - if(autoSeed) { - // automatic (time-based) random seeds and filenames for each run - G4cout << "*******************" << G4endl; - G4cout << "*** AUTOSEED ON ***" << G4endl; - G4cout << "*******************" << G4endl; - long seeds[2]; - time_t systime = time(NULL); - seeds[0] = (long) systime; - seeds[1] = (long) (systime*G4UniformRand()); - // G4cout << "seed1: " << seeds[0] << "; seed2: " << seeds[1] << G4endl; - CLHEP::HepRandom::setTheSeeds(seeds); - CLHEP::HepRandom::showEngineStatus(); - - // form filename (eg run00_7324329387_3284798343.out) - os << "run" << std::setw(2) << std::setfill('0') << run_id - << "_" << seeds[0] << "_" << seeds[1] << std::ends; - } - else { - // default filename, seeds set by /random/reset - os << "charge" << std::ends; - } - // G4cout << "Filename: " << G4String(os.str()) << G4endl; - - - // send filename to eventAction - LISAEventAction* eventAction = (LISAEventAction*) - G4RunManager::GetRunManager()->GetUserEventAction(); - eventAction->SetFilename( G4String(os.str())+G4String(".out") ); - - -#ifdef G4ANALYSIS_USE - // Book histograms and ntuples - LISAAnalysisManager* analysis = LISAAnalysisManager::getInstance(); - analysis->bookRun( G4String(os.str())+G4String(".hbook") ); -#endif - - - // if (G4VVisManager::GetConcreteInstance()) { - // G4UImanager* UI = G4UImanager::GetUIpointer(); - // UI->ApplyCommand("/vis/scene/notifyHandlers"); - // } - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISARunAction::EndOfRunAction(const G4Run*) { - -#ifdef G4ANALYSIS_USE - LISAAnalysisManager* analysis = LISAAnalysisManager::getInstance(); - analysis->FinishRun(); -#endif - - // if (G4VVisManager::GetConcreteInstance()) { - // G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); - // } - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/cosmicray_charging/src/LISARunActionMessenger.cc b/examples/advanced/cosmicray_charging/src/LISARunActionMessenger.cc deleted file mode 100644 index 2468f5f2f9..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISARunActionMessenger.cc +++ /dev/null @@ -1,83 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISARunActionMessenger class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#include "LISARunActionMessenger.hh" - -#include - -#include "LISARunAction.hh" - - -LISARunActionMessenger::LISARunActionMessenger - (LISARunAction* runAct) : runAction(runAct){ - - SetAutoSeedCmd = new G4UIcmdWithABool("/run/autoSeed",this); - SetAutoSeedCmd->SetGuidance("Switch on/off time-based random seeds"); - SetAutoSeedCmd->SetGuidance(" true: run seeds determined by system time"); - SetAutoSeedCmd->SetGuidance("false: use command 'random/resetEngineFrom'"); - SetAutoSeedCmd->SetGuidance("Default = false"); - SetAutoSeedCmd->SetParameterName("autoSeed", false); - SetAutoSeedCmd->AvailableForStates(G4State_Idle); - -} - - -LISARunActionMessenger::~LISARunActionMessenger() { - - delete SetAutoSeedCmd; -} - - -void LISARunActionMessenger::SetNewValue - (G4UIcommand* command, G4String newValue) { - - if(command == SetAutoSeedCmd) { - G4int vl; - const char* t = newValue; - std::istringstream is(t); - is >> vl; - runAction->SetAutoSeed(vl!=0); - } - -} - diff --git a/examples/advanced/cosmicray_charging/src/LISAScienceModuleStructures.icc b/examples/advanced/cosmicray_charging/src/LISAScienceModuleStructures.icc deleted file mode 100644 index 54c3662774..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAScienceModuleStructures.icc +++ /dev/null @@ -1,517 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 24/11/2004: migrated to cmath -// 08/12/2005: removed compilation warnings -// -// ******************************************************************** - - -//************************************************************************** -// Science Module Structure (SMS) -//************************************************************************** -// Primary Structure -// Lower Deck -// Upper Deck -// Thermal Shield -// Solar Array -// Optical Solar Reflectors (OSR) -// Radiator Panels -//************************************************************************** - - - // Structure Tubes - G4double StructTube_dia = 100.*mm; - G4double StructTube_thi = 11.*mm; - G4double StructTube_hei = 490.*mm; - G4double StructTube_sep = 1480.*mm; - G4double StructTubeSpacer_dia = 200.*mm; - G4double StructTubeSpacer_thi = 50.*mm; - G4double StructTubeSpacer_hei = 16.*mm; - - // Diagonal Panels - G4double DiagPanelSkin_thi = 0.5*mm; - G4double DiagPanelSkin_len = 1420.*mm; - G4double DiagPanelSkin_hei = 490.*mm; - G4double DiagPanelCore_thi = 19.*mm; - G4double DiagPanelCore_len = DiagPanelSkin_len; - G4double DiagPanelCore_hei = DiagPanelSkin_hei; - G4double DiagPanelCutout_dia = 466.*mm; - G4double DiagPanelCutout_off = 50.*mm; - - // Radial Panels - G4double RadialPanelSkin_thi = 0.5*mm; - G4double RadialPanelSkin_hei = 490.*mm; - G4double RadialPanelSkin_top = 424.*mm; - G4double RadialPanelSkin_bot = 159.*mm; - G4double RadialPanelCore_thi = 19.*mm; - G4double RadialPanel_roff = 910.*mm; - - // Upper and Lower Decks - G4double UpperDeck_dia = 2700.*mm; - G4double UpperDeckCore_thi = 29.0*mm; - G4double LowerDeckCore_thi = 29.0*mm; - G4double UpperDeck_zoff = 0.5*mm; - G4double UpperDeckSkin_thi = 0.5*mm; - G4double LowerDeck_dia = 2174.*mm; - G4double LowerDeckSkin_thi = 0.5*mm; - G4double LowerDeck_zoff = 0.5*mm; - G4double MLIBlanket_dia = LowerDeck_dia; - G4double MLIBlanket_thi = 1.0*mm; - - // Thermal Shield - G4double ThermalShieldFacesheet_thi = 0.6*mm; - G4double ThermalShieldCore_thi = 20.*mm; - G4double ThermalShieldFoam_thi = 20.*mm; - G4double ThermalShield_zoff = StructTubeSpacer_hei; - G4double ThermalShield_thi = 3*ThermalShieldFacesheet_thi + - ThermalShieldCore_thi + - ThermalShieldFoam_thi; - // Solar Array and OSR Assy - G4double SolarArray_i = 0.5*1683*mm; - G4double SolarArray_o = 0.5*UpperDeck_dia; - G4double SolarArray_thi = 0.5*mm; - G4double OSRAssy_o = SolarArray_i; - G4double OSRAssy_thi = 0.5*mm; - - // Radiator Panels - G4double RadPanel_top = UpperDeck_dia+12.*mm; - G4double RadPanel_bot = LowerDeck_dia+12.*mm; - G4double RadPanel_len = 510.*mm; - G4double RadPanel_thi = 1.25*mm; - // G4double RadPanel_zoff = 20*mm; - G4double RadPanelCutout_roff = 0.5*(RadPanel_top+RadPanel_bot)/2.; - G4double RadPanelCutout1_dia = 466.*mm; - G4double RadPanelCutout1_len = 200.*mm; - G4double RadPanelCutout2_hei = 500.*mm; - G4double RadPanelCutout2_wid = 400.*mm; - G4double RadPanelCutout2_len = 400.*mm; - G4double RadPanelCutout2_zoff = 330.*mm; - - - - - // Structure Tubes ********************************************************** - - // Struct Tube: 2.16 kg - // (ID adjusted to make up for mass of missing top part of tube) - G4Tubs* StructTube_sol = new G4Tubs("StructTube_sol", - 0.5*StructTube_dia-StructTube_thi, 0.5*StructTube_dia, - 0.5*StructTube_hei, 0., 360.*deg); - G4LogicalVolume* StructTube_log = new G4LogicalVolume - (StructTube_sol, Al6061, "StructTube_log"); - G4VPhysicalVolume* StructTube_phys; - StructTube_phys = new G4PVPlacement(0, spacecraft_pos + - G4ThreeVector(+0.5*StructTube_sep/std::cos(30.*deg),0,0), - "StructTube_phys", StructTube_log, wld_phys, false, 0); - StructTube_phys = new G4PVPlacement(0, spacecraft_pos + - G4ThreeVector(-0.5*StructTube_sep*std::tan(30.*deg),+0.5*StructTube_sep,0), - "StructTube_phys", StructTube_log, wld_phys, false, 1); - StructTube_phys = new G4PVPlacement(0, spacecraft_pos + - G4ThreeVector(-0.5*StructTube_sep*std::tan(30.*deg),-0.5*StructTube_sep,0), - "StructTube_phys", StructTube_log, wld_phys, false, 2); - StructTube_log->SetVisAttributes(sol_white_vat); - - // Struct Tube Spacer: 1.0 kg - // (ID adjusted to include mass of missing TopCap) - G4Tubs* StructTubeSpacer_sol = new G4Tubs("StructTubeSpacer_sol", - 0.5*StructTubeSpacer_dia-StructTubeSpacer_thi, - 0.5*StructTubeSpacer_dia, 0.5*StructTubeSpacer_hei, 0., 360.*deg); - G4LogicalVolume* StructTubeSpacer_log = new G4LogicalVolume - (StructTubeSpacer_sol, Al6061, "StructTubeSpacer_log"); - G4VPhysicalVolume* StructTubeSpacer_phys; - StructTubeSpacer_phys = new G4PVPlacement - (0, spacecraft_pos + G4ThreeVector(+0.5*StructTube_sep/std::cos(30.*deg),0, - +0.5*StructTube_hei+UpperDeckCore_thi+2*UpperDeckSkin_thi - +0.5*StructTubeSpacer_hei+UpperDeck_zoff), - "StructTubeSpacer_phys", StructTubeSpacer_log, wld_phys, false, 0); - StructTubeSpacer_phys = new G4PVPlacement - (0, spacecraft_pos + G4ThreeVector(-0.5*StructTube_sep*std::tan(30.*deg), - +0.5*StructTube_sep, +0.5*StructTube_hei+UpperDeckCore_thi - +2*UpperDeckSkin_thi+0.5*StructTubeSpacer_hei+UpperDeck_zoff), - "StructTubeSpacer_phys", StructTubeSpacer_log, wld_phys, false, 1); - StructTubeSpacer_phys = new G4PVPlacement - (0, spacecraft_pos + G4ThreeVector(-0.5*StructTube_sep*std::tan(30.*deg), - -0.5*StructTube_sep,+0.5*StructTube_hei+UpperDeckCore_thi - +2*UpperDeckSkin_thi+0.5*StructTubeSpacer_hei+UpperDeck_zoff), - "StructTubeSpacer_phys", StructTubeSpacer_log, wld_phys, false, 2); - StructTubeSpacer_log->SetVisAttributes(sol_grey_vat); - - - // Diagonal Panels ********************************************************** - - // Diagonal Panel: core (x3) - // Honeycomb core is represented by Al6061 at 0.05 g/cm3 - G4Box* DiagPanelCore_box = new G4Box("DiagPanelCore_box", - 0.5*DiagPanelCore_len-2.*cm, 0.5*DiagPanelCore_thi, 0.5*DiagPanelCore_hei); - G4Tubs* DiagPanelCutout_tub = new G4Tubs("DiagPanelCutout_tub", 0., - 0.5*DiagPanelCutout_dia, 2*DiagPanelCore_thi, 0., 360.*deg); - G4UnionSolid* DiagPanelCutout_sol = new G4UnionSolid("DiagPanelCutout_sol", - DiagPanelCutout_tub, DiagPanelCutout_tub, - G4Transform3D(G4RotationMatrix(), G4ThreeVector(DiagPanelCutout_off,0,0))); - G4RotationMatrix SMS_rot1; SMS_rot1.rotateX(90.*deg); - G4SubtractionSolid* DiagPanelCore_sol = - new G4SubtractionSolid("DiagPanelCore_sol", DiagPanelCore_box, - DiagPanelCutout_sol, G4Transform3D(SMS_rot1, - G4ThreeVector(-0.5*DiagPanelCutout_off,0,0))); - G4LogicalVolume* DiagPanelCore_log = new G4LogicalVolume - (DiagPanelCore_sol, AlHoneycomb, "DiagPanelCore_log"); - G4VPhysicalVolume* DiagPanelCore_phys; - G4RotationMatrix SMS_rot2; SMS_rot2.rotateZ(90.*deg); - DiagPanelCore_phys = new G4PVPlacement(G4Transform3D(SMS_rot2, - spacecraft_pos + G4ThreeVector(-0.5*DiagPanelCore_len*std::tan(30.*deg),0,0)), - "DiagPanelCore_phys", DiagPanelCore_log, wld_phys, false, 0); - G4RotationMatrix SMS_rot3; SMS_rot3.rotateZ(-30.*deg); - DiagPanelCore_phys = new G4PVPlacement(G4Transform3D(SMS_rot3, - spacecraft_pos + G4ThreeVector - (.5*DiagPanelCore_len*std::sin(30.*deg)*std::tan(30.*deg), - 0.5*DiagPanelCore_len*std::sin(30.*deg),0)), "DiagPanelCore_phys", - DiagPanelCore_log, wld_phys, false, 1); - G4RotationMatrix SMS_rot4; SMS_rot4.rotateZ(+30.*deg); - DiagPanelCore_phys = new G4PVPlacement(G4Transform3D(SMS_rot4, - spacecraft_pos + G4ThreeVector - (0.5*DiagPanelCore_len*std::sin(30*deg)*std::tan(30*deg), - -0.5*DiagPanelCore_len*std::sin(30.*deg),0)), - "DiagPanelCore_phys", DiagPanelCore_log, wld_phys, false, 2); - DiagPanelCore_log->SetVisAttributes(sol_white_vat); - - // Diagonal Panel: skins (x6) - G4Box* DiagPanelSkin_box = new G4Box("DiagPanelSkin_box", - 0.5*DiagPanelSkin_len-2.*cm, 0.5*DiagPanelSkin_thi, 0.5*DiagPanelSkin_hei); - G4SubtractionSolid* DiagPanelSkin_sol = - new G4SubtractionSolid("DiagPanelSkin_sol", DiagPanelSkin_box, - DiagPanelCutout_sol, G4Transform3D(SMS_rot1, - G4ThreeVector(-0.5*DiagPanelCutout_off,0,0))); - G4LogicalVolume* DiagPanelSkin_log = new G4LogicalVolume - (DiagPanelSkin_sol, CFRP, "DiagPanelSkin_log"); - G4VPhysicalVolume* DiagPanelSkin_phys; - DiagPanelSkin_phys = new G4PVPlacement(G4Transform3D(SMS_rot2, - spacecraft_pos + G4ThreeVector(-0.5*DiagPanelCore_len*std::tan(30.*deg) + - 0.5*(DiagPanelCore_thi+DiagPanelSkin_thi),0,0)), - "DiagPanelSkin_phys", DiagPanelSkin_log, wld_phys, false, 0); - DiagPanelSkin_phys = new G4PVPlacement(G4Transform3D(SMS_rot2, - spacecraft_pos + G4ThreeVector(-0.5*DiagPanelCore_len*std::tan(30.*deg) - - 0.5*(DiagPanelCore_thi+DiagPanelSkin_thi),0,0)), - "DiagPanelSkin_phys", DiagPanelSkin_log, wld_phys, false, 1); - DiagPanelSkin_phys = new G4PVPlacement(G4Transform3D(SMS_rot3, - spacecraft_pos + G4ThreeVector - (0.5*DiagPanelCore_len*std::sin(30*deg)*std::tan(30*deg), - 0.5*DiagPanelCore_len*std::sin(30.*deg),0) + - G4ThreeVector(0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::sin(30.*deg), - 0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::cos(30.*deg),0)), - "DiagPanelSkin_phys", DiagPanelSkin_log, wld_phys, false, 2); - DiagPanelSkin_phys = new G4PVPlacement(G4Transform3D(SMS_rot3, - spacecraft_pos + G4ThreeVector - (0.5*DiagPanelCore_len*std::sin(30*deg)*std::tan(30*deg), - 0.5*DiagPanelCore_len*std::sin(30.*deg),0) + - G4ThreeVector(-0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::sin(30.*deg), - -0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::cos(30.*deg),0)), - "DiagPanelSkin_phys", DiagPanelSkin_log, wld_phys, false, 3); - DiagPanelSkin_phys = new G4PVPlacement(G4Transform3D(SMS_rot4, - spacecraft_pos + G4ThreeVector - (0.5*DiagPanelCore_len*std::sin(30*deg)*std::tan(30*deg), - -0.5*DiagPanelCore_len*std::sin(30.*deg),0) + - G4ThreeVector(0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::sin(30.*deg), - -0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::cos(30.*deg),0)), - "DiagPanelSkin_phys", DiagPanelSkin_log, wld_phys, false, 3); - DiagPanelSkin_phys = new G4PVPlacement(G4Transform3D(SMS_rot4, - spacecraft_pos + G4ThreeVector - (0.5*DiagPanelCore_len*std::sin(30*deg)*std::tan(30*deg), - -0.5*DiagPanelCore_len*std::sin(30.*deg),0) + - G4ThreeVector(-0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::sin(30.*deg), - +0.5*(DiagPanelCore_thi+DiagPanelSkin_thi)*std::cos(30.*deg),0)), - "DiagPanelSkin_phys", DiagPanelSkin_log, wld_phys, false, 4); - DiagPanelSkin_log->SetVisAttributes(sol_white_vat); - - - - // Radial Panels ************************************************************ - - // Radial Panels: skins (x3) - G4Trap* RadialPanelSkin_sol = new G4Trap("RadialPanelSkin_sol", - 2*RadialPanelSkin_thi+RadialPanelCore_thi, RadialPanelSkin_hei, - RadialPanelSkin_top, RadialPanelSkin_bot); - G4LogicalVolume* RadialPanelSkin_log = new G4LogicalVolume - (RadialPanelSkin_sol, CFRP, "RadialPanelSkin_log"); - G4VPhysicalVolume* RadialPanelSkin_phys; - G4RotationMatrix SMS_rot5; SMS_rot5.rotateX(-90.*deg); - RadialPanelSkin_phys = new G4PVPlacement - (G4Transform3D(SMS_rot5, spacecraft_pos + - G4ThreeVector(+RadialPanel_roff/std::cos(30.*deg),0,0)), - "RadialPanelSkin_phys", RadialPanelSkin_log, wld_phys, false, 0); - G4RotationMatrix SMS_rot6; - SMS_rot6.rotateX(-90.*deg); SMS_rot6.rotateZ(120.*deg); - RadialPanelSkin_phys = new G4PVPlacement - (G4Transform3D(SMS_rot6, spacecraft_pos + - G4ThreeVector(-RadialPanel_roff*std::tan(30.*deg),+RadialPanel_roff,0)), - "RadialPanelSkin_phys", RadialPanelSkin_log, wld_phys, false, 1); - G4RotationMatrix SMS_rot7; - SMS_rot7.rotateX(-90.*deg); SMS_rot7.rotateZ(-120.*deg); - RadialPanelSkin_phys = new G4PVPlacement - (G4Transform3D(SMS_rot7, spacecraft_pos + - G4ThreeVector(-RadialPanel_roff*std::tan(30.*deg),-RadialPanel_roff,0)), - "RadialPanelSkin_phys", RadialPanelSkin_log, wld_phys, false, 2); - RadialPanelSkin_log->SetVisAttributes(sol_white_vat); - // Radial Panels: core - // Honeycomb core is represented by Al6061 at 0.05 g/cm3 - G4Trap* RadialPanelCore_sol = new G4Trap("RadialPanelCore_sol", - RadialPanelCore_thi, RadialPanelSkin_hei, - RadialPanelSkin_top, RadialPanelSkin_bot); - G4LogicalVolume* RadialPanelCore_log = new G4LogicalVolume - (RadialPanelCore_sol, AlHoneycomb, "RadialPanelCore_log"); - G4VPhysicalVolume* RadialPanelCore_phys; - RadialPanelCore_phys = new G4PVPlacement - (0, G4ThreeVector(0,0,0), "RadialPanelCore_phys", - RadialPanelCore_log, RadialPanelSkin_phys, false, 0); - RadialPanelCore_log->SetVisAttributes(sol_white_vat); - - - - // Upper and Lower Decks **************************************************** - - - // Upper Deck - skin: 2*4.56 kg - G4Tubs* UpperDeckSkin_sol = new G4Tubs - ("UpperDeckSkin_sol", 0., 0.5*UpperDeck_dia, - 0.5*UpperDeckCore_thi + UpperDeckSkin_thi, 0., 360.*deg); - G4LogicalVolume* UpperDeckSkin_log = new G4LogicalVolume - (UpperDeckSkin_sol, CFRP, "UpperDeckSkin_log"); - G4VPhysicalVolume* UpperDeckSkin_phys; - UpperDeckSkin_phys = new G4PVPlacement - (0, spacecraft_pos + G4ThreeVector(0,0,+0.5*StructTube_hei - +0.5*UpperDeckCore_thi+UpperDeckSkin_thi+UpperDeck_zoff), - "UpperDeckSkin_phys", UpperDeckSkin_log, wld_phys, false, 0); - UpperDeckSkin_log->SetVisAttributes(white_vat); - // upper deck - core: 8.3 kg - // Honeycomb core is represented by Al6061 at 0.05 g/cm3 - G4Tubs* UpperDeckCore_sol = new G4Tubs - ("UpperDeckCore_sol",0.,.5*UpperDeck_dia,.5*UpperDeckCore_thi,0.,360.*deg); - G4LogicalVolume* UpperDeckCore_log = new G4LogicalVolume - (UpperDeckCore_sol, AlHoneycomb, "UpperDeckCore_log"); - G4VPhysicalVolume* UpperDeckCore_phys; - UpperDeckCore_phys = new G4PVPlacement(0,G4ThreeVector(), - "UpperDeckCore_phys", UpperDeckCore_log, UpperDeckSkin_phys, false, 0); - UpperDeckCore_log->SetVisAttributes(white_vat); - - // Lower Deck - skin: 2*2.95 kg - G4Tubs* LowerDeckSkin_sol = new G4Tubs - ("LowerDeckSkin_sol", 0., 0.5*LowerDeck_dia, - 0.5*LowerDeckCore_thi + LowerDeckSkin_thi, 0., 360.*deg); - G4LogicalVolume* LowerDeckSkin_log = new G4LogicalVolume - (LowerDeckSkin_sol, CFRP, "LowerDeckSkin_log"); - G4VPhysicalVolume* LowerDeckSkin_phys; - LowerDeckSkin_phys = new G4PVPlacement - (0, spacecraft_pos + G4ThreeVector(0,0,-0.5*StructTube_hei - -0.5*LowerDeckCore_thi-LowerDeckSkin_thi-LowerDeck_zoff), - "LowerDeckSkin_phys", LowerDeckSkin_log, wld_phys, false, 0); - LowerDeckSkin_log->SetVisAttributes(sol_dgrey_vat); - // lower deck - core: 5.38 kg - // Honeycomb core is represented by Al6061 at 0.05 g/cm3 - G4Tubs* LowerDeckCore_sol = new G4Tubs - ("LowerDeckCore_sol",0.,.5*LowerDeck_dia,.5*LowerDeckCore_thi,0.,360.*deg); - G4LogicalVolume* LowerDeckCore_log = new G4LogicalVolume - (LowerDeckCore_sol, AlHoneycomb, "LowerDeckCore_log"); - G4VPhysicalVolume* LowerDeckCore_phys; - LowerDeckCore_phys = new G4PVPlacement(0,G4ThreeVector(), - "LowerDeckCore_phys", LowerDeckCore_log, LowerDeckSkin_phys, false, 0); - LowerDeckCore_log->SetVisAttributes(sol_dgrey_vat); - - // Lower Deck MLI Blanket: 5.3 kg - G4Tubs* MLIBlanket_sol = new G4Tubs("MLIBlanket_sol", - 0., 0.5*MLIBlanket_dia, 0.5*MLIBlanket_thi, 0., 360.*deg); - G4LogicalVolume* MLIBlanket_log = new G4LogicalVolume - (MLIBlanket_sol, MLImat, "MLIBlanket_log"); - G4VPhysicalVolume* MLIBlanket_phys; - MLIBlanket_phys = new G4PVPlacement - (0, spacecraft_pos + G4ThreeVector(0,0,-0.5*StructTube_hei - -LowerDeckCore_thi-2*LowerDeckSkin_thi-LowerDeck_zoff-.5*MLIBlanket_thi), - "MLIBlanket_phys", MLIBlanket_log, wld_phys, false, 0); - MLIBlanket_log->SetVisAttributes(sol_orange_vat); - - - // Thermal Shield *********************************************************** - - // Thermal Shield (Facesheet+HoneycombCore+Facesheet+Foam+Facesheet) - // Thermal Shield - facesheet: 3*5.47 kg - G4Tubs* ThermalShieldFacesheet_sol = new G4Tubs("ThermalShieldFacesheet_sol", - 0., 0.5*UpperDeck_dia, 0.5*ThermalShield_thi, 0., 360.*deg); - G4LogicalVolume* ThermalShieldFacesheet_log = new G4LogicalVolume - (ThermalShieldFacesheet_sol, CFRP, "ThermalShieldFacesheet_log"); - G4VPhysicalVolume* ThermalShieldFacesheet_phys; - ThermalShieldFacesheet_phys = new G4PVPlacement(0, - spacecraft_pos + G4ThreeVector - (0,0,+.5*StructTube_hei+UpperDeckCore_thi+2*UpperDeckSkin_thi+ - UpperDeck_zoff+0.5*ThermalShield_thi+ThermalShield_zoff), - "ThermalShieldFacesheet_phys",ThermalShieldFacesheet_log,wld_phys,false,0); - ThermalShieldFacesheet_log->SetVisAttributes(red_vat); - // Thermal Shield: core - // Honeycomb core is represented by Al6061 at 0.05 g/cm3 - G4Tubs* ThermalShieldCore_sol = new G4Tubs("ThermalShieldCore_sol", - 0., 0.5*UpperDeck_dia, 0.5*ThermalShieldCore_thi, 0., 360.*deg); - G4LogicalVolume* ThermalShieldCore_log = new G4LogicalVolume - (ThermalShieldCore_sol, AlHoneycomb, "ThermalShieldCore_log"); - G4VPhysicalVolume* ThermalShieldCore_phys; - ThermalShieldCore_phys = new G4PVPlacement(0, - G4ThreeVector(0,0,.5*ThermalShieldFacesheet_thi+.5*ThermalShieldCore_thi), - "ThermalShieldCore_phys", ThermalShieldCore_log, - ThermalShieldFacesheet_phys, false, 0); - ThermalShieldCore_log->SetVisAttributes(red_vat); - // Thermal Shield: foam - G4Tubs* ThermalShieldFoam_sol = new G4Tubs("ThermalShieldFoam_sol", - 0., 0.5*UpperDeck_dia, 0.5*ThermalShieldFoam_thi, 0., 360.*deg); - G4LogicalVolume* ThermalShieldFoam_log = new G4LogicalVolume - (ThermalShieldFoam_sol, foam, "ThermalShieldFoam_log"); - G4VPhysicalVolume* ThermalShieldFoam_phys; - ThermalShieldFoam_phys = new G4PVPlacement(0, - G4ThreeVector(0,0,-.5*ThermalShieldFacesheet_thi-.5*ThermalShieldFoam_thi), - "ThermalShieldFoam_phys", ThermalShieldFoam_log, - ThermalShieldFacesheet_phys, false, 0); - ThermalShieldFoam_log->SetVisAttributes(red_vat); - - - - // Solar Array and OSR Assy ************************************************* - - // Solar Array: 13.5 kg - // Thickness for correct mass - G4Tubs* SolarArray_sol = new G4Tubs("SolarArray_sol", - SolarArray_i, SolarArray_o, 0.5*SolarArray_thi, 0., 360.*deg); - G4LogicalVolume* SolarArray_log = new G4LogicalVolume - (SolarArray_sol, Scell, "SolarArray_log"); - G4VPhysicalVolume* SolarArray_phys; - SolarArray_phys = new G4PVPlacement(0, spacecraft_pos + - G4ThreeVector(0,0,+.5*StructTube_hei+UpperDeckCore_thi+2*UpperDeckSkin_thi+ - UpperDeck_zoff+ThermalShield_thi+ThermalShield_zoff+0.5*SolarArray_thi), - "SolarArray_phys",SolarArray_log, wld_phys, false, 0); - SolarArray_log->SetVisAttributes(lblue_vat); - // Optical Solar Reflector: NO MASS - G4Tubs* OSRAssy_sol = new G4Tubs("OSRAssy_sol", - 0., OSRAssy_o, 0.5*OSRAssy_thi, 0., 360.*deg); - G4LogicalVolume* OSRAssy_log = new G4LogicalVolume - (OSRAssy_sol, vacuum, "OSRAssy_log"); - G4VPhysicalVolume* OSRAssy_phys; - OSRAssy_phys = new G4PVPlacement(0, spacecraft_pos + - G4ThreeVector(0,0,+.5*StructTube_hei+UpperDeckCore_thi+2*UpperDeckSkin_thi+ - UpperDeck_zoff+ThermalShield_thi+ThermalShield_zoff+0.5*OSRAssy_thi), - "OSRAssy_phys",OSRAssy_log, wld_phys, false, 0); - OSRAssy_log->SetVisAttributes(lblue_vat); - - - - // Radiator Panels ********************************************************** - - // Radiator Panels: 3*3.87 kg - // Thickess adjusted for correct mass of FS+Core+FS - G4Cons* RadPanel_con = new G4Cons("RadPanel_con", - 0.5*RadPanel_bot-RadPanel_thi, 0.5*RadPanel_bot, - 0.5*RadPanel_top-RadPanel_thi, 0.5*RadPanel_top, - 0.5*RadPanel_len, 0.*deg, 360.*deg); - // window cutouts - G4Tubs* RadPanelCutout_tub = new G4Tubs("RadPanelCutout_tub", 0., - 0.5*RadPanelCutout1_dia, 2*RadPanelCutout1_len, 0., 360.*deg); - G4RotationMatrix SMS_rot8; SMS_rot8.rotateY(90.*deg); - G4SubtractionSolid* RadPanel1_sol = - new G4SubtractionSolid("RadPanel1_sol", RadPanel_con, - RadPanelCutout_tub, G4Transform3D(SMS_rot8, - G4ThreeVector(-RadPanelCutout_roff,0,0))); - G4RotationMatrix SMS_rot9; - SMS_rot9.rotateY(90.*deg); SMS_rot9.rotateZ(49.*deg); - G4SubtractionSolid* RadPanel2_sol = - new G4SubtractionSolid("RadPanel2_sol", RadPanel1_sol, - RadPanelCutout_tub, G4Transform3D(SMS_rot9, G4ThreeVector - (RadPanelCutout_roff*std::sin(49.*deg),RadPanelCutout_roff*std::cos(49.*deg),0))); - G4RotationMatrix SMS_rot10; - SMS_rot10.rotateY(90.*deg); SMS_rot10.rotateZ(131.*deg); - G4SubtractionSolid* RadPanel3_sol = - new G4SubtractionSolid("RadPanel3_sol", RadPanel2_sol, - RadPanelCutout_tub, G4Transform3D(SMS_rot10, G4ThreeVector - (RadPanelCutout_roff*std::sin(131.*deg),RadPanelCutout_roff*std::cos(131.*deg),0))); - // box cutouts - G4Box* RadPanelCutout_box = new G4Box("RadPanelCutout_box", - 0.5*RadPanelCutout2_len, 0.5*RadPanelCutout2_wid, 0.5*RadPanelCutout2_hei); - G4SubtractionSolid* RadPanel4_sol = - new G4SubtractionSolid("RadPanel4_sol", RadPanel3_sol, - RadPanelCutout_box, G4Transform3D(G4RotationMatrix(), G4ThreeVector - (RadPanelCutout_roff,0,RadPanelCutout2_zoff))); - G4RotationMatrix SMS_rot11; SMS_rot11.rotateZ(+120.*deg); - G4SubtractionSolid* RadPanel5_sol = - new G4SubtractionSolid("RadPanel5_sol", RadPanel4_sol, - RadPanelCutout_box, G4Transform3D(SMS_rot11, - G4ThreeVector(RadPanelCutout_roff*std::cos(120.*deg), - RadPanelCutout_roff*std::sin(120.*deg), RadPanelCutout2_zoff))); - G4RotationMatrix SMS_rot12; SMS_rot12.rotateZ(-120.*deg); - G4SubtractionSolid* RadPanel6_sol = - new G4SubtractionSolid("RadPanel6_sol", RadPanel5_sol, - RadPanelCutout_box, G4Transform3D(SMS_rot12, - G4ThreeVector(RadPanelCutout_roff*std::cos(-120.*deg), - RadPanelCutout_roff*std::sin(-120.*deg), RadPanelCutout2_zoff))); - G4LogicalVolume* RadPanel_log = - new G4LogicalVolume(RadPanel6_sol, Al6061, "RadPanel_log"); - G4VPhysicalVolume* RadPanel_phys; - RadPanel_phys = - new G4PVPlacement(0, spacecraft_pos + G4ThreeVector(0,0,0), - "RadPanel_phys", RadPanel_log, wld_phys, false, 0); - RadPanel_log->SetVisAttributes(sol_white_vat); - -//***************************************************************************** - - - // invisible spacecraft top - if(0) { - UpperDeckSkin_log->SetVisAttributes(G4VisAttributes::Invisible); - UpperDeckCore_log->SetVisAttributes(G4VisAttributes::Invisible); - ThermalShieldFacesheet_log->SetVisAttributes(G4VisAttributes::Invisible); - ThermalShieldCore_log->SetVisAttributes(G4VisAttributes::Invisible); - ThermalShieldFoam_log->SetVisAttributes(G4VisAttributes::Invisible); - // SolarArray_log->SetVisAttributes(G4VisAttributes::Invisible); - OSRAssy_log->SetVisAttributes(G4VisAttributes::Invisible); - } - - // solid spacecraft top - if(0) { - UpperDeckSkin_log->SetVisAttributes(sol_white_vat); - UpperDeckCore_log->SetVisAttributes(sol_white_vat); - ThermalShieldFacesheet_log->SetVisAttributes(sol_red_vat); - ThermalShieldCore_log->SetVisAttributes(sol_red_vat); - ThermalShieldFoam_log->SetVisAttributes(sol_red_vat); - SolarArray_log->SetVisAttributes(sol_lblue_vat); - OSRAssy_log->SetVisAttributes(sol_lgreen_vat); - } - -//***************************************************************************** diff --git a/examples/advanced/cosmicray_charging/src/LISASensorHousing.icc b/examples/advanced/cosmicray_charging/src/LISASensorHousing.icc deleted file mode 100644 index afbb401c19..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISASensorHousing.icc +++ /dev/null @@ -1,107 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 08/12/2005: removed compilation warnings -// -// ******************************************************************** - - -//************************************************************************* -// Sensor Vacuum Housing (TiAlloy) -// Modified to contain LTP Inertial Sensor and Caging Mechanism -//************************************************************************* - - - // Sensor housing - G4double SensorHousing_thi = 5.0*mm; - G4double SensorHousing_yoff = +30.0*mm; - // original dimentions - // G4double SensorHousing_len = 170.0*mm; - // G4double SensorHousing_wid = 120.0*mm; - // G4double SensorHousing_hei = 120.0*mm; - G4double SensorHousing_dia = 125.0*mm; - G4double SensorHousing_hei = 224.0*mm; - - - // Sensor vacuum housing **************************************************** - - // // Outer dimensions as shown in Solid Model Document - // G4Box* SensorHousing_o_sol = new G4Box("SensorHousing_o_sol", - // 0.5*SensorHousing_len, 0.5*SensorHousing_hei, 0.5*SensorHousing_wid); - // G4LogicalVolume* SensorHousing_o_log = - // new G4LogicalVolume(SensorHousing_o_sol, TiAlloy,"SensorHousing_o_log"); - // G4VPhysicalVolume* SensorHousing_o_phys = new G4PVPlacement(G4Transform3D - // (IS_rot, G4ThreeVector(0,SensorHousing_yoff,OpticalBench_off)), - // "SensorHousing_o_phys", SensorHousing_o_log, wld_phys, false, 0); - // G4Box* SensorHousing_i_sol = new G4Box("SensorHousing_i_sol", - // 0.5*SensorHousing_len-SensorHousing_thi, - // 0.5*SensorHousing_hei-SensorHousing_thi, - // 0.5*SensorHousing_wid-SensorHousing_thi); - // G4LogicalVolume* SensorHousing_i_log = - // new G4LogicalVolume(SensorHousing_i_sol, vacuum, "SensorHousing_i_log"); - // G4VPhysicalVolume* SensorHousing_i_phys = new G4PVPlacement - // (0, G4ThreeVector(0,0,0), "SensorHousing_i_phys", - // SensorHousing_i_log, SensorHousing_o_phys, false, 0); - // SensorHousing_o_log->SetVisAttributes(blue_vat); - // SensorHousing_i_log->SetVisAttributes(blue_vat); - - - // Modified to contain LTP Inertial Sensor and Caging Mechanism - G4Tubs* SensorHousing_o_sol = new G4Tubs("SensorHousing_o_sol", - 0., 0.5*SensorHousing_dia, 0.5*SensorHousing_hei, 0., 360.*deg); - G4LogicalVolume* SensorHousing_o_log = - new G4LogicalVolume(SensorHousing_o_sol, TiAlloy, "SensorHousing_o_log"); - G4VPhysicalVolume* SensorHousing_o_phys; - SensorHousing_o_phys = new G4PVPlacement(G4Transform3D - (IS_rot, G4ThreeVector(0,SensorHousing_yoff,OpticalBench_off)), - "SensorHousing_o_phys", SensorHousing_o_log, TelBox_phys, false, 0); - G4Tubs* SensorHousing_i_sol = new G4Tubs("SensorHousing_i_sol", - 0., 0.5*SensorHousing_dia - SensorHousing_thi, 0.5*SensorHousing_hei - - SensorHousing_thi, 0., 360.*deg); - G4LogicalVolume* SensorHousing_i_log = - new G4LogicalVolume(SensorHousing_i_sol, vacuum, "SensorHousing_i_log"); - G4VPhysicalVolume* SensorHousing_i_phys; - SensorHousing_i_phys = new G4PVPlacement - (0, G4ThreeVector(0,0,0), "SensorHousing_i_phys", - SensorHousing_i_log, SensorHousing_o_phys, false, 0); - SensorHousing_o_log->SetVisAttributes(blue_vat); - SensorHousing_i_log->SetVisAttributes(blue_vat); - - -//***************************************************************************** diff --git a/examples/advanced/cosmicray_charging/src/LISAStackingAction.cc b/examples/advanced/cosmicray_charging/src/LISAStackingAction.cc deleted file mode 100644 index b3b4d295b7..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAStackingAction.cc +++ /dev/null @@ -1,167 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISAStackingAction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#include "LISAStackingAction.hh" - -#include "LISAStackingActionMessenger.hh" - -#include "G4Track.hh" -#include "G4TrackStatus.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleTypes.hh" -#include - -LISAStackingAction::LISAStackingAction() { - - // messenger defaults - PrimarySurveyFlag = false; - ParticleSurveyFlag = false; - - // create messenger - stackingMessenger = new LISAStackingActionMessenger(this); - -} - - -LISAStackingAction::~LISAStackingAction() { - - delete stackingMessenger; - -} - - -G4ClassificationOfNewTrack LISAStackingAction::ClassifyNewTrack -(const G4Track* aTrack) { - - - // write primary spectrum to file - if(PrimarySurveyFlag) { - if(!aTrack->GetParentID()) { - G4double energy = aTrack->GetKineticEnergy(); - std::ofstream primaries("primaries.out",std::ios::app); - primaries << energy/MeV << G4endl; - return (G4ClassificationOfNewTrack) fKill; - } - } - - // Particle Survey - if(ParticleSurveyFlag) { - G4String particle = aTrack->GetDefinition()->GetParticleName(); - G4double energy = aTrack->GetKineticEnergy(); - // - // gammas above 1 MeV - if(particle=="gamma" && energy>1*MeV) { - std::ofstream gammas("gammas.out",std::ios::app); - gammas << energy/MeV << G4endl; - } - // electrons and positrons above 1 MeV - else if((particle=="e-" || particle=="e+") && energy>1.*MeV) { - std::ofstream electrons("electrons.out",std::ios::app); - electrons << energy/MeV << G4endl; - } - // delta electrons - // else if(particle=="e-" && aTrack->GetParentID()>0) { - // std::ofstream deltas("deltas.out",std::ios::app); - // deltas << energy/eV << G4endl; - // return (G4ClassificationOfNewTrack) fKill; - // } - // - // neutrons - else if(particle=="neutron") { - std::ofstream neutrons("neutrons.out",std::ios::app); - neutrons << energy/MeV << G4endl; - } - // pions - else if(particle=="pi+" || particle=="pi-" || particle=="pi0") { - std::ofstream pions("pions.out",std::ios::app); - pions << energy/MeV << G4endl; - } - // fragments (energy per nucleon) - else if(particle=="deuteron" || particle=="triton" || - particle=="He3" || particle=="alpha") { - G4int A = aTrack->GetDefinition()->GetBaryonNumber(); - std::ofstream fragments("fragments.out",std::ios::app); - fragments << energy/A/MeV << G4endl; - } - // muons - else if(particle=="mu+" || particle=="mu-") { - std::ofstream muons("muons.out",std::ios::app); - muons << energy/MeV << G4endl; - } - // kaons - else if(particle=="kaon+" || particle=="kaon-" || - particle=="kaon0S" || particle=="kaon0L" ) { - std::ofstream kaons("kaons.out",std::ios::app); - kaons << energy/MeV << G4endl; - } - // nuclei (energy per nucleon) - else if(aTrack->GetDefinition()->GetParticleType()=="nucleus") { - G4int A = aTrack->GetDefinition()->GetBaryonNumber(); - std::ofstream nuclei("nuclei.out",std::ios::app); - nuclei << energy/A/MeV << "\t" << particle << G4endl; - } - // others - else if(particle!="proton" && energy>1.*MeV) { - std::ofstream others("others.out",std::ios::app); - others << energy/MeV << "\t" << particle << G4endl; - } - - } - - - return (G4ClassificationOfNewTrack) fWaiting; - -} - - -void LISAStackingAction::NewStage() {;} - - -void LISAStackingAction::PrepareNewEvent() {;} - - - - - - - diff --git a/examples/advanced/cosmicray_charging/src/LISAStackingActionMessenger.cc b/examples/advanced/cosmicray_charging/src/LISAStackingActionMessenger.cc deleted file mode 100644 index bef89507b5..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISAStackingActionMessenger.cc +++ /dev/null @@ -1,112 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISAStackingActionMessenger class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#include "LISAStackingActionMessenger.hh" - -#include - -#include "LISAStackingAction.hh" - - -LISAStackingActionMessenger::LISAStackingActionMessenger - (LISAStackingAction* stackAct) : stackingAction(stackAct){ - - // set flag for primaries survey - SetPriSurvey = new G4UIcmdWithABool("/surveys/surveyPrimaries",this); - SetPriSurvey->SetGuidance - ("Dump primary energies (MeV) to file 'primaries.out'"); - SetPriSurvey->SetGuidance("Default = false"); - SetPriSurvey->SetParameterName("SurveyPrimariesFlag", false); - SetPriSurvey->AvailableForStates(G4State_Idle); - - // set flag for particle survey - SetPartSurvey = new G4UIcmdWithABool("/surveys/surveyParticles",this); - SetPartSurvey->SetGuidance("Dump particle energies to different files"); - SetPartSurvey->SetGuidance("Fragments and nuclei in MeV/nucleon, other in MeV."); - SetPartSurvey->SetGuidance("'gammas.out': gammas above 1 MeV"); - SetPartSurvey->SetGuidance("'electrons.out': e- and e+ above 1 MeV"); - SetPartSurvey->SetGuidance("'neutrons.out': all neutrons"); - SetPartSurvey->SetGuidance("'pions.out': all pions"); - SetPartSurvey->SetGuidance("'muons.out': all muons"); - SetPartSurvey->SetGuidance("'kaons.out': all kaons"); - SetPartSurvey->SetGuidance("'fragments.out': 2H, 3H, He3, alphas"); - SetPartSurvey->SetGuidance("'nuclei.out': all nuclei"); - SetPartSurvey->SetGuidance("'others.out': others above 1 MeV"); - SetPartSurvey->SetGuidance("Default = false"); - SetPartSurvey->SetParameterName("SurveyParticlesFlag", false); - SetPartSurvey->AvailableForStates(G4State_Idle); - -} - - -LISAStackingActionMessenger::~LISAStackingActionMessenger() { - - delete SetPriSurvey; - delete SetPartSurvey; - -} - - -void LISAStackingActionMessenger::SetNewValue - (G4UIcommand* command, G4String newValue) { - - if(command == SetPriSurvey) { - G4int vl; - const char* t = newValue; - std::istringstream is(t); - is >> vl; - stackingAction->SetPrimarySurvey(vl!=0); - } - - else if(command == SetPartSurvey) { - G4int vl; - const char* t = newValue; - std::istringstream is(t); - is >> vl; - stackingAction->SetParticleSurvey(vl!=0); - } - - - -} - diff --git a/examples/advanced/cosmicray_charging/src/LISASteppingAction.cc b/examples/advanced/cosmicray_charging/src/LISASteppingAction.cc deleted file mode 100644 index 45815b172a..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISASteppingAction.cc +++ /dev/null @@ -1,181 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISASteppingAction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - - -#include "LISASteppingAction.hh" - -#include "LISASteppingActionMessenger.hh" - -#include "G4Step.hh" -#include "G4Track.hh" -#include "G4TrackStatus.hh" -#include "G4StepPoint.hh" -#include "G4ParticleDefinition.hh" -#include "G4DynamicParticle.hh" -#include "G4ParticleTypes.hh" -#include "G4VPhysicalVolume.hh" -#include "G4VTouchable.hh" -#include "G4TouchableHistory.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISASteppingAction::LISASteppingAction() { - - charge_in[0] = 0; - charge_in[1] = 0; - charge_out[0] = 0; - charge_out[1] = 0; - - // defaults - FlagSpectrum = false; - - // create messenger - steppingMessenger = new LISASteppingActionMessenger(this); - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -LISASteppingAction::~LISASteppingAction() { - - delete steppingMessenger; - -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void LISASteppingAction::UserSteppingAction(const G4Step* fStep) { - - if(fStep->GetTrack()->GetNextVolume()) { - - // step points - G4TouchableHistory* thePreTouchable = - (G4TouchableHistory*)(fStep->GetPreStepPoint()->GetTouchable()); - G4TouchableHistory* thePostTouchable = - (G4TouchableHistory*)(fStep->GetPostStepPoint()->GetTouchable()); - G4String PreVol = thePreTouchable->GetVolume()->GetName(); - G4String PosVol = thePostTouchable->GetVolume()->GetName(); - - // particle - G4double charge = fStep->GetTrack()->GetDefinition()->GetPDGCharge(); - G4String pName = fStep->GetTrack()->GetDefinition()->GetParticleName(); - G4double energy = fStep->GetTrack()->GetKineticEnergy(); - - G4int tm = -1; - - - // *** entering a test mass *** - if(PreVol!="tmass_phys" && PosVol=="tmass_phys") { - - tm = thePostTouchable->GetReplicaNumber(6); - - charge_in[tm] += (int)charge; - - // energy spectra at test-mass boundary - if(FlagSpectrum) { - // electrons entering test mass - if(pName=="e-") { - std::ofstream electrons_in("electrons_in.out",std::ios::app); - electrons_in << energy/eV << G4endl; - } - // hadrons entering test mass - else if(pName=="proton" || - pName=="pi+" || pName=="pi-" || - pName=="deuteron" || pName=="He3" || - pName=="alpha" || pName=="triton") { - std::ofstream hadrons_in("hadrons_in.out",std::ios::app); - hadrons_in << energy/eV << G4endl; - } - } - - } // *** entering a test mass *** - - - // *** leaving a test mass *** - else if(PreVol!=PosVol && PreVol=="tmass_phys") { - - tm = thePreTouchable->GetReplicaNumber(6); - - charge_out[tm] += (int)charge; - - // energy spectra at test-mass boundary - if(FlagSpectrum) { - // electrons leaving test mass - if(pName=="e-") { - std::ofstream electrons_out("electrons_out.out",std::ios::app); - electrons_out << energy/eV << G4endl; - } - // hadrons leaving test mass - else if(pName=="proton" || - pName=="pi+" || pName=="pi-" || - pName=="deuteron" || pName=="He3" || - pName=="alpha" || pName=="triton") { - std::ofstream hadrons_out("hadrons_out.out",std::ios::app); - hadrons_out << energy/eV << G4endl; - } - } - - } // *** leaving a test mass *** - - - } // if(next volume) - - - // count particles hitting probe volume - // if(fStep->GetTrack()->GetNextVolume()) { - // static int i=0; - // G4String PosVol=fStep->GetPostStepPoint() - // ->GetPhysicalVolume()->GetName(); - // if(PosVol=="probe_phys") { - // fStep->GetTrack()->SetTrackStatus(fStopAndKill); - // G4cout << i++ << G4endl; - // } - // } - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/examples/advanced/cosmicray_charging/src/LISASteppingActionMessenger.cc b/examples/advanced/cosmicray_charging/src/LISASteppingActionMessenger.cc deleted file mode 100644 index 228125397f..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISASteppingActionMessenger.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISASteppingActionMessenger class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// -// ******************************************************************** - -#include "LISASteppingActionMessenger.hh" - -#include - -#include "LISASteppingAction.hh" - - -LISASteppingActionMessenger::LISASteppingActionMessenger - (LISASteppingAction* stepAct) : steppingAction(stepAct){ - - - newDir = new G4UIdirectory("/surveys/"); - newDir->SetGuidance("Particle survey control commands."); - - // set flag for spectrum saving - SetFlagSpectrum = new G4UIcmdWithABool("/surveys/surveyTestMasses",this); - SetFlagSpectrum->SetGuidance("Dump energies (eV) for e- and hadrons"); - SetFlagSpectrum->SetGuidance("entering and leaving the test masses."); - SetFlagSpectrum->SetGuidance("'electrons_in.out' : e- entering TM"); - SetFlagSpectrum->SetGuidance("'electrons_out.out': e- leaving TM"); - SetFlagSpectrum->SetGuidance("'hadrons_in.out' : hadrons entering TM"); - SetFlagSpectrum->SetGuidance("'hadrons_out.out' : hadrons leaving TM"); - SetFlagSpectrum->SetGuidance("Default = false"); - SetFlagSpectrum->SetParameterName("FlagSpectrum", false); - SetFlagSpectrum->AvailableForStates(G4State_Idle); - -} - - -LISASteppingActionMessenger::~LISASteppingActionMessenger() { - - delete SetFlagSpectrum; - delete newDir; - -} - - -void LISASteppingActionMessenger::SetNewValue - (G4UIcommand* command, G4String newValue) { - - if(command == SetFlagSpectrum) { - G4int vl; - const char* t = newValue; - std::istringstream is(t); - is >> vl; - steppingAction->SetFlagSpectrum(vl!=0); - } - - - -} - diff --git a/examples/advanced/cosmicray_charging/src/LISASupportSystems.icc b/examples/advanced/cosmicray_charging/src/LISASupportSystems.icc deleted file mode 100644 index fe7a0adb55..0000000000 --- a/examples/advanced/cosmicray_charging/src/LISASupportSystems.icc +++ /dev/null @@ -1,214 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// * LISADetectorConstruction class * -// * * -// ******************************************************************** -// -// HISTORY -// 22/02/2004: migrated from LISA-V04 -// 24/11/2004: migrated to cmath -// -// ******************************************************************** - - -//*************************************************************************** -// Support systems -//*************************************************************************** -// Star Trackers -// FEEP Thrusters -// Communications Antennas -//*************************************************************************** - - - // Star Trackers ************************************************************ - - G4double ST_rad = 0.5*2270*mm; - G4RotationMatrix ST_rot1; ST_rot1.rotateZ(+30.*deg); - G4ThreeVector ST_pos1(ST_rad*std::cos(56*deg), - +ST_rad*std::sin(56*deg),180.*mm); - G4RotationMatrix ST_rot2; ST_rot2.rotateZ(-30.*deg); - G4ThreeVector ST_pos2(ST_rad*std::cos(56*deg), - -ST_rad*std::sin(56*deg),180.*mm); - G4RotationMatrix ST_rot3; ST_rot3.rotateY(90.*deg); - - // Star Tracker: 2 kg - G4double StarTracker_dia_o = 100.*mm; - G4double StarTracker_dia_i = 40.*mm; - G4double StarTracker_len = 120.*mm; - // Bracket: 0.25 kg - G4double StarTrackerBracket_wid = 120.*mm; - G4double StarTrackerBracket_hei = 104.*mm; - G4double StarTrackerBracket_thi = 7.5*mm; - - G4Tubs* StarTracker_tub = new G4Tubs("StarTracker_tub",0.5*StarTracker_dia_i, - 0.5*StarTracker_dia_o, 0.5*StarTracker_len, 0., 360.*deg); - G4Box* StarTrackerBracket_box = new G4Box("StarTrackerBracket_box", - 0.5*StarTrackerBracket_thi, 0.5*StarTrackerBracket_wid, - 0.5*StarTrackerBracket_hei); - G4UnionSolid* StarTracker_sol = new G4UnionSolid("StarTracker_sol", - StarTrackerBracket_box, StarTracker_tub, G4Transform3D(ST_rot3, - G4ThreeVector(0.5*(StarTracker_len + StarTrackerBracket_thi),0,0))); - G4LogicalVolume* StarTracker_log = - new G4LogicalVolume(StarTracker_sol, Al6061, "StarTracker_log"); - G4VPhysicalVolume* StarTracker_phys; - StarTracker_phys = new G4PVPlacement(G4Transform3D(ST_rot1, spacecraft_pos - + ST_pos1), "StarTracker_phys", StarTracker_log, wld_phys, false, 0); - StarTracker_phys = new G4PVPlacement(G4Transform3D(ST_rot2, spacecraft_pos - + ST_pos2), "StarTracker_phys", StarTracker_log, wld_phys, false, 1); - StarTracker_log->SetVisAttributes(sol_cyan_vat); - - - - // FEEP Thrusters *********************************************************** - - G4double FEEP_rad = 0.5*2520*mm; - G4RotationMatrix FEEP_rot1; - FEEP_rot1.rotateZ(-90.*deg); FEEP_rot1.rotateX(180.*deg); - G4ThreeVector FEEP_pos1(FEEP_rad,0,170.*mm); - G4RotationMatrix FEEP_rot2; - FEEP_rot2.rotateZ(+30.*deg); FEEP_rot2.rotateX(180.*deg); - G4ThreeVector FEEP_pos2(-FEEP_rad*std::cos(60*deg), - -FEEP_rad*std::sin(60*deg),170.*mm); - G4RotationMatrix FEEP_rot3; - FEEP_rot3.rotateZ(150.*deg); FEEP_rot3.rotateX(180.*deg); - G4ThreeVector FEEP_pos3(-FEEP_rad*std::cos(60*deg), - +FEEP_rad*std::sin(60*deg),170.*mm); - - // 1 support + 2 FEEPs: ~11 kg - G4double FEEP_dia_o = 140.*mm; - G4double FEEP_dia_i = 130.*mm; - G4double FEEP_len = 105.*mm; - G4double FEEP_xoff = 110.*mm; - G4double FEEP_yoff = 70.*mm; - G4double FEEP_zoff = 15.*mm; - G4double FEEPSup_len = 245.*mm; - G4double FEEPSup_wid = 276.*mm; - G4double FEEPSup_hei = 146.*mm; - G4double FEEPCut1_wid = 31.*mm; - G4double FEEPCut1_yoff = 50.*mm; - G4double FEEPCut2_len = 70.*mm; - G4double FEEPCut2_zoff = 10.*mm; - G4double FEEPCut3_xoff = 140.*mm; - - G4RotationMatrix FEEP_rot4; - FEEP_rot4.rotateY((90.+15.)*deg); FEEP_rot4.rotateZ(-25.*deg); - G4RotationMatrix FEEP_rot5; - FEEP_rot5.rotateY((90.-15.)*deg); FEEP_rot5.rotateZ(+25.*deg); - - // Mounting bracket - G4Box* FEEP_sol1 = new G4Box("FEEP_sol1", - 0.5*FEEPSup_wid, 0.5*FEEPSup_len, 0.5*FEEPSup_hei); - G4Box* FEEPSupCutout1 = new G4Box("FEEPSupCutout1", - 0.5*FEEPCut1_wid, 0.5*FEEPSup_len, 0.6*FEEPSup_hei); - G4SubtractionSolid* FEEP_sol2 = new G4SubtractionSolid("FEEP_sol2", - FEEP_sol1, FEEPSupCutout1, G4Transform3D(G4RotationMatrix(), - G4ThreeVector(0, -FEEPCut1_yoff, 0.))); - G4Box* FEEPSupCutout2 = new G4Box("FEEPSupCutout2", - 0.6*FEEPSup_wid, 0.5*FEEPCut2_len, 0.51*FEEPSup_hei); - G4SubtractionSolid* FEEP_sol3 = new G4SubtractionSolid("FEEP_sol3", - FEEP_sol2, FEEPSupCutout2, G4Transform3D(G4RotationMatrix(), - G4ThreeVector(0,-0.5*FEEPSup_len+0.5*FEEPCut2_len-.5*mm, FEEPCut2_zoff))); - G4Box* FEEPSupCutout3 = new G4Box("FEEPSupCutout3", - FEEPSup_wid, FEEPSup_hei, FEEPCut2_len); - G4SubtractionSolid* FEEP_sol4 = new G4SubtractionSolid("FEEP_sol4", - FEEP_sol3, FEEPSupCutout3, G4Transform3D(FEEP_rot4, - G4ThreeVector(-FEEPCut3_xoff,FEEPCut2_len,0))); - G4SubtractionSolid* FEEP_sol5 = new G4SubtractionSolid("FEEP_sol5", - FEEP_sol4, FEEPSupCutout3, G4Transform3D(FEEP_rot5, - G4ThreeVector(+FEEPCut3_xoff,FEEPCut2_len,0))); - // FEEPs - G4Tubs* FEEP_tub = new G4Tubs("FEEP_tub", 0.5*FEEP_dia_i, 0.5*FEEP_dia_o, - 0.5*FEEP_len, 0., 360.*deg); - G4UnionSolid* FEEP_sol6 = new G4UnionSolid("FEEP_sol", - FEEP_sol5, FEEP_tub, G4Transform3D(FEEP_rot4, - G4ThreeVector(-FEEP_xoff,FEEP_yoff,FEEP_zoff))); - G4UnionSolid* FEEP_sol7 = new G4UnionSolid("FEEP_sol", - FEEP_sol6, FEEP_tub, G4Transform3D(FEEP_rot5, - G4ThreeVector(+FEEP_xoff,FEEP_yoff,FEEP_zoff))); - G4LogicalVolume* FEEP_log = - new G4LogicalVolume(FEEP_sol7, Al6061, "FEEP_log"); - G4VPhysicalVolume* FEEP_phys; - FEEP_phys = new G4PVPlacement(G4Transform3D(FEEP_rot1, - spacecraft_pos+FEEP_pos1), "FEEP_phys", FEEP_log, wld_phys, false, 0); - FEEP_phys = new G4PVPlacement(G4Transform3D(FEEP_rot2, - spacecraft_pos+FEEP_pos2), "FEEP_phys", FEEP_log, wld_phys, false, 1); - FEEP_phys = new G4PVPlacement(G4Transform3D(FEEP_rot3, - spacecraft_pos+FEEP_pos3), "FEEP_phys", FEEP_log, wld_phys, false, 2); - FEEP_log->SetVisAttributes(sol_cyan_vat); - - - // Communications Antennas ************************************************** - - - // Antenna dish: ~1.4 kg - G4double Antenna_dia = 295.*mm; - G4double Antenna_thi = 7.*mm; - G4double Antenna_rad = 300.*mm; - // Antenna mount: 1 kg cylindrical shell - G4double AntennaMount_dia_o = 90.*mm; - G4double AntennaMount_dia_i = 77.*mm; - G4double AntennaMount_len = 220.*mm; - - G4ThreeVector ant_pos1(Antenna_rad+0*mm,+1250*mm,+550.*mm); - G4ThreeVector ant_pos2(Antenna_rad-0*mm,-1250*mm,+550.*mm); - G4RotationMatrix ant_rot3; ant_rot3.rotateY(-90.*deg); - - // Dish - G4Sphere* Antenna_sol = new G4Sphere("Antenna_sol", Antenna_rad-Antenna_thi, - Antenna_rad, 0., 360.*deg, 0, std::asin(0.5*Antenna_dia/Antenna_rad)); - G4LogicalVolume* Antenna_log = new G4LogicalVolume - (Antenna_sol, Al6061, "Antenna_log"); - G4VPhysicalVolume* Antenna_phys; - Antenna_phys = new G4PVPlacement(G4Transform3D(ant_rot3, spacecraft_pos - + ant_pos1), "Antenna_phys", Antenna_log, wld_phys, false, 0); - Antenna_phys = new G4PVPlacement(G4Transform3D(ant_rot3, spacecraft_pos - + ant_pos2), "Antenna_phys", Antenna_log, wld_phys, false, 1); - Antenna_log->SetVisAttributes(sol_cyan_vat); - - // Mount - G4Tubs* AntennaMount_tub = new G4Tubs("AntennaMount_sol", - 0.5*AntennaMount_dia_i, 0.5*AntennaMount_dia_o, 0.5*AntennaMount_len, - 0., 360.*deg); - G4LogicalVolume* AntennaMount_log = new G4LogicalVolume - (AntennaMount_tub, Al6061, "AntennaMount_log"); - G4VPhysicalVolume* AntennaMount_phys; - AntennaMount_phys = new G4PVPlacement(0, spacecraft_pos+ant_pos1+ - G4ThreeVector(-Antenna_rad-60.*mm,0,-80.*mm), - "AntennaMount_phys", AntennaMount_log, wld_phys, false, 0); - AntennaMount_phys = new G4PVPlacement(0, spacecraft_pos+ant_pos2+ - G4ThreeVector(-Antenna_rad-60.*mm,0,-80.*mm), - "AntennaMount_phys", AntennaMount_log, wld_phys, false, 1); - AntennaMount_log->SetVisAttributes(sol_cyan_vat); - -//***************************************************************************** diff --git a/examples/advanced/gammaray_telescope/GammaRayTel.cc b/examples/advanced/gammaray_telescope/GammaRayTel.cc index 725df0bf3f..948c4d1278 100644 --- a/examples/advanced/gammaray_telescope/GammaRayTel.cc +++ b/examples/advanced/gammaray_telescope/GammaRayTel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTel.cc,v 1.16 2006/06/29 15:54:48 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTel.cc,v 1.17 2009/11/18 15:54:55 flongo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // ------------------------------------------------------------ @@ -86,7 +86,6 @@ int main(int argc, char** argv) runManager->SetUserInitialization(new GammaRayTelPhysicsList); //runManager->SetUserInitialization(new QGSP_BIC); - // Set mandatory user action classes runManager->SetUserAction(new GammaRayTelPrimaryGeneratorAction); diff --git a/examples/advanced/gammaray_telescope/emlowe.mac b/examples/advanced/gammaray_telescope/emlowe.mac index bff96cbe2b..d85e147f7b 100644 --- a/examples/advanced/gammaray_telescope/emlowe.mac +++ b/examples/advanced/gammaray_telescope/emlowe.mac @@ -1,16 +1 @@ -/process/activate LowEnRayleigh gamma -/process/activate LowEnPhotoElec gamma -/process/activate LowEnCompton gamma -/process/activate LowEnConversion gamma - -/process/inactivate phot gamma -/process/inactivate compt gamma -/process/inactivate conv gamma - -/process/activate LowEnergyIoni -/process/activate LowEnBrem - -/process/inactivate eIoni -/process/inactivate eBrem - -/process/list +/physics/addPhysics LowE EM diff --git a/examples/advanced/gammaray_telescope/emstd.mac b/examples/advanced/gammaray_telescope/emstd.mac index c60c1e4b85..274be5b2dd 100644 --- a/examples/advanced/gammaray_telescope/emstd.mac +++ b/examples/advanced/gammaray_telescope/emstd.mac @@ -1,16 +1,2 @@ -/process/inactivate LowEnRayleigh gamma -/process/inactivate LowEnPhotoElec gamma -/process/inactivate LowEnCompton gamma -/process/inactivate LowEnConversion gamma +/physics/addPhysics Standard EM -/process/activate phot gamma -/process/activate compt gamma -/process/activate conv gamma - -/process/inactivate LowEnergyIoni -/process/inactivate LowEnBrem - -/process/activate eIoni -/process/activate eBrem - -/process/list diff --git a/examples/advanced/gammaray_telescope/gammaraytel.in b/examples/advanced/gammaray_telescope/gammaraytel.in index 8ea08aad42..a94a2b51ec 100644 --- a/examples/advanced/gammaray_telescope/gammaraytel.in +++ b/examples/advanced/gammaray_telescope/gammaraytel.in @@ -7,26 +7,10 @@ /control/saveHistory /run/verbose 1 /gun/sourceGen true -/run/initialize - /control/execute emstd.mac -/gun/particle proton -/gun/energy 1 GeV -/gun/sourceType 2 -/run/beamOn 100 +/run/initialize -/gun/particle gamma -/gun/energy 1 GeV -/gun/sourceType 2 -/run/beamOn 100 - -/gun/particle e- -/gun/energy 1 GeV -/gun/sourceType 2 -/run/beamOn 100 - -/control/execute emlowe.mac /gun/particle proton /gun/energy 1 GeV diff --git a/examples/advanced/gammaray_telescope/gammaraytel.out b/examples/advanced/gammaray_telescope/gammaraytel.out index 61438688ce..aa4374fb42 100644 --- a/examples/advanced/gammaray_telescope/gammaraytel.out +++ b/examples/advanced/gammaray_telescope/gammaraytel.out @@ -1,11 +1,16 @@ ************************************************************* - Geant4 version Name: geant4-08-00-ref-05 (10-February-2006) + Geant4 version Name: geant4-09-02-ref-08 (5-June-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* +PARTICLES DONE +GENERAL DONE +MUON DONE +HADRONS DONE +IONS DONE Visualization Manager instantiating... Visualization Manager initialising... Registering graphics systems... @@ -14,312 +19,383 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) - FukuiRenderer (DAWN) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) - VRML1 (VRML1) - VRML2 (VRML2) Registering model factories... You have successfully registered the following model factories. Registered model factories: -generic -drawByCharge -drawByParticleID -drawByOriginVolume - -Registered models: -None + generic + drawByCharge + drawByParticleID + drawByOriginVolume + drawByAttribute Registered filter factories: -particleFilter - -Registered Filters: -None + chargeFilter + particleFilter + originVolumeFilter + attributeFilter /control/saveHistory /run/verbose 1 +#/control/execute emstd.mac +#/gun/particle gamma +#/gun/energy 1 GeV +#/gun/vertexRadius 25. cm +#/gun/sourceType 2 +PreInit> # Macro file for the test of +# Macro file for the test of +PreInit> # GammaRayTel +# GammaRayTel +PreInit> # +# +PreInit> # +# +PreInit> +PreInit> /control/verbose 1 +/control/verbose 1 +PreInit> /control/saveHistory +/control/saveHistory +PreInit> /run/verbose 1 +/run/verbose 1 +PreInit> /gun/sourceGen true /gun/sourceGen true +PreInit> /control/execute emstd.mac +/control/execute emstd.mac +/physics/addPhysics Standard EM +THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: EM Standard +REGISTRATION DONE +PreInit> +PreInit> /run/initialize /run/initialize ***** Table : Nb of materials = 10 ***** - Material: Tungsten density: 19.300 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.504 mm + Material: Tungsten density: 19.300 g/cm3 RadL: 3.504 mm Nucl.Int.Length: 10.312 cm Imean: 725.200 eV ---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Scintillator density: 1.032 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 42.549 cm + Material: Scintillator density: 1.032 g/cm3 RadL: 42.549 cm Nucl.Int.Length: 69.996 cm Imean: 63.913 eV ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 91.45 % ElmAbundance 47.37 % ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 8.55 % ElmAbundance 52.63 % - Material: CesiumIodide density: 4.530 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.852 cm + Material: CesiumIodide density: 4.530 g/cm3 RadL: 1.852 cm Nucl.Int.Length: 39.132 cm Imean: 491.166 eV ---> Element: Cesium (Cs) Z = 55.0 N = 132.9 A = 132.91 g/mole ElmMassFraction: 51.15 % ElmAbundance 50.00 % ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 48.85 % ElmAbundance 50.00 % - Material: Air density: 1.290 kg/m3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.049 m + Material: Air density: 1.290 mg/cm3 RadL: 285.049 m Nucl.Int.Length: 662.595 m Imean: 85.685 eV temperature: 273.15 K pressure: 1.00 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 15.99 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % - Material: Aluminum density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm + Material: Aluminum density: 2.700 g/cm3 RadL: 8.893 cm Nucl.Int.Length: 38.879 cm Imean: 166.400 eV ---> Element: Aluminum (Al) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Silicon density: 2.333 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 9.356 cm + Material: Silicon density: 2.333 g/cm3 RadL: 9.356 cm Nucl.Int.Length: 45.604 cm Imean: 173.600 eV ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.758 cm + Material: Iron density: 7.870 g/cm3 RadL: 1.758 cm Nucl.Int.Length: 16.999 cm Imean: 286.000 eV ---> Element: Iron (Fe) Z = 26.0 N = 55.8 A = 55.84 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm + Material: Lead density: 11.350 g/cm3 RadL: 5.612 mm Nucl.Int.Length: 18.247 cm Imean: 820.000 eV ---> Element: Lead (Pb) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Galactic density: 0.000 kg/m3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204727576.737 pc + Material: Galactic density: 0.000 kg/m3 RadL: 204727512.315 pc Nucl.Int.Length: 113804112.800 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm ---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % - Material: Beam density: 0.010 mg/cm3 temperature: 273.15 K pressure: 0.02 atm RadLength: 36.771 km + Material: Beam density: 0.010 kg/m3 RadL: 36.771 km Nucl.Int.Length: 85.475 km Imean: 85.685 eV temperature: 273.15 K pressure: 0.02 atm ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 % ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 15.99 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % -2 LAT -1 TOP ------------------------------------------------------------ ---> The Tracker is 15 layers of: 0.3mm of Tungsten ------------------------------------------------------------ GammaRayTelPhysicsList::SetCuts: default cut length : 1 mm -/control/execute emstd.mac -/process/inactivate LowEnRayleigh gamma -/process/inactivate LowEnPhotoElec gamma -/process/inactivate LowEnCompton gamma -/process/inactivate LowEnConversion gamma -/process/activate phot gamma -/process/activate compt gamma -/process/activate conv gamma -/process/inactivate LowEnergyIoni -/process/inactivate LowEnBrem -/process/activate eIoni -/process/activate eBrem -/process/list - Transportation, Decay, phot, compt - conv, LowEnPhotoElec, LowEnCompton, LowEnConversion - LowEnRayleigh, eBrem, eIoni, LowEnBrem - LowEnergyIoni, msc, annihil, muIoni - muBrems, muPairProd,muMinusCaptureAtRest, hIoni - LElastic, PionPlusInelastic, PionMinusInelastic,PiMinusAbsorptionAtRest - KaonPlusInelastic, KaonMinusInelastic, KaonZeroLInelastic, KaonZeroSInelastic - ProtonInelastic,AntiProtonInelastic,AntiProtonAnnihilationAtRest, NeutronInelastic - LFission, LCapture,AntiNeutronInelastic,AntiNeutronAnnihilationAtRest - LambdaInelastic,AntiLambdaInelastic,SigmaMinusInelastic,AntiSigmaMinusInelastic - SigmaPlusInelastic,AntiSigmaPlusInelastic, XiMinusInelastic,AntiXiMinusInelastic - XiZeroInelastic,AntiXiZeroInelastic,OmegaMinusInelastic,AntiOmegaMinusInelastic - DeuteronInelastic, TritonInelastic, AlphaInelastic +CUT STD +Idle> +Idle> +Idle> /gun/particle proton /gun/particle proton +Idle> /gun/energy 1 GeV /gun/energy 1 GeV +Idle> /gun/sourceType 2 /gun/sourceType 2 +Idle> /run/beamOn 100 /run/beamOn 100 -phot: Total cross sections from Sandia parametrisation. +phot: for gamma SubType= 12 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + PhotoElectric : Emin= 0 eV Emax= 10 TeV -compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV - Sampling according Klein-Nishina model - tables are built for gamma - Lambda tables from 100 eV to 100 GeV in 90 bins. +compt: for gamma SubType= 13 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Klein-Nishina : Emin= 0 eV Emax= 10 TeV -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according to the Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. +conv: for gamma SubType= 14 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV -eBrem: tables are built for e- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMscUni2 : Emin= 0 eV Emax= 10 TeV -eIoni: tables are built for e- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +eIoni: for e- SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + MollerBhabha : Emin= 0 eV Emax= 10 TeV -LowEnBrem: Total cross sections from EEDL database. - Gamma energy sampled from a parameterised formula. - Implementation of the continuous dE/dx part. - At present it can be used for electrons in the energy range [250eV,100GeV]. - The process must work with G4LowEnergyIonisation. -G4AugerData for Element no. 6 are loaded -G4AugerData for Element no. 7 are loaded -G4AugerData for Element no. 8 are loaded -G4AugerData for Element no. 13 are loaded -G4AugerData for Element no. 14 are loaded -G4AugerData for Element no. 26 are loaded -G4AugerData for Element no. 53 are loaded -G4AugerData for Element no. 55 are loaded -G4AugerData for Element no. 74 are loaded -G4AugerData for Element no. 82 are loaded -AugerTransitionTable complete +eBrem: for e- SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + LPM flag: 1 for E > 1 GeV + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eBrem : Emin= 0 eV Emax= 1 GeV + eBremRel : Emin= 1 GeV Emax= 10 TeV -LowEnergyIoni: Total cross sections from EEDL database. - Gamma energy sampled from a parametrised formula. - Implementation of the continuous dE/dx part. - At present it can be used for electrons in the energy range [250eV,100GeV]. - The process must work with G4LowEnergyBremsstrahlung. +eIoni: for e+ SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + MollerBhabha : Emin= 0 eV Emax= 10 TeV -msc: Model variant of multiple scattering for e- - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 +eBrem: for e+ SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + LPM flag: 1 for E > 1 GeV + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eBrem : Emin= 0 eV Emax= 1 GeV + eBremRel : Emin= 1 GeV Emax= 10 TeV -eBrem: tables are built for e+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. +annihil: for e+ SubType= 5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + eplus2gg : Emin= 0 eV Emax= 10 TeV -annihil: Heilter model of formula of annihilation into 2 photons - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. +hIoni: for proton SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + NuclearStopping= 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV -annihil: Heilter model of formula of annihilation into 2 photons - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. +msc: for proton SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMscUni : Emin= 0 eV Emax= 10 TeV -eIoni: tables are built for e+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +msc: for GenericIon SubType= 10 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMscUni : Emin= 0 eV Emax= 10 TeV -hIoni: tables are built for proton - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +hIoni: for anti_proton SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + NuclearStopping= 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 2 MeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV -msc: Model variant of multiple scattering for proton - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 +hIoni: for kaon+ SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + NuclearStopping= 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 +hIoni: for kaon- SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + NuclearStopping= 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 1.05231 MeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -hIoni: tables are built for anti_proton - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +muIoni: for mu+ SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV -muIoni: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +muBrems: for mu+ SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + MuBrem : Emin= 0 eV Emax= 10 TeV -muBrems: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model +muPairProd: for mu+ SubType= 4 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + muPairProd : Emin= 0 eV Emax= 10 TeV -muPairProd: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model +msc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMscUni : Emin= 0 eV Emax= 10 TeV -msc: Model variant of multiple scattering for mu+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 +muIoni: for mu- SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 200 keV + BetheBloch : Emin= 200 keV Emax= 1 GeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV -muIoni: tables are built for mu- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +muBrems: for mu- SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + MuBrem : Emin= 0 eV Emax= 10 TeV -muBrems: tables are built for mu- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model +muPairProd: for mu- SubType= 4 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + muPairProd : Emin= 0 eV Emax= 10 TeV -muPairProd: tables are built for mu- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model +hIoni: for pi+ SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + NuclearStopping= 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 297.504 keV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV -hIoni: tables are built for pi+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +hIoni: for pi- SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + NuclearStopping= 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + Bragg : Emin= 0 eV Emax= 297.504 keV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV -hIoni: tables are built for pi- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 +msc: for pi- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMscUni : Emin= 0 eV Emax= 10 TeV +============================================================================================ + HADRONIC PROCESSES SUMMARY (verbose level 1) -msc: Model variant of multiple scattering for pi- - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 +AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 10000 + AntiNeutronAnnihilationAtRest + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 10000 + AntiProtonAnnihilationAtRest + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + KaonPlusInelastic Models: G4LEKaonPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + TheoFSGenerator: Emin(GeV)= 15 Emax(GeV)= 100000 + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + KaonMinusInelastic Models: G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEKaonMinusInelastic: Emin(GeV)= 20 Emax(GeV)= 10000 + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 10000 + + Hadronic Processes for + muMinusCaptureAtRest + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + NeutronInelastic Models: G4LENeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 55 + TheoFSGenerator: Emin(GeV)= 15 Emax(GeV)= 100000 + nFission Models: G4LFission: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + nCapture Models: G4LCapture: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + PionPlusInelastic Models: G4LEPionPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 55 + TheoFSGenerator: Emin(GeV)= 15 Emax(GeV)= 100000 + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + PionMinusInelastic Models: G4LEPionMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 55 + TheoFSGenerator: Emin(GeV)= 15 Emax(GeV)= 100000 + PiMinusAbsorptionAtRest + + Hadronic Processes for + HadronElastic Models: G4LElastic: Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 + ProtonInelastic Models: G4LEProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 55 + TheoFSGenerator: Emin(GeV)= 15 Emax(GeV)= 100000 +============================================================================================ ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld + Calorimeter + Tracker Index : 1 used in the geometry : Yes recalculation needed : No Material : Scintillator - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.36895 keV e- 355.791 keV e+ 347.138 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.36895 keV e- 355.791 keV e+ 347.138 keV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Material : CesiumIodide + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 38.4052 keV e- 691.669 keV e+ 658.435 keV proton 100 keV Region(s) which use this couple : Calorimeter Index : 3 used in the geometry : Yes recalculation needed : No - Material : CesiumIodide - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 38.4052 keV e- 691.669 keV e+ 658.435 keV + Material : Silicon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.88731 keV e- 540.718 keV e+ 521.113 keV proton 100 keV Region(s) which use this couple : - Calorimeter + Tracker Index : 4 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Tracker - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : Silicon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.30334 keV e- 120.425 keV e+ 118.951 keV - Region(s) which use this couple : - Tracker - -Index : 6 used in the geometry : Yes recalculation needed : No Material : Tungsten - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 36.0479 keV e- 351.438 keV e+ 334.551 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 105.401 keV e- 2.31122 MeV e+ 2.14666 MeV proton 100 keV Region(s) which use this couple : Tracker @@ -330,1313 +406,1417 @@ WARNING: Scene "refresh" not found. /vis/scene/list to see scenes. Start Run processing. Event: 0 -Number of tracker hits in this event = 7 - 0 143.9894 896 3 1 0.23490558 0.11936474 -114.45 - 0 132.4996 896 3 0 0.24129869 0.12097034 -115.85 - 0 270.41777 897 2 1 0.36722218 0.15054258 -144.45 - 0 213.31669 896 2 0 0.37602155 0.1541447 -145.85 - 0 157.36132 902 1 1 1.4042846 -0.20926413 -174.45 - 0 143.77622 908 0 1 2.4917425 -0.31373547 -204.45 - 0 74.997627 603 6 0 -66.157652 -58.935958 -26.25 -Number of digits in this event = 7 +Number of tracker hits in this event = 12 + 0 174.75654 900 5 1 0.084161514 -0.054911964 -54.45 + 0 189.60596 899 5 0 0.088593629 -0.058181517 -55.85 + 0 117.39632 900 4 1 0.15412033 -0.10920605 -84.45 + 0 136.13072 899 4 0 0.15688728 -0.11044583 -85.85 + 0 154.30531 900 3 1 0.20139971 -0.134739 -114.45 + 0 136.91481 899 3 0 0.20597032 -0.13689871 -115.85 + 0 244.7334 901 2 1 0.27161518 -0.1733951 -144.45 + 0 117.61118 899 2 0 0.28503323 -0.18108306 -145.85 + 0 107.80218 902 1 1 0.56392713 -0.33547872 -174.45 + 0 154.24016 898 1 0 0.58035615 -0.34251924 -175.85 + 0 264.13171 904 0 1 0.92490003 -0.47890242 -204.45 + 0 108.7684 897 0 0 0.9411321 -0.48031897 -205.85 +Number of digits in this event = 9 Event: 1 -Number of tracker hits in this event = 7 - 1 130.41936 895 2 1 -0.54166285 -0.65087634 -144.45 - 1 190.2271 894 2 0 -0.55494633 -0.65935514 -145.85 - 1 137.97014 894 1 1 -0.81719895 -0.83147288 -174.45 - 1 136.48095 894 1 0 -0.82578683 -0.84375961 -175.85 - 1 236.55082 893 0 1 -1.0132357 -1.1005078 -204.45 - 1 203.90979 892 0 0 -1.0126024 -1.1054328 -205.85 - 1 25.399392 892 0 1 -1.0523418 -0.86472238 -204.51008 -Number of digits in this event = 7 -Event: 2 -Number of tracker hits in this event = 8 - 2 116.35065 896 4 1 0.12649179 -0.062690936 -84.45 - 2 146.33145 897 3 1 0.33971585 -0.41699104 -114.45 - 2 146.84522 897 2 1 0.44681879 -0.81025295 -144.45 - 2 128.22078 894 2 0 0.45609404 -0.83004249 -145.85 - 2 126.8064 899 1 1 0.65990387 -1.2156304 -174.45 - 2 166.82955 892 1 0 0.67490877 -1.2358917 -175.85 - 2 181.98672 900 0 1 0.99054835 -1.6325048 -204.45 - 2 132.13943 889 0 0 1.0060386 -1.652185 -205.85 -Number of digits in this event = 8 -Event: 3 -Number of tracker hits in this event = 12 - 3 144.1367 896 5 1 0.1138029 0.14995592 -54.45 - 3 148.39608 896 5 0 0.11610041 0.15365637 -55.85 - 3 168.55748 896 4 1 0.16291074 0.23093848 -84.45 - 3 129.89212 896 4 0 0.16805097 0.23729277 -85.85 - 3 172.14679 897 3 1 0.26109538 0.36786762 -114.45 - 3 125.47941 897 3 0 0.26613433 0.37852816 -115.85 - 3 139.31331 897 2 1 0.37052649 0.59181749 -144.45 - 3 227.96566 898 2 0 0.37122985 0.60355893 -145.85 - 3 194.59504 897 1 1 0.37111961 0.86343556 -174.45 - 3 122.94928 900 1 0 0.37729144 0.87538977 -175.85 - 3 125.13486 898 0 1 0.50950841 1.1246399 -204.45 - 3 112.84076 901 0 0 0.52207057 1.1432982 -205.85 -Number of digits in this event = 12 -Event: 4 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 5 -Number of tracker hits in this event = 5 - 5 129.21096 896 1 1 0.16940533 0.077559062 -174.45 - 5 120.82171 896 1 0 0.17700825 0.083899465 -175.85 - 5 180.46601 897 0 1 0.31982938 0.20469736 -204.45 - 5 141.41632 896 0 0 0.32888572 0.20889572 -205.85 - 5 215.96365 895 2 0 -0.70265879 -0.53464119 -145.85 +Number of tracker hits in this event = 6 + 1 125.73785 903 3 1 0.67793575 -0.060543532 -114.45 + 1 151.56895 899 3 0 0.69480414 -0.058573422 -115.85 + 1 115.13282 906 1 1 1.3302945 0.10100993 -174.45 + 1 123.13372 900 1 0 1.3402842 0.10051694 -175.85 + 1 165.41539 907 0 1 1.5998542 0.063503075 -204.45 + 1 156.45328 900 0 0 1.6123299 0.067625188 -205.85 Number of digits in this event = 6 +Event: 2 +Number of tracker hits in this event = 11 + 2 118.26759 899 4 1 -0.16487795 0.090192461 -84.45 + 2 139.049 900 4 0 -0.16495814 0.079024999 -85.85 + 2 261.76212 899 3 1 -0.1881492 -0.1158556 -114.45 + 2 132.25347 899 3 0 -0.17944523 -0.12185832 -115.85 + 2 120.1838 900 1 1 0.1145199 -0.32152557 -174.45 + 2 136.72757 898 1 0 0.11456579 -0.31861017 -175.85 + 2 210.33085 900 0 1 0.11714475 -0.2491909 -204.45 + 2 140.16193 899 0 0 0.11684059 -0.24238443 -205.85 + 2 478.30573 899 6 1 -0.07243247 -0.21654667 -24.45 + 2 433.69445 900 6 0 -0.91114227 0.21146539 -25.85 + 2 121.26473 901 6 0 -1.0087351 0.25776706 -25.999953 +Number of digits in this event = 11 +Event: 3 +Number of tracker hits in this event = 28 + 3 118.27971 899 3 1 -0.057435002 0.056850663 -114.45 + 3 117.354 900 3 0 -0.059780613 0.062837736 -115.85 + 3 352.60949 899 2 1 -0.10651574 0.17862975 -144.45 + 3 125.80621 900 2 0 -0.1065516 0.18359773 -145.85 + 3 148.04474 899 1 1 -0.089118056 0.29458557 -174.45 + 3 179.37778 901 1 0 -0.095234642 0.29573639 -175.85 + 3 127.48523 899 0 1 -0.22679832 0.30741747 -204.45 + 3 130.74942 901 0 0 -0.22989743 0.30903168 -205.85 + 3 150.50463 880 0 0 -36.620423 -3.9078626 -206.25 + 3 135.32189 713 0 1 -37.374348 -3.7117602 -204.85 + 3 128.69151 931 1 0 -52.489255 6.4072433 -176.25 + 3 129.85685 634 1 1 -53.183424 6.8999209 -174.85 + 3 153.54905 966 2 0 -61.492861 13.300637 -146.25 + 3 129.77698 590 2 1 -61.911259 13.591493 -144.85 + 3 223.39392 1110 3 0 -85.34486 42.127842 -116.25 + 3 177.81579 467 3 1 -86.52379 43.591243 -114.85 + 3 138.25732 1218 4 0 -108.1765 63.832097 -86.25 + 3 161.29728 355 4 1 -109.09107 64.621163 -84.85 + 3 201.97452 1238 5 0 -142.4414 67.803035 -56.25 + 3 157.22866 180 5 1 -144.00762 68.016599 -54.85 + 3 93.191374 846 0 0 -42.136828 -10.772244 -206.21025 + 3 44.828535 820 3 0 -62.652443 -15.89195 -115.99179 + 3 211.63635 586 3 1 -62.760704 -15.631396 -114.85 + 3 44.801513 585 3 1 -62.862538 -15.576683 -114.45 + 3 38.959537 822 3 0 -63.037227 -15.471133 -115.85 + 3 116.86899 823 3 0 -63.101428 -15.432658 -115.90935 + 3 6.5573869 824 3 0 -63.207257 -15.236809 -115.8569 + 3 315.60585 850 3 0 -62.747165 -10.042466 -115.85 +Number of digits in this event = 23 +Event: 4 +Number of tracker hits in this event = 8 + 4 142.24011 899 3 1 -0.19366885 -0.068867283 -114.45 + 4 131.28957 899 3 0 -0.20402 -0.072374188 -115.85 + 4 131.458 898 2 1 -0.42422553 -0.14581147 -144.45 + 4 142.74811 899 2 0 -0.43935461 -0.14980789 -145.85 + 4 136.07228 896 1 1 -0.75246963 -0.23863062 -174.45 + 4 302.90787 899 1 0 -0.76644905 -0.24422698 -175.85 + 4 143.82939 894 0 1 -1.0506005 -0.33650166 -204.45 + 4 142.1971 898 0 0 -1.0637275 -0.33792955 -205.85 +Number of digits in this event = 9 +Event: 5 +Number of tracker hits in this event = 6 + 5 124.61842 899 3 1 -0.23079786 -0.24086858 -114.45 + 5 160.32218 899 3 0 -0.23722793 -0.23776866 -115.85 + 5 137.37996 898 2 1 -0.33875279 -0.15796085 -144.45 + 5 153.23935 899 2 0 -0.34090429 -0.15420194 -145.85 + 5 147.86194 898 1 1 -0.40320834 -0.086813577 -174.45 + 5 162.92513 899 1 0 -0.40978678 -0.081299993 -175.85 +Number of digits in this event = 7 Event: 6 -Number of tracker hits in this event = 17 - 6 160.33259 896 5 1 0.13805188 0.097247065 -54.45 - 6 194.66546 896 5 0 0.14428361 0.10698986 -55.85 - 6 144.29265 897 4 1 0.29444809 0.346084 -84.45 - 6 118.56479 897 4 0 0.30458679 0.34800634 -85.85 - 6 226.44107 898 3 1 0.49520065 0.40108456 -114.45 - 6 134.408 897 3 0 0.50672493 0.40242073 -115.85 - 6 136.57833 899 2 1 0.75903121 0.41685438 -144.45 - 6 170.36589 897 2 0 0.76998437 0.4166703 -145.85 - 6 133.75812 900 1 1 0.97476658 0.42870863 -174.45 - 6 124.10419 897 1 0 0.9910539 0.42695016 -175.85 - 6 113.6053 902 0 1 1.3417437 0.39378163 -204.45 - 6 310.15206 897 0 0 1.3571163 0.39016126 -205.85 - 6 230.45419 185 1 0 -74.823203 -143.07978 -176.20203 - 6 103.50517 896 0 0 1.494872 0.24795247 -205.98498 - 6 223.31282 902 3 0 0.81263178 1.2560001 -115.85 - 6 64.982562 903 3 0 0.83698947 1.4526686 -116.17008 - 6 125.12604 784 3 0 13.628954 -22.826579 -116.25 -Number of digits in this event = 15 +Number of tracker hits in this event = 8 + 6 583.68669 900 4 1 0.22230834 0.057348069 -84.45 + 6 130.24546 900 4 0 0.22662148 0.055530373 -85.85 + 6 135.91577 902 2 1 0.49820136 0.10192154 -144.45 + 6 128.62691 900 2 0 0.5106848 0.10134606 -145.85 + 6 139.50573 903 1 1 0.803951 0.11259071 -174.45 + 6 437.12535 900 1 0 0.81784453 0.11001149 -175.85 + 6 126.16342 905 0 1 1.0984572 0.053783447 -204.45 + 6 122.60433 900 0 0 1.1241663 0.056435239 -205.85 +Number of digits in this event = 9 Event: 7 -Number of tracker hits in this event = 4 - 7 196.22469 898 4 0 -0.20836226 0.60342051 -85.85 - 7 162.49552 900 3 0 -0.26907189 1.0190234 -115.85 - 7 148.85989 901 2 0 -0.26530139 1.1688047 -145.85 - 7 117.41026 901 1 0 -0.16848736 1.2078186 -175.85 -Number of digits in this event = 4 +Number of tracker hits in this event = 11 + 7 151.78689 900 5 1 0.16263906 0.083596325 -54.45 + 7 122.61542 900 5 0 0.1686512 0.086545935 -55.85 + 7 151.25659 901 4 1 0.32284425 0.077392227 -84.45 + 7 116.41353 900 4 0 0.33622861 0.07476107 -85.85 + 7 156.63249 905 1 1 1.2287709 0.10907244 -174.45 + 7 129.90214 900 1 0 1.239759 0.10699163 -175.85 + 7 124.09738 907 0 1 1.4720895 0.051348325 -204.45 + 7 13.656501 902 3 1 0.54936556 0.084984268 -114.45 + 7 140.11029 903 3 1 0.66895733 -0.05 -114.55518 + 7 59.734601 904 3 1 0.95086633 -0.45676256 -114.61614 + 7 32.149338 905 3 1 1.0644521 -0.64337708 -114.49 +Number of digits in this event = 8 Event: 8 -Number of tracker hits in this event = 12 - 8 144.6437 896 4 1 0.1228206 0.072252362 -84.45 - 8 173.94552 896 4 0 0.13426885 0.078692952 -85.85 - 8 194.05685 897 3 1 0.37448728 0.20316409 -114.45 - 8 130.2545 896 3 0 0.37776545 0.20907285 -115.85 - 8 121.47364 897 2 1 0.43232351 0.32178349 -144.45 - 8 125.04271 897 2 0 0.43869074 0.32577676 -145.85 - 8 129.74349 898 1 1 0.55988216 0.35892334 -174.45 - 8 164.49343 897 1 0 0.56468158 0.36107416 -175.85 - 8 151.86612 898 0 1 0.64190308 0.37421277 -204.45 - 8 131.88083 897 0 0 0.64672426 0.37220379 -205.85 - 8 149.85375 740 6 0 98.546828 -31.59866 -26.25 - 8 115.8519 739 6 0 98.663898 -31.651722 -26.156178 -Number of digits in this event = 12 +Number of tracker hits in this event = 6 + 8 267.2256 899 4 1 -0.11209652 0.056155023 -84.45 + 8 128.85441 900 4 0 -0.11087161 0.059518772 -85.85 + 8 155.66968 899 3 1 -0.1082294 0.12015059 -114.45 + 8 152.37618 900 3 0 -0.10929535 0.11757037 -115.85 + 8 135.71954 899 2 1 -0.1206271 0.054482 -144.45 + 8 109.28262 902 4 0 -0.2963629 0.45525879 -85.85 +Number of digits in this event = 8 Event: 9 Number of tracker hits in this event = 10 - 9 133.25389 901 4 1 1.1311856 -2.2236126 -84.45 - 9 212.3938 886 4 0 1.1783372 -2.3266848 -85.85 - 9 253.29908 906 3 1 2.1407194 -4.4205618 -114.45 - 9 116.90954 875 3 0 2.1865557 -4.5167731 -115.85 - 9 185.42613 911 2 1 3.0985188 -6.4680818 -144.45 - 9 174.00388 865 2 0 3.1456476 -6.571627 -145.85 - 9 112.29523 916 1 1 4.0874164 -8.7023309 -174.45 - 9 135.89997 854 1 0 4.1356386 -8.8121719 -175.85 - 9 124.47531 921 0 1 5.1334507 -11.041172 -204.45 - 9 140.9342 842 0 0 5.1860745 -11.146032 -205.85 -Number of digits in this event = 9 + 9 138.02948 901 4 1 0.39204005 0.24543647 -84.45 + 9 198.09107 901 4 0 0.40516594 0.25100845 -85.85 + 9 180.83722 903 3 1 0.66411392 0.36597823 -114.45 + 9 99.176104 901 3 0 0.67556195 0.37865242 -115.85 + 9 149.8915 904 2 1 0.9214983 0.65236524 -144.45 + 9 162.59421 903 2 0 0.93346251 0.66790356 -145.85 + 9 142.63883 905 1 1 1.1870887 0.98585635 -174.45 + 9 136.71992 904 1 0 1.200403 1.0019628 -175.85 + 9 166.12169 907 0 1 1.4899283 1.3498969 -204.45 + 9 155.34483 906 0 0 1.5056075 1.3611294 -205.85 +Number of digits in this event = 10 Event: 10 -Number of tracker hits in this event = 9 - 10 110.86734 896 5 1 0.07006792 0.1391415 -54.45 - 10 176.19592 896 5 0 0.073152685 0.14333521 -55.85 - 10 135.39737 896 4 1 0.13316907 0.23728307 -84.45 - 10 138.10005 896 4 0 0.12834499 0.23577798 -85.85 - 10 229.06888 896 2 0 -0.063943333 0.17283036 -145.85 - 10 125.41808 897 1 1 0.29085048 0.37952615 -174.45 - 10 129.6549 897 1 0 0.30555438 0.38750374 -175.85 - 10 162.56976 898 0 1 0.59080307 0.5234233 -204.45 - 10 113.67671 898 0 0 0.60882136 0.53938374 -205.85 -Number of digits in this event = 9 +Number of tracker hits in this event = 11 + 10 123.10396 899 4 0 0.2982466 -0.052185688 -85.85 + 10 163.94578 902 3 1 0.52362658 -0.14002808 -114.45 + 10 142.25828 899 3 0 0.53496595 -0.14375424 -115.85 + 10 185.25275 903 2 1 0.75966415 -0.21959694 -144.45 + 10 221.92835 899 2 0 0.77235287 -0.22467703 -145.85 + 10 149.94009 904 1 1 1.0421 -0.34175065 -174.45 + 10 151.55177 898 1 0 1.052838 -0.34955991 -175.85 + 10 110.76424 906 0 1 1.2762506 -0.51194659 -204.45 + 10 154.7712 897 0 0 1.2904091 -0.51876129 -205.85 + 10 55.828714 898 3 0 0.089422664 -0.43589249 -115.85 + 10 7.5073294 897 3 0 0.070472189 -0.4745354 -115.93752 +Number of digits in this event = 10 Event: 11 -Number of tracker hits in this event = 9 - 11 310.26509 896 5 1 0.061385125 0.095853955 -54.45 - 11 133.28808 896 5 0 0.067915038 0.095571592 -55.85 - 11 204.48394 896 4 1 0.20336181 0.072661946 -84.45 - 11 210.62499 896 4 0 0.2122822 0.0787456 -85.85 - 11 112.75986 897 3 1 0.38980677 0.18893614 -114.45 - 11 119.92281 896 3 0 0.38887723 0.17753194 -115.85 - 11 120.85785 897 1 1 0.36907464 -0.28997187 -174.45 - 11 148.14894 898 0 1 0.45259891 -0.58621573 -204.45 - 11 131.14774 895 0 0 0.46483325 -0.59785165 -205.85 +Number of tracker hits in this event = 11 + 11 134.866 901 4 1 0.29080824 0.20904762 -84.45 + 11 117.66778 900 4 0 0.30132888 0.22349937 -85.85 + 11 128.15327 902 3 1 0.5226175 0.50756629 -114.45 + 11 125.28946 902 3 0 0.53468236 0.52481773 -115.85 + 11 149.97164 903 2 1 0.79264675 0.87494272 -144.45 + 11 109.40773 904 2 0 0.80435708 0.89548675 -145.85 + 11 149.81001 904 1 1 1.0371531 1.3028586 -174.45 + 11 150.48406 906 1 0 1.0485231 1.3195251 -175.85 + 11 125.96017 906 0 1 1.2646735 1.6375723 -204.45 + 11 253.40365 908 0 0 1.2737292 1.6527511 -205.85 + 11 33.137153 899 5 0 0.10692736 -0.05 -56.152455 Number of digits in this event = 9 Event: 12 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 13 -Number of tracker hits in this event = 1 - 13 43.870703 986 0 1 18.103956 8.7534757 -204.81118 -Number of digits in this event = 1 -Event: 14 -Number of tracker hits in this event = 12 - 14 121.13615 896 5 1 0.080547618 -0.078754703 -54.45 - 14 133.26432 897 4 1 0.26462793 -0.16263259 -84.45 - 14 131.65661 897 3 1 0.38184277 -0.22987657 -114.45 - 14 121.66423 898 2 1 0.54923315 -0.38094637 -144.45 - 14 127.64556 897 1 1 0.4387853 -0.4990193 -174.45 - 14 226.67682 895 1 0 0.43383035 -0.49995655 -175.85 - 14 154.64989 897 0 1 0.3354145 -0.52355477 -204.45 - 14 153.79359 895 0 0 0.32696559 -0.52614455 -205.85 - 14 154.92591 802 2 0 10.875149 -19.131975 -146.25 - 14 132.7889 801 2 0 11.071335 -19.253069 -145.9981 - 14 265.66562 954 2 1 11.794446 -19.713063 -144.85 - 14 79.908033 955 2 1 11.850588 -19.800092 -144.73178 -Number of digits in this event = 12 -Event: 15 -Number of tracker hits in this event = 10 - 15 160.45537 896 3 1 0.11110037 0.080181494 -114.45 - 15 114.11326 896 3 0 0.10997091 0.083347017 -115.85 - 15 153.11888 896 2 1 0.11122767 0.15425938 -144.45 - 15 120.95078 896 2 0 0.11812913 0.15731608 -145.85 - 15 137.53845 897 1 1 0.27176931 0.22054119 -174.45 - 15 135.44742 896 1 0 0.27695436 0.22680313 -175.85 - 15 252.65773 897 0 1 0.38211549 0.36963008 -204.45 - 15 129.91164 897 0 0 0.38638003 0.37035356 -205.85 - 15 54.530737 907 3 0 -3.0314962 2.4237252 -115.85 - 15 87.96623 880 3 1 -3.4631788 2.0739673 -114.85 -Number of digits in this event = 8 -Event: 16 -Number of tracker hits in this event = 18 - 16 115.87699 896 3 0 -0.11533372 0.13840684 -115.85 - 16 128.41039 897 2 0 -0.27802838 0.31523484 -145.85 - 16 142.78947 898 1 0 -0.37874604 0.46126619 -175.85 - 16 122.26171 895 0 1 -0.5020709 0.5680552 -204.45 - 16 121.78178 898 0 0 -0.51028049 0.57234163 -205.85 - 16 1104.3754 334 6 0 -129.64275 -113.29032 -26.25 - 16 1061.5477 251 6 1 -129.83643 -113.47099 -24.85 - 16 1034.4174 307 7 0 -132.11472 -118.58733 3.75 - 16 1127.8627 239 7 1 -132.22892 -118.84136 5.15 - 16 1193.2704 274 8 0 -133.94895 -125.29149 33.75 - 16 253.10582 273 8 0 -133.96974 -125.3679 34.093119 - 16 1551.7941 230 8 1 -134.03527 -125.60901 35.15 - 16 485.22034 229 9 0 -138.07768 -134.34593 63.75 - 16 1293.0018 228 9 0 -138.09464 -134.38034 63.864397 - 16 1905.6194 209 9 1 -138.29175 -134.7731 65.15 - 16 1071.5404 149 10 0 -132.8684 -150.34158 93.75 - 16 2946.146 148 10 0 -132.84355 -150.40388 93.864108 - 16 7106.2028 238 10 1 -132.53512 -151.03172 95.15 -Number of digits in this event = 19 -Event: 17 -Number of tracker hits in this event = 13 - 17 216.84869 897 4 1 0.28964124 -0.069004977 -84.45 - 17 121.98106 897 2 1 0.43629975 0.1380548 -144.45 - 17 123.69554 896 2 0 0.44261954 0.1397243 -145.85 - 17 168.43162 898 1 1 0.53951902 0.1060099 -174.45 - 17 124.43849 896 1 0 0.54867134 0.10555692 -175.85 - 17 136.107 899 0 1 0.72564295 0.099711806 -204.45 - 17 233.3675 896 0 0 0.74036912 0.099554283 -205.85 - 17 10.503359 897 1 1 0.42872314 -0.05 -174.50863 - 17 74.096941 899 1 0 1.2359393 0.68488355 -175.85 - 17 154.78623 902 1 1 1.2764379 1.0384079 -174.85 - 17 32.101312 1030 6 0 34.478848 26.994718 -26.25 - 17 54.242733 1031 6 0 34.530775 27.054871 -26.219604 - 17 321.44147 1078 6 0 51.252625 36.578495 -26.25 -Number of digits in this event = 10 -Event: 18 -Number of tracker hits in this event = 16 - 18 124.35799 896 5 1 0.081551882 -0.18833957 -54.45 - 18 141.10538 896 4 1 0.17814457 -0.43623326 -84.45 - 18 130.66784 897 3 1 0.27611017 -0.55080757 -114.45 - 18 133.90246 895 3 0 0.28266825 -0.56141848 -115.85 - 18 122.53424 897 2 1 0.40140266 -0.78197519 -144.45 - 18 132.7581 894 2 0 0.40503608 -0.79004242 -145.85 - 18 174.46196 898 1 1 0.4760837 -0.98678813 -174.45 - 18 144.67935 893 1 0 0.47930807 -0.99718583 -175.85 - 18 167.48162 898 0 1 0.5762238 -1.1942413 -204.45 - 18 183.04882 892 0 0 0.58036739 -1.2081251 -205.85 - 18 96.480981 780 5 0 17.213282 -23.456817 -56.25 - 18 55.294327 779 5 0 17.182054 -23.682783 -56.169164 - 18 96.407117 778 5 0 17.10839 -23.852994 -56.159433 - 18 25.354891 777 5 0 16.922946 -24.058598 -56.202384 - 18 81.627848 871 5 0 4.3034849 -5.3800781 -56.25 - 18 258.03754 872 5 0 4.3030321 -5.2479364 -56.116342 -Number of digits in this event = 12 -Event: 19 Number of tracker hits in this event = 6 - 19 139.62334 896 4 1 0.078246047 -0.1107813 -84.45 - 19 174.19807 896 3 1 0.21165153 -0.18042512 -114.45 - 19 113.22019 897 2 1 0.37120865 -0.21018512 -144.45 - 19 155.14286 898 1 1 0.5005886 -0.29641563 -174.45 - 19 136.83975 898 0 1 0.62409098 -0.46250893 -204.45 - 19 115.84645 895 0 0 0.62914038 -0.46736794 -205.85 + 12 113.9106 901 2 1 0.27122885 -0.074920844 -144.45 + 12 120.72048 899 2 0 0.27024086 -0.078772883 -145.85 + 12 120.59224 901 1 1 0.25121142 -0.17742697 -174.45 + 12 140.16472 899 1 0 0.25639448 -0.18536935 -175.85 + 12 145.50867 901 0 1 0.35466727 -0.33785147 -204.45 + 12 119.08094 898 0 0 0.36391996 -0.34325848 -205.85 Number of digits in this event = 5 +Event: 13 +Number of tracker hits in this event = 14 + 13 166.56713 899 5 1 -0.081583506 0.16840814 -54.45 + 13 162.59463 900 5 0 -0.087226907 0.18042686 -55.85 + 13 123.71351 899 4 1 -0.20395064 0.39015526 -84.45 + 13 200.2676 901 4 0 -0.20986498 0.40384775 -85.85 + 13 138.3883 898 3 1 -0.33388838 0.69904966 -114.45 + 13 182.8238 903 3 0 -0.34059072 0.71793639 -115.85 + 13 115.43744 897 2 1 -0.48862766 1.1033419 -144.45 + 13 141.09977 905 2 0 -0.49209872 1.1235007 -145.85 + 13 152.09223 897 1 1 -0.58248753 1.526689 -174.45 + 13 150.66719 907 1 0 -0.58493839 1.5437222 -175.85 + 13 139.29616 896 0 1 -0.66792349 1.8714486 -204.45 + 13 136.55385 909 0 0 -0.67153401 1.8891428 -205.85 + 13 162.55099 730 7 0 -31.940461 -34.002512 3.75 + 13 58.127698 729 7 0 -31.995548 -34.051973 3.8133353 +Number of digits in this event = 13 +Event: 14 +Number of tracker hits in this event = 10 + 14 164.96301 898 3 1 -0.41981503 0.10679147 -114.45 + 14 113.70109 900 3 0 -0.43039858 0.11722178 -115.85 + 14 161.66187 896 2 1 -0.66675979 0.32255666 -144.45 + 14 150.85443 901 2 0 -0.68402632 0.3301653 -145.85 + 14 170.49264 895 1 1 -1.0343879 0.47026796 -174.45 + 14 178.54729 902 1 0 -1.05226 0.47781393 -175.85 + 14 142.20287 893 0 1 -1.417049 0.624379 -204.45 + 14 155.24693 902 0 0 -1.4330125 0.63400226 -205.85 + 14 78.131561 899 4 0 -0.091866334 -0.05 -86.063275 + 14 54.623899 898 4 0 0.083744739 -0.25105328 -86.244375 +Number of digits in this event = 8 +Event: 15 +Number of tracker hits in this event = 54 + 15 145.60125 899 3 1 -0.0726846 -0.15487488 -114.45 + 15 121.55628 899 3 0 -0.078737221 -0.16110684 -115.85 + 15 146.16343 899 2 1 -0.19202523 -0.28788866 -144.45 + 15 193.2217 898 2 0 -0.19986465 -0.28797358 -145.85 + 15 136.31921 898 1 1 -0.35075116 -0.29709179 -174.45 + 15 155.23817 898 1 0 -0.35820004 -0.29561543 -175.85 + 15 122.56103 897 0 1 -0.60561308 -0.27731503 -204.45 + 15 192.42378 898 0 0 -0.61770528 -0.27249022 -205.85 + 15 189.59116 1380 0 0 17.800922 96.232606 -206.25 + 15 81.048895 1640 0 0 -156.00459 148.19305 -206.25 + 15 140.9416 1641 0 0 -156.12941 148.38102 -206.17603 + 15 116.51626 1642 0 0 -155.88041 148.55073 -206.19167 + 15 38.354483 1643 0 0 -155.77832 148.75894 -206.22696 + 15 183.51787 1183 0 0 70.470614 56.654505 -206.25 + 15 223.55242 1261 0 1 72.304213 56.424602 -204.85 + 15 124.92829 1182 1 0 65.453373 56.503723 -176.25 + 15 115.87254 1224 1 1 65.01736 56.483946 -174.85 + 15 75.154629 1262 0 1 72.514253 56.28985 -204.78456 + 15 140.43234 1263 0 1 72.685444 56.211061 -204.67904 + 15 212.70528 743 0 0 41.719579 -31.366926 -206.25 + 15 138.70865 1111 0 1 42.426682 -32.27049 -204.85 + 15 127.36625 704 1 0 24.174958 -39.132099 -176.25 + 15 144.10812 1016 1 1 23.431965 -39.318194 -174.85 + 15 137.91673 805 2 0 23.700446 -18.890121 -146.25 + 15 113.49713 1019 2 1 23.97871 -18.105487 -144.85 + 15 311.36999 1000 3 0 -34.24833 20.21248 -116.25 + 15 1141.8923 694 3 1 -41.153264 25.437327 -114.85 + 15 227.36043 680 3 1 -43.972752 27.532574 -114.45 + 15 145.66136 1041 3 0 -44.983305 28.301747 -115.85 + 15 87.515611 620 2 1 -56.002589 34.899778 -144.45 + 15 72.419833 618 2 1 -56.25584 34.99169 -144.46395 + 15 99.880574 617 2 1 -56.491307 35.104585 -144.54457 + 15 98.362843 616 2 1 -56.684525 35.298775 -144.55745 + 15 95.312744 615 2 1 -56.921422 35.430954 -144.59295 + 15 71.315438 614 2 1 -57.152228 35.514493 -144.71206 + 15 0.38736739 613 2 1 -57.358837 35.601784 -144.84763 + 15 240.67139 1082 2 0 -58.436081 36.455768 -145.85 + 15 48.40721 1083 2 0 -58.711561 36.672688 -145.96367 + 15 77.123938 602 2 1 -59.609518 37.849169 -144.85 + 15 115.84574 601 2 1 -59.676563 37.945435 -144.74411 + 15 72.629957 600 2 1 -59.881983 38.209024 -144.61661 + 15 81.619809 599 2 1 -60.109348 38.201174 -144.67328 + 15 49.625185 1092 2 0 -60.334008 38.557293 -145.85 + 15 89.954402 1093 2 0 -60.346709 38.666332 -145.90049 + 15 117.10987 1094 2 0 -60.535028 38.863628 -145.92662 + 15 242.24075 1095 2 0 -60.598279 39.057424 -146.02497 + 15 129.59478 790 3 0 114.23201 -21.905705 -116.25 + 15 127.58694 1472 3 1 114.69527 -22.162067 -114.85 + 15 148.33865 826 4 0 119.98514 -14.849095 -86.25 + 15 151.39704 1500 4 1 120.26781 -14.128811 -84.85 + 15 329.70389 735 5 0 156.32233 -32.910104 -56.25 + 15 257.29185 1687 5 1 157.59958 -34.748138 -54.85 + 15 10.723596 645 6 1 -50.900203 -142.69632 -24.517233 + 15 101.69713 166 6 0 -57.239672 -146.85192 -26.036533 +Number of digits in this event = 34 +Event: 16 +Number of tracker hits in this event = 8 + 16 148.55337 899 3 1 -0.13355128 0.17243801 -114.45 + 16 136.80635 900 3 0 -0.13688333 0.17525216 -115.85 + 16 114.08351 899 2 1 -0.20212623 0.24229334 -144.45 + 16 133.05666 900 2 0 -0.19889783 0.24608187 -145.85 + 16 156.61316 899 1 1 -0.1312844 0.33711582 -174.45 + 16 121.18417 901 1 0 -0.12849148 0.34186254 -175.85 + 16 141.43116 899 0 1 -0.07354267 0.43796269 -204.45 + 16 136.45617 901 0 0 -0.069376388 0.44306513 -205.85 +Number of digits in this event = 8 +Event: 17 +Number of tracker hits in this event = 10 + 17 129.72782 899 4 1 -0.16326289 0.17340635 -84.45 + 17 173.51062 900 4 0 -0.17403515 0.17485249 -85.85 + 17 113.05923 898 3 1 -0.3897685 0.2007578 -114.45 + 17 109.35261 900 3 0 -0.40440087 0.20263411 -115.85 + 17 186.37787 896 2 1 -0.712103 0.23373134 -144.45 + 17 120.77329 900 2 0 -0.72932612 0.23401204 -145.85 + 17 147.14352 894 1 1 -1.0834632 0.21998136 -174.45 + 17 168.65113 900 1 0 -1.1000625 0.21803976 -175.85 + 17 122.14999 893 0 1 -1.433165 0.17511336 -204.45 + 17 147.1642 900 0 0 -1.4608448 0.17741735 -205.85 +Number of digits in this event = 9 +Event: 18 +Number of tracker hits in this event = 9 + 18 215.37586 899 4 0 -0.053819384 -0.12970923 -85.85 + 18 120.91603 899 3 1 -0.17236097 -0.1822629 -114.45 + 18 127.32711 899 3 0 -0.17980501 -0.18419443 -115.85 + 18 110.7443 898 2 1 -0.34880663 -0.20842815 -144.45 + 18 135.68331 899 2 0 -0.36134418 -0.21440505 -145.85 + 18 104.49749 897 1 1 -0.63077586 -0.33178438 -174.45 + 18 148.30428 898 1 0 -0.64734354 -0.33874928 -175.85 + 18 113.95293 895 0 1 -0.98067564 -0.48095523 -204.45 + 18 148.7559 897 0 0 -0.98922505 -0.45989126 -205.85 +Number of digits in this event = 7 +Event: 19 +Number of tracker hits in this event = 12 + 19 166.7291 900 5 1 0.08209298 -0.087785082 -54.45 + 19 127.56761 899 5 0 0.08321312 -0.093198422 -55.85 + 19 139.59934 900 4 1 0.091027364 -0.21023167 -84.45 + 19 113.7017 899 4 0 0.092032082 -0.21966117 -85.85 + 19 177.88158 900 3 1 0.12931258 -0.40564787 -114.45 + 19 186.51301 898 3 0 0.1297217 -0.415556 -115.85 + 19 199.46544 900 2 1 0.14481149 -0.61208967 -144.45 + 19 129.4249 897 2 0 0.14730319 -0.62333787 -145.85 + 19 140.18115 900 1 1 0.20366873 -0.86164411 -174.45 + 19 138.10461 895 1 0 0.20862542 -0.87137383 -175.85 + 19 149.06599 901 0 1 0.31336693 -1.0342045 -204.45 + 19 126.20402 895 0 0 0.32300049 -1.0454315 -205.85 +Number of digits in this event = 12 Event: 20 -Number of tracker hits in this event = 4 - 20 201.57851 896 2 0 -0.28820697 0.22591995 -145.85 - 20 125.31469 897 1 0 -0.44839152 0.33081118 -175.85 - 20 134.92899 894 0 1 -0.67391505 0.43533868 -204.45 - 20 138.90848 897 0 0 -0.68416516 0.44455367 -205.85 +Number of tracker hits in this event = 6 + 20 127.31436 898 2 1 -0.31804918 0.12174818 -144.45 + 20 202.08665 900 2 0 -0.31517485 0.12674232 -145.85 + 20 199.73591 898 1 1 -0.26077196 0.22876498 -174.45 + 20 186.80944 900 1 0 -0.25678054 0.23797712 -175.85 + 20 131.78166 899 0 1 -0.15464961 0.45461725 -204.45 + 20 124.18406 902 0 0 -0.15107061 0.46549048 -205.85 Number of digits in this event = 7 Event: 21 -Number of tracker hits in this event = 14 - 21 172.09428 897 5 1 0.26606108 0.10015225 -54.45 - 21 111.42315 896 5 0 0.28285235 0.10529049 -55.85 - 21 168.03136 898 4 1 0.61800567 0.20812521 -84.45 - 21 119.27917 896 4 0 0.6320234 0.21148285 -85.85 - 21 113.52549 900 3 1 0.88552073 0.26638027 -114.45 - 21 119.25241 897 3 0 0.89813204 0.26748213 -115.85 - 21 139.11014 901 2 1 1.1217035 0.26705284 -144.45 - 21 119.04165 897 2 0 1.1279494 0.26568041 -145.85 - 21 180.92743 901 1 1 1.2285068 0.24313463 -174.45 - 21 208.79516 896 1 0 1.227144 0.23858128 -175.85 - 21 155.54025 901 0 1 1.1996414 0.15925056 -204.45 - 21 127.08996 896 0 0 1.2010897 0.1526594 -205.85 - 21 186.20562 902 1 1 1.253258 0.26490912 -174.52404 - 21 95.315599 896 5 1 0.24621378 0.14953736 -54.760745 -Number of digits in this event = 9 -Event: 22 -Number of tracker hits in this event = 2 - 22 324.9659 896 2 1 0.05 -0.058370009 -144.57934 - 22 8.4589846 897 2 1 0.2507418 0.12980569 -144.7454 -Number of digits in this event = 2 -Event: 23 -Number of tracker hits in this event = 2 - 23 126.94708 897 0 1 0.29735079 -0.49698452 -204.45 - 23 118.53374 895 0 0 0.31487068 -0.51107998 -205.85 -Number of digits in this event = 4 -Event: 24 -Number of tracker hits in this event = 14 - 24 140.34582 896 4 1 0.062373163 -0.21396013 -84.45 - 24 132.18471 897 3 1 0.25784515 -0.24137603 -114.45 - 24 157.31954 898 2 1 0.45927164 -0.16141573 -144.45 - 24 193.65963 898 1 1 0.5035364 -0.086682166 -174.45 - 24 32.107854 733 4 0 -3.3261592 -32.962866 -86.25 - 24 55.179678 732 4 0 -3.3823265 -33.058461 -86.205005 - 24 52.246199 731 4 0 -3.4268602 -33.286596 -86.159767 - 24 68.833942 730 4 0 -3.4417274 -33.462311 -86.15912 - 24 93.257181 262 4 0 20.734309 -127.60977 -86.25 - 24 403.0378 263 4 0 20.532274 -127.54351 -86.079754 - 24 125.35624 1087 4 0 -19.707438 38.255625 -86.25 - 24 132.97478 799 4 1 -19.788961 38.710256 -84.85 - 24 105.15758 800 4 1 -19.594067 38.951389 -84.612092 - 24 101.75308 801 4 1 -19.409699 39.20977 -84.587208 -Number of digits in this event = 8 -Event: 25 -Number of tracker hits in this event = 9 - 25 144.28288 896 4 0 -0.44888872 0.17979579 -85.85 - 25 215.25608 894 3 1 -0.76378673 0.42650096 -114.45 - 25 122.18788 897 3 0 -0.77432734 0.4369098 -115.85 - 25 126.7327 893 2 1 -1.0022269 0.63412486 -144.45 - 25 143.22592 898 2 0 -1.0136475 0.64209012 -145.85 - 25 132.17802 891 1 1 -1.2501821 0.79857243 -174.45 - 25 126.8441 899 1 0 -1.2651892 0.81242954 -175.85 - 25 216.63092 890 0 1 -1.5805269 1.0837655 -204.45 - 25 132.11357 901 0 0 -1.5866743 1.1045096 -205.85 -Number of digits in this event = 10 -Event: 26 -Number of tracker hits in this event = 10 - 26 108.82227 895 2 0 -0.42488414 -0.49827358 -145.85 - 26 132.4815 895 1 1 -0.60491628 -0.66382848 -174.45 - 26 126.01276 894 1 0 -0.61451069 -0.67236475 -175.85 - 26 130.90532 894 0 1 -0.79900848 -0.84304825 -204.45 - 26 142.96257 894 0 0 -0.80373433 -0.84775634 -205.85 - 26 213.10103 893 0 0 -0.78338234 -0.85622158 -205.98454 - 26 151.14235 633 3 0 -27.767366 -52.863959 -116.25 - 26 69.17997 632 3 0 -27.656685 -53.053603 -116.21418 - 26 107.07878 631 3 0 -27.65662 -53.258492 -116.16985 - 26 234.26062 630 3 0 -27.708477 -53.452023 -116.16948 -Number of digits in this event = 8 -Event: 27 -Number of tracker hits in this event = 15 - 27 77.75251 896 2 1 0.05 -0.21603636 -144.62764 - 27 153.64061 896 1 1 0.22386896 -0.25064523 -174.45 - 27 266.20606 897 0 1 0.40647559 -0.24631008 -204.45 - 27 106.29927 879 0 0 -6.448141 -3.7154539 -206.25 - 27 124.57664 880 0 0 -6.6510391 -3.6213105 -206.03366 - 27 81.796241 881 0 0 -6.8155776 -3.4211168 -206.04707 - 27 134.31819 882 0 0 -6.9617825 -3.2044449 -206.07832 - 27 91.231247 883 0 0 -7.2159624 -3.0364614 -206.16112 - 27 41.241783 884 0 0 -7.2150858 -2.8141951 -206.15863 - 27 38.957536 896 0 1 0.24881881 -0.30882038 -204.75309 - 27 14.822413 894 0 0 -0.05 -0.81828764 -206.01741 - 27 158.99279 893 0 0 -0.068664308 -0.85313809 -206.04134 - 27 18.093251 888 0 1 -1.9941481 -0.58259555 -204.85 - 27 183.99626 887 0 1 -2.0537882 -0.57871785 -204.82626 - 27 214.30908 886 0 1 -2.2573781 -0.72766033 -204.65619 -Number of digits in this event = 8 -Event: 28 -Number of tracker hits in this event = 2 - 28 157.71614 896 1 0 -0.29863403 0.19971578 -175.85 - 28 203.91039 897 0 0 -0.32418531 0.39114618 -205.85 -Number of digits in this event = 3 -Event: 29 -Number of tracker hits in this event = 4 - 29 214.8193 895 3 1 -0.631916 -0.18009646 -114.45 - 29 170.05718 893 2 1 -0.88663216 -0.12599965 -144.45 - 29 156.06372 892 1 1 -1.0689365 -0.15756189 -174.45 - 29 153.30957 891 0 1 -1.3677037 -0.20445511 -204.45 -Number of digits in this event = 5 -Event: 30 -Number of tracker hits in this event = 28 - 30 204.68464 898 2 1 0.5386351 0.099634574 -144.45 - 30 138.45367 896 2 0 0.54532146 0.10495888 -145.85 - 30 147.28106 899 1 1 0.70029959 0.20244381 -174.45 - 30 139.54529 896 1 0 0.70362361 0.21144224 -175.85 - 30 343.47243 899 0 1 0.77463109 0.38351567 -204.45 - 30 133.49136 897 0 0 0.77473351 0.39612328 -205.85 - 30 34.601748 900 0 1 0.86427475 0.12607961 -204.67422 - 30 7.5957225 893 0 0 0.09901739 -1.0382211 -205.85 - 30 19.09413 892 0 0 0.085416405 -1.0548135 -205.87073 - 30 17.890424 889 0 0 0.05 -1.8175022 -205.90669 - 30 204.721 896 0 1 0.12507633 -2.6300051 -204.85 - 30 91.04703 897 0 1 0.25830227 -3.1056352 -204.65986 - 30 253.92703 898 0 1 0.46939368 -3.0802802 -204.60732 - 30 39.56994 899 2 1 0.66847073 -0.093342793 -144.7777 - 30 20.840689 889 2 0 4.9269403 -1.8446073 -145.85 - 30 57.457775 888 2 0 4.9916603 -1.8704598 -145.8545 - 30 22.805069 956 2 1 12.238239 -5.6767973 -144.85 - 30 64.825443 957 2 1 12.296863 -5.7061374 -144.84975 - 30 24.713354 958 2 1 12.460247 -5.8982968 -144.83354 - 30 27.976355 734 2 0 30.383876 -32.685185 -145.85 - 30 45.543465 1054 2 1 31.760018 -36.92745 -144.85 - 30 103.53166 600 2 0 45.228877 -59.525591 -145.85 - 30 195.07247 599 2 0 45.338932 -59.68424 -145.87148 - 30 21.784745 1126 2 1 46.224468 -60.30963 -144.85 - 30 118.79989 1127 2 1 46.252864 -60.340513 -144.78274 - 30 59.37097 1128 2 1 46.453985 -60.257661 -144.56209 - 30 187.92763 896 3 0 0.34797052 0.05 -115.88471 - 30 232.53366 961 3 0 54.62065 13.215299 -116.25 -Number of digits in this event = 13 -Event: 31 -Number of tracker hits in this event = 7 - 31 126.59836 896 4 0 -0.15709793 0.12600885 -85.85 - 31 139.84324 897 2 1 0.28453144 0.32587333 -144.45 - 31 179.421 897 2 0 0.3044619 0.33644248 -145.85 - 31 128.57977 899 1 1 0.73158922 0.55818845 -174.45 - 31 142.65217 898 1 0 0.75241196 0.57586484 -175.85 - 31 179.63191 901 0 1 1.1949069 0.96322369 -204.45 - 31 109.02265 900 0 0 1.2130498 0.9845934 -205.85 -Number of digits in this event = 7 -Event: 32 Number of tracker hits in this event = 12 - 32 124.35638 897 4 1 0.25261704 -0.12966489 -84.45 - 32 131.30672 898 3 1 0.60274048 -0.21730245 -114.45 - 32 203.02345 900 2 1 0.89734027 -0.17293898 -144.45 - 32 125.69295 902 1 1 1.2864736 -0.16769583 -174.45 - 32 137.85555 904 0 1 1.75319 -0.099085976 -204.45 - 32 7.9224912 508 5 1 -78.039604 6.1735152 -54.45 - 32 104.81529 507 5 1 -78.051304 6.1826151 -54.466961 - 32 115.26427 942 0 0 -31.944034 9.4444275 -206.25 - 32 76.793197 943 0 0 -32.045342 9.4509822 -206.23039 - 32 61.807787 1013 0 0 -7.3138085 23.488948 -206.25 - 32 11.635939 823 0 1 -14.972892 34.360857 -204.68222 - 32 29.89328 895 5 1 -0.53524325 -0.16839561 -54.85 -Number of digits in this event = 8 -Event: 33 -Number of tracker hits in this event = 10 - 33 129.63973 896 4 1 0.10560897 0.1062796 -84.45 - 33 179.20938 896 4 0 0.11614541 0.10904556 -85.85 - 33 156.90316 897 3 1 0.33266061 0.15383399 -114.45 - 33 123.68862 896 3 0 0.34860017 0.15966867 -115.85 - 33 133.15675 899 2 1 0.683024 0.28299967 -144.45 - 33 181.2224 897 2 0 0.69710792 0.28969106 -145.85 - 33 160.22665 900 1 1 0.98853361 0.42265287 -174.45 - 33 138.12497 897 1 0 1.0005112 0.43034818 -175.85 - 33 129.84492 901 0 1 1.2387307 0.56866089 -204.45 - 33 114.78586 898 0 0 1.2498041 0.56482004 -205.85 -Number of digits in this event = 10 -Event: 34 -Number of tracker hits in this event = 3 - 34 134.22606 898 2 0 -0.069561303 0.57361811 -145.85 - 34 156.20884 900 1 0 -0.12399577 1.0095843 -175.85 - 34 169.70924 903 0 0 -0.22150423 1.4560948 -205.85 -Number of digits in this event = 4 -Event: 35 -Number of tracker hits in this event = 7 - 35 234.075 896 5 1 0.098242508 0.066059513 -54.45 - 35 184.41958 896 5 0 0.10580213 0.064634706 -55.85 - 35 325.81917 897 2 1 0.44473894 -0.24922035 -144.45 - 35 132.00658 898 1 1 0.51377362 -0.4141505 -174.45 - 35 191.31656 900 0 1 1.0086988 0.26272616 -204.45 - 35 113.05368 897 0 0 1.0346604 0.29613984 -205.85 - 35 2.0408402 898 2 1 0.45695498 -0.15127663 -144.59034 + 21 164.26066 899 5 1 -0.11863993 -0.10194625 -54.45 + 21 109.4259 899 5 0 -0.1252173 -0.10853743 -55.85 + 21 159.41088 898 4 1 -0.2513504 -0.24865685 -84.45 + 21 139.31743 898 4 0 -0.25986513 -0.25440853 -85.85 + 21 174.11606 898 3 1 -0.41726181 -0.38921094 -114.45 + 21 146.35161 898 3 0 -0.42790161 -0.39708177 -115.85 + 21 157.48766 897 2 1 -0.63528954 -0.5503844 -144.45 + 21 151.03991 897 2 0 -0.64384133 -0.55828085 -145.85 + 21 146.1729 896 1 1 -0.81297949 -0.70438888 -174.45 + 21 131.41544 896 1 0 -0.82162523 -0.713678 -175.85 + 21 130.57473 895 0 1 -0.98909991 -0.89590156 -204.45 + 21 123.63105 895 0 0 -0.99691807 -0.90812929 -205.85 +Number of digits in this event = 12 +Event: 22 +Number of tracker hits in this event = 6 + 22 165.03948 899 2 1 -0.21525156 -0.085716031 -144.45 + 22 134.05607 899 2 0 -0.21959959 -0.096613039 -145.85 + 22 106.76811 898 1 1 -0.30995065 -0.31596831 -174.45 + 22 191.43172 898 1 0 -0.31976666 -0.32453309 -175.85 + 22 145.18899 897 0 1 -0.54102176 -0.50095146 -204.45 + 22 124.48853 897 0 0 -0.55311967 -0.51057236 -205.85 Number of digits in this event = 7 +Event: 23 +Number of tracker hits in this event = 3 + 23 133.8887 903 2 1 0.81761686 -0.058227077 -144.45 + 23 124.61607 899 2 0 0.83222626 -0.057630331 -145.85 + 23 70.35163 900 3 0 0.52282111 0.05 -116.13749 +Number of digits in this event = 3 +Event: 24 +Number of tracker hits in this event = 10 + 24 146.14 898 4 1 -0.25285633 -0.11337764 -84.45 + 24 125.01023 899 4 0 -0.26325039 -0.1215343 -85.85 + 24 121.35803 897 3 1 -0.45775387 -0.28454946 -114.45 + 24 150.16723 898 3 0 -0.47373775 -0.29195665 -115.85 + 24 148.02235 896 2 1 -0.79492146 -0.43672711 -144.45 + 24 132.10102 898 2 0 -0.79734125 -0.44597955 -145.85 + 24 135.53269 896 1 1 -0.83977377 -0.63101545 -174.45 + 24 146.93079 897 1 0 -0.83805131 -0.6411509 -175.85 + 24 157.92167 896 0 1 -0.80567023 -0.85067778 -204.45 + 24 123.61398 895 0 0 -0.80245659 -0.86817599 -205.85 +Number of digits in this event = 11 +Event: 25 +Number of tracker hits in this event = 10 + 25 211.01487 899 4 1 -0.24186341 0.097769572 -84.45 + 25 218.78207 900 4 0 -0.25330564 0.09942928 -85.85 + 25 173.67866 897 3 1 -0.4948629 0.14846559 -114.45 + 25 134.95194 900 3 0 -0.51372238 0.15207347 -115.85 + 25 157.29049 895 2 1 -0.92379943 0.23555411 -144.45 + 25 141.51918 900 2 0 -0.94814521 0.23927781 -145.85 + 25 127.11774 893 1 1 -1.4399707 0.28655275 -174.45 + 25 141.23659 901 1 0 -1.4606157 0.28691535 -175.85 + 25 124.48502 890 0 1 -1.8787596 0.29213007 -204.45 + 25 152.36672 901 0 0 -1.9008173 0.29078563 -205.85 +Number of digits in this event = 11 +Event: 26 +Number of tracker hits in this event = 12 + 26 155.20434 899 5 1 -0.082966484 0.072244699 -54.45 + 26 344.63431 900 5 0 -0.088931503 0.076169624 -55.85 + 26 131.28043 899 4 1 -0.19607122 0.15283117 -84.45 + 26 120.41878 900 4 0 -0.2067858 0.16114668 -85.85 + 26 127.65686 898 3 1 -0.39474347 0.34639087 -114.45 + 26 146.70517 901 3 0 -0.40747905 0.35548172 -115.85 + 26 125.1796 896 2 1 -0.65535922 0.52940551 -144.45 + 26 138.22402 902 2 0 -0.66855387 0.544188 -145.85 + 26 188.17249 895 1 1 -0.93436536 0.83117707 -174.45 + 26 132.74655 903 1 0 -0.94590906 0.84848804 -175.85 + 26 123.14037 894 0 1 -1.1786196 1.1977324 -204.45 + 26 173.74606 905 0 0 -1.1900527 1.2188106 -205.85 +Number of digits in this event = 13 +Event: 27 +Number of tracker hits in this event = 10 + 27 118.76029 899 4 1 -0.099167212 -0.15677514 -84.45 + 27 128.97412 899 4 0 -0.10161084 -0.16159774 -85.85 + 27 120.44624 899 3 1 -0.15516396 -0.27288848 -114.45 + 27 145.91169 898 3 0 -0.15251754 -0.27605369 -115.85 + 27 134.57111 899 2 1 -0.071681222 -0.32203525 -144.45 + 27 124.39976 898 2 0 -0.063799751 -0.32232383 -145.85 + 27 124.12424 900 1 1 0.10956991 -0.33317889 -174.45 + 27 140.73806 898 1 0 0.11818333 -0.33589896 -175.85 + 27 123.03276 901 0 1 0.29532018 -0.40087362 -204.45 + 27 153.37544 898 0 0 0.29840885 -0.40435996 -205.85 +Number of digits in this event = 10 +Event: 28 +Number of tracker hits in this event = 7 + 28 137.11253 902 3 0 -0.051278986 0.46174476 -115.85 + 28 147.35484 899 2 1 -0.10760355 0.75636722 -144.45 + 28 133.23307 903 2 0 -0.11340649 0.76914663 -145.85 + 28 142.36962 899 1 1 -0.21928206 1.0228901 -174.45 + 28 171.19888 904 1 0 -0.22920755 1.0349716 -175.85 + 28 180.51117 898 0 1 -0.4288038 1.2570434 -204.45 + 28 148.14393 906 0 0 -0.44692825 1.2718871 -205.85 +Number of digits in this event = 8 +Event: 29 +Number of tracker hits in this event = 2 + 29 114.8218 899 5 1 -0.08924906 0.068239361 -54.45 + 29 112.63348 900 5 0 -0.081514615 0.066944025 -55.85 +Number of digits in this event = 1 +Event: 30 +Number of tracker hits in this event = 16 + 30 142.19508 899 4 1 -0.086384707 0.28663618 -84.45 + 30 135.23602 901 4 0 -0.091619106 0.29927496 -85.85 + 30 132.10948 899 3 1 -0.19600492 0.57972583 -114.45 + 30 134.89036 902 3 0 -0.20384914 0.58917079 -115.85 + 30 150.89986 898 2 1 -0.34118185 0.78455408 -144.45 + 30 119.46175 903 2 0 -0.34255758 0.80150998 -145.85 + 30 159.47827 898 1 1 -0.3828487 1.1173762 -174.45 + 30 120.18547 905 1 0 -0.38767501 1.1363856 -175.85 + 30 138.97068 897 0 1 -0.49626194 1.5155306 -204.45 + 30 490.68886 907 0 0 -0.50223061 1.5380377 -205.85 + 30 4.9554063 285 8 1 -123.14803 -114.22341 35.356557 + 30 135.63839 1261 0 0 -115.3018 72.315626 -206.25 + 30 88.402979 1260 0 0 -115.51729 72.221298 -206.00968 + 30 107.92892 319 0 1 -116.27909 72.062632 -204.85 + 30 88.65158 318 0 1 -116.35771 71.89208 -204.63778 + 30 23.057092 317 0 1 -116.57902 71.75959 -204.49201 +Number of digits in this event = 12 +Event: 31 +Number of tracker hits in this event = 10 + 31 160.74241 900 4 1 0.14133356 -0.24464235 -84.45 + 31 141.59081 899 4 0 0.14494368 -0.2486846 -85.85 + 31 148.31695 900 3 1 0.23349225 -0.33897688 -114.45 + 31 173.11786 898 3 0 0.23684138 -0.35088858 -115.85 + 31 136.96386 901 2 1 0.32462595 -0.59862659 -144.45 + 31 110.47238 897 2 0 0.32651107 -0.60815778 -145.85 + 31 131.95374 901 1 1 0.37312787 -0.79421327 -174.45 + 31 134.97507 896 1 0 0.37359336 -0.80562353 -175.85 + 31 159.56074 901 0 1 0.38823355 -1.0595822 -204.45 + 31 124.3069 894 0 0 0.38671269 -1.0758278 -205.85 +Number of digits in this event = 10 +Event: 32 +Number of tracker hits in this event = 10 + 32 127.29891 898 4 1 -0.26002211 0.071480377 -84.45 + 32 122.11938 900 4 0 -0.26497256 0.07284854 -85.85 + 32 130.77917 898 3 1 -0.3652422 0.11328738 -114.45 + 32 155.21337 900 3 0 -0.36599299 0.11709152 -115.85 + 32 157.66742 898 2 1 -0.39260418 0.19782818 -144.45 + 32 126.08399 900 2 0 -0.39443043 0.20231026 -145.85 + 32 127.56124 898 1 1 -0.44151913 0.25906026 -174.45 + 32 413.02383 901 1 0 -0.44598516 0.26459783 -175.85 + 32 277.25038 896 0 1 -0.73422605 0.17327472 -204.45 + 32 124.92599 900 0 0 -0.7457483 0.16826271 -205.85 +Number of digits in this event = 11 +Event: 33 +Number of tracker hits in this event = 11 + 33 126.30448 900 4 1 0.19302754 0.071956814 -84.45 + 33 156.639 900 4 0 0.19850222 0.078375957 -85.85 + 33 155.14454 901 3 1 0.31748286 0.19571124 -114.45 + 33 113.42643 900 3 0 0.31966777 0.19835608 -115.85 + 33 158.81038 901 2 1 0.36836777 0.25688088 -144.45 + 33 589.93294 901 2 0 0.3712151 0.25393836 -145.85 + 33 289.5792 901 1 1 0.4314836 0.19846818 -174.45 + 33 128.54546 900 1 0 0.4380229 0.19388668 -175.85 + 33 171.66373 902 0 1 0.58906095 0.11551299 -204.45 + 33 147.17149 900 0 0 0.59307313 0.11267033 -205.85 + 33 56.095256 910 1 1 2.1360415 124.22259 -174.77728 +Number of digits in this event = 11 +Event: 34 +Number of tracker hits in this event = 10 + 34 129.80777 899 4 1 -0.066968271 -0.16525674 -84.45 + 34 158.04511 899 4 0 -0.067456979 -0.17344965 -85.85 + 34 119.65531 899 3 1 -0.08462117 -0.3330223 -114.45 + 34 130.27217 898 3 0 -0.084692877 -0.36022861 -115.85 + 34 141.81181 899 2 1 -0.10038332 -0.93138941 -144.45 + 34 125.56267 895 2 0 -0.10063557 -0.95788221 -145.85 + 34 147.64548 899 1 1 -0.12125037 -1.4863514 -174.45 + 34 126.14844 892 1 0 -0.1239387 -1.5105814 -175.85 + 34 123.45705 899 0 1 -0.17284968 -2.021682 -204.45 + 34 175.17146 889 0 0 -0.17689707 -2.0509255 -205.85 +Number of digits in this event = 10 +Event: 35 +Number of tracker hits in this event = 12 + 35 178.27072 900 5 1 0.083823265 0.062073996 -54.45 + 35 176.69654 900 5 0 0.089864823 0.063218258 -55.85 + 35 124.78357 900 4 1 0.22714815 0.080657757 -84.45 + 35 112.65217 900 4 0 0.23682125 0.085069151 -85.85 + 35 129.49246 901 3 1 0.42190838 0.17459439 -114.45 + 35 132.34682 900 3 0 0.42697795 0.17774022 -115.85 + 35 167.23033 902 2 1 0.53315298 0.26896023 -144.45 + 35 135.41567 901 2 0 0.54057252 0.266525 -145.85 + 35 119.17715 903 1 1 0.67930538 0.21914071 -174.45 + 35 175.98063 900 1 0 0.68771988 0.21699648 -175.85 + 35 164.2845 904 0 1 0.85538428 0.17300518 -204.45 + 35 144.43388 900 0 0 0.8646555 0.16573711 -205.85 +Number of digits in this event = 11 Event: 36 -Number of tracker hits in this event = 8 - 36 124.19947 896 5 1 0.056622909 -0.12342874 -54.45 - 36 141.14317 896 4 1 0.15686503 -0.33673918 -84.45 - 36 131.0021 896 3 1 0.13779897 -0.74924306 -114.45 - 36 146.12009 894 3 0 0.13793417 -0.76960925 -115.85 - 36 124.8923 896 2 1 0.13583687 -1.178178 -144.45 - 36 151.93358 892 2 0 0.13666926 -1.1973228 -145.85 - 36 115.15228 896 1 1 0.14223267 -1.5934894 -174.45 - 36 145.80968 890 1 0 0.13418231 -1.6045579 -175.85 +Number of tracker hits in this event = 10 + 36 304.66127 900 4 1 0.059605632 -0.43900554 -84.45 + 36 114.00584 898 4 0 0.068577149 -0.44755514 -85.85 + 36 148.33728 901 3 1 0.26010362 -0.61601314 -114.45 + 36 139.13352 897 3 0 0.27644617 -0.61864258 -115.85 + 36 131.70832 902 2 1 0.54601847 -0.65011785 -144.45 + 36 148.12639 896 2 0 0.55972653 -0.65297611 -145.85 + 36 146.04787 903 1 1 0.82929538 -0.69651708 -174.45 + 36 157.54788 896 1 0 0.84270299 -0.7004665 -175.85 + 36 94.510713 905 0 1 1.1144571 -0.78511185 -204.45 + 36 116.29258 896 0 0 1.1320393 -0.7879523 -205.85 Number of digits in this event = 8 Event: 37 -Number of tracker hits in this event = 8 - 37 127.31378 895 3 0 -0.25628731 -0.5040653 -115.85 - 37 132.15573 895 2 0 -0.30202574 -0.52547865 -145.85 - 37 115.00108 895 1 0 -0.3322526 -0.53162417 -175.85 - 37 138.20036 895 0 0 -0.44730387 -0.48409974 -205.85 - 37 116.12261 894 4 0 -0.79681006 -0.73362262 -85.85 - 37 121.17062 891 4 1 -1.3182561 -0.25678556 -84.85 - 37 131.9544 898 5 0 -0.5436361 0.49308927 -55.85 - 37 147.51733 897 5 0 -0.5551263 0.449209 -55.976364 -Number of digits in this event = 7 +Number of tracker hits in this event = 15 + 37 120.58967 905 5 1 1.0501264 0.29528551 -54.45 + 37 125.84012 901 5 0 1.0964425 0.30730343 -55.85 + 37 118.10702 910 4 1 2.0714439 0.53182753 -84.45 + 37 224.42944 902 4 0 2.1190782 0.54143985 -85.85 + 37 148.69077 915 3 1 3.0917551 0.72699628 -114.45 + 37 134.65341 903 3 0 3.1427254 0.73994105 -115.85 + 37 140.57412 920 2 1 4.1587864 0.99892521 -144.45 + 37 169.27122 904 2 0 4.2063859 1.0154229 -145.85 + 37 195.38702 925 1 1 5.175952 1.3731533 -174.45 + 37 124.85357 906 1 0 5.2266751 1.3932586 -175.85 + 37 333.8251 930 0 1 6.2428992 1.8007529 -204.45 + 37 132.77965 908 0 0 6.2941484 1.8209715 -205.85 + 37 137.93445 283 4 0 121.07051 -123.37825 -86.25 + 37 232.77127 282 4 0 121.03859 -123.56687 -86.048969 + 37 25.125671 281 4 0 120.9446 -123.75947 -85.889301 +Number of digits in this event = 14 Event: 38 -Number of tracker hits in this event = 2 - 38 198.99684 896 1 1 0.10549205 -0.06727841 -174.45 - 38 41.273614 866 0 0 -6.0512964 -6.3084133 -206.25 -Number of digits in this event = 2 +Number of tracker hits in this event = 8 + 38 152.5812 900 3 1 0.19265969 0.21015886 -114.45 + 38 157.44701 900 3 0 0.20658014 0.21203813 -115.85 + 38 173.11989 902 2 1 0.47900268 0.25415411 -144.45 + 38 122.27477 901 2 0 0.48805853 0.25178979 -145.85 + 38 138.43626 903 1 1 0.67515048 0.20841099 -174.45 + 38 125.64498 900 1 0 0.68201298 0.20794088 -175.85 + 38 147.91341 903 0 1 0.80924152 0.21587843 -204.45 + 38 171.2533 900 0 0 0.81222579 0.21816799 -205.85 +Number of digits in this event = 9 Event: 39 -Number of tracker hits in this event = 5 - 39 139.62347 896 5 0 -0.18091615 0.063080336 -55.85 - 39 154.43675 896 4 0 -0.36863338 0.063173126 -85.85 - 39 260.82558 894 2 1 -0.75606923 -0.067500299 -144.45 - 39 110.16793 893 1 1 -0.87836067 -0.13347762 -174.45 - 39 229.0156 892 0 1 -1.0827745 -0.22020463 -204.45 -Number of digits in this event = 5 -Event: 40 Number of tracker hits in this event = 6 - 40 164.53997 896 5 1 0.071321907 -0.16624076 -54.45 - 40 122.19313 896 4 1 0.14098583 -0.39291732 -84.45 - 40 110.98477 896 3 1 0.069128614 -0.58556039 -114.45 - 40 235.98644 895 3 0 0.065631487 -0.58890006 -115.85 - 40 148.25028 894 1 0 -0.20494817 -0.7079898 -175.85 - 40 133.03921 893 0 0 -0.42424124 -0.91524399 -205.85 + 39 265.95481 900 3 1 0.14474418 0.25948071 -114.45 + 39 160.04438 901 3 0 0.14948877 0.26355376 -115.85 + 39 107.44576 901 2 1 0.27430057 0.35644484 -144.45 + 39 138.73294 901 2 0 0.26172377 0.37157635 -145.85 + 39 143.72129 899 0 1 -0.23504341 1.0802342 -204.45 + 39 156.42732 905 0 0 -0.24466782 1.0923263 -205.85 Number of digits in this event = 6 +Event: 40 +Number of tracker hits in this event = 8 + 40 65.348147 900 3 0 -0.14546951 0.05 -116.06278 + 40 136.06917 899 2 1 -0.13015972 0.17393843 -144.45 + 40 206.86399 900 2 0 -0.12844011 0.18033696 -145.85 + 40 116.00061 899 1 1 -0.082935879 0.31535405 -174.45 + 40 129.72527 901 1 0 -0.083153238 0.31930693 -175.85 + 40 137.17946 899 0 1 -0.057420418 0.30448256 -204.45 + 40 128.20634 901 0 0 -0.052546693 0.3016545 -205.85 + 40 159.14273 783 1 1 -23.271229 141.35158 -174.67527 +Number of digits in this event = 7 Event: 41 -Number of tracker hits in this event = 4 - 41 119.95837 895 2 0 -0.41309101 -0.56697981 -145.85 - 41 120.83653 895 1 1 -0.50301925 -0.62796306 -174.45 - 41 165.56519 895 1 0 -0.48250978 -0.63982676 -175.85 - 41 121.21586 893 0 0 -0.05 -0.88569868 -205.88939 -Number of digits in this event = 4 +Number of tracker hits in this event = 10 + 41 124.90723 900 4 1 0.093565625 0.062300828 -84.45 + 41 133.92201 900 4 0 0.095089447 0.067516367 -85.85 + 41 127.13289 900 3 1 0.16740066 0.19226684 -114.45 + 41 138.74624 900 3 0 0.16917883 0.20157119 -115.85 + 41 119.60531 900 2 1 0.22354419 0.38771672 -144.45 + 41 271.10151 901 2 0 0.23456873 0.39679206 -145.85 + 41 146.92746 902 1 1 0.45089468 0.59506854 -174.45 + 41 176.46643 902 1 0 0.45815226 0.60977069 -175.85 + 41 116.84958 902 0 1 0.59870052 0.9006077 -204.45 + 41 170.89122 904 0 0 0.6091659 0.90877772 -205.85 +Number of digits in this event = 10 Event: 42 -Number of tracker hits in this event = 3 - 42 143.12288 896 3 1 0.069983086 0.062782528 -114.45 - 42 113.44821 896 3 0 0.070536064 0.060062023 -115.85 - 42 91.451251 896 1 0 0.085984186 0.05 -176.16688 -Number of digits in this event = 2 +Number of tracker hits in this event = 8 + 42 116.00576 899 5 1 -0.061949954 0.074038029 -54.45 + 42 126.49838 900 5 0 -0.060534764 0.069909552 -55.85 + 42 153.35896 900 2 1 0.18091291 -0.30216342 -144.45 + 42 121.55531 898 2 0 0.19010463 -0.31526125 -145.85 + 42 133.66793 901 1 1 0.37007165 -0.5892898 -174.45 + 42 130.81411 897 1 0 0.37648378 -0.59570083 -175.85 + 42 162.17798 902 0 1 0.52096432 -0.73654741 -204.45 + 42 163.56156 896 0 0 0.52884998 -0.74504873 -205.85 +Number of digits in this event = 8 Event: 43 -Number of tracker hits in this event = 29 - 43 115.47073 895 3 1 -0.64584791 -0.21710317 -114.45 - 43 300.63183 893 2 1 -0.95766163 -0.40408491 -144.45 - 43 119.77228 891 1 1 -1.288948 -0.64058039 -174.45 - 43 424.4071 894 1 0 -1.3038096 -0.65239987 -175.85 - 43 127.94608 890 0 1 -1.6187531 -0.88964528 -204.45 - 43 139.29191 893 0 0 -1.6401343 -0.90247021 -205.85 - 43 14.855979 1485 1 1 118.47468 -74.950349 -174.84012 - 43 60.527159 886 4 0 106.8288 -2.3429054 -86.25 - 43 95.653311 887 4 0 106.96259 -2.2428288 -86.155101 - 43 63.610156 888 4 0 107.20904 -1.995653 -86.017513 - 43 123.9043 889 4 0 107.30275 -1.8401488 -85.961316 - 43 49.285819 1435 4 1 108.53914 1.0073607 -84.85 - 43 134.48735 1436 4 1 108.58574 1.1228361 -84.783507 - 43 230.67537 1437 4 1 108.78766 1.4869374 -84.711366 - 43 89.18209 732 4 0 65.701179 -33.090176 -86.25 - 43 287.79294 731 4 0 65.701842 -33.254972 -86.162394 - 43 649.46722 1259 3 1 72.73919 -23.11663 -114.45 - 43 49.115674 789 3 0 72.507813 -21.744919 -115.85 - 43 172.1434 790 3 0 72.436743 -21.645169 -115.97997 - 43 117.56266 791 3 0 72.176925 -21.400739 -116.15682 - 43 123.60513 792 3 0 71.882918 -21.22108 -116.07697 - 43 88.204246 793 3 0 71.611151 -21.01188 -115.98573 - 43 103.63564 794 3 0 71.414451 -20.837838 -115.98547 - 43 90.906299 795 3 0 71.413614 -20.585883 -116.06818 - 43 84.654639 796 3 0 71.573779 -20.384876 -116.13913 - 43 227.47682 797 3 0 71.69878 -20.208863 -116.25 - 43 81.908661 1252 3 1 71.320438 -20.056667 -114.85 - 43 193.47838 1251 3 1 71.248406 -20.127581 -114.82348 - 43 56.021864 894 2 1 -0.84851983 -0.52093335 -144.83527 -Number of digits in this event = 15 +Number of tracker hits in this event = 6 + 43 113.61677 900 2 1 0.07709929 -0.28113685 -144.45 + 43 162.05807 898 2 0 0.066309426 -0.28369852 -145.85 + 43 151.20986 899 1 1 -0.16195163 -0.3601842 -174.45 + 43 158.57628 898 1 0 -0.17669983 -0.36888825 -175.85 + 43 159.04736 897 0 1 -0.47631321 -0.55302782 -204.45 + 43 169.04939 897 0 0 -0.49210744 -0.55651841 -205.85 +Number of digits in this event = 6 Event: 44 -Number of tracker hits in this event = 5 - 44 121.33366 896 4 1 0.084107925 -0.20022434 -84.45 - 44 149.00613 897 1 1 0.27380234 -0.80106112 -174.45 - 44 116.33192 894 1 0 0.29259695 -0.81642983 -175.85 - 44 152.34982 899 0 1 0.68261044 -1.1061202 -204.45 - 44 235.71663 892 0 0 0.70093452 -1.123107 -205.85 -Number of digits in this event = 5 +Number of tracker hits in this event = 11 + 44 119.86431 900 5 1 0.086829069 0.079809279 -54.45 + 44 175.72181 900 5 0 0.08801368 0.076286477 -55.85 + 44 405.80179 900 3 1 0.08136007 -0.1405919 -114.45 + 44 138.72836 899 3 0 0.081549977 -0.14908228 -115.85 + 44 128.83762 900 2 1 0.10313495 -0.323212 -144.45 + 44 186.61468 898 2 0 0.10085901 -0.32164244 -145.85 + 44 179.11138 900 1 1 0.073355826 -0.28332774 -174.45 + 44 342.5363 898 1 0 0.077220301 -0.28341774 -175.85 + 44 123.64414 900 0 1 0.15967406 -0.28548549 -204.45 + 44 123.39381 898 0 0 0.16436162 -0.28087341 -205.85 + 44 137.21846 47 7 1 -170.556 58.350437 5.2772872 +Number of digits in this event = 11 Event: 45 Number of tracker hits in this event = 11 - 45 110.2045 896 4 1 0.073543117 -0.17655332 -84.45 - 45 149.44186 896 3 1 0.18657722 -0.44498981 -114.45 - 45 174.21055 895 3 0 0.18770501 -0.45695658 -115.85 - 45 114.93734 896 2 1 0.23742639 -0.70414746 -144.45 - 45 147.15754 894 2 0 0.24275862 -0.7130525 -145.85 - 45 135.11022 897 1 1 0.37480985 -0.87758476 -174.45 - 45 134.18985 893 1 0 0.37675349 -0.88539318 -175.85 - 45 231.87755 897 0 1 0.40827003 -1.0462835 -204.45 - 45 113.62053 892 0 0 0.41047811 -1.0554051 -205.85 - 45 180.89104 935 3 1 7.8958544 2.3685556 -114.45 - 45 36.379888 934 3 1 7.8363516 2.3520179 -114.45 -Number of digits in this event = 8 + 45 233.46109 897 2 1 -0.53059594 -0.15257597 -144.45 + 45 122.24502 899 2 0 -0.51987533 -0.16156907 -145.85 + 45 144.76013 898 1 1 -0.32694744 -0.29267441 -174.45 + 45 148.84269 898 1 0 -0.31085004 -0.30770361 -175.85 + 45 99.237146 897 0 0 0.05 -0.59819513 -205.8652 + 45 40.941926 898 2 1 -0.43860156 -0.19114641 -144.79016 + 45 208.68204 895 2 0 0.56438975 -0.94168336 -145.85 + 45 103.37462 894 2 0 0.6728245 -1.1399064 -146.09054 + 45 199.46155 693 2 0 41.390954 -41.344 -146.25 + 45 139.36191 1106 2 1 41.309712 -41.575136 -144.85 + 45 356.73563 1105 2 1 41.246834 -41.687703 -144.54273 +Number of digits in this event = 10 Event: 46 -Number of tracker hits in this event = 4 - 46 157.84646 896 3 0 -0.12514717 0.09060047 -115.85 - 46 137.76538 896 2 0 -0.25748176 0.050285647 -145.85 - 46 78.753733 905 4 0 -0.30494487 1.8610006 -85.85 - 46 136.16629 895 4 1 -0.47678726 2.2224196 -84.85 -Number of digits in this event = 4 -Event: 47 -Number of tracker hits in this event = 9 - 47 106.43238 895 4 1 -0.59976239 -0.26168971 -84.45 - 47 110.63388 892 3 1 -1.0525979 -0.48812775 -114.45 - 47 138.07392 895 3 0 -1.0732663 -0.50193021 -115.85 - 47 143.66187 890 2 1 -1.5051387 -0.80126955 -144.45 - 47 134.13369 894 2 0 -1.5277929 -0.81930363 -145.85 - 47 177.37828 888 1 1 -2.0107017 -1.1892989 -174.45 - 47 144.30025 892 1 0 -2.0207705 -1.2035018 -175.85 - 47 147.14224 887 0 1 -2.2183658 -1.4878946 -204.45 - 47 127.724 890 0 0 -2.2234129 -1.4981162 -205.85 +Number of tracker hits in this event = 10 + 46 117.96777 899 4 1 -0.18122635 0.2261434 -84.45 + 46 118.75775 900 4 0 -0.18418623 0.2338564 -85.85 + 46 282.51125 899 3 1 -0.22421189 0.37936051 -114.45 + 46 129.91036 901 3 0 -0.22950001 0.38543787 -115.85 + 46 531.02536 898 2 1 -0.34688658 0.4542967 -144.45 + 46 183.62165 902 2 0 -0.35175345 0.46372097 -145.85 + 46 116.92486 897 1 1 -0.45485165 0.65731838 -174.45 + 46 138.02975 903 1 0 -0.46339121 0.66353394 -175.85 + 46 147.95776 897 0 1 -0.62856741 0.77712072 -204.45 + 46 152.89899 903 0 0 -0.63341858 0.77720916 -205.85 Number of digits in this event = 8 +Event: 47 +Number of tracker hits in this event = 6 + 47 251.03528 898 3 1 -0.35704797 -0.053941028 -114.45 + 47 143.5056 899 3 0 -0.3612025 -0.054601923 -115.85 + 47 139.50012 898 2 1 -0.43960094 -0.057454673 -144.45 + 47 115.00942 899 2 0 -0.44596901 -0.055262934 -145.85 + 47 118.22001 897 0 1 -0.58620462 0.1382205 -204.45 + 47 126.53373 900 0 0 -0.58625665 0.14816086 -205.85 +Number of digits in this event = 5 Event: 48 -Number of tracker hits in this event = 7 - 48 130.31572 896 2 0 -0.45674518 0.13525559 -145.85 - 48 148.05073 894 1 1 -0.74429837 0.33836324 -174.45 - 48 124.39979 897 1 0 -0.75545086 0.34507412 -175.85 - 48 120.11614 893 0 1 -0.97584629 0.49366501 -204.45 - 48 117.71935 898 0 0 -0.99246006 0.50440863 -205.85 - 48 140.85598 895 2 1 -0.46311915 0.13082827 -144.50318 - 48 363.99668 894 2 1 -0.65295082 0.43392735 -144.63964 -Number of digits in this event = 7 -Event: 49 -Number of tracker hits in this event = 21 - 49 176.06305 896 5 1 0.11297158 0.09094915 -54.45 - 49 134.22922 896 5 0 0.12104946 0.092655152 -55.85 - 49 119.79051 897 4 1 0.28268136 0.13011022 -84.45 - 49 194.07721 896 4 0 0.29568742 0.12887239 -85.85 - 49 121.56881 898 3 1 0.55944325 0.10522237 -114.45 - 49 168.84526 896 3 0 0.5694957 0.10871166 -115.85 - 49 128.42856 899 2 1 0.77359382 0.18379132 -144.45 - 49 146.03293 896 2 0 0.7899 0.19331797 -145.85 - 49 187.90992 901 1 1 1.1325031 0.42712663 -174.45 - 49 187.44953 897 1 0 1.15498 0.43786513 -175.85 - 49 124.10394 903 0 1 1.625978 0.63870557 -204.45 - 49 113.49482 899 0 0 1.6532286 0.65012576 -205.85 - 49 8.7602649 891 0 0 5.7703494 -1.2600208 -206.25 - 49 157.17081 892 0 0 5.771544 -1.2486486 -206.2205 - 49 39.971562 893 0 0 5.678524 -1.0381208 -206.026 - 49 13.40697 928 0 1 6.4913379 0.5324828 -204.85 - 49 51.0912 906 0 0 6.9826237 2.1019988 -205.85 - 49 2.5030613 939 0 1 8.6785139 0.16012892 -204.85 - 49 153.58873 882 0 0 11.418922 -3.1914791 -205.85 - 49 459.07158 623 8 0 53.279737 -54.902851 33.952059 - 49 37.564225 955 1 0 -123.87943 11.94501 -176.24333 -Number of digits in this event = 15 -Event: 50 Number of tracker hits in this event = 13 - 50 129.11037 896 4 1 0.090674068 0.33076626 -84.45 - 50 128.89603 897 4 0 0.095559071 0.33779624 -85.85 - 50 126.62298 896 3 1 0.2045087 0.46660839 -114.45 - 50 150.45989 898 3 0 0.20967561 0.46420229 -115.85 - 50 146.86099 897 2 1 0.305987 0.40366775 -144.45 - 50 149.30531 897 2 0 0.31086325 0.38906794 -145.85 - 50 127.32491 897 1 1 0.40148402 0.087499586 -174.45 - 50 127.73879 896 1 0 0.40871411 0.071858634 -175.85 - 50 161.93254 898 0 1 0.56401233 -0.24869019 -204.45 - 50 4521.9676 1757 0 1 172.83662 94.393631 -204.45 - 50 2161.7729 1758 0 1 173.01295 94.309799 -204.67951 - 50 150.55702 909 2 0 137.75104 2.8297457 -146.25 - 50 36.248132 910 2 0 137.82516 2.8500905 -146.18472 -Number of digits in this event = 14 -Event: 51 -Number of tracker hits in this event = 3 - 51 137.62231 896 4 0 -0.075215043 0.081172576 -85.85 - 51 143.89688 896 3 0 -0.10521868 0.08488945 -115.85 - 51 134.70776 895 0 1 -0.56159339 -0.20504998 -204.45 -Number of digits in this event = 5 -Event: 52 -Number of tracker hits in this event = 9 - 52 111.02505 895 3 1 -0.50766441 -0.37386773 -114.45 - 52 143.28808 894 2 1 -0.67657429 -0.55041429 -144.45 - 52 137.51435 895 2 0 -0.68619501 -0.55788894 -145.85 - 52 169.49286 893 1 1 -0.96491848 -0.64601831 -174.45 - 52 159.56799 894 1 0 -0.9772236 -0.65104092 -175.85 - 52 177.06019 892 0 1 -1.2383282 -0.74193534 -204.45 - 52 126.36536 894 0 0 -1.2577892 -0.74491405 -205.85 - 52 93.502758 891 0 1 -1.2583321 -0.66400672 -204.72813 - 52 135.07119 879 0 1 -3.7942754 -1.0319728 -204.85 + 48 154.1928 900 3 1 0.087071015 0.23725539 -114.45 + 48 127.80594 900 3 0 0.088604057 0.24190393 -115.85 + 48 120.0442 900 2 1 0.11872871 0.34416637 -144.45 + 48 266.80456 901 2 0 0.11625107 0.3460241 -145.85 + 48 121.41023 899 0 1 -0.1749428 0.49577921 -204.45 + 48 137.98088 902 0 0 -0.18488093 0.49559502 -205.85 + 48 117.05215 903 3 0 -0.13238796 0.73834833 -115.85 + 48 19.863806 1023 3 0 -75.954238 24.836243 -116.25 + 48 216.57764 1024 3 0 -76.017765 24.860524 -116.2088 + 48 93.575553 1025 3 0 -76.432088 25.086206 -116.04789 + 48 64.892179 1026 3 0 -76.558757 25.259263 -116.11823 + 48 85.80029 1027 3 0 -76.615953 25.464308 -116.05273 + 48 378.93999 1028 3 0 -76.592858 25.673536 -115.96934 Number of digits in this event = 9 -Event: 53 -Number of tracker hits in this event = 4 - 53 140.94489 894 3 1 -0.67494115 -0.1599733 -114.45 - 53 238.68183 893 2 1 -0.99905008 -0.25123681 -144.45 - 53 130.7515 892 1 1 -1.236675 -0.26996905 -174.45 - 53 150.81736 891 0 1 -1.4260382 -0.28105069 -204.45 -Number of digits in this event = 5 -Event: 54 -Number of tracker hits in this event = 17 - 54 196.80907 895 2 1 -0.61187021 0.16618672 -144.45 - 54 149.43662 896 2 0 -0.62605919 0.1772959 -145.85 - 54 186.26678 893 1 1 -0.90294835 0.41526796 -174.45 - 54 132.31452 897 1 0 -0.90923035 0.42684653 -175.85 - 54 122.25401 893 0 1 -1.0318013 0.63639456 -204.45 - 54 139.6223 899 0 0 -1.0342278 0.65146716 -205.85 - 54 130.69292 894 1 1 -0.8283711 0.62891439 -174.45 - 54 76.39443 894 1 0 -0.62783211 -0.67388252 -175.85 - 54 80.04816 893 1 0 -0.59800293 -0.89234826 -175.92288 - 54 53.938242 892 1 0 -0.66129941 -1.1154735 -175.9951 - 54 158.47719 891 1 0 -0.73947497 -1.297546 -176.12456 - 54 88.735277 890 1 0 -0.8502616 -1.4670495 -176.04091 - 54 26.010216 887 1 1 -2.1678141 -1.5089251 -174.85 - 54 70.197188 886 1 1 -2.2723374 -1.5133701 -174.79234 - 54 85.06579 885 1 1 -2.4541102 -1.514528 -174.73301 - 54 323.95092 884 1 1 -2.681814 -1.3856818 -174.73715 - 54 173.15658 883 1 1 -2.850668 -1.5641958 -174.46215 +Event: 49 +Number of tracker hits in this event = 3 + 49 143.68022 900 1 0 -0.058943311 0.050040414 -175.85 + 49 132.9271 899 0 1 -0.079040959 0.085732236 -204.45 + 49 128.8326 900 0 0 -0.073430239 0.076794903 -205.85 +Number of digits in this event = 4 +Event: 50 +Number of tracker hits in this event = 12 + 50 195.0065 899 5 1 -0.11811691 0.1209642 -54.45 + 50 161.8426 900 5 0 -0.12564204 0.13131912 -55.85 + 50 113.23208 898 4 1 -0.31244045 0.35234685 -84.45 + 50 160.82382 901 4 0 -0.32037163 0.36894063 -85.85 + 50 246.57204 897 3 1 -0.47581151 0.6860056 -114.45 + 50 252.01764 903 3 0 -0.48350303 0.70183278 -115.85 + 50 127.44326 897 2 1 -0.63344761 1.0358135 -144.45 + 50 151.65904 905 2 0 -0.64137152 1.0549327 -145.85 + 50 118.68985 896 1 1 -0.80283307 1.4722157 -174.45 + 50 213.15387 907 1 0 -0.81043739 1.4822205 -175.85 + 50 142.58786 895 0 1 -0.97275469 1.6855284 -204.45 + 50 146.00938 908 0 0 -0.97987653 1.6987368 -205.85 Number of digits in this event = 11 +Event: 51 +Number of tracker hits in this event = 12 + 51 132.91051 900 5 1 0.061286312 0.070039272 -54.45 + 51 248.19436 900 5 0 0.068504222 0.062189407 -55.85 + 51 120.88857 900 4 1 0.20501394 -0.089258009 -84.45 + 51 128.80283 899 4 0 0.21095281 -0.094320913 -85.85 + 51 138.07252 901 3 1 0.32881894 -0.21345068 -114.45 + 51 187.37493 899 3 0 0.34418739 -0.22054432 -115.85 + 51 138.98331 903 2 1 0.65580975 -0.3720129 -144.45 + 51 182.62915 898 2 0 0.67057263 -0.37900371 -145.85 + 51 120.77237 904 1 1 0.97282077 -0.54546434 -174.45 + 51 128.59381 897 1 0 0.99391803 -0.55042501 -175.85 + 51 149.07591 906 0 1 1.4344184 -0.64190816 -204.45 + 51 159.77502 897 0 0 1.4518133 -0.64674887 -205.85 +Number of digits in this event = 13 +Event: 52 +Number of tracker hits in this event = 12 + 52 250.93265 900 5 1 0.12811489 -0.14074467 -54.45 + 52 124.79934 899 5 0 0.12734587 -0.15051829 -55.85 + 52 156.55354 900 4 1 0.141441 -0.38450796 -84.45 + 52 117.36542 898 4 0 0.14773854 -0.39061739 -85.85 + 52 152.08743 901 3 1 0.26004798 -0.52277587 -114.45 + 52 112.07412 897 3 0 0.26751846 -0.53082979 -115.85 + 52 124.35399 901 2 1 0.40707179 -0.69066608 -144.45 + 52 120.46807 896 2 0 0.41509077 -0.69876697 -145.85 + 52 186.91342 902 1 1 0.59373643 -0.87719022 -174.45 + 52 135.58164 895 1 0 0.60283324 -0.8914301 -175.85 + 52 142.99656 903 0 1 0.78446776 -1.1764543 -204.45 + 52 113.62083 894 0 0 0.79711454 -1.1936272 -205.85 +Number of digits in this event = 10 +Event: 53 +Number of tracker hits in this event = 12 + 53 128.61267 901 5 1 0.32238429 -0.55499491 -54.45 + 53 140.19773 897 5 0 0.33633298 -0.58825855 -55.85 + 53 125.8712 902 4 1 0.6287623 -1.2706995 -84.45 + 53 152.79844 893 4 0 0.64736381 -1.3022872 -85.85 + 53 116.65009 904 3 1 1.0142591 -1.9365527 -114.45 + 53 145.519 890 3 0 1.0346451 -1.9681732 -115.85 + 53 127.88791 907 2 1 1.4545937 -2.6124787 -144.45 + 53 143.64314 887 2 0 1.473824 -2.6444117 -145.85 + 53 124.02045 909 1 1 1.8576538 -3.2855735 -174.45 + 53 136.48153 883 1 0 1.8781759 -3.3154685 -175.85 + 53 127.65022 911 0 1 2.338871 -3.9331986 -204.45 + 53 134.00063 880 0 0 2.3655115 -3.9655862 -205.85 +Number of digits in this event = 12 +Event: 54 +Number of tracker hits in this event = 8 + 54 145.52932 900 3 1 0.11600806 0.32203239 -114.45 + 54 287.23672 901 3 0 0.11891343 0.33175523 -115.85 + 54 134.78994 900 2 1 0.18253347 0.54110695 -144.45 + 54 119.13673 902 2 0 0.18335725 0.55191675 -145.85 + 54 252.86372 900 1 1 0.21805684 0.78220333 -174.45 + 54 129.82197 903 1 0 0.21766442 0.799785 -175.85 + 54 167.62997 900 0 1 0.21691806 1.1632549 -204.45 + 54 179.65138 905 0 0 0.21704174 1.1814077 -205.85 +Number of digits in this event = 8 Event: 55 Number of tracker hits in this event = 8 - 55 126.07405 896 5 0 -0.15212761 0.073800702 -55.85 - 55 124.56352 896 4 0 -0.37071143 0.062146189 -85.85 - 55 136.67074 894 2 1 -0.77385908 -0.57512706 -144.45 - 55 132.10656 895 2 0 -0.77714907 -0.59994662 -145.85 - 55 108.89101 894 1 1 -0.84325754 -1.0928932 -174.45 - 55 138.65754 892 1 0 -0.84427115 -1.1160563 -175.85 - 55 172.00185 893 0 1 -0.85991096 -1.5712063 -204.45 - 55 129.1087 890 0 0 -0.85841628 -1.5905919 -205.85 -Number of digits in this event = 9 -Event: 56 -Number of tracker hits in this event = 6 - 56 137.44626 896 4 0 -0.081512374 0.055044834 -85.85 - 56 112.10654 896 3 0 -0.20121338 0.11917878 -115.85 - 56 119.88163 896 2 0 -0.35141585 0.069969912 -145.85 - 56 125.86613 896 1 0 -0.45188411 0.093509217 -175.85 - 56 121.33906 895 0 1 -0.564881 0.13516031 -204.45 - 56 115.68174 896 0 0 -0.57791715 0.1341205 -205.85 -Number of digits in this event = 4 -Event: 57 -Number of tracker hits in this event = 10 - 57 136.12347 896 2 1 0.076652571 -0.64043681 -144.45 - 57 136.24196 894 2 0 0.077754667 -0.6625045 -145.85 - 57 230.05298 896 1 1 0.10886393 -1.113948 -174.45 - 57 202.89105 892 1 0 0.11940186 -1.1488394 -175.85 - 57 161.99193 897 0 1 0.35942441 -1.8625191 -204.45 - 57 149.35236 888 0 0 0.3703166 -1.8972864 -205.85 - 57 43.119813 894 1 0 0.92582156 -0.65082864 -175.85 - 57 157.54374 895 1 0 0.92912138 -0.6493846 -175.85326 - 57 112.19139 896 5 1 0.05 -0.20363289 -54.841724 - 57 86.849706 897 5 0 0.61064077 0.34323977 -55.85 -Number of digits in this event = 8 -Event: 58 -Number of tracker hits in this event = 2 - 58 190.34657 895 1 1 -0.62672778 -0.074346203 -174.45 - 58 146.16385 895 0 1 -0.59706052 -0.1967732 -204.45 -Number of digits in this event = 3 -Event: 59 -Number of tracker hits in this event = 6 - 59 139.25757 896 2 1 0.084719641 -0.48019699 -144.45 - 59 141.93016 895 2 0 0.093413863 -0.49126218 -145.85 - 59 158.68719 897 1 1 0.25683796 -0.72824273 -174.45 - 59 124.05024 894 1 0 0.26087367 -0.73827259 -175.85 - 59 133.45658 897 0 1 0.33629044 -0.94297675 -204.45 - 59 120.54249 893 0 0 0.34402681 -0.9513235 -205.85 + 55 758.85535 899 4 0 0.17132261 -0.052075609 -85.85 + 55 127.5903 901 3 1 0.33922712 -0.097410174 -114.45 + 55 164.45502 899 3 0 0.35119015 -0.098674552 -115.85 + 55 154.94446 902 2 1 0.59148133 -0.10568911 -144.45 + 55 125.9988 899 2 0 0.603412 -0.10243379 -145.85 + 55 55.899483 903 1 1 0.84115794 -0.050937932 -174.45 + 55 123.60157 905 0 1 1.1240442 0.082673381 -204.45 + 55 111.78012 900 0 0 1.1393938 0.088961357 -205.85 Number of digits in this event = 7 +Event: 56 +Number of tracker hits in this event = 12 + 56 123.6218 898 5 1 -0.41117576 -0.23763704 -54.45 + 56 142.23838 899 5 0 -0.43318099 -0.2490657 -55.85 + 56 200.4671 895 4 1 -0.88711261 -0.47097417 -84.45 + 56 128.04986 897 4 0 -0.90494265 -0.48004417 -85.85 + 56 133.01066 893 3 1 -1.2695838 -0.66100124 -114.45 + 56 150.92484 896 3 0 -1.287792 -0.66928747 -115.85 + 56 111.49704 892 2 1 -1.6488605 -0.80907289 -144.45 + 56 164.95145 896 2 0 -1.6695485 -0.81452855 -145.85 + 56 133.21713 889 1 1 -2.0934506 -0.93315495 -174.45 + 56 118.74932 895 1 0 -2.1159258 -0.94066016 -175.85 + 56 210.16988 887 0 1 -2.5742739 -1.1079693 -204.45 + 56 154.31734 894 0 0 -2.5974657 -1.1237051 -205.85 +Number of digits in this event = 11 +Event: 57 +Number of tracker hits in this event = 13 + 57 117.18427 900 5 1 0.071161921 -0.092528108 -54.45 + 57 214.54826 899 5 0 0.073662062 -0.10162961 -55.85 + 57 182.74295 900 4 1 0.13380655 -0.30798495 -84.45 + 57 157.70516 898 4 0 0.14129332 -0.328133 -85.85 + 57 378.48356 901 3 1 0.27026151 -0.74690713 -114.45 + 57 118.5369 896 3 0 0.27346383 -0.77009263 -115.85 + 57 201.75195 901 2 1 0.36326839 -1.2461056 -144.45 + 57 114.74282 893 2 0 0.36566458 -1.2730455 -145.85 + 57 107.24247 901 1 1 0.4157169 -1.8077723 -174.45 + 57 258.07093 891 1 0 0.42163836 -1.8329043 -175.85 + 57 446.55806 902 0 1 0.55627078 -2.3542504 -204.45 + 57 136.36118 888 0 0 0.56756517 -2.3838035 -205.85 + 57 57.977718 1219 0 0 49.850081 64.006019 -206.13203 +Number of digits in this event = 10 +Event: 58 +Number of tracker hits in this event = 7 + 58 134.915 901 3 1 0.3813421 -0.052023715 -114.45 + 58 367.44108 901 2 1 0.32168087 0.059125937 -144.45 + 58 143.73754 900 2 0 0.31583638 0.067436368 -145.85 + 58 133.10474 900 1 1 0.18890433 0.23442636 -174.45 + 58 162.79982 900 1 0 0.18820806 0.23894629 -175.85 + 58 118.1857 900 0 1 0.17676879 0.33156673 -204.45 + 58 108.62849 901 0 0 0.17584202 0.33716789 -205.85 +Number of digits in this event = 6 +Event: 59 +Number of tracker hits in this event = 8 + 59 139.68389 899 5 1 -0.059500184 -0.066489123 -54.45 + 59 110.60397 899 5 0 -0.061573252 -0.069780429 -55.85 + 59 162.7475 899 4 1 -0.07826796 -0.15662088 -84.45 + 59 121.45168 899 4 0 -0.078531865 -0.15816253 -85.85 + 59 130.06935 899 3 1 -0.085142421 -0.21093868 -114.45 + 59 142.52775 899 3 0 -0.087339677 -0.21234756 -115.85 + 59 141.45252 899 2 1 -0.11226432 -0.22064202 -144.45 + 59 160.78911 899 2 0 -0.10786092 -0.21895212 -145.85 +Number of digits in this event = 8 Event: 60 -Number of tracker hits in this event = 44 - 60 158.50465 896 5 0 -0.14793103 0.058136431 -55.85 - 60 197.83433 896 4 0 -0.29291187 0.18004626 -85.85 - 60 135.86102 895 3 1 -0.59040951 0.3906637 -114.45 - 60 212.66194 897 3 0 -0.60470325 0.40201241 -115.85 - 60 161.21335 893 2 1 -0.88765547 0.62649017 -144.45 - 60 192.32329 898 2 0 -0.90249034 0.6377005 -145.85 - 60 334.99624 892 1 1 -1.2055066 0.86518241 -174.45 - 60 42242.595 900 1 0 -1.2215891 0.88055586 -175.85 - 60 7474.1805 899 1 0 -0.97240817 0.83405526 -176.17034 - 60 712.93247 901 1 0 -0.76447013 1.236358 -175.94198 - 60 3253.2828 890 1 1 -1.5593989 0.65554182 -174.85 - 60 1360.5761 313 0 1 -117.54441 -26.798482 -204.45 - 60 1505.1053 311 0 1 -117.77914 -26.870878 -204.56788 - 60 1635.5234 310 0 1 -118.01259 -26.947133 -204.68584 - 60 690.1732 309 0 1 -118.2472 -27.015933 -204.80604 - 60 2206.9184 759 0 0 -120.50741 -27.784784 -205.85 - 60 6278.0202 758 0 0 -120.75372 -27.866334 -205.97079 - 60 1898.7139 757 0 0 -121.23871 -28.050094 -206.21232 - 60 443.30186 881 1 1 -3.4096408 0.82741114 -174.85 - 60 546.71416 880 1 1 -3.6152217 0.82135276 -174.73633 - 60 448.15965 879 1 1 -3.8206122 0.81596812 -174.62228 - 60 288.75204 878 1 1 -4.0262323 0.81214905 -174.50859 - 60 1751.4717 904 2 0 -55.812037 1.8347167 -146.25 - 60 252.649 905 2 0 -56.437996 1.8507773 -145.90356 - 60 575.55945 606 2 1 -58.368491 1.9202889 -144.85 - 60 614.35862 605 2 1 -58.578147 1.929229 -144.73627 - 60 581.52676 604 2 1 -58.78814 1.9370473 -144.62309 - 60 322.13101 603 2 1 -58.997023 1.9485234 -144.50818 - 60 2839.7434 923 3 0 -118.19592 5.4543954 -116.25 - 60 803.68971 295 3 1 -121.08714 5.5551203 -114.85 - 60 823.18704 294 3 1 -121.32344 5.5597788 -114.7349 - 60 837.82943 292 3 1 -121.55916 5.5662577 -114.61872 - 60 414.03871 291 3 1 -121.79546 5.5722108 -114.5037 - 60 6831.513 905 4 0 -166.45237 1.9387355 -86.25 - 60 3950.372 55 4 1 -168.95882 1.6886447 -84.85 - 60 1820.8345 54 4 1 -169.16015 1.6600199 -84.724256 - 60 241.30689 1036 0 1 28.199678 19.239077 -204.45 - 60 552.83443 1037 0 1 28.318722 19.318557 -204.56422 - 60 146.15862 1038 0 1 28.55556 19.47884 -204.79303 - 60 240.64769 996 0 0 29.646575 20.229371 -205.85 - 60 777.42646 997 0 0 29.764543 20.310999 -205.96396 - 60 38.320935 998 0 0 30.042695 20.499656 -206.23214 - 60 1376.8458 925 0 1 5.9029892 3.8212098 -204.45 - 60 1499.371 915 0 0 6.3256967 3.876301 -205.85 -Number of digits in this event = 45 +Number of tracker hits in this event = 10 + 60 143.46933 899 5 1 -0.076015912 -0.054515153 -54.45 + 60 172.09733 899 5 0 -0.080061805 -0.05904444 -55.85 + 60 125.87592 899 4 1 -0.15853647 -0.13898849 -84.45 + 60 142.82409 899 4 0 -0.16067459 -0.14458843 -85.85 + 60 122.53578 899 3 1 -0.2058865 -0.25932336 -114.45 + 60 175.33108 898 3 0 -0.21274352 -0.26140557 -115.85 + 60 107.82878 898 2 1 -0.33136472 -0.28015414 -144.45 + 60 142.89522 898 2 0 -0.34069159 -0.27625795 -145.85 + 60 146.53529 897 1 1 -0.53344636 -0.18611622 -174.45 + 60 146.22778 899 1 0 -0.54029147 -0.17931064 -175.85 +Number of digits in this event = 10 Event: 61 -Number of tracker hits in this event = 6 - 61 148.45073 896 2 0 -0.10183862 0.22810211 -145.85 - 61 135.87688 896 0 1 0.10992604 0.44916268 -204.45 - 61 111.50698 898 0 0 0.11524135 0.45091921 -205.85 - 61 27.424341 902 3 0 -0.66592896 1.411148 -115.85 - 61 198.94142 903 3 0 -0.699177 1.4573348 -115.89302 - 61 80.446818 896 4 0 0.05 0.12819635 -86.076231 -Number of digits in this event = 4 +Number of tracker hits in this event = 5 + 61 147.02743 899 4 1 -0.12099927 -0.10700966 -84.45 + 61 134.145 899 4 0 -0.12532538 -0.10425421 -85.85 + 61 169.24509 900 1 0 -0.5490234 0.05096326 -175.85 + 61 123.98102 897 0 1 -0.56392306 0.12749012 -204.45 + 61 175.3908 900 0 0 -0.56223933 0.1297967 -205.85 +Number of digits in this event = 6 Event: 62 -Number of tracker hits in this event = 15 - 62 66.495849 896 5 1 0.10961912 0.05 -54.642455 - 62 119.76209 896 5 0 0.12262496 0.079992566 -55.85 - 62 147.24078 897 4 1 0.44297055 0.78387671 -84.45 - 62 162.01451 899 4 0 0.4588573 0.82044806 -85.85 - 62 129.3721 899 3 1 0.78333708 1.591171 -114.45 - 62 128.34953 903 3 0 0.80091896 1.6294954 -115.85 - 62 279.07611 901 2 1 1.136118 2.3889882 -144.45 - 62 121.18437 907 2 0 1.1531771 2.4316196 -145.85 - 62 585.09947 903 1 1 1.4641718 3.299685 -174.45 - 62 117.65169 912 1 0 1.4745019 3.3402261 -175.85 - 62 120.81541 904 0 1 1.6599974 4.1806026 -204.45 - 62 374.34063 916 0 0 1.6688749 4.2249182 -205.85 - 62 23.702699 915 1 0 0.6682969 3.8848454 -175.85 - 62 102.12994 893 1 1 -0.85041765 4.119305 -174.85 - 62 159.27 902 1 1 1.4418405 3.2771371 -174.56233 +Number of tracker hits in this event = 12 + 62 190.74958 900 5 1 0.13580636 -0.05 -54.66177 + 62 181.9317 899 5 0 0.14214143 -0.055081711 -55.85 + 62 206.22899 901 4 1 0.28265311 -0.18371768 -84.45 + 62 507.46617 899 4 0 0.28989253 -0.19042739 -85.85 + 62 139.23239 901 3 1 0.43906279 -0.31569789 -114.45 + 62 159.76779 898 3 0 0.44264087 -0.32246943 -115.85 + 62 107.35678 902 2 1 0.5269067 -0.45667757 -144.45 + 62 138.57931 897 2 0 0.53188772 -0.46224117 -145.85 + 62 180.12452 902 1 1 0.61994311 -0.56079249 -174.45 + 62 131.02072 897 1 0 0.62352435 -0.56533663 -175.85 + 62 155.11928 903 0 1 0.70490159 -0.66340179 -204.45 + 62 114.17822 896 0 0 0.70379739 -0.66736651 -205.85 Number of digits in this event = 11 Event: 63 -Number of tracker hits in this event = 7 - 63 215.29726 896 5 1 0.082402688 0.11429957 -54.45 - 63 330.08579 896 5 0 0.079193572 0.1173059 -55.85 - 63 115.73842 897 3 0 -0.090282341 0.3326236 -115.85 - 63 218.06136 898 2 0 -0.23315544 0.53374923 -145.85 - 63 225.4046 899 1 0 -0.38670798 0.73062554 -175.85 - 63 130.10159 895 0 1 -0.59971833 0.88370504 -204.45 - 63 115.88901 900 0 0 -0.60956544 0.88852167 -205.85 -Number of digits in this event = 6 +Number of tracker hits in this event = 37 + 63 124.26211 901 4 1 0.33068207 0.10773312 -84.45 + 63 177.85757 900 4 0 0.33535949 0.1000534 -85.85 + 63 10.672341 901 3 1 0.42128477 -0.05 -114.80201 + 63 201.13464 899 3 0 0.42387172 -0.05765063 -115.85 + 63 224.18157 902 2 1 0.50030515 -0.27046144 -144.45 + 63 140.10018 898 2 0 0.50727988 -0.28670017 -145.85 + 63 129.68227 903 1 1 0.65465028 -0.64705647 -174.45 + 63 151.45583 896 1 0 0.66350097 -0.66504489 -175.85 + 63 193.0577 903 0 1 0.82166586 -1.017753 -204.45 + 63 112.23149 895 0 0 0.82752333 -1.0341131 -205.85 + 63 1547.9718 664 0 0 -23.616729 -47.106313 -206.25 + 63 1413.254 775 0 1 -25.008051 -49.53907 -204.85 + 63 56.521611 773 0 1 -25.394498 -50.209663 -204.45833 + 63 1262.3524 377 1 0 -61.226423 -104.6455 -176.25 + 63 573.79996 374 1 0 -61.576901 -105.18547 -175.975 + 63 1547.9976 585 1 1 -63.002027 -107.38222 -174.85 + 63 718.98262 583 1 1 -63.329872 -107.89502 -174.58647 + 63 1116.0801 90 2 0 -86.54081 -162.0873 -146.25 + 63 1163.4438 88 2 0 -86.716098 -162.49689 -146.03995 + 63 895.55993 461 2 1 -87.708685 -164.81358 -144.85 + 63 1167.3496 460 2 1 -87.867722 -165.19004 -144.65324 + 63 102.63539 968 3 0 -154.7083 13.691415 -116.17511 + 63 170.71671 120 3 1 -155.97676 13.343049 -114.85 + 63 358.4615 117 3 1 -156.66159 12.745059 -114.45 + 63 142.83388 954 3 0 -155.93812 10.85546 -115.85 + 63 159.55874 149 2 1 -150.23514 -29.288389 -144.45 + 63 124.3561 755 2 0 -150.65065 -28.870685 -145.85 + 63 128.67671 635 2 0 -178.56755 -52.934943 -146.25 + 63 3.2317342 636 2 0 -178.7871 -52.848614 -145.85998 + 63 315.8496 6 2 1 -178.87922 -52.140721 -144.85 + 63 24.576758 648 2 0 -179.12288 -50.325667 -145.85 + 63 83.009263 649 2 0 -179.15007 -50.229214 -145.89667 + 63 66.788687 650 2 0 -179.15496 -50.037134 -145.90606 + 63 125.31355 651 2 0 -179.07583 -49.847772 -145.88615 + 63 18.45099 652 2 0 -178.94709 -49.636404 -145.86499 + 63 185.04676 11 2 1 -177.92282 -49.589286 -144.85 + 63 11.835928 1159 2 1 51.928798 78.987068 -144.47568 +Number of digits in this event = 31 Event: 64 -Number of tracker hits in this event = 11 - 64 111.25112 896 5 1 0.072449769 0.063251551 -54.45 - 64 130.36848 896 5 0 0.079994076 0.063042783 -55.85 - 64 152.92954 784 3 1 -22.842114 -7.6854404 -114.45 - 64 149.90912 781 3 1 -23.350986 -7.5763359 -114.5707 - 64 174.78314 778 3 1 -23.859697 -7.4632947 -114.68841 - 64 78.841298 776 3 1 -24.368729 -7.3371825 -114.79041 - 64 301.38286 871 3 0 -33.135457 -5.3145683 -115.85 - 64 321.00552 872 3 0 -34.111588 -5.1083077 -115.9509 - 64 283.96409 873 3 0 -35.084969 -4.8841222 -116.03934 - 64 293.46608 875 3 0 -36.055033 -4.6499581 -116.13776 - 64 14.687372 876 3 0 -37.025454 -4.4230598 -116.24718 -Number of digits in this event = 10 -Event: 65 -Number of tracker hits in this event = 13 - 65 108.4541 896 4 1 0.20514769 0.098899547 -84.45 - 65 125.64875 896 4 0 0.21754489 0.10423226 -85.85 - 65 159.36885 897 3 1 0.44744515 0.23013813 -114.45 - 65 16.523185 898 3 1 0.45021172 0.2335753 -114.79286 - 65 132.54686 896 3 0 0.45878292 0.24442586 -115.85 - 65 123.7913 899 2 1 0.70524199 0.54648508 -144.45 - 65 121.01351 898 2 0 0.71959966 0.55664711 -145.85 - 65 114.65129 900 1 1 0.99822003 0.76851147 -174.45 - 65 172.76 899 1 0 1.0036161 0.78722842 -175.85 - 65 143.05625 901 0 1 1.1259253 1.1315227 -204.45 - 65 126.879 901 0 0 1.1317477 1.1441683 -205.85 - 65 113.12945 900 1 0 0.9274085 0.86076039 -176.1055 - 65 18.374373 901 1 0 0.84704972 1.0723366 -176.20543 -Number of digits in this event = 9 -Event: 66 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 67 -Number of tracker hits in this event = 6 - 67 164.26779 895 2 1 -0.62640388 0.064303055 -144.45 - 67 144.15282 896 2 0 -0.62981558 0.071981634 -145.85 - 67 130.25019 894 1 1 -0.6782487 0.21090995 -174.45 - 67 127.76647 896 1 0 -0.67612036 0.21415249 -175.85 - 67 147.1851 895 0 1 -0.64260245 0.27561925 -204.45 - 67 134.96084 897 0 0 -0.635031 0.28728575 -205.85 -Number of digits in this event = 7 -Event: 68 -Number of tracker hits in this event = 15 - 68 166.89275 895 3 1 -0.58427895 -0.30365388 -114.45 - 68 123.23511 894 2 1 -0.83714016 -0.41646865 -144.45 - 68 132.44463 892 1 1 -1.2129634 -0.66746549 -174.45 - 68 141.03834 894 1 0 -1.2268623 -0.67104609 -175.85 - 68 171.04087 890 0 1 -1.521818 -0.76326055 -204.45 - 68 159.22026 894 0 0 -1.5353103 -0.77151661 -205.85 - 68 75.826452 896 5 0 -0.19377249 0.05 -55.986473 - 68 127.62121 897 5 0 -0.30637904 0.28178365 -55.93101 - 68 51.485768 891 5 1 -1.3886318 0.54155481 -54.85 - 68 74.638324 890 5 1 -1.4525575 0.56367253 -54.731633 - 68 125.88625 889 5 1 -1.654661 0.52050024 -54.703906 - 68 227.6574 888 5 1 -1.8644369 0.53941565 -54.668024 - 68 19.177328 887 5 1 -2.0552679 0.4126107 -54.702808 - 68 12.595726 898 5 0 -0.59305741 0.45026993 -55.851751 - 68 238.77789 894 5 1 -0.81266873 1.2660137 -54.85 +Number of tracker hits in this event = 10 + 64 121.17777 898 5 1 -0.28194008 0.050072717 -54.45 + 64 183.60329 900 5 0 -0.29625892 0.052010081 -55.85 + 64 209.79594 897 4 1 -0.59735508 0.087771729 -84.45 + 64 187.32821 900 4 0 -0.61593253 0.085180871 -85.85 + 64 156.91417 893 2 1 -1.3778763 -0.07726766 -144.45 + 64 135.26789 899 2 0 -1.3925336 -0.083790459 -145.85 + 64 132.86118 891 1 1 -1.6902721 -0.21630981 -174.45 + 64 126.41425 899 1 0 -1.7076375 -0.22768929 -175.85 + 64 132.52835 889 0 1 -2.0507804 -0.46355035 -204.45 + 64 120.10971 897 0 0 -2.0654979 -0.46788738 -205.85 Number of digits in this event = 11 -Event: 69 -Number of tracker hits in this event = 11 - 69 112.51629 896 5 0 -0.10948138 0.054991482 -55.85 - 69 149.77821 896 3 0 -0.39796717 0.10095913 -115.85 - 69 208.34696 895 2 1 -0.57329141 0.22325584 -144.45 - 69 135.9538 896 2 0 -0.57793316 0.23381017 -145.85 - 69 124.64754 894 1 1 -0.68705602 0.44604449 -174.45 - 69 133.83359 898 1 0 -0.68969096 0.45374735 -175.85 - 69 115.02434 894 0 1 -0.73835808 0.60791004 -204.45 - 69 112.35129 898 0 0 -0.74304542 0.61205603 -205.85 - 69 87.003408 897 1 0 -0.69320497 0.4318222 -176.12159 - 69 142.71955 896 1 0 -0.70672313 0.23117002 -176.16742 - 69 170.2186 1166 1 0 57.875567 54.202008 -176.25 -Number of digits in this event = 8 -Event: 70 -Number of tracker hits in this event = 7 - 70 407.18193 895 3 1 -0.58109762 -0.38092347 -114.45 - 70 175.73628 895 2 1 -0.62455517 -0.4933829 -144.45 - 70 214.99665 895 2 0 -0.63059406 -0.49862441 -145.85 - 70 177.57432 894 1 1 -0.73425962 -0.59779301 -174.45 - 70 131.50619 895 1 0 -0.73721328 -0.60161269 -175.85 - 70 118.75511 894 0 1 -0.79299041 -0.71054055 -204.45 - 70 136.38453 894 0 0 -0.80108292 -0.71643106 -205.85 -Number of digits in this event = 7 -Event: 71 -Number of tracker hits in this event = 5 - 71 177.59251 899 4 0 -0.19363116 0.79187072 -85.85 - 71 149.76528 902 3 0 -0.30723196 1.3688189 -115.85 - 71 125.81648 905 2 0 -0.34738775 1.9899914 -145.85 - 71 204.47338 909 1 0 -0.4356913 2.6886001 -175.85 - 71 118.20435 912 0 0 -0.40121808 3.3770144 -205.85 -Number of digits in this event = 5 -Event: 72 -Number of tracker hits in this event = 9 - 72 125.21504 896 4 1 0.17626568 -0.085263129 -84.45 - 72 122.99736 897 3 1 0.29354753 -0.18978885 -114.45 - 72 144.38875 897 2 1 0.41755491 -0.18762834 -144.45 - 72 120.36161 897 1 1 0.39989966 -0.20568346 -174.45 - 72 131.44658 897 0 1 0.33325716 -0.24312861 -204.45 - 72 123.57206 963 1 0 -21.360672 13.461843 -176.25 - 72 179.98505 962 1 0 -21.694848 13.436918 -175.91681 - 72 107.29801 780 1 1 -23.542496 11.126361 -174.85 - 72 129.70368 779 1 1 -23.671166 11.021675 -174.7789 +Event: 65 +Number of tracker hits in this event = 12 + 65 133.66638 899 5 1 -0.11726692 -0.074395729 -54.45 + 65 120.43495 899 5 0 -0.12615428 -0.082740902 -55.85 + 65 188.65918 898 4 1 -0.30837339 -0.26030617 -84.45 + 65 139.30338 898 4 0 -0.30958983 -0.26436702 -85.85 + 65 171.60447 898 3 1 -0.33203376 -0.35942912 -114.45 + 65 128.82045 898 3 0 -0.33512204 -0.36630988 -115.85 + 65 166.68714 898 2 1 -0.38093318 -0.51642489 -144.45 + 65 133.29533 897 2 0 -0.38576313 -0.52055448 -145.85 + 65 145.31244 897 1 1 -0.47821557 -0.60903036 -174.45 + 65 348.56745 897 1 0 -0.48325188 -0.61343955 -175.85 + 65 128.96325 897 0 1 -0.57222671 -0.68583673 -204.45 + 65 125.02806 896 0 0 -0.58047837 -0.69538289 -205.85 +Number of digits in this event = 13 +Event: 66 +Number of tracker hits in this event = 8 + 66 139.50079 899 3 1 -0.16510696 -0.17147108 -114.45 + 66 154.48624 899 3 0 -0.17053245 -0.1784646 -115.85 + 66 145.51762 898 2 1 -0.25809399 -0.34438088 -144.45 + 66 158.29617 898 2 0 -0.26171265 -0.34591934 -145.85 + 66 145.88049 898 1 1 -0.34438875 -0.3735188 -174.45 + 66 124.35407 898 1 0 -0.34640038 -0.3683693 -175.85 + 66 141.99549 898 0 1 -0.38875083 -0.24956179 -204.45 + 66 144.98189 899 0 0 -0.39551243 -0.23704334 -205.85 Number of digits in this event = 9 -Event: 73 -Number of tracker hits in this event = 17 - 73 137.79698 896 5 0 -0.10543215 0.16841209 -55.85 - 73 128.77607 897 4 0 -0.21274097 0.40750021 -85.85 - 73 151.22863 902 3 0 -0.15072291 1.2842843 -115.85 - 73 135.36104 896 2 1 0.19461505 2.1027244 -144.45 - 73 159.54681 906 2 0 0.21284488 2.1429549 -145.85 - 73 129.39452 898 1 1 0.57412429 2.9272459 -174.45 - 73 125.13448 910 1 0 0.59155561 2.9630625 -175.85 - 73 119.76414 900 0 1 0.97015177 3.6970086 -204.45 - 73 122.89179 914 0 0 0.98734101 3.7371076 -205.85 - 73 152.31888 915 0 0 1.5855727 3.9026472 -205.85 - 73 70.604925 916 0 0 1.7798687 4.0666483 -206.08004 - 73 77.572654 917 0 0 1.8439344 4.3168455 -206.15392 - 73 77.518666 918 0 0 1.9528905 4.4811618 -206.14721 - 73 51.839597 919 0 0 2.0869559 4.7144079 -206.19315 - 73 74.875438 920 0 0 2.1695758 4.904229 -206.22393 - 73 108.7806 921 0 0 2.2239693 5.090942 -206.14358 - 73 90.013679 922 0 0 2.3628121 5.2998159 -206.08612 +Event: 67 +Number of tracker hits in this event = 10 + 67 143.14268 899 4 1 -0.06819246 0.18035685 -84.45 + 67 122.69068 900 4 0 -0.072390402 0.18867942 -85.85 + 67 176.6355 899 3 1 -0.15115747 0.36227511 -114.45 + 67 132.42248 901 3 0 -0.15342358 0.37702915 -115.85 + 67 108.18738 899 2 1 -0.19752835 0.68641406 -144.45 + 67 236.53015 903 2 0 -0.19451081 0.69701439 -145.85 + 67 244.21831 899 1 1 -0.11555927 0.8991854 -174.45 + 67 139.54081 904 1 0 -0.11636393 0.91367309 -175.85 + 67 131.43844 899 0 1 -0.11701443 1.2017329 -204.45 + 67 267.11093 905 0 0 -0.11649188 1.2206239 -205.85 Number of digits in this event = 10 -Event: 74 -Number of tracker hits in this event = 4 - 74 127.57746 896 0 1 0.17734181 0.10228466 -204.45 - 74 113.51807 896 0 0 0.18654162 0.10528783 -205.85 - 74 171.76877 672 2 0 -38.95661 -45.126059 -146.25 - 74 133.70322 896 5 0 0.13297046 0.05 -56.180426 -Number of digits in this event = 4 -Event: 75 +Event: 68 +Number of tracker hits in this event = 8 + 68 122.27975 900 4 1 0.14917251 -0.059556235 -84.45 + 68 157.43495 899 4 0 0.14127586 -0.069666689 -85.85 + 68 115.55546 899 2 1 -0.21192784 -0.53911989 -144.45 + 68 200.39458 897 2 0 -0.22169745 -0.55189191 -145.85 + 68 157.53336 898 1 1 -0.44282917 -0.83617328 -174.45 + 68 174.39789 896 1 0 -0.44932531 -0.84882227 -175.85 + 68 192.66816 897 0 1 -0.59813813 -1.0925271 -204.45 + 68 150.88188 894 0 0 -0.5891749 -1.0939416 -205.85 +Number of digits in this event = 8 +Event: 69 +Number of tracker hits in this event = 8 + 69 281.92454 899 5 1 -0.076105752 -0.053211871 -54.45 + 69 127.77937 899 5 0 -0.078095622 -0.055824321 -55.85 + 69 207.89204 899 4 1 -0.10765075 -0.098673883 -84.45 + 69 157.52597 899 4 0 -0.10970901 -0.10427421 -85.85 + 69 160.64825 899 3 1 -0.15334747 -0.23066606 -114.45 + 69 267.87906 899 3 0 -0.15558313 -0.22587108 -115.85 + 69 138.6823 899 2 1 -0.19381353 -0.10280477 -144.45 + 69 153.41752 899 2 0 -0.19665405 -0.098172795 -145.85 +Number of digits in this event = 9 +Event: 70 +Number of tracker hits in this event = 12 + 70 156.88866 899 5 1 -0.058612034 0.13684875 -54.45 + 70 232.00832 900 5 0 -0.063943841 0.14110504 -55.85 + 70 158.82769 899 4 1 -0.15962403 0.22789811 -84.45 + 70 133.76213 900 4 0 -0.16277461 0.22781236 -85.85 + 70 129.57049 899 3 1 -0.20997409 0.22024624 -114.45 + 70 143.59836 900 3 0 -0.2131243 0.22136278 -115.85 + 70 146.46752 898 2 1 -0.30089654 0.26962436 -144.45 + 70 126.51719 901 2 0 -0.30585026 0.26767883 -145.85 + 70 147.09869 898 1 1 -0.38975048 0.21601395 -174.45 + 70 168.45666 900 1 0 -0.39474198 0.20383264 -175.85 + 70 108.73228 897 0 1 -0.48807468 -0.059390566 -204.45 + 70 151.39154 899 0 0 -0.49214332 -0.071754718 -205.85 +Number of digits in this event = 12 +Event: 71 +Number of tracker hits in this event = 10 + 71 136.00299 900 4 1 0.075775842 0.20673651 -84.45 + 71 190.62939 900 4 0 0.081424031 0.21332077 -85.85 + 71 144.10179 900 3 1 0.21485464 0.33407653 -114.45 + 71 154.9594 901 3 0 0.22099368 0.34066 -115.85 + 71 124.93362 901 2 1 0.35685588 0.46724961 -144.45 + 71 118.0797 902 2 0 0.36350005 0.47350642 -145.85 + 71 178.34576 902 1 1 0.49002642 0.5842683 -174.45 + 71 114.06884 902 1 0 0.49386038 0.58950176 -175.85 + 71 206.30692 902 0 1 0.5756702 0.69027503 -204.45 + 71 162.62856 903 0 0 0.57561866 0.69420199 -205.85 +Number of digits in this event = 9 +Event: 72 Number of tracker hits in this event = 6 - 75 151.89967 896 2 1 0.082580082 0.29560781 -144.45 - 75 174.45418 897 2 0 0.090983168 0.2898208 -145.85 - 75 116.58456 897 1 1 0.26409657 0.18118888 -174.45 - 75 149.66488 896 1 0 0.27688854 0.17678518 -175.85 - 75 117.18969 898 0 1 0.5564781 0.095560391 -204.45 - 75 161.38628 896 0 0 0.57095616 0.091253717 -205.85 + 72 166.43129 899 2 1 -0.10913839 -0.40499218 -144.45 + 72 132.35671 898 2 0 -0.11221564 -0.42217226 -145.85 + 72 136.73949 899 1 1 -0.19788515 -0.80983883 -174.45 + 72 137.21557 896 1 0 -0.20699909 -0.83475959 -175.85 + 72 134.87422 898 0 1 -0.39870763 -1.3721388 -204.45 + 72 140.00219 893 0 0 -0.40376123 -1.3975285 -205.85 +Number of digits in this event = 7 +Event: 73 +Number of tracker hits in this event = 12 + 73 153.43956 899 5 1 -0.10063107 0.062806809 -54.45 + 73 125.66148 900 5 0 -0.10426348 0.064849157 -55.85 + 73 128.77989 899 4 1 -0.16522298 0.095446472 -84.45 + 73 141.46036 900 4 0 -0.16838767 0.094749225 -85.85 + 73 163.9576 899 3 1 -0.21631542 0.062422418 -114.45 + 73 123.77038 900 3 0 -0.22524729 0.061656536 -115.85 + 73 152.42762 898 2 1 -0.39336237 0.05808223 -144.45 + 73 312.36747 900 2 0 -0.40535172 0.062398721 -145.85 + 73 150.00672 896 1 1 -0.65118834 0.15295609 -174.45 + 73 133.535 900 1 0 -0.66366765 0.16127778 -175.85 + 73 126.17833 895 0 1 -0.91158016 0.33795337 -204.45 + 73 129.8104 901 0 0 -0.92292443 0.34785531 -205.85 +Number of digits in this event = 13 +Event: 74 +Number of tracker hits in this event = 5 + 74 199.3588 899 3 1 -0.14320183 -0.30878209 -114.45 + 74 171.27687 898 3 0 -0.14408242 -0.30886694 -115.85 + 74 250.6942 899 2 1 -0.13448832 -0.32228413 -144.45 + 74 143.46068 898 2 0 -0.12925738 -0.32478592 -145.85 + 74 37.551071 899 1 1 -0.050453219 -0.38340242 -174.45 Number of digits in this event = 5 +Event: 75 +Number of tracker hits in this event = 12 + 75 176.89119 900 5 1 0.11567006 0.21907418 -54.45 + 75 148.23437 900 5 0 0.12310187 0.22843029 -55.85 + 75 146.40687 901 4 1 0.25793706 0.42769002 -84.45 + 75 135.20872 901 4 0 0.26037941 0.43744131 -85.85 + 75 142.78076 901 3 1 0.33402316 0.63624962 -114.45 + 75 131.74166 903 3 0 0.33100194 0.65514185 -115.85 + 75 131.83107 901 2 1 0.28058302 1.05768 -144.45 + 75 115.11782 905 2 0 0.27850069 1.0817376 -145.85 + 75 143.46842 900 1 1 0.22860901 1.5724417 -174.45 + 75 154.54494 907 1 0 0.22701665 1.59938 -175.85 + 75 113.80061 900 0 1 0.20910662 2.1283892 -204.45 + 75 128.39481 910 0 0 0.2069426 2.1495377 -205.85 +Number of digits in this event = 11 Event: 76 Number of tracker hits in this event = 6 - 76 143.15896 897 3 0 -0.1627794 0.31325071 -115.85 - 76 148.99754 899 2 0 -0.3225754 0.65486072 -145.85 - 76 121.97809 895 1 1 -0.48691915 1.0662779 -174.45 - 76 136.45235 901 1 0 -0.49064284 1.0871647 -175.85 - 76 128.7457 895 0 1 -0.57126649 1.5116466 -204.45 - 76 157.18008 903 0 0 -0.56976799 1.5345139 -205.85 -Number of digits in this event = 7 + 76 153.72551 899 3 1 -0.067043438 -0.224394 -114.45 + 76 169.96137 899 3 0 -0.067345915 -0.23098913 -115.85 + 76 132.10584 899 2 1 -0.079223239 -0.3758034 -144.45 + 76 176.76815 898 2 0 -0.079562295 -0.38613265 -145.85 + 76 134.03112 899 1 1 -0.090152563 -0.59394841 -174.45 + 76 110.71118 897 1 0 -0.088054138 -0.59921075 -175.85 +Number of digits in this event = 6 Event: 77 -Number of tracker hits in this event = 6 - 77 195.96403 896 5 0 -0.18973672 0.050650824 -55.85 - 77 146.15851 893 2 1 -0.85819743 0.099683882 -144.45 - 77 153.21518 896 2 0 -0.8717534 0.0988689 -145.85 - 77 125.90853 892 1 1 -1.1733413 0.089925363 -174.45 - 77 126.1114 896 1 0 -1.1872912 0.087622946 -175.85 - 77 104.04447 896 0 0 -1.4678924 0.05 -205.95986 -Number of digits in this event = 6 +Number of tracker hits in this event = 8 + 77 153.12888 900 4 1 0.078272331 -0.35240942 -84.45 + 77 137.14777 898 4 0 0.074999274 -0.36432225 -85.85 + 77 142.741 899 2 1 -0.10846554 -0.85727426 -144.45 + 77 98.958716 895 2 0 -0.11081698 -0.87311306 -145.85 + 77 135.63885 899 1 1 -0.18427739 -1.1739513 -174.45 + 77 127.53205 894 1 0 -0.18664357 -1.1928304 -175.85 + 77 384.52359 899 0 1 -0.23837031 -1.5695968 -204.45 + 77 127.43603 892 0 0 -0.2401416 -1.5949993 -205.85 +Number of digits in this event = 8 Event: 78 -Number of tracker hits in this event = 5 - 78 57.920053 896 3 1 0.24559495 -0.05 -114.65066 - 78 186.55937 897 2 1 0.39514241 -0.14403537 -144.45 - 78 117.40402 898 1 1 0.54803732 -0.19521777 -174.45 - 78 156.79358 898 0 1 0.63719181 -0.091414617 -204.45 - 78 82.155854 775 2 0 22.788731 -24.561786 -146.25 -Number of digits in this event = 3 +Number of tracker hits in this event = 6 + 78 152.86378 897 3 1 -0.48308772 0.068387561 -114.45 + 78 146.04823 900 3 0 -0.4966783 0.065485634 -115.85 + 78 140.08863 895 1 1 -0.95975439 -0.10292516 -174.45 + 78 137.69253 899 1 0 -0.97099382 -0.10571871 -175.85 + 78 177.84255 894 0 1 -1.1984989 -0.1800569 -204.45 + 78 237.33358 899 0 0 -1.2082364 -0.18018274 -205.85 +Number of digits in this event = 7 Event: 79 -Number of tracker hits in this event = 4 - 79 148.31447 894 3 0 -0.05351437 -0.68197782 -115.85 - 79 106.90714 890 1 0 -0.051921987 -1.6071934 -175.85 - 79 113.24822 887 0 0 -0.08388729 -2.078044 -205.85 - 79 13.2599 896 4 0 0.11143087 0.1273659 -85.85 -Number of digits in this event = 3 +Number of tracker hits in this event = 14 + 79 121.46203 898 5 1 -0.29275821 -0.073931739 -54.45 + 79 174.02116 899 5 0 -0.30533921 -0.079667598 -55.85 + 79 162.26413 897 4 1 -0.56905685 -0.18036217 -84.45 + 79 158.92962 899 4 0 -0.5841951 -0.18060396 -85.85 + 79 231.11522 895 3 1 -0.90194145 -0.18459036 -114.45 + 79 137.62599 899 3 0 -0.90915711 -0.18954208 -115.85 + 79 141.44212 894 2 1 -1.0515862 -0.29225918 -144.45 + 79 193.35488 898 2 0 -1.0559856 -0.2999385 -145.85 + 79 114.04702 894 1 1 -1.1260017 -0.47804188 -174.45 + 79 132.05818 897 1 0 -1.1315126 -0.482025 -175.85 + 79 146.67552 894 0 1 -1.2320127 -0.569875 -204.45 + 79 116.0218 897 0 0 -1.2386978 -0.57175 -205.85 + 79 1109.3009 724 8 0 68.846975 -35.128491 33.89148 + 79 97.970549 899 2 0 -1.0307597 -0.19987826 -146.06802 +Number of digits in this event = 13 Event: 80 -Number of tracker hits in this event = 5 - 80 141.76232 893 1 0 -0.13871839 -0.95596423 -175.85 - 80 200.52688 892 0 0 -0.24630467 -1.1884676 -205.85 - 80 94.758577 894 2 0 -0.05 -0.73254308 -145.89758 - 80 80.238448 896 2 1 0.05 -0.81040515 -144.61595 - 80 285.6997 897 2 1 0.25831972 -0.8346011 -144.5971 -Number of digits in this event = 4 -Event: 81 -Number of tracker hits in this event = 8 - 81 126.82223 896 4 1 0.19895202 -0.079027435 -84.45 - 81 233.49575 898 3 1 0.51722894 -0.099845292 -114.45 - 81 183.12589 899 2 1 0.67070311 -0.17346052 -144.45 - 81 181.29691 899 1 1 0.78998793 -0.45606004 -174.45 - 81 186.60368 895 1 0 0.79755999 -0.47318812 -175.85 - 81 483.28324 900 0 1 0.95569112 -0.83141192 -204.45 - 81 185.56177 894 0 0 0.96328333 -0.8452192 -205.85 - 81 41.570124 901 0 1 1.0542104 -0.90051587 -204.68366 -Number of digits in this event = 8 -Event: 82 -Number of tracker hits in this event = 6 - 82 161.92384 895 3 0 -0.17453095 -0.58001056 -115.85 - 82 134.13946 894 2 0 -0.28992517 -0.74150139 -145.85 - 82 179.5277 895 1 1 -0.46230979 -0.91930535 -174.45 - 82 123.06233 893 1 0 -0.47239739 -0.92606298 -175.85 - 82 136.10973 894 0 1 -0.6648426 -1.0812072 -204.45 - 82 166.37499 892 0 0 -0.67223571 -1.0875315 -205.85 -Number of digits in this event = 7 -Event: 83 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 84 -Number of tracker hits in this event = 3 - 84 161.54682 895 2 0 -0.21464249 -0.57390225 -145.85 - 84 133.53808 894 1 0 -0.26838832 -0.75767884 -175.85 - 84 142.9769 893 0 0 -0.33157142 -0.95288555 -205.85 -Number of digits in this event = 4 -Event: 85 -Number of tracker hits in this event = 12 - 85 152.72113 896 5 1 0.14929093 0.22109103 -54.45 - 85 301.59952 896 5 0 0.1560588 0.22725909 -55.85 - 85 129.14618 897 4 1 0.29259765 0.34394098 -84.45 - 85 142.24185 897 4 0 0.30087494 0.35970246 -85.85 - 85 140.3364 898 3 1 0.46107499 0.69217917 -114.45 - 85 135.0128 899 3 0 0.4747739 0.71149689 -115.85 - 85 152.72329 899 2 1 0.73505904 1.0854298 -144.45 - 85 147.50667 901 2 0 0.74403589 1.1071122 -145.85 - 85 191.94105 900 1 1 0.92015142 1.5309549 -174.45 - 85 188.50286 903 1 0 0.92932904 1.5555342 -175.85 - 85 112.39995 901 0 1 1.1166367 2.0833777 -204.45 - 85 123.33982 906 0 0 1.1195598 2.1112784 -205.85 -Number of digits in this event = 12 -Event: 86 -Number of tracker hits in this event = 5 - 86 129.05774 896 5 0 -0.12277361 0.10211231 -55.85 - 86 117.48959 896 4 0 -0.19713703 0.097232059 -85.85 - 86 136.48222 895 1 1 -0.58067389 -0.42541052 -174.45 - 86 141.85598 893 0 1 -0.85661824 -0.60143425 -204.45 - 86 126.88989 895 0 0 -0.86729386 -0.61409961 -205.85 -Number of digits in this event = 5 -Event: 87 -Number of tracker hits in this event = 12 - 87 24.205582 896 5 1 0.05 0.076624097 -54.761105 - 87 138.51825 896 5 0 0.055805704 0.079751223 -55.85 - 87 117.27574 896 4 1 0.2057117 0.1508811 -84.45 - 87 133.45121 896 4 0 0.20707495 0.15259228 -85.85 - 87 113.23462 896 3 1 0.23593525 0.19049058 -114.45 - 87 136.07402 896 3 0 0.24100032 0.18917762 -115.85 - 87 140.46824 897 2 1 0.34132544 0.16337161 -144.45 - 87 109.47982 896 2 0 0.35060243 0.16572363 -145.85 - 87 115.55722 898 1 1 0.53490782 0.21951041 -174.45 - 87 124.01756 896 1 0 0.54575673 0.22032651 -175.85 - 87 215.04778 899 0 1 0.73458852 0.21083254 -204.45 - 87 156.89736 896 0 0 0.74265748 0.21046418 -205.85 -Number of digits in this event = 8 -Event: 88 -Number of tracker hits in this event = 45 - 88 144.83442 894 3 1 -0.69027448 -0.32104448 -114.45 - 88 141.10473 893 2 1 -0.99650897 -0.4306032 -144.45 - 88 126.029 891 1 1 -1.3155438 -0.57399219 -174.45 - 88 138.45114 895 1 0 -1.3379697 -0.58224945 -175.85 - 88 143.00131 889 0 1 -1.7994841 -0.7580103 -204.45 - 88 130.37094 894 0 0 -1.8206164 -0.76762858 -205.85 - 88 3888.8573 950 0 0 6.2686154 10.896828 -206.25 - 88 48.366612 1242 1 1 69.256859 -32.224045 -174.68413 - 88 133.19523 839 4 0 28.300552 -11.678 -86.25 - 88 128.6434 1038 4 1 28.593806 -11.77584 -84.85 - 88 15.308781 1039 4 1 28.66492 -11.800641 -84.507095 - 88 128.23243 824 5 0 33.310453 -14.689039 -56.25 - 88 196.30902 1063 5 1 33.552921 -14.817098 -54.85 - 88 101.68342 815 6 0 39.495497 -16.512514 -26.25 - 88 190.26874 1094 6 1 39.7635 -16.588904 -24.85 - 88 119.38654 808 7 0 45.218556 -17.869856 3.75 - 88 144.01969 1123 7 1 45.459007 -17.931122 5.15 - 88 144.99517 805 8 0 45.662953 -18.619415 33.75 - 88 104.2983 1124 8 1 45.701356 -18.652775 35.15 - 88 100.01697 799 9 0 45.851045 -19.751776 63.75 - 88 114.08471 1125 9 1 45.854291 -19.777519 65.15 - 88 113.38873 808 10 0 40.606717 -18.003079 93.75 - 88 150.40879 1097 10 1 40.364073 -17.870697 95.15 - 88 150.75823 809 11 0 28.441416 -17.759015 123.75 - 88 145.3406 1034 11 1 27.740116 -17.722279 125.15 - 88 56.818169 1033 11 1 27.623243 -17.715677 125.37862 - 88 131.89483 820 12 0 9.045602 -15.497068 153.75 - 88 34.573481 937 12 1 8.276231 -15.461156 155.15 - 88 152.9969 936 12 1 8.215306 -15.460537 155.26367 - 88 81.475371 897 13 0 -12.18824 0.35889305 183.75 - 88 90.598028 898 13 0 -12.347106 0.49202289 183.97983 - 88 45.87144 832 13 1 -13.182729 1.2404038 185.15 - 88 101.02362 831 13 1 -13.264345 1.3112985 185.26608 - 88 49.055629 1015 14 0 -30.067435 23.993041 213.75 - 88 90.908008 1016 14 0 -30.137161 24.08197 213.86454 - 88 11.644811 1017 14 0 -30.267217 24.251609 214.10494 - 88 91.209698 744 14 1 -30.763916 25.062042 215.15 - 88 69.025077 743 14 1 -30.880836 25.242752 215.3713 - 88 111.70989 835 13 1 -12.637737 -1.512486 185.15 - 88 63.21566 834 13 1 -12.652565 -1.5376229 185.25973 - 88 194.63937 847 4 0 24.616285 -10.089768 -86.25 - 88 161.85434 1018 4 1 24.644539 -9.9981124 -84.85 - 88 119.45549 879 5 0 16.529181 -3.7254873 -56.25 - 88 106.81835 978 5 1 16.49592 -3.7668507 -54.85 - 88 114.91076 977 5 1 16.421568 -3.6443331 -54.567687 -Number of digits in this event = 25 -Event: 89 -Number of tracker hits in this event = 6 - 89 122.81392 895 2 1 -0.61373715 -0.42738074 -144.45 - 89 139.92857 893 1 1 -0.99156717 -0.55375393 -174.45 - 89 155.46185 895 1 0 -1.0137162 -0.55592525 -175.85 - 89 110.25321 890 0 1 -1.4706697 -0.59882718 -204.45 - 89 152.81004 895 0 0 -1.4905825 -0.59397861 -205.85 - 89 95.178058 891 6 0 0.64235752 -1.3816426 -25.85 -Number of digits in this event = 5 -Event: 90 -Number of tracker hits in this event = 5 - 90 137.0361 895 1 1 -0.45213307 -0.39527395 -174.45 - 90 234.98753 895 0 0 -0.30943661 -0.52241382 -205.85 - 90 255.74977 897 0 0 0.4154423 0.33208108 -205.85 - 90 205.06359 896 0 0 0.61641831 0.23346943 -205.93007 - 90 157.874 895 0 1 -0.45507936 -0.57651929 -204.68247 -Number of digits in this event = 6 -Event: 91 -Number of tracker hits in this event = 3 - 91 126.24748 898 2 0 -0.12662153 0.61524396 -145.85 - 91 138.4522 900 1 0 -0.20609882 0.85353505 -175.85 - 91 151.15941 901 0 0 -0.35985462 1.1868656 -205.85 -Number of digits in this event = 4 -Event: 92 Number of tracker hits in this event = 10 - 92 126.09526 898 4 1 0.56455077 0.42849562 -84.45 - 92 190.70839 898 4 0 0.59230337 0.45145269 -85.85 - 92 151.28709 901 3 1 1.1937054 0.93522901 -114.45 - 92 152.6778 900 3 0 1.2217458 0.96520905 -115.85 - 92 146.61621 904 2 1 1.7781778 1.5651779 -144.45 - 92 180.71109 903 2 0 1.7961012 1.5908139 -145.85 - 92 336.94695 906 1 1 2.1905999 2.1220546 -174.45 - 92 142.78019 906 1 0 2.2045774 2.1548876 -175.85 - 92 152.53187 908 0 1 2.471798 2.8032998 -204.45 - 92 128.22893 909 0 0 2.4793705 2.8359343 -205.85 -Number of digits in this event = 11 -Event: 93 -Number of tracker hits in this event = 35 - 93 147.74957 893 5 1 -1.0233193 -0.45465059 -54.45 - 93 145.68716 895 5 0 -1.0715617 -0.47751452 -55.85 - 93 167.30822 888 4 1 -2.0400293 -0.94125607 -84.45 - 93 16.530845 887 4 1 -2.0508099 -0.94743741 -84.792855 - 93 168.69549 893 4 0 -2.0839889 -0.96643215 -85.85 - 93 118.44695 883 3 1 -2.9690252 -1.4731441 -114.45 - 93 133.38701 890 3 0 -3.0119167 -1.5015661 -115.85 - 93 170.6836 878 2 1 -3.8877306 -2.0807859 -144.45 - 93 124.4237 887 2 0 -3.9310352 -2.1083258 -145.85 - 93 210.41324 874 1 1 -4.8165177 -2.6775587 -174.45 - 93 128.3212 884 1 0 -4.8596921 -2.7023339 -175.85 - 93 176.01495 869 0 1 -5.7294223 -3.2283079 -204.45 - 93 134.19325 881 0 0 -5.7708016 -3.2611909 -205.85 - 93 2121.9887 1120 1 1 44.916907 -4.4839231 -174.64836 - 93 2907.5615 870 2 0 38.20415 -5.6074601 -146.25 - 93 3869.9704 1084 2 1 37.810719 -5.6612594 -144.85 - 93 1113.286 1121 1 1 45.104924 -4.6509811 -174.53631 - 93 17.777931 979 1 1 16.66087 -18.527627 -174.58022 - 93 253.29997 516 1 1 -76.403306 -51.834653 -174.62194 - 93 94.959348 1612 1 0 95.804806 143.89634 -176.25 - 93 75.53316 1613 1 0 96.000795 144.08785 -176.14092 - 93 89.640879 1614 1 0 96.197881 144.27249 -176.02237 - 93 51.92092 1615 1 0 96.408464 144.43906 -175.90032 - 93 86.835912 1384 1 1 98.17224 145.77769 -174.85 - 93 162.57238 1385 1 1 98.360463 145.93074 -174.74213 - 93 37.713756 1386 1 1 98.718468 146.2546 -174.52183 - 93 189.15393 1441 1 0 52.425378 109.56852 -176.25 - 93 119.95728 1442 1 0 52.465165 109.75623 -175.99696 - 93 8.5626204 1443 1 0 52.353147 109.95408 -175.85715 - 93 40.751001 1157 1 1 52.37867 115.05128 -174.85 - 93 5.2084237 1483 1 0 55.57448 118.00481 -175.85 - 93 7.3710734 1279 1 1 76.767862 121.47103 -174.85 - 93 94.708021 1496 1 0 75.565396 120.55307 -175.85 - 93 40.44597 1495 1 0 75.559459 120.54943 -175.85266 - 93 215.45024 475 2 0 -112.48587 -84.501062 -145.89757 -Number of digits in this event = 21 -Event: 94 -Number of tracker hits in this event = 38 - 94 131.5653 896 4 1 0.076675506 0.097199491 -84.45 - 94 122.85836 896 4 0 0.075880679 0.098481664 -85.85 - 94 12128.953 896 3 1 0.062525127 0.12667499 -114.45 - 94 2275.1377 900 3 0 -0.22933412 0.95086112 -115.85 - 94 4377.7196 923 3 0 5.8571743 5.5854513 -115.85 - 94 4897.5446 926 3 0 6.4864905 6.1780439 -115.96427 - 94 5780.865 929 3 0 7.1095077 6.7790082 -116.06855 - 94 5212.2203 932 3 0 7.7379501 7.3754302 -116.16541 - 94 153.91082 722 2 1 -35.136423 -4.0111842 -144.45 - 94 142.8782 721 2 1 -35.255894 -3.9841518 -144.55356 - 94 251.13828 880 2 0 -36.326483 -3.5456944 -145.85 - 94 136.21251 881 2 0 -36.654662 -3.3882596 -146.11719 - 94 90.805705 882 2 0 -36.81824 -3.1883318 -146.14442 - 94 51.280861 883 2 0 -36.943998 -2.9258188 -146.23026 - 94 90.174245 884 2 0 -37.030758 -2.8014493 -146.20335 - 94 72.446872 885 2 0 -37.21993 -2.6209196 -146.03854 - 94 43.248387 699 2 1 -39.799223 -1.0519881 -144.85 - 94 105.54803 698 2 1 -39.895052 -1.0005422 -144.79284 - 94 114.47058 697 2 1 -40.080549 -0.87135331 -144.69754 - 94 275.81356 696 2 1 -40.277489 -0.78756845 -144.59404 - 94 4.4612302 695 2 1 -40.481656 -0.77730496 -144.46282 - 94 161.59368 720 2 1 -35.511326 -4.009163 -144.56555 - 94 134.8042 719 2 1 -35.815353 -4.0994833 -144.61202 - 94 150.42747 717 2 1 -36.123864 -4.0890807 -144.67504 - 94 33.568448 716 2 1 -36.424072 -4.0761663 -144.78451 - 94 323.15055 871 2 1 -5.2669531 -4.5790972 -144.45 - 94 335.01159 874 2 0 -5.5542649 -4.7999031 -145.85 - 94 38.277146 873 2 0 -5.62611 -4.8544558 -146.19987 - 94 463.80527 841 1 1 -11.341697 -9.2577974 -174.45 - 94 374.49741 850 1 0 -11.587144 -9.5140097 -175.85 - 94 365.95256 815 0 1 -16.467967 -14.724473 -204.45 - 94 272.86573 823 0 0 -16.697322 -14.986592 -205.85 - 94 48.689112 822 0 0 -16.753208 -15.051221 -206.19279 - 94 99.903323 868 2 1 -5.8955457 -4.560719 -144.85 - 94 31.103484 896 5 1 0.18688597 -0.05 -54.712451 - 94 119.73384 897 5 1 0.2634752 -0.065802134 -54.802174 - 94 99.478136 891 5 0 1.6796074 -1.4472181 -55.85 - 94 78.626571 890 5 0 1.7002368 -1.4730837 -55.86346 -Number of digits in this event = 25 -Event: 95 -Number of tracker hits in this event = 7 - 95 119.16485 896 5 0 -0.081273649 0.092669361 -55.85 - 95 126.62503 896 4 0 -0.19212779 0.18168251 -85.85 - 95 131.84718 897 3 0 -0.26070244 0.37770795 -115.85 - 95 157.20075 898 2 0 -0.33140691 0.50789005 -145.85 - 95 162.52628 899 1 0 -0.45774193 0.6719096 -175.85 - 95 160.25165 894 0 1 -0.74682334 0.88610945 -204.45 - 95 121.89469 900 0 0 -0.76133327 0.89808912 -205.85 -Number of digits in this event = 7 -Event: 96 -Number of tracker hits in this event = 12 - 96 159.70318 896 5 1 0.060412254 -0.079349272 -54.45 - 96 140.97313 896 4 1 0.18898218 -0.17913546 -84.45 - 96 182.06372 897 3 1 0.2698452 -0.34767752 -114.45 - 96 158.3685 897 2 1 0.25686233 -0.48423248 -144.45 - 96 129.47552 895 2 0 0.25447144 -0.49224475 -145.85 - 96 239.88147 896 1 1 0.21040343 -0.64121915 -174.45 - 96 145.04496 894 1 0 0.20492294 -0.6626543 -175.85 - 96 158.99363 896 0 1 0.11735072 -1.1008321 -204.45 - 96 221.26682 892 0 0 0.1148923 -1.1214442 -205.85 - 96 10.249832 891 0 0 0.064879406 -1.2504202 -206.223 - 96 79.751202 938 0 0 38.741032 8.6312663 -206.25 - 96 96.342461 939 0 0 38.860404 8.6528028 -206.17806 + 80 257.23626 900 4 1 0.16325358 -0.28032129 -84.45 + 80 240.58952 898 4 0 0.16810985 -0.28658213 -85.85 + 80 142.05429 901 3 1 0.25450404 -0.41042828 -114.45 + 80 113.55745 898 3 0 0.26154635 -0.41735993 -115.85 + 80 180.25749 901 2 1 0.41615289 -0.53865372 -144.45 + 80 130.33138 897 2 0 0.4233538 -0.54302218 -145.85 + 80 149.51974 902 1 1 0.56238425 -0.63160589 -174.45 + 80 142.79126 897 1 0 0.57075205 -0.63713996 -175.85 + 80 148.63558 903 0 1 0.73849085 -0.76948337 -204.45 + 80 228.26458 896 0 0 0.74063962 -0.7736031 -205.85 Number of digits in this event = 10 -Event: 97 +Event: 81 +Number of tracker hits in this event = 2 + 81 193.52006 900 4 1 0.061248487 0.075677471 -84.45 + 81 141.77769 900 4 0 0.063644658 0.073478195 -85.85 +Number of digits in this event = 3 +Event: 82 +Number of tracker hits in this event = 7 + 82 120.95653 900 3 0 0.051307925 0.22510135 -115.85 + 82 140.32158 900 2 1 0.18656819 0.33519343 -144.45 + 82 179.326 901 2 0 0.19018557 0.34336727 -145.85 + 82 121.40946 900 1 1 0.24119482 0.50461816 -174.45 + 82 188.85253 902 1 0 0.24624131 0.5084016 -175.85 + 82 135.32463 901 0 1 0.34615751 0.58057314 -204.45 + 82 240.72176 902 0 0 0.34744885 0.57885662 -205.85 +Number of digits in this event = 8 +Event: 83 +Number of tracker hits in this event = 10 + 83 206.63097 899 4 1 -0.15967926 -0.25642137 -84.45 + 83 127.02414 898 4 0 -0.1684053 -0.26824481 -85.85 + 83 110.30565 898 3 1 -0.32904584 -0.51274197 -114.45 + 83 168.89414 897 3 0 -0.34075826 -0.52125423 -115.85 + 83 149.87797 897 2 1 -0.57348743 -0.68473694 -144.45 + 83 151.43075 896 2 0 -0.58488806 -0.69471447 -145.85 + 83 104.83608 896 1 1 -0.83801586 -0.88045015 -174.45 + 83 156.04464 895 1 0 -0.83913115 -0.88666961 -175.85 + 83 589.77936 895 0 1 -0.88035745 -1.0203229 -204.45 + 83 111.3544 895 0 0 -0.88055524 -1.0302431 -205.85 +Number of digits in this event = 8 +Event: 84 +Number of tracker hits in this event = 7 + 84 205.56963 900 4 1 0.062798869 -0.10644399 -84.45 + 84 133.04614 899 4 0 0.058318449 -0.10826771 -85.85 + 84 374.89713 905 1 1 1.0797051 0.21185702 -174.45 + 84 152.57554 900 1 0 1.1321154 0.23380935 -175.85 + 84 137.00542 910 0 1 2.2022994 0.68941688 -204.45 + 84 137.26697 903 0 0 2.2539983 0.70964807 -205.85 + 84 42.799518 464 1 0 23.361693 -87.05652 -175.91204 +Number of digits in this event = 9 +Event: 85 +Number of tracker hits in this event = 11 + 85 110.87896 899 4 1 -0.16884853 0.28651862 -84.45 + 85 128.03269 901 4 0 -0.17443261 0.29975777 -85.85 + 85 115.8667 898 3 1 -0.3070693 0.57602352 -114.45 + 85 168.27046 902 3 0 -0.31279117 0.58803868 -115.85 + 85 172.4806 897 2 1 -0.46628291 0.85048922 -144.45 + 85 208.0727 904 2 0 -0.46973036 0.86654832 -145.85 + 85 158.06676 897 1 1 -0.52592609 1.2063884 -174.45 + 85 143.25546 905 1 0 -0.52646022 1.2232486 -175.85 + 85 147.71565 897 0 1 -0.51277446 1.567313 -204.45 + 85 177.01076 907 0 0 -0.51419179 1.5844068 -205.85 + 85 10.088015 248 3 1 -130.41112 0.63509647 -114.46556 +Number of digits in this event = 10 +Event: 86 +Number of tracker hits in this event = 30 + 86 108.89923 899 4 1 -0.070307893 -0.10583226 -84.45 + 86 197.5132 899 4 0 -0.079315187 -0.11079123 -85.85 + 86 126.19336 898 3 1 -0.28599479 -0.20595018 -114.45 + 86 133.52066 899 3 0 -0.2967342 -0.20847735 -115.85 + 86 127.03958 897 2 1 -0.49667323 -0.25875866 -144.45 + 86 109.09565 898 2 0 -0.50666948 -0.26287976 -145.85 + 86 126.70823 896 1 1 -0.71187141 -0.39843579 -174.45 + 86 142.56382 898 1 0 -0.71970745 -0.40134071 -175.85 + 86 142.83677 895 0 1 -0.86879866 -0.46680207 -204.45 + 86 145.05188 897 0 0 -0.87436812 -0.46775341 -205.85 + 86 273.22253 875 2 0 3.8922863 -4.9797238 -146.25 + 86 274.57439 924 2 1 5.0494476 -6.6354876 -144.85 + 86 249.44814 830 3 0 -25.058438 -13.850232 -116.25 + 86 193.25775 768 3 1 -26.301246 -15.008342 -114.85 + 86 145.57535 756 4 0 -50.354059 -28.695604 -86.25 + 86 65.787523 755 4 0 -50.477367 -28.888111 -86.054826 + 86 53.869374 754 4 0 -50.458007 -29.112165 -85.968377 + 86 80.488734 753 4 0 -50.5008 -29.278322 -86.003542 + 86 98.113826 752 4 0 -50.559591 -29.451847 -86.029563 + 86 99.515663 751 4 0 -50.581086 -29.691903 -85.995175 + 86 201.01083 750 4 0 -50.54521 -29.859352 -85.969981 + 86 60.312556 115 9 0 -109.04194 -157.13989 63.907745 + 86 142.44269 818 1 1 -16.382391 18.350919 -174.45 + 86 367.66907 991 1 0 -16.314741 18.361678 -175.85 + 86 55.880031 943 1 0 -45.470858 8.8088948 -176.25 + 86 79.21262 944 1 0 -45.5782 8.8735732 -176.12615 + 86 97.03112 945 1 0 -45.662025 9.0634773 -176.029 + 86 30.94322 670 1 1 -45.851962 10.005933 -174.85 + 86 333.19699 671 1 1 -45.84576 10.054944 -174.80165 + 86 118.62177 672 1 1 -45.625731 10.303372 -174.64263 +Number of digits in this event = 19 +Event: 87 +Number of tracker hits in this event = 16 + 87 136.29122 899 4 1 -0.23740805 0.059263299 -84.45 + 87 136.77476 900 4 0 -0.24483971 0.058565668 -85.85 + 87 163.56597 896 2 1 -0.6521813 0.052600775 -144.45 + 87 125.8293 900 2 0 -0.66702289 0.055310593 -145.85 + 87 141.25242 895 1 1 -0.97362612 0.12341529 -174.45 + 87 153.11499 900 1 0 -0.98534689 0.13144179 -175.85 + 87 175.45268 894 0 1 -1.2401956 0.29767806 -204.45 + 87 115.40696 901 0 0 -1.2550191 0.30207047 -205.85 + 87 41.775078 899 5 0 -0.095778497 -0.05 -56.112492 + 87 87.759313 648 5 0 35.340057 -50.383766 -56.25 + 87 121.81245 647 5 0 35.547677 -50.477008 -56.062371 + 87 56.431497 1088 5 1 37.707063 -50.617413 -54.85 + 87 70.896843 1089 5 1 37.883736 -50.60434 -54.757895 + 87 115.16676 1090 5 1 38.054846 -50.643763 -54.671735 + 87 85.864887 1091 5 1 38.293257 -50.654479 -54.567337 + 87 45.509851 1092 5 1 38.474221 -50.708895 -54.450248 +Number of digits in this event = 9 +Event: 88 +Number of tracker hits in this event = 11 + 88 140.6752 899 5 1 -0.12314849 -0.077553004 -54.45 + 88 173.67699 899 5 0 -0.12979666 -0.077452121 -55.85 + 88 135.15299 898 4 1 -0.28002112 -0.056388564 -84.45 + 88 163.27707 897 3 1 -0.51424115 0.10642245 -114.45 + 88 135.50809 900 3 0 -0.52420187 0.11802516 -115.85 + 88 165.91799 896 2 1 -0.72093853 0.36723319 -144.45 + 88 146.16141 901 2 0 -0.72849833 0.38083518 -145.85 + 88 162.60836 895 1 1 -0.87810656 0.63929099 -174.45 + 88 189.08774 903 1 0 -0.8845149 0.65045727 -175.85 + 88 139.80917 895 0 1 -1.0271253 0.87439904 -204.45 + 88 139.47602 904 0 0 -1.0342448 0.88350496 -205.85 +Number of digits in this event = 12 +Event: 89 Number of tracker hits in this event = 8 - 97 136.31697 897 3 1 0.32740732 0.1265546 -114.45 - 97 136.3399 896 3 0 0.33527179 0.12798162 -115.85 - 97 117.76426 898 2 1 0.46548487 0.12784731 -144.45 - 97 150.35145 896 2 0 0.4779789 0.13089069 -145.85 - 97 130.75224 899 1 1 0.73833461 0.18692928 -174.45 - 97 111.98615 896 1 0 0.74679739 0.19525435 -175.85 - 97 137.18743 900 0 1 0.89409246 0.38498448 -204.45 - 97 137.84902 897 0 0 0.89266468 0.39530687 -205.85 -Number of digits in this event = 7 -Event: 98 + 89 157.18365 900 3 1 0.11212442 0.1006922 -114.45 + 89 114.39623 900 3 0 0.11856773 0.10524506 -115.85 + 89 133.74476 901 2 1 0.25636084 0.22008732 -144.45 + 89 153.47392 900 2 0 0.27104044 0.22933507 -145.85 + 89 156.60981 902 1 1 0.5658065 0.40656624 -174.45 + 89 136.4898 901 1 0 0.58199125 0.41216883 -175.85 + 89 132.4139 904 0 1 0.86937515 0.63926874 -204.45 + 89 124.94928 902 0 0 0.88791747 0.6449512 -205.85 +Number of digits in this event = 8 +Event: 90 Number of tracker hits in this event = 4 - 98 121.98392 895 3 1 -0.45835252 -0.22424653 -114.45 - 98 123.09368 895 2 1 -0.62136884 -0.30401887 -144.45 - 98 150.38142 894 1 1 -0.82389738 -0.31654342 -174.45 - 98 161.69346 892 0 1 -1.0684361 -0.34770738 -204.45 + 90 115.34502 900 1 1 0.070547076 -0.083493244 -174.45 + 90 148.24029 899 1 0 0.078229367 -0.086665273 -175.85 + 90 180.97686 900 0 1 0.23398253 -0.13941866 -204.45 + 90 120.76864 899 0 0 0.23767915 -0.13568352 -205.85 +Number of digits in this event = 4 +Event: 91 +Number of tracker hits in this event = 15 + 91 270.33491 900 4 1 0.080901352 -0.065533878 -84.45 + 91 150.32975 899 4 0 0.085152248 -0.070695613 -85.85 + 91 149.89933 900 3 1 0.16942881 -0.17383765 -114.45 + 91 154.71934 899 3 0 0.17642373 -0.17652989 -115.85 + 91 144.82107 901 2 1 0.32282422 -0.21479327 -144.45 + 91 180.832 899 2 0 0.3290125 -0.22277827 -145.85 + 91 141.88027 901 1 1 0.4409339 -0.38053018 -174.45 + 91 111.93122 898 1 0 0.44494456 -0.38635409 -175.85 + 91 156.13809 902 0 1 0.54825647 -0.52662735 -204.45 + 91 143.32666 897 0 0 0.55603862 -0.52855435 -205.85 + 91 246.87907 1770 5 1 174.32837 -23.805045 -54.45 + 91 134.03813 900 6 0 -0.088588801 0.05 -26.024227 + 91 13.595314 901 6 0 -0.23995238 0.32855892 -26.22525 + 91 89.371776 1229 6 0 -64.809152 66.000375 -26.25 + 91 325.06274 1230 6 0 -64.880828 66.06545 -26.193734 +Number of digits in this event = 13 +Event: 92 +Number of tracker hits in this event = 12 + 92 0.71863559 899 5 1 -0.12112159 0.05 -54.846843 + 92 118.30731 900 5 0 -0.12497716 0.052687887 -55.85 + 92 195.61915 898 4 1 -0.26024469 0.15692023 -84.45 + 92 100.85089 900 4 0 -0.28060448 0.17413378 -85.85 + 92 137.56798 896 3 1 -0.69298153 0.53706747 -114.45 + 92 131.83782 902 3 0 -0.70782127 0.55294428 -115.85 + 92 112.80338 895 2 1 -1.0206335 0.89626746 -144.45 + 92 133.5174 904 2 0 -1.0321466 0.91308505 -145.85 + 92 290.09927 893 1 1 -1.2716 1.242577 -174.45 + 92 113.50844 906 1 0 -1.2819358 1.2579733 -175.85 + 92 168.97071 893 0 1 -1.4030943 1.571392 -204.45 + 92 151.52452 907 0 0 -1.4099429 1.591269 -205.85 +Number of digits in this event = 8 +Event: 93 +Number of tracker hits in this event = 8 + 93 118.37728 900 3 1 0.10253735 -0.24328114 -114.45 + 93 183.47986 898 3 0 0.10798503 -0.25504239 -115.85 + 93 157.54831 900 2 1 0.21998312 -0.48935937 -144.45 + 93 126.94579 897 2 0 0.22402729 -0.50236134 -145.85 + 93 259.82693 901 1 1 0.32774262 -0.78349872 -174.45 + 93 121.9666 896 1 0 0.33391894 -0.80145003 -175.85 + 93 164.06026 902 0 1 0.47159592 -1.1560511 -204.45 + 93 145.17845 894 0 0 0.47686191 -1.1779426 -205.85 +Number of digits in this event = 8 +Event: 94 +Number of tracker hits in this event = 12 + 94 125.23821 900 5 1 0.1631535 0.14253621 -54.45 + 94 144.7488 900 5 0 0.17465261 0.1479301 -55.85 + 94 132.78374 901 4 1 0.40032594 0.26629962 -84.45 + 94 170.12123 901 4 0 0.41255135 0.27140717 -85.85 + 94 150.73763 902 3 1 0.61234266 0.33428841 -114.45 + 94 130.12163 901 3 0 0.62140154 0.33560081 -115.85 + 94 154.41255 903 2 1 0.79403452 0.36322138 -144.45 + 94 108.25994 901 2 0 0.8007838 0.37021354 -145.85 + 94 163.58798 904 1 1 0.93929983 0.51764898 -174.45 + 94 136.34139 902 1 0 0.94406669 0.52841252 -175.85 + 94 151.15436 904 0 1 1.0207016 0.73671124 -204.45 + 94 135.04876 903 0 0 1.0261793 0.74277631 -205.85 +Number of digits in this event = 12 +Event: 95 +Number of tracker hits in this event = 4 + 95 146.60258 899 1 1 -0.056292733 -0.096043031 -174.45 + 95 96.362141 899 1 0 -0.056495193 -0.096978285 -175.85 + 95 137.5341 899 0 1 -0.14877999 -0.12515011 -204.45 + 95 123.83543 899 0 0 -0.15152233 -0.11817169 -205.85 Number of digits in this event = 5 +Event: 96 +Number of tracker hits in this event = 9 + 96 93.960454 899 4 0 -0.05 -0.17389308 -85.997177 + 96 134.62252 899 3 1 -0.10144525 -0.197875 -114.45 + 96 152.44675 899 3 0 -0.10706363 -0.2000153 -115.85 + 96 135.55379 899 2 1 -0.22292785 -0.24084236 -144.45 + 96 137.17957 899 2 0 -0.23189049 -0.24211499 -145.85 + 96 118.76673 898 1 1 -0.44073592 -0.2742565 -174.45 + 96 103.36719 898 1 0 -0.45161431 -0.27697862 -175.85 + 96 153.97268 896 0 1 -0.66472096 -0.3349888 -204.45 + 96 156.34242 898 0 0 -0.67228391 -0.33819444 -205.85 +Number of digits in this event = 8 +Event: 97 +Number of tracker hits in this event = 21 + 97 157.13788 900 4 1 0.06220981 -0.52451208 -84.45 + 97 124.88698 897 4 0 0.061972676 -0.54197552 -85.85 + 97 191.00084 900 3 1 0.06277095 -0.89767152 -114.45 + 97 193.30257 895 3 0 0.066518104 -0.91517023 -115.85 + 97 110.61266 900 2 1 0.13305036 -1.2717207 -144.45 + 97 149.24166 893 2 0 0.14339361 -1.277532 -145.85 + 97 169.11094 901 1 1 0.34658422 -1.4209607 -174.45 + 97 123.38404 893 1 0 0.35590329 -1.4250564 -175.85 + 97 175.75409 902 0 1 0.55325128 -1.4928205 -204.45 + 97 125.43963 892 0 0 0.56487846 -1.4979569 -205.85 + 97 15.495203 893 3 0 -0.05 -1.3335983 -116.2252 + 97 125.11734 596 3 0 -115.33051 -60.655001 -116.25 + 97 115.30746 595 3 0 -115.35547 -60.894848 -116.10652 + 97 56.238182 594 3 0 -115.29567 -61.131277 -115.94932 + 97 60.209411 330 3 1 -114.05391 -62.297414 -114.85 + 97 74.867846 331 3 1 -113.91525 -62.366141 -114.76287 + 97 118.99776 332 3 1 -113.70375 -62.517313 -114.69627 + 97 93.64115 333 3 1 -113.53001 -62.701848 -114.63548 + 97 102.13456 334 3 1 -113.33757 -62.785701 -114.65282 + 97 164.60233 335 3 1 -113.133 -62.67281 -114.64859 + 97 310.85746 336 3 1 -112.94266 -62.326052 -114.68012 +Number of digits in this event = 14 +Event: 98 +Number of tracker hits in this event = 16 + 98 112.38163 901 5 1 0.26487597 0.38127877 -54.45 + 98 139.04588 901 5 0 0.28135961 0.39606369 -55.85 + 98 599.34141 902 4 1 0.6158525 0.6786456 -84.45 + 98 266.49374 903 4 0 0.63100749 0.68580415 -85.85 + 98 158.58429 904 3 1 0.94259987 0.82403272 -114.45 + 98 131.4229 903 3 0 0.95673667 0.82944009 -115.85 + 98 186.73151 905 2 1 1.247625 0.92954821 -144.45 + 98 152.50649 904 2 0 1.2589333 0.93457863 -145.85 + 98 127.60681 907 1 1 1.5035844 1.0413978 -174.45 + 98 149.39132 904 1 0 1.5170071 1.0439877 -175.85 + 98 217.70398 908 0 1 1.7868299 1.0707272 -204.45 + 98 186.17196 905 0 0 1.8120208 1.0792981 -205.85 + 98 66.350167 906 2 1 1.2522373 0.88371052 -144.709 + 98 33.044547 901 2 0 1.9046784 0.26382765 -145.85 + 98 125.5498 900 2 0 1.9502946 0.24774989 -145.93354 + 98 253.23236 900 6 0 0.78619011 0.12014418 -25.85 +Number of digits in this event = 14 Event: 99 Number of tracker hits in this event = 7 - 99 234.04717 896 5 0 -0.084499562 0.11667521 -55.85 - 99 114.52995 896 3 1 0.085644091 0.62705064 -114.45 - 99 169.51837 898 3 0 0.086060659 0.64576391 -115.85 - 99 16.03281 899 3 0 0.086072677 0.65036076 -116.19286 - 99 135.71463 896 2 1 0.07346608 1.0177868 -144.45 - 99 116.49946 900 2 0 0.069501687 1.0354042 -145.85 - 99 211.81652 904 0 0 -0.18142699 1.7769317 -205.85 + 99 150.09261 900 4 1 0.086449445 -0.062286653 -84.45 + 99 123.91838 899 4 0 0.083692662 -0.06317535 -85.85 + 99 39.210463 899 3 0 0.05 -0.079536468 -116.14689 + 99 29.217916 951 3 0 26.187122 10.416736 -116.25 + 99 94.814056 952 3 0 26.212526 10.456664 -116.19641 + 99 205.13512 953 3 0 26.308758 10.658947 -116.09887 + 99 168.38128 954 3 0 26.320609 10.85389 -116.06046 Number of digits in this event = 5 Run terminated. Run Summary Number of events processed : 100 - User=1.43s Real=1.56s Sys=0.01s + User=0.36s Real=0.41s Sys=0.01s End of Run File Tracks_0.dat /vis/viewer/update ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. +Idle> +Idle> /gun/particle gamma /gun/particle gamma +Idle> /gun/energy 1 GeV /gun/energy 1 GeV +Idle> /gun/sourceType 2 /gun/sourceType 2 +Idle> /run/beamOn 100 /run/beamOn 100 ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld + Calorimeter + Tracker Index : 1 used in the geometry : Yes recalculation needed : No Material : Scintillator - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Material : CesiumIodide + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 38.405229 keV e- 691.66869 keV e+ 658.43466 keV proton 100 keV Region(s) which use this couple : Calorimeter Index : 3 used in the geometry : Yes recalculation needed : No - Material : CesiumIodide - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 38.405229 keV e- 691.66869 keV e+ 658.43466 keV + Material : Silicon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.8873065 keV e- 540.71814 keV e+ 521.11295 keV proton 100 keV Region(s) which use this couple : - Calorimeter + Tracker Index : 4 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Tracker - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : Silicon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.3033387 keV e- 120.42458 keV e+ 118.95119 keV - Region(s) which use this couple : - Tracker - -Index : 6 used in the geometry : Yes recalculation needed : No Material : Tungsten - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 36.047857 keV e- 351.43773 keV e+ 334.55147 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 105.40119 keV e- 2.31122 MeV e+ 2.1466594 MeV proton 100 keV Region(s) which use this couple : Tracker @@ -1647,884 +1827,774 @@ WARNING: Scene "refresh" not found. /vis/scene/list to see scenes. Start Run processing. Event: 0 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 1 -Number of tracker hits in this event = 0 +Number of tracker hits in this event = 2 + 0 159.75444 900 0 1 0.17910818 -0.21665074 -204.45 + 0 115.61783 898 0 0 0.30449435 -0.26043477 -205.85 Number of digits in this event = 2 +Event: 1 +Number of tracker hits in this event = 7 + 1 133.18247 900 0 1 0.1093607 -0.20364277 -204.45 + 1 115.92872 899 0 0 0.1096272 -0.20670885 -205.85 + 1 146.41158 887 1 1 -2.5019676 0.75625 -174.45 + 1 138.94977 906 1 0 -2.7865826 1.2810198 -175.85 + 1 514.18846 863 0 1 -7.3010394 11.318132 -204.45 + 1 598.90193 866 0 1 -6.7354159 11.814689 -204.54642 + 1 1041.3735 984 0 0 0.05 16.967313 -205.86073 +Number of digits in this event = 8 Event: 2 -Number of tracker hits in this event = 6 - 2 46.536263 988 6 0 140.22876 18.488809 -25.964634 - 2 88.433234 856 1 1 -8.3430916 -30.808113 -174.84929 - 2 38.192634 491 0 1 -81.365675 72.763052 -204.45 - 2 151.55962 1010 0 0 -11.168909 22.910838 -206.08763 - 2 65.499555 895 0 1 -0.60000328 -1.6428513 -204.45 - 2 15.035147 894 0 1 -0.68701252 -1.611152 -204.45691 -Number of digits in this event = 3 +Number of tracker hits in this event = 16 + 2 169.60304 899 3 1 -0.071695793 -0.30844478 -114.45 + 2 126.31141 898 3 0 -0.14011802 -0.3504055 -115.85 + 2 125.73452 893 2 1 -1.4479984 -1.1812583 -144.45 + 2 100.40137 894 2 0 -1.5010635 -1.2301057 -145.85 + 2 128.65226 886 1 1 -2.6539682 -2.1169633 -174.45 + 2 157.48681 889 1 0 -2.7014288 -2.1590138 -175.85 + 2 117.47157 882 0 1 -3.5747356 -3.1199148 -204.45 + 2 107.93468 884 0 0 -3.6579188 -3.1141189 -205.85 + 2 92.336686 917 0 0 63.559407 3.6002082 -205.93301 + 2 112.68163 898 2 0 0.052346003 -0.38863699 -145.85 + 2 278.38629 900 1 1 0.20201673 -0.35253108 -174.45 + 2 123.16627 898 1 0 0.26219708 -0.39477438 -175.85 + 2 179.08775 907 0 1 1.5443604 -1.1832221 -204.45 + 2 174.95482 894 0 0 1.6018936 -1.1789181 -205.85 + 2 274.77677 902 0 1 0.637002 -0.46746127 -204.45 + 2 231.40696 897 0 0 0.65484616 -0.51013672 -205.85 +Number of digits in this event = 12 Event: 3 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 4 -Number of tracker hits in this event = 4 - 4 225.57685 1393 6 1 99.966614 -149.25543 -24.646257 - 4 15.807671 1392 6 1 99.947425 -149.32817 -24.633334 - 4 199.99782 1790 6 0 46.714354 179.39044 -26.176647 - 4 1.2718371 396 8 0 -29.373877 -100.92293 33.970263 -Number of digits in this event = 5 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 5 Number of tracker hits in this event = 6 - 5 109.76639 892 1 1 -1.140942 0.65782117 -174.45 - 5 155.37092 899 1 0 -1.2429612 0.67934927 -175.85 - 5 135.26095 879 0 1 -3.6903866 1.3039118 -204.45 - 5 113.59025 902 0 0 -3.7908089 1.3384788 -205.85 - 5 39.933538 539 0 1 -71.718288 -5.6518096 -204.45 - 5 238.87518 540 0 1 -71.64587 -5.6702815 -204.50468 -Number of digits in this event = 4 + 5 113.18154 1458 12 0 24.634982 111.76562 153.86181 + 5 34.349046 1459 12 0 24.526829 111.95453 154.10515 + 5 99.139879 1015 12 1 23.140533 113.20238 155.15 + 5 83.49874 1014 12 1 23.033462 113.37175 155.16732 + 5 47.650548 1454 12 0 22.483725 110.9826 154.15 + 5 76.904465 1453 12 0 22.451421 110.94499 154.11866 +Number of digits in this event = 2 Event: 6 Number of tracker hits in this event = 0 -Number of digits in this event = 2 +Number of digits in this event = 1 Event: 7 -Number of tracker hits in this event = 4 - 7 73.371681 840 2 1 -11.521716 82.224681 -144.45 - 7 87.902061 841 2 1 -11.449933 82.208205 -144.45074 - 7 128.81807 897 0 1 0.3683191 -0.062442934 -204.45 - 7 13.241078 464 8 0 -144.82329 -86.722922 34.054432 -Number of digits in this event = 3 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 8 -Number of tracker hits in this event = 0 -Number of digits in this event = 2 +Number of tracker hits in this event = 2 + 8 2.3828992 848 5 1 -10.250514 82.257619 -54.45 + 8 112.93968 849 5 1 -10.247305 82.257223 -54.452181 +Number of digits in this event = 1 Event: 9 -Number of tracker hits in this event = 1 - 9 230.26774 870 0 1 -5.6452531 28.260163 -204.73528 -Number of digits in this event = 3 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 10 -Number of tracker hits in this event = 0 -Number of digits in this event = 2 +Number of tracker hits in this event = 12 + 10 24.869721 899 2 0 -0.067584122 -0.05 -146.148 + 10 123.17153 899 1 1 -0.0993989 -0.4342684 -174.45 + 10 400.461 898 1 0 -0.095650845 -0.4475945 -175.85 + 10 74.901777 1752 11 1 170.71756 64.121846 125.33214 + 10 203.73672 1306 11 0 166.72765 81.425208 123.79584 + 10 199.54531 1307 11 0 166.74253 81.452107 123.84011 + 10 121.66078 900 1 1 0.18111917 0.086251667 -174.45 + 10 145.77679 900 1 0 0.19253633 0.082425277 -175.85 + 10 323.69699 363 3 1 -107.39205 138.60702 -114.53152 + 10 85.808857 362 3 1 -107.57636 139.40883 -114.58787 + 10 74.152188 1599 3 0 -107.98093 140.01812 -115.85 + 10 114.94115 1600 3 0 -107.96931 140.16635 -116.01127 +Number of digits in this event = 9 Event: 11 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 8 + 11 117.98928 900 0 1 0.13280562 0.095521449 -204.45 + 11 121.79186 900 0 0 0.10664092 0.097299262 -205.85 + 11 15.611837 1068 2 0 -76.895923 33.842934 -145.87537 + 11 165.59197 508 2 1 -78.274915 35.329334 -144.85 + 11 155.82631 507 2 1 -78.466478 35.373204 -144.67441 + 11 259.26201 906 0 1 1.4140497 -0.46871873 -204.45 + 11 250.61027 897 0 0 1.4209224 -0.47038852 -205.85 + 11 335.98476 8 14 0 -54.861846 -178.49714 213.75 +Number of digits in this event = 7 Event: 12 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 20 + 12 225.97964 899 3 1 -0.1863772 -0.10494342 -114.45 + 12 288.14705 899 3 0 -0.20866774 -0.10858384 -115.85 + 12 123.26907 896 2 1 -0.72501853 -0.16476937 -144.45 + 12 323.09091 899 2 0 -0.79630069 -0.18187183 -145.85 + 12 116.66162 888 1 1 -2.3057415 -0.49229716 -174.45 + 12 104.39864 897 1 0 -2.3983267 -0.48023583 -175.85 + 12 203.83039 878 0 1 -4.336679 -0.14474252 -204.45 + 12 121.4519 899 0 0 -4.4363837 -0.23366876 -205.85 + 12 65.294737 877 0 1 -4.4610909 -0.19207857 -204.67089 + 12 152.25402 898 0 0 -4.37899 -0.32740955 -205.85 + 12 61.842758 839 0 0 -21.947153 -12.147348 -206.25 + 12 118.33711 838 0 0 -22.020789 -12.260119 -206.12311 + 12 117.29629 837 0 0 -22.022552 -12.462634 -206.04039 + 12 150.40334 836 0 0 -21.854528 -12.682067 -205.9372 + 12 69.848638 835 0 0 -21.812611 -12.872372 -205.87832 + 12 97.060563 903 1 1 0.79694318 -0.43631469 -174.45 + 12 148.01631 898 1 0 0.81003097 -0.40755297 -175.85 + 12 98.979197 905 0 1 1.0557477 0.28699793 -204.45 + 12 130.28842 901 0 0 1.0994215 0.33154825 -205.85 + 12 28.414779 898 2 0 -0.45928595 -0.26692226 -145.87386 +Number of digits in this event = 11 Event: 13 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 14 -Number of tracker hits in this event = 10 - 14 126.49966 895 1 1 -0.45374665 -0.11499748 -174.45 - 14 122.58775 895 0 1 -0.58830362 -0.088786059 -204.45 - 14 64.204245 467 1 0 -9.5120118 -86.062424 -175.99845 - 14 175.57089 847 1 1 -10.107026 -86.178631 -174.85 - 14 201.0035 897 2 1 0.28634585 -0.28760977 -144.45 - 14 141.80092 899 1 1 0.78414097 -0.98932323 -174.45 - 14 167.18896 893 1 0 0.81558566 -1.0318594 -175.85 - 14 113.62665 901 0 1 1.2323419 -1.8190902 -204.45 - 14 119.67267 888 0 0 1.2358585 -1.9221398 -205.85 - 14 138.39154 273 1 0 64.820544 -125.46582 -175.92827 -Number of digits in this event = 9 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 15 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 16 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 17 -Number of tracker hits in this event = 31 - 17 134.29024 897 4 0 -0.47331345 0.44554648 -85.85 - 17 121.25385 891 3 1 -1.3360234 0.2407328 -114.45 - 17 105.02328 896 3 0 -1.3704198 0.21080136 -115.85 - 17 123.51349 887 2 1 -2.1089443 -0.40226702 -144.45 - 17 81.29202 895 2 0 -2.1643522 -0.45056079 -145.96429 - 17 103.03826 881 1 1 -3.3243831 -1.3278218 -174.45 - 17 124.6402 891 1 0 -3.3779721 -1.3810037 -175.85 - 17 111.25148 875 0 1 -4.5591063 -2.3363196 -204.45 - 17 226.63208 886 0 0 -4.6993706 -2.3156842 -205.85 - 17 95.395733 884 1 1 -2.7449647 -0.95661682 -174.45 - 17 63.366289 883 1 1 -2.8583305 -0.77077203 -174.68149 - 17 203.47553 899 1 0 -4.4265874 0.78542254 -175.85 - 17 113.432 900 1 0 -4.5287619 0.86838128 -175.89618 - 17 67.918623 901 1 0 -4.8038462 1.1099972 -176.09008 - 17 188.29641 1101 1 0 -85.437054 41.167339 -176.25 - 17 182.20975 1102 1 0 -85.702155 41.257574 -176.02599 - 17 27.910829 463 1 1 -87.004887 40.573842 -174.85 - 17 259.11463 462 1 1 -87.093434 40.541952 -174.78234 - 17 152.00086 461 1 1 -87.265902 40.492527 -174.63481 - 17 121.72052 896 5 1 0.10570374 0.066290881 -54.45 - 17 157.63693 896 5 0 0.11766737 0.061810373 -55.85 - 17 137.82875 899 3 1 0.73118667 -0.1591352 -114.45 - 17 339.26581 900 2 1 0.85814985 0.066185118 -144.45 - 17 125.47776 896 2 0 0.8766301 0.094715036 -145.85 - 17 116.47921 902 1 1 1.3653482 0.70461059 -174.45 - 17 125.73374 902 0 1 1.4299765 2.6574497 -204.45 - 17 135.10536 909 0 0 1.4431657 2.7434325 -205.85 - 17 97.011675 902 2 0 1.5134582 1.3831813 -145.85 - 17 88.06303 903 2 0 1.6257761 1.4824156 -145.97043 - 17 27.160363 904 2 0 1.750031 1.6720896 -146.15728 - 17 81.92162 861 3 0 10.436073 -7.3790564 -116.25 -Number of digits in this event = 19 -Event: 18 -Number of tracker hits in this event = 12 - 18 117.73218 894 1 1 -0.79267056 -0.15079601 -174.45 - 18 276.71939 895 0 1 -0.62569725 0.31602906 -204.45 - 18 132.36739 897 0 0 -0.61946352 0.3520826 -205.85 - 18 66.101871 692 2 0 32.217381 -41.156749 -146.25 - 18 47.451206 691 2 0 32.237245 -41.292286 -146.02888 - 18 44.433466 1058 2 1 32.641423 -41.217433 -144.85 - 18 83.165043 1059 2 1 32.697216 -41.218193 -144.74194 - 18 41.055554 1562 0 1 133.88411 62.573482 -204.49662 - 18 70.376285 1563 0 1 133.96224 62.679057 -204.47209 - 18 184.37192 1564 0 1 134.15858 62.778181 -204.54994 - 18 269.41711 1208 0 0 133.2374 62.630192 -205.85 - 18 8.2184493 914 1 0 14.150282 3.7176409 -176.07207 -Number of digits in this event = 6 -Event: 19 -Number of tracker hits in this event = 24 - 19 120.13118 895 2 1 -0.48620302 -0.27831304 -144.45 - 19 230.20832 895 1 0 -0.37084089 -0.57842347 -175.85 - 19 182.70442 893 0 0 -0.23887524 -1.0096085 -205.85 - 19 41.098317 909 4 0 85.610083 2.8357257 -86.25 - 19 258.45587 910 4 0 85.593411 2.8534781 -86.184459 - 19 452.18777 892 1 1 -1.0841639 -0.05 -174.45955 - 19 245.83577 893 1 1 -1.000222 -0.68074446 -174.47867 - 19 209.14293 891 1 1 -1.2656866 -1.1132469 -174.70235 - 19 146.29677 909 0 1 2.6831172 -5.7257563 -204.45 - 19 10.628837 910 0 1 2.8981284 -5.8145745 -204.80866 - 19 116.34306 868 0 0 3.4520092 -5.9736577 -205.85 - 19 132.94617 801 0 0 31.905363 -19.33054 -206.25 - 19 34.956225 1057 0 1 32.415739 -19.083364 -204.85 - 19 78.841856 1058 0 1 32.457544 -19.057692 -204.73862 - 19 154.33505 897 0 0 -0.22287901 0.37537497 -205.85 - 19 27.118529 5 2 0 13.933521 -178.97766 -145.87724 - 19 417.57451 861 3 0 -101.95399 -7.432809 -116.25 - 19 60.455395 860 3 0 -101.96979 -7.455415 -116.22516 - 19 154.83226 894 0 1 -0.67405531 -0.87899627 -204.61479 - 19 277.63623 894 0 0 -0.54024317 -0.65824654 -205.85 - 19 85.3734 895 0 0 -0.51006431 -0.63394678 -205.96101 - 19 8.0980105 877 0 0 8.8392938 -4.2477033 -206.25 - 19 277.25773 876 0 0 8.8588225 -4.2732926 -206.22258 - 19 41.998656 875 0 0 8.8982898 -4.4535864 -206.14553 +Number of tracker hits in this event = 17 + 16 128.36853 901 1 1 0.25033472 -2.9111902 -174.45 + 16 184.81695 885 1 0 0.2719104 -2.9753828 -175.85 + 16 148.43795 903 0 1 0.82205309 -4.283904 -204.45 + 16 172.38804 878 0 0 0.82967492 -4.3354949 -205.85 + 16 137.78673 1447 0 1 109.64683 145.9872 -204.8337 + 16 357.62485 1179 3 1 55.919119 -7.1624118 -114.67778 + 16 219.12448 899 0 1 -0.23061712 -0.8097116 -204.45 + 16 356.28004 896 0 0 -0.25326152 -0.78376635 -205.85 + 16 140.3518 899 4 0 -0.05604025 -0.20289618 -85.85 + 16 104.74168 898 3 1 -0.31881205 -0.069572643 -114.45 + 16 97.535855 899 3 0 -0.35301022 -0.064716319 -115.85 + 16 107.65487 896 2 1 -0.67329513 0.55705891 -144.45 + 16 142.69127 903 2 0 -0.4669226 0.73903575 -145.85 + 16 166.83272 918 1 1 3.6784195 3.652532 -174.45 + 16 149.76947 919 1 0 3.9171884 3.9565019 -175.85 + 16 169.70931 941 0 1 8.4121705 10.331727 -204.45 + 16 131.67996 953 0 0 8.6859854 10.810052 -205.85 Number of digits in this event = 16 +Event: 17 +Number of tracker hits in this event = 3 + 17 12.21671 1573 12 1 134.77348 -114.85368 155.53855 + 17 190.64067 986 1 1 17.312695 -91.96156 -174.77915 + 17 288.96165 1709 2 1 162.073 -106.5334 -144.49854 +Number of digits in this event = 3 +Event: 18 +Number of tracker hits in this event = 2 + 18 23.740006 33 7 1 -173.51186 -49.838259 5.2464331 + 18 46.8159 1509 6 0 -92.925106 122.06055 -26.25 +Number of digits in this event = 2 +Event: 19 +Number of tracker hits in this event = 38 + 19 723.51608 900 3 0 -0.089253784 0.055422461 -115.85 + 19 124.49636 900 2 1 0.13093169 0.8641419 -144.45 + 19 149.79633 905 2 0 0.38471319 1.1759336 -145.85 + 19 127.70905 928 1 1 5.691181 7.7809372 -174.45 + 19 126.76515 941 1 0 6.5099466 8.282665 -175.85 + 19 249.30491 1026 0 1 25.394947 17.866206 -204.45 + 19 176.87144 993 0 0 26.844666 18.744323 -205.85 + 19 31.109232 999 2 0 -56.976211 19.969786 -146.12954 + 19 109.31903 444 2 0 -37.206949 -91.323053 -146.25 + 19 183.88392 443 2 0 -37.133425 -91.357652 -146.09755 + 19 122.89523 899 3 1 -0.056649806 0.066693834 -114.45 + 19 112.6833 903 1 1 0.74757748 -0.45895291 -174.45 + 19 125.1662 897 1 0 0.77550596 -0.48522619 -175.85 + 19 168.3771 906 0 1 1.2609811 -0.98645519 -204.45 + 19 92.762242 895 0 0 1.2837703 -1.0178587 -205.85 + 19 153.94127 887 1 1 -2.6045763 -4.5566244 -174.45 + 19 155.20427 877 1 0 -3.5484946 -4.6070481 -175.85 + 19 188.09872 767 0 1 -26.589981 -3.105257 -204.45 + 19 130.16916 879 0 0 -26.866235 -4.2216898 -205.85 + 19 125.87223 813 0 0 -37.353901 -17.330398 -206.25 + 19 114.39408 712 0 1 -37.623213 -17.183344 -204.85 + 19 65.750897 669 2 0 -25.364912 -46.136041 -145.94796 + 19 39.793655 668 2 0 -25.339663 -46.257629 -145.87415 + 19 132.81853 772 2 1 -25.563599 -47.298187 -144.85 + 19 114.99193 662 2 0 -25.393017 -47.525073 -145.85 + 19 159.92753 868 0 0 -21.030346 -6.3282244 -206.25 + 19 105.60193 801 0 1 -19.84616 -7.5650173 -204.85 + 19 140.14901 802 0 1 -19.64017 -7.6247049 -204.69425 + 19 143.06073 803 0 1 -19.449505 -7.6679893 -204.6196 + 19 365.01058 899 2 1 -0.15651032 -0.16796675 -144.45 + 19 351.75297 900 2 0 -0.2245836 0.10443672 -145.85 + 19 159.73232 899 1 1 -0.080857578 6.3413759 -174.45 + 19 151.66424 933 1 0 -0.11611812 6.7042958 -175.85 + 19 157.13851 901 0 1 0.28804024 14.524191 -204.45 + 19 138.79489 973 0 0 0.3955483 14.732266 -205.85 + 19 179.93606 1296 6 0 98.948482 79.345947 -26.25 + 19 97.282034 1277 5 0 89.72065 75.614834 -56.142925 + 19 210.2312 901 3 0 -0.38862337 0.26477368 -116.16195 +Number of digits in this event = 29 Event: 20 -Number of tracker hits in this event = 83 - 20 245.84603 896 5 0 -0.12592047 0.053460449 -55.85 - 20 516.21748 896 4 0 -0.14538362 0.12417378 -85.85 - 20 130.22732 897 3 0 -0.10955154 0.3601375 -115.85 - 20 123.98269 898 2 0 -0.25762122 0.49968227 -145.85 - 20 156.28369 893 1 1 -1.0239972 1.0980024 -174.45 - 20 293.42307 901 1 0 -1.0611382 1.1272796 -175.85 - 20 132.97766 889 0 1 -1.8173939 1.6775668 -204.45 - 20 163.70297 904 0 0 -1.8520926 1.7027273 -205.85 - 20 129.53951 896 2 1 0.22132421 0.31576646 -144.45 - 20 149.86521 897 2 0 0.21548002 0.35881548 -145.85 - 20 101.46643 903 1 0 0.052813734 1.5652071 -175.85 - 20 117.68085 896 0 1 0.12996809 2.4520419 -204.45 - 20 105.3325 908 0 0 0.17067214 2.4725034 -205.85 - 20 22.802808 909 1 0 -0.19927615 2.814157 -175.85 - 20 298.04675 910 1 0 -0.20091807 2.8622939 -175.87925 - 20 119.22622 911 1 0 -0.10884772 3.0567505 -175.94013 - 20 183.86706 912 1 0 -0.13806359 3.2507221 -175.89901 - 20 0.43975504 879 1 1 -3.7297331 0.17112971 -174.85 - 20 2.3763907 870 1 0 -8.114018 -5.4607312 -175.85 - 20 12.110549 851 1 1 -9.4418614 -8.4310433 -174.85 - 20 90.338376 850 1 1 -9.45066 -8.4504915 -174.84535 - 20 141.588 865 3 1 -6.4864529 16.18649 -114.72422 - 20 14.180216 897 4 0 -0.21854967 0.25499603 -86.192903 - 20 116.83064 903 3 0 -0.34482076 1.5128093 -115.85 - 20 123.29842 884 2 1 -2.695394 2.5247229 -144.45 - 20 145.43597 907 2 0 -3.2609128 2.4436583 -145.85 - 20 153.84456 825 1 1 -14.461981 1.0889546 -174.45 - 20 29.380885 899 1 0 -15.021278 0.66860088 -175.85 - 20 137.96521 898 1 0 -15.068991 0.63589625 -175.96392 - 20 103.33492 771 0 1 -25.275323 -7.9944712 -204.45 - 20 20.043836 772 0 1 -25.239452 -8.228877 -204.78888 - 20 79.338307 853 0 0 -25.122941 -8.9142686 -205.85 - 20 61.868654 852 0 0 -25.096861 -9.0661706 -206.07547 - 20 108.51294 896 6 0 0.056809737 0.06902401 -25.85 - 20 94.605423 902 5 1 1.2562625 1.5964804 -54.45 - 20 161.71323 904 5 0 1.333638 1.6746406 -55.85 - 20 118.44265 912 4 1 3.4033133 3.3895444 -84.45 - 20 119.64993 912 4 0 3.4855914 3.4032328 -85.85 - 20 101.56296 922 3 1 5.3577648 3.9976726 -114.45 - 20 114.86125 915 3 0 5.4585742 4.0060871 -115.85 - 20 158.27204 932 2 1 7.3071748 3.2289495 -144.45 - 20 149.25426 911 2 0 7.2588494 3.2291272 -145.85 - 20 105.15885 928 1 1 6.5017671 3.2090858 -174.45 - 20 98.932912 920 0 1 4.9648293 3.9661107 -204.45 - 20 105.94609 914 0 0 4.940427 3.7823985 -205.85 - 20 77.687291 945 1 1 10.025095 3.029254 -174.45 - 20 183.4589 946 1 1 10.055923 3.0195336 -174.56432 - 20 94.072442 984 0 1 17.807402 1.6803749 -204.45 - 20 65.677893 985 0 1 17.860635 1.6605467 -204.67913 - 20 114.86419 903 0 0 18.151897 1.5962484 -205.85 - 20 63.850605 1000 0 1 20.931603 4.4191309 -204.45 - 20 175.35495 1001 0 1 21.071247 4.4524488 -204.64845 - 20 231.56275 921 0 0 22.453964 5.063969 -205.85 - 20 30.280728 922 0 0 23.081331 5.2674114 -206.19894 - 20 247.81101 946 0 0 50.20546 10.222125 -206.25 - 20 98.898466 1145 0 1 49.931184 9.8888317 -204.85 - 20 52.23175 1115 1 0 42.128843 43.992311 -176.25 - 20 96.231949 1116 1 0 42.09221 44.119164 -176.12304 - 20 5.1460016 1117 1 0 42.074514 44.364763 -175.85716 - 20 291.71226 1111 1 1 43.087516 47.018594 -174.85 - 20 136.78871 1177 2 0 26.949329 56.26812 -146.25 - 20 200.32553 1028 2 1 26.54679 57.2792 -144.85 - 20 156.63399 1027 2 1 26.431551 57.490552 -144.68495 - 20 115.9426 1026 2 1 26.223617 57.810563 -144.45209 - 20 54.430425 1025 2 1 25.925752 58.115284 -144.4664 - 20 100.48254 1024 2 1 25.700719 58.203815 -144.45 - 20 90.216572 1023 2 1 25.630397 57.876536 -144.53944 - 20 75.959998 1022 2 1 25.439147 57.596725 -144.60951 - 20 87.068049 1021 2 1 25.245831 57.402607 -144.65901 - 20 51.532044 1174 2 0 25.352688 55.73978 -145.85 - 20 159.53812 1173 2 0 25.318897 55.634823 -145.95476 - 20 361.85057 1047 2 0 64.002884 30.270025 -146.25 - 20 418.44399 913 4 1 3.4552449 3.453737 -84.45 - 20 130.52856 930 4 0 4.3342214 7.0150047 -85.85 - 20 86.583902 932 4 0 4.3879838 7.2790957 -85.978435 - 20 68.884943 933 4 0 4.4583546 7.5464224 -86.091033 - 20 126.06204 1313 4 0 -23.182179 83.467396 -86.25 - 20 47.306573 1314 4 0 -23.301395 83.801888 -86.070195 - 20 52.671921 1315 4 0 -23.361739 83.974184 -85.986269 - 20 40.419295 1316 4 0 -23.423942 84.151464 -85.915073 - 20 99.205322 773 4 1 -24.893548 87.246779 -84.85 - 20 96.740944 772 4 1 -25.079405 87.562574 -84.717528 - 20 47.511149 771 4 1 -25.280571 87.83204 -84.520707 -Number of digits in this event = 34 +Number of tracker hits in this event = 14 + 20 124.47924 899 4 1 -0.055789549 0.12129741 -84.45 + 20 153.32247 910 3 0 -0.0685314 2.1172147 -115.85 + 20 112.87268 896 2 1 -0.69013193 4.745809 -144.45 + 20 282.64877 924 2 0 -0.73430033 4.877174 -145.85 + 20 128.40967 891 1 1 -1.7793787 7.6530847 -174.45 + 20 114.04604 938 1 0 -1.8186505 7.7637347 -175.85 + 20 114.08342 887 0 1 -2.5403746 10.214536 -204.45 + 20 106.33085 951 0 0 -2.5651386 10.309689 -205.85 + 20 54.122988 812 3 0 -13.227521 -17.581154 -116.16747 + 20 136.10358 899 3 0 0.16555495 -0.052643734 -115.85 + 20 112.97249 901 2 1 0.43458301 -0.10823432 -144.45 + 20 120.93705 899 2 0 0.46549292 -0.10157488 -145.85 + 20 152.7072 909 0 1 1.9423982 0.16418235 -204.45 + 20 151.54986 900 0 0 2.0106432 0.17846846 -205.85 +Number of digits in this event = 9 Event: 21 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 22 -Number of tracker hits in this event = 1 - 22 125.00184 910 0 0 47.288454 2.8877279 -206.09931 +Number of tracker hits in this event = 4 + 22 75.759438 897 2 0 93.7692 -0.57301626 -146.0899 + 22 89.756913 896 2 0 93.934217 -0.65305074 -145.98611 + 22 223.42754 895 2 0 94.085037 -0.8599712 -145.93777 + 22 292.02693 894 2 0 94.132382 -1.0595646 -145.9691 Number of digits in this event = 3 Event: 23 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 24 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 64 + 24 100.37834 899 6 0 -0.071148091 -0.083113297 -25.85 + 24 129.60673 890 5 1 -1.9162989 -1.6144733 -54.45 + 24 90.744059 892 5 0 -2.0035098 -1.6449421 -55.85 + 24 39.602925 891 5 0 -2.0184705 -1.6518461 -56.120609 + 24 133.50091 882 4 1 -3.5333818 -2.0666619 -84.45 + 24 172.58026 890 4 0 -3.6107105 -2.049197 -85.85 + 24 153.7945 875 3 1 -5.0380697 -1.9931124 -114.45 + 24 129.07933 889 3 0 -5.0744896 -2.1196366 -115.85 + 24 251.2172 869 2 1 -6.2340762 -5.1011237 -144.45 + 24 123.5131 873 2 0 -6.3370164 -5.2514119 -145.85 + 24 200.22212 858 1 1 -8.3901852 -8.6454795 -174.45 + 24 126.46783 854 1 0 -8.3234274 -9.0916402 -175.85 + 24 145.52628 866 0 1 -6.6867242 -18.477354 -204.45 + 24 160.21198 804 0 0 -6.3940917 -19.15778 -205.85 + 24 229.41772 767 0 0 -29.212207 -26.644807 -206.25 + 24 178.07069 744 0 1 -31.158676 -26.197122 -204.85 + 24 120.70668 857 1 1 -8.4690991 -8.4821102 -174.65716 + 24 50.740764 856 1 1 -8.6846999 -8.4090639 -174.78182 + 24 26.18456 857 1 0 -9.628406 -8.6435822 -175.85 + 24 367.25964 856 1 0 -9.6836733 -8.6556456 -175.901 + 24 79.109027 866 2 1 -6.7357365 -2.9438612 -144.45 + 24 142.5763 867 2 1 -6.5770875 -2.6506661 -144.46675 + 24 241.3346 868 2 1 -6.4280138 -2.3554101 -144.51745 + 24 61.889801 870 2 1 -5.9568006 -2.083308 -144.45 + 24 106.23777 871 2 1 -5.8099832 -2.0242751 -144.55156 + 24 332.20008 872 2 1 -5.641177 -1.9554456 -144.59669 + 24 153.029 873 2 1 -5.4265783 -1.454329 -144.54253 + 24 90.897208 874 2 1 -5.2181036 -1.0449895 -144.49652 + 24 98.182083 875 2 1 -5.0493509 -0.95610801 -144.59031 + 24 89.620002 876 2 1 -4.8469669 -0.8180941 -144.672 + 24 115.14995 897 2 0 -4.8958549 -0.57507218 -145.85 + 24 134.67921 898 2 0 -4.8667643 -0.43362753 -146.11282 + 24 264.52738 242 6 0 10.569761 -131.5867 -26.25 + 24 128.01393 243 6 0 10.58244 -131.54888 -26.107337 + 24 157.4788 865 2 1 -6.8930013 -3.0105058 -144.45 + 24 219.02445 883 2 0 -7.8990854 -3.280035 -145.85 + 24 54.886147 233 6 0 -121.06206 -133.5021 -26.090347 + 24 22.604498 232 6 0 -121.00044 -133.71097 -26.031586 + 24 201.35832 231 6 0 -121.01127 -133.75866 -26.020749 + 24 39.044814 1098 2 0 -30.049846 39.784668 -146.25 + 24 127.32429 1099 2 0 -30.077141 39.855316 -146.16861 + 24 159.5735 747 2 1 -30.477293 40.088332 -144.85 + 24 47.317106 748 2 1 -30.425127 39.916191 -144.52898 + 24 246.02125 895 4 1 -0.86996471 -0.53163479 -84.45 + 24 117.0345 898 4 0 -1.116338 -0.41084324 -85.85 + 24 143.59355 896 4 0 -1.7247257 -0.67574642 -85.85 + 24 147.49016 791 3 1 -21.718777 -3.8128551 -114.45 + 24 116.92256 880 3 0 -22.31245 -4.0037522 -115.85 + 24 107.00077 736 2 1 -32.690205 -7.118499 -144.45 + 24 327.2739 735 2 1 -32.939781 -7.3432846 -144.63518 + 24 221.29138 857 2 0 -34.460779 -8.4568189 -145.85 + 24 242.96883 8 2 0 -114.46597 -178.38223 -146.25 + 24 196.57903 5 2 0 -114.10725 -179.06015 -146.15402 + 24 117.59406 1 2 0 -113.84298 -179.78121 -146.18473 + 24 139.19271 851 2 0 -31.650057 -9.6757552 -145.85 + 24 284.62014 850 2 0 -31.464799 -9.8726619 -145.93086 + 24 196.98717 899 5 1 -0.065180899 -0.074583898 -54.45 + 24 126.52839 899 5 0 -0.06192764 -0.072654863 -55.85 + 24 132.98595 899 3 1 -0.091818352 0.29550271 -114.45 + 24 121.07021 901 3 0 -0.086692515 0.29887505 -115.85 + 24 155.91754 899 1 1 -0.19164687 0.30591208 -174.45 + 24 1169.3164 901 1 0 -0.20482333 0.31602381 -175.85 + 24 126.9258 897 0 1 -0.56217455 0.58368124 -204.45 + 24 202.3977 902 0 0 -0.56744354 0.55535884 -205.85 +Number of digits in this event = 46 Event: 25 -Number of tracker hits in this event = 0 +Number of tracker hits in this event = 1 + 25 0.15513681 1277 0 1 75.523698 -45.475087 -204.64346 Number of digits in this event = 1 Event: 26 -Number of tracker hits in this event = 2 - 26 119.71183 897 0 1 0.38007668 0.074076296 -204.45 - 26 116.1872 896 0 0 0.39720585 0.08914296 -205.85 -Number of digits in this event = 2 +Number of tracker hits in this event = 16 + 26 105.0736 895 2 1 -0.91500701 0.12595733 -144.45 + 26 126.78144 900 2 0 -0.93566603 0.1506032 -145.85 + 26 129.05986 893 1 1 -1.3660939 0.67527978 -174.45 + 26 131.95626 903 1 0 -1.3903113 0.69878076 -175.85 + 26 133.91126 890 0 1 -1.8659451 1.2204586 -204.45 + 26 125.10003 905 0 0 -1.8741583 1.2470516 -205.85 + 26 129.82836 695 1 0 28.64464 -41.027337 -176.0433 + 26 5.9272168 694 1 0 28.701953 -41.05127 -175.89875 + 26 120.75612 1045 1 1 29.246736 -41.012184 -174.85 + 26 31.380355 1046 1 1 29.250408 -41.011451 -174.84512 + 26 104.68074 899 3 1 -0.11923006 -0.05 -114.54407 + 26 270.9793 898 3 0 -0.53762452 -0.29377382 -115.85 + 26 108.82604 900 2 1 0.057079055 0.43678932 -144.45 + 26 99.452734 902 2 0 0.057483802 0.46373047 -145.85 + 26 130.66956 900 0 1 0.13269621 1.8471085 -204.45 + 26 128.07417 909 0 0 0.13759903 1.9070235 -205.85 +Number of digits in this event = 11 Event: 27 -Number of tracker hits in this event = 55 - 27 110.26229 895 3 1 -0.59018572 -0.4275005 -114.45 - 27 126.82575 895 2 1 -0.59770552 -0.58031896 -144.45 - 27 301.26211 895 2 0 -0.58235959 -0.59465329 -145.85 - 27 117.01489 893 1 0 -0.23935607 -0.86779984 -175.85 - 27 127.56275 896 0 1 0.12614504 -1.221227 -204.45 - 27 178.72905 892 0 0 0.13463113 -1.236504 -205.85 - 27 31.27321 1292 5 0 -71.534038 79.361347 -55.984827 - 27 212.28134 1201 6 1 61.213452 24.10415 -24.52112 - 27 50.846132 763 4 0 113.40856 -26.933183 -85.919118 - 27 186.21648 1477 4 1 116.91327 -28.109575 -84.85 - 27 70.337009 1478 4 1 116.95785 -28.117363 -84.842967 - 27 224.8346 760 4 0 117.14581 -27.622793 -85.85 - 27 61.343387 759 4 0 117.1632 -27.653343 -85.895919 - 27 2.1279746 891 0 0 0.11472646 -1.2502592 -206.24553 - 27 45.940469 869 0 0 -38.56908 -5.7618968 -206.25 - 27 46.279604 404 0 0 -73.422534 -99.18743 -206.25 - 27 47.62504 896 1 0 0.069181396 0.05 -176.09407 - 27 189.75753 893 0 1 -0.95163173 -0.7806611 -204.45 - 27 195.47118 887 0 0 -0.75176886 -2.0782055 -205.85 - 27 134.49801 886 0 0 -0.78251873 -2.2774015 -206.09085 - 27 56.352588 894 0 1 -0.74117751 -0.93019326 -204.51105 - 27 109.6393 895 0 1 -0.61420309 -1.085926 -204.58066 - 27 93.27903 885 0 0 0.8753423 -2.5335328 -205.953 - 27 127.07817 884 0 0 1.1299028 -2.7252667 -206.10607 - 27 164.53268 892 1 1 -1.1267211 -0.58073391 -174.58759 - 27 137.20948 901 0 0 0.05 1.0513183 -205.87764 - 27 245.617 784 0 0 49.756663 -22.666783 -206.25 - 27 239.85864 783 0 0 50.113002 -22.891664 -206.0564 - 27 105.21973 1146 0 1 50.062506 -23.742912 -204.85 - 27 140.53545 1145 0 1 50.045624 -24.028725 -204.57086 - 27 244.32179 896 4 1 0.2169231 -0.32692384 -84.45 - 27 150.33306 900 3 1 0.9877475 -0.59128005 -114.45 - 27 174.58675 895 3 0 1.0516535 -0.62042707 -115.85 - 27 168.88642 907 2 1 2.319581 -1.1507503 -144.45 - 27 509.86666 892 2 0 2.35541 -1.1498968 -145.85 - 27 146.04512 910 1 1 2.9917948 -1.5380908 -174.45 - 27 131.89014 890 1 0 2.9698716 -1.5114136 -175.85 - 27 115.49924 907 0 1 2.419617 -0.92990083 -204.45 - 27 106.52985 893 0 0 2.3907342 -0.93721913 -205.85 - 27 249.86966 908 2 1 2.5869892 -1.0652918 -144.45 - 27 115.42259 919 1 1 4.7787428 -4.1661135 -174.45 - 27 86.138007 873 1 0 4.8639654 -4.9435822 -175.85 - 27 75.981216 872 1 0 4.8763885 -5.0769116 -176.0767 - 27 139.72372 923 0 1 5.5287475 -22.290959 -204.45 - 27 26.15306 782 0 0 6.36825 -23.096502 -206.19341 - 27 44.109657 960 1 1 12.899175 10.197164 -174.45 - 27 132.29025 959 1 1 12.831918 10.290462 -174.56146 - 27 57.521348 952 1 0 11.854644 11.354022 -175.85 - 27 106.97452 953 1 0 11.759964 11.451594 -175.95878 - 27 58.970739 954 1 0 11.58028 11.679729 -176.15062 - 27 57.052872 1068 1 0 -22.48252 34.487852 -176.25 - 27 49.564688 1067 1 0 -22.483806 34.430317 -176.0214 - 27 142.77918 785 1 1 -22.518719 34.129087 -174.85 - 27 131.85037 1728 3 0 -36.419372 166.96313 -116.07691 - 27 131.74618 896 5 0 -0.061072401 0.05 -56.178216 -Number of digits in this event = 31 +Number of tracker hits in this event = 1 + 27 41.482932 1282 1 0 19.493286 76.599936 -176.17379 +Number of digits in this event = 2 Event: 28 -Number of tracker hits in this event = 21 - 28 101.43904 897 2 1 0.3289002 0.77834769 -144.45 - 28 125.22352 899 2 0 0.33660012 0.79935393 -145.85 - 28 123.48245 898 1 1 0.49386956 1.2220601 -174.45 - 28 104.12412 901 1 0 0.46612523 1.2415634 -175.85 - 28 123.90599 904 0 0 -0.087846686 1.6546665 -205.85 - 28 113.85119 896 3 0 -0.05 0.16405905 -115.88078 - 28 83.861958 897 3 0 -0.17424228 0.26735844 -116.05644 - 28 105.44324 889 3 0 -9.9283385 -1.8060886 -116.25 - 28 122.58297 890 3 0 -9.955722 -1.6484197 -116.0167 - 28 409.50955 891 3 0 -10.258726 -1.4446902 -116.00206 - 28 154.48337 892 0 1 -1.0541071 -0.55707231 -204.57426 - 28 248.03588 895 0 0 -1.0626356 -0.5652393 -205.85 - 28 163.77001 186 3 0 -130.20048 -142.84448 -116.25 - 28 270.81718 886 3 1 -2.3320102 -0.10859371 -114.45 - 28 46.589712 867 2 1 -6.2322814 0.090824063 -144.45 - 28 367.30411 866 2 1 -6.2604587 0.09798408 -144.56415 - 28 146.32585 896 2 0 -6.5804651 0.17912047 -145.85 - 28 194.80501 831 1 1 -13.276131 1.8343566 -174.45 - 28 113.67081 904 1 0 -13.616832 1.7528728 -175.85 - 28 243.17902 798 0 1 -19.890303 0.38938502 -204.45 - 28 119.03208 897 0 0 -20.178202 0.29574118 -205.85 -Number of digits in this event = 14 +Number of tracker hits in this event = 35 + 28 104.08808 899 3 1 -0.15249886 -0.096858535 -114.45 + 28 127.03934 899 3 0 -0.14335132 -0.08004957 -115.85 + 28 112.39231 901 2 1 0.35728094 0.5558944 -144.45 + 28 125.0094 902 2 0 0.38411693 0.64392695 -145.85 + 28 604.42248 904 1 1 0.92967162 2.6083238 -174.45 + 28 163.94033 913 1 0 0.95454397 2.7251652 -175.85 + 28 337.26823 905 0 1 1.205806 5.544558 -204.45 + 28 211.74237 928 0 0 1.2296956 5.6627143 -205.85 + 28 18.513321 651 0 1 -49.69327 44.011739 -204.6411 + 28 247.54657 1567 13 0 163.99117 133.65311 183.75 + 28 49.977135 1566 13 0 163.96123 133.54945 183.82427 + 28 160.79851 1157 0 1 51.502823 15.24572 -204.58173 + 28 81.685788 900 2 1 0.1223717 0.49137404 -144.45 + 28 331.1021 899 2 1 -0.05 1.1232855 -144.54012 + 28 189.67548 929 2 0 -3.2413796 5.9482187 -145.85 + 28 977.38781 932 2 0 -3.5388758 6.537362 -145.99063 + 28 75.746681 941 2 0 -4.4284927 8.2535068 -146.25 + 28 77.438596 942 2 0 -4.4255073 8.5412781 -146.12087 + 28 84.010811 944 2 0 -4.4160699 8.8509585 -146.06394 + 28 80.705093 945 2 0 -4.4112193 9.1632712 -146.02694 + 28 99.958411 946 2 0 -4.2766551 9.4468776 -146.03161 + 28 144.33918 948 2 0 -4.1874106 9.7471909 -146.03408 + 28 151.65534 949 2 0 -4.1026534 10.018081 -145.90362 + 28 27.558041 951 2 0 -3.9203107 10.258824 -145.90542 + 28 44.915044 1261 2 1 72.266127 62.773508 -144.85 + 28 77.931494 1221 2 0 78.092637 64.42655 -145.85 + 28 112.29019 1222 2 0 78.290624 64.47268 -145.88983 + 28 44.631197 1301 2 1 80.343261 65.058651 -144.85 + 28 111.52293 1302 2 1 80.478767 65.096604 -144.82533 + 28 382.53639 1303 2 1 80.689071 65.263924 -144.78883 + 28 225.59326 1304 2 1 80.857141 65.600641 -144.46611 + 28 165.98953 902 2 1 0.64912739 -0.83478489 -144.45 + 28 151.42526 895 2 0 0.65887499 -0.85867521 -145.85 + 28 107.26453 893 1 0 0.90649225 -1.405641 -175.85 + 28 185.53136 890 0 0 1.2217115 -2.0123577 -205.85 +Number of digits in this event = 19 Event: 29 Number of tracker hits in this event = 0 -Number of digits in this event = 2 +Number of digits in this event = 1 Event: 30 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 31 -Number of tracker hits in this event = 3 - 31 139.88948 896 0 1 0.23039023 -0.12722186 -204.45 - 31 252.62526 1561 13 0 75.492674 133.69219 183.8135 - 31 71.065394 1560 13 0 75.659537 133.54793 183.91449 -Number of digits in this event = 3 -Event: 32 -Number of tracker hits in this event = 22 - 32 107.24371 896 4 1 0.11953697 0.13258234 -84.45 - 32 124.05139 896 4 0 0.11879347 0.13357641 -85.85 - 32 111.40692 896 3 1 0.14432836 0.12732316 -114.45 - 32 109.7189 896 3 0 0.15472734 0.11792129 -115.85 - 32 196.46812 897 2 1 0.35691339 -0.059478833 -144.45 - 32 123.60225 899 1 1 0.74444472 0.091989282 -174.45 - 32 116.89038 896 1 0 0.75504201 0.099325443 -175.85 - 32 134.2236 900 0 1 0.99436658 0.21078523 -204.45 - 32 443.13652 896 0 0 1.0011204 0.20550696 -205.85 - 32 33.509746 897 0 0 0.11107748 0.26169432 -205.93447 - 32 7.9933274 891 0 1 -1.421055 -0.10500814 -204.85 - 32 79.79582 890 0 1 -1.4534311 -0.1183291 -204.82973 - 32 257.73874 889 0 1 -1.6736399 -0.26378958 -204.75988 - 32 151.13983 888 0 1 -1.8595834 -0.35303454 -204.66871 - 32 110.58494 893 3 1 -0.85972375 -0.88004367 -114.45 - 32 106.91087 893 3 0 -0.87769488 -0.91676612 -115.85 - 32 117.44663 892 2 1 -1.2089103 -1.6606353 -144.45 - 32 184.06577 889 2 0 -1.2115023 -1.7105921 -145.85 - 32 166.13495 891 1 1 -1.2894319 -2.6013268 -174.45 - 32 105.88095 885 1 0 -1.2870557 -2.6067887 -175.85 - 32 168.43405 892 0 1 -1.1566616 -2.8423887 -204.45 - 32 134.09687 883 0 0 -1.1542532 -2.8684182 -205.85 -Number of digits in this event = 12 -Event: 33 -Number of tracker hits in this event = 6 - 33 77.379421 895 2 1 -0.45220481 -0.63137756 -144.54969 - 33 139.37222 895 2 0 -0.53113843 -0.6351175 -145.85 - 33 111.37375 888 1 1 -1.8707297 -0.8842255 -174.45 - 33 148.23347 894 1 0 -1.9162001 -0.80440301 -175.85 - 33 157.67922 883 0 1 -2.8944705 0.54800454 -204.45 - 33 150.41355 898 0 0 -2.9903427 0.61385154 -205.85 -Number of digits in this event = 5 -Event: 34 -Number of tracker hits in this event = 13 - 34 163.14179 882 0 0 -0.29508549 -3.1669317 -205.85 - 34 10.858273 1146 7 0 -159.65138 50.212751 4.1469851 - 34 207.6545 101 7 1 -159.86647 49.832465 5.15 - 34 99.393337 896 4 0 -0.18240642 0.18362246 -85.85 - 34 107.18751 880 3 1 -3.5474663 3.6789011 -114.45 - 34 237.02353 915 3 0 -3.5573723 3.9346862 -115.85 - 34 202.00145 874 2 1 -4.7999373 9.6081454 -144.45 - 34 127.04354 943 2 0 -4.8272208 9.6280625 -145.85 - 34 109.62963 869 1 1 -5.7752339 9.3480047 -174.45 - 34 147.99386 944 1 0 -5.647532 9.714456 -175.85 - 34 114.44658 882 0 1 -3.2067225 18.007574 -204.45 - 34 93.422348 989 0 0 -2.8201938 18.778785 -205.85 - 34 52.31691 990 0 0 -2.7538879 18.908034 -206.07787 +Number of tracker hits in this event = 11 + 31 121.82844 899 0 1 -0.10281976 -0.15601738 -204.45 + 31 118.0554 899 0 0 -0.10682996 -0.16079959 -205.85 + 31 49.328571 1109 2 0 66.200866 41.971129 -146.10343 + 31 173.50655 1105 2 0 64.520323 41.190752 -146.05217 + 31 123.33584 899 1 1 -0.071013516 0.33642771 -174.45 + 31 122.66318 901 1 0 -0.096723708 0.34778131 -175.85 + 31 257.70807 898 0 1 -0.43488479 0.48531285 -204.45 + 31 99.750335 902 0 0 -0.43362943 0.51442543 -205.85 + 31 0.72610298 1311 0 0 -117.35282 82.308321 -205.85118 + 31 5.2917648 308 0 1 -118.54632 82.04634 -204.85 + 31 204.05356 307 0 1 -118.5532 82.04624 -204.84242 Number of digits in this event = 8 -Event: 35 +Event: 32 Number of tracker hits in this event = 0 Number of digits in this event = 1 +Event: 33 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 +Event: 34 +Number of tracker hits in this event = 5 + 34 101.05872 1132 4 0 -45.137763 46.581264 -86.25 + 34 71.567121 1133 4 0 -45.200459 46.787942 -86.008765 + 34 643.43502 671 4 1 -45.653535 47.131685 -84.85 + 34 386.57754 670 4 1 -45.856623 47.07134 -84.488737 + 34 374.03811 669 4 1 -46.078894 46.74881 -84.598543 +Number of digits in this event = 5 +Event: 35 +Number of tracker hits in this event = 20 + 35 5.7445701 900 5 1 0.059056693 -0.05 -54.822914 + 35 99.883488 899 5 0 0.20146638 -0.16372612 -55.85 + 35 110.38281 919 4 1 3.995206 -3.7125932 -84.45 + 35 163.28378 880 4 0 4.1421676 -3.9770681 -85.85 + 35 300.0088 938 3 1 7.6846033 -8.7485447 -114.45 + 35 125.56824 856 3 0 7.9752559 -8.7393927 -115.85 + 35 103.35943 971 2 1 14.293933 -8.9133005 -144.45 + 35 98.363155 855 2 0 14.570762 -8.853513 -145.85 + 35 116.87591 1000 1 1 20.148905 -7.1632252 -174.45 + 35 90.995691 865 1 0 20.534032 -6.8943483 -175.85 + 35 127.83441 1046 0 1 29.396873 -0.9648076 -204.45 + 35 137.54684 896 0 0 29.987222 -0.75767107 -205.85 + 35 134.76033 900 3 1 0.1435749 0.096451589 -114.45 + 35 110.4298 900 3 0 0.14890545 0.09639282 -115.85 + 35 155.11589 901 2 1 0.30104154 0.07244773 -144.45 + 35 126.99234 900 2 0 0.30097645 0.061736024 -145.85 + 35 121.08795 901 1 1 0.26342959 -0.15932334 -174.45 + 35 267.08408 899 1 0 0.25051218 -0.15594921 -175.85 + 35 134.01723 899 0 1 -0.062243928 -0.075420279 -204.45 + 35 191.76607 899 0 0 -0.097359358 -0.069551304 -205.85 +Number of digits in this event = 15 Event: 36 Number of tracker hits in this event = 3 - 36 165.05871 609 2 0 -12.573645 -57.774219 -146.25 - 36 114.01067 510 2 0 26.702423 -77.458447 -146.25 - 36 115.79614 511 2 0 26.700124 -77.445526 -146.14187 -Number of digits in this event = 2 -Event: 37 -Number of tracker hits in this event = 30 - 37 231.2839 896 4 1 0.092941674 0.13797865 -84.45 - 37 131.59773 896 4 0 0.095697863 0.15208405 -85.85 - 37 323.23859 896 3 1 0.16812127 0.51654938 -114.45 - 37 185.33915 898 3 0 0.17771692 0.53279715 -115.85 - 37 216.68577 897 2 1 0.42489613 0.91558728 -144.45 - 37 130.56278 900 2 0 0.4415186 0.91782262 -145.85 - 37 140.88666 899 1 1 0.83337145 1.0014481 -174.45 - 37 364.92677 900 1 0 0.85847602 1.0026918 -175.85 - 37 179.37986 902 0 1 1.406565 1.0454474 -204.45 - 37 110.84586 901 0 0 1.4401208 1.0500597 -205.85 - 37 148.52267 1756 3 0 -120.55564 172.67302 -116.25 - 37 113.25321 297 3 1 -120.55201 172.52563 -114.85 - 37 1.0090716 900 1 1 0.85300149 1.0125768 -174.84881 - 37 27.941965 902 1 0 2.8147278 1.4093452 -175.85 - 37 160.55469 903 1 0 2.8246287 1.4509487 -175.8924 - 37 210.52653 897 3 1 0.25053504 0.62133532 -114.74945 - 37 237.41014 896 1 1 0.21295836 1.0198746 -174.45 - 37 164.34284 899 0 1 0.65832469 -1.9590077 -204.45 - 37 108.17668 887 0 0 0.67638427 -2.0709432 -205.85 - 37 143.8274 896 0 1 0.13285003 -0.35858022 -204.45 - 37 129.58213 895 0 0 0.25357692 -0.45757883 -205.85 - 37 177.67893 898 2 1 0.48040979 -0.85617217 -144.45 - 37 205.42169 893 2 0 0.54555079 -0.8587472 -145.85 - 37 262.94447 904 1 1 1.8080488 -0.90934217 -174.45 - 37 129.24932 893 1 0 1.9672608 -0.97870901 -175.85 - 37 140.14855 921 0 1 5.212745 -2.3488465 -204.45 - 37 157.57011 886 0 0 5.3583706 -2.4092615 -205.85 - 37 58.256735 1618 1 1 145.03566 57.544616 -174.70955 - 37 149.49408 1619 1 1 145.15542 57.589949 -174.72639 - 37 156.11938 1620 1 1 145.35776 57.693566 -174.57822 -Number of digits in this event = 25 -Event: 38 -Number of tracker hits in this event = 4 - 38 128.68762 922 4 0 134.80808 5.3766931 -86.1964 - 38 220.29232 970 4 0 -68.450398 14.896296 -86.183984 - 38 104.26698 969 4 0 -68.442579 14.84524 -86.095301 - 38 26.274048 1069 0 0 -19.914536 34.708988 -206.01092 + 36 40.438565 834 1 0 108.79163 -13.203251 -176.14139 + 36 303.54251 833 1 0 108.80361 -13.251265 -176.04628 + 36 67.073157 1111 0 1 42.40337 57.951484 -204.66058 Number of digits in this event = 3 +Event: 37 +Number of tracker hits in this event = 43 + 37 57.918338 900 3 1 0.056377501 -0.28105865 -114.45 + 37 134.09497 897 2 1 -0.47352131 -0.84514988 -144.45 + 37 114.37655 895 2 0 -0.52365959 -0.86298167 -145.85 + 37 124.50861 892 1 1 -1.6046797 -1.1065464 -174.45 + 37 126.22774 894 1 0 -1.6682526 -1.1051046 -175.85 + 37 137.64764 885 0 1 -3.022123 -1.3436264 -204.45 + 37 132.82978 893 0 0 -3.0956148 -1.4086926 -205.85 + 37 74.217524 290 0 0 -144.84399 -122.0107 -205.8629 + 37 166.16134 178 0 1 -144.44979 -121.54923 -204.85 + 37 154.11838 1297 2 1 79.575332 18.636917 -144.66359 + 37 23.706526 1120 0 1 44.154597 18.008989 -204.67765 + 37 2.1176456 1593 3 0 22.164639 138.87809 -116.25 + 37 118.98016 899 3 1 -0.05 -0.3226106 -114.66735 + 37 125.67012 900 3 0 -0.81982413 0.10728869 -115.85 + 37 46.932325 901 3 0 -0.96952557 0.28229183 -116.11943 + 37 327.64772 477 3 0 61.232643 -84.476416 -116.25 + 37 21.983813 476 3 0 61.093758 -84.65481 -116.14589 + 37 145.54513 898 3 0 -0.25850946 -0.35517265 -115.85 + 37 111.49459 859 2 1 -8.2279454 -3.2694658 -144.45 + 37 133.92792 884 2 0 -8.582665 -3.1321987 -145.85 + 37 168.14497 814 1 1 -17.087625 0.73020134 -174.45 + 37 267.51008 906 1 0 -17.319757 1.3903297 -175.85 + 37 136.93263 776 0 1 -24.74561 14.759035 -204.45 + 37 156.75232 976 0 0 -24.524531 15.370176 -205.85 + 37 101.72847 751 1 0 10.095535 -29.673673 -176.25 + 37 124.9045 750 1 0 10.175997 -29.899476 -176.05207 + 37 49.88464 749 1 0 10.321308 -30.148888 -176.05317 + 37 67.393126 748 1 0 10.240863 -30.274493 -176.00525 + 37 64.285213 938 1 1 7.7561223 -29.804817 -174.85 + 37 107.76861 937 1 1 7.6123389 -29.82313 -174.75403 + 37 49.704738 936 1 1 7.4069017 -29.814375 -174.60177 + 37 110.97722 890 0 1 -2.0419616 0.45054322 -204.45 + 37 179.09608 891 0 1 -1.791845 0.2226412 -204.66644 + 37 224.85992 900 0 0 -0.30077796 0.18720433 -205.85 + 37 144.0903 854 0 0 38.811932 -9.2236472 -206.25 + 37 326.71234 1092 0 1 38.577944 -8.3989788 -204.85 + 37 466.89487 861 0 0 37.192764 -7.7995072 -205.85 + 37 515.27438 901 4 1 0.27230262 0.39131235 -84.45 + 37 116.70837 901 4 0 0.26212297 0.40344644 -85.85 + 37 166.22236 902 1 1 0.51206626 -0.37661487 -174.45 + 37 167.77669 898 1 0 0.53908007 -0.41154241 -175.85 + 37 105.17067 904 0 1 0.95710025 -1.1314448 -204.45 + 37 255.02148 894 0 0 1.0213852 -1.1068454 -205.85 +Number of digits in this event = 27 +Event: 38 +Number of tracker hits in this event = 6 + 38 102.65198 901 0 1 0.43724631 -0.23668856 -204.45 + 38 99.635337 899 0 0 0.45971119 -0.22190525 -205.85 + 38 162.09627 899 1 1 -0.07857037 0.095565742 -174.45 + 38 114.32502 900 1 0 -0.098139907 0.098873752 -175.85 + 38 122.59202 897 0 1 -0.54339934 0.23086794 -204.45 + 38 217.05935 900 0 0 -0.54597133 0.24399335 -205.85 +Number of digits in this event = 4 Event: 39 -Number of tracker hits in this event = 0 +Number of tracker hits in this event = 1 + 39 69.192241 529 3 0 114.61811 -74.214828 -116.20468 Number of digits in this event = 1 Event: 40 -Number of tracker hits in this event = 16 - 40 126.81909 896 3 1 0.11729541 -0.36626114 -114.45 - 40 122.76494 897 1 1 0.2540792 -0.30517009 -174.45 - 40 136.08472 897 0 1 0.43425401 -0.16981421 -204.45 - 40 112.94938 622 2 0 -89.229931 -55.236756 -146.10207 - 40 113.14207 883 4 1 -2.9418504 -1.6494322 -84.45 - 40 144.83815 890 4 0 -2.9497148 -1.6046105 -85.85 - 40 125.93217 880 3 1 -3.516426 -2.1850986 -114.45 - 40 109.92081 887 3 0 -3.5300529 -2.147747 -115.85 - 40 35.120506 877 2 1 -4.2336692 -2.539616 -144.45 - 40 97.312993 876 2 1 -4.2570608 -2.5546865 -144.56391 - 40 275.05862 884 2 0 -4.5320315 -2.68352 -145.85 - 40 64.183231 844 1 1 -10.805676 -3.0278343 -174.45 - 40 72.269604 843 1 1 -10.850165 -3.0491982 -174.67764 - 40 127.19814 882 1 0 -11.064071 -3.167789 -175.85 - 40 154.3533 817 0 1 -16.240834 -8.6765538 -204.45 - 40 129.76517 853 0 0 -15.850234 -8.8827055 -205.85 -Number of digits in this event = 10 -Event: 41 Number of tracker hits in this event = 0 Number of digits in this event = 1 -Event: 42 +Event: 41 Number of tracker hits in this event = 1 - 42 77.782652 1313 1 0 -138.10749 83.460301 -176.08856 + 41 55.089492 536 0 0 -103.79279 -72.833968 -206.20226 +Number of digits in this event = 1 +Event: 42 +Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 43 -Number of tracker hits in this event = 21 - 43 259.17636 896 3 0 -0.060317415 0.15217296 -115.85 - 43 142.7956 901 1 1 1.2140853 -0.20431638 -174.45 - 43 150.93503 904 0 1 1.7310367 -0.33712868 -204.45 - 43 135.2793 896 4 0 0.076414797 0.054834862 -85.85 - 43 196.49866 903 3 1 1.5523089 1.0901796 -114.45 - 43 117.88747 901 3 0 1.6110121 1.1467166 -115.85 - 43 118.75296 909 2 1 2.8179913 2.2684717 -144.45 - 43 250.53831 907 2 0 2.8798909 2.3133757 -145.85 - 43 370.75515 916 1 1 4.1782186 3.1923468 -174.45 - 43 163.89135 911 1 0 4.2550725 3.1939824 -175.85 - 43 135.16093 925 0 1 5.9216001 3.1930161 -204.45 - 43 127.37191 911 0 0 6.0161409 3.2078186 -205.85 - 43 243.96632 1184 2 1 57.793491 -73.739341 -144.45 - 43 102.08203 912 1 0 4.1919341 3.3740887 -175.85 - 43 112.3743 912 0 1 3.4170815 7.9272442 -204.45 - 43 141.32604 934 0 0 3.4910784 7.7489522 -205.85 - 43 49.806105 926 0 0 2.4289898 6.1777747 -205.85 - 43 181.15145 925 0 0 2.3420764 6.0263964 -205.91832 - 43 262.50308 924 0 0 2.1856554 5.8234721 -205.92379 - 43 11.289073 906 2 0 2.8036826 2.2491008 -145.86362 - 43 160.84191 910 2 1 2.9804562 -0.43909279 -144.85 -Number of digits in this event = 18 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 44 -Number of tracker hits in this event = 1 - 44 4.2816785 1088 0 0 -21.851278 38.513012 -206.16063 +Number of tracker hits in this event = 2 + 44 58.49293 1113 0 0 -83.898967 42.731674 -206.22256 + 44 255.63914 1112 0 0 -83.990449 42.63994 -206.15049 Number of digits in this event = 2 Event: 45 -Number of tracker hits in this event = 1 - 45 214.77172 514 0 1 -76.65099 97.559733 -204.64404 +Number of tracker hits in this event = 0 Number of digits in this event = 2 Event: 46 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 47 -Number of tracker hits in this event = 0 +Number of tracker hits in this event = 1 + 47 115.78775 1217 3 1 63.465499 -64.039869 -114.77155 Number of digits in this event = 1 Event: 48 -Number of tracker hits in this event = 8 - 48 106.91794 896 1 0 -0.11758063 0.15711232 -175.85 - 48 123.11591 894 0 1 -0.70846147 0.36153938 -204.45 - 48 99.095554 897 0 0 -0.73991616 0.36389406 -205.85 - 48 114.3524 897 1 1 0.36186074 0.25584439 -174.45 - 48 133.3789 897 1 0 0.37720226 0.3000267 -175.85 - 48 129.65767 900 0 1 0.97934913 1.2453773 -204.45 - 48 22.633935 901 0 0 1.0186357 1.2498124 -205.85 - 48 98.14934 902 0 0 1.0219082 1.2500692 -205.96428 -Number of digits in this event = 5 +Number of tracker hits in this event = 27 + 48 116.6976 900 4 1 0.10374965 0.52962959 -84.45 + 48 289.19788 902 4 0 0.097460513 0.51471833 -85.85 + 48 85.120062 896 2 0 0.05 -0.68850891 -145.92567 + 48 137.27979 904 1 1 1.0432075 -2.9597518 -174.45 + 48 129.42442 884 1 0 1.1020253 -3.1389928 -175.85 + 48 130.33012 912 0 1 2.4745909 -7.4228404 -204.45 + 48 105.41978 862 0 0 2.5585797 -7.5634901 -205.85 + 48 41.169954 1571 7 0 22.633989 134.49248 3.7969459 + 48 86.506318 898 4 1 -0.27124144 0.53831246 -84.716542 + 48 166.62443 895 3 1 -0.9097782 1.1970747 -114.45 + 48 109.46182 905 3 0 -1.1981718 1.0964709 -115.85 + 48 181.46285 861 2 1 -7.8306375 3.1203049 -144.45 + 48 205.75459 917 2 0 -7.7260627 3.5534999 -145.85 + 48 358.41024 857 1 1 -8.5091007 12.537765 -174.45 + 48 144.23159 963 1 0 -9.1658824 12.67551 -175.85 + 48 199.44184 899 5 1 -0.11673733 -0.24646775 -54.45 + 48 120.11754 898 5 0 -0.14458835 -0.25488684 -55.85 + 48 171.73777 896 4 1 -0.73405322 -0.51922897 -84.45 + 48 114.79958 897 4 0 -0.76930724 -0.52872431 -85.85 + 48 113.0992 893 3 1 -1.443784 -0.73529659 -114.45 + 48 197.85632 896 3 0 -1.5041194 -0.75493274 -115.85 + 48 224.28101 886 2 1 -2.8038342 -1.1580005 -144.45 + 48 125.58682 894 2 0 -2.8710893 -1.1836822 -145.85 + 48 141.66628 879 1 1 -4.1977041 -1.6979987 -174.45 + 48 188.39932 891 1 0 -4.2506727 -1.6988633 -175.85 + 48 133.36721 873 0 1 -5.341719 -1.7165419 -204.45 + 48 104.39276 891 0 0 -5.3874841 -1.7229835 -205.85 +Number of digits in this event = 19 Event: 49 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 2 + 49 74.759973 1701 2 1 160.41741 -93.806414 -144.49966 + 49 203.13185 1702 2 1 160.56059 -93.908245 -144.46986 +Number of digits in this event = 2 Event: 50 -Number of tracker hits in this event = 0 +Number of tracker hits in this event = 6 + 50 76.994309 794 7 0 27.972434 -21.135212 3.9574902 + 50 28.766024 795 7 0 27.970968 -21.049424 4.1035761 + 50 93.92676 1039 7 1 27.936636 -21.573147 5.15 + 50 75.194666 1040 7 1 28.056299 -21.605654 5.1850033 + 50 41.437991 1048 1 1 29.806133 80.346582 -174.81388 + 50 268.97525 1049 1 1 29.853582 80.392558 -174.76023 Number of digits in this event = 2 Event: 51 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 52 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 48 + 52 254.23321 895 4 1 -0.93233728 0.19914257 -84.45 + 52 230.79605 900 4 0 -0.94047615 0.19284943 -85.85 + 52 284.49721 894 3 1 -1.1210588 0.098570412 -114.45 + 52 169.08202 900 3 0 -1.1291269 0.09622544 -115.85 + 52 137.60872 893 2 1 -1.3182174 0.11018009 -144.45 + 52 153.26815 900 2 0 -1.3295068 0.11227749 -145.85 + 52 98.877005 892 1 1 -1.5674832 0.11176734 -174.45 + 52 100.23819 900 1 0 -1.5684274 0.12422049 -175.85 + 52 355.4139 892 0 1 -1.5668034 0.37653869 -204.45 + 52 116.11388 901 0 0 -1.5628734 0.3708236 -205.85 + 52 259.5501 898 5 1 -0.44056311 -0.05 -54.603013 + 52 56.435289 899 5 0 -0.11298669 -0.10641559 -55.85 + 52 174.8578 897 5 1 -0.55022807 -0.05 -54.569563 + 52 139.30429 897 5 0 -1.3325309 -0.5876948 -55.85 + 52 135.21403 826 4 1 -14.748761 -6.9317635 -84.45 + 52 118.66594 865 4 0 -14.730896 -6.9044233 -85.85 + 52 151.19333 898 5 0 -0.2990294 -0.27236551 -55.85 + 52 118.7917 898 4 0 -0.92452587 -0.33556766 -85.85 + 52 52.996591 899 3 0 -1.028329 -0.11431578 -115.85 + 52 399.06652 901 2 1 0.44633322 6.818632 -144.45 + 52 129.49703 935 2 0 0.53746867 7.2103053 -145.85 + 52 121.59487 912 1 1 2.4644301 15.480886 -174.45 + 52 134.89659 978 1 0 2.7604776 15.846152 -175.85 + 52 125.78863 943 0 1 8.7387691 23.28375 -204.45 + 52 142.05745 1017 0 0 9.148659 23.473625 -205.85 + 52 317.0368 899 1 1 -0.20939636 -1.4463979 -174.45 + 52 215.39252 893 1 0 -0.1332941 -1.2588796 -175.85 + 52 27.602769 894 1 0 -0.11127342 -1.2184816 -176.14077 + 52 231.31906 901 0 1 0.31271888 2.9124035 -204.45 + 52 203.02351 917 0 0 0.48430091 3.4613228 -205.85 + 52 110.89516 892 0 0 0.36531481 -1.5456324 -205.85 + 52 281.46838 899 4 1 -0.15853623 0.14202611 -84.45 + 52 159.14385 901 4 0 -0.61394208 0.40316606 -85.85 + 52 153.18463 851 3 1 -9.6904673 7.2323447 -114.45 + 52 141.24129 937 3 0 -10.3874 7.5083119 -115.85 + 52 133.24228 781 2 1 -23.817527 14.793722 -144.45 + 52 153.60294 976 2 0 -24.46829 15.415796 -145.85 + 52 153.16755 715 1 1 -36.960793 29.611188 -174.45 + 52 112.40279 1050 1 0 -37.298092 30.236666 -175.85 + 52 137.98616 683 0 1 -43.331692 44.068078 -204.45 + 52 126.09698 1123 0 0 -43.417522 44.798432 -205.85 + 52 566.20607 907 3 1 1.5384787 -0.33087515 -114.45 + 52 110.2395 898 3 0 1.4931941 -0.34298819 -115.85 + 52 144.90163 898 2 0 0.328525 -0.4136874 -145.85 + 52 112.56225 891 1 1 -1.707806 -1.601019 -174.45 + 52 150.70501 890 1 0 -1.5578111 -1.8596643 -175.85 + 52 124.15494 907 0 1 1.5023707 -6.8278807 -204.45 + 52 101.74017 865 0 0 1.5039668 -6.8826552 -205.85 +Number of digits in this event = 36 Event: 53 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 54 -Number of tracker hits in this event = 22 - 54 113.94031 897 1 1 0.39092336 -0.053054344 -174.45 - 54 114.8037 898 0 1 0.53621111 -0.33317978 -204.45 - 54 39.452149 496 13 1 -80.340476 49.101147 185.30406 - 54 13.702025 1163 12 0 -73.417648 53.51679 153.93301 - 54 184.58879 896 3 1 0.05 0.15209572 -114.78141 - 54 116.09913 896 3 0 0.15216909 0.1279761 -115.85 - 54 32.795193 897 3 0 0.12053608 0.26880903 -116.17508 - 54 32.96194 632 3 0 -82.535643 -53.091259 -116.25 - 54 227.8779 568 3 0 -71.286585 -65.954141 -116.25 - 54 88.824462 897 3 1 0.25496708 0.33144219 -114.81983 - 54 107.72083 858 2 1 -7.9335562 -2.9264351 -144.45 - 54 182.52303 880 2 0 -7.8341421 -3.456251 -145.85 - 54 99.191644 886 1 1 -2.2545378 -13.619954 -174.45 - 54 56.838646 887 1 1 -2.1265373 -13.681195 -174.56579 - 54 54.157924 888 1 1 -2.0101553 -13.738236 -174.69517 - 54 52.161762 827 1 0 -1.0425713 -14.242737 -175.85 - 54 137.97939 826 1 0 -0.95316302 -14.29623 -175.96757 - 54 90.039505 1012 0 1 23.28823 -18.548496 -204.45 - 54 73.486811 1013 0 1 23.46609 -18.725535 -204.67374 - 54 58.485761 798 0 0 24.461209 -19.962231 -205.85 - 54 100.49946 797 0 0 24.570063 -20.088358 -205.95327 - 54 16.295299 796 0 0 24.784198 -20.279949 -206.21695 -Number of digits in this event = 7 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 55 -Number of tracker hits in this event = 1 - 55 66.731774 819 3 0 -63.999936 -15.758596 -115.91406 +Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 56 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 57 Number of tracker hits in this event = 8 - 57 131.8352 899 1 1 0.73028981 -0.11353286 -174.45 - 57 109.77102 903 0 1 1.5546003 -0.29078783 -204.45 - 57 128.23358 896 1 1 0.12367879 0.13262254 -174.45 - 57 152.90222 896 1 0 0.12590568 0.13808782 -175.85 - 57 156.04815 896 0 1 0.16168786 0.27113186 -204.45 - 57 91.263327 897 0 0 0.17333308 0.26020324 -205.85 - 57 75.717665 1297 2 1 80.343529 75.441457 -144.69227 - 57 323.50902 1298 2 1 80.464431 75.41243 -144.59223 -Number of digits in this event = 6 -Event: 58 + 56 100.06284 697 2 0 -137.49566 -40.583562 -146.25 + 56 88.611207 696 2 0 -137.70975 -40.682162 -146.0273 + 56 40.847771 197 2 1 -140.69166 -41.452374 -144.85 + 56 75.453695 196 2 1 -140.79716 -41.458664 -144.80785 + 56 65.42457 195 2 1 -141.00295 -41.484895 -144.75611 + 56 87.188688 194 2 1 -141.19195 -41.399822 -144.69834 + 56 148.58646 193 2 1 -141.3575 -41.286937 -144.62164 + 56 260.1864 192 2 1 -141.55413 -41.205493 -144.52243 +Number of digits in this event = 3 +Event: 57 Number of tracker hits in this event = 0 Number of digits in this event = 1 +Event: 58 +Number of tracker hits in this event = 1 + 58 178.36662 99 1 1 -160.19966 116.33299 -174.76066 +Number of digits in this event = 2 Event: 59 -Number of tracker hits in this event = 23 - 59 92.969009 896 1 0 0.068074411 0.15084408 -175.85 - 59 230.03427 902 0 1 1.4283276 1.4873814 -204.45 - 59 201.17609 904 0 0 1.5206248 1.7997729 -205.85 - 59 128.39426 905 0 0 1.5437275 1.874856 -206.16782 - 59 144.98185 889 0 0 -45.288201 -1.8401828 -206.25 - 59 124.35524 888 0 0 -45.387118 -1.8509826 -206.15199 - 59 299.2902 243 1 0 4.1244588 -131.36913 -176.1867 - 59 117.98353 896 2 0 0.088240246 0.15695795 -145.85 - 59 228.76952 904 1 1 1.7658835 2.5710347 -174.45 - 59 190.71108 909 1 0 1.7793688 2.7614571 -175.85 - 59 171.791 904 0 1 1.8313506 6.3656864 -204.45 - 59 192.78213 928 0 0 1.8079207 6.5584379 -205.85 - 59 141.02276 1027 1 0 18.697037 26.2658 -176.25 - 59 24.954627 990 1 1 19.022474 26.550976 -174.85 - 59 237.73206 991 1 1 19.050324 26.571941 -174.73886 - 59 112.40263 1026 1 0 19.291772 26.194302 -175.85 - 59 53.222526 1025 1 0 19.266054 26.001371 -176.14546 - 59 24.386893 857 1 0 28.647014 -8.2119952 -176.25 - 59 248.12815 856 1 0 28.683097 -8.2557584 -176.19281 - 59 85.385618 855 1 0 28.833697 -8.4643103 -176.0203 - 59 142.75857 1044 1 1 29.729208 -10.111927 -174.85 - 59 195.93796 1045 1 1 29.854163 -10.511221 -174.74275 - 59 241.63436 1046 1 1 30.056026 -10.957071 -174.76369 -Number of digits in this event = 18 +Number of tracker hits in this event = 0 +Number of digits in this event = 2 Event: 60 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 61 -Number of tracker hits in this event = 4 - 61 109.64257 896 0 0 -0.071889742 0.066153686 -205.85 - 61 120.81987 896 0 1 0.072327799 -0.10476926 -204.45 - 61 6.7084416 899 0 1 0.84057187 2.3744075 -204.85 - 61 98.136254 923 0 0 -0.38614386 5.4750957 -205.85 -Number of digits in this event = 2 +Number of tracker hits in this event = 2 + 61 16.258401 933 1 0 -16.088165 6.8496922 -176.00631 + 61 147.97029 1061 5 0 83.732353 32.356148 -56.25 +Number of digits in this event = 4 Event: 62 -Number of tracker hits in this event = 1 - 62 46.414411 772 2 0 -89.428035 -25.149321 -146.02285 -Number of digits in this event = 3 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 63 -Number of tracker hits in this event = 0 -Number of digits in this event = 2 +Number of tracker hits in this event = 2 + 63 127.05063 706 1 0 143.14134 -38.799732 -176.09013 + 63 325.84055 966 1 1 13.390162 -98.413052 -174.45 +Number of digits in this event = 4 Event: 64 -Number of tracker hits in this event = 1 - 64 63.254235 1317 4 1 84.424719 21.74952 -84.846955 -Number of digits in this event = 2 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 65 -Number of tracker hits in this event = 3 - 65 52.725571 893 0 1 -1.04884 0.17791254 -204.45 - 65 125.62949 892 0 1 -1.0557279 0.17924056 -204.56427 - 65 195.34327 896 0 0 -1.1275201 0.19411971 -205.85 -Number of digits in this event = 3 +Number of tracker hits in this event = 0 +Number of digits in this event = 2 Event: 66 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 19 + 66 117.37386 900 2 1 0.22558791 0.40714496 -144.45 + 66 117.01347 901 2 0 0.23567148 0.41904582 -145.85 + 66 129.69381 901 1 1 0.38271589 0.78500947 -174.45 + 66 131.16644 903 1 0 0.38595758 0.80249861 -175.85 + 66 161.26744 901 0 1 0.42726062 1.3114909 -204.45 + 66 99.33013 906 0 0 0.43368668 1.3200559 -205.85 + 66 65.563065 900 3 1 0.05 -0.097223849 -114.65946 + 66 245.8742 899 3 0 0.11226982 -0.19003768 -115.85 + 66 101.31092 909 2 1 1.9872783 -1.765488 -144.45 + 66 166.1219 891 2 0 2.4120425 -1.7694473 -145.85 + 66 125.45631 958 1 1 11.78465 -1.2134344 -174.45 + 66 135.2497 895 1 0 11.7706 -1.0409595 -175.85 + 66 114.96941 951 0 1 10.39369 2.5805267 -204.45 + 66 138.54794 914 0 0 10.150328 3.0341521 -205.85 + 66 14.708374 1225 1 0 -90.031394 65.138939 -175.95575 + 66 31.360852 899 4 1 -0.05 0.21015837 -84.763819 + 66 275.86821 901 4 0 -1.755707 0.38688126 -85.85 + 66 26.574056 900 4 0 -2.3931867 0.23855452 -85.882512 + 66 319.60998 884 4 1 -3.0892532 -0.28747327 -84.85 +Number of digits in this event = 12 Event: 67 -Number of tracker hits in this event = 0 -Number of digits in this event = 2 +Number of tracker hits in this event = 5 + 67 102.95986 686 12 0 11.374134 -42.737268 153.75 + 67 149.0039 978 1 0 -21.073659 15.831548 -176.25 + 67 166.45448 795 1 1 -20.976612 15.690902 -174.85 + 67 123.41095 958 1 0 -23.341098 11.670298 -176.25 + 67 202.19293 780 1 1 -23.874567 11.329841 -174.85 +Number of digits in this event = 5 Event: 68 -Number of tracker hits in this event = 14 - 68 185.31455 895 0 1 -0.56430096 0.1181296 -204.45 - 68 113.57118 896 0 0 -0.57405643 0.1213824 -205.85 - 68 128.50955 908 0 0 9.4059493 2.4519029 -206.25 - 68 89.95813 907 0 0 9.6305737 2.4304345 -205.92099 - 68 239.39167 951 0 1 11.109388 0.92426654 -204.85 - 68 102.98398 950 0 1 11.038437 0.32843415 -204.65691 - 68 240.84539 949 0 1 10.831784 0.26522937 -204.61998 - 68 237.78655 948 0 1 10.64757 0.34376707 -204.52036 - 68 233.25021 894 0 1 -0.65615256 0.21761745 -204.60746 - 68 13.504376 950 1 0 -14.491706 11.017753 -175.85 - 68 117.56757 819 1 1 -15.840378 13.386607 -174.85 - 68 53.210275 818 1 1 -15.850644 13.408616 -174.83565 - 68 25.324702 965 1 0 -17.267905 14.014587 -175.85 - 68 109.06349 966 1 0 -17.264988 14.051445 -175.87466 -Number of digits in this event = 8 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 69 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 70 -Number of tracker hits in this event = 1 - 70 91.608182 1352 1 0 151.52028 91.878749 -176.11361 -Number of digits in this event = 2 -Event: 71 -Number of tracker hits in this event = 72 - 71 109.91408 896 5 1 0.13159963 -1.523481 -54.45 - 71 135.64081 890 5 0 0.092111906 -1.5875447 -55.85 - 71 136.72011 891 4 1 -1.3505055 -2.6778164 -84.45 - 71 119.55224 884 4 0 -1.2927351 -2.7634353 -85.85 - 71 127.72039 893 2 1 -0.91111606 -10.025124 -144.45 - 71 39.886346 847 2 0 -0.9900761 -10.242743 -145.85 - 71 71.961842 846 2 0 -0.99661631 -10.261511 -145.96412 - 71 109.57931 888 1 1 -1.9880222 -14.663952 -174.45 - 71 105.98458 823 1 0 -2.1715727 -14.892077 -175.85 - 71 128.50362 866 0 1 -6.311854 -18.408112 -204.45 - 71 125.99957 805 0 0 -6.2862896 -18.477968 -205.85 - 71 184.40993 892 2 1 -1.1689508 -10.113288 -144.45 - 71 14.654952 852 2 0 -0.61335916 -9.0685414 -145.85 - 71 118.46016 853 2 0 -0.59848436 -9.036648 -145.88179 - 71 162.89733 854 2 0 -0.47478411 -8.835274 -145.99938 - 71 266.04792 855 2 0 -0.35828873 -8.6394775 -146.01884 - 71 337.9895 897 2 1 0.41526583 -2.5697464 -144.45 - 71 176.70447 885 2 0 0.40696985 -2.6223264 -145.85 - 71 125.86417 896 1 1 0.17582053 -3.7973229 -174.45 - 71 105.34222 878 1 0 0.19091731 -3.9398153 -175.85 - 71 172.8585 898 0 1 0.5627519 -6.9565697 -204.45 - 71 101.81606 862 0 0 0.55483471 -7.0789125 -205.85 - 71 36.529655 970 2 0 0.88421202 15.049953 -146.25 - 71 87.286077 971 2 0 0.88123357 15.1307 -146.14066 - 71 344.44903 899 2 1 0.84498693 15.645954 -144.85 - 71 49.482535 909 3 0 -31.8899 2.6773215 -116.25 - 71 121.02646 908 3 0 -32.018423 2.6391288 -116.12476 - 71 92.46885 732 3 1 -33.124586 2.4425175 -114.85 - 71 52.590421 731 3 1 -33.293598 2.4082398 -114.61581 - 71 64.1411 730 3 1 -33.492649 2.428388 -114.45 - 71 64.903073 729 3 1 -33.685337 2.4276911 -114.5485 - 71 51.300552 728 3 1 -33.872563 2.452538 -114.63634 - 71 74.929054 727 3 1 -34.080645 2.4329613 -114.69063 - 71 68.12515 726 3 1 -34.280282 2.351906 -114.70051 - 71 62.799451 725 3 1 -34.479564 2.3036434 -114.66932 - 71 118.22808 724 3 1 -34.675647 2.2355855 -114.64091 - 71 159.936 723 3 1 -34.980178 1.9441744 -114.45 - 71 193.40827 722 3 1 -35.069938 1.7334746 -114.51707 - 71 22.879235 721 3 1 -35.270802 1.1410039 -114.81002 - 71 64.680876 897 3 0 -35.354367 0.37951706 -115.85 - 71 97.60522 896 3 0 -35.381006 0.24833602 -116.03364 - 71 143.79529 883 2 0 0.42402454 -2.9690876 -145.85 - 71 15.74538 882 2 0 0.46305026 -3.0673477 -146.1895 - 71 122.18548 894 1 1 -0.69260193 -11.620241 -174.45 - 71 64.280434 893 1 1 -0.95223457 -11.626626 -174.69111 - 71 16.526881 892 1 1 -1.0851688 -11.643409 -174.80712 - 71 159.65006 839 1 0 -2.2357506 -11.806249 -175.85 - 71 78.854633 712 1 0 -64.089941 -37.2495 -176.25 - 71 54.271213 711 1 0 -64.215762 -37.380422 -176.1452 - 71 115.34323 710 1 0 -64.321946 -37.513714 -176.0238 - 71 133.46443 576 1 1 -64.439367 -38.594529 -174.85 - 71 24.547008 575 1 1 -64.484566 -38.893803 -174.51109 - 71 149.02683 704 2 0 -16.88705 -38.702541 -146.25 - 71 34.463042 819 2 1 -15.723263 -38.665058 -144.85 - 71 100.42859 820 2 1 -15.633774 -38.651758 -144.75871 - 71 28.55241 821 2 1 -15.411512 -38.538241 -144.47075 - 71 125.21807 892 5 1 -1.1102822 0.51037087 -54.45 - 71 324.82845 898 5 0 -1.1680125 0.52759174 -55.85 - 71 108.80881 886 4 1 -2.3813644 0.91050558 -84.45 - 71 150.56949 900 4 0 -2.4402126 0.89689721 -85.85 - 71 116.65868 880 3 1 -3.5600386 0.49878754 -114.45 - 71 137.07328 898 3 0 -3.6069406 0.48611457 -115.85 - 71 137.55928 876 2 1 -4.2969665 0.15526986 -144.45 - 71 121.95214 896 2 0 -4.3422919 0.137194 -145.85 - 71 104.05207 871 1 1 -5.3207415 -0.41152508 -174.45 - 71 156.26529 895 1 0 -5.4375028 -0.46283629 -175.85 - 71 143.43379 858 0 1 -7.9971549 -1.500631 -204.45 - 71 138.88638 890 0 0 -8.1178189 -1.5494692 -205.85 - 71 4.6810496 1460 14 1 113.54604 56.091083 215.16051 - 71 165.32465 1461 14 1 113.55163 56.094144 215.17431 - 71 242.01156 1462 14 1 113.75657 55.966189 215.40362 - 71 115.57233 897 5 0 -1.1332659 0.44546517 -55.978149 -Number of digits in this event = 33 -Event: 72 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 73 Number of tracker hits in this event = 30 - 73 137.60192 896 4 1 0.14321194 0.060082864 -84.45 - 73 135.32875 896 4 0 0.14826462 0.056461555 -85.85 - 73 135.53047 897 2 1 0.27616775 -0.064659989 -144.45 - 73 218.15412 896 1 1 0.19522687 -0.2338517 -174.45 - 73 116.80247 760 4 0 27.553039 -27.552092 -86.25 - 73 431.11664 1032 4 1 27.284744 -26.963429 -84.85 - 73 79.836756 1031 4 1 27.243615 -26.379715 -84.668164 - 73 12.971175 769 4 0 26.60619 -25.667605 -85.85 - 73 332.37998 770 4 0 26.589275 -25.646937 -85.886748 - 73 158.24074 899 5 1 0.65609983 -0.87182978 -54.45 - 73 272.02995 893 5 0 0.68164244 -0.88207833 -55.85 - 73 199.76201 901 4 1 1.0635473 -1.0724426 -84.45 - 73 120.81828 893 4 0 1.1240858 -0.99877786 -85.85 - 73 106.75298 907 3 1 2.288193 0.62311255 -114.45 - 73 130.32171 899 3 0 2.272445 0.66191075 -115.85 - 73 115.40538 903 2 1 1.6455302 1.5045175 -144.45 - 73 130.51978 903 2 0 1.5405809 1.4696864 -145.85 - 73 70.468816 892 1 1 -1.2073407 0.50790776 -174.45 - 73 95.396653 891 1 1 -1.2578081 0.49511732 -174.67987 - 73 184.68871 897 1 0 -1.5479393 0.38441131 -175.85 - 73 133.07196 861 0 1 -7.2565248 -4.3537707 -204.45 - 73 71.734986 872 0 0 -7.4195378 -5.1319922 -205.85 - 73 66.697841 871 0 0 -7.4586536 -5.2568114 -206.07457 - 73 265.92002 918 1 1 4.5054776 3.3216785 -174.45 - 73 82.94267 911 1 0 4.3778886 3.0755824 -175.85 - 73 43.740094 910 1 0 4.353741 3.033395 -176.079 - 73 7.9698174 896 0 1 0.05 -1.5905072 -204.82698 - 73 142.37628 892 0 0 0.68483893 -1.1705106 -205.85 - 73 13.351696 893 0 0 0.8951703 -1.0440832 -206.19715 - 73 30.012443 917 1 1 4.4355656 3.2771418 -174.7788 -Number of digits in this event = 17 -Event: 74 -Number of tracker hits in this event = 14 - 74 124.73105 896 2 0 -0.16443206 0.23725399 -145.85 - 74 113.54777 898 1 0 -0.28239212 0.53559844 -175.85 - 74 113.46992 900 0 0 -0.4119033 0.88668144 -205.85 - 74 173.14485 470 0 1 -85.578035 -14.576201 -204.45 - 74 128.40849 896 2 1 0.16183292 -0.74110824 -144.45 - 74 130.42849 894 2 0 0.2204809 -0.77621628 -145.85 - 74 242.0171 902 1 1 1.2772228 -1.8680331 -174.45 - 74 108.87598 888 1 0 1.2959895 -1.8800039 -175.85 - 74 331.55196 901 0 1 1.1838413 -2.1413844 -204.45 - 74 111.29288 887 0 0 1.2915183 -2.146616 -205.85 - 74 97.533095 898 1 1 0.61169544 -1.2730917 -174.45 - 74 112.0223 891 1 0 0.61067375 -1.287954 -175.85 - 74 138.54309 898 0 1 0.46465463 -1.7322415 -204.45 - 74 140.79882 889 0 0 0.39682692 -1.7888359 -205.85 -Number of digits in this event = 10 -Event: 75 -Number of tracker hits in this event = 44 - 75 98.863206 896 4 1 0.21572442 -0.45823539 -84.45 - 75 103.54561 895 4 0 0.15706418 -0.49028528 -85.85 - 75 125.2403 892 3 1 -1.0606706 -1.1605222 -114.45 - 75 227.12373 892 3 0 -1.0992537 -1.1547108 -115.85 - 75 116.06496 888 2 1 -1.9673434 -0.61994008 -144.45 - 75 114.02832 895 2 0 -2.0065361 -0.56099761 -145.85 - 75 103.42079 884 1 1 -2.8275078 0.67368997 -174.45 - 75 237.59154 901 1 0 -2.5395693 1.1002403 -175.85 - 75 90.745479 916 0 1 4.1831679 8.1548266 -204.45 - 75 110.87989 917 0 1 4.3039289 8.2982216 -204.56743 - 75 12.170096 918 0 1 4.5233376 8.586273 -204.82161 - 75 114.65386 944 0 0 5.3209059 9.6668136 -205.85 - 75 89.230388 945 0 0 5.4979787 9.9122669 -206.0726 - 75 116.16714 1178 10 1 56.58763 109.31266 95.362112 - 75 8.5220416 891 3 0 -1.0956039 -1.2936028 -116.21696 - 75 65.85614 641 3 0 65.218328 -51.386053 -116.25 - 75 13.341687 640 3 0 65.427768 -51.454384 -116.23363 - 75 13.404402 556 3 0 152.30515 -68.448301 -116.25 - 75 148.50675 555 3 0 152.31945 -68.459309 -116.21757 - 75 515.32337 1658 3 1 152.95181 -68.361752 -114.85 - 75 39.46479 1659 3 1 153.15979 -68.277047 -114.45 - 75 152.02584 896 3 1 0.086118698 0.065728285 -114.45 - 75 114.94006 896 3 0 0.081310628 0.077924482 -115.85 - 75 130.38458 898 1 0 -0.26135726 0.52526788 -175.85 - 75 119.64683 895 0 1 -0.49260937 0.66839934 -204.45 - 75 104.58699 899 0 0 -0.51452838 0.67820067 -205.85 - 75 21.36529 656 0 1 -48.303878 -20.677925 -204.78731 - 75 173.03994 690 2 0 -69.540877 -41.58144 -146.25 - 75 21.964801 902 1 0 0.079780673 1.3176135 -176.18506 - 75 107.51018 1505 1 0 155.47832 122.46099 -176.25 - 75 72.905991 1506 1 0 155.76649 122.65309 -176.18365 - 75 76.696615 1507 1 0 155.89554 122.76315 -176.18443 - 75 65.760124 1508 1 0 156.07858 123.0469 -176.09522 - 75 78.437855 1509 1 0 156.13072 123.17682 -175.99529 - 75 89.246239 1681 1 1 157.58451 124.76059 -174.85 - 75 44.427284 1682 1 1 157.81434 125.02072 -174.79326 - 75 50.453046 1540 1 0 160.38626 129.40319 -175.85 - 75 56.408159 1541 1 0 160.50752 129.58045 -175.85089 - 75 103.9212 1542 1 0 160.62973 129.75581 -175.85 - 75 64.018383 1543 1 0 160.83878 130.02878 -176.00287 - 75 55.153032 1544 1 0 160.93398 130.16252 -176.08129 - 75 2.3954107 1340 5 0 50.440219 88.924195 -56.243861 - 75 102.39861 1209 3 0 -19.247051 62.704615 -116.25 - 75 197.63886 1208 3 0 -19.345519 62.648226 -116.10603 + 69 191.19539 903 3 1 0.71943208 -0.30492563 -114.45 + 69 113.3643 898 3 0 0.75181579 -0.32156962 -115.85 + 69 203.91789 906 2 1 1.3926443 -0.60619677 -144.45 + 69 128.61337 897 2 0 1.4462916 -0.61352941 -145.85 + 69 121.02285 912 1 1 2.5614031 -0.8423192 -174.45 + 69 103.91445 896 1 0 2.6005958 -0.84721786 -175.85 + 69 102.971 916 0 1 3.4272198 -1.1069512 -204.45 + 69 126.41834 894 0 0 3.4594193 -1.1143484 -205.85 + 69 176.06914 808 2 1 -18.363264 -51.639762 -144.84236 + 69 183.91691 807 2 1 -18.464449 -51.783661 -144.71365 + 69 131.83479 901 2 1 0.35704049 -0.10710438 -144.45 + 69 121.153 899 2 0 0.36491904 -0.091093046 -145.85 + 69 115.14139 902 1 1 0.5462122 0.26366488 -174.45 + 69 97.290915 901 1 0 0.5414809 0.29253606 -175.85 + 69 424.01072 902 0 1 0.46960638 0.91813771 -204.45 + 69 133.29751 904 0 0 0.44642182 0.93493761 -205.85 + 69 38.498102 1250 1 1 70.092925 -9.1345118 -174.49904 + 69 45.775065 1701 5 1 160.48951 -2.5995957 -54.481613 + 69 197.86819 902 0 0 0.46555418 0.61624881 -205.85 + 69 91.144996 554 6 1 -69.084306 162.27641 -24.663745 + 69 51.669506 1339 0 0 -106.24399 87.98159 -206.25 + 69 7.5414652 1340 0 0 -106.31844 88.050624 -206.24552 + 69 98.555767 1510 0 0 -99.558404 122.28536 -206.25 + 69 249.35954 906 0 0 -0.099785995 1.4452239 -205.85 + 69 361.75349 907 0 0 -0.14995798 1.4831301 -205.90897 + 69 49.043915 908 0 0 -0.20907341 1.701955 -206.12841 + 69 231.44843 790 5 0 119.91024 -21.929171 -56.25 + 69 196.6525 791 5 0 119.98994 -21.844596 -55.888315 + 69 58.952278 884 3 0 126.14015 -3.0828572 -116.07406 + 69 213.72311 904 1 0 -59.284153 0.87932403 -176.25 +Number of digits in this event = 19 +Event: 70 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 +Event: 71 +Number of tracker hits in this event = 6 + 71 280.40786 1447 3 0 -95.603587 109.60758 -116.25 + 71 14.0983 988 1 0 -52.234053 17.830213 -176.22356 + 71 66.713319 989 1 0 -52.24156 17.853918 -176.2204 + 71 81.994024 1394 6 1 99.136198 91.741589 -24.751487 + 71 8.6481956 1395 6 1 99.18429 91.838575 -24.498376 + 71 467.77947 899 0 0 0.15370201 -0.05 -205.92532 +Number of digits in this event = 4 +Event: 72 +Number of tracker hits in this event = 13 + 72 184.31889 904 3 1 1.009861 -0.26848467 -114.45 + 72 116.81134 898 3 0 0.5852041 -0.38780754 -115.85 + 72 117.80983 861 2 1 -7.8136648 -3.1415174 -144.45 + 72 149.49894 884 2 0 -8.0489895 -3.1338743 -145.85 + 72 175.06809 833 1 1 -13.315745 -3.3703066 -174.45 + 72 215.83672 880 1 0 -11.813588 -4.0379652 -175.85 + 72 153.92653 871 0 1 -5.8242669 -40.656737 -204.68685 + 72 108.09279 899 2 1 -0.064220571 -0.07541236 -144.45 + 72 215.16143 899 2 0 -0.064993939 -0.092776823 -145.85 + 72 129.79133 899 1 1 -0.11774468 -0.45500846 -174.45 + 72 113.70885 897 1 0 -0.10908352 -0.47472196 -175.85 + 72 122.46163 900 0 1 0.07105388 -0.9000929 -204.45 + 72 136.75047 895 0 0 0.087949189 -0.92171257 -205.85 Number of digits in this event = 11 +Event: 73 +Number of tracker hits in this event = 0 +Number of digits in this event = 2 +Event: 74 +Number of tracker hits in this event = 8 + 74 127.89354 900 1 1 0.13858571 0.11313523 -174.45 + 74 256.86278 900 1 0 0.14756811 0.12875817 -175.85 + 74 196.25041 901 0 1 0.34249068 0.46360842 -204.45 + 74 138.71331 902 0 0 0.32081676 0.48298917 -205.85 + 74 127.00652 1028 2 1 25.774413 44.646321 -144.45 + 74 118.28162 895 1 1 -0.96221499 0.081025669 -174.45 + 74 162.32163 892 0 1 -1.4987481 0.67508504 -204.45 + 74 125.11607 903 0 0 -1.536057 0.73001089 -205.85 +Number of digits in this event = 8 +Event: 75 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 76 -Number of tracker hits in this event = 21 - 76 156.21005 897 3 0 -0.39981066 0.39819456 -115.85 - 76 156.92754 892 2 1 -1.2074519 1.6320462 -144.45 - 76 121.69316 904 2 0 -1.2864757 1.7264776 -145.85 - 76 121.85581 883 1 1 -2.9990494 3.610656 -174.45 - 76 183.49262 914 1 0 -2.9982576 3.6986989 -175.85 - 76 270.94196 880 0 1 -3.5151344 5.3455785 -204.45 - 76 158.53944 922 0 0 -3.525557 5.4376791 -205.85 - 76 98.20431 923 0 0 -3.5281228 5.4523009 -206.07858 - 76 112.67816 900 5 0 -0.36512259 0.85242229 -55.85 - 76 137.92883 902 4 0 -0.36332584 1.4031027 -85.85 - 76 133.93927 891 3 1 -1.3543764 3.3373161 -114.45 - 76 204.31142 912 3 0 -1.365986 3.3448094 -115.85 - 76 106.74478 895 2 1 -0.52908669 4.2740532 -144.45 - 76 96.383998 916 2 0 -0.71008224 4.0901806 -145.85 - 76 16.751972 915 2 0 -0.75596074 4.0410411 -146.1923 - 76 111.60608 872 0 1 -5.1286112 -1.5615159 -204.45 - 76 14.330694 871 0 1 -5.2564996 -1.5416816 -204.79392 - 76 127.5808 890 0 0 -5.5900363 -1.4988408 -205.85 - 76 42.14662 889 0 0 -5.1995284 -1.7462206 -206.13551 - 76 90.456673 1002 9 1 21.388424 173.86994 65.154146 - 76 87.17425 938 2 0 -62.951377 8.5150772 -146.25 -Number of digits in this event = 13 +Number of tracker hits in this event = 0 +Number of digits in this event = 1 Event: 77 Number of tracker hits in this event = 0 Number of digits in this event = 1 @@ -2532,159 +2602,148 @@ Event: 78 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 79 -Number of tracker hits in this event = 5 - 79 35.82169 826 0 0 130.7498 -14.427988 -205.92992 - 79 43.261749 1553 0 1 132.08837 -14.572212 -204.85 - 79 94.010446 1554 0 1 132.18607 -14.58601 -204.74572 - 79 51.365743 1555 0 1 132.37479 -14.643044 -204.53987 - 79 106.93603 1011 1 0 -126.4034 23.165441 -176.2137 +Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 80 Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of digits in this event = 2 Event: 81 -Number of tracker hits in this event = 34 - 81 242.75072 896 0 1 0.15341672 -0.65097792 -204.45 - 81 129.46326 894 0 0 0.15880422 -0.65932175 -205.85 - 81 226.01748 380 0 1 -104.13323 7.9873885 -204.51393 - 81 254.29288 379 0 1 -104.15085 7.9803267 -204.50672 - 81 79.670277 894 3 1 -0.70016074 -1.5026555 -114.6552 - 81 43.712599 893 3 1 -0.99962505 -1.4251728 -114.78633 - 81 238.4675 894 3 0 -3.2169865 -0.79839108 -115.85 - 81 24.200471 895 3 0 -3.7964289 -0.56849942 -116.19414 - 81 53.135037 715 2 1 -36.584836 14.008858 -144.45 - 81 108.67532 714 2 1 -36.734364 14.07566 -144.55695 - 81 48.5409 713 2 1 -36.952642 14.314239 -144.77613 - 81 255.6279 975 2 0 -38.128445 15.87482 -145.85 - 81 163.83917 976 2 0 -38.271923 16.07861 -145.95312 - 81 60.959093 977 2 0 -38.38913 16.263437 -146.04797 - 81 108.66233 978 2 0 -38.510493 16.454048 -146.12429 - 81 74.104294 979 2 0 -38.63331 16.651165 -146.17856 - 81 79.387887 515 1 1 -76.573802 75.823639 -174.45 - 81 41.850381 516 1 1 -76.443408 75.921674 -174.68863 - 81 176.84982 1278 1 0 -75.746034 76.495708 -175.85 - 81 8.4972201 1279 1 0 -75.586302 76.660274 -176.22153 - 81 92.542868 1207 1 0 -54.648771 62.360024 -176.25 - 81 71.828775 1206 1 0 -54.512713 62.178874 -176.0116 - 81 72.684105 630 1 1 -53.577816 61.832548 -174.85 - 81 91.284144 631 1 1 -53.378883 61.76579 -174.64181 - 81 40.693333 632 1 1 -53.128069 61.698773 -174.49764 - 81 123.70563 643 2 0 -27.451242 -50.860081 -146.25 - 81 158.75542 642 2 0 -27.434102 -51.075442 -146.20576 - 81 80.242636 641 2 0 -27.711091 -51.266659 -146.06609 - 81 185.5465 640 2 0 -27.961151 -51.454671 -146.04298 - 81 83.891618 639 2 0 -28.419927 -51.668768 -146.11006 - 81 76.902848 546 2 0 102.70921 -70.287878 -146.25 - 81 83.412693 547 2 0 102.75709 -70.2491 -146.21033 - 81 78.420743 974 2 0 -38.317084 15.848964 -145.99853 - 81 9.7251562 893 3 0 -3.4312946 -0.97519867 -115.85 -Number of digits in this event = 12 +Number of tracker hits in this event = 20 + 81 245.92843 900 2 1 0.16758702 -0.47593677 -144.45 + 81 181.71029 897 2 0 0.21236546 -0.55322889 -145.85 + 81 146.06402 904 1 1 0.97347834 -2.2025365 -174.45 + 81 179.21906 888 1 0 0.97699954 -2.2962479 -175.85 + 81 137.74758 905 0 1 1.1461161 -4.2697383 -204.45 + 81 106.47273 878 0 0 1.1281148 -4.3880694 -205.85 + 81 201.55205 901 2 1 0.36298039 -0.47591116 -144.45 + 81 50.782797 899 2 1 -0.05 -1.3490006 -144.81692 + 81 139.74823 881 2 0 -4.7306737 -3.7700135 -145.85 + 81 103.01859 880 2 0 -4.9563311 -3.8989847 -145.9431 + 81 84.940504 879 2 0 -5.0829806 -4.1517872 -145.99423 + 81 103.38866 878 2 0 -5.1289824 -4.2853676 -146.02422 + 81 51.971279 877 2 0 -5.2560693 -4.5377282 -146.00111 + 81 11.893106 861 2 1 -7.8240596 -5.4177868 -144.85 + 81 512.98462 860 2 1 -7.8725787 -5.4442871 -144.82212 + 81 157.34066 859 2 1 -8.059258 -5.694383 -144.7532 + 81 130.6128 902 1 1 0.50815961 0.094536829 -174.45 + 81 126.71417 900 1 0 0.52055103 0.086873001 -175.85 + 81 93.201854 903 0 1 0.81008 -0.11250515 -204.45 + 81 140.84608 899 0 0 0.84702766 -0.11747718 -205.85 +Number of digits in this event = 13 Event: 82 Number of tracker hits in this event = 24 - 82 175.3065 895 1 1 -0.46384902 -0.24454412 -174.45 - 82 124.26036 895 0 1 -0.50629306 -0.23168565 -204.45 - 82 70.247723 892 2 1 -1.1806955 -3.2425074 -144.45 - 82 83.558658 891 2 1 -1.2556538 -3.3184872 -144.6786 - 82 113.18049 879 2 0 -1.4965694 -3.6867793 -145.85 - 82 122.19767 862 1 1 -7.2248951 -11.570271 -174.45 - 82 111.48241 839 1 0 -6.7979467 -11.759344 -175.85 - 82 60.853835 899 0 1 0.68813403 -14.909545 -204.45 - 82 45.969347 898 0 1 0.62500247 -14.920879 -204.67831 - 82 96.837528 823 0 0 0.35997267 -14.958872 -205.85 - 82 235.68613 896 3 0 -0.31640933 0.05 -116.02933 - 82 21.366813 895 3 0 -0.38986042 -0.48047323 -116.19263 - 82 158.59047 816 3 0 -0.29742713 -16.262678 -116.25 - 82 64.27861 815 3 0 -0.27772205 -16.525635 -115.90067 - 82 155.85697 901 3 1 1.1016252 -18.737478 -114.85 - 82 119.88109 902 3 1 1.2988379 -18.979232 -114.76307 - 82 213.53834 903 3 1 1.4580976 -19.342576 -114.59848 - 82 86.995188 904 3 1 1.6744848 -19.820491 -114.54643 - 82 525.90371 905 3 1 1.9058673 -20.039677 -114.5649 - 82 33.397672 906 3 1 2.0777798 -20.641899 -114.76912 - 82 206.84944 796 3 0 1.5631897 -20.406197 -115.85 - 82 164.59054 797 3 0 1.4647159 -20.242102 -116.1647 - 82 37.159955 893 4 0 -0.11963822 -0.98745154 -85.85 - 82 84.038032 892 4 0 -0.13954717 -1.0677818 -85.965427 -Number of digits in this event = 12 + 82 112.32041 899 4 1 -0.23461187 -0.15400853 -84.45 + 82 291.73087 899 4 0 -0.23895465 -0.16795331 -85.85 + 82 114.98032 898 3 1 -0.33290252 -0.46558881 -114.45 + 82 100.02252 897 3 0 -0.3326627 -0.47672211 -115.85 + 82 122.40461 899 2 1 -0.24766245 -0.77896207 -144.45 + 82 135.25658 896 2 0 -0.2455811 -0.78953181 -145.85 + 82 96.0423 899 1 1 -0.1502429 -0.99168629 -174.45 + 82 113.86142 895 1 0 -0.13566999 -1.0079505 -175.85 + 82 150.01353 900 0 1 0.14335891 -1.3333445 -204.45 + 82 330.86969 893 0 0 0.14973976 -1.3538405 -205.85 + 82 47.833948 718 0 1 -36.387575 18.413825 -204.63037 + 82 255.619 717 0 1 -36.463339 18.406145 -204.54672 + 82 17.630763 900 6 1 0.05 -0.089237695 -24.805643 + 82 257.85669 898 6 0 0.19470853 -0.27060973 -25.85 + 82 190.19308 919 5 1 3.9412589 -6.0716801 -54.45 + 82 249.34753 861 5 0 4.7705838 -7.8245047 -55.85 + 82 190.34101 392 5 0 -58.681793 -101.64136 -56.25 + 82 34.45146 390 5 0 -59.009102 -102.10444 -55.945218 + 82 205.44474 603 5 1 -59.429381 -103.01604 -54.85 + 82 9.8212207 602 5 1 -59.577912 -103.32704 -54.468127 + 82 44.204184 595 6 0 -28.946841 -60.966118 -26.25 + 82 146.71527 596 6 0 -28.935852 -60.848516 -26.187745 + 82 311.28438 748 6 1 -30.26835 -60.596186 -24.85 + 82 85.506656 747 6 1 -30.467018 -60.458915 -24.491646 +Number of digits in this event = 15 Event: 83 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 84 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 1 + 84 86.046663 1031 3 1 26.342071 17.735386 -114.67796 +Number of digits in this event = 2 Event: 85 -Number of tracker hits in this event = 0 +Number of tracker hits in this event = 3 + 85 41.958223 1251 4 0 156.63378 70.29965 -86.137525 + 85 6.056012 791 0 0 -14.898916 -21.657356 -206.2303 + 85 297.61792 529 6 0 -104.22833 -74.20924 -26.25 Number of digits in this event = 2 Event: 86 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 87 -Number of tracker hits in this event = 23 - 87 79.134717 896 2 0 0.26777287 0.05 -146.05852 - 87 117.33856 897 1 1 0.31582313 0.26123393 -174.45 - 87 131.7926 897 1 0 0.30949456 0.26410727 -175.85 - 87 128.84692 897 0 1 0.26187989 0.37168819 -204.45 - 87 125.16734 897 0 0 0.25561033 0.36604099 -205.85 - 87 15.940948 1448 4 1 111.02364 98.704965 -84.483428 - 87 21.229733 714 0 0 28.951197 -36.704005 -206.22526 - 87 142.39264 808 0 1 -17.895097 0.56772963 -204.83517 - 87 34.036834 1676 4 1 156.71027 -43.029589 -84.541015 - 87 161.9082 1678 4 1 156.97104 -43.049392 -84.45 - 87 687.71353 1679 4 1 157.16035 -43.175869 -84.546028 - 87 440.48995 1680 4 1 157.35816 -43.447413 -84.605222 - 87 171.14241 887 2 0 88.059221 -2.0559667 -146.25 - 87 56.192724 1343 2 1 89.518244 -1.8988387 -144.85 - 87 155.64273 908 3 1 2.486331 -2.0714951 -114.45 - 87 165.38922 887 3 0 2.556376 -2.1001866 -115.85 - 87 113.65152 915 2 1 4.0175638 -2.7316158 -144.45 - 87 142.60527 885 2 0 3.9490823 -2.5779155 -145.85 - 87 111.54849 908 1 1 2.6201036 0.34861042 -174.45 - 87 125.8541 898 1 0 2.5922569 0.57862687 -175.85 - 87 122.46173 906 0 1 2.1133783 5.7083691 -204.45 - 87 58.026387 925 0 0 2.0257509 6.0193191 -205.85 - 87 42.914497 926 0 0 2.009458 6.0683301 -206.07866 -Number of digits in this event = 14 -Event: 88 Number of tracker hits in this event = 0 -Number of digits in this event = 2 +Number of digits in this event = 3 +Event: 88 +Number of tracker hits in this event = 13 + 88 89.579211 899 0 1 -0.05 -0.072943588 -204.75427 + 88 27.459046 887 0 0 -2.2993595 -2.6174443 -205.85 + 88 215.07514 886 0 0 -2.3601092 -2.7184475 -205.87607 + 88 36.592082 885 0 0 -2.4801814 -2.8632252 -206.01747 + 88 38.907546 899 0 0 0.11636722 -0.05 -205.9947 + 88 26.743216 898 0 0 -0.05 -0.28723287 -206.13144 + 88 8.8672367 897 0 0 0.10914543 -0.45274877 -206.24097 + 88 189.04351 11 0 0 158.24026 -177.89912 -206.25 + 88 5.807437 12 0 0 158.5208 -177.73602 -206.14932 + 88 136.52063 893 1 1 -1.3271596 -0.8357796 -174.45 + 88 153.00846 897 1 0 -1.5519039 -0.60554955 -175.85 + 88 173.68414 869 0 1 -6.0846683 3.666926 -204.45 + 88 157.61311 920 0 0 -6.1880126 4.1358715 -205.85 +Number of digits in this event = 8 Event: 89 -Number of tracker hits in this event = 5 - 89 128.7308 780 1 0 44.977016 -23.626738 -176.25 - 89 195.07915 781 1 0 45.097079 -23.443815 -176.20711 - 89 30.285502 265 10 1 -127.05823 72.301916 95.305463 - 89 169.82516 1546 5 1 130.62609 123.86552 -54.804658 - 89 74.963977 1547 5 1 130.75304 123.96937 -54.637927 -Number of digits in this event = 4 +Number of tracker hits in this event = 1 + 89 242.00466 1772 4 1 174.68184 117.83222 -84.479357 +Number of digits in this event = 2 Event: 90 -Number of tracker hits in this event = 21 - 90 128.55188 891 2 0 0.063557415 -1.30116 -145.85 - 90 136.58391 902 1 1 1.3102786 -1.7110463 -174.45 - 90 116.64198 890 1 0 1.3073898 -1.6348825 -175.85 - 90 96.143893 905 0 1 1.9892451 0.25031856 -204.45 - 90 46.630844 906 0 1 2.0761836 0.26351189 -204.67848 - 90 183.95586 897 0 0 2.520593 0.30871022 -205.85 - 90 171.00603 1250 0 1 70.926524 15.667242 -204.84907 - 90 91.575447 1249 0 1 70.847361 15.57137 -204.74505 - 90 302.89737 901 0 0 -0.38654097 1.2134897 -205.85 - 90 189.09337 935 0 1 7.8528859 65.902492 -204.45 - 90 37.259288 934 0 1 7.8438252 65.891877 -204.45351 - 90 166.81004 936 0 1 8.0528062 65.676948 -204.70738 - 90 20.029158 641 1 0 30.7229 -51.384523 -175.88199 - 90 352.78936 1050 1 1 30.949962 -53.254226 -174.85 - 90 91.765622 1051 1 1 31.053454 -53.549233 -174.74526 - 90 116.75349 897 3 1 0.25869085 -0.14151176 -114.45 - 90 116.30552 898 2 1 0.6236301 -0.1983343 -144.45 - 90 114.75178 900 1 1 0.94176558 -0.17066187 -174.45 - 90 173.35899 1157 7 1 52.284307 -2.6003983 5.4695996 - 90 116.49199 896 0 1 0.074341429 -1.1180076 -204.45 - 90 92.458023 890 0 0 0.057860863 -1.494368 -205.85 -Number of digits in this event = 11 +Number of tracker hits in this event = 36 + 90 117.02367 900 5 1 0.1544885 -0.30093182 -54.45 + 90 96.154212 898 5 0 0.16350296 -0.32175861 -55.85 + 90 127.21263 901 4 1 0.33335481 -0.70707395 -84.45 + 90 194.41976 896 4 0 0.35157211 -0.72671984 -85.85 + 90 103.86092 903 3 1 0.76201126 -1.1465817 -114.45 + 90 165.49381 894 3 0 0.78316032 -1.161234 -115.85 + 90 113.34865 906 2 1 1.2675624 -1.4689313 -144.45 + 90 115.38753 892 2 0 1.2926991 -1.4826422 -145.85 + 90 107.99106 908 1 1 1.82752 -1.7615447 -174.45 + 90 178.75382 891 1 0 1.8455069 -1.7785632 -175.85 + 90 129.47919 910 0 1 2.2031891 -2.1387797 -204.45 + 90 160.80086 889 0 0 2.2202987 -2.1521975 -205.85 + 90 20.629244 1648 2 0 -67.88837 149.91486 -146.25 + 90 68.888123 1649 2 0 -67.900314 149.97117 -146.24589 + 90 347.65523 1650 2 0 -67.85597 150.15643 -146.13166 + 90 257.66823 559 2 1 -68.106612 150.7046 -144.85 + 90 126.17886 890 1 0 2.0018531 -1.8810029 -175.95513 + 90 91.335813 889 1 0 2.2000077 -2.0789895 -175.94691 + 90 29.088672 888 1 0 2.1773042 -2.2587869 -175.89528 + 90 70.209787 919 1 1 3.960205 -4.1979097 -174.85 + 90 61.828102 920 1 1 4.0608677 -4.1974908 -174.82164 + 90 197.26392 884 1 0 3.956933 -3.1640154 -175.85 + 90 117.54209 902 5 1 0.49226729 1.3311215 -54.45 + 90 127.52234 906 5 0 0.5028695 1.3898433 -55.85 + 90 104.53044 903 4 1 0.65411091 2.7019714 -84.45 + 90 129.27152 913 4 0 0.67657649 2.7758783 -85.85 + 90 191.00749 905 3 1 1.1972128 4.278868 -114.45 + 90 128.94522 921 3 0 1.2703125 4.3625783 -115.85 + 90 189.01391 912 2 1 2.5777864 6.2132653 -144.45 + 90 176.06748 931 2 0 2.6827487 6.3280323 -145.85 + 90 119.39048 924 1 1 4.8628542 8.7371783 -174.45 + 90 136.7053 944 1 0 5.014364 8.8662215 -175.85 + 90 136.68386 939 0 1 7.9768166 11.577942 -204.45 + 90 111.0749 958 0 0 8.0741908 11.700315 -205.85 + 90 0.76942556 632 5 0 -52.732566 -53.601686 -56.248436 + 90 35.078402 823 2 0 -17.6726 -15.307137 -145.89501 +Number of digits in this event = 19 Event: 91 Number of tracker hits in this event = 0 Number of digits in this event = 2 Event: 92 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 3 + 92 72.684417 1641 0 0 12.212129 148.49043 -205.88302 + 92 0.15153508 354 3 0 168.84044 -109.29669 -115.85026 + 92 129.44001 1746 3 1 169.35917 -109.37432 -114.85 +Number of digits in this event = 3 Event: 93 Number of tracker hits in this event = 0 Number of digits in this event = 1 @@ -2692,124 +2751,77 @@ Event: 94 Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 95 -Number of tracker hits in this event = 25 - 95 145.77383 897 4 0 -0.44346674 0.30845193 -85.85 - 95 158.44287 893 3 1 -1.0419512 2.0020703 -114.45 - 95 99.782692 905 3 0 -0.84362906 2.0138266 -115.85 - 95 110.0352 905 2 1 1.9560715 3.2017378 -144.45 - 95 101.90772 915 2 0 1.9922572 3.8833065 -145.85 - 95 23.125489 916 2 0 1.9981589 4.0567003 -146.19146 - 95 116.00541 905 1 1 2.016393 16.646914 -174.45 - 95 13.004153 906 1 1 2.0510983 16.88625 -174.80412 - 95 112.72802 984 1 0 2.1484027 17.718766 -175.85 - 95 142.42644 985 1 0 2.1744607 17.892432 -176.08425 - 95 91.189767 935 0 1 7.880222 38.57334 -204.45 - 95 132.42766 933 0 1 7.5437382 38.503617 -204.58446 - 95 65.683438 931 0 1 7.2171087 38.422022 -204.73549 - 95 214.3415 1085 0 0 5.2317704 37.952327 -205.85 - 95 17.311838 1084 0 0 4.6392147 37.82444 -206.22335 - 95 269.45809 1131 0 0 -40.87405 47.093076 -206.25 - 95 44.269571 1132 0 0 -41.177902 47.283438 -205.99319 - 95 32.07306 687 0 1 -42.240147 47.794549 -204.85 - 95 272.95613 686 0 1 -42.351895 47.850925 -204.7435 - 95 470.13904 685 0 1 -42.476709 47.903595 -204.65046 - 95 8.000753 684 0 1 -42.743317 47.949929 -204.46685 - 95 129.35291 902 1 0 -0.28291933 1.3997983 -175.85 - 95 99.202359 893 0 1 -1.0411511 1.6555614 -204.45 - 95 13.076276 892 0 1 -1.0504211 1.6568684 -204.79282 - 95 128.54739 904 0 0 -1.0821597 1.6612057 -205.85 -Number of digits in this event = 12 +Number of tracker hits in this event = 2 + 95 17.743573 1684 2 1 157.13169 -55.493933 -144.45 + 95 271.3624 1685 2 1 157.16003 -55.51002 -144.45629 +Number of digits in this event = 2 Event: 96 -Number of tracker hits in this event = 1 - 96 94.103965 842 0 1 -11.164617 -2.6263715 -204.62244 +Number of tracker hits in this event = 0 Number of digits in this event = 1 Event: 97 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of tracker hits in this event = 1 + 97 10.323414 451 4 1 -89.676605 -77.261879 -84.679378 +Number of digits in this event = 2 Event: 98 Number of tracker hits in this event = 0 -Number of digits in this event = 1 +Number of digits in this event = 2 Event: 99 -Number of tracker hits in this event = 17 - 99 230.50314 896 3 1 0.1214249 0.073486643 -114.45 - 99 238.11079 896 3 0 0.13612856 0.082398743 -115.85 - 99 179.62437 897 2 1 0.39791948 0.3085512 -144.45 - 99 125.47758 897 2 0 0.40690723 0.30632658 -145.85 - 99 119.21201 899 1 1 0.66400406 0.28910934 -174.45 - 99 127.73648 897 1 0 0.67516753 0.29928875 -175.85 - 99 118.58766 900 0 1 0.87339321 0.55328488 -204.45 - 99 104.86313 898 0 0 0.84965528 0.59173386 -205.85 - 99 100.6919 892 4 1 -1.0546225 1.6306026 -84.85 - 99 113.3226 893 4 1 -1.0480943 1.7288638 -84.774436 - 99 125.14626 895 2 0 -0.30377467 -0.55611178 -145.85 - 99 130.02709 894 1 1 -0.68946242 -2.0233497 -174.45 - 99 74.855707 886 1 0 -0.67495369 -2.4069832 -175.85 - 99 44.728104 885 1 0 -0.68133219 -2.4708233 -176.0783 - 99 473.75532 894 0 1 -0.69045879 -10.187316 -204.45 - 99 60.856061 845 0 0 -0.45418591 -10.610724 -205.85 - 99 42.141199 844 0 0 -0.40657025 -10.682633 -206.07623 -Number of digits in this event = 10 +Number of tracker hits in this event = 0 +Number of digits in this event = 2 Run terminated. Run Summary Number of events processed : 100 - User=9.3s Real=10.44s Sys=0.02s + User=2.95s Real=2.99s Sys=0.02s End of Run File Tracks_1.dat /vis/viewer/update ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. +Idle> +Idle> /gun/particle e- /gun/particle e- +Idle> /gun/energy 1 GeV /gun/energy 1 GeV +Idle> /gun/sourceType 2 /gun/sourceType 2 +Idle> /run/beamOn 100 /run/beamOn 100 ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld + Calorimeter + Tracker Index : 1 used in the geometry : Yes recalculation needed : No Material : Scintillator - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Material : CesiumIodide + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 38.405229 keV e- 691.66869 keV e+ 658.43466 keV proton 100 keV Region(s) which use this couple : Calorimeter Index : 3 used in the geometry : Yes recalculation needed : No - Material : CesiumIodide - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 38.405229 keV e- 691.66869 keV e+ 658.43466 keV + Material : Silicon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.8873065 keV e- 540.71814 keV e+ 521.11295 keV proton 100 keV Region(s) which use this couple : - Calorimeter + Tracker Index : 4 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Tracker - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : Silicon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.3033387 keV e- 120.42458 keV e+ 118.95119 keV - Region(s) which use this couple : - Tracker - -Index : 6 used in the geometry : Yes recalculation needed : No Material : Tungsten - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 36.047857 keV e- 351.43773 keV e+ 334.55147 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 105.40119 keV e- 2.31122 MeV e+ 2.1466594 MeV proton 100 keV Region(s) which use this couple : Tracker @@ -2820,6983 +2832,2216 @@ WARNING: Scene "refresh" not found. /vis/scene/list to see scenes. Start Run processing. Event: 0 -Number of tracker hits in this event = 16 - 0 129.67376 897 4 1 0.27381787 -0.12458986 -84.45 - 0 146.9011 898 3 1 0.49701085 -0.50156479 -114.45 - 0 144.19132 895 3 0 0.51507011 -0.5133321 -115.85 - 0 122.74002 900 2 1 0.94613988 -0.74362354 -144.45 - 0 151.16904 894 2 0 0.97243518 -0.75853367 -145.85 - 0 138.73564 903 1 1 1.5317838 -1.0302219 -174.45 - 0 28.032346 893 1 0 1.5585711 -1.0489274 -175.85 - 0 78.294034 892 1 0 1.5607918 -1.0504838 -175.96428 - 0 631.53912 906 0 1 2.0694274 -1.4407501 -204.45 - 0 144.56526 891 0 0 2.1129927 -1.4211127 -205.85 - 0 259.40592 890 0 0 2.0171998 -1.534332 -205.85 - 0 137.59171 889 0 0 2.0444284 -1.6940343 -205.85 - 0 128.96944 512 3 0 102.3729 -77.0545 -116.25 - 0 125.68255 511 3 0 102.35255 -77.250507 -116.07927 - 0 157.05838 510 3 0 102.40808 -77.450356 -116.0855 - 0 166.63617 754 3 1 -28.682473 -137.60919 -114.68743 -Number of digits in this event = 15 +Number of tracker hits in this event = 45 + 0 148.29882 900 5 1 0.1577911 0.14674766 -54.45 + 0 129.06425 900 5 0 0.16940031 0.1545511 -55.85 + 0 262.60442 901 4 1 0.43387343 0.31976558 -84.45 + 0 127.83798 901 4 0 0.45106649 0.33027062 -85.85 + 0 423.40026 903 3 1 0.80432378 0.5655762 -114.45 + 0 355.11172 902 3 0 0.83035566 0.57745932 -115.85 + 0 136.26379 906 2 1 1.4076322 0.82957075 -144.45 + 0 119.69578 903 2 0 1.4428866 0.8361342 -145.85 + 0 126.48421 910 1 1 2.1562499 0.97756382 -174.45 + 0 154.93131 904 1 0 2.214488 0.99633083 -175.85 + 0 147.86985 916 0 1 3.39198 1.3775827 -204.45 + 0 129.67719 906 0 0 3.4564936 1.3964945 -205.85 + 0 118.70079 914 2 1 3.02867 1.7208399 -144.45 + 0 99.00536 908 2 0 3.241497 1.7609134 -145.85 + 0 138.23839 938 1 1 7.6693606 2.5747007 -174.45 + 0 102.30634 913 1 0 7.9071045 2.6954743 -175.85 + 0 109.0287 961 0 1 12.392987 4.2364673 -204.45 + 0 110.38232 921 0 0 12.646062 4.3277063 -205.85 + 0 62.177287 901 3 0 0.99032313 0.30282953 -116.12057 + 0 115.53454 906 3 0 1.060673 1.3181143 -115.85 + 0 237.1656 1050 3 0 25.578079 30.178471 -116.25 + 0 102.41838 1051 3 0 25.844466 30.436499 -116.06748 + 0 67.338889 1052 3 0 26.084584 30.515965 -115.87731 + 0 121.80014 1030 3 1 26.145263 30.809565 -114.85 + 0 119.05459 1031 3 1 26.292888 31.060861 -114.69509 + 0 188.13293 1032 3 1 26.46277 31.094801 -114.71108 + 0 280.46098 1057 3 0 25.711009 31.567794 -115.85 + 0 19.181812 1058 3 0 25.585183 31.655836 -115.95116 + 0 156.84187 1028 3 1 25.73169 30.48162 -114.85 + 0 641.8029 1027 3 1 25.616146 30.644833 -114.68981 + 0 148.22617 896 4 0 0.63973504 -0.73076328 -85.85 + 0 117.75985 677 4 0 -18.319949 -44.466102 -86.25 + 0 55.063737 676 4 0 -18.623355 -44.740681 -86.180003 + 0 69.671044 675 4 0 -18.764324 -44.911571 -86.204657 + 0 57.487118 674 4 0 -18.84408 -45.119578 -86.221926 + 0 52.79932 673 4 0 -18.956497 -45.302274 -86.166457 + 0 89.809359 672 4 0 -18.959547 -45.516193 -86.104374 + 0 56.465021 671 4 0 -18.900618 -45.723615 -86.049984 + 0 59.830105 670 4 0 -18.887039 -45.926509 -85.961862 + 0 246.59532 807 4 1 -18.526575 -47.471549 -84.85 + 0 103.10623 808 4 1 -18.434201 -48.059242 -84.624913 + 0 41.281559 659 4 0 -17.542168 -48.094094 -85.85 + 0 63.450719 660 4 0 -17.494551 -48.018627 -85.964143 + 0 433.72735 661 4 0 -17.435176 -47.81971 -86.074526 + 0 89.736675 662 4 0 -17.108304 -47.649846 -86.091598 +Number of digits in this event = 22 Event: 1 -Number of tracker hits in this event = 54 - 1 112.40126 898 4 1 0.5569718 -0.091551504 -84.45 - 1 109.90362 897 3 1 0.44035042 0.53833498 -114.45 - 1 133.82294 898 3 0 0.43041915 0.52486833 -115.85 - 1 231.63033 896 2 1 0.16753361 0.13002645 -144.45 - 1 269.79777 896 2 0 0.12502972 0.11744432 -145.85 - 1 112.24613 894 1 1 -0.71367447 0.057480335 -174.45 - 1 239.99349 900 3 1 0.99415914 -0.2532083 -114.45 - 1 155.86754 907 2 1 2.3867771 1.4762689 -144.45 - 1 114.79102 906 2 0 2.5571068 2.2248626 -145.85 - 1 141.47719 907 2 0 2.5682926 2.2862718 -145.96534 - 1 96.440226 931 1 1 7.1364443 16.586115 -174.45 - 1 113.81945 932 1 1 7.3080462 16.747408 -174.67382 - 1 49.701695 983 1 0 8.1907527 17.639614 -175.85 - 1 83.374676 984 1 0 8.2762235 17.723375 -175.96663 - 1 20.620296 985 1 0 8.449299 17.891118 -176.19814 - 1 136.61235 1044 0 1 29.698772 38.872484 -204.45 - 1 43.116462 1095 0 0 30.245489 39.980271 -205.85 - 1 153.86752 1096 0 0 30.287649 40.074448 -205.9633 - 1 27.689357 1097 0 0 30.379593 40.256915 -206.19172 - 1 85.540605 908 2 1 2.4798609 1.4861006 -144.55654 - 1 21.403586 909 2 1 2.65781 1.4693261 -144.76723 - 1 219.88741 902 2 0 3.2156495 1.4021605 -145.85 - 1 163.19313 917 2 0 16.03196 4.3124443 -146.25 - 1 530.88562 978 2 1 16.49095 4.1461456 -144.85 - 1 145.99417 979 2 1 16.674046 4.1773864 -144.69542 - 1 54.96573 980 2 1 16.857945 4.1268437 -144.54911 - 1 160.3336 902 2 1 1.4061194 -0.40619443 -144.45 - 1 354.77586 904 1 1 1.7354116 -0.14194279 -174.45 - 1 198.46456 914 0 1 3.7609118 -0.47053256 -204.45 - 1 125.17713 895 0 0 3.9539448 -0.61110732 -205.85 - 1 139.49918 889 0 1 -1.8015101 0.76315598 -204.45 - 1 118.4838 900 0 0 -1.9893958 0.95793402 -205.85 - 1 157.81128 905 0 1 2.0263972 0.18773441 -204.45 - 1 145.04543 896 0 0 2.0577768 0.19260486 -205.85 - 1 134.39935 856 1 1 -8.3036898 18.697619 -174.45 - 1 22.00898 855 1 1 -8.4652214 18.959856 -174.79054 - 1 50.508102 995 1 0 -8.9601112 19.955744 -175.85 - 1 76.566823 996 1 0 -9.0155243 20.059802 -175.96654 - 1 25.003496 997 1 0 -9.1174061 20.284398 -176.18784 - 1 166.6865 782 0 1 -23.183197 53.4622 -204.45 - 1 106.24934 781 0 1 -23.298843 53.826303 -204.69183 - 1 59.899084 1173 0 0 -23.838445 55.522258 -205.85 - 1 78.901873 1174 0 0 -23.899965 55.715946 -205.98166 - 1 52.620176 1175 0 0 -23.9451 55.883446 -206.10037 - 1 17.424143 1176 0 0 -23.993675 56.05279 -206.21503 - 1 86.735843 898 2 1 0.48232905 0.05 -144.52092 - 1 153.81981 898 2 0 0.50331557 0.52323193 -145.85 - 1 156.91504 902 1 1 1.2940962 9.6680889 -174.45 - 1 133.3428 947 1 0 1.6160064 10.301589 -175.85 - 1 18.848805 948 1 0 1.6896353 10.463616 -176.1905 - 1 195.50365 935 0 1 7.9754109 24.172733 -204.45 - 1 49.212698 936 0 1 8.0577336 24.362588 -204.78865 - 1 74.997459 1020 0 0 8.3374284 24.957007 -205.85 - 1 54.643036 1021 0 0 8.3978399 25.083924 -206.07916 -Number of digits in this event = 27 +Number of tracker hits in this event = 12 + 1 98.739132 898 5 1 -0.257259 0.12597088 -54.45 + 1 104.22387 900 5 0 -0.26112747 0.13891703 -55.85 + 1 127.17041 898 4 1 -0.31135469 0.36095673 -84.45 + 1 116.18212 901 4 0 -0.32964854 0.36901215 -85.85 + 1 106.23379 896 3 1 -0.76289589 0.78149208 -114.45 + 1 137.42658 903 3 0 -0.77915188 0.79064924 -115.85 + 1 116.1166 894 2 1 -1.1007689 0.951201 -144.45 + 1 133.74486 904 2 0 -1.1226576 0.96328213 -145.85 + 1 100.5988 892 1 1 -1.5319231 1.2001086 -174.45 + 1 174.13463 905 1 0 -1.5491844 1.2337213 -175.85 + 1 121.83919 890 0 1 -1.8957483 1.8689824 -204.45 + 1 129.19396 909 0 0 -1.8907779 1.9042935 -205.85 +Number of digits in this event = 7 Event: 2 -Number of tracker hits in this event = 25 - 2 114.383 896 5 0 -0.13013746 0.1778015 -55.85 - 2 116.83099 897 4 0 -0.19379157 0.33898653 -85.85 - 2 123.21102 898 3 0 -0.092595987 0.62880913 -115.85 - 2 270.74066 900 2 0 0.05 0.99927028 -145.8784 - 2 179.33108 896 1 1 0.1834403 1.2364122 -174.45 - 2 124.91187 902 1 0 0.19920738 1.2556445 -175.85 - 2 102.79956 898 0 1 0.51191633 1.6001855 -204.45 - 2 132.77677 903 0 0 0.5246934 1.6255117 -205.85 - 2 143.15859 1112 6 1 43.369017 -152.60196 -24.579327 - 2 149.80893 901 2 0 -0.18633418 1.0863475 -145.85 - 2 130.95898 891 1 1 -1.3740025 1.7842239 -174.45 - 2 109.89405 904 1 0 -1.4586703 1.7781653 -175.85 - 2 219.33864 882 0 1 -3.1471667 2.139336 -204.45 - 2 102.16874 905 0 0 -3.1365161 2.0166313 -205.85 - 2 107.24691 888 1 1 -1.8552316 0.21425741 -174.45 - 2 90.320542 896 1 0 -1.8818556 0.24084743 -175.85 - 2 9.0791925 897 1 0 -1.8892555 0.25199168 -176.1927 - 2 254.76379 885 0 1 -2.5437003 1.1568169 -204.45 - 2 125.143 901 0 0 -2.6289068 1.194431 -205.85 - 2 49.817707 901 1 0 -0.91574026 1.0515096 -176.14852 - 2 11.784103 900 1 0 -0.92768694 1.0426237 -176.20605 - 2 102.14336 870 0 1 -5.58688 -2.1749056 -204.45 - 2 161.33872 884 0 0 -5.6516693 -2.7156371 -205.85 - 2 177.42299 883 0 0 -5.7197738 -2.8720793 -206.08593 - 2 295.75558 882 0 0 -6.0810419 -3.0623206 -206.04165 -Number of digits in this event = 16 +Number of tracker hits in this event = 30 + 2 143.6736 899 5 1 -0.084164176 0.16623967 -54.45 + 2 129.45493 900 5 0 -0.092152887 0.1747696 -55.85 + 2 370.3332 899 4 1 -0.21602986 0.34387031 -84.45 + 2 438.8502 901 4 0 -0.21487123 0.28653582 -85.85 + 2 113.45535 899 3 1 -0.12787482 -1.1270291 -114.45 + 2 124.24084 894 3 0 -0.065736446 -1.2139645 -115.85 + 2 147.7139 907 2 1 1.605111 -2.5174166 -144.45 + 2 108.46696 886 2 0 1.6773031 -2.6711015 -145.85 + 2 130.96191 913 1 1 2.8050943 -5.5043166 -174.45 + 2 123.19603 872 1 0 2.8271839 -5.6225237 -175.85 + 2 162.16689 919 0 1 3.8558691 -7.9312033 -204.45 + 2 112.94224 860 0 0 3.8927409 -8.0355291 -205.85 + 2 143.98286 1118 2 0 59.635114 43.677831 -145.94955 + 2 265.00313 902 3 1 0.60753355 0.98098877 -114.45 + 2 162.56191 906 3 0 0.90633794 1.2511409 -115.85 + 2 103.6086 939 2 1 8.0183747 5.6980831 -144.45 + 2 106.50888 930 2 0 8.4378691 6.1896186 -145.85 + 2 180.5763 989 1 1 18.013999 17.346378 -174.45 + 2 135.34766 990 1 0 18.522758 18.242548 -175.85 + 2 144.58793 1038 0 1 27.752379 35.177361 -204.45 + 2 228.13703 1080 0 0 27.804699 36.097388 -205.85 + 2 103.3629 898 3 1 -0.36948472 0.53059055 -114.45 + 2 117.0795 902 3 0 -0.37141901 0.53219129 -115.85 + 2 135.82255 898 2 1 -0.28059029 0.63306675 -144.45 + 2 169.45384 903 2 0 -0.25646828 0.65692441 -145.85 + 2 109.31565 902 1 1 0.46082633 1.1891615 -174.45 + 2 115.42153 905 1 0 0.52185946 1.2044019 -175.85 + 2 128.91842 908 0 1 1.825559 1.5374834 -204.45 + 2 148.92242 907 0 0 1.8435544 1.5195641 -205.85 + 2 97.874761 321 0 0 71.00217 -115.87242 -205.94243 +Number of digits in this event = 21 Event: 3 -Number of tracker hits in this event = 4 - 3 65.06699 895 0 1 -0.48260535 0.05 -204.54855 - 3 38.423996 897 0 0 -0.30395279 0.44879905 -205.85 - 3 92.110604 898 0 0 -0.28602034 0.48317341 -205.96486 - 3 42.076966 892 4 0 -0.65334738 -1.2152309 -85.85 -Number of digits in this event = 1 +Number of tracker hits in this event = 9 + 3 133.67682 900 2 1 0.23760236 -0.26927778 -144.45 + 3 150.89805 898 2 0 0.25198617 -0.27662901 -145.85 + 3 150.28439 902 1 1 0.53318354 -0.43212053 -174.45 + 3 149.07892 898 1 0 0.54394303 -0.42896045 -175.85 + 3 133.34855 903 0 1 0.79132011 -0.29945373 -204.45 + 3 121.90685 898 0 0 0.79798584 -0.28959191 -205.85 + 3 74.729824 899 3 1 -0.14483894 0.13115819 -114.45 + 3 95.261314 898 3 1 -0.25578469 0.1099065 -114.61988 + 3 266.63495 897 3 1 -0.47152148 0.18068626 -114.74053 +Number of digits in this event = 8 Event: 4 -Number of tracker hits in this event = 6 - 4 120.72253 895 3 1 -0.57522951 -0.17168549 -114.45 - 4 110.44494 893 2 1 -0.92446765 -0.41148811 -144.45 - 4 98.945969 893 1 1 -0.91644366 -0.80289508 -174.45 - 4 255.77646 894 1 0 -0.91102812 -0.82911803 -175.85 - 4 169.7963 894 0 1 -0.78580038 -1.3818819 -204.45 - 4 109.03771 891 0 0 -0.78495995 -1.4183953 -205.85 -Number of digits in this event = 5 -Event: 5 -Number of tracker hits in this event = 6 - 5 154.79276 896 2 0 -0.055229087 0.056554527 -145.85 - 5 110.18058 896 1 1 0.06340356 0.10088374 -174.45 - 5 117.27887 896 1 0 0.060036232 0.095851164 -175.85 - 5 205.97987 215 1 0 121.26679 -137.08089 -176.25 - 5 47.883958 214 1 0 121.23724 -137.15036 -176.13129 - 5 128.92006 822 3 0 136.26574 -15.142643 -115.90656 -Number of digits in this event = 4 -Event: 6 -Number of tracker hits in this event = 22 - 6 148.79034 896 5 0 -0.23914839 0.053972264 -55.85 - 6 98.910415 895 4 1 -0.46707058 0.29663635 -84.45 - 6 102.91122 897 4 0 -0.47895181 0.31011692 -85.85 - 6 139.81373 894 3 1 -0.6975561 0.59515819 -114.45 - 6 108.03114 898 3 0 -0.71094612 0.6240439 -115.85 - 6 119.518 893 2 1 -0.99225914 1.1766334 -144.45 - 6 123.06322 901 2 0 -1.0042921 1.200245 -145.85 - 6 116.09297 891 1 1 -1.2752221 1.6724528 -174.45 - 6 267.25749 904 1 0 -1.2823498 1.697051 -175.85 - 6 99.346557 890 0 1 -1.4639204 2.2095528 -204.45 - 6 127.68243 906 0 0 -1.4597105 2.2402781 -205.85 - 6 59.811955 1555 10 0 52.676902 132.49897 93.75 - 6 46.078235 1556 10 0 52.615717 132.5628 93.972781 - 6 141.82145 1159 10 1 52.678224 132.27532 95.15 - 6 278.52173 892 1 1 -1.1982484 0.76558854 -174.45 - 6 30.591469 899 1 0 -1.2711095 0.65210028 -175.85 - 6 75.636069 898 1 0 -1.2759188 0.64332801 -175.96435 - 6 114.64961 884 0 1 -2.7750887 -1.6720985 -204.45 - 6 134.82217 889 0 0 -2.6690527 -1.7199532 -205.85 - 6 159.29988 900 1 0 -1.2242923 0.86883303 -175.85 - 6 159.18672 888 0 1 -1.9748554 3.5608919 -204.45 - 6 151.68245 914 0 0 -1.9797757 3.6521382 -205.85 -Number of digits in this event = 13 -Event: 7 -Number of tracker hits in this event = 10 - 7 184.08076 896 4 0 -0.47513643 0.076049847 -85.85 - 7 104.99255 891 3 1 -1.3488133 0.78149172 -114.45 - 7 227.74826 900 3 0 -1.4486425 0.87109467 -115.85 - 7 146.73547 882 2 1 -3.0588873 2.4495508 -144.45 - 7 156.41255 908 2 0 -3.1021244 2.5589738 -145.85 - 7 114.3503 878 1 1 -3.9178842 4.9326194 -174.45 - 7 98.400601 920 1 0 -3.9546981 5.0330485 -175.85 - 7 15.370163 921 1 0 -3.964411 5.0583563 -176.19277 - 7 153.07139 874 0 1 -4.7456348 7.202856 -204.45 - 7 94.753643 932 0 0 -4.7781536 7.3314541 -205.85 -Number of digits in this event = 6 -Event: 8 -Number of tracker hits in this event = 13 - 8 125.82052 896 5 1 0.075631019 0.13592407 -54.45 - 8 216.08579 896 5 0 0.081362531 0.13591505 -55.85 - 8 134.21175 896 4 1 0.22553221 0.11505547 -84.45 - 8 116.69384 896 4 0 0.21876849 0.12318578 -85.85 - 8 118.57873 896 3 1 0.064375465 0.24569904 -114.45 - 8 127.51127 896 3 0 0.065295943 0.2492809 -115.85 - 8 122.63544 896 2 1 0.079105468 0.29800596 -144.45 - 8 252.35709 896 2 0 0.13721572 0.18827088 -145.85 - 8 99.534868 902 1 1 1.3102974 -2.3499895 -174.45 - 8 131.68364 886 1 0 1.4056135 -2.4135183 -175.85 - 8 119.38174 911 0 1 3.1244166 -3.3711335 -204.45 - 8 112.47217 881 0 0 3.2139684 -3.3622928 -205.85 - 8 30.09259 567 7 0 -112.4873 -66.121792 4.0593179 -Number of digits in this event = 9 -Event: 9 -Number of tracker hits in this event = 4 - 9 116.74453 896 2 1 0.13693533 -0.34148277 -144.45 - 9 120.93068 898 1 1 0.60247837 -0.4854101 -174.45 - 9 115.58155 895 1 0 0.61069331 -0.47299627 -175.85 - 9 155.78576 900 0 1 0.9073724 -0.21298939 -204.45 -Number of digits in this event = 4 -Event: 10 -Number of tracker hits in this event = 17 - 10 135.11308 896 2 1 0.091335438 0.117339 -144.45 - 10 144.19696 896 2 0 0.090695046 0.13259079 -145.85 - 10 120.87111 896 1 1 0.067387917 0.45730288 -174.45 - 10 163.24174 898 1 0 0.063366655 0.4742274 -175.85 - 10 257.6751 897 0 1 0.29409662 0.61187791 -204.45 - 10 185.86201 899 0 0 0.14395246 0.79507984 -205.85 - 10 100.49478 898 0 1 0.45431832 0.60215825 -204.55951 - 10 25.134386 899 0 1 0.72635513 0.53297665 -204.7936 - 10 157.45182 896 0 0 2.1015273 0.16198851 -205.85 - 10 122.59861 875 0 0 28.78072 -4.5285366 -206.25 - 10 35.953757 1043 0 1 29.636988 -4.9628771 -204.85 - 10 111.0776 1044 0 1 29.705596 -4.9937748 -204.73218 - 10 82.078104 897 4 1 0.2978615 -0.55921519 -84.85 - 10 142.66083 766 4 1 -26.31523 -1.5054331 -84.45 - 10 32.872258 887 4 0 -26.471735 -2.2492586 -85.85 - 10 133.08414 886 4 0 -26.469196 -2.2994038 -85.966601 - 10 6.6712771 653 4 0 -98.759197 -48.974822 -86.25 -Number of digits in this event = 12 -Event: 11 -Number of tracker hits in this event = 19 - 11 130.91803 894 2 1 -0.74141658 -0.42516445 -144.45 - 11 124.28854 895 2 0 -0.75791428 -0.45445298 -145.85 - 11 141.90999 892 1 1 -1.0839613 -1.0229838 -174.45 - 11 102.0109 892 1 0 -1.1012038 -1.063729 -175.85 - 11 125.03432 891 0 1 -1.4384875 -1.8864979 -204.45 - 11 349.68063 888 0 0 -1.4601095 -1.9091039 -205.85 - 11 213.0693 889 0 0 -1.6108605 -1.8474643 -206.10878 - 11 113.56706 900 2 0 -1.5071564 1.0470959 -145.85 - 11 39.764649 901 2 0 -1.5099842 1.0517166 -145.85304 - 11 127.45228 894 3 0 -0.82756242 -0.72109408 -115.85 - 11 41.100284 893 3 0 -0.86293224 -0.85416117 -115.92198 - 11 216.21 894 3 1 -0.70897245 -2.0541788 -114.85 - 11 135.6373 893 3 1 -0.85926804 -2.4516541 -114.71946 - 11 15.96799 831 3 0 0.68042418 -13.328032 -115.85 - 11 35.834016 899 3 1 0.73292873 -16.276366 -114.85 - 11 374.21504 786 3 0 4.0721413 -22.273835 -115.85 - 11 22.508309 1618 9 0 -148.49325 145.05216 64.130531 - 11 41.066505 152 9 1 -149.73166 146.21897 65.15 - 11 119.00089 151 9 1 -149.75043 146.26195 65.179405 -Number of digits in this event = 12 -Event: 12 Number of tracker hits in this event = 11 - 12 122.51099 896 4 1 0.16317338 0.29912924 -84.45 - 12 137.06805 897 4 0 0.18995172 0.31191449 -85.85 - 12 122.36984 899 3 1 0.75666194 0.56378229 -114.45 - 12 118.25208 898 3 0 0.76839931 0.58146093 -115.85 - 12 234.84884 901 2 1 1.1353603 0.96036153 -144.45 - 12 114.12941 900 2 0 1.1607251 0.97594132 -145.85 - 12 100.8397 904 1 1 1.6776616 1.3250826 -174.45 - 12 122.32659 902 1 0 1.7056759 1.3325657 -175.85 - 12 117.60361 907 0 1 2.3285291 1.6278104 -204.45 - 12 116.72827 904 0 0 2.3647526 1.6570292 -205.85 - 12 118.938 164 5 1 -147.15643 -57.584926 -54.590149 + 4 124.98439 898 4 1 -0.26175844 0.24990537 -84.45 + 4 108.36013 900 4 0 -0.27726233 0.24995741 -85.85 + 4 144.20607 897 3 1 -0.59241887 0.25244787 -114.45 + 4 102.90356 901 3 0 -0.61107641 0.25615333 -115.85 + 4 146.16999 895 2 1 -1.0046426 0.36653623 -144.45 + 4 140.27119 901 2 0 -1.0306912 0.3676717 -145.85 + 4 128.72604 892 1 1 -1.583437 0.40558888 -174.45 + 4 122.42306 901 1 0 -1.6119276 0.40837782 -175.85 + 4 137.59164 889 0 1 -2.2071565 0.49190056 -204.45 + 4 116.72106 902 0 0 -2.2326631 0.49430228 -205.85 + 4 202.55414 1213 4 1 62.677136 67.678987 -84.558862 +Number of digits in this event = 10 +Event: 5 +Number of tracker hits in this event = 12 + 5 153.49175 899 5 1 -0.057648802 -0.17806486 -54.45 + 5 107.9 899 5 0 -0.06569866 -0.18618469 -55.85 + 5 130.92522 899 4 1 -0.23210867 -0.30419946 -84.45 + 5 229.52555 898 4 0 -0.23711785 -0.31203647 -85.85 + 5 147.89159 898 3 1 -0.3893244 -0.48144035 -114.45 + 5 116.73985 897 3 0 -0.40220627 -0.49437816 -115.85 + 5 150.21445 897 2 1 -0.64610477 -0.74725988 -144.45 + 5 122.14875 896 2 0 -0.65740181 -0.75274384 -145.85 + 5 103.20876 895 1 1 -0.92092968 -0.87706087 -174.45 + 5 114.51102 895 1 0 -0.92477459 -0.88656662 -175.85 + 5 113.48194 894 0 1 -1.0513437 -0.94523205 -204.45 + 5 108.03206 895 0 0 -1.0573761 -0.95297525 -205.85 +Number of digits in this event = 8 +Event: 6 +Number of tracker hits in this event = 35 + 6 92.938593 900 5 1 0.067966128 0.20914748 -54.45 + 6 277.59071 900 5 0 0.072759927 0.22117662 -55.85 + 6 321.37203 900 4 1 0.18546921 0.46876626 -84.45 + 6 153.03607 902 4 0 0.18828595 0.47855593 -85.85 + 6 135.30387 900 3 1 0.21282384 0.67472229 -114.45 + 6 152.0932 903 3 0 0.21474519 0.68967246 -115.85 + 6 129.26221 900 2 1 0.22810536 1.0051782 -144.45 + 6 114.9285 904 2 0 0.22692371 1.0207036 -145.85 + 6 115.79053 900 1 1 0.19207508 1.3415459 -174.45 + 6 172.71723 906 1 0 0.17997136 1.3597932 -175.85 + 6 131.91752 899 0 1 -0.088517088 1.7123497 -204.45 + 6 131.13273 908 0 0 -0.10018754 1.7308908 -205.85 + 6 345.51965 901 3 1 0.26008617 0.80208584 -114.45 + 6 190.98284 899 3 1 -0.05 1.3169544 -114.58066 + 6 237.23137 898 3 1 -0.42208362 1.822234 -114.76986 + 6 288.23499 896 3 1 -0.74255571 2.3808745 -114.84193 + 6 98.818645 894 3 1 -1.0692446 2.961722 -114.81628 + 6 325.78501 893 3 1 -1.3405649 3.206858 -114.79762 + 6 340.77888 892 3 1 -1.5547764 3.2879078 -114.49019 + 6 93.071513 891 3 1 -1.7086061 3.6067509 -114.75279 + 6 30.630988 890 3 1 -1.9606859 3.636876 -114.6978 + 6 115.93935 889 3 1 -2.0934329 3.6351894 -114.65067 + 6 30.127781 888 3 1 -2.3525 3.7405634 -114.63066 + 6 112.97251 887 3 1 -2.4712641 3.8127595 -114.61398 + 6 306.33875 886 3 1 -2.6607751 4.1531531 -114.65941 + 6 376.27537 885 3 1 -2.8827684 4.3116606 -114.63203 + 6 290.93553 909 3 0 1.5902057 1.9932725 -115.85 + 6 291.35181 1056 2 1 31.342432 25.755646 -144.45 + 6 280.65538 1036 2 0 33.854995 27.422414 -145.85 + 6 433.64889 1370 1 1 94.321286 60.895632 -174.45 + 6 193.65326 1218 1 0 98.563785 63.841948 -175.85 + 6 207.26745 1220 1 0 99.036524 64.211298 -175.9918 + 6 523.35457 1700 0 1 160.15648 109.16197 -204.45 + 6 293.04268 1450 0 0 161.81958 110.16476 -205.85 + 6 247.10692 1385 0 1 97.29582 85.60062 -204.45 +Number of digits in this event = 28 +Event: 7 +Number of tracker hits in this event = 26 + 7 133.24111 899 5 1 -0.068943294 0.05068716 -54.45 + 7 274.59885 901 4 1 0.40662048 0.23693666 -84.45 + 7 137.33333 901 4 0 0.42821093 0.25451768 -85.85 + 7 88.990467 904 3 1 0.88306305 0.5812157 -114.45 + 7 165.0537 902 3 0 0.89895537 0.60860758 -115.85 + 7 118.76067 905 2 1 1.2329874 1.2400635 -144.45 + 7 100.33269 906 2 0 1.2415841 1.2772713 -145.85 + 7 172.6869 906 1 1 1.4409171 2.0395262 -174.45 + 7 127.8263 910 1 0 1.4531213 2.0830709 -175.85 + 7 109.57253 908 0 1 1.7076576 2.948921 -204.45 + 7 127.18592 914 0 0 1.7302349 3.0016854 -205.85 + 7 23.3082 185 1 0 -76.987797 -143.10235 -176.25 + 7 81.251463 184 1 0 -77.004022 -143.15146 -176.22202 + 7 46.242792 1204 4 0 -129.761 60.982791 -85.992777 + 7 185.09587 252 4 1 -129.63016 61.714658 -84.85 + 7 121.31816 904 4 0 0.17863272 0.85043906 -85.85 + 7 55.450903 829 4 0 52.854155 -14.211041 -86.25 + 7 133.28718 828 4 0 52.978409 -14.280146 -86.15338 + 7 79.201818 1187 4 1 57.548682 -20.263956 -84.85 + 7 186.52504 1188 4 1 57.661448 -20.486084 -84.781053 + 7 230.36938 898 1 1 -0.34442888 0.25438913 -174.45 + 7 287.57812 900 1 0 -0.38157981 0.22296983 -175.85 + 7 112.83943 893 0 1 -1.3104433 -0.34466277 -204.45 + 7 666.52494 898 0 0 -1.4544241 -0.38035096 -205.85 + 7 125.24646 897 0 1 -0.6393559 -0.1343913 -204.45 + 7 135.51437 899 0 0 -0.64877455 -0.14863326 -205.85 +Number of digits in this event = 17 +Event: 8 +Number of tracker hits in this event = 27 + 8 129.41569 899 5 1 -0.12281951 0.070333574 -54.45 + 8 128.58513 900 5 0 -0.12542172 0.069993426 -55.85 + 8 149.56334 899 4 1 -0.18560495 0.082692773 -84.45 + 8 122.03931 900 4 0 -0.19755854 0.089806307 -85.85 + 8 101.73941 897 3 1 -0.46808634 0.2275442 -114.45 + 8 155.15211 900 3 0 -0.47983394 0.23591972 -115.85 + 8 112.40105 896 2 1 -0.76447924 0.39852631 -144.45 + 8 135.34503 901 2 0 -0.7738892 0.40829584 -145.85 + 8 529.99001 895 1 1 -1.0021201 0.6446361 -174.45 + 8 122.17866 902 1 0 -1.0293521 0.64243886 -175.85 + 8 238.98459 892 0 1 -1.6213694 0.59883934 -204.45 + 8 152.98298 902 0 0 -1.641725 0.59627908 -205.85 + 8 182.72864 897 0 1 -0.51131416 0.15561619 -204.45 + 8 111.76428 896 0 1 -0.69408005 0.13485472 -204.54887 + 8 53.995145 895 0 1 -0.97184351 -0.15334073 -204.66834 + 8 39.50213 894 0 1 -1.1088594 -0.25007649 -204.6724 + 8 110.06861 893 0 1 -1.2659187 -0.23216022 -204.72798 + 8 51.491263 891 0 1 -1.7117613 -0.23708107 -204.85 + 8 65.157408 890 0 1 -1.8671981 -0.10410858 -204.82818 + 8 59.185905 907 0 0 -4.8559732 1.5394363 -205.85 + 8 104.08036 867 0 1 -6.5423387 4.0412701 -204.85 + 8 176.21514 866 0 1 -6.6970857 4.3249966 -204.76129 + 8 91.917072 865 0 1 -6.9048248 4.768748 -204.56109 + 8 98.5855 864 0 1 -7.0819448 4.9637026 -204.58261 + 8 121.30935 863 0 1 -7.3086874 4.9959454 -204.62036 + 8 207.44556 862 0 1 -7.4750138 5.0243899 -204.69961 + 8 129.97693 899 0 0 -0.50753907 -0.05 -205.86211 +Number of digits in this event = 17 +Event: 9 +Number of tracker hits in this event = 9 + 9 109.22777 892 1 1 -1.4805557 -0.12268422 -174.45 + 9 114.72053 899 1 0 -1.5123352 -0.13123725 -175.85 + 9 102.28779 889 0 1 -2.1501629 -0.31046186 -204.45 + 9 124.94427 898 0 0 -2.174795 -0.32204422 -205.85 + 9 105.64168 1199 1 0 37.221237 59.896537 -176.25 + 9 88.229301 1003 9 0 -159.46302 20.757403 64.026142 + 9 59.996412 1115 7 0 -155.3091 43.152345 4.0001998 + 9 261.9144 899 4 1 -0.19038983 -0.096352388 -84.45 + 9 748.79381 898 4 0 -7.5366942 -0.29174573 -85.85 Number of digits in this event = 6 +Event: 10 +Number of tracker hits in this event = 8 + 10 125.68271 900 3 1 0.12194072 -0.10884936 -114.45 + 10 95.419402 899 3 0 0.14072605 -0.098035313 -115.85 + 10 128.52268 902 2 1 0.48510871 0.098248877 -144.45 + 10 153.19904 900 2 0 0.48536661 0.095807838 -145.85 + 10 263.03413 899 0 1 -0.15451026 -0.19411805 -204.45 + 10 152.52826 899 0 0 -0.17214068 -0.21302543 -205.85 + 10 324.33469 900 3 0 0.065992133 0.15836329 -115.90083 + 10 385.17215 292 3 0 106.60966 -121.57267 -116.25 +Number of digits in this event = 9 +Event: 11 +Number of tracker hits in this event = 13 + 11 133.36453 898 5 1 -0.32345148 -0.21346455 -54.45 + 11 116.68148 899 5 0 -0.34439373 -0.23089834 -55.85 + 11 126.87602 896 4 1 -0.77763861 -0.61514321 -84.45 + 11 146.38284 897 4 0 -0.7930173 -0.64422054 -85.85 + 11 126.05534 894 3 1 -1.1240461 -1.2609131 -114.45 + 11 133.24219 893 3 0 -1.1364999 -1.2806711 -115.85 + 11 117.32787 893 2 1 -1.4240284 -1.6884132 -144.45 + 11 194.39024 891 2 0 -1.4331806 -1.713485 -145.85 + 11 150.50247 892 1 1 -1.5947785 -2.2560317 -174.45 + 11 107.26425 888 1 0 -1.603231 -2.2769478 -175.85 + 11 114.23082 891 0 1 -1.7340562 -2.705273 -204.45 + 11 114.78327 886 0 0 -1.7412961 -2.7349432 -205.85 + 11 8.5005728 522 1 1 -75.470248 152.36842 -174.47845 +Number of digits in this event = 8 +Event: 12 +Number of tracker hits in this event = 30 + 12 125.79314 899 3 1 -0.058832427 -0.59172237 -114.45 + 12 115.66545 897 3 0 -0.059608137 -0.6004678 -115.85 + 12 134.51831 899 2 1 -0.057394031 -0.77103228 -144.45 + 12 140.61335 896 2 0 -0.055258697 -0.77533642 -145.85 + 12 118.47802 901 0 1 0.35153053 -1.1286333 -204.45 + 12 128.34112 894 0 0 0.37423995 -1.1413704 -205.85 + 12 290.73347 899 1 1 -0.07957624 -1.1435152 -174.45 + 12 111.49843 894 1 0 -0.080429445 -1.1497361 -175.85 + 12 130.00399 899 0 1 -0.22956892 -1.2352596 -204.45 + 12 115.29094 893 0 0 -0.25036365 -1.2681413 -205.85 + 12 186.74708 902 0 1 0.52161389 -1.1618525 -204.45 + 12 152.7864 889 0 0 0.69457808 -2.0926641 -205.85 + 12 124.73711 638 1 0 78.213421 -52.399553 -176.25 + 12 147.94698 637 1 0 78.330207 -52.484826 -176.23625 + 12 115.68386 639 1 0 78.876024 -52.212438 -176.16878 + 12 30.088348 640 1 0 79.239561 -52.004263 -176.17718 + 12 325.9023 900 3 1 0.08366056 -0.19979491 -114.45 + 12 256.99654 896 3 0 0.14618926 -0.68728057 -115.85 + 12 4.0756869 895 3 0 0.10572196 -0.85069173 -116.24215 + 12 171.78487 924 3 0 4.1364191 4.9013581 -116.25 + 12 19.599122 924 3 1 5.0115439 4.7302523 -114.85 + 12 87.983698 925 3 1 5.0654283 4.7367304 -114.77414 + 12 109.17045 926 3 1 5.2655547 4.7375368 -114.65492 + 12 226.50389 927 3 1 5.4737814 4.6728487 -114.6567 + 12 157.77392 928 3 1 5.6584441 4.50889 -114.47574 + 12 57.110283 842 2 1 -11.527721 -10.059187 -144.45 + 12 93.346127 843 2 1 -11.30264 -10.136961 -144.46972 + 12 208.24673 844 2 1 -11.125403 -10.303278 -144.48191 + 12 5.3185661 845 2 1 -11.013724 -10.916486 -144.82685 + 12 122.98464 844 2 0 -11.078746 -11.067474 -145.85 +Number of digits in this event = 19 Event: 13 -Number of tracker hits in this event = 10 - 13 138.64349 896 5 0 -0.13617153 0.12327197 -55.85 - 13 114.46906 897 4 0 -0.27396134 0.27128141 -85.85 - 13 178.08537 895 3 1 -0.45700941 0.42486438 -114.45 - 13 115.72699 897 3 0 -0.47326557 0.429205 -115.85 - 13 132.43564 894 2 1 -0.79893518 0.54771502 -144.45 - 13 115.90231 898 2 0 -0.8076031 0.56138781 -145.85 - 13 122.53549 893 1 1 -1.0015303 0.84583115 -174.45 - 13 108.41016 900 1 0 -1.008118 0.85665205 -175.85 - 13 147.23035 892 0 1 -1.1160044 1.1087835 -204.45 - 13 150.36525 901 0 0 -1.1196088 1.1259477 -205.85 +Number of tracker hits in this event = 8 + 13 261.40073 899 5 0 0.0546527 -0.050623534 -55.85 + 13 123.8296 899 3 0 -0.061280317 -0.18763594 -115.85 + 13 139.99903 897 2 1 -0.45945464 0.74592642 -144.45 + 13 164.77489 903 2 0 -0.40724097 0.83568397 -145.85 + 13 132.56237 903 1 1 0.75797501 2.7947035 -174.45 + 13 142.5965 914 1 0 0.81066914 2.8719334 -175.85 + 13 115.90664 908 0 1 1.7296037 4.3960397 -204.45 + 13 99.526405 922 0 0 1.7535344 4.5032265 -205.85 Number of digits in this event = 7 Event: 14 -Number of tracker hits in this event = 22 - 14 129.86562 896 5 1 0.18333212 -0.99020379 -54.45 - 14 165.15037 892 5 0 0.2321227 -1.0672867 -55.85 - 14 168.32006 900 4 1 0.94927715 -2.6393304 -84.45 - 14 100.39151 884 4 0 0.96190018 -2.7689657 -85.85 - 14 119.78315 900 3 1 0.88033178 -5.2357021 -114.45 - 14 77.353938 871 3 0 0.7869311 -5.4221259 -115.85 - 14 55.21028 870 3 0 0.77209161 -5.4528639 -116.07862 - 14 125.35241 892 2 1 -1.2129441 -9.4513407 -144.45 - 14 133.84408 849 2 0 -1.3374678 -9.658218 -145.85 - 14 126.04377 878 1 1 -3.9990896 -13.600307 -174.45 - 14 171.02379 828 1 0 -4.1085831 -13.87099 -175.85 - 14 123.87524 866 0 1 -6.3880554 -19.357902 -204.45 - 14 34.042588 800 0 0 -6.5122882 -19.629715 -205.85 - 14 83.979555 799 0 0 -6.5227845 -19.651625 -205.9643 - 14 176.31977 49 3 0 87.901639 -170.32553 -116.25 - 14 201.54859 1328 3 1 86.524291 -169.38212 -114.85 - 14 161.75304 1327 3 1 86.430942 -169.33459 -114.78742 - 14 20.925363 1329 3 1 86.683007 -168.71615 -114.83956 - 14 18.449813 58 3 0 88.027501 -168.52717 -115.85 - 14 377.83143 57 3 0 88.058556 -168.55534 -115.90441 - 14 40.240373 725 0 1 -34.588989 23.033415 -204.7119 - 14 286.31868 724 0 1 -34.658769 23.07274 -204.64833 -Number of digits in this event = 14 +Number of tracker hits in this event = 14 + 14 126.73762 901 4 1 0.33557551 -0.094918082 -84.45 + 14 97.221717 899 4 0 0.3482527 -0.10464242 -85.85 + 14 116.47941 902 3 1 0.62096921 -0.28195415 -114.45 + 14 144.74091 898 3 0 0.63326397 -0.30089505 -115.85 + 14 170.45016 904 2 1 0.89456489 -0.66465007 -144.45 + 14 116.10718 896 2 0 0.90312994 -0.68261781 -145.85 + 14 118.79966 905 1 1 1.0943075 -1.0564649 -174.45 + 14 195.81155 894 1 0 1.1100268 -1.0789875 -175.85 + 14 110.71417 906 0 1 1.3031309 -1.5551368 -204.45 + 14 165.16267 892 0 0 1.3062611 -1.5796386 -205.85 + 14 121.39874 1342 0 0 -67.227666 88.510483 -206.25 + 14 308.80592 1343 0 0 -67.056963 88.654076 -206.14042 + 14 100.1544 443 2 0 23.810843 -91.450246 -146.22987 + 14 218.05632 442 2 0 23.735631 -91.55037 -146.07587 +Number of digits in this event = 10 Event: 15 -Number of tracker hits in this event = 10 - 15 124.59291 897 3 1 0.41686018 -0.22342447 -114.45 - 15 116.35696 898 2 1 0.62191984 -0.47191832 -144.45 - 15 115.03154 895 2 0 0.6307589 -0.48487254 -145.85 - 15 120.21592 899 1 1 0.78836081 -0.77673013 -174.45 - 15 286.76116 894 1 0 0.79263821 -0.78766132 -175.85 - 15 118.01568 900 0 1 0.88596291 -1.0339587 -204.45 - 15 83.688062 893 0 0 0.88766033 -1.0483609 -205.85 - 15 51.835585 892 0 0 0.88796599 -1.0508384 -206.07857 - 15 107.18965 1204 7 0 -10.955148 61.672808 4.0386673 - 15 193.50893 895 1 0 0.85880108 -0.64464487 -176.11665 -Number of digits in this event = 5 -Event: 16 -Number of tracker hits in this event = 19 - 16 139.77074 896 4 0 -0.21918385 0.23571324 -85.85 - 16 102.12411 896 3 0 -0.44209947 0.22501572 -115.85 - 16 141.59169 893 2 1 -0.91440449 0.19951468 -144.45 - 16 114.33987 896 2 0 -0.90894637 0.20423513 -145.85 - 16 115.76155 894 1 1 -0.77760868 0.29514902 -174.45 - 16 232.3954 897 1 0 -0.77104724 0.29724326 -175.85 - 16 136.58545 894 0 1 -0.66014854 0.33197729 -204.45 - 16 145.43687 897 0 0 -0.65870221 0.33460477 -205.85 - 16 250.29427 786 14 1 -22.254409 59.551488 215.42177 - 16 147.97505 787 14 1 -22.247773 59.612393 215.53338 - 16 183.87982 785 14 1 -22.456163 59.758395 215.25559 - 16 142.40415 891 1 1 -1.4046075 0.19719743 -174.45 - 16 108.05517 880 0 1 -3.5441188 12.642068 -204.45 - 16 376.39897 959 0 0 -3.4717594 12.721096 -205.85 - 16 29.928559 1530 0 0 87.838542 127.53422 -206.24581 - 16 21.593918 960 0 0 -3.6884955 12.883352 -206.23761 - 16 9.7831515 896 5 1 0.05 0.20151624 -54.839845 - 16 65.548836 902 5 0 0.41752769 1.2508392 -55.85 - 16 86.434269 900 5 1 1.0008629 0.9940397 -54.85 -Number of digits in this event = 11 -Event: 17 -Number of tracker hits in this event = 13 - 17 118.85598 896 4 1 0.16735163 0.29090716 -84.45 - 17 113.6609 897 4 0 0.18272946 0.30158561 -85.85 - 17 130.6137 898 3 1 0.5016582 0.52586576 -114.45 - 17 103.03447 898 3 0 0.51337972 0.53140893 -115.85 - 17 125.63218 899 2 1 0.67345138 0.67277281 -144.45 - 17 107.17942 899 2 0 0.67263708 0.67826289 -145.85 - 17 125.91345 898 1 1 0.6124274 0.94142785 -174.45 - 17 168.68511 900 1 0 0.62875646 0.96459005 -175.85 - 17 133.64187 900 0 1 0.94047538 1.4572544 -204.45 - 17 146.15176 903 0 0 0.97104645 1.489055 -205.85 - 17 28.474576 351 5 1 -109.87711 6.0262817 -54.575367 - 17 10.336426 1287 0 1 78.256522 13.790487 -204.84012 - 17 33.328603 1286 0 1 78.249943 13.792972 -204.84551 +Number of tracker hits in this event = 7 + 15 140.89336 893 5 1 -1.3330107 0.50305391 -54.45 + 15 109.04957 902 5 0 -1.3956687 0.51977539 -55.85 + 15 147.38841 886 4 1 -2.6502673 0.88207965 -84.45 + 15 151.31919 904 4 0 -2.693567 0.90043959 -85.85 + 15 121.83738 882 3 1 -3.6407241 1.325447 -114.45 + 15 230.92819 906 3 0 -3.6788289 1.3360225 -115.85 + 15 71.143988 907 2 0 -4.4829076 1.5427131 -146.11218 Number of digits in this event = 8 +Event: 16 +Number of tracker hits in this event = 14 + 16 262.45865 900 4 1 0.12197114 -0.61164457 -84.45 + 16 100.90394 897 4 0 0.12265684 -0.63530334 -85.85 + 16 131.15528 900 3 1 0.15577873 -1.1263813 -114.45 + 16 104.01609 894 3 0 0.16233387 -1.1505462 -115.85 + 16 148.16924 901 2 1 0.29442953 -1.6318369 -144.45 + 16 98.634471 891 2 0 0.30626024 -1.6571472 -145.85 + 16 198.02966 902 1 1 0.57394496 -2.1685292 -174.45 + 16 125.00589 889 1 0 0.58192548 -2.2059637 -175.85 + 16 119.59437 903 0 1 0.78419584 -2.9377251 -204.45 + 16 129.18839 885 0 0 0.79473084 -2.9657123 -205.85 + 16 3.2813654 1432 5 0 108.2084 106.73732 -55.999317 + 16 277.57506 326 4 0 146.12456 -114.76539 -86.080762 + 16 63.638288 895 4 0 0.52776953 -1.0013383 -85.85 + 16 60.46736 894 4 0 0.59871695 -1.0624525 -86.080193 +Number of digits in this event = 9 +Event: 17 +Number of tracker hits in this event = 8 + 17 147.60488 899 4 1 -0.052057653 -0.053961221 -84.45 + 17 128.40711 899 4 0 -0.059378427 -0.05253636 -85.85 + 17 121.28564 898 2 1 -0.30590556 0.40411907 -144.45 + 17 113.25921 901 2 0 -0.2954583 0.41585713 -145.85 + 17 105.90155 900 1 1 0.079466773 0.95550942 -174.45 + 17 113.03206 904 1 0 0.089097154 0.95800728 -175.85 + 17 113.6139 900 0 1 0.21813952 0.98807855 -204.45 + 17 254.26417 904 0 0 0.21653547 1.0021652 -205.85 +Number of digits in this event = 6 Event: 18 -Number of tracker hits in this event = 36 - 18 137.34535 896 5 1 0.058096177 -0.24869731 -54.45 - 18 110.8704 895 4 0 -0.09613517 -0.50375644 -85.85 - 18 129.93132 894 3 0 -0.39336378 -0.79290707 -115.85 - 18 142.67295 894 2 1 -0.67138029 -1.0783033 -144.45 - 18 117.9652 892 2 0 -0.68501515 -1.0932709 -145.85 - 18 132.04752 893 1 1 -0.9606941 -1.4158234 -174.45 - 18 113.40647 891 1 0 -0.97425009 -1.4346082 -175.85 - 18 142.34008 891 0 1 -1.2647113 -1.8063883 -204.45 - 18 129.39174 889 0 0 -1.2960151 -1.7996918 -205.85 - 18 199.33354 607 2 1 -58.091958 -160.74032 -144.45 - 18 136.85209 608 2 1 -58.04666 -160.7749 -144.48622 - 18 78.208626 895 3 1 -0.45009253 -0.74847176 -114.4949 - 18 333.2993 896 3 1 0.16489738 -0.7623386 -114.45 - 18 341.9141 895 3 0 -1.534753 -0.59685485 -115.85 - 18 65.487473 636 2 1 -52.308344 -4.8461534 -144.45 - 18 101.77555 637 2 1 -52.166137 -4.9020936 -144.61961 - 18 3.7214174 638 2 1 -52.03118 -5.1405856 -144.84051 - 18 68.617507 865 2 0 -50.489133 -6.5084632 -145.85 - 18 110.25522 864 2 0 -50.288573 -6.6568117 -145.99972 - 18 153.73599 863 2 0 -49.990123 -6.8538263 -146.11274 - 18 63.634397 862 2 0 -49.884677 -7.114905 -146.11253 - 18 245.86838 861 2 0 -49.97786 -7.2799587 -146.11878 - 18 24.03667 860 2 0 -49.930616 -7.4756728 -145.90837 - 18 8.0668982 650 2 1 -49.451788 -8.6900374 -144.85 - 18 130.87341 651 2 1 -49.441013 -8.7179849 -144.83249 - 18 97.223872 652 2 1 -49.243759 -8.8772287 -144.70856 - 18 77.60776 653 2 1 -49.025026 -8.9150123 -144.64976 - 18 99.872406 654 2 1 -48.842001 -8.9557583 -144.64679 - 18 261.95601 655 2 1 -48.642742 -9.0299635 -144.59005 - 18 142.45558 893 3 0 0.13382518 -0.87752191 -115.85 - 18 152.03024 895 2 1 -0.49946425 -3.1661746 -144.45 - 18 138.24337 882 2 0 -0.3340716 -3.1319335 -145.85 - 18 127.89194 915 1 1 3.96068 -1.8746995 -174.45 - 18 141.40436 889 1 0 4.1501739 -1.7231718 -175.85 - 18 124.67776 935 0 1 7.982361 1.9476562 -204.45 - 18 120.73601 905 0 0 8.1578539 1.8775898 -205.85 -Number of digits in this event = 24 +Number of tracker hits in this event = 14 + 18 115.21925 899 5 1 -0.065649341 0.16509604 -54.45 + 18 116.16607 900 5 0 -0.066098364 0.18022019 -55.85 + 18 107.85169 899 4 1 -0.096664179 0.51630883 -84.45 + 18 96.954972 902 4 0 -0.095428712 0.53549454 -85.85 + 18 117.52922 899 3 1 -0.077167934 0.90375872 -114.45 + 18 144.58597 904 3 0 -0.08054416 0.92721521 -115.85 + 18 152.00155 899 2 1 -0.13194505 1.4435389 -144.45 + 18 226.26412 907 2 0 -0.12726925 1.4720926 -145.85 + 18 296.52355 899 0 1 -0.15950278 2.7497199 -204.45 + 18 127.59365 913 0 0 -0.1646443 2.7921262 -205.85 + 18 80.251969 908 1 0 0.053048677 1.8073361 -175.99308 + 18 12.619028 909 1 0 0.095655684 1.9052092 -176.19259 + 18 44.744761 1238 4 0 -30.14335 67.754413 -85.92662 + 18 288.99342 749 4 1 -30.19591 67.953461 -84.85 +Number of digits in this event = 7 Event: 19 -Number of tracker hits in this event = 16 - 19 204.05615 896 5 1 0.090085833 -0.24318591 -54.45 - 19 229.29537 897 4 1 0.41292615 -0.48489764 -84.45 - 19 114.03518 895 4 0 0.41344409 -0.48357578 -85.85 - 19 111.02272 898 3 1 0.45315212 -0.50480101 -114.45 - 19 109.786 895 3 0 0.45984084 -0.51393277 -115.85 - 19 153.79346 898 2 1 0.60795494 -0.71477427 -144.45 - 19 135.20386 894 2 0 0.62229057 -0.72894072 -145.85 - 19 115.51221 900 1 1 0.96991969 -1.0141199 -174.45 - 19 121.95982 893 1 0 0.99289361 -1.0276677 -175.85 - 19 134.20057 903 0 1 1.452402 -1.3323827 -204.45 - 19 126.92281 891 0 0 1.4768771 -1.3484456 -205.85 - 19 323.73054 900 5 0 1.229701 0.87103719 -55.85 - 19 253.92971 898 1 1 0.55330808 -0.34470583 -174.45 - 19 116.53454 910 0 0 0.081175834 2.9681963 -205.85 - 19 113.97618 900 0 1 0.86158557 -0.16867904 -204.45 - 19 167.38814 432 5 0 5.8270249 -93.655831 -56.23237 +Number of tracker hits in this event = 18 + 19 108.68485 900 5 1 0.078506439 -0.15852782 -54.45 + 19 156.28 899 5 0 0.081654899 -0.16443772 -55.85 + 19 147.70479 900 4 1 0.15238448 -0.27690177 -84.45 + 19 128.18546 898 4 0 0.15762651 -0.30750119 -85.85 + 19 151.78912 901 3 1 0.34298618 -0.92750115 -114.45 + 19 113.45628 895 3 0 0.3568458 -0.96387529 -115.85 + 19 312.60914 902 2 1 0.60804753 -1.7132333 -144.45 + 19 113.72166 891 2 0 0.5766331 -1.7435154 -145.85 + 19 119.87533 888 1 0 0.058291384 -2.4496554 -175.85 + 19 266.99358 905 0 1 1.1454238 -4.8671898 -204.45 + 19 227.83966 875 0 0 1.19698 -5.0308081 -205.85 + 19 247.18922 876 0 0 1.1499724 -4.6916721 -205.85 + 19 120.82266 893 2 0 0.57480519 -1.3424247 -145.85 + 19 156.49597 922 2 0 18.043057 4.5756817 -146.25 + 19 131.15736 993 2 1 18.703084 4.7817053 -144.85 + 19 95.341876 904 0 1 0.92007162 -1.2984302 -204.45 + 19 93.726571 903 0 1 0.78418376 -1.5624151 -204.63212 + 19 112.65053 891 0 0 0.95718913 -1.6867477 -205.85 Number of digits in this event = 12 Event: 20 -Number of tracker hits in this event = 11 - 20 125.815 896 5 0 -0.2133493 0.067205804 -55.85 - 20 154.4595 896 4 0 -0.42556037 0.18947683 -85.85 - 20 112.24421 893 3 1 -0.91640147 0.32433429 -114.45 - 20 108.88468 897 3 0 -0.94229484 0.32454883 -115.85 - 20 351.16573 890 2 1 -1.5122126 0.29580118 -144.45 - 20 175.20175 897 2 0 -1.5245637 0.29176541 -145.85 - 20 104.64393 889 1 1 -1.7836701 0.23933636 -174.45 - 20 127.06367 896 1 0 -1.8072421 0.23905116 -175.85 - 20 137.14511 886 0 1 -2.3480335 0.31520014 -204.45 - 20 101.9699 897 0 0 -2.3949324 0.31582215 -205.85 - 20 100.62946 891 2 1 -1.4389408 0.26349175 -144.49378 -Number of digits in this event = 8 +Number of tracker hits in this event = 14 + 20 138.91031 899 5 1 -0.082264057 0.064041547 -54.45 + 20 155.67928 900 5 0 -0.084221574 0.070266392 -55.85 + 20 114.6745 899 4 1 -0.13804238 0.20822506 -84.45 + 20 119.21184 900 4 0 -0.13493302 0.21055419 -85.85 + 20 119.68827 899 3 1 -0.090486011 0.27149429 -114.45 + 20 124.88153 901 3 0 -0.08415526 0.27106694 -115.85 + 20 127.88562 900 2 1 0.053500188 0.30926725 -144.45 + 20 95.006284 901 2 0 0.065654053 0.31846912 -145.85 + 20 127.51054 901 1 1 0.30640332 0.50629904 -174.45 + 20 166.36838 902 1 0 0.30860472 0.52175495 -175.85 + 20 111.68119 901 0 1 0.37726317 0.85790061 -204.45 + 20 118.15475 904 0 0 0.38513921 0.88037964 -205.85 + 20 198.24516 900 5 1 0.05 0.18058394 -54.641109 + 20 322.81693 905 5 0 0.31899853 1.0766677 -55.85 +Number of digits in this event = 9 Event: 21 -Number of tracker hits in this event = 7 - 21 112.16049 896 3 0 -0.34794669 0.051141418 -115.85 - 21 124.88492 897 2 0 -0.43667949 0.26965909 -145.85 - 21 135.3857 895 1 1 -0.56072765 0.64431386 -174.45 - 21 110.30352 899 1 0 -0.56299952 0.65895192 -175.85 - 21 139.60205 895 0 1 -0.63739781 0.94241671 -204.45 - 21 214.8023 900 0 0 -0.64761302 0.962328 -205.85 - 21 198.39127 1014 4 0 2.7345082 23.684416 -86.01982 -Number of digits in this event = 6 +Number of tracker hits in this event = 10 + 21 109.01037 899 4 1 -0.21909468 0.17388853 -84.45 + 21 148.50203 900 4 0 -0.22176591 0.18808379 -85.85 + 21 111.49114 898 3 1 -0.29717795 0.46455982 -114.45 + 21 114.98552 902 3 0 -0.30406777 0.47372628 -115.85 + 21 125.05947 897 2 1 -0.45857235 0.64701094 -144.45 + 21 286.48115 903 2 0 -0.46064694 0.65440035 -145.85 + 21 108.77092 897 1 1 -0.55089229 0.83340571 -174.45 + 21 139.2959 903 1 0 -0.55562476 0.83089464 -175.85 + 21 131.88101 897 0 1 -0.60871519 0.78171801 -204.45 + 21 137.73466 903 0 0 -0.62011693 0.78739617 -205.85 +Number of digits in this event = 7 Event: 22 -Number of tracker hits in this event = 12 - 22 125.87682 895 3 0 -0.24107471 -0.54171738 -115.85 - 22 124.93696 894 2 1 -0.67755315 -0.79856733 -144.45 - 22 111.34897 894 2 0 -0.66701446 -0.79537201 -145.85 - 22 103.43608 894 1 0 -0.31207278 -0.65958902 -175.85 - 22 120.11494 676 9 1 -44.429719 76.216628 65.415361 - 22 259.27901 675 9 1 -44.466994 76.393638 65.517127 - 22 53.223777 1272 9 0 -44.237178 75.378612 64.15 - 22 125.73609 1271 9 0 -44.278357 75.24953 64.087175 - 22 202.41914 1270 9 0 -44.457847 75.043585 64.111249 - 22 68.972292 1269 9 0 -44.41979 74.849118 63.960514 - 22 33.766791 942 0 1 9.3589763 -29.792178 -204.66211 - 22 180.2458 945 0 0 11.993799 10.003865 -205.95556 -Number of digits in this event = 9 -Event: 23 -Number of tracker hits in this event = 12 - 23 145.88193 895 3 1 -0.59259561 -0.5543097 -114.45 - 23 110.4301 895 3 0 -0.60964119 -0.55405843 -115.85 - 23 125.15128 893 2 1 -0.97707561 -0.52752823 -144.45 - 23 135.08894 895 2 0 -1.0023604 -0.52620476 -145.85 - 23 417.35105 890 1 1 -1.5563736 -0.53105865 -174.45 - 23 373.33993 895 1 0 -1.5766484 -0.54367587 -175.85 - 23 107.4966 888 0 1 -1.9916627 -0.7610101 -204.45 - 23 164.74992 894 0 0 -2.0146382 -0.77633066 -205.85 - 23 132.52555 889 0 1 -1.7881955 -0.92159836 -204.45 - 23 147.84223 893 0 0 -1.8692055 -0.91237936 -205.85 - 23 236.54014 891 0 1 -1.4438367 -0.39335988 -204.45 - 23 137.35892 895 0 0 -1.4245667 -0.45740896 -205.85 -Number of digits in this event = 11 -Event: 24 Number of tracker hits in this event = 20 - 24 110.8947 894 3 1 -0.80986565 -0.29220144 -114.45 - 24 143.68011 891 2 1 -1.4256117 -0.63003547 -144.45 - 24 116.25536 894 2 0 -1.4495545 -0.65427133 -145.85 - 24 399.02647 888 1 1 -1.9415535 -1.1136925 -174.45 - 24 104.95511 892 1 0 -1.9607294 -1.1429098 -175.85 - 24 116.26749 886 0 1 -2.3830843 -1.7074748 -204.45 - 24 384.26583 889 0 0 -2.4060795 -1.7288374 -205.85 - 24 284.00597 892 2 1 -1.1846802 -0.53365525 -144.45 - 24 171.40484 870 1 1 -5.4716584 1.9176557 -174.45 - 24 53.464634 871 1 1 -5.4422077 1.8338796 -174.79144 - 24 340.99781 903 1 0 -5.3395461 1.560082 -175.85 - 24 136.12527 880 0 1 -3.5711892 -3.0412846 -204.45 - 24 104.85602 883 0 0 -3.5297707 -2.9996525 -205.85 - 24 67.890584 873 0 0 73.996896 -4.9189755 -206.19103 - 24 319.90823 895 2 0 -1.3097246 -0.49613258 -145.85 - 24 123.36283 895 1 0 -1.9025074 -0.47690427 -175.85 - 24 124.59042 895 0 1 -0.52759614 -1.7304037 -204.45 - 24 74.180927 887 1 1 -2.0784895 -0.38566404 -174.6706 - 24 125.06321 898 1 0 -2.2574195 0.4575042 -175.85 - 24 25.358187 899 1 0 -2.2937438 0.72442468 -176.18811 -Number of digits in this event = 13 -Event: 25 -Number of tracker hits in this event = 47 - 25 184.03249 895 3 1 -0.52345181 -0.23102027 -114.45 - 25 144.35664 893 2 1 -0.85957401 0.10809761 -144.45 - 25 165.26289 896 2 0 -0.90531321 0.11128017 -145.85 - 25 114.32606 889 1 1 -1.8348092 0.22672638 -174.45 - 25 183.33464 896 1 0 -1.8627565 0.23985769 -175.85 - 25 115.36725 886 0 1 -2.4398604 0.48499281 -204.45 - 25 245.93602 898 0 0 -2.4806526 0.5081724 -205.85 - 25 10.577595 529 2 0 109.73137 -73.69481 -145.91201 - 25 92.360909 695 0 1 -40.556615 26.193567 -204.66077 - 25 90.084456 146 13 1 -150.90677 107.79562 185.29135 - 25 86.918978 896 6 1 0.05 0.10792719 -24.634805 - 25 124.19697 897 6 0 0.19038238 0.30172308 -25.85 - 25 132.00992 931 5 1 7.1391724 -1.1858596 -54.45 - 25 114.6552 893 5 0 7.587532 -0.95018221 -55.85 - 25 90.697286 1023 4 1 25.480825 -0.25454722 -84.45 - 25 41.513806 1024 4 1 25.712086 -0.054772149 -84.660458 - 25 4.9249315 1025 4 1 25.853658 0.12877853 -84.840761 - 25 113.19726 901 4 0 26.593519 1.0621766 -85.85 - 25 79.891986 902 4 0 26.762362 1.2514624 -86.095408 - 25 119.99499 1125 3 1 45.981684 26.601801 -114.45 - 25 143.63449 1027 3 0 45.621267 26.434491 -115.85 - 25 86.354052 1083 2 1 37.554099 22.438676 -144.45 - 25 88.921373 1082 2 1 37.405549 22.36664 -144.68157 - 25 170.24119 1005 2 0 36.625943 21.983082 -145.85 - 25 288.93266 1006 1 1 22.162777 13.258648 -174.45 - 25 27.78438 960 1 0 22.254592 12.867407 -175.85 - 25 87.289726 959 1 0 22.273417 12.840813 -175.96532 - 25 28.309162 978 1 0 32.28218 16.633982 -176.25 - 25 110.79922 979 1 0 32.315895 16.704475 -176.14058 - 25 171.71898 1058 1 1 32.559404 17.393849 -174.85 - 25 56.856397 1200 2 0 31.885029 61.011204 -146.25 - 25 72.709474 1201 2 0 31.862842 61.192748 -146.14484 - 25 59.889385 1202 2 0 31.790466 61.358864 -146.04473 - 25 29.734107 1203 2 0 31.746879 61.527084 -145.92509 - 25 203.81559 1051 2 1 31.212771 63.848589 -144.85 - 25 405.9264 1229 3 0 25.669771 66.704737 -116.25 - 25 243.98245 1228 3 0 24.907935 66.626925 -116.00744 - 25 51.583331 1005 1 1 22.009538 13.117194 -174.75669 - 25 60.163764 1004 1 1 21.815574 13.108508 -174.76787 - 25 26.615383 1003 1 1 21.629251 13.066181 -174.78896 - 25 91.1048 961 1 0 21.122433 13.153404 -175.85 - 25 7.4180376 962 1 0 20.925176 13.252571 -175.87399 - 25 67.477138 997 1 1 20.399555 13.119334 -174.85 - 25 92.638669 996 1 1 20.241764 13.063245 -174.72302 - 25 360.02565 995 1 1 20.035941 12.979166 -174.63598 - 25 80.69189 1454 1 0 -30.544171 112.29918 -176.25 - 25 10.091608 1139 1 0 -119.05849 48.710883 -176.25 -Number of digits in this event = 17 -Event: 26 -Number of tracker hits in this event = 10 - 26 172.29079 896 5 1 0.075901188 -0.40624967 -54.45 - 26 131.10372 897 4 1 0.3057725 -0.68879155 -84.45 - 26 115.85627 894 4 0 0.32625108 -0.70793109 -85.85 - 26 122.19946 899 3 1 0.74317705 -1.1469818 -114.45 - 26 145.22752 892 3 0 0.75510586 -1.1477673 -115.85 - 26 153.38326 900 2 1 0.86255921 -1.1422322 -144.45 - 26 134.26781 892 2 0 0.84566141 -1.1426565 -145.85 - 26 109.61802 898 1 1 0.49981666 -1.1185891 -174.45 - 26 122.38114 892 1 0 0.47083444 -1.119266 -175.85 - 26 164.45456 892 0 0 -0.16552742 -1.1398472 -205.85 -Number of digits in this event = 9 -Event: 27 -Number of tracker hits in this event = 11 - 27 136.18176 896 4 0 -0.29426311 0.15087365 -85.85 - 27 132.70006 895 3 1 -0.60358996 0.10044221 -114.45 - 27 109.63286 896 3 0 -0.61895472 0.093568128 -115.85 - 27 58.375237 893 2 1 -0.98065175 0.05 -144.69191 - 27 114.54383 896 2 0 -1.0076721 0.057564214 -145.85 - 27 147.91934 889 1 1 -1.7839871 0.18896707 -174.45 - 27 136.54051 896 1 0 -1.8046862 0.18772879 -175.85 - 27 160.15903 887 0 1 -2.2349889 0.12424464 -204.45 - 27 102.62202 896 0 0 -2.2550646 0.090732563 -205.85 - 27 527.18068 930 4 0 22.632624 6.9480076 -86.25 - 27 24.492871 929 4 0 22.893251 6.8335388 -86.073918 + 22 111.22102 899 5 1 -0.089345087 -0.07120897 -54.45 + 22 97.786817 899 5 0 -0.090846547 -0.080157674 -55.85 + 22 118.72824 899 4 1 -0.11223839 -0.29685032 -84.45 + 22 103.6767 898 4 0 -0.11512494 -0.31106047 -85.85 + 22 130.799 899 3 1 -0.17430511 -0.57881659 -114.45 + 22 134.6675 897 3 0 -0.17594354 -0.59375436 -115.85 + 22 132.2909 899 2 1 -0.22585165 -0.88733975 -144.45 + 22 117.43021 895 2 0 -0.22534938 -0.89385148 -145.85 + 22 437.73944 899 1 1 -0.21635619 -1.038211 -174.45 + 22 118.86198 895 1 0 -0.21258849 -1.0373241 -175.85 + 22 131.66137 899 0 1 -0.11689128 -1.0174955 -204.45 + 22 184.92056 895 0 0 -0.10525131 -1.0157011 -205.85 + 22 270.49877 242 4 1 -131.65919 16.468306 -84.601923 + 22 115.71743 1008 0 0 16.392575 21.826642 -205.93029 + 22 36.08719 1009 0 0 16.363882 21.857341 -205.90562 + 22 57.586875 898 1 1 -0.27084831 -1.2146113 -174.69607 + 22 21.08996 891 1 0 -0.31422717 -1.8172467 -175.85 + 22 189.55434 890 1 0 -0.32030298 -1.859726 -175.90497 + 22 200.24756 901 1 1 0.28442051 -4.4352814 -174.85 + 22 218.15402 898 0 1 -0.33144326 -1.3352863 -204.5586 +Number of digits in this event = 12 +Event: 23 +Number of tracker hits in this event = 16 + 23 100.18252 900 5 1 0.18087717 0.10031536 -54.45 + 23 129.24037 900 5 0 0.19656839 0.089771945 -55.85 + 23 134.57055 902 4 1 0.52850815 -0.10131907 -84.45 + 23 138.90858 899 4 0 0.55740276 -0.10039155 -85.85 + 23 118.21788 905 3 1 1.1749433 -0.09069453 -114.45 + 23 118.42054 899 3 0 1.2083967 -0.088057702 -115.85 + 23 126.09212 912 1 1 2.6083886 0.088082491 -174.45 + 23 107.51935 900 1 0 2.6431229 0.10006294 -175.85 + 23 100.09304 916 0 1 3.3818944 0.35133785 -204.45 + 23 100.9215 901 0 0 3.4180481 0.35980665 -205.85 + 23 104.84201 907 1 1 1.5299105 -0.72632169 -174.45 + 23 119.4674 896 1 0 1.6892805 -0.7631358 -175.85 + 23 143.82593 912 0 1 2.5528649 0.73777932 -204.45 + 23 270.59252 906 0 0 2.1811516 1.3137546 -205.85 + 23 257.3363 707 2 1 -38.501587 -114.42535 -144.58249 + 23 4.3588365 708 2 1 -38.441514 -114.44627 -144.45 Number of digits in this event = 8 +Event: 24 +Number of tracker hits in this event = 12 + 24 147.22934 899 5 1 -0.062755544 0.18187971 -54.45 + 24 159.84522 900 5 0 -0.060730216 0.19282816 -55.85 + 24 120.60667 899 3 1 -0.074891789 0.79929903 -114.45 + 24 230.60063 903 3 0 -0.074895187 0.81507918 -115.85 + 24 88.51368 905 2 0 -0.05 1.1626954 -145.92601 + 24 589.62286 899 1 1 -0.20997441 1.3912235 -174.45 + 24 135.99626 906 1 0 -0.21787208 1.4091323 -175.85 + 24 128.92416 898 0 1 -0.40102474 1.7971863 -204.45 + 24 149.63152 908 0 0 -0.44080723 1.7996463 -205.85 + 24 61.11406 1176 0 0 -58.575028 55.382809 -206.25 + 24 196.91648 1177 0 0 -58.641934 55.454977 -206.24492 + 24 120.64479 1178 0 0 -58.666917 55.668066 -206.04088 +Number of digits in this event = 11 +Event: 25 +Number of tracker hits in this event = 14 + 25 128.62111 899 4 1 -0.10671749 -0.10729759 -84.45 + 25 124.60348 899 4 0 -0.11971441 -0.10897991 -85.85 + 25 133.52406 898 3 1 -0.39308639 -0.13362605 -114.45 + 25 111.88129 899 3 0 -0.4264253 -0.2029271 -115.85 + 25 113.64221 895 2 1 -0.86093639 -1.862109 -144.45 + 25 136.53489 890 2 0 -0.93320037 -1.9133095 -145.85 + 25 152.88649 888 1 1 -2.317288 -3.1924997 -174.45 + 25 115.16009 883 1 0 -2.6595535 -3.3644195 -175.85 + 25 180.47553 849 0 1 -10.244221 -6.5777308 -204.45 + 25 223.03748 866 0 0 -10.627838 -6.8485398 -205.85 + 25 241.28541 897 0 1 -0.49645869 -5.8666661 -204.45 + 25 118.4596 870 0 0 -0.49985088 -5.98213 -205.85 + 25 117.07209 867 0 0 -0.53672594 -6.6244575 -205.85 + 25 311.08176 180 3 0 -73.657261 -144.10234 -116.11791 +Number of digits in this event = 10 +Event: 26 +Number of tracker hits in this event = 12 + 26 47.154969 899 5 0 -0.05 -0.058468146 -56.104695 + 26 143.60465 899 3 1 -0.18007615 0.18014928 -114.45 + 26 126.86844 900 3 0 -0.1890937 0.18370765 -115.85 + 26 122.23252 898 2 1 -0.38755726 0.24639675 -144.45 + 26 106.84496 900 2 0 -0.39533399 0.24587745 -145.85 + 26 102.32837 897 1 1 -0.53847288 0.23308607 -174.45 + 26 134.22785 900 1 0 -0.54482358 0.24309436 -175.85 + 26 125.04156 896 0 1 -0.67286262 0.43569008 -204.45 + 26 172.66857 901 0 0 -0.67646214 0.44759007 -205.85 + 26 125.62194 267 4 0 22.858883 -126.56838 -86.25 + 26 483.57256 1012 4 1 22.482864 -126.30064 -84.85 + 26 187.33865 634 0 0 -15.684482 -53.17195 -206.1476 +Number of digits in this event = 10 +Event: 27 +Number of tracker hits in this event = 24 + 27 133.24161 899 4 1 -0.20268725 -0.48792801 -84.45 + 27 534.59245 897 4 0 -0.21781214 -0.50886569 -85.85 + 27 178.95956 897 3 1 -0.56839293 -0.923999 -114.45 + 27 90.776386 895 3 0 -0.5931507 -0.91674635 -115.85 + 27 111.89901 894 2 1 -1.0574968 -0.75568306 -144.45 + 27 133.26119 896 2 0 -1.0850676 -0.7562026 -145.85 + 27 231.68241 892 1 1 -1.6449875 -0.71686545 -174.45 + 27 283.96076 896 1 0 -1.6807449 -0.71916917 -175.85 + 27 205.9685 888 0 1 -2.4205363 -0.71479814 -204.45 + 27 173.80028 896 0 0 -2.4609049 -0.71298631 -205.85 + 27 60.261316 536 2 1 -72.729739 57.743598 -144.82903 + 27 61.905514 535 2 1 -72.861056 57.726462 -144.71099 + 27 55.980751 534 2 1 -73.051953 57.670776 -144.67975 + 27 109.57439 533 2 1 -73.250991 57.650546 -144.65766 + 27 79.912465 532 2 1 -73.522321 57.416633 -144.57028 + 27 160.31458 531 2 1 -73.685156 57.300265 -144.56804 + 27 115.19015 530 2 1 -73.882543 56.990854 -144.50798 + 27 348.6489 529 2 1 -74.059861 56.980012 -144.46951 + 27 73.533385 270 6 1 -126.13661 -13.188855 -24.625852 + 27 10.255438 624 2 0 117.95651 -55.113201 -146.25 + 27 109.86443 889 0 1 -2.1185954 -9.7080817 -204.54544 + 27 124.94071 897 1 0 -2.0047105 -0.58969487 -175.85 + 27 111.7165 858 0 1 -8.3338746 5.8490567 -204.45 + 27 121.70606 928 0 0 -8.4794315 5.651404 -205.85 +Number of digits in this event = 14 Event: 28 -Number of tracker hits in this event = 37 - 28 110.30917 896 5 0 -0.10335851 0.15220969 -55.85 - 28 133.42376 897 4 0 -0.26867924 0.40675314 -85.85 - 28 139.20964 895 3 1 -0.4920128 0.58453713 -114.45 - 28 168.18053 898 3 0 -0.50294418 0.58728796 -115.85 - 28 126.26497 894 2 1 -0.69238183 0.64040073 -144.45 - 28 131.85182 898 2 0 -0.7046605 0.63868479 -145.85 - 28 165.81736 893 1 1 -0.95248897 0.62729946 -174.45 - 28 108.93745 898 1 0 -0.97418179 0.62052805 -175.85 - 28 127.88281 890 0 1 -1.4531545 0.50056431 -204.45 - 28 280.48039 898 0 0 -1.4704698 0.48973557 -205.85 - 28 278.19825 756 1 1 -28.304726 90.841913 -174.79983 - 28 8.6924847 755 1 1 -28.460986 91.002603 -174.47973 - 28 82.102111 757 1 1 -28.244943 91.085392 -174.77283 - 28 118.19812 758 1 1 -28.044954 91.163758 -174.79071 - 28 166.34039 759 1 1 -27.838461 91.214183 -174.67569 - 28 81.335085 125 7 1 -155.07648 -14.026802 5.5161927 - 28 138.1 124 7 1 -155.15247 -14.130348 5.523307 - 28 43.541635 768 1 0 -14.367487 -25.976894 -176.25 - 28 84.418986 767 1 0 -14.418788 -26.073444 -176.12284 - 28 120.06975 823 1 1 -14.892005 -27.056588 -174.85 - 28 66.275653 822 1 1 -15.059351 -27.331533 -174.51778 - 28 132.78379 821 1 1 -15.292273 -27.624263 -174.55911 - 28 11.445049 820 1 1 -15.488407 -27.730919 -174.80627 - 28 73.038331 756 1 0 -15.999118 -28.380491 -175.85 - 28 53.796928 755 1 0 -16.138402 -28.480941 -176.07144 - 28 77.009105 642 1 0 -75.735518 -51.163902 -176.25 - 28 47.188123 1054 1 0 2.818872 31.727135 -176.25 - 28 90.714192 1055 1 0 2.8252461 31.866935 -176.1529 - 28 24.79198 1056 1 0 2.7619452 32.127224 -175.95002 - 28 182.45839 909 1 1 2.8048757 32.587414 -174.85 - 28 163.12632 910 1 1 2.8511681 32.908697 -174.53915 - 28 186.62036 911 1 1 3.0686917 33.340497 -174.50908 - 28 65.784388 912 1 1 3.2581324 33.923982 -174.6954 - 28 15.525584 1069 1 0 3.0179438 34.83523 -175.85 - 28 64.255762 1070 1 0 3.0091814 34.875963 -175.91652 - 28 67.395803 1071 1 0 2.9377823 35.073468 -176.02073 - 28 39.186215 1072 1 0 2.9120716 35.274969 -176.12562 -Number of digits in this event = 17 +Number of tracker hits in this event = 14 + 28 117.75617 902 3 1 0.49638667 -0.055914867 -114.45 + 28 120.68489 899 3 0 0.50472514 -0.051879381 -115.85 + 28 540.47506 903 1 1 0.71150261 0.073363673 -174.45 + 28 184.53964 900 1 0 0.71876572 0.077211361 -175.85 + 28 301.95479 903 0 1 0.84530649 0.15769479 -204.45 + 28 164.21305 900 0 0 0.84773301 0.15546039 -205.85 + 28 177.42573 627 2 0 8.5025414 -54.630637 -146.20308 + 28 14.759705 212 3 0 94.081055 -137.62488 -115.88998 + 28 37.69559 1371 3 1 94.501395 -137.68235 -114.85 + 28 93.624681 1372 3 1 94.56381 -137.71909 -114.76574 + 28 109.63674 1373 3 1 94.766524 -137.61818 -114.74436 + 28 89.029935 1374 3 1 94.967732 -137.44328 -114.80884 + 28 143.82399 218 3 0 95.855483 -136.49351 -115.85 + 28 224.12464 1375 3 1 95.155394 -136.09011 -114.85 +Number of digits in this event = 9 Event: 29 -Number of tracker hits in this event = 10 - 29 112.5662 896 3 0 -0.35619634 0.064156915 -115.85 - 29 127.97769 897 0 0 22.15502 0.37522191 -206.25 - 29 80.917753 898 0 0 22.34397 0.45651623 -205.90733 - 29 98.710816 899 0 0 22.466771 0.66518862 -205.92484 - 29 133.95708 900 0 0 22.539751 0.86499401 -206.06506 - 29 196.64709 901 0 0 22.642354 1.0576482 -205.9768 - 29 65.555408 902 0 0 22.689837 1.2606677 -205.95079 - 29 184.58594 896 0 0 -0.34045868 0.081058213 -205.85 - 29 279.71529 842 2 1 -11.142111 28.810133 -144.57101 - 29 88.588854 420 11 1 -95.968397 -71.725147 125.30317 +Number of tracker hits in this event = 11 + 29 112.99787 898 5 1 -0.27493439 0.07578772 -54.45 + 29 174.65846 900 5 0 -0.27787842 0.075612875 -55.85 + 29 132.19114 898 4 1 -0.3384301 0.070486072 -84.45 + 29 126.18174 900 4 0 -0.34624457 0.068979597 -85.85 + 29 132.23513 896 2 1 -0.7684863 -0.18147782 -144.45 + 29 102.552 899 2 0 -0.7723319 -0.19285463 -145.85 + 29 145.03324 896 1 1 -0.82772968 -0.44291427 -174.45 + 29 97.703668 898 1 0 -0.89934388 -0.33794905 -175.85 + 29 119.40002 892 0 1 -1.5914147 2.0888508 -204.45 + 29 203.81625 910 0 0 -1.6732751 2.1116005 -205.85 + 29 105.67157 1288 7 0 -158.41734 77.822979 3.9267454 Number of digits in this event = 7 Event: 30 -Number of tracker hits in this event = 9 - 30 105.30552 895 3 1 -0.48720851 -0.54695454 -114.45 - 30 101.88665 895 3 0 -0.50039264 -0.55974578 -115.85 - 30 188.67803 894 2 1 -0.74558251 -0.83383789 -144.45 - 30 171.14937 893 2 0 -0.75444992 -0.85501602 -145.85 - 30 103.83361 893 1 1 -0.94316719 -1.2945561 -174.45 - 30 166.56804 891 1 0 -0.97018803 -1.3215337 -175.85 - 30 139.8716 890 0 1 -1.5579711 -1.9540359 -204.45 - 30 116.5622 888 0 0 -1.5846783 -1.9841187 -205.85 - 30 272.18502 895 6 0 -0.21601136 -0.61163547 -25.85 -Number of digits in this event = 6 -Event: 31 -Number of tracker hits in this event = 8 - 31 146.79729 896 4 1 0.22694602 -0.14562226 -84.45 - 31 162.18501 898 3 1 0.45600388 -0.36386641 -114.45 - 31 100.75215 899 2 1 0.78491304 -0.50480817 -144.45 - 31 107.37968 895 2 0 0.82304396 -0.51084166 -145.85 - 31 122.16584 903 1 1 1.604554 -0.64506198 -174.45 - 31 125.8599 895 1 0 1.6369602 -0.64490596 -175.85 - 31 139.93184 907 0 1 2.3003633 -0.67806884 -204.45 - 31 122.13013 894 0 0 2.3413996 -0.66912805 -205.85 -Number of digits in this event = 7 -Event: 32 -Number of tracker hits in this event = 44 - 32 103.37927 896 4 0 -0.10983762 0.19054088 -85.85 - 32 588.45746 896 3 1 0.14241465 0.55430589 -114.45 - 32 270.34101 898 3 0 0.21568354 0.46327446 -115.85 - 32 204.61204 897 3 0 0.22766868 0.44846697 -116.07858 - 32 172.43733 904 2 1 1.7621576 -1.4060493 -144.45 - 32 146.54871 890 2 0 1.8243931 -1.4886444 -145.85 - 32 127.04394 911 1 1 3.1399831 -3.2155568 -174.45 - 32 146.19663 881 1 0 3.2318469 -3.2967122 -175.85 - 32 119.44432 921 0 1 5.1829108 -4.8651011 -204.45 - 32 231.23432 873 0 0 5.3159956 -4.9786555 -205.85 - 32 23.584276 786 5 0 -88.278704 -22.341545 -56.06492 - 32 34.662825 889 2 1 -1.8373637 -3.4105728 -144.45 - 32 83.365144 888 2 1 -1.8697004 -3.4588613 -144.56676 - 32 35.036002 877 2 0 -2.4175591 -4.2319823 -145.85 - 32 111.46579 876 2 0 -2.4748079 -4.2967264 -145.9656 - 32 120.26633 838 1 1 -12.002623 -13.131642 -174.45 - 32 98.565018 837 1 1 -12.099622 -12.891968 -174.67692 - 32 78.641258 847 1 0 -12.309011 -10.192264 -175.85 - 32 67.70446 848 1 0 -12.328282 -9.9085739 -175.93299 - 32 123.30971 849 1 0 -12.312444 -9.6671538 -175.96937 - 32 78.155297 851 1 0 -12.305257 -9.3685143 -175.99304 - 32 72.447656 852 1 0 -12.30967 -9.0708704 -175.99841 - 32 74.192088 854 1 0 -12.337696 -8.7788452 -175.9373 - 32 96.864876 855 1 0 -12.303084 -8.4855934 -175.93376 - 32 141.92534 857 1 0 -12.335424 -8.188785 -175.91941 - 32 67.424917 858 1 0 -12.377733 -7.8982142 -175.86559 - 32 242.19771 841 1 1 -11.435692 -3.4741283 -174.85 - 32 109.84502 892 1 0 -11.244466 -1.2466835 -175.85 - 32 47.633639 893 1 0 -11.25598 -0.89778922 -176.06181 - 32 53.169171 894 1 0 -11.221929 -0.71535959 -176.15178 - 32 30.575022 895 1 0 -11.235703 -0.52616354 -176.23139 - 32 143.41402 850 1 0 -12.300782 -9.6471002 -176.00811 - 32 165.8725 896 2 1 0.15719847 0.61007795 -144.45 - 32 130.81848 899 2 0 0.18481465 0.66967744 -145.85 - 32 112.48199 900 1 1 0.89253999 2.0328063 -174.45 - 32 111.44043 906 1 0 0.94379112 2.1144406 -175.85 - 32 250.52442 905 0 1 2.0057256 3.7282759 -204.45 - 32 117.84988 914 0 0 2.0444875 3.7860829 -205.85 - 32 134.52309 935 0 1 7.9742134 11.891632 -204.85 - 32 147.01097 936 0 1 8.058859 11.943476 -204.56589 - 32 140.03519 904 0 1 1.8489905 3.9135827 -204.5872 - 32 30.098825 896 4 1 0.078977929 0.59813898 -84.45 - 32 80.235226 899 4 0 -1.2986631 0.69417054 -85.85 - 32 94.748703 898 4 0 -1.4441053 0.61975824 -86.040304 -Number of digits in this event = 21 -Event: 33 -Number of tracker hits in this event = 47 - 33 136.89801 893 3 1 -0.87376329 -0.23372297 -114.45 - 33 111.0978 891 2 1 -1.4086826 -0.89106934 -144.45 - 33 107.101 893 2 0 -1.4283676 -0.93083938 -145.85 - 33 94.149483 889 1 1 -1.8332344 -1.7598879 -174.45 - 33 120.93048 889 1 0 -1.8298259 -1.777195 -175.85 - 33 163.57867 889 0 1 -1.7581477 -2.1422561 -204.45 - 33 111.9475 887 0 0 -1.7533223 -2.1528719 -205.85 - 33 329.14205 890 0 1 -1.6186493 -2.1274092 -204.50892 - 33 194.76935 891 0 1 -1.4427213 -2.2839194 -204.524 - 33 120.32824 908 2 1 2.6378684 1.8125606 -144.45 - 33 31.696857 906 2 0 2.4485522 2.2150204 -145.85 - 33 78.005823 907 2 0 2.4301693 2.2512955 -145.96261 - 33 350.37776 906 1 1 2.1430163 11.791354 -174.45 - 33 8.700669 905 1 1 2.0443691 10.721691 -174.83781 - 33 51.290207 943 1 0 2.4849206 9.5078732 -175.85 - 33 61.208709 942 1 0 2.5225074 9.3666133 -175.96314 - 33 79.8507 941 1 0 2.5929637 9.245189 -176.08338 - 33 231.83175 748 1 0 -1.850027 -29.963621 -176.25 - 33 25.696202 747 1 0 -2.1210387 -30.078676 -175.91233 - 33 56.736944 881 1 1 -3.3737058 -30.797161 -174.85 - 33 55.985368 880 1 1 -3.5151014 -30.886657 -174.75329 - 33 119.68273 879 1 1 -3.6547171 -30.971718 -174.65115 - 33 2.9004222 878 1 1 -3.8544006 -31.207081 -174.46012 - 33 72.256358 697 2 0 -5.1905817 -40.201794 -146.25 - 33 90.578035 696 2 0 -5.2313531 -40.264244 -146.02716 - 33 105.15337 871 2 1 -5.3573142 -40.981971 -144.85 - 33 24.419078 870 2 1 -5.4874056 -41.148766 -144.50438 - 33 8.8920972 303 6 0 -148.79655 -119.4001 -26.232294 - 33 108.78066 895 2 1 -0.46701091 -0.42748132 -144.45 - 33 134.05889 895 2 0 -0.47888116 -0.46790159 -145.85 - 33 112.19989 894 1 1 -0.80066404 -1.2879507 -174.45 - 33 121.48492 891 1 0 -0.82952891 -1.3199378 -175.85 - 33 120.02804 888 0 0 -1.4779466 -1.9531036 -205.85 - 33 136.58489 1011 2 0 -80.701201 23.071203 -146.25 - 33 147.33004 1012 2 0 -81.083915 23.284359 -146.15522 - 33 126.00348 1013 2 0 -81.488056 23.479428 -146.18175 - 33 263.92489 1014 2 0 -81.865285 23.676579 -146.25 - 33 16.311518 500 2 1 -79.481114 24.089117 -144.85 - 33 257.82322 501 2 1 -79.425208 24.091159 -144.82962 - 33 65.220955 1033 2 0 -75.730991 27.514337 -145.85 - 33 79.090338 1034 2 0 -75.592018 27.658015 -145.90794 - 33 72.084154 1035 2 0 -75.565583 27.878048 -145.99044 - 33 101.63316 1036 2 0 -75.659968 28.060111 -145.98967 - 33 80.586961 1037 2 0 -75.832921 28.270403 -145.90653 - 33 290.18467 520 2 1 -75.455294 28.976011 -144.85 - 33 35.197026 521 2 1 -75.44598 28.986875 -144.835 - 33 195.44453 1015 2 0 -81.66943 23.853337 -145.88277 -Number of digits in this event = 19 -Event: 34 -Number of tracker hits in this event = 85 - 34 137.53651 896 5 0 -0.083908073 0.12030385 -55.85 - 34 167.5464 896 4 0 -0.088645848 0.17335953 -85.85 - 34 441.0043 896 3 1 0.071962528 0.32693913 -114.45 - 34 136.34477 897 3 0 0.091806051 0.32614382 -115.85 - 34 330.50972 898 2 1 0.52544049 0.29917483 -144.45 - 34 120.662 897 2 0 0.54871816 0.29516531 -145.85 - 34 156.23242 900 1 1 0.96853465 0.20212688 -174.45 - 34 228.8302 896 1 0 0.97867067 0.20416423 -175.85 - 34 101.88233 901 0 1 1.20691 0.22003537 -204.45 - 34 207.01254 896 0 0 1.2021419 0.22730543 -205.85 - 34 61.958446 788 1 0 -77.287898 -22.001392 -176.13656 - 34 173.74253 787 1 0 -77.360884 -22.057164 -176.10434 - 34 15.470988 1204 11 1 61.65517 -129.08924 125.53372 - 34 98.583305 422 4 0 78.288734 -95.604626 -86.150442 - 34 1.4110042 968 2 1 14.500717 26.245443 -144.69793 - 34 151.54073 897 0 1 0.27776363 1.4842658 -204.45 - 34 106.47495 896 0 1 0.23028521 1.5025957 -204.56485 - 34 138.41493 903 0 0 -0.29153847 1.6072012 -205.85 - 34 13.519851 898 0 1 0.46327168 1.4180704 -204.79188 - 34 109.36572 901 0 0 0.72655307 1.2197276 -205.85 - 34 280.3067 896 3 0 0.066918446 0.23470851 -115.85 - 34 62.003342 901 2 0 -0.29043432 1.2385608 -145.85 - 34 59.657776 902 2 0 -0.30653467 1.2544381 -146.07855 - 34 124.20011 881 1 1 -3.2770059 2.1066408 -174.45 - 34 172.86908 905 1 0 -3.3682284 2.0334531 -175.85 - 34 58.134555 872 0 1 -5.1527232 0.11054974 -204.45 - 34 125.74262 908 2 0 0.83465796 2.6179252 -145.85 - 34 73.387245 935 1 1 7.9364968 2.8387551 -174.45 - 34 71.466108 936 1 1 8.1171479 2.8465837 -174.67272 - 34 187.18223 910 1 0 9.0107161 2.8550191 -175.85 - 34 172.75943 1069 0 1 34.764252 3.0677783 -204.45 - 34 22.294616 1070 0 1 34.861939 2.9438335 -204.79492 - 34 77.818213 908 0 0 35.116428 2.5122702 -205.85 - 34 54.248403 907 0 0 35.182144 2.4144941 -206.07383 - 34 178.82577 992 1 0 -8.1473746 19.270704 -176.25 - 34 249.58261 991 1 0 -8.5009691 19.249975 -176.16715 - 34 59.342599 911 1 0 9.1489252 3.077352 -176.17741 - 34 115.52737 902 2 1 1.2686739 -2.4417951 -144.45 - 34 116.77206 885 2 0 1.5007979 -2.6281342 -145.85 - 34 59.857124 884 2 0 1.5373473 -2.6586964 -146.07873 - 34 146.35596 925 1 1 5.9864519 -6.4317419 -174.45 - 34 114.43784 864 1 0 6.2073425 -6.7465959 -175.85 - 34 126.77348 952 0 1 11.361562 -13.580765 -204.45 - 34 94.415053 829 0 0 11.683276 -13.812685 -205.85 - 34 12.382441 828 0 0 11.762162 -13.868492 -206.193 - 34 88.057922 805 0 0 -10.854301 -18.64579 -206.25 - 34 407.76267 804 0 0 -10.895116 -18.651603 -206.21316 - 34 133.47338 768 0 0 -61.952316 -25.880616 -206.25 - 34 51.880043 895 3 1 -0.46228474 0.23904407 -114.68147 - 34 198.00198 898 3 0 -1.0383389 0.45646524 -115.96267 - 34 152.51235 856 2 1 -8.3676852 9.4474238 -144.45 - 34 133.01776 949 2 0 -8.6378149 10.689416 -145.85 - 34 78.381101 950 2 0 -8.7059334 10.880482 -146.07604 - 34 126.14052 775 1 1 -24.568519 47.914519 -174.45 - 34 96.017041 1135 1 0 -24.274166 47.865444 -175.85 - 34 49.462071 1134 1 0 -24.228311 47.845985 -176.07739 - 34 56.067472 856 0 1 -8.3995556 41.77804 -204.45 - 34 45.292125 855 0 1 -8.4619956 41.776814 -204.68704 - 34 122.2789 1104 0 0 -8.8870687 41.702894 -205.85 - 34 337.7082 896 5 1 0.087530295 -0.05 -54.616928 - 34 160.48178 933 4 1 7.5898664 -2.4107558 -84.45 - 34 105.79558 885 4 0 7.6086237 -2.6017267 -85.85 - 34 144.74222 927 3 1 6.4285941 -7.0109261 -114.45 - 34 112.55542 859 3 0 6.131998 -7.7157256 -115.85 - 34 16.777695 858 3 0 6.0696934 -7.9071813 -116.18706 - 34 120.12 772 2 0 -0.20550141 -25.160976 -145.85 - 34 47.312828 771 2 0 -0.20514481 -25.290545 -146.07692 - 34 160.4374 892 1 1 -1.0511861 -44.076448 -174.45 - 34 165.58978 891 1 1 -1.2539749 -44.509629 -174.6759 - 34 90.799437 662 1 0 -2.4993789 -47.141209 -175.85 - 34 85.644019 661 1 0 -2.6294135 -47.390689 -175.96474 - 34 179.15386 660 1 0 -2.7664412 -47.635607 -176.08115 - 34 12.002164 658 1 0 -2.8931923 -47.872082 -176.22371 - 34 138.56365 781 0 1 -23.428463 -98.001353 -204.45 - 34 153.21023 780 0 1 -23.62568 -98.427116 -204.58493 - 34 465.4906 779 0 1 -23.842273 -98.841781 -204.72458 - 34 207.79432 778 0 1 -23.984521 -99.132612 -204.79044 - 34 130.06281 387 0 0 -25.90258 -102.64428 -205.85 - 34 129.69962 385 0 0 -26.126901 -103.01634 -205.94716 - 34 127.83073 383 0 0 -26.347225 -103.39434 -206.02931 - 34 151.71165 381 0 0 -26.496942 -103.79902 -206.13879 - 34 6.0430586 379 0 0 -26.633625 -104.20838 -206.24487 - 34 60.754856 890 5 0 -4.2352907 -1.5239254 -55.85 - 34 107.69407 864 5 1 -6.7733292 -0.69355498 -54.85 - 34 89.762868 863 5 1 -6.8504807 -0.73758097 -54.796107 -Number of digits in this event = 46 -Event: 35 -Number of tracker hits in this event = 7 - 35 103.22057 899 3 1 0.6747585 -0.14017063 -114.45 - 35 140.34281 900 2 1 0.96195145 -0.062550162 -144.45 - 35 201.75904 914 1 1 3.7044351 -0.091375171 -174.45 - 35 121.45981 926 0 1 6.1304056 0.32017561 -204.45 - 35 117.21821 897 0 0 6.2000118 0.31532219 -205.85 - 35 34.756813 914 0 0 -41.376734 3.6995971 -205.86498 - 35 13.115941 913 1 1 3.6493247 -0.052150011 -174.79055 -Number of digits in this event = 4 -Event: 36 -Number of tracker hits in this event = 18 - 36 112.15017 890 3 1 -1.6020756 0.80602412 -114.45 - 36 157.74427 900 3 0 -1.6263819 0.92098914 -115.85 - 36 136.17147 887 2 1 -2.217316 3.5015834 -144.45 - 36 126.20737 913 2 0 -2.2596724 3.6188596 -145.85 - 36 152.26313 883 1 1 -3.0024921 5.7106045 -174.45 - 36 113.13543 924 1 0 -3.0746758 5.8084803 -175.85 - 36 111.42509 875 0 1 -4.5129747 8.0389593 -204.45 - 36 128.10701 936 0 0 -4.6029453 8.1337561 -205.85 - 36 47.353842 876 0 1 -4.2949347 8.0761839 -204.50087 - 36 104.10503 877 0 1 -4.2401103 7.9811509 -204.65724 - 36 198.81665 934 0 0 -3.5946404 7.6858252 -205.85 - 36 84.420352 933 0 0 -3.3776221 7.6269148 -206.07579 - 36 154.98327 1121 0 0 50.113684 45.102515 -206.25 - 36 389.31266 1150 0 1 50.866005 45.696258 -204.85 - 36 44.492069 1151 0 1 51.051592 45.916808 -204.70083 - 36 138.94114 918 0 0 -5.9213085 4.4715216 -205.90702 - 36 101.08282 896 6 0 -0.069834247 0.05 -25.867289 - 36 225.9384 896 0 1 0.24721766 -0.15843619 -204.45 -Number of digits in this event = 11 -Event: 37 -Number of tracker hits in this event = 12 - 37 111.50339 896 5 1 0.064024452 0.066347935 -54.45 - 37 214.92572 896 5 0 0.067125872 0.058580517 -55.85 - 37 123.93298 896 4 1 0.11787255 -0.09670525 -84.45 - 37 286.14219 897 3 1 0.28122908 -0.13357771 -114.45 - 37 136.95982 898 2 1 0.45772648 -0.14799678 -144.45 - 37 168.23019 898 1 1 0.5093749 -0.22990799 -174.45 - 37 102.09132 899 0 1 0.69743828 -0.36272432 -204.45 - 37 49.08225 1530 0 0 64.643766 127.48263 -206.24354 - 37 91.673155 895 0 0 0.7923842 -0.46845489 -206.00678 - 37 119.19401 894 0 0 0.86423594 -0.66458517 -205.9928 - 37 68.023963 894 0 1 -0.75211109 0.081031246 -204.85 - 37 31.897648 893 0 1 -0.85010493 0.084215779 -204.8045 -Number of digits in this event = 6 -Event: 38 -Number of tracker hits in this event = 7 - 38 111.52529 896 5 0 -0.085928746 0.12587775 -55.85 - 38 168.19574 898 4 0 -0.058381652 0.45127603 -85.85 - 38 126.66623 901 2 0 -0.13040447 1.0911784 -145.85 - 38 136.91717 902 1 0 -0.27861483 1.3455335 -175.85 - 38 118.41984 902 0 0 -0.41483361 1.362653 -205.85 - 38 45.549581 956 0 1 12.050733 32.764729 -204.45 - 38 180.67879 955 0 1 12.04691 32.785768 -204.50985 -Number of digits in this event = 5 -Event: 39 -Number of tracker hits in this event = 16 - 39 127.09684 895 2 0 -0.087585307 -0.62859867 -145.85 - 39 118.50538 893 1 0 -0.13428447 -0.86175808 -175.85 - 39 118.74167 893 0 0 -0.39791884 -0.99266266 -205.85 - 39 65.66796 1177 0 0 18.422477 56.260079 -206.25 - 39 138.47683 1178 0 0 18.528176 56.466918 -206.25 - 39 306.79963 1179 0 0 18.720389 56.657201 -206.17458 - 39 49.101187 1180 0 0 18.870067 56.856441 -206.1343 - 39 100.48889 1254 0 0 24.601465 71.800256 -206.25 - 39 158.86789 1255 0 0 24.659644 71.856658 -206.19375 - 39 152.27997 1015 0 1 23.941949 71.959051 -204.85 - 39 94.927908 585 0 0 67.591951 -62.495545 -206.23089 - 39 56.984839 892 2 1 -1.2495723 -0.44006732 -144.45 - 39 79.90226 891 2 1 -1.2807643 -0.40204723 -144.56427 - 39 263.66112 894 2 1 -0.84653589 1.4322779 -144.45 - 39 69.320837 904 2 0 -0.82952496 1.8025841 -145.85 - 39 72.524527 905 2 0 -0.83055414 1.86239 -146.07846 -Number of digits in this event = 8 -Event: 40 -Number of tracker hits in this event = 15 - 40 123.75429 896 5 0 -0.13608345 0.13836296 -55.85 - 40 179.80227 886 3 1 -2.2549947 -2.4738732 -114.45 - 40 152.8904 885 3 0 -2.3784486 -2.5588675 -115.85 - 40 118.59174 874 2 1 -4.8035854 -4.3990503 -144.45 - 40 114.30027 875 2 0 -4.8386748 -4.5522604 -145.85 - 40 111.79113 871 1 1 -5.4332963 -7.4612512 -174.45 - 40 133.71496 860 1 0 -5.4717943 -7.5792071 -175.85 - 40 120.86892 867 0 1 -6.131878 -9.8515113 -204.45 - 40 118.77494 848 0 0 -6.0923636 -9.9238606 -205.85 - 40 107.11355 896 4 1 0.05 0.4405197 -84.472401 - 40 86.381295 897 4 1 0.28006577 0.6088888 -84.527849 - 40 169.64714 898 4 1 0.45699483 0.81384712 -84.621296 - 40 1.4400185 899 4 1 0.74131692 1.243359 -84.849313 - 40 71.729498 906 4 0 2.1930678 2.157574 -85.85 - 40 166.31493 903 4 1 1.6468644 1.9026293 -84.85 -Number of digits in this event = 8 -Event: 41 -Number of tracker hits in this event = 12 - 41 107.0528 897 4 1 0.31149206 -0.1385711 -84.45 - 41 150.20711 898 3 1 0.50256024 -0.39278677 -114.45 - 41 132.32177 899 2 1 0.70515638 -0.50749996 -144.45 - 41 120.3031 895 2 0 0.71821053 -0.50753246 -145.85 - 41 144.31496 900 1 1 0.96278137 -0.48047285 -174.45 - 41 238.4758 895 1 0 0.97187905 -0.49377289 -175.85 - 41 112.97936 900 0 1 0.92039918 -0.83734787 -204.45 - 41 129.93499 893 0 0 0.93652822 -0.8597675 -205.85 - 41 138.26904 934 3 0 68.509621 7.7522 -116.25 - 41 79.856181 933 3 0 68.737916 7.6465332 -115.93344 - 41 51.617038 1243 3 1 69.595223 5.7382242 -114.85 - 41 188.05895 1244 3 1 69.650536 5.7077414 -114.78359 -Number of digits in this event = 9 -Event: 42 -Number of tracker hits in this event = 44 - 42 122.745 896 5 1 0.18427534 0.073140927 -54.45 - 42 140.26459 896 5 0 0.19642983 0.071791838 -55.85 - 42 33.890144 897 4 1 0.44911083 0.066139186 -84.45 - 42 117.5263 898 4 1 0.45066055 0.066010396 -84.564285 - 42 139.19594 896 4 0 0.46776447 0.065422308 -85.85 - 42 124.06673 900 3 1 0.8827757 0.063764068 -114.45 - 42 158.45882 902 2 1 1.4026568 -0.35520417 -144.45 - 42 168.5936 905 1 1 1.9500833 -0.81475773 -174.45 - 42 123.76528 894 1 0 1.9822039 -0.84015864 -175.85 - 42 32.936396 908 0 1 2.6486318 -1.3857802 -204.45 - 42 153.61935 909 0 1 2.6511049 -1.3876146 -204.56429 - 42 123.66416 891 0 0 2.6788994 -1.3961875 -205.85 - 42 59.166241 927 0 0 17.11893 6.3833517 -206.25 - 42 65.046748 928 0 0 17.253691 6.4589025 -206.15229 - 42 70.686031 929 0 0 17.434137 6.6565364 -206.02094 - 42 158.68596 984 0 1 17.788133 7.5339233 -204.85 - 42 68.578776 985 0 1 17.86171 7.6557538 -204.75448 - 42 76.562212 983 0 1 17.645971 7.9423451 -204.60954 - 42 81.536414 982 0 1 17.446357 7.8944934 -204.55016 - 42 126.73132 981 0 1 17.227392 7.9841812 -204.62121 - 42 82.850931 938 0 0 16.960927 8.5337195 -205.85 - 42 233.77649 939 0 0 16.965537 8.6514264 -205.95747 - 42 93.405913 890 0 0 2.6870462 -1.6050793 -205.85 - 42 16.542655 889 0 0 2.6923301 -1.6585348 -206.19365 - 42 187.22414 896 3 0 0.9159953 0.05 -116.23252 - 42 27.946717 1319 3 0 25.180567 84.793944 -116.25 - 42 31.300961 1320 3 0 25.174726 84.854996 -116.2177 - 42 274.16758 896 4 1 0.12669267 -0.073160895 -84.45 - 42 79.733006 895 4 0 0.088078606 -0.46286874 -85.85 - 42 196.28439 903 3 1 1.4667996 -5.9087515 -114.45 - 42 178.62123 902 3 1 1.4490011 -6.601424 -114.58609 - 42 208.2023 901 3 1 1.1841122 -7.3072701 -114.45 - 42 33.065821 893 4 0 0.58891217 -1.0219952 -85.85 - 42 109.80969 892 4 0 0.63595157 -1.1109801 -85.958694 - 42 64.05165 891 4 0 0.72647674 -1.3154738 -86.152457 - 42 157.58462 965 3 1 13.862003 -49.45149 -114.45 - 42 166.64336 966 3 1 14.074642 -49.280989 -114.59823 - 42 66.916958 967 3 1 14.269523 -48.865089 -114.49754 - 42 110.66058 968 3 1 14.473958 -48.858593 -114.48396 - 42 168.8316 969 3 1 14.668874 -48.865676 -114.52905 - 42 186.41392 647 3 0 14.019115 -50.063618 -115.85 - 42 87.423415 648 3 0 13.660275 -50.048995 -116.13277 - 42 84.063735 388 3 0 43.922067 -102.48084 -116.25 - 42 63.868348 387 3 0 43.975607 -102.55093 -116.21658 -Number of digits in this event = 23 -Event: 43 -Number of tracker hits in this event = 12 - 43 154.31016 894 2 0 -0.057803561 -0.81384922 -145.85 - 43 235.1827 895 1 1 -0.56862146 -0.40815754 -174.45 - 43 142.04479 895 0 1 -0.5544232 0.35752471 -204.45 - 43 122.75694 897 0 0 -0.55991241 0.39893959 -205.85 - 43 139.26907 1039 0 0 -26.904081 28.686551 -206.25 - 43 356.25294 19 4 0 115.19096 -176.27298 -86.25 - 43 269.87456 893 4 0 -0.10065439 -0.92446433 -85.85 - 43 47.051657 894 4 0 -0.097549839 -0.84481499 -85.922682 - 43 18.18206 1563 6 0 -122.28704 133.96263 -26.25 - 43 41.569229 1716 6 0 -175.07305 164.56149 -26.25 - 43 303.71326 1715 6 0 -175.09533 164.54982 -26.168241 - 43 156.27188 896 6 0 -0.054148093 0.05 -26.139409 -Number of digits in this event = 11 -Event: 44 -Number of tracker hits in this event = 39 - 44 138.58497 896 5 1 0.058939368 0.1844737 -54.45 - 44 147.66012 896 5 0 0.065913313 0.19516536 -55.85 - 44 138.39614 897 4 1 0.27389982 0.39173825 -84.45 - 44 230.53521 897 4 0 0.28539402 0.39430584 -85.85 - 44 145.77821 898 3 1 0.56382853 0.46879674 -114.45 - 44 167.33298 898 3 0 0.59439647 0.47735589 -115.85 - 44 129.23639 901 2 1 1.2139841 0.65368594 -144.45 - 44 111.81107 899 2 0 1.2561009 0.66166743 -145.85 - 44 224.06227 906 1 1 2.0738475 0.86395681 -174.45 - 44 263.42261 900 1 0 2.1176581 0.8810994 -175.85 - 44 141.13946 910 0 1 3.003414 1.3246621 -204.45 - 44 143.94797 902 0 0 3.0423152 1.3412284 -205.85 - 44 306.94222 896 4 1 0.15767658 0.4211834 -84.45 - 44 74.464071 900 4 0 0.17629615 0.98206346 -85.85 - 44 56.649347 901 4 0 0.16224952 1.0578333 -86.0835 - 44 36.183946 979 3 0 -0.8776111 16.84656 -115.85 - 44 148.70397 980 3 0 -0.91823482 16.920242 -115.96587 - 44 101.99666 896 3 1 0.23293631 -0.8949393 -114.45 - 44 279.93026 892 3 0 0.20778061 -1.0857072 -115.85 - 44 116.24958 894 2 1 -0.65540735 -4.2968321 -144.45 - 44 133.61559 877 2 0 -0.89225128 -4.1660028 -145.85 - 44 128.24275 869 1 1 -5.65887 -2.1070644 -174.45 - 44 156.56243 887 1 0 -6.1425981 -2.1514427 -175.85 - 44 176.84344 821 0 1 -15.363598 -2.6512768 -204.45 - 44 187.27992 820 0 1 -15.521277 -2.6235487 -204.70417 - 44 149.06171 885 0 0 -16.259878 -2.5497231 -205.85 - 44 152.36983 897 3 1 0.25811412 -0.87485867 -114.45 - 44 184.66534 950 2 1 10.895214 4.3802777 -144.45 - 44 103.76411 949 2 1 10.841654 5.0119187 -144.55348 - 44 34.582434 925 2 0 10.714325 5.9893322 -145.85 - 44 92.947203 926 2 0 10.68842 6.0727591 -145.96026 - 44 34.946477 955 1 1 11.872913 28.758549 -174.45 - 44 43.57945 954 1 1 11.74564 28.752267 -174.55002 - 44 55.413309 953 1 1 11.584969 28.739728 -174.58638 - 44 94.02847 952 1 1 11.431466 28.733158 -174.64319 - 44 7.8647974 951 1 1 11.158633 28.736273 -174.82386 - 44 138.54515 1039 1 0 10.18189 28.745025 -175.85 - 44 39.705453 1040 1 0 9.9199265 28.947258 -176.18204 - 44 5.9206206 1041 1 0 9.9138925 29.062314 -176.24627 -Number of digits in this event = 26 -Event: 45 -Number of tracker hits in this event = 4 - 45 110.84096 896 4 0 -0.22715151 0.074393282 -85.85 - 45 196.56386 896 2 0 -0.30962199 0.16428611 -145.85 - 45 101.58099 896 1 0 -0.22538779 0.18259506 -175.85 - 45 98.717574 896 0 0 -0.11752527 0.24128687 -205.85 -Number of digits in this event = 3 -Event: 46 -Number of tracker hits in this event = 38 - 46 193.62133 896 5 0 -0.12724306 0.23530922 -55.85 - 46 126.59357 897 4 1 0.35591149 0.74391686 -84.45 - 46 129.8128 899 4 0 0.30358453 0.7684936 -85.85 - 46 138.09677 893 3 1 -0.93747474 1.1657225 -114.45 - 46 100.78461 901 3 0 -1.0620388 1.1888233 -115.85 - 46 144.26519 879 2 1 -3.7664673 1.8798187 -144.45 - 46 223.58128 905 2 0 -3.979706 1.928987 -145.85 - 46 125.66471 856 1 1 -8.2551559 2.7361175 -174.45 - 46 118.35984 909 1 0 -8.4049859 2.7835636 -175.85 - 46 125.24384 839 0 1 -11.722032 4.288407 -204.45 - 46 133.01986 914 0 0 -11.852052 3.833285 -205.85 - 46 373.15904 895 3 1 -0.48056567 0.52484587 -114.45 - 46 254.83136 898 3 0 -0.49257738 0.53110547 -115.85 - 46 147.81205 894 2 1 -0.77763985 0.65373954 -144.45 - 46 108.00269 899 2 0 -0.78518814 0.66067351 -145.85 - 46 316.46869 893 1 1 -0.93727959 0.7240627 -174.45 - 46 256.96814 899 1 0 -0.94900194 0.73295037 -175.85 - 46 99.399184 892 0 1 -1.1752085 0.95348336 -204.45 - 46 244.52922 900 0 0 -1.1707913 0.94528726 -205.85 - 46 156.20307 1428 14 0 136.46962 107.14542 213.99932 - 46 19.558706 1429 14 0 136.45898 107.15215 214.0247 - 46 95.79735 891 0 1 -1.2955085 1.053141 -204.45 - 46 93.077935 816 0 0 49.91098 -16.391108 -206.03147 - 46 105.69493 892 2 1 -1.1062841 1.8613478 -144.45 - 46 109.77105 884 1 1 -2.8283109 3.5987697 -174.45 - 46 148.47554 913 1 0 -2.9142147 3.5552962 -175.85 - 46 120.02174 874 0 1 -4.7772999 2.5328992 -204.45 - 46 261.49423 908 0 0 -4.8648551 2.5636547 -205.85 - 46 131.84878 894 3 1 -0.66016027 0.42217436 -114.8183 - 46 158.63784 896 3 0 -1.3215324 0.21343283 -115.85 - 46 311.75732 896 2 0 -0.19905848 0.10493662 -145.85 - 46 115.42268 883 0 1 -2.9540983 2.5138965 -204.45 - 46 105.14845 878 1 1 -3.8623407 1.8999877 -174.45 - 46 111.50777 907 1 0 -4.1060412 2.3562707 -175.85 - 46 23.12319 908 1 0 -4.1553198 2.4735499 -176.19244 - 46 142.07013 863 0 1 -6.9916276 14.425539 -204.45 - 46 211.06997 972 0 0 -6.9406534 15.260078 -205.85 - 46 64.242434 973 0 0 -6.9250521 15.4607 -206.19478 -Number of digits in this event = 26 -Event: 47 Number of tracker hits in this event = 30 - 47 162.78447 896 5 1 0.065507913 0.22719446 -54.45 - 47 160.03102 896 5 0 0.078862616 0.23577809 -55.85 - 47 103.79515 897 4 1 0.34976943 0.44350904 -84.45 - 47 138.34306 897 4 0 0.36113927 0.44485394 -85.85 - 47 248.06194 898 3 1 0.60109853 0.47715511 -114.45 - 47 123.17044 898 3 0 0.60572735 0.48463861 -115.85 - 47 154.73515 899 2 1 0.73939104 0.62963784 -144.45 - 47 182.69355 898 2 0 0.74985265 0.64176827 -145.85 - 47 154.14625 900 1 1 0.95042187 0.91233521 -174.45 - 47 124.53466 900 1 0 0.95609831 0.92158635 -175.85 - 47 136.51327 901 0 1 1.0936874 1.1254389 -204.45 - 47 122.36416 901 0 0 1.1004454 1.1350779 -205.85 - 47 128.6332 468 1 1 -85.924885 -12.119929 -174.45 - 47 132.95959 902 3 0 0.68696578 1.3127269 -115.85 - 47 41.852791 928 2 1 6.4512258 10.123301 -144.45 - 47 79.501058 927 2 1 6.3818367 10.087906 -144.56863 - 47 125.00619 926 2 1 6.2343791 10.020269 -144.80071 - 47 197.47329 943 2 0 5.6406995 9.6286352 -145.85 - 47 67.593512 942 2 0 5.3614218 9.4221005 -146.20619 - 47 50.773204 848 1 1 -9.8672565 -5.4829388 -174.45 - 47 75.060839 849 1 1 -9.7830077 -5.4562249 -174.5707 - 47 11.129196 850 1 1 -9.6098618 -5.4527085 -174.81287 - 47 171.0556 870 1 0 -9.03263 -5.5814689 -175.85 - 47 108.85107 1015 0 1 24.024048 -10.71855 -204.45 - 47 37.4613 847 0 0 23.559107 -10.108707 -205.85 - 47 141.54952 848 0 0 23.520202 -10.047531 -205.96084 - 47 71.085887 1012 0 1 23.395994 -5.2292468 -204.76412 - 47 68.446333 1013 0 1 23.45412 -5.2066528 -204.73769 - 47 251.6638 944 2 0 5.6331191 9.6532698 -145.92541 - 47 92.828442 941 2 0 6.4777429 9.0971271 -145.85 -Number of digits in this event = 19 -Event: 48 -Number of tracker hits in this event = 23 - 48 135.66402 896 4 1 0.10376539 -0.14350142 -84.45 - 48 136.72026 896 3 1 0.23938171 -0.27727925 -114.45 - 48 32.647974 897 2 1 0.44855413 -0.39951054 -144.45 - 48 88.643151 898 2 1 0.45004399 -0.40129709 -144.56428 - 48 97.651291 899 1 1 0.78657607 -0.98757917 -174.45 - 48 199.83625 893 1 0 0.80421867 -1.0208864 -175.85 - 48 117.13998 901 0 1 1.2183801 -1.7154546 -204.45 - 48 163.52016 889 0 0 1.2320406 -1.7712241 -205.85 - 48 159.99493 1160 1 1 52.966327 178.1732 -174.45 - 48 224.19764 1161 1 1 53.056797 178.22314 -174.50707 - 48 44.17796 1280 5 1 76.999688 126.36084 -54.841365 - 48 71.708313 888 5 0 0.22163122 -2.0103782 -55.85 - 48 48.124985 887 5 0 0.27156578 -2.1650983 -55.950723 - 48 67.116709 886 5 0 0.34938968 -2.3207912 -56.030726 - 48 53.304105 885 5 0 0.4109793 -2.5007086 -56.044408 - 48 59.71943 884 5 0 0.41415137 -2.6914673 -56.062641 - 48 98.726713 883 5 0 0.37007277 -2.8709398 -56.116884 - 48 27.868206 691 5 0 -69.85458 -41.260556 -56.25 - 48 149.43619 692 5 0 -69.897471 -41.216497 -56.174353 - 48 36.443991 693 5 0 -70.045474 -40.987057 -55.910741 - 48 60.997313 544 5 1 -70.732191 -40.39186 -54.85 - 48 101.5016 543 5 1 -70.888691 -40.401927 -54.725171 - 48 27.469002 542 5 1 -71.058261 -40.532851 -54.518876 -Number of digits in this event = 9 -Event: 49 -Number of tracker hits in this event = 28 - 49 227.62898 896 5 0 -0.12939906 0.14029904 -55.85 - 49 113.51106 896 4 0 -0.15505201 0.11191222 -85.85 - 49 153.0468 896 3 0 -0.21271179 0.24574352 -115.85 - 49 111.37705 895 2 1 -0.51313475 0.24519842 -144.45 - 49 113.28276 896 2 0 -0.53062012 0.23986494 -145.85 - 49 206.43531 893 1 1 -0.933651 0.33458289 -174.45 - 49 130.3618 897 1 0 -0.94212411 0.35128986 -175.85 - 49 172.14633 892 0 1 -1.1411462 0.67431569 -204.45 - 49 105.75776 899 0 0 -1.1594243 0.68853158 -205.85 - 49 39.793741 230 0 0 154.60701 -134.00999 -206.25 - 49 196.24337 895 3 1 -0.50941443 1.0219221 -114.58541 - 49 66.035943 918 3 0 -0.64269267 4.526985 -115.85 - 49 101.92163 919 3 0 -0.61927349 4.7759647 -115.90174 - 49 77.117778 920 3 0 -0.50239863 5.0029005 -115.94874 - 49 135.48015 921 3 0 -0.45454867 5.0653363 -116.02348 - 49 48.958635 894 3 1 -0.67588306 1.3509182 -114.80193 - 49 54.580467 910 3 0 -4.0625237 2.9346237 -115.85 - 49 91.593318 911 3 0 -4.1528444 3.0783377 -115.90778 - 49 271.72342 863 3 1 -6.8742993 4.1460794 -114.85 - 49 269.68621 864 3 1 -6.8459881 4.2203562 -114.60032 - 49 109.48255 897 3 0 -0.41325345 0.40708087 -115.85 - 49 115.94385 890 2 1 -1.4894633 0.44065294 -144.45 - 49 139.32013 898 2 0 -1.5000147 0.53733802 -145.85 - 49 152.82934 889 1 1 -1.7247819 2.6679022 -174.45 - 49 148.18159 909 1 0 -1.660146 2.762372 -175.85 - 49 108.93691 897 0 1 0.31603182 5.72518 -204.45 - 49 118.24873 925 0 0 0.55900119 5.9415384 -205.85 - 49 180.19271 418 2 0 11.406524 -96.456627 -145.89909 -Number of digits in this event = 15 -Event: 50 -Number of tracker hits in this event = 4 - 50 139.39713 896 5 0 -0.10536034 0.054410987 -55.85 - 50 119.3716 896 4 0 -0.32535529 0.11599488 -85.85 - 50 138.88173 893 1 1 -1.0107577 -0.11942856 -174.45 - 50 264.82666 891 0 1 -1.3309783 -0.16937808 -204.45 -Number of digits in this event = 5 -Event: 51 -Number of tracker hits in this event = 18 - 51 124.79021 896 5 1 0.12216814 0.10132336 -54.45 - 51 149.14869 896 5 0 0.14265652 0.094124236 -55.85 - 51 107.78554 898 4 1 0.55336894 -0.06739918 -84.45 - 51 114.95224 901 3 1 1.1445694 -0.47287298 -114.45 - 51 105.24838 895 3 0 1.1700536 -0.49008943 -115.85 - 51 130.66879 904 2 1 1.6649837 -0.84259466 -144.45 - 51 133.95993 893 2 0 1.6884829 -0.85723518 -145.85 - 51 498.03938 906 1 1 2.1472474 -1.1617823 -174.45 - 51 150.2595 892 1 0 2.1650691 -1.1759992 -175.85 - 51 98.719609 908 0 1 2.4962787 -1.4533503 -204.45 - 51 132.58477 890 0 0 2.5119598 -1.4621137 -205.85 - 51 61.015539 1166 2 1 54.131178 115.19733 -144.46352 - 51 8.788382 655 0 0 43.669424 -48.568912 -205.86343 - 51 193.46652 1122 0 1 45.404619 -50.853055 -204.85 - 51 15.729146 1123 0 1 45.450862 -50.940208 -204.79305 - 51 113.22265 1121 0 1 45.247057 -51.103954 -204.78224 - 51 173.02614 907 1 1 2.2552014 -1.0919702 -174.50347 - 51 36.934449 905 1 1 2.0289449 -0.61554736 -174.50342 -Number of digits in this event = 10 -Event: 52 -Number of tracker hits in this event = 6 - 52 117.99191 896 4 1 0.24515484 0.10887079 -84.45 - 52 108.36404 896 4 0 0.2469994 0.10867668 -85.85 - 52 127.7247 897 3 1 0.30130108 0.11687758 -114.45 - 52 111.67924 896 3 0 0.309712 0.11679994 -115.85 - 52 130.96805 900 1 1 0.8971189 -0.20770975 -174.45 - 52 121.50815 902 0 1 1.2777453 -0.28866872 -204.45 -Number of digits in this event = 5 -Event: 53 -Number of tracker hits in this event = 34 - 53 121.88306 915 4 1 3.8667339 0.55335176 -84.45 - 53 29.631123 898 4 0 3.9950006 0.64474024 -85.85 - 53 109.82148 899 4 0 4.005847 0.65263682 -85.964242 - 53 264.87525 929 3 1 6.8245288 2.3045749 -114.45 - 53 14.775441 930 3 1 6.8562731 2.3101519 -114.79275 - 53 177.59585 907 3 0 6.9586401 2.3309323 -115.85 - 53 132.91251 944 2 1 9.7422218 2.8409319 -144.45 - 53 119.67562 910 2 0 9.923898 2.8780409 -145.85 - 53 134.76116 963 1 1 13.485184 3.5519126 -174.45 - 53 133.14347 913 1 0 13.611574 3.6035717 -175.85 - 53 146.76564 976 0 1 16.088067 4.5080937 -204.45 - 53 144.14931 918 0 0 16.217164 4.5414164 -205.85 - 53 135.88162 914 4 1 3.8467766 0.55287246 -84.466892 - 53 121.52308 899 3 1 0.81281062 -0.064766664 -114.45 - 53 202.83814 903 2 1 1.5182247 0.51542234 -144.45 - 53 106.84299 898 2 0 1.5060019 0.5891637 -145.85 - 53 119.26889 902 1 1 1.3006597 1.9200564 -174.45 - 53 116.84989 905 1 0 1.2504666 1.9737771 -175.85 - 53 354.4061 896 0 1 0.088868805 3.0633068 -204.45 - 53 113.21168 911 0 0 0.16279566 3.0531792 -205.85 - 53 83.410961 991 0 1 19.194466 149.93159 -204.69918 - 53 398.07152 992 0 1 19.258419 150.01691 -204.59481 - 53 146.70716 993 0 1 19.463492 150.43023 -204.59017 - 53 245.76599 896 2 1 0.083814902 -0.13430925 -144.45 - 53 134.48008 900 1 0 -0.098730447 0.99622064 -175.85 - 53 325.03549 897 1 1 0.30665292 -0.13160255 -174.45 - 53 266.66461 897 0 1 0.34840204 -0.11878098 -204.45 - 53 193.15858 887 0 1 -2.1506711 2.6261244 -204.45 - 53 113.07905 909 0 0 -2.4854898 2.6703176 -205.85 - 53 74.630878 886 0 1 -2.2538652 2.7680694 -204.6881 - 53 78.8544 915 0 0 -2.5520853 3.9424361 -205.85 - 53 80.065108 916 0 0 -2.5927254 4.0764143 -206.04804 - 53 139.07628 921 0 0 -6.1111421 5.1314518 -206.25 - 53 181.70422 922 0 0 -6.3062518 5.2525685 -206.19897 -Number of digits in this event = 24 -Event: 54 -Number of tracker hits in this event = 38 - 54 122.75596 896 5 1 0.12861415 0.13203904 -54.45 - 54 113.24636 896 5 0 0.1315693 0.14058162 -55.85 - 54 129.64459 896 4 1 0.23801166 0.27746466 -84.45 - 54 115.5335 897 4 0 0.23848505 0.28300633 -85.85 - 54 131.97442 897 3 1 0.27212121 0.42186223 -114.45 - 54 128.42725 897 3 0 0.28313169 0.43280428 -115.85 - 54 119.39054 898 2 1 0.53583131 0.66057644 -144.45 - 54 134.67551 899 2 0 0.53668722 0.6692052 -145.85 - 54 130.05951 898 1 1 0.53935824 0.81319495 -174.45 - 54 111.6886 899 1 0 0.54158233 0.81828382 -175.85 - 54 101.21817 898 0 1 0.59366144 0.9457803 -204.45 - 54 159.41517 900 0 0 0.58847836 0.96734769 -205.85 - 54 86.295493 907 3 1 2.3625728 -16.318189 -114.45 - 54 184.75501 906 3 1 2.2164028 -16.357672 -114.61537 - 54 56.553356 905 3 1 2.0342711 -16.59686 -114.50126 - 54 2.9831011 682 1 1 -43.247774 -22.51149 -174.83165 - 54 19.955208 681 1 1 -43.250764 -22.514614 -174.83841 - 54 252.52806 780 1 0 -43.842195 -23.592255 -175.85 - 54 64.081504 891 5 1 -1.2741891 0.63527963 -54.45 - 54 42.059506 892 5 1 -1.2277483 0.63088464 -54.678438 - 54 102.98156 898 5 0 -1.0097986 0.62386369 -55.85 - 54 163.14349 915 4 1 3.9677994 -0.066654048 -84.45 - 54 80.779103 916 4 1 4.0702152 -0.056416976 -84.678325 - 54 34.426456 994 3 1 19.847763 1.695466 -114.45 - 54 68.166017 995 3 1 19.916999 1.7113194 -114.56349 - 54 19.886277 996 3 1 20.053636 1.7450412 -114.79123 - 54 185.35231 905 3 0 20.701161 1.8942192 -115.85 - 54 129.97344 1089 2 1 38.738078 6.0386015 -144.45 - 54 17.116435 1090 2 1 38.854658 6.1442512 -144.79458 - 54 33.978935 927 2 0 39.19064 6.4488128 -145.85 - 54 76.502681 928 2 0 39.227878 6.4801894 -145.96444 - 54 129.82601 1139 1 1 48.708902 14.292266 -174.45 - 54 40.914157 967 1 0 49.220462 14.446125 -175.85 - 54 97.443692 968 1 0 49.264014 14.458644 -175.96364 - 54 52.549181 1195 0 1 60.028018 18.329301 -204.45 - 54 109.76358 1196 0 1 60.06898 18.343069 -204.56368 - 54 122.17423 988 0 0 60.542542 18.472439 -205.85 - 54 126.01431 896 6 0 0.3811631 0.073168647 -25.85 -Number of digits in this event = 17 -Event: 55 -Number of tracker hits in this event = 15 - 55 118.51678 896 5 1 0.10714651 -0.12274356 -54.45 - 55 99.358748 897 4 1 0.39542807 -0.11703732 -84.45 - 55 163.91748 899 3 1 0.73729028 -0.12917012 -114.45 - 55 131.47123 901 2 1 1.1012302 -0.27009939 -144.45 - 55 120.17754 903 1 1 1.523596 -0.43980088 -174.45 - 55 133.15154 905 0 1 1.8620871 -0.52779593 -204.45 - 55 123.21246 895 0 0 1.8835179 -0.52965097 -205.85 - 55 29.922893 167 7 0 -145.84455 -146.73252 3.9713603 - 55 29.210992 166 7 0 -145.87807 -146.76675 4.0550204 - 55 53.925044 169 7 1 -146.24034 -147.33924 5.15 - 55 150.46822 168 7 1 -146.35157 -147.39699 5.2692238 - 55 53.837042 167 7 1 -146.55739 -147.3833 5.2526089 - 55 38.733026 161 7 0 -146.85111 -147.76042 4.15 - 55 161.30276 162 7 0 -146.84144 -147.74255 4.0345837 - 55 372.80097 163 7 0 -146.68817 -147.54907 3.9229339 -Number of digits in this event = 11 -Event: 56 -Number of tracker hits in this event = 19 - 56 114.9173 898 3 1 0.61789452 0.15593957 -114.45 - 56 163.51497 896 3 0 0.63328114 0.15471198 -115.85 - 56 102.74346 900 2 1 0.95504715 0.13153805 -144.45 - 56 128.64841 896 2 0 0.97580512 0.13309884 -145.85 - 56 102.19066 902 1 1 1.4128044 0.16443911 -174.45 - 56 176.5015 896 1 0 1.4319019 0.17161141 -175.85 - 56 211.5709 904 0 1 1.7950545 0.33998841 -204.45 - 56 415.97683 897 0 0 1.8061609 0.34745338 -205.85 - 56 245.61456 905 0 1 1.8532662 0.38930714 -204.56502 - 56 179.34111 1112 4 0 171.59223 43.282149 -86.072519 - 56 90.022262 1111 4 0 171.73874 43.234487 -86.210839 - 56 15.923812 758 14 0 -137.94427 -27.867413 213.75 - 56 129.16831 759 14 0 -137.91624 -27.835074 213.79553 - 56 107.9934 760 14 0 -138.0564 -27.638166 213.92896 - 56 264.50819 761 14 0 -138.28913 -27.444742 213.99377 - 56 149.0764 762 14 0 -138.53226 -27.248347 213.77445 - 56 127.62958 639 0 1 -51.657079 -67.43911 -204.47332 - 56 287.17706 903 0 1 1.5901256 0.30730515 -204.45 - 56 386.45628 1480 9 0 93.448103 117.40648 63.819132 -Number of digits in this event = 14 -Event: 57 -Number of tracker hits in this event = 10 - 57 129.94603 896 4 1 0.10594865 -0.16441402 -84.45 - 57 124.67509 896 3 1 0.22427825 -0.34207897 -114.45 - 57 125.67418 898 2 1 0.63436932 -0.61656111 -144.45 - 57 122.61276 895 2 0 0.65372374 -0.63179689 -145.85 - 57 150.5273 900 1 1 1.0246426 -0.96510663 -174.45 - 57 231.29396 893 1 0 1.0388289 -0.98623045 -175.85 - 57 125.40083 902 0 1 1.345455 -1.4151186 -204.45 - 57 158.85201 891 0 0 1.3534837 -1.4300428 -205.85 - 57 21.544211 27 2 1 -174.72902 18.517021 -144.53078 - 57 265.95969 26 2 1 -174.7539 18.540592 -144.46142 -Number of digits in this event = 10 -Event: 58 -Number of tracker hits in this event = 18 - 58 105.36512 896 4 1 0.10001988 -0.40575396 -84.45 - 58 33.194074 896 1 1 0.05 1.1742761 -174.7206 - 58 112.38368 901 1 0 0.074042959 1.2024093 -175.85 - 58 124.77459 899 0 1 0.72224309 2.1577046 -204.45 - 58 144.96888 906 0 0 0.67293909 2.2014723 -205.85 - 58 30.39969 885 1 0 0.05 -2.612436 -176.19787 - 58 31.864245 884 1 0 0.063360427 -2.7459374 -176.20605 - 58 77.054932 883 1 0 0.089446834 -2.8774572 -176.21548 - 58 30.837392 882 1 0 0.15594002 -3.1369087 -176.22372 - 58 20.637494 881 1 0 0.18291927 -3.2668165 -176.24513 - 58 274.67956 896 1 0 0.096027567 0.05 -175.95083 - 58 92.088463 696 1 0 -29.787917 -40.28538 -176.25 - 58 271.44245 695 1 0 -29.931491 -40.453571 -176.20706 - 58 174.18292 893 0 1 -1.0462178 1.2693108 -204.45 - 58 207.55281 892 0 1 -1.0557354 1.2484979 -204.56421 - 58 132.64736 900 0 0 -1.1669629 0.97627917 -205.85 - 58 183.10577 894 0 1 -0.84787359 1.3733716 -204.68774 - 58 126.14341 1664 2 1 154.21158 119.19475 -144.71025 -Number of digits in this event = 12 -Event: 59 -Number of tracker hits in this event = 5 - 59 116.87877 897 0 1 0.325368 0.18564111 -204.45 - 59 116.61813 896 0 0 0.33667694 0.19618547 -205.85 - 59 198.06678 1536 1 1 128.70998 -91.795698 -174.45 - 59 129.82187 907 0 0 -4.9399952 2.3039571 -206.25 - 59 139.41584 1350 5 1 91.48111 76.24386 -54.605828 -Number of digits in this event = 5 -Event: 60 -Number of tracker hits in this event = 63 - 60 146.49936 896 4 1 0.06455023 0.21461017 -84.45 - 60 130.24171 896 4 0 0.070636015 0.22074386 -85.85 - 60 107.50314 896 3 1 0.17273789 0.38760409 -114.45 - 60 122.9151 897 3 0 0.18418137 0.3912386 -115.85 - 60 126.95539 897 2 1 0.42518814 0.4623094 -144.45 - 60 188.14069 898 2 0 0.43466439 0.46887957 -145.85 - 60 167.10396 898 1 1 0.63569327 0.59620786 -174.45 - 60 118.92195 898 1 0 0.64880235 0.60425911 -175.85 - 60 102.4892 900 0 1 0.92060422 0.78836337 -204.45 - 60 104.33684 899 0 0 0.93501169 0.80059994 -205.85 - 60 172.80322 1500 0 0 38.908826 121.39886 -206.17495 - 60 85.511442 1501 0 0 38.981832 121.63587 -205.96806 - 60 123.5261 1094 0 1 39.817339 122.85002 -204.85 - 60 121.55516 1095 0 1 39.912037 122.96994 -204.74267 - 60 60.205639 1096 0 1 40.079517 123.23933 -204.5456 - 60 67.732032 1093 0 1 39.613561 123.71361 -204.58293 - 60 219.5864 1092 0 1 39.425309 123.65308 -204.69969 - 60 12.08076 1091 0 1 39.232139 123.62183 -204.82154 - 60 189.0317 1508 0 0 37.47901 123.13616 -205.85 - 60 96.44945 1507 0 0 36.889365 122.92235 -206.11741 - 60 52.419206 1028 4 0 -13.439221 26.598235 -86.188153 - 60 109.24646 1145 1 0 98.977332 49.886611 -176.25 - 60 107.64648 1143 1 0 99.194489 49.581692 -176.10336 - 60 136.41955 1142 1 0 99.390216 49.25114 -175.98494 - 60 12.878286 1140 1 0 99.598545 48.942181 -175.85756 - 60 176.37331 1405 1 1 102.39477 45.457897 -174.85 - 60 145.73958 1406 1 1 102.65358 45.038476 -174.7213 - 60 55.834508 1408 1 1 103.01338 44.686201 -174.70447 - 60 392.02961 1409 1 1 103.17233 44.566154 -174.7073 - 60 206.26275 1411 1 1 103.63958 44.367173 -174.73493 - 60 12.238821 1413 1 1 104.07817 44.113602 -174.83303 - 60 314.20772 1108 1 0 106.16522 42.60491 -175.85 - 60 137.34977 1107 1 0 106.42476 42.429684 -176.01855 - 60 41.654197 1728 0 1 166.95187 69.781919 -204.45 - 60 41.745287 1727 0 1 166.78809 69.828184 -204.48014 - 60 36.648656 1726 0 1 166.63306 69.898425 -204.47596 - 60 140.85605 1725 0 1 166.48595 69.981604 -204.50469 - 60 111.6874 1724 0 1 166.33193 70.063774 -204.4817 - 60 99.439448 1723 0 1 166.05918 70.188375 -204.50964 - 60 79.985557 1722 0 1 165.84892 70.251417 -204.56271 - 60 306.54557 1721 0 1 165.70294 70.44444 -204.59525 - 60 33.720262 904 2 0 -0.067651777 1.8156142 -145.85 - 60 281.67077 920 1 1 4.9090523 6.3570316 -174.45 - 60 102.80018 928 1 0 5.0448015 6.5291879 -175.85 - 60 239.304 941 0 1 9.1429809 9.7557226 -204.45 - 60 29.962555 945 0 0 9.4529437 10.034564 -205.85 - 60 82.482794 946 0 0 9.4788962 10.058259 -205.96373 - 60 14.379077 919 1 1 4.8441624 6.4918376 -174.81904 - 60 21.101891 929 1 0 4.8648014 6.8257678 -175.85 - 60 255.59276 930 1 0 4.8724181 6.8553723 -175.88564 - 60 95.116319 675 2 0 57.10748 -44.567067 -146.25 - 60 92.509819 674 2 0 57.345052 -44.76681 -146.12499 - 60 135.59309 673 2 0 57.593295 -44.98841 -146.11703 - 60 150.20333 672 2 0 57.821396 -45.230891 -146.15181 - 60 13.490133 671 2 0 58.091956 -45.394916 -146.24261 - 60 111.02827 882 2 1 -3.0682643 1.1769494 -144.45 - 60 151.10716 901 2 0 -3.5619436 1.1747396 -145.85 - 60 62.762367 828 1 1 -13.99373 0.24980325 -174.45 - 60 77.957793 827 1 1 -14.068883 0.25855249 -174.67934 - 60 130.05748 897 1 0 -14.475805 0.29855766 -175.85 - 60 174.98063 778 0 1 -23.866504 2.8031105 -204.45 - 60 141.16874 910 0 0 -23.988277 2.8570955 -205.85 - 60 258.66151 1086 2 0 93.672842 38.143204 -145.91242 -Number of digits in this event = 32 -Event: 61 -Number of tracker hits in this event = 8 - 61 137.30142 896 5 0 0.050412394 0.061737968 -55.85 - 61 136.95456 896 4 1 0.078494191 0.13290021 -84.45 - 61 340.32285 896 4 0 0.075752984 0.13004144 -85.85 - 61 154.19038 896 2 0 -0.075410224 0.21777349 -145.85 - 61 125.71857 898 1 0 -0.18128959 0.48152637 -175.85 - 61 120.50553 895 0 1 -0.62054116 1.5378284 -204.45 - 61 141.75071 903 0 0 -0.64096783 1.5860704 -205.85 - 61 185.94719 643 0 1 -50.912931 -71.894511 -204.47078 -Number of digits in this event = 9 -Event: 62 -Number of tracker hits in this event = 27 - 62 254.71154 897 5 1 0.30766073 0.12785511 -54.45 - 62 105.29326 896 5 0 0.33571687 0.13206826 -55.85 - 62 172.25972 900 4 1 0.87529483 0.20436627 -84.45 - 62 137.5314 896 4 0 0.89177007 0.19523524 -85.85 - 62 114.34749 905 2 1 1.8709258 -0.3341639 -144.45 - 62 140.14093 905 1 1 1.9843082 -0.56367952 -174.45 - 62 239.42789 895 1 0 1.9970905 -0.56729222 -175.85 - 62 105.75496 906 0 1 2.2115329 -0.94566129 -204.45 - 62 122.15628 893 0 0 2.2304992 -1.0028291 -205.85 - 62 13.75338 896 5 1 0.22998075 0.27954777 -54.800694 - 62 126.29324 885 4 1 -2.630816 11.456255 -84.45 - 62 57.414054 886 4 1 -2.36058 11.49248 -84.666637 - 62 34.829237 887 4 1 -2.2332113 11.484648 -84.785152 - 62 278.1766 952 4 0 -1.2723372 11.360948 -85.85 - 62 146.6057 983 3 1 17.487446 8.4171528 -114.45 - 62 169.13816 941 3 0 17.843797 9.0738699 -115.85 - 62 76.766176 804 3 0 23.773567 -18.757485 -116.25 - 62 96.756267 803 3 0 23.782241 -18.908288 -116.03056 - 62 19.032916 802 3 0 23.81096 -19.141668 -115.88852 - 62 180.41702 1014 3 1 23.813866 -20.819954 -114.85 - 62 86.509609 1013 3 1 23.557374 -21.173347 -114.45 - 62 106.2522 1012 3 1 23.447966 -21.07657 -114.70349 - 62 67.979693 795 3 0 25.261 -20.462261 -115.85 - 62 97.95167 796 3 0 25.341913 -20.439115 -115.90003 - 62 131.92155 1029 3 1 26.691133 -19.463223 -114.85 - 62 249.72043 1030 3 1 26.85773 -19.335485 -114.73639 - 62 343.53551 1031 3 1 27.074428 -19.138861 -114.56811 + 30 133.13241 899 4 1 -0.080447135 0.19908071 -84.45 + 30 116.13105 900 4 0 -0.084900109 0.21196987 -85.85 + 30 115.85903 899 3 1 -0.15785748 0.74068257 -114.45 + 30 271.08835 903 3 0 -0.14543726 0.73244506 -115.85 + 30 357.40411 902 2 0 -0.088081581 0.54571439 -145.85 + 30 14.066071 892 1 1 -1.5170966 -0.05 -174.80375 + 30 127.1972 899 1 0 -1.5490323 -0.083566772 -175.85 + 30 179.21183 888 0 1 -2.340945 -0.95447962 -204.45 + 30 103.46177 895 0 0 -2.3943447 -1.0158571 -205.85 + 30 165.15814 903 1 0 -0.074753442 0.70209637 -175.98709 + 30 159.58954 989 1 0 -25.191337 17.872524 -176.25 + 30 189.2413 767 1 1 -26.615524 18.886773 -174.85 + 30 197.75255 1047 2 0 -60.430052 29.463961 -146.25 + 30 300.74311 583 2 1 -63.447949 29.865102 -144.85 + 30 357.22167 577 2 1 -64.543553 29.980717 -144.45 + 30 702.78111 1055 2 0 -70.579445 31.141965 -145.85 + 30 0.55088789 1056 2 0 -72.24444 31.445142 -146.24838 + 30 479.04253 436 1 1 -92.938859 78.130123 -174.45 + 30 66.804985 1304 1 0 -92.11063 81.036095 -175.85 + 30 85.680522 1305 1 0 -92.037186 81.234827 -175.88972 + 30 43.67824 1306 1 0 -91.93542 81.423326 -175.91116 + 30 50.776178 594 1 1 -61.074767 107.73051 -174.85 + 30 1.2196938 595 1 1 -60.954704 107.83781 -174.84654 + 30 143.1755 1445 1 0 -60.035701 109.15092 -175.85 + 30 43.257234 1446 1 0 -59.894742 109.45682 -176.15497 + 30 116.68188 894 0 1 -1.0557905 0.78114712 -204.45 + 30 137.56475 903 0 0 -0.54552277 0.75674252 -205.85 + 30 81.902829 898 2 1 -0.31056958 0.093407579 -144.45 + 30 47.82629 899 2 1 -0.22211934 0.22953138 -144.70847 + 30 3.7004937 1011 0 1 22.434533 0.6751907 -204.71943 Number of digits in this event = 16 -Event: 63 -Number of tracker hits in this event = 6 - 63 121.20055 891 2 1 -1.4058166 0.30341853 -144.45 - 63 223.46311 897 2 0 -1.475715 0.31404256 -145.85 - 63 125.86463 883 1 1 -2.8949738 0.53887486 -174.45 - 63 101.55811 898 1 0 -2.9690979 0.5467833 -175.85 - 63 115.4601 875 0 1 -4.4779465 0.70700401 -204.45 - 63 188.56892 899 0 0 -4.5523654 0.71746749 -205.85 -Number of digits in this event = 5 -Event: 64 -Number of tracker hits in this event = 9 - 64 112.15174 895 4 1 -0.58268313 -0.14748665 -84.45 - 64 136.32203 894 3 1 -0.73943762 -0.23601316 -114.45 - 64 224.05347 895 2 1 -0.56316538 -0.74958031 -144.45 - 64 114.24147 894 2 0 -0.54463997 -0.79339959 -145.85 - 64 184.48983 889 1 0 -0.11417232 -1.7553867 -175.85 - 64 114.4121 898 0 1 0.47710576 -2.3245485 -204.45 - 64 130.09167 886 0 0 0.50933679 -2.3297532 -205.85 - 64 28.271862 136 0 1 -152.94815 44.464165 -204.52685 - 64 98.40732 135 0 1 -152.95635 44.479406 -204.51686 -Number of digits in this event = 6 -Event: 65 -Number of tracker hits in this event = 22 - 65 103.09214 896 5 1 0.10406233 -0.13724711 -54.45 - 65 141.85975 896 1 0 -0.24076893 0.074848084 -175.85 - 65 112.19322 896 0 0 -0.44691272 0.091701577 -205.85 - 65 144.80132 132 6 1 -153.64051 96.567036 -24.478234 - 65 257.86181 896 3 1 0.17583784 -0.11380138 -114.45 - 65 69.182985 875 2 1 -4.4958694 0.05 -144.64054 - 65 137.87293 896 2 0 -4.6264378 0.096560099 -145.85 - 65 74.82265 858 1 1 -7.9207049 1.0696999 -174.45 - 65 50.11898 859 1 1 -7.8127404 1.1419977 -174.68593 - 65 67.337055 902 1 0 -7.1392607 1.4208296 -175.85 - 65 134.77462 903 1 0 -7.078351 1.4500319 -175.96599 - 65 120.7298 939 0 1 8.8395143 6.7693851 -204.45 - 65 138.38118 929 0 0 8.448747 6.7649947 -205.85 - 65 124.73141 992 0 0 2.6305364 19.357923 -206.25 - 65 123.40693 910 0 1 2.9386511 20.106321 -204.85 - 65 75.46771 1354 1 0 -33.349128 92.236123 -176.25 - 65 48.606104 1355 1 0 -33.44492 92.434173 -176.20128 - 65 139.83959 897 2 1 0.34672059 -0.070071948 -144.45 - 65 128.50126 899 1 1 0.79878336 -0.28466896 -174.45 - 65 164.84869 902 0 1 1.3031851 -1.045647 -204.45 - 65 158.77941 892 0 0 1.320946 -1.1068464 -205.85 - 65 162.61203 629 0 0 -30.962859 -53.674819 -206.23055 -Number of digits in this event = 16 -Event: 66 -Number of tracker hits in this event = 16 - 66 155.49969 896 4 1 0.054677932 0.091776931 -84.45 - 66 126.33823 896 4 0 0.056899948 0.086678626 -85.85 - 66 163.94089 897 2 1 0.28959177 -0.33215228 -144.45 - 66 116.61211 899 1 1 0.65398337 -0.6076213 -174.45 - 66 123.84388 895 1 0 0.6703044 -0.61063655 -175.85 - 66 120.90342 900 0 1 0.99864239 -0.68759699 -204.45 - 66 178.85077 894 0 0 1.0093752 -0.69535861 -205.85 - 66 1.3668392 962 2 1 13.332178 1.9913945 -144.71568 - 66 108.95544 896 3 1 0.14922492 0.1207683 -114.45 - 66 137.69996 896 3 0 0.16082462 0.068590084 -115.85 - 66 145.91132 890 2 0 0.12594316 -1.5308939 -145.85 - 66 106.35878 927 1 1 6.3346848 -3.9043539 -174.45 - 66 132.21753 877 1 0 6.7457287 -4.0655975 -175.85 - 66 118.93858 971 0 1 15.138682 -7.5486044 -204.45 - 66 16.291651 972 0 1 15.28921 -7.5200204 -204.79109 - 66 120.90078 860 0 0 15.774081 -7.4683924 -205.85 +Event: 31 +Number of tracker hits in this event = 14 + 31 131.73445 900 5 1 0.076849756 -0.1369497 -54.45 + 31 156.287 899 5 0 0.069902043 -0.13978897 -55.85 + 31 114.38882 899 4 1 -0.10860255 -0.20965994 -84.45 + 31 122.5916 899 4 0 -0.11864456 -0.21844741 -85.85 + 31 123.86648 898 3 1 -0.30429892 -0.40397751 -114.45 + 31 237.638 898 3 0 -0.30518742 -0.41665209 -115.85 + 31 117.93591 898 2 1 -0.33823194 -0.67343827 -144.45 + 31 124.7823 896 2 0 -0.28358623 -0.69576993 -145.85 + 31 118.64817 902 1 1 0.51291612 -0.97381862 -174.45 + 31 116.02098 895 1 0 0.53075487 -1.0121407 -175.85 + 31 122.76279 905 0 1 1.1912477 -1.6082786 -204.45 + 31 138.74104 892 0 0 1.2287242 -1.5900073 -205.85 + 31 127.24486 899 2 0 0.64271225 -0.15269566 -145.85 + 31 225.3756 902 2 1 0.52539102 0.48845281 -144.85 Number of digits in this event = 11 -Event: 67 -Number of tracker hits in this event = 11 - 67 118.39772 896 4 1 0.15375645 0.086979319 -84.45 - 67 115.01893 896 4 0 0.16480994 0.095849183 -85.85 - 67 120.56716 897 3 1 0.4107324 0.28821451 -114.45 - 67 149.32867 897 3 0 0.43040616 0.29848008 -115.85 - 67 102.40474 899 2 1 0.81297478 0.50967506 -144.45 - 67 113.45012 898 2 0 0.82815918 0.51420627 -145.85 - 67 116.30486 901 1 1 1.1187437 0.62756476 -174.45 - 67 117.48511 898 1 0 1.1384078 0.62877627 -175.85 - 67 131.2476 903 0 1 1.5042851 0.61345749 -204.45 - 67 109.94478 898 0 0 1.5298907 0.60769633 -205.85 - 67 52.030095 1451 3 0 20.195312 111.6966 -116.08641 -Number of digits in this event = 5 -Event: 68 -Number of tracker hits in this event = 36 - 68 127.68582 900 5 1 0.9130958 -1.4465417 -54.45 - 68 119.64504 890 5 0 0.98719243 -1.5905734 -55.85 - 68 186.19485 908 4 1 2.5686919 -4.6194441 -84.45 - 68 264.2359 874 4 0 2.7099373 -4.838867 -85.85 - 68 199.83734 873 4 0 2.7212935 -4.856413 -85.964373 - 68 143.42283 922 3 1 5.3300891 -9.1143887 -114.45 - 68 127.0465 851 3 0 5.6808617 -9.2824604 -115.85 - 68 119.34382 961 2 1 13.100058 -13.069291 -144.45 - 68 106.06877 831 2 0 13.487651 -13.348834 -145.85 - 68 77.081766 1004 1 1 21.801276 -18.921626 -174.45 - 68 47.619513 1005 1 1 21.855848 -18.956423 -174.67862 - 68 145.30542 802 1 0 22.143101 -19.128764 -175.85 - 68 127.34777 1043 0 1 29.496264 -22.960046 -204.45 - 68 42.627705 782 0 0 29.883358 -23.232622 -205.85 - 68 92.77216 781 0 0 29.914948 -23.254224 -205.96437 - 68 122.24466 896 3 1 0.05 0.23624101 -114.68221 - 68 224.42739 896 3 0 0.4209614 0.16306358 -115.85 - 68 129.48187 949 2 1 10.737372 -0.39872528 -144.45 - 68 16.136073 950 2 1 10.904872 -0.34677047 -144.78902 - 68 204.90314 1015 1 1 23.900973 2.9368086 -174.45 - 68 135.07825 909 1 0 24.210334 2.7346246 -175.85 - 68 121.69983 1046 0 1 30.21219 -0.78777573 -204.45 - 68 35.741511 893 0 0 29.84785 -1.0430688 -205.85 - 68 88.241531 892 0 0 29.819148 -1.0697027 -205.96529 - 68 70.711599 1016 1 1 24.068373 2.9609517 -174.66463 - 68 24.150545 912 1 0 24.953423 3.4219774 -175.85 - 68 109.21359 913 1 0 25.008534 3.4534899 -175.91146 - 68 244.3029 914 1 0 25.232195 3.658965 -176.01309 - 68 145.19552 915 1 0 25.623586 3.8582103 -176.02697 - 68 271.62632 1027 1 0 178.89264 26.322251 -176.25 - 68 76.789454 831 3 0 -107.47727 -13.321936 -116.25 - 68 65.613576 832 3 0 -107.52346 -13.247751 -116.21779 - 68 133.48345 896 1 1 0.15320672 0.38903442 -174.45 - 68 149.44608 897 1 0 0.16282354 0.39604136 -175.85 - 68 143.89899 897 0 1 0.37743388 0.56298946 -204.45 - 68 103.6592 898 0 0 0.38605973 0.57056116 -205.85 -Number of digits in this event = 23 -Event: 69 -Number of tracker hits in this event = 50 - 69 242.98299 896 5 1 0.11097495 -0.12488113 -54.45 - 69 110.67051 897 4 1 0.26059451 -0.36730386 -84.45 - 69 115.89298 898 3 1 0.51506688 -0.8651044 -114.45 - 69 158.67751 893 3 0 0.51885476 -0.89210085 -115.85 - 69 136.82036 898 2 1 0.55313644 -1.4789568 -144.45 - 69 111.35319 890 2 0 0.55375517 -1.5072101 -145.85 - 69 191.3413 898 1 1 0.61886178 -2.0483736 -174.45 - 69 144.0554 887 1 0 0.63091069 -2.0942957 -175.85 - 69 120.64166 900 0 1 0.89842806 -3.0972865 -204.45 - 69 143.22529 882 0 0 0.9130167 -3.1441946 -205.85 - 69 96.68973 896 6 0 0.20222964 0.094277878 -25.85 - 69 89.572407 922 5 1 5.3948773 5.1654514 -54.45 - 69 97.965281 923 5 1 5.481985 5.3250155 -54.686635 - 69 43.6963 926 5 0 5.9380062 6.1861235 -55.85 - 69 101.19449 927 5 0 5.9804771 6.2673167 -55.96746 - 69 412.40137 956 4 1 12.077424 29.342236 -84.45 - 69 67.214653 1047 4 0 12.33357 30.367945 -85.85 - 69 67.684031 1048 4 0 12.370746 30.528854 -86.082852 - 69 35.291706 974 3 1 15.657968 51.85094 -114.45 - 69 95.655705 973 3 1 15.608788 51.870961 -114.56671 - 69 121.38564 1157 3 0 15.095562 52.291581 -115.85 - 69 57.323254 916 2 1 4.2159369 67.599501 -144.45 - 69 38.066628 917 2 1 4.2690127 67.631213 -144.68551 - 69 111.42243 1234 2 0 4.3574816 67.718605 -145.85 - 69 90.559478 927 1 1 6.4015532 65.820766 -174.45 - 69 93.28281 926 1 1 6.2081953 65.628158 -174.57269 - 69 25.355651 925 1 1 6.0456075 65.409819 -174.79035 - 69 141.18266 1219 1 0 5.3100896 64.820295 -175.85 - 69 146.7783 883 0 1 -2.8720511 57.397714 -204.45 - 69 97.989936 1173 0 0 -3.5477809 55.610227 -205.85 - 69 82.719594 1172 0 0 -3.6827161 55.433632 -206.07202 - 69 4.4139732 922 1 1 5.4318847 137.3394 -174.53215 - 69 167.06342 1048 1 1 30.616499 103.30588 -174.7617 - 69 19.796799 1049 1 1 30.650704 103.33154 -174.77412 - 69 116.69038 899 5 0 0.57701833 0.7687417 -55.85 - 69 205.21637 888 4 0 12.414874 -2.012273 -85.85 - 69 68.075118 981 3 1 17.210334 -4.1925983 -114.45 - 69 76.533026 982 3 1 17.267375 -4.211067 -114.65451 - 69 95.115359 876 3 0 17.609711 -4.3028817 -115.85 - 69 205.65977 1023 2 1 25.588348 -6.6256637 -144.45 - 69 19.107653 1024 2 1 25.670894 -6.6584243 -144.79119 - 69 137.29186 863 2 0 26.022862 -6.8512282 -145.85 - 69 146.12236 1067 1 1 34.284739 -12.682087 -174.45 - 69 108.47518 828 1 0 34.941892 -13.866492 -175.85 - 69 62.187515 827 1 0 35.04804 -14.054367 -176.08451 - 69 69.076025 1131 0 1 47.247501 -32.572864 -204.45 - 69 198.42578 1132 0 1 47.315967 -32.827301 -204.58227 - 69 91.022412 724 0 0 48.181274 -34.803055 -205.85 - 69 73.711893 723 0 0 48.256652 -34.969531 -205.97422 - 69 48.862181 722 0 0 48.338767 -35.117236 -206.11657 -Number of digits in this event = 20 -Event: 70 -Number of tracker hits in this event = 10 - 70 118.98811 895 3 1 -0.5295701 -0.43967156 -114.45 - 70 170.01089 895 3 0 -0.46487795 -0.45921909 -115.85 - 70 129.70287 900 2 1 0.86414386 -0.90669174 -144.45 - 70 113.38698 893 2 0 0.92791006 -0.92448761 -145.85 - 70 98.145072 907 1 1 2.2595146 -1.3117367 -174.45 - 70 97.976166 891 1 0 2.3203085 -1.3225906 -175.85 - 70 137.22838 913 0 1 3.5036739 -1.5222904 -204.45 - 70 107.18834 890 0 0 3.5510949 -1.5516183 -205.85 - 70 56.976116 1230 3 0 -14.715234 67.009206 -116.16549 - 70 29.224404 1007 1 0 -26.106361 22.316579 -176.20039 -Number of digits in this event = 4 -Event: 71 -Number of tracker hits in this event = 27 - 71 126.75863 892 2 1 -1.0686987 0.069385879 -144.45 - 71 103.35529 896 2 0 -1.0938124 0.07300143 -145.85 - 71 170.05946 890 1 1 -1.620065 0.13598757 -174.45 - 71 136.45329 896 1 0 -1.6498466 0.14139955 -175.85 - 71 39.584552 887 0 1 -2.2484108 0.24700695 -204.45 - 71 82.849202 886 0 1 -2.2520292 0.24596076 -204.56428 - 71 138.15607 896 0 0 -2.2924405 0.23549567 -205.85 - 71 70.734239 634 4 0 -133.13831 -52.827552 -85.964408 - 71 160.07468 872 3 0 -0.42457505 -5.0560778 -115.85 - 71 106.6049 871 3 0 -0.45479201 -5.428913 -116.00697 - 71 129.26799 869 3 0 -0.52968946 -5.8256329 -116.03386 - 71 26.4286 867 3 0 -0.56607942 -6.1925986 -116.20586 - 71 156.09956 293 3 0 -122.19353 -121.39377 -116.25 - 71 130.00743 896 3 0 -0.55746888 0.20862173 -115.85 - 71 95.967876 855 2 1 -8.5249072 4.7361035 -144.45 - 71 339.52647 854 2 1 -8.6932286 4.8379332 -144.67841 - 71 181.16676 921 2 0 -9.413294 5.0689183 -145.85 - 71 141.3771 801 2 0 -75.659099 -19.330565 -146.25 - 71 59.895447 800 2 0 -76.044272 -19.553089 -146.03102 - 71 68.467471 799 2 0 -76.220111 -19.721818 -145.97978 - 71 40.542653 798 2 0 -76.404114 -19.861515 -145.88687 - 71 91.470021 503 2 1 -79.001579 -20.903686 -144.85 - 71 180.80563 501 2 1 -79.27563 -20.999961 -144.70712 - 71 90.316453 500 2 1 -79.522896 -21.146281 -144.55122 - 71 74.956272 1263 3 0 -127.70668 73.464034 -116.25 - 71 102.29005 1264 3 0 -127.83394 73.738957 -116.21562 - 71 0.27024468 1265 3 0 -128.0474 73.944946 -116.24914 -Number of digits in this event = 15 -Event: 72 -Number of tracker hits in this event = 37 - 72 106.33485 896 5 1 0.16780488 -0.0812496 -54.45 - 72 124.89736 895 3 0 -0.11053174 -0.45833533 -115.85 - 72 142.06341 893 2 0 -0.16389052 -0.93952745 -145.85 - 72 522.50653 894 1 0 -0.44093296 -0.73000799 -175.85 - 72 122.91 894 0 1 -0.69493579 0.067775784 -204.45 - 72 122.6043 896 0 0 -0.70040027 0.11246625 -205.85 - 72 120.79335 891 1 0 -0.30184997 -1.3322587 -175.85 - 72 95.061021 893 0 1 -1.017639 -2.4834222 -204.45 - 72 15.614797 892 0 1 -1.0507751 -2.4235054 -204.7916 - 72 198.61046 887 0 0 -1.0883013 -2.194172 -205.85 - 72 17.662355 768 0 0 -9.8799577 -26.00651 -206.25 - 72 124.43175 767 0 0 -9.872687 -26.051265 -206.20537 - 72 161.80728 846 0 1 -10.25629 -26.486021 -204.85 - 72 66.304944 895 1 1 -0.58705227 -1.3093783 -174.69731 - 72 38.754806 894 1 1 -0.81087972 -1.2679918 -174.79495 - 72 57.017563 893 1 0 -3.528623 -0.85231327 -175.85 - 72 40.60342 555 0 1 -68.606142 -9.2050047 -204.45 - 72 74.857953 554 0 1 -68.67362 -9.2102505 -204.56917 - 72 124.90133 850 0 0 -69.176173 -9.4988084 -205.85 - 72 87.60955 898 1 1 0.58346254 -0.13861125 -174.69362 - 72 144.95107 835 0 1 -12.498858 2.5830896 -204.45 - 72 219.44737 834 0 1 -12.684755 2.9684259 -204.6133 - 72 39.55076 918 0 0 -12.043358 4.6393682 -205.85 - 72 47.45429 919 0 0 -11.951906 4.7707723 -205.94738 - 72 65.19793 920 0 0 -11.858078 4.8816639 -206.06512 - 72 123.14908 921 0 0 -11.80252 5.0517369 -206.11924 - 72 165.58084 922 0 0 -11.553437 5.316542 -206.09866 - 72 86.178564 923 0 0 -11.255019 5.5184232 -206.01354 - 72 173.97792 852 0 1 -9.2382235 5.3652343 -204.85 - 72 161.78775 853 0 1 -8.9836099 5.395967 -204.70764 - 72 74.871379 854 0 1 -8.7774699 5.5099776 -204.52942 - 72 28.998132 851 0 1 -9.2536771 5.9817723 -204.78979 - 72 59.167817 930 0 0 -10.073802 6.940364 -205.85 - 72 112.82841 931 0 0 -10.078196 7.0621089 -205.9968 - 72 31.81641 897 3 1 0.25765466 -0.15855296 -114.45 - 72 58.772844 896 3 1 0.20001127 -0.1592912 -114.4775 - 72 171.56428 897 3 0 -0.57435237 0.27048536 -115.85 -Number of digits in this event = 18 -Event: 73 -Number of tracker hits in this event = 42 - 73 101.25571 896 5 1 0.12101395 0.11156732 -54.45 - 73 130.8793 896 5 0 0.11873861 0.11904814 -55.85 - 73 143.16576 896 4 1 0.061800327 0.27505083 -84.45 - 73 117.03824 897 4 0 0.060120196 0.28854021 -85.85 - 73 0.42681739 898 3 0 0.05 0.56531218 -116.24349 - 73 188.37204 896 2 1 0.2184747 0.88718532 -144.45 - 73 172.86998 900 2 0 0.23018068 0.900224 -145.85 - 73 532.51333 898 1 1 0.53164372 1.2449585 -174.45 - 73 126.55492 901 1 0 0.54728145 1.2433347 -175.85 - 73 124.66308 900 0 1 0.92295211 1.2054233 -204.45 - 73 114.05876 901 0 0 0.94246575 1.1947251 -205.85 - 73 364.36968 899 1 1 0.69292853 2.4316728 -174.7588 - 73 65.506454 916 1 0 0.70079566 4.1317725 -175.85 - 73 85.593795 917 1 0 0.71079297 4.2715258 -176.01144 - 73 74.024693 918 1 0 0.69731699 4.4967415 -176.17058 - 73 38.000764 919 1 0 0.69177998 4.7753208 -176.22686 - 73 64.789895 1064 1 0 6.3889615 33.711118 -176.25 - 73 73.16862 1065 1 0 6.4455357 33.857458 -176.16323 - 73 99.35466 1066 1 0 6.5559047 34.05447 -176.02751 - 73 55.52662 936 1 1 8.1373992 34.747591 -174.85 - 73 62.152676 937 1 1 8.2997041 34.816563 -174.75817 - 73 133.97272 938 1 1 8.4585004 34.932447 -174.74297 - 73 123.23033 939 1 1 8.6571772 35.185013 -174.67347 - 73 76.15416 940 1 1 8.8517616 35.362011 -174.47605 - 73 91.740294 941 1 1 9.0628704 35.37965 -174.59096 - 73 90.138533 942 1 1 9.2701231 35.363938 -174.71142 - 73 183.31205 1076 1 0 9.9542595 36.133142 -175.85 - 73 270.66322 1077 1 0 9.8465613 36.257231 -176.11972 - 73 17.677341 903 1 0 1.7773657 1.6108481 -175.85 - 73 14.107928 904 1 0 1.7911294 1.6532518 -175.8622 - 73 153.41781 916 1 1 4.0622812 5.5416937 -174.85 - 73 64.193365 925 1 0 3.9020138 6.045195 -175.85 - 73 61.951653 899 1 0 0.77001201 0.65826524 -175.85 - 73 63.575708 898 1 0 0.7787158 0.64764371 -176.07832 - 73 144.72393 906 0 1 2.1093623 -1.4787073 -204.45 - 73 130.08849 891 0 0 1.9582272 -1.4352852 -205.85 - 73 77.821744 905 1 0 0.65120466 1.9355395 -175.85 - 73 58.563891 906 1 0 0.65260859 2.1295731 -176.07275 - 73 146.85581 907 0 1 2.4486663 27.59413 -204.45 - 73 122.68241 1038 0 0 1.5299452 28.557403 -205.85 - 73 374.23938 1039 0 0 1.3548193 28.713224 -206.07786 - 73 135.12787 1040 0 0 1.1207651 28.855249 -206.11387 -Number of digits in this event = 21 -Event: 74 -Number of tracker hits in this event = 41 - 74 259.78052 897 3 0 -0.10326005 0.39337594 -115.85 - 74 129.89332 896 1 1 0.12383666 1.1142756 -174.45 - 74 124.11721 901 1 0 0.13931518 1.1255933 -175.85 - 74 123.35605 898 0 1 0.4581702 1.195154 -204.45 - 74 103.01588 901 0 0 0.47172339 1.2144943 -205.85 - 74 93.724411 885 0 1 -2.5067277 9.98228 -204.45 - 74 83.676797 884 0 1 -2.6878941 10.03947 -204.66923 - 74 196.63091 948 0 0 -3.7103267 10.450517 -205.85 - 74 213.37301 896 3 1 0.14449419 0.16079731 -114.45 - 74 50.120263 919 2 1 4.8229198 4.6081225 -144.45 - 74 107.40294 920 2 1 4.8592464 4.6097801 -144.56491 - 74 116.0322 918 2 0 5.2345813 4.626402 -145.85 - 74 111.3484 968 1 1 14.532729 6.8100793 -174.45 - 74 102.2279 969 1 1 14.687018 6.9881051 -174.65924 - 74 10.141464 970 1 1 14.853119 7.1994462 -174.82427 - 74 50.363086 937 1 0 15.991838 8.4095836 -175.85 - 74 107.88524 938 1 0 16.122143 8.5306961 -175.97443 - 74 151.4932 1130 0 1 46.897058 28.379459 -204.45 - 74 74.028292 1129 0 1 46.665975 28.398934 -204.58631 - 74 79.630529 1127 0 1 46.421975 28.404296 -204.69468 - 74 109.98146 1126 0 1 46.171938 28.360642 -204.78385 - 74 1.6777317 1125 0 1 45.918371 28.321642 -204.84734 - 74 195.11664 1035 0 0 43.498953 27.939987 -205.85 - 74 271.03313 1034 0 0 42.924663 27.844837 -205.98357 - 74 69.046412 333 0 0 -53.610917 -113.50713 -206.25 - 74 122.06015 331 0 0 -53.710891 -113.78405 -206.20286 - 74 49.294759 624 0 1 -54.8455 -114.1192 -204.85 - 74 38.974792 623 0 1 -54.960572 -114.12764 -204.73926 - 74 79.978508 622 0 1 -55.098008 -114.14795 -204.65962 - 74 274.84751 621 0 1 -55.358887 -114.17235 -204.48615 - 74 146.16714 896 3 0 0.41222632 0.18824846 -115.85 - 74 129.79596 938 2 1 8.541372 1.0401806 -144.45 - 74 168.25869 900 2 0 8.8461699 0.8817524 -145.85 - 74 13.167075 899 2 0 8.9023675 0.83921154 -146.19581 - 74 201.8414 962 1 1 13.26856 -2.9939801 -174.45 - 74 178.46392 885 1 0 13.519566 -2.5673791 -175.85 - 74 30.979089 986 0 1 18.222361 4.1104131 -204.45 - 74 94.671216 987 0 1 18.26188 4.0944968 -204.56387 - 74 182.60458 915 0 0 18.751493 3.9584756 -205.85 - 74 23.271157 914 0 0 18.836554 3.8493212 -206.22636 - 74 120.45416 805 0 0 6.0178288 -18.499227 -206.25 -Number of digits in this event = 19 -Event: 75 -Number of tracker hits in this event = 19 - 75 131.30266 895 3 0 -0.26739955 -0.50493323 -115.85 - 75 124.28047 894 2 1 -0.66132562 -0.81881598 -144.45 - 75 139.98633 894 2 0 -0.68578713 -0.84154292 -145.85 - 75 112.77743 892 1 1 -1.1503871 -1.2709601 -174.45 - 75 140.98755 891 1 0 -1.1747846 -1.2942958 -175.85 - 75 123.70373 890 0 1 -1.6385782 -1.7728219 -204.45 - 75 131.2572 889 0 0 -1.6641829 -1.8002348 -205.85 - 75 485.65469 199 1 1 -140.25979 34.034714 -174.6657 - 75 121.89103 198 1 1 -140.37964 34.05382 -174.61393 - 75 169.19578 197 1 1 -140.57199 34.0554 -174.47822 - 75 77.370329 200 1 1 -140.12298 34.031594 -174.47407 - 75 118.73937 775 3 1 -24.538582 76.510295 -114.51363 - 75 150.78399 892 0 0 -0.27698878 -1.0578988 -205.85 - 75 74.182638 893 0 0 -0.20383272 -0.86392304 -205.85 - 75 64.915481 894 0 0 -0.1917702 -0.84628227 -206.07846 - 75 110.68412 897 6 0 -0.05 0.26318991 -26.054259 - 75 131.9366 895 6 1 -0.63360838 0.28934121 -24.85 - 75 25.702644 894 6 1 -0.65284412 0.27636218 -24.808779 - 75 150.48325 892 6 0 -1.9557592 -1.1244701 -25.85 -Number of digits in this event = 13 -Event: 76 -Number of tracker hits in this event = 20 - 76 146.83422 896 5 0 -0.089536464 0.08190713 -55.85 - 76 110.31035 896 4 0 -0.22381633 0.21880057 -85.85 - 76 118.77801 897 3 0 -0.369745 0.33137083 -115.85 - 76 114.99529 895 2 1 -0.58355676 0.45363771 -144.45 - 76 127.47588 898 2 0 -0.58359749 0.4556941 -145.85 - 76 107.17872 895 1 1 -0.59726773 0.51809769 -174.45 - 76 199.90731 898 1 0 -0.58858099 0.52568386 -175.85 - 76 126.81505 899 0 0 -0.44465154 0.71840804 -205.85 - 76 155.58252 935 8 0 49.156719 7.8625812 33.75 - 76 22.885486 1134 8 1 47.72951 7.4548304 35.15 - 76 94.248053 1133 8 1 47.649841 7.4128144 35.211817 - 76 59.194634 1132 8 1 47.394699 7.4086483 35.390512 - 76 48.254881 1131 8 1 47.210711 7.4040853 35.492773 - 76 113.18581 1130 8 1 47.04991 7.436305 35.507141 - 76 68.519427 1129 8 1 46.831086 7.4659733 35.254298 - 76 63.672752 919 8 0 46.981581 4.8428264 34.15 - 76 93.55855 918 8 0 47.089861 4.6312437 34.025586 - 76 60.942524 917 8 0 47.203498 4.4455968 33.864267 - 76 409.60536 1233 8 0 32.921258 67.596689 33.75 - 76 124.15288 1234 8 0 32.93309 67.657918 33.765799 -Number of digits in this event = 8 -Event: 77 -Number of tracker hits in this event = 12 - 77 107.60962 896 2 1 0.18266464 0.8669907 -144.45 - 77 123.00653 900 2 0 0.20317571 0.87017881 -145.85 - 77 122.40355 898 1 1 0.63043505 0.97882328 -174.45 - 77 110.36767 900 1 0 0.65448304 0.98377068 -175.85 - 77 139.3291 901 0 1 1.0967 1.1014742 -204.45 - 77 162.14952 901 0 0 1.1361833 1.0868184 -205.85 - 77 17.404446 261 3 0 21.125911 -127.89952 -116.25 - 77 69.535252 260 3 0 21.138262 -127.96105 -116.22416 - 77 35.670394 259 3 0 21.177051 -128.15563 -116.22685 - 77 61.245494 1643 11 1 150.08272 74.972816 125.25402 - 77 159.70603 1644 11 1 150.15043 74.980879 125.30864 - 77 64.22721 979 0 0 -75.774029 16.809776 -205.85 -Number of digits in this event = 6 -Event: 78 -Number of tracker hits in this event = 17 - 78 110.20279 898 4 1 0.48224806 -0.13608777 -84.45 - 78 215.07153 899 3 1 0.71641251 -0.32079734 -114.45 - 78 269.54371 897 2 1 0.35483531 -0.26387842 -144.45 - 78 45.689023 774 4 0 -74.264656 -24.73437 -85.924872 - 78 108.53372 523 4 1 -74.972324 -23.674632 -84.85 - 78 148.20775 522 4 1 -75.055928 -23.512971 -84.810446 - 78 26.035597 1689 7 0 -176.23607 159.28508 3.9003794 - 78 3.7691773 676 9 0 -89.142496 -44.412429 64.15 - 78 188.35691 456 9 1 -88.387969 -40.258379 65.15 - 78 1.844 448 9 1 -90.05 -47.117788 65.246473 - 78 14.206215 449 9 1 -89.720459 -47.106984 65.235889 - 78 156.2988 617 11 0 -123.95409 -56.142977 123.75 - 78 81.816929 275 11 1 -124.99959 -55.876404 125.15 - 78 85.083497 274 11 1 -125.19456 -55.844855 125.36833 - 78 127.65292 273 11 1 -125.43218 -55.727409 125.47295 - 78 36.139952 272 11 1 -125.68885 -55.662237 125.53155 - 78 5.4958232 271 11 1 -125.83401 -55.679612 125.52766 -Number of digits in this event = 8 -Event: 79 -Number of tracker hits in this event = 48 - 79 151.29099 896 2 1 0.15958832 -0.51565338 -144.45 - 79 165.14603 895 2 0 0.15726658 -0.52853533 -145.85 - 79 101.89844 896 1 1 0.090925874 -0.78981459 -174.45 - 79 133.28446 894 1 0 0.074742427 -0.79481009 -175.85 - 79 122.74156 893 0 0 -0.27044464 -0.88664149 -205.85 - 79 154.4493 841 0 0 -25.463156 -11.283362 -206.25 - 79 75.556957 758 0 1 -27.893723 -13.202091 -204.85 - 79 42.930397 757 0 1 -28.119044 -13.387812 -204.8004 - 79 81.040489 826 0 0 -29.413535 -14.318393 -205.85 - 79 66.014393 825 0 0 -29.511254 -14.492744 -206.01945 - 79 71.0071 824 0 0 -29.636415 -14.701625 -206.1399 - 79 27.309184 823 0 0 -29.7834 -14.899716 -206.21365 - 79 127.15158 637 0 0 -63.926531 -52.087541 -206.25 - 79 150.36608 636 0 0 -64.166508 -52.266088 -206.19155 - 79 170.50872 896 4 1 0.091909918 -0.21993093 -84.45 - 79 97.964616 895 4 0 0.074516129 -0.5289586 -85.85 - 79 107.8102 904 3 1 1.7036415 -6.1945715 -114.45 - 79 13.799833 905 3 1 1.865586 -6.172134 -114.79612 - 79 147.7669 867 3 0 2.4719402 -6.1723366 -115.85 - 79 99.862202 1023 3 0 -42.751926 25.602728 -116.25 - 79 91.295355 1024 3 0 -43.033496 25.710679 -116.15184 - 79 213.24323 1025 3 0 -43.292764 25.850792 -116.03472 - 79 80.673096 668 3 1 -45.925819 25.612101 -114.85 - 79 65.640691 667 3 1 -46.152405 25.553956 -114.74381 - 79 72.07517 666 3 1 -46.344277 25.493522 -114.58726 - 79 0.050665797 665 3 1 -46.559311 25.502926 -114.4509 - 79 122.38606 663 3 1 -46.874781 25.398324 -114.45 - 79 24.932964 1019 3 0 -47.096183 24.66163 -115.85 - 79 74.769187 1018 3 0 -47.125554 24.591386 -115.95417 - 79 40.375598 635 2 1 -52.573172 10.657074 -144.45 - 79 97.220289 636 2 1 -52.445752 10.581432 -144.54619 - 79 87.393223 637 2 1 -52.21157 10.51012 -144.63745 - 79 87.520497 638 2 1 -51.991718 10.441653 -144.74917 - 79 146.49976 946 2 0 -51.498139 10.128487 -145.85 - 79 63.358834 945 2 0 -51.447851 10.030052 -146.15379 - 79 391.94536 629 2 0 -32.850876 -53.732974 -146.25 - 79 122.71042 495 3 0 -3.9746365 -80.57693 -116.17518 - 79 118.44549 1135 4 1 48.016048 -93.55242 -84.45 - 79 485.73453 1136 4 1 48.065967 -93.464273 -84.497757 - 79 58.661347 1137 4 1 48.260185 -93.208595 -84.572454 - 79 62.048035 897 4 1 0.26299653 0.097093274 -84.68923 - 79 67.477871 898 4 0 0.098109897 0.51394622 -85.85 - 79 160.45676 866 3 1 -6.4477645 14.028606 -114.45 - 79 17.561702 865 3 1 -6.457951 13.898526 -114.77901 - 79 91.380055 962 3 0 -6.57465 13.379795 -115.85 - 79 13.743868 961 3 0 -6.578789 13.195427 -116.17804 - 79 2.3237349 821 6 0 14.161724 -15.338859 -26.25 - 79 59.824272 132 6 0 151.29127 -153.57919 -26.25 -Number of digits in this event = 18 -Event: 80 -Number of tracker hits in this event = 12 - 80 106.90649 895 5 0 -0.33323387 -0.48691434 -55.85 - 80 121.93182 894 4 1 -0.77609196 -2.1154301 -84.45 - 80 215.72459 887 4 0 -0.81503555 -2.1896212 -85.85 - 80 145.67918 890 3 1 -1.5475311 -3.7456545 -114.45 - 80 325.50201 878 3 0 -1.5429585 -3.8655517 -115.85 - 80 34.039073 890 2 1 -1.6499235 -6.1671357 -144.45 - 80 68.100351 889 2 1 -1.6505567 -6.1818931 -144.56431 - 80 112.50466 866 2 0 -1.6623046 -6.3509363 -145.85 - 80 103.40762 887 1 1 -2.1729676 -10.210041 -174.45 - 80 141.96181 846 1 0 -2.1589541 -10.350462 -175.85 - 80 107.03908 888 0 1 -2.0127646 -12.976416 -204.45 - 80 128.34753 832 0 0 -2.006257 -13.162677 -205.85 -Number of digits in this event = 8 -Event: 81 -Number of tracker hits in this event = 19 - 81 138.12578 896 4 1 0.15603324 0.07287738 -84.45 - 81 164.15499 896 4 0 0.17966038 0.0736008 -85.85 - 81 229.42369 899 3 1 0.69052085 0.10480431 -114.45 - 81 139.11004 896 3 0 0.71619245 0.087173489 -115.85 - 81 59.197592 901 2 1 1.241941 -0.27985174 -144.45 - 81 54.254242 902 2 1 1.2527446 -0.28119077 -144.67857 - 81 37.384279 908 1 1 2.6391063 -0.40243733 -174.45 - 81 108.22779 909 1 1 2.6517348 -0.3991526 -174.56432 - 81 281.00673 926 0 1 6.1460904 0.075034717 -204.45 - 81 215.4528 1024 7 1 25.791979 54.733802 5.55 - 81 67.087241 1025 7 1 25.854063 54.699694 5.5097978 - 81 132.38739 864 5 0 -14.69297 -6.8039141 -56.25 - 81 371.86934 863 5 0 -14.717881 -6.8538202 -56.094649 - 81 218.67331 895 5 0 0.67842409 -0.53526321 -55.85 - 81 59.163786 894 5 0 0.88355059 -0.67672202 -56.067597 - 81 367.38907 887 5 0 -8.519215 -2.0544773 -56.25 - 81 94.196897 888 5 0 -8.5303407 -2.0402343 -56.224108 - 81 47.098481 1033 5 0 -34.967691 27.646197 -56.25 - 81 53.843054 1011 5 0 -45.622927 23.134073 -56.25 -Number of digits in this event = 12 -Event: 82 -Number of tracker hits in this event = 4 - 82 111.82422 896 1 1 0.081157632 -0.74163746 -174.45 - 82 130.7345 894 1 0 0.090752538 -0.77751522 -175.85 - 82 138.33329 897 0 1 0.31531142 -1.4800053 -204.45 - 82 118.86004 890 0 0 0.33431343 -1.496725 -205.85 -Number of digits in this event = 3 -Event: 83 -Number of tracker hits in this event = 17 - 83 109.20619 896 4 1 0.070785753 -0.055445295 -84.45 - 83 229.46411 897 3 1 0.30203177 -0.15870293 -114.45 - 83 121.1505 897 2 1 0.39910826 -0.31998144 -144.45 - 83 106.9559 897 1 1 0.34280832 -0.83094304 -174.45 - 83 122.89538 894 1 0 0.32765082 -0.8406301 -175.85 - 83 119.99884 896 0 1 0.091152568 -1.020346 -204.45 - 83 137.40204 893 0 0 0.081226601 -1.0233534 -205.85 - 83 86.152631 643 3 0 -80.848847 -50.991181 -116.1369 - 83 155.11708 898 3 1 0.45719965 -0.096942933 -114.83352 - 83 107.4526 856 0 0 -13.669737 -8.2751882 -205.92524 - 83 110.00146 900 4 0 -0.72134231 0.93280246 -85.85 - 83 103.75119 901 4 0 -0.83206497 1.1212433 -86.054423 - 83 0.27614066 902 4 0 -0.90783423 1.3369747 -86.247248 - 83 189.97985 963 4 0 12.546513 13.510692 -86.25 - 83 167.75248 962 4 0 12.64676 13.449691 -86.142234 - 83 59.860601 966 4 1 14.149965 12.423005 -84.85 - 83 104.05702 967 4 1 14.279515 12.35404 -84.737798 -Number of digits in this event = 9 -Event: 84 -Number of tracker hits in this event = 8 - 84 132.62429 901 3 0 -0.10372053 1.0668098 -115.85 - 84 129.00614 904 2 0 -0.28218544 1.6873773 -145.85 - 84 117.08368 895 1 1 -0.49533944 2.2257043 -174.45 - 84 118.71676 906 1 0 -0.5051336 2.245452 -175.85 - 84 12.400003 907 1 0 -0.50752416 2.2504469 -176.19286 - 84 141.08349 894 0 1 -0.6723624 2.6496238 -204.45 - 84 151.08358 909 0 0 -0.67335888 2.6771547 -205.85 - 84 269.99957 862 7 0 -119.05531 -7.0548718 3.9367395 -Number of digits in this event = 7 -Event: 85 -Number of tracker hits in this event = 41 - 85 117.45294 894 4 0 -0.44957487 -0.76668082 -85.85 - 85 139.78328 894 3 1 -0.67862123 -0.71256293 -114.45 - 85 202.08083 894 3 0 -0.69147941 -0.70428145 -115.85 - 85 121.15267 893 2 1 -0.98291075 -0.59889438 -144.45 - 85 133.11336 895 2 0 -0.9961915 -0.59610048 -145.85 - 85 180.37769 891 1 1 -1.2911875 -0.49116661 -174.45 - 85 224.87587 895 1 0 -1.3032162 -0.48018848 -175.85 - 85 171.19393 890 0 1 -1.5517283 -0.26975007 -204.45 - 85 25.396815 889 0 1 -1.6646297 -0.23437454 -204.8306 - 85 35.295623 901 0 0 -2.0580184 1.1915657 -205.85 - 85 3.1845491 902 0 0 -2.0754606 1.262391 -205.85853 - 85 28.582534 888 0 1 -2.0367972 2.6728179 -204.85 - 85 264.4858 887 0 1 -2.0503844 2.7336943 -204.83805 - 85 86.567097 913 0 0 -1.9536935 3.5253709 -205.85 - 85 170.80215 367 2 1 -106.68572 -2.2183065 -144.45 - 85 302.34361 895 1 1 -0.5043512 -0.3746264 -174.45 - 85 99.568694 894 1 0 -0.75461338 -0.75560311 -175.85 - 85 15.637582 893 1 0 -0.83583095 -0.87286461 -176.19873 - 85 54.757113 898 1 0 -0.81825412 0.59156433 -175.85 - 85 102.42334 899 1 0 -0.83062946 0.67040372 -175.96582 - 85 68.361571 872 0 1 -5.1304919 10.683315 -204.45 - 85 83.701769 871 0 1 -5.3810101 10.582405 -204.55361 - 85 92.062369 870 0 1 -5.6030707 10.454557 -204.68727 - 85 5.450087 869 0 1 -5.8084676 10.333146 -204.84308 - 85 50.202259 943 0 0 -6.9125269 9.5099137 -205.85 - 85 154.97884 942 0 0 -7.0270126 9.4206718 -205.97819 - 85 40.967687 941 0 0 -7.2392644 9.1766671 -206.17513 - 85 50.902566 767 0 0 -40.013523 -26.213291 -206.25 - 85 67.973881 766 0 0 -40.075761 -26.368472 -206.14358 - 85 63.108821 765 0 0 -40.141283 -26.527822 -206.03956 - 85 51.394836 764 0 0 -40.202604 -26.699758 -205.95574 - 85 263.78039 693 0 1 -40.991006 -28.40893 -204.85 - 85 337.0383 692 0 1 -41.100648 -28.583331 -204.45253 - 85 39.787741 694 0 1 -40.792842 -28.703031 -204.50332 - 85 54.097203 695 0 1 -40.643322 -28.691951 -204.4852 - 85 61.040567 696 0 1 -40.445356 -28.631288 -204.48395 - 85 153.90785 697 0 1 -40.246744 -28.527907 -204.49647 - 85 245.3461 698 0 1 -40.047234 -28.477463 -204.61332 - 85 344.40203 691 0 1 -41.256967 -28.748335 -204.50271 - 85 108.2593 690 0 1 -41.451943 -28.395658 -204.56786 - 85 221.1074 689 0 1 -41.655787 -28.478801 -204.6049 -Number of digits in this event = 20 -Event: 86 -Number of tracker hits in this event = 39 - 86 96.58578 896 4 1 0.14273391 -0.065341482 -84.45 - 86 145.03 895 2 0 -0.39981297 -0.5972173 -145.85 - 86 178.39514 893 1 1 -0.94712945 -1.2076636 -174.45 - 86 110.5841 892 1 0 -0.99737178 -1.2354979 -175.85 - 86 284.94805 888 0 1 -2.032507 -1.7758708 -204.45 - 86 104.69483 889 0 0 -2.0891072 -1.8123551 -205.85 - 86 24.363346 1413 7 1 103.97901 -134.8854 5.4274845 - 86 118.37419 897 0 1 0.33684453 -0.11036743 -204.45 - 86 31.939431 1251 1 1 71.163466 41.362497 -174.53263 - 86 3.6030927 1330 1 0 76.933206 86.875986 -175.85318 - 86 192.84085 1282 1 1 77.295769 88.10596 -174.85 - 86 116.61194 904 0 1 1.7451086 -0.54428028 -204.45 - 86 82.716434 896 0 0 1.7230679 0.13685635 -205.85 - 86 62.287293 897 0 0 1.6535375 0.26058127 -206.06087 - 86 56.830515 986 0 0 9.6276746 18.191225 -206.25 - 86 106.32353 987 0 0 9.7846411 18.260209 -206.1468 - 86 73.347812 988 0 0 10.057969 18.488732 -205.96811 - 86 85.065331 956 0 1 12.125016 20.867443 -204.85 - 86 194.09546 957 0 1 12.349662 21.114497 -204.76308 - 86 148.40566 958 0 1 12.497051 21.35606 -204.56899 - 86 46.798562 1006 0 0 11.447509 22.239757 -205.85 - 86 100.62486 1007 0 0 11.365202 22.290613 -205.96169 - 86 90.178097 1033 0 0 3.4773497 27.604108 -206.25 - 86 45.580821 1034 0 0 3.5014741 27.683523 -206.02524 - 86 370.90415 913 0 1 3.6168895 27.911681 -204.85 - 86 124.92532 1024 0 0 6.4671848 25.698104 -205.85 - 86 144.70715 1023 0 0 6.5067237 25.646862 -205.86787 - 86 109.27288 943 2 1 9.6382724 -2.6636293 -144.45 - 86 114.99495 883 2 0 9.4029044 -2.8727784 -145.85 - 86 181.13588 913 1 1 3.5153969 -4.6117357 -174.45 - 86 216.43871 878 1 0 3.3402336 -4.024083 -175.85 - 86 157.67318 892 0 1 -1.1025698 7.5490344 -204.45 - 86 121.78166 938 0 0 -1.2424156 8.4698111 -205.85 - 86 15.779097 939 0 0 -1.2712192 8.693501 -206.19609 - 86 119.67264 900 2 1 0.92465298 0.53139854 -144.45 - 86 217.47453 898 2 0 0.8444417 0.51261331 -145.85 - 86 143.81171 895 1 1 -0.50764361 -0.10014384 -174.45 - 86 235.90318 885 0 0 -1.9211724 -2.5060736 -205.85 - 86 78.086023 899 2 0 0.76718608 0.65131225 -146.11874 -Number of digits in this event = 17 -Event: 87 -Number of tracker hits in this event = 28 - 87 130.4581 896 4 1 0.081716535 0.17764165 -84.45 - 87 126.67254 896 4 0 0.095090874 0.18947845 -85.85 - 87 146.36275 897 3 1 0.32782542 0.42990343 -114.45 - 87 120.80061 897 3 0 0.35029887 0.4134285 -115.85 - 87 92.309166 900 2 1 1.0447149 0.071975069 -144.45 - 87 16.221476 901 2 1 1.0525193 0.059523437 -144.79284 - 87 491.74246 904 1 1 1.718356 -0.88575954 -174.45 - 87 98.536036 893 1 0 1.7451492 -0.95711938 -175.85 - 87 110.31673 906 0 1 2.0664563 -2.5614162 -204.45 - 87 60.892266 885 0 0 2.1381837 -2.6423553 -205.85 - 87 53.491078 884 0 0 2.1506354 -2.6554527 -206.07855 - 87 125.43612 892 1 0 1.7115303 -1.0730175 -175.85 - 87 98.509122 899 0 1 0.74589152 -5.2376667 -204.45 - 87 99.105541 871 0 0 0.65303156 -5.2986261 -205.85 - 87 153.70748 834 0 0 18.711218 -12.66393 -206.25 - 87 82.469148 833 0 0 18.793719 -12.881285 -206.094 - 87 71.694017 832 0 0 18.854037 -13.064428 -206.0436 - 87 61.709405 831 0 0 18.97084 -13.272422 -205.97791 - 87 35.724362 1001 0 1 21.200019 -15.612782 -204.85 - 87 181.58346 1002 0 1 21.250718 -15.672344 -204.81224 - 87 138.7525 1003 0 1 21.460656 -15.532267 -204.68057 - 87 77.274371 820 0 0 21.210085 -15.550722 -205.85 - 87 122.62286 996 0 1 20.2242 -15.650016 -204.85 - 87 213.0527 894 1 0 1.7038226 -0.69501363 -175.85 - 87 12.267852 895 1 0 1.7036582 -0.63710102 -176.18733 - 87 33.594592 896 1 0 0.11642164 0.11315035 -175.85 - 87 188.06194 899 1 1 0.77069793 0.30054568 -174.85 - 87 264.8592 900 1 1 0.87897253 0.28979316 -174.73971 -Number of digits in this event = 14 -Event: 88 -Number of tracker hits in this event = 6 - 88 229.37699 895 4 0 -0.15972158 -0.53215299 -85.85 - 88 107.14314 893 3 0 -0.1036583 -0.95416968 -115.85 - 88 143.03756 888 1 0 -0.17696564 -1.889446 -175.85 - 88 133.94882 895 0 1 -0.62882741 -2.2835506 -204.45 - 88 120.74205 886 0 0 -0.6506953 -2.3029775 -205.85 - 88 11.086693 1438 2 1 109.07947 -46.274912 -144.80299 -Number of digits in this event = 5 -Event: 89 -Number of tracker hits in this event = 17 - 89 118.29181 896 5 1 0.068516959 0.085018184 -54.45 - 89 109.21384 896 5 0 0.068467515 0.087868429 -55.85 - 89 120.16128 896 4 1 0.077253614 0.15420664 -84.45 - 89 115.99662 896 4 0 0.072639764 0.15285686 -85.85 - 89 112.64625 896 2 1 0.072458298 -0.39546724 -144.45 - 89 201.31832 897 1 1 0.26700993 -0.81656146 -174.45 - 89 117.27804 894 1 0 0.27728193 -0.83842617 -175.85 - 89 327.40635 898 0 1 0.49068558 -1.3067826 -204.45 - 89 115.21255 891 0 0 0.49846805 -1.3218788 -205.85 - 89 195.88369 899 0 1 0.65213534 -1.2148768 -204.65326 - 89 300.79455 897 0 0 -0.30954592 0.34551305 -205.85 - 89 14.053235 899 2 0 0.41265542 0.69461934 -146.19596 - 89 29.678386 708 2 0 -57.700271 -38.005843 -146.25 - 89 192.71569 707 2 0 -57.755781 -38.080033 -146.21623 - 89 101.58064 706 2 0 -57.814928 -38.260365 -146.05956 - 89 112.42661 604 2 1 -58.758948 -37.00813 -144.85 - 89 76.986813 603 2 1 -58.856495 -36.890236 -144.57654 -Number of digits in this event = 7 -Event: 90 -Number of tracker hits in this event = 41 - 90 110.50012 897 4 1 0.39050173 -0.12821799 -84.45 - 90 149.39936 899 3 1 0.68115772 0.15417184 -114.45 - 90 224.52251 896 3 0 0.69410916 0.19789311 -115.85 - 90 196.81164 900 2 1 1.0167274 1.1951708 -144.45 - 90 24.304626 901 2 0 1.009566 1.2470373 -145.85 - 90 164.26803 902 2 0 1.0087417 1.2513466 -145.96428 - 90 109.42799 900 1 1 0.94000766 2.2140908 -174.45 - 90 204.59158 907 1 0 0.94708853 2.2907583 -175.85 - 90 623.58162 900 0 1 1.0274731 3.8847599 -204.45 - 90 165.16816 916 0 0 1.062443 4.1023996 -205.85 - 90 181.90179 1012 1 0 -28.850467 23.281564 -176.25 - 90 168.36328 753 1 1 -28.942981 24.451641 -174.85 - 90 93.192985 754 1 1 -28.838344 24.898892 -174.67524 - 90 680.57486 755 1 1 -28.637479 25.132261 -174.65067 - 90 176.00941 899 0 1 0.82687102 -0.67389995 -204.45 - 90 97.888812 895 0 0 0.91398124 -0.62875766 -205.85 - 90 366.59113 892 0 0 1.4504202 -1.1271898 -205.85 - 90 50.900468 895 5 1 -0.48897083 -0.10062118 -54.68156 - 90 102.25958 897 5 0 -1.5694976 0.38982293 -55.85 - 90 79.451873 898 5 0 -1.853176 0.48292825 -56.049593 - 90 157.44497 915 5 0 -58.51771 3.9577861 -56.25 - 90 136.9016 914 5 0 -58.714263 3.8022761 -56.130895 - 90 84.401534 913 5 0 -58.796995 3.6496417 -56.002845 - 90 13.565767 912 5 0 -58.878875 3.4049871 -55.873031 - 90 155.73843 601 5 1 -59.379135 0.88562333 -54.85 - 90 94.410952 602 5 1 -59.238534 0.65856454 -54.764532 - 90 211.9805 600 5 1 -59.463209 0.66595187 -54.59899 - 90 265.26404 599 5 1 -59.658824 1.0611761 -54.609881 - 90 94.751559 990 4 1 19.045905 127.99535 -84.642943 - 90 115.92079 959 6 1 12.740909 64.661721 -24.722221 - 90 93.59754 960 6 1 12.860123 64.688016 -24.760656 - 90 151.69454 911 4 1 3.0525057 -8.5104372 -84.45 - 90 61.431726 848 4 0 3.4909264 -9.9863333 -85.85 - 90 81.253312 847 4 0 3.5350409 -10.110471 -85.958471 - 90 15.185217 846 4 0 3.5751371 -10.352169 -86.194399 - 90 125.02241 942 3 1 9.3848519 -34.708279 -114.45 - 90 40.117262 941 3 1 9.2128454 -34.903066 -114.77248 - 90 65.000844 717 3 0 8.3014662 -36.185042 -115.85 - 90 138.50423 716 3 0 8.2146419 -36.323153 -115.97134 - 90 2.2605036 715 3 0 7.9906707 -36.518328 -116.24338 - 90 1.0627024 841 4 0 2.8938666 -11.433944 -86.200547 +Event: 32 +Number of tracker hits in this event = 35 + 32 119.47357 899 5 1 -0.11958904 0.079047843 -54.45 + 32 310.75358 900 5 0 -0.12568957 0.079647696 -55.85 + 32 234.08872 898 4 1 -0.26589716 0.090030677 -84.45 + 32 92.892418 900 4 0 -0.27231486 0.091762924 -85.85 + 32 137.10472 898 3 1 -0.42977371 0.12802795 -114.45 + 32 128.45031 900 3 0 -0.4366083 0.13518083 -115.85 + 32 117.3091 896 2 1 -0.65338952 0.29066465 -144.45 + 32 116.84808 901 2 0 -0.66977894 0.29161092 -145.85 + 32 443.37563 895 1 1 -0.99192494 0.31099952 -174.45 + 32 114.87606 901 1 0 -1.0020238 0.3084587 -175.85 + 32 178.18229 894 0 1 -1.2435189 0.28763624 -204.45 + 32 104.73194 901 0 0 -1.2611445 0.29471547 -205.85 + 32 89.426743 826 1 1 -14.727674 58.31899 -174.6561 + 32 51.129182 827 1 1 -14.642265 58.28867 -174.51293 + 32 242.56603 902 1 0 -0.91819763 0.52569816 -175.85 + 32 132.09877 893 0 1 -1.4082646 0.75294843 -204.45 + 32 160.83891 903 0 0 -1.4742127 0.75180032 -205.85 + 32 191.02466 895 0 1 -0.99998651 0.34748116 -204.45 + 32 109.91029 902 0 0 -1.0750129 0.45772107 -205.85 + 32 639.00562 899 0 0 -3.2817697 -0.16215358 -205.85 + 32 24.515459 1216 0 0 15.930598 63.402729 -206.25 + 32 152.2065 1732 0 0 -10.787988 166.6848 -206.25 + 32 117.55457 215 1 0 83.611923 -136.96502 -175.94633 + 32 73.77399 835 5 0 145.58696 -12.95602 -56.129109 + 32 355.8294 834 5 0 145.71847 -13.076742 -56.041916 + 32 166.48026 932 5 1 6.4995539 -2.9243631 -54.45 + 32 145.62706 882 5 0 7.6155024 -3.5754179 -55.85 + 32 125.50506 1037 4 1 27.581654 -14.343135 -84.45 + 32 137.81614 825 4 0 28.254781 -14.894473 -85.85 + 32 185.04226 1117 3 1 43.548115 -27.845627 -114.45 + 32 212.35767 767 3 0 43.619712 -26.507405 -115.85 + 32 236.85835 1136 2 1 47.424148 -1.2610058 -144.45 + 32 274.43365 905 2 0 46.932907 1.1647913 -145.85 + 32 29.854089 908 2 0 46.862112 1.8081642 -146.17441 + 32 5.6472215 909 2 0 46.861563 1.8891909 -146.23536 Number of digits in this event = 22 +Event: 33 +Number of tracker hits in this event = 14 + 33 149.01375 900 5 1 0.069050108 -0.11748909 -54.45 + 33 120.07817 899 5 0 0.07115632 -0.11638525 -55.85 + 33 124.2447 900 4 1 0.13109174 -0.10713325 -84.45 + 33 119.13872 899 4 0 0.13430931 -0.10934813 -85.85 + 33 140.62991 900 3 1 0.18159694 -0.13834431 -114.45 + 33 131.58394 899 3 0 0.18793901 -0.13986121 -115.85 + 33 607.86929 901 2 1 0.31697279 -0.22813938 -144.45 + 33 297.79801 899 2 0 0.32355029 -0.24046918 -145.85 + 33 395.2072 901 1 1 0.41095471 -0.41114161 -174.45 + 33 139.46999 898 1 0 0.42770281 -0.39730583 -175.85 + 33 217.01523 903 0 1 0.81030799 -0.12727339 -204.45 + 33 107.4924 899 0 0 0.79735373 -0.076783857 -205.85 + 33 173.86302 899 1 0 0.29131722 -0.11596463 -175.85 + 33 102.40609 906 0 0 0.66821332 1.3804572 -205.85 +Number of digits in this event = 12 +Event: 34 +Number of tracker hits in this event = 12 + 34 123.51422 900 3 1 0.12390912 -0.06303778 -114.45 + 34 188.73044 899 3 0 0.12884546 -0.079121593 -115.85 + 34 286.43995 900 2 1 0.2157695 -0.39759842 -144.45 + 34 199.25983 898 2 0 0.22112497 -0.41302315 -145.85 + 34 116.61876 901 1 1 0.36221517 -0.6914825 -174.45 + 34 257.44502 896 1 0 0.37309575 -0.69077468 -175.85 + 34 149.34778 902 0 1 0.58847213 -0.61733802 -204.45 + 34 142.48522 897 0 0 0.58981835 -0.608517 -205.85 + 34 262.44861 122 12 1 -155.68107 6.0672853 155.31411 + 34 39.199805 180 0 0 -63.792802 -144.10727 -206.25 + 34 0.0166431 179 0 0 -63.832726 -144.18349 -206.24996 + 34 50.638277 44 0 0 -97.130045 -171.28422 -206.25 +Number of digits in this event = 10 +Event: 35 +Number of tracker hits in this event = 29 + 35 132.34042 899 4 1 -0.20159565 -0.086982289 -84.45 + 35 142.02856 899 4 0 -0.21286912 -0.081971075 -85.85 + 35 434.74148 897 3 1 -0.45412407 0.05 -114.72722 + 35 253.35486 900 3 0 -0.45925568 0.061005957 -115.85 + 35 117.02363 896 2 1 -0.6518817 0.32298173 -144.45 + 35 344.54965 901 2 0 -0.67112216 0.33208571 -145.85 + 35 165.47928 894 1 1 -1.0884968 0.52365236 -174.45 + 35 119.22257 902 1 0 -1.1078733 0.5333454 -175.85 + 35 129.57704 892 0 1 -1.5094243 0.76038121 -204.45 + 35 117.75701 903 0 0 -1.5182142 0.77675979 -205.85 + 35 78.836325 755 3 0 31.482041 -28.921649 -116.03311 + 35 23.2771 1039 0 1 27.911109 15.72885 -204.5091 + 35 49.551134 899 3 1 -0.16029425 -0.05 -114.7052 + 35 117.82113 899 3 0 0.29420388 -0.095316465 -115.85 + 35 127.40403 956 2 1 11.377149 -1.3151905 -144.45 + 35 115.67598 894 2 0 11.429847 -1.0892355 -145.85 + 35 221.59647 960 1 1 12.100657 3.0531983 -174.45 + 35 130.11447 913 1 0 12.026844 2.6832883 -175.85 + 35 144.72159 958 0 1 11.824804 -4.9189097 -204.45 + 35 630.96159 871 0 0 12.240119 -5.6747063 -205.85 + 35 60.859679 898 3 1 -0.27298886 0.05 -114.64169 + 35 201.2274 896 3 1 -0.669709 0.62550336 -114.65463 + 35 133.3449 940 2 1 8.0962918 5.6310587 -144.45 + 35 119.89723 927 2 0 8.1608667 5.5276094 -145.85 + 35 128.37616 937 1 1 7.5117161 6.3790124 -174.45 + 35 144.65378 931 1 0 7.8316396 6.3769887 -175.85 + 35 112.22391 967 0 1 13.567535 7.5071409 -204.45 + 35 118.87657 937 0 0 13.284392 7.4519012 -205.85 + 35 76.169196 1498 10 1 119.7741 92.241563 95.17556 +Number of digits in this event = 18 +Event: 36 +Number of tracker hits in this event = 19 + 36 131.45971 899 4 1 -0.16370257 -0.31210881 -84.45 + 36 142.79794 898 4 0 -0.16083136 -0.3253705 -85.85 + 36 108.41302 899 3 1 -0.096786278 -0.62867543 -114.45 + 36 129.66045 896 3 0 -0.088489409 -0.66082903 -115.85 + 36 139.62545 900 2 1 0.1068233 -1.1902408 -144.45 + 36 131.10341 892 2 0 0.22161975 -1.5523516 -145.85 + 36 97.346177 907 1 1 1.5103594 -9.1608645 -174.45 + 36 133.98927 852 1 0 1.5755678 -9.5440315 -175.85 + 36 120.16674 916 0 1 3.3513137 -18.158219 -204.45 + 36 210.55919 803 0 0 3.7109349 -19.426937 -205.85 + 36 485.38027 900 1 1 0.15809421 -1.7967505 -174.45 + 36 362.10096 891 1 0 0.13152057 -1.8195848 -175.85 + 36 97.477712 898 0 1 -0.42934633 -2.3413696 -204.45 + 36 116.67385 888 0 0 -0.43643998 -2.3725642 -205.85 + 36 250.54333 900 0 1 0.097828808 -1.7842869 -204.45 + 36 123.63231 891 0 0 0.11349001 -1.7589505 -205.85 + 36 164.67535 792 0 1 -21.559667 21.734042 -204.64592 + 36 73.784552 793 0 1 -21.427076 21.929736 -204.6242 + 36 292.84144 794 0 1 -21.219915 22.0044 -204.63798 +Number of digits in this event = 15 +Event: 37 +Number of tracker hits in this event = 18 + 37 177.60769 900 5 1 0.12801888 -0.11320744 -54.45 + 37 110.04759 899 5 0 0.12536117 -0.12524492 -55.85 + 37 110.70321 900 4 1 0.070136826 -0.36834519 -84.45 + 37 136.12365 898 4 0 0.05661791 -0.37195797 -85.85 + 37 111.49471 899 3 1 -0.20182313 -0.43834593 -114.45 + 37 164.27404 898 3 0 -0.21971817 -0.44689769 -115.85 + 37 128.59772 897 2 1 -0.60365537 -0.60659492 -144.45 + 37 139.61215 897 2 0 -0.60462937 -0.60160791 -145.85 + 37 135.86098 896 1 1 -0.65736991 -0.45051551 -174.45 + 37 103.10187 898 1 0 -0.66160646 -0.40214798 -175.85 + 37 114.36837 896 0 1 -0.67925447 0.58142999 -204.45 + 37 286.27871 902 0 0 -0.7002694 0.63230007 -205.85 + 37 134.42568 900 1 1 0.23065988 -0.05 -174.64583 + 37 118.11201 899 1 0 0.46829375 -0.23072584 -175.85 + 37 159.90115 932 0 1 6.4617593 -5.3934744 -204.45 + 37 134.47585 872 0 0 6.5938124 -5.5072677 -205.85 + 37 134.92432 880 0 1 -3.8714529 -1.4086111 -204.45 + 37 138.29675 892 0 0 -4.1751522 -1.5444278 -205.85 +Number of digits in this event = 14 +Event: 38 +Number of tracker hits in this event = 21 + 38 110.32858 899 4 1 -0.083469839 -0.41094635 -84.45 + 38 150.36378 898 4 0 -0.08917456 -0.43031465 -85.85 + 38 135.40863 899 3 1 -0.23392712 -0.84652064 -114.45 + 38 133.16642 896 3 0 -0.24987248 -0.8452836 -115.85 + 38 127.97811 897 2 1 -0.59903481 -0.81199186 -144.45 + 38 141.7729 896 2 0 -0.69801067 -0.75061897 -145.85 + 38 137.11347 888 1 1 -2.2987559 0.24553988 -174.45 + 38 166.2522 901 1 0 -2.3142956 0.36199341 -175.85 + 38 130.70738 889 0 1 -2.1457613 2.9959848 -204.45 + 38 116.41909 915 0 0 -2.1377961 3.0966818 -205.85 + 38 193.50077 795 4 1 -20.957904 -71.118592 -84.532414 + 38 68.394455 794 4 1 -21.057174 -71.061752 -84.486422 + 38 21.705792 121 2 0 -94.467813 -155.9359 -146.25 + 38 140.44223 120 2 0 -94.417695 -155.9907 -146.20523 + 38 299.44213 119 2 0 -94.31275 -156.21589 -146.19594 + 38 19.860605 429 2 1 -94.163544 -154.88614 -144.85 + 38 88.758481 430 2 1 -94.146008 -154.8404 -144.82041 + 38 195.34106 431 2 1 -93.946058 -154.84976 -144.84642 + 38 139.30224 432 2 1 -93.745877 -154.65884 -144.64641 + 38 53.642124 517 0 1 -76.581902 -52.026878 -204.72694 + 38 265.85128 516 0 1 -76.676384 -52.073266 -204.68921 +Number of digits in this event = 15 +Event: 39 +Number of tracker hits in this event = 6 + 39 134.95688 897 3 1 -0.51052187 0.15897936 -114.45 + 39 307.95577 900 3 0 -0.51644547 0.15328267 -115.85 + 39 154.5213 897 2 1 -0.63874852 0.063029727 -144.45 + 39 109.88073 900 2 0 -0.64138541 0.058458972 -145.85 + 39 151.03345 895 0 1 -0.96157077 -0.091947301 -204.45 + 39 96.027697 899 0 0 -0.98015806 -0.080468032 -205.85 +Number of digits in this event = 6 +Event: 40 +Number of tracker hits in this event = 49 + 40 192.68599 900 5 1 0.14526997 0.57087318 -54.45 + 40 112.7424 902 5 0 0.14831057 0.59172866 -55.85 + 40 414.53194 900 4 1 0.17310126 1.0001447 -84.45 + 40 132.27431 904 4 0 0.17684155 1.0258136 -85.85 + 40 125.56813 901 3 1 0.27808693 1.527856 -114.45 + 40 107.30895 907 3 0 0.27290647 1.5509395 -115.85 + 40 223.17423 900 2 1 0.16854277 1.977 -144.45 + 40 102.36645 909 2 0 0.16340638 1.9982375 -145.85 + 40 122.68743 900 1 1 0.075601457 2.4454477 -174.45 + 40 142.16017 912 1 0 0.074881454 2.463866 -175.85 + 40 134.32208 900 0 1 0.07816112 2.8268837 -204.45 + 40 100.06309 913 0 0 0.083347962 2.8488787 -205.85 + 40 121.84791 901 4 1 0.25967084 1.0895956 -84.45 + 40 142.42332 906 4 0 0.3119501 1.2929031 -85.85 + 40 118.81788 909 3 1 1.972491 4.857856 -114.45 + 40 127.97386 923 3 0 1.9976114 4.7793712 -115.85 + 40 112.12303 910 2 1 2.2277244 3.0795131 -144.45 + 40 148.44737 913 2 0 2.2863757 2.7068782 -145.85 + 40 195.01951 918 1 1 3.7208262 -3.5974378 -174.45 + 40 106.44037 880 1 0 4.0454255 -3.8569717 -175.85 + 40 141.74899 956 0 1 11.382137 -8.5487612 -204.45 + 40 169.32757 857 0 0 11.462302 -8.4614384 -205.85 + 40 93.120331 900 4 0 0.53482312 0.22808914 -85.85 + 40 224.29756 921 3 1 4.4216619 -6.6835933 -114.45 + 40 135.45613 864 3 0 3.2750854 -7.2205806 -115.85 + 40 137.97624 625 3 0 -8.8958273 -55.02145 -116.25 + 40 60.409053 623 3 0 -8.8392302 -55.422074 -115.98597 + 40 582.50271 857 3 1 -8.4602935 -56.62044 -114.85 + 40 61.500844 858 3 1 -8.3945424 -56.616112 -114.67502 + 40 136.07902 618 3 0 -8.5787711 -56.398613 -115.85 + 40 207.33826 638 3 0 10.2605 -52.263049 -116.25 + 40 35.223723 637 3 0 9.8013149 -52.460263 -116.16763 + 40 113.83611 488 3 0 -2.7090796 -82.388602 -116.25 + 40 234.25641 489 3 0 -2.5142056 -82.23539 -116.09235 + 40 144.68402 899 6 0 -0.094209427 -0.20178943 -25.85 + 40 274.69462 895 5 1 -0.99812358 -3.7144465 -54.45 + 40 166.82406 880 5 0 -0.90335026 -3.9576931 -55.85 + 40 119.24998 897 4 1 -0.6020112 -8.3989376 -84.45 + 40 105.2235 858 4 0 -0.69194653 -8.332052 -85.85 + 40 177.31953 893 3 1 -1.2937444 -11.03664 -114.45 + 40 163.0337 846 3 0 -0.34343966 -10.835595 -115.85 + 40 146.51381 987 2 1 17.597099 -4.4417904 -144.45 + 40 181.81911 874 2 0 16.870608 -5.2244682 -145.85 + 40 195.59639 949 1 1 9.9857211 -18.96175 -174.45 + 40 213.87019 801 1 0 9.1055256 -19.694573 -175.85 + 40 112.39564 901 1 1 0.28920226 -5.5654512 -174.45 + 40 124.10129 874 1 0 -0.05 -5.1997732 -175.86461 + 40 156.37864 859 0 1 -8.1046561 8.2853978 -204.45 + 40 148.75474 945 0 0 -7.6409584 9.1257774 -205.85 +Number of digits in this event = 36 +Event: 41 +Number of tracker hits in this event = 23 + 41 128.03811 897 2 1 -0.5525305 0.057904321 -144.45 + 41 149.66892 900 2 0 -0.57420886 0.064066411 -145.85 + 41 105.97816 895 1 1 -1.0239634 0.18450705 -174.45 + 41 150.67132 900 1 0 -1.0434718 0.17942843 -175.85 + 41 125.61855 892 0 1 -1.4544784 0.05868451 -204.45 + 41 117.89502 900 0 0 -1.4735604 0.055304068 -205.85 + 41 45.078207 899 4 1 -0.059289677 -0.05 -84.694684 + 41 102.26838 899 4 0 -0.26458266 -0.24325951 -85.85 + 41 126.8386 870 3 1 -6.0058677 -4.5135823 -114.45 + 41 151.68309 874 3 0 -6.6978047 -5.2057483 -115.85 + 41 182.41908 803 2 1 -19.350984 -19.481861 -144.45 + 41 183.99389 797 2 0 -19.92195 -20.621852 -145.85 + 41 215.24554 749 1 1 -30.072241 -42.646027 -174.45 + 41 152.38392 677 1 0 -30.8639 -44.591861 -175.85 + 41 113.86786 651 0 1 -49.767286 -86.316744 -204.45 + 41 147.80712 466 0 0 -50.11208 -86.731669 -205.85 + 41 138.86392 899 6 0 0.88147511 -0.20008745 -25.85 + 41 205.341 987 5 1 17.621063 -5.2370344 -54.45 + 41 162.5364 877 5 0 18.503537 -4.619182 -55.85 + 41 169.60081 1076 4 1 35.437209 7.6506797 -84.45 + 41 257.02259 947 4 0 36.230507 9.5243236 -85.85 + 41 149.8385 1372 4 0 70.156778 94.73046 -86.25 + 41 155.60587 1253 4 1 70.746976 95.151412 -84.85 +Number of digits in this event = 19 +Event: 42 +Number of tracker hits in this event = 7 + 42 169.61541 899 2 1 -0.19898621 0.11179848 -144.45 + 42 133.04695 900 2 0 -0.20016833 0.11029443 -145.85 + 42 165.1397 899 1 1 -0.21433042 0.07772175 -174.45 + 42 194.61717 900 1 0 -0.21956161 0.076619643 -175.85 + 42 143.92419 898 0 1 -0.31937713 0.065581292 -204.45 + 42 121.61644 900 0 0 -0.32288243 0.055297098 -205.85 + 42 7.5998959 651 7 1 -49.728148 71.289581 5.5344985 +Number of digits in this event = 7 +Event: 43 +Number of tracker hits in this event = 14 + 43 125.48887 900 5 1 0.051594507 -0.087986141 -54.45 + 43 159.06467 899 5 0 0.054121285 -0.08335207 -55.85 + 43 103.89913 898 3 1 -0.35283864 -0.50867495 -114.45 + 43 134.06423 897 3 0 -0.37893067 -0.5488626 -115.85 + 43 248.3915 895 2 1 -0.90915071 -1.4023549 -144.45 + 43 120.26593 893 2 0 -0.94114732 -1.4474714 -145.85 + 43 155.60234 892 1 1 -1.616338 -2.3943896 -174.45 + 43 117.58848 888 1 0 -1.6598293 -2.4347978 -175.85 + 43 150.05675 887 0 1 -2.5686469 -3.3047204 -204.45 + 43 153.16138 883 0 0 -2.6158284 -3.3403094 -205.85 + 43 124.5169 893 1 1 -1.4124115 -2.0627881 -174.45 + 43 170.54974 891 1 0 -1.3455204 -1.7159282 -175.85 + 43 165.49794 834 0 1 -13.243372 3.2483482 -204.45 + 43 210.07925 910 0 0 -14.871705 2.0962509 -205.85 +Number of digits in this event = 13 +Event: 44 +Number of tracker hits in this event = 12 + 44 114.94803 900 5 1 0.084831568 -0.097278349 -54.45 + 44 127.36466 899 5 0 0.086523957 -0.10731349 -55.85 + 44 129.04244 900 4 1 0.095186355 -0.34558433 -84.45 + 44 328.30227 898 4 0 0.099062772 -0.35550727 -85.85 + 44 114.4064 900 3 1 0.16074783 -0.59038787 -114.45 + 44 118.22521 897 3 0 0.16539082 -0.60197313 -115.85 + 44 124.37193 901 2 1 0.26168617 -0.84957671 -144.45 + 44 147.06625 895 2 0 0.2727286 -0.86622797 -145.85 + 44 100.19144 901 1 1 0.4031076 -1.2120944 -174.45 + 44 104.854 894 1 0 0.40521405 -1.2301379 -175.85 + 44 109.62935 902 0 1 0.45648219 -1.5939193 -204.45 + 44 93.633573 892 0 0 0.46272694 -1.60991 -205.85 +Number of digits in this event = 6 +Event: 45 +Number of tracker hits in this event = 10 + 45 101.46663 900 4 1 0.12499359 -0.10955774 -84.45 + 45 215.43381 899 4 0 0.16790532 -0.13525384 -85.85 + 45 221.74174 905 3 1 1.0635306 -0.64823439 -114.45 + 45 169.12895 896 3 0 1.0823417 -0.67250931 -115.85 + 45 112.29919 906 2 1 1.417224 -1.1079181 -144.45 + 45 103.30952 894 2 0 1.4210282 -1.1474019 -145.85 + 45 117.67528 907 1 1 1.5048962 -1.9331207 -174.45 + 45 156.22361 890 1 0 1.5177727 -1.9622587 -175.85 + 45 124.01119 908 0 1 1.8404034 -2.571037 -204.45 + 45 196.07459 887 0 0 1.8501361 -2.5863903 -205.85 +Number of digits in this event = 7 +Event: 46 +Number of tracker hits in this event = 10 + 46 119.47397 898 4 1 -0.31857968 0.06868924 -84.45 + 46 133.04411 900 4 0 -0.32430313 0.072338598 -85.85 + 46 224.02755 898 3 1 -0.42753295 0.15216841 -114.45 + 46 248.17883 900 3 0 -0.43624857 0.16156289 -115.85 + 46 118.63516 896 2 1 -0.65029505 0.33992673 -144.45 + 46 119.08607 901 2 0 -0.66707108 0.34858563 -145.85 + 46 395.21751 895 1 1 -1.0380355 0.50274102 -174.45 + 46 119.4242 902 1 0 -1.0514508 0.51201274 -175.85 + 46 122.51016 893 0 1 -1.3443167 0.69040042 -204.45 + 46 117.41194 903 0 0 -1.3621619 0.69817208 -205.85 +Number of digits in this event = 6 +Event: 47 +Number of tracker hits in this event = 12 + 47 137.88901 899 5 1 -0.10494842 -0.056704273 -54.45 + 47 384.06138 899 5 0 -0.11614702 -0.062254216 -55.85 + 47 223.35267 898 4 1 -0.34365473 -0.16937171 -84.45 + 47 136.38231 899 4 0 -0.3629887 -0.17443269 -85.85 + 47 137.78394 896 3 1 -0.76926327 -0.23867778 -114.45 + 47 118.87631 899 3 0 -0.79736412 -0.24327466 -115.85 + 47 122.64548 893 2 1 -1.3698264 -0.32116374 -144.45 + 47 144.39407 898 2 0 -1.3954146 -0.33091338 -145.85 + 47 229.89391 890 1 1 -1.9005532 -0.49281091 -174.45 + 47 125.97496 897 1 0 -1.9245504 -0.5009329 -175.85 + 47 115.6779 888 0 1 -2.4160775 -0.6972909 -204.45 + 47 108.33414 896 0 0 -2.4435212 -0.70586571 -205.85 +Number of digits in this event = 11 +Event: 48 +Number of tracker hits in this event = 19 + 48 108.70469 900 4 1 0.22193739 0.081776431 -84.45 + 48 201.3583 900 4 0 0.23967086 0.094120415 -85.85 + 48 133.68337 902 3 1 0.64031762 0.37453603 -114.45 + 48 115.88438 901 3 0 0.60224606 0.44156615 -115.85 + 48 138.92512 899 2 1 -0.16506781 1.6549272 -144.45 + 48 123.18224 908 2 0 -0.22000137 1.7286875 -145.85 + 48 139.85942 893 1 1 -1.3300792 3.3766314 -174.45 + 48 118.87034 917 1 0 -1.3040445 3.4585979 -175.85 + 48 250.01053 896 0 1 -0.70267907 5.2208092 -204.45 + 48 125.03009 926 0 0 -0.68582792 5.2848007 -205.85 + 48 231.95526 904 0 1 0.99658495 2.3891527 -204.45 + 48 248.48708 911 0 0 1.1063589 2.2921945 -205.85 + 48 264.29599 902 2 1 0.47283121 -0.13672073 -144.45 + 48 235.01143 899 2 0 0.47230924 -0.13623205 -145.85 + 48 125.20802 901 1 1 0.42934832 -0.15199763 -174.45 + 48 299.26175 899 1 0 0.44508032 -0.13695953 -175.85 + 48 113.21646 903 0 1 0.76155023 0.24138741 -204.45 + 48 131.61046 901 0 0 0.77907691 0.25731688 -205.85 + 48 129.44754 904 1 1 1.0127195 -0.25458747 -174.45 +Number of digits in this event = 17 +Event: 49 +Number of tracker hits in this event = 12 + 49 169.97328 899 5 1 -0.059896046 0.10554537 -54.45 + 49 161.98299 900 5 0 -0.065879557 0.10951134 -55.85 + 49 126.09977 899 4 1 -0.20067478 0.16774754 -84.45 + 49 182.8297 900 4 0 -0.20084624 0.1757678 -85.85 + 49 126.55379 898 3 1 -0.25456914 0.31301609 -114.45 + 49 111.04419 901 3 0 -0.26379532 0.32715301 -115.85 + 49 128.60054 898 2 1 -0.44852245 0.61602991 -144.45 + 49 117.68821 902 2 0 -0.45731684 0.6370515 -145.85 + 49 136.34651 897 1 1 -0.6154067 0.99446045 -174.45 + 49 145.5266 904 1 0 -0.61827384 1.0172293 -175.85 + 49 117.77775 897 0 1 -0.64902433 1.4887048 -204.45 + 49 155.94562 907 0 0 -0.64326237 1.5160634 -205.85 +Number of digits in this event = 10 +Event: 50 +Number of tracker hits in this event = 30 + 50 113.90101 900 5 1 0.085485113 0.096677794 -54.45 + 50 97.174055 900 5 0 0.096954567 0.098352504 -55.85 + 50 112.89969 901 4 1 0.33274711 0.13924891 -84.45 + 50 97.636359 900 4 0 0.34076426 0.14115329 -85.85 + 50 135.2284 902 3 1 0.51511915 0.16565171 -114.45 + 50 123.9016 900 3 0 0.54234728 0.18727464 -115.85 + 50 116.76482 904 2 1 1.0116335 0.62424354 -144.45 + 50 151.44267 902 2 0 0.9982813 0.64121108 -145.85 + 50 126.35335 903 1 1 0.75163587 0.99431623 -174.45 + 50 136.58135 904 1 0 0.68033209 0.96931156 -175.85 + 50 114.81079 896 0 1 -0.73731637 0.32888607 -204.45 + 50 242.65538 901 0 0 -0.79312194 0.32823588 -205.85 + 50 36.284314 46 5 0 -81.767831 -170.93465 -55.87999 + 50 2.5735396 45 5 0 -81.803343 -170.95024 -55.854229 + 50 124.54445 490 5 1 -81.917124 -171.31585 -54.85 + 50 115.94398 934 1 1 6.949965 -164.69785 -174.60758 + 50 224.11324 935 1 1 7.056285 -164.87926 -174.51555 + 50 28.170925 1147 0 1 49.509348 39.096753 -204.55863 + 50 231.9913 904 1 1 0.94724619 0.25607982 -174.45 + 50 140.89029 901 1 0 0.95855417 0.25727082 -175.85 + 50 124.14308 905 0 1 1.1819136 0.27361681 -204.45 + 50 69.373918 75 9 0 177.15097 -165.01246 63.984902 + 50 254.52945 1785 9 1 177.1911 -165.09036 65.15 + 50 213.89071 1786 9 1 177.3858 -165.07756 65.55 + 50 226.78272 1787 9 1 177.55499 -165.35537 65.363026 + 50 1.844 1791 9 1 178.51029 -165.19825 65.15 + 50 19.223883 1792 9 1 178.65931 -165.21832 65.271452 + 50 194.72535 902 1 0 0.83880635 0.49633035 -175.85 + 50 124.61957 890 0 1 -2.0487775 5.6760003 -204.45 + 50 153.2342 926 0 0 -2.3466888 5.3941893 -205.85 +Number of digits in this event = 18 +Event: 51 +Number of tracker hits in this event = 8 + 51 147.22053 900 4 1 0.16305439 0.080179314 -84.45 + 51 108.17286 900 4 0 0.1819823 0.076696659 -85.85 + 51 123.17834 905 2 1 1.1214031 -0.067620318 -144.45 + 51 140.43939 899 2 0 1.1493787 -0.066917111 -145.85 + 51 119.79031 908 1 1 1.7042991 -0.093044108 -174.45 + 51 154.94996 899 1 0 1.729943 -0.08993676 -175.85 + 51 98.22906 1331 12 1 86.273465 175.07323 155.44158 + 51 3.3967215 1037 1 0 -15.624231 27.466522 -176.24979 +Number of digits in this event = 6 +Event: 52 +Number of tracker hits in this event = 16 + 52 152.59687 900 5 1 0.16507419 -0.054025239 -54.45 + 52 150.73946 899 5 0 0.16160373 -0.059849133 -55.85 + 52 172.83702 900 4 1 0.054216983 -0.20442155 -84.45 + 52 116.14881 899 4 0 0.054747224 -0.20972145 -85.85 + 52 116.50994 900 3 1 0.072777185 -0.33168214 -114.45 + 52 164.87428 898 3 0 0.089409629 -0.33974315 -115.85 + 52 273.85501 901 2 1 0.41393447 -0.48457169 -144.45 + 52 104.50998 897 2 0 0.4299666 -0.4942268 -145.85 + 52 118.61071 903 1 1 0.74732553 -0.71807816 -174.45 + 52 127.89066 896 1 0 0.76369361 -0.74071231 -175.85 + 52 111.44311 905 0 1 1.1049288 -1.1921908 -204.45 + 52 118.62966 894 0 0 1.129708 -1.2140339 -205.85 + 52 88.999024 1139 0 0 -9.0872301 47.861754 -205.92215 + 52 15.729901 895 0 0 1.1013546 -0.88073083 -206.01033 + 52 369.0804 896 0 0 1.1194841 -0.84162219 -206.02927 + 52 93.269106 866 0 0 9.485236 -6.7648438 -206.25 +Number of digits in this event = 8 +Event: 53 +Number of tracker hits in this event = 26 + 53 147.31633 899 5 1 -0.11619742 0.1372196 -54.45 + 53 123.49168 900 5 0 -0.1052879 0.13417255 -55.85 + 53 127.833 900 4 1 0.1051699 0.063981235 -84.45 + 53 108.61026 900 4 0 0.12515485 0.070324946 -85.85 + 53 184.53948 902 3 1 0.55867723 0.20572241 -114.45 + 53 116.66644 900 3 0 0.56944425 0.21642845 -115.85 + 53 148.29149 903 2 1 0.77878436 0.44469066 -144.45 + 53 359.99527 902 2 0 0.78656881 0.45309756 -145.85 + 53 124.37544 904 1 1 0.98251067 0.68004849 -174.45 + 53 127.34683 903 1 0 0.99274098 0.68902991 -175.85 + 53 141.26613 905 0 1 1.1513122 0.96980776 -204.45 + 53 110.74552 904 0 0 1.1520382 0.99044265 -205.85 + 53 186.41383 1401 1 0 15.646199 100.52317 -176.08625 + 53 5.3834441 1402 1 0 15.671516 100.562 -176.07583 + 53 179.6123 1400 1 0 15.758145 100.34905 -175.90945 + 53 143.63225 900 2 1 0.22420538 124.95928 -144.45 + 53 193.62977 901 2 1 0.26128686 124.93299 -144.66181 + 53 503.37479 899 2 1 -0.12337045 0.57916525 -144.45 + 53 146.76215 849 1 1 -10.204741 2.4160432 -174.45 + 53 165.04694 911 1 0 -11.266465 2.3291917 -175.85 + 53 277.25249 728 0 1 -34.2783 -0.5694513 -204.45 + 53 130.90869 896 0 0 -35.055907 -0.82008168 -205.85 + 53 124.30651 910 1 1 2.244543 2.428339 -174.45 + 53 124.55183 912 1 0 2.4598387 2.4651501 -175.85 + 53 132.42672 935 0 1 7.1250901 3.2859052 -204.45 + 53 128.93096 917 0 0 7.3527315 3.460634 -205.85 +Number of digits in this event = 25 +Event: 54 +Number of tracker hits in this event = 18 + 54 135.24629 899 4 1 -0.18644943 0.2263957 -84.45 + 54 149.18068 900 4 0 -0.1983408 0.23804036 -85.85 + 54 473.52866 898 3 1 -0.3713667 0.44039739 -114.45 + 54 341.34751 902 3 0 -0.3882307 0.45649162 -115.85 + 54 350.0887 896 2 1 -0.68370975 0.78035265 -144.45 + 54 103.56888 903 2 0 -0.69372377 0.7882083 -145.85 + 54 114.07902 895 1 1 -0.92747747 0.94105923 -174.45 + 54 125.69438 904 1 0 -0.93636506 0.94271724 -175.85 + 54 155.30583 894 0 1 -1.1263751 0.96973707 -204.45 + 54 134.59283 904 0 0 -1.1372488 0.97882236 -205.85 + 54 82.522909 1134 2 1 46.912166 38.547719 -144.71728 + 54 157.9642 1135 2 1 47.056216 38.562343 -144.66378 + 54 26.691801 903 3 0 -0.56953976 0.66708472 -116.22043 + 54 34.588661 978 3 0 31.730475 15.813532 -116.25 + 54 216.42643 979 3 0 31.787182 15.851508 -116.18855 + 54 1.844 992 3 1 18.597304 53.03499 -114.45 + 54 176.92813 1015 3 1 23.120068 52.318128 -114.71613 + 54 171.60311 910 3 0 0.7690844 2.1969854 -115.85 +Number of digits in this event = 13 +Event: 55 +Number of tracker hits in this event = 10 + 55 147.86955 899 5 1 -0.059251305 0.078566614 -54.45 + 55 162.54938 900 5 0 -0.060872306 0.079598056 -55.85 + 55 111.53217 899 4 1 -0.099950347 0.12255963 -84.45 + 55 117.83679 900 4 0 -0.10406007 0.11824798 -85.85 + 55 130.79673 898 2 1 -0.30351492 0.057724892 -144.45 + 55 137.63109 900 2 0 -0.30970664 0.057892232 -145.85 + 55 125.43395 898 1 1 -0.4273457 0.057478636 -174.45 + 55 107.49845 900 1 0 -0.43392402 0.056962592 -175.85 + 55 51.050627 1314 3 0 135.99537 82.943697 -116.23868 + 55 22.750561 1679 3 1 156.09838 88.569771 -114.45 +Number of digits in this event = 6 +Event: 56 +Number of tracker hits in this event = 34 + 56 118.78906 900 5 1 0.16123246 -0.21881516 -54.45 + 56 130.94217 899 5 0 0.18288628 -0.22813499 -55.85 + 56 124.98399 902 4 1 0.63152264 -0.43676027 -84.45 + 56 159.49612 897 4 0 0.65501606 -0.4506171 -85.85 + 56 688.64254 905 3 1 1.2428153 -0.68960597 -114.45 + 56 120.70574 896 3 0 1.2804922 -0.69022323 -115.85 + 56 123.71215 909 2 1 2.0339282 -0.70627453 -144.45 + 56 234.94106 896 2 0 2.0687662 -0.70783069 -145.85 + 56 130.05239 913 1 1 2.7614957 -0.74476628 -174.45 + 56 160.7163 896 1 0 2.7734369 -0.73378427 -175.85 + 56 129.52568 914 0 1 2.9193463 -0.50841704 -204.45 + 56 109.61713 897 0 0 2.7465068 -0.53780525 -205.85 + 56 69.497541 693 2 0 9.6842487 -41.363047 -146.25 + 56 256.12064 907 3 1 1.4621289 -1.0319175 -114.45 + 56 158.0823 890 3 0 2.0756353 -1.8880836 -115.85 + 56 162.1727 986 2 1 17.43151 -13.528733 -144.45 + 56 130.64724 832 2 0 16.319377 -13.556667 -145.85 + 56 149.8127 848 1 1 -10.44835 -18.949448 -174.45 + 56 71.016944 849 1 1 -10.156036 -19.308029 -174.74081 + 56 1.1015937 850 1 1 -9.9598429 -19.456074 -174.84776 + 56 290.97916 800 1 0 -9.1868923 -19.935771 -175.85 + 56 61.457252 900 3 0 -0.05 0.083264776 -116.06896 + 56 294.69402 897 3 0 1.1915905 -0.61735759 -115.85 + 56 120.50742 916 2 1 3.3272076 -0.43348818 -144.45 + 56 129.55439 897 2 0 3.5990395 -0.47687178 -145.85 + 56 126.03664 946 1 1 9.35353 -1.2963338 -174.45 + 56 97.921323 893 1 0 9.722043 -1.4496789 -175.85 + 56 121.71254 973 0 1 14.685628 -4.3715191 -204.45 + 56 127.80576 876 0 0 14.743101 -4.6561844 -205.85 + 56 106.27948 907 2 1 1.5348599 -0.7026361 -144.45 + 56 106.24299 904 1 1 0.90750225 -1.5431036 -174.45 + 56 117.24637 892 1 0 0.87680407 -1.5556182 -175.85 + 56 136.12537 900 0 1 0.096775137 -1.7047299 -204.45 + 56 117.13575 891 0 0 0.092595832 -1.6942856 -205.85 +Number of digits in this event = 24 +Event: 57 +Number of tracker hits in this event = 30 + 57 138.03048 899 5 1 -0.0883627 -0.087567515 -54.45 + 57 126.33817 899 5 0 -0.10209921 -0.093504363 -55.85 + 57 609.30255 897 4 1 -0.45460202 -0.15567143 -84.45 + 57 121.45964 899 4 0 -0.4709345 -0.16853193 -85.85 + 57 111.68649 896 3 1 -0.69513866 -0.41919815 -114.45 + 57 120.79267 897 3 0 -0.73967015 -0.45863488 -115.85 + 57 92.197498 892 2 1 -1.5782826 -1.2805613 -144.45 + 57 117.26389 893 2 0 -1.6029906 -1.3296858 -145.85 + 57 92.446595 889 1 1 -2.1320202 -2.3821045 -174.45 + 57 107.41239 888 1 0 -2.3474489 -2.4168794 -175.85 + 57 154.66388 865 0 1 -6.9950994 -2.7270182 -204.45 + 57 129.89478 886 0 0 -7.2597803 -2.7615402 -205.85 + 57 62.207731 869 0 1 -6.1441304 15.632637 -204.60287 + 57 132.16378 935 5 1 7.1443192 3.434941 -54.45 + 57 183.59275 920 5 0 7.8325018 4.2041291 -55.85 + 57 211.42018 996 4 1 19.429999 21.185937 -84.45 + 57 153.6055 1009 4 0 20.331042 21.873287 -85.85 + 57 151.8312 1092 3 1 38.555047 35.181745 -114.45 + 57 127.53756 1078 3 0 38.836262 35.811282 -115.85 + 57 227.02 1111 2 1 42.401416 46.441981 -144.45 + 57 105.74724 1133 2 0 42.237178 46.780863 -145.85 + 57 179.86677 1091 1 1 38.411682 50.752985 -174.45 + 57 203.97126 1145 1 0 38.078692 49.094798 -175.85 + 57 122.72715 1096 0 1 39.320823 8.768151 -204.45 + 57 110.76745 941 0 0 39.341773 8.2521379 -205.85 + 57 120.12178 923 0 0 42.504249 4.6718992 -206.25 + 57 207.62519 1112 0 1 42.580027 4.9246075 -204.85 + 57 74.948927 1110 0 1 42.123676 5.0995545 -204.45 + 57 78.959103 1111 0 1 42.2805 5.0737289 -204.59145 + 57 458.84939 1113 0 1 42.683691 4.8972308 -204.56895 +Number of digits in this event = 22 +Event: 58 +Number of tracker hits in this event = 12 + 58 165.96536 899 5 1 -0.072916819 0.096540347 -54.45 + 58 112.29922 900 5 0 -0.07812586 0.10146747 -55.85 + 58 254.52862 899 4 1 -0.18320743 0.19960602 -84.45 + 58 117.24555 900 4 0 -0.19130253 0.20305495 -85.85 + 58 120.24534 898 3 1 -0.35804395 0.25718377 -114.45 + 58 125.21625 901 3 0 -0.36983206 0.26335473 -115.85 + 58 108.7507 897 2 1 -0.58617466 0.40725336 -144.45 + 58 113.66146 901 2 0 -0.59778732 0.42322327 -145.85 + 58 125.98287 896 1 1 -0.82624727 0.75267731 -174.45 + 58 102.04178 903 1 0 -0.84087766 0.76178904 -175.85 + 58 131.7939 894 0 1 -1.1499587 0.95209104 -204.45 + 58 255.20387 904 0 0 -1.1617238 0.97379848 -205.85 +Number of digits in this event = 8 +Event: 59 +Number of tracker hits in this event = 36 + 59 103.26587 900 5 1 0.11443388 -0.060490447 -54.45 + 59 139.96351 899 5 0 0.1293842 -0.075450765 -55.85 + 59 151.65575 901 4 1 0.41921077 -0.35654073 -84.45 + 59 95.257399 898 4 0 0.44062368 -0.36958741 -85.85 + 59 126.97641 904 3 1 0.87997456 -0.64995227 -114.45 + 59 542.40429 896 3 0 0.91014763 -0.67043167 -115.85 + 59 193.80048 907 2 1 1.5535316 -1.1270126 -144.45 + 59 104.54022 894 2 0 1.5827006 -1.1447645 -145.85 + 59 448.30911 910 1 1 2.158197 -1.5369948 -174.45 + 59 304.81377 892 1 0 2.1927835 -1.5454806 -175.85 + 59 128.23678 914 0 1 2.8785595 -1.6507068 -204.45 + 59 140.15057 891 0 0 2.9169081 -1.6736764 -205.85 + 59 59.846318 770 2 1 -26.034772 21.539526 -144.45 + 59 53.740995 1434 2 0 -41.49917 107.09333 -146.25 + 59 41.089218 1435 2 0 -41.530854 107.26244 -146.21987 + 59 126.51491 1436 2 0 -41.58928 107.42472 -146.19344 + 59 134.1413 685 2 1 -42.909016 108.75087 -144.85 + 59 71.898805 684 2 1 -43.096204 109.04567 -144.73075 + 59 83.878632 683 2 1 -43.275869 109.2036 -144.66973 + 59 54.221024 682 2 1 -43.515468 109.17935 -144.61597 + 59 74.107733 681 2 1 -43.73036 109.25212 -144.57603 + 59 339.92735 680 2 1 -43.905308 109.13087 -144.68307 + 59 128.24981 679 2 1 -44.089317 108.52691 -144.77288 + 59 37.207111 678 2 1 -44.251934 108.42504 -144.80036 + 59 26.360687 1430 2 0 -47.414203 106.27059 -145.85 + 59 100.25614 627 2 1 -54.482697 108.63139 -144.85 + 59 28.50109 1443 2 0 -54.94331 108.80133 -145.85 + 59 1.844 650 2 1 -49.946465 104.7517 -144.85 + 59 10.47034 649 2 1 -50.1875 104.60706 -144.75364 + 59 115.15879 910 0 1 2.1140699 -2.1233386 -204.45 + 59 134.22558 889 0 0 2.0520149 -2.1826257 -205.85 + 59 52.351884 900 6 1 0.084586475 -0.05 -24.751014 + 59 190.00996 897 6 0 0.18701088 -0.51757826 -25.85 + 59 26.32833 896 6 0 0.48676141 -0.67047249 -26.208257 + 59 70.63615 867 6 0 21.390804 -6.6032058 -26.25 + 59 186.59853 866 6 0 21.361543 -6.6652113 -26.150209 +Number of digits in this event = 18 +Event: 60 +Number of tracker hits in this event = 10 + 60 127.7065 899 4 1 -0.17953436 -0.15868598 -84.45 + 60 106.82759 899 4 0 -0.18982263 -0.16703897 -85.85 + 60 116.03024 898 3 1 -0.41203681 -0.35363213 -114.45 + 60 102.51241 898 3 0 -0.42497476 -0.3651148 -115.85 + 60 95.324127 896 2 1 -0.70581627 -0.61309685 -144.45 + 60 142.84612 897 2 0 -0.72097535 -0.60451036 -145.85 + 60 224.15497 894 1 1 -1.0850031 -0.40252239 -174.45 + 60 132.22182 898 1 0 -1.1452335 -0.40263605 -175.85 + 60 124.09695 888 0 1 -2.3347699 -0.29829284 -204.45 + 60 133.12819 898 0 0 -2.3671031 -0.28322398 -205.85 +Number of digits in this event = 7 +Event: 61 +Number of tracker hits in this event = 14 + 61 367.51293 901 5 1 0.25518184 -0.16964795 -54.45 + 61 147.3309 899 5 0 0.26240754 -0.17466275 -55.85 + 61 115.69376 901 4 1 0.42257777 -0.25123584 -84.45 + 61 121.72587 898 4 0 0.42856632 -0.25615748 -85.85 + 61 125.3015 902 3 1 0.52247953 -0.37871607 -114.45 + 61 175.30871 898 3 0 0.52077916 -0.38339643 -115.85 + 61 122.86463 902 2 1 0.47728304 -0.47013194 -144.45 + 61 113.48216 897 2 0 0.48446213 -0.51454015 -145.85 + 61 82.270258 902 1 1 0.6498885 -1.4024419 -174.45 + 61 151.3995 893 1 0 0.66330394 -1.4383667 -175.85 + 61 126.63912 904 0 1 0.92176296 -2.1587468 -204.45 + 61 113.61198 889 0 0 0.94103384 -2.1914401 -205.85 + 61 12.420128 760 0 1 -27.855277 -47.734637 -204.45 + 61 130.23914 761 0 1 -27.849422 -47.734847 -204.45923 +Number of digits in this event = 11 +Event: 62 +Number of tracker hits in this event = 9 + 62 278.455 898 4 1 -0.40618617 -0.078296879 -84.45 + 62 124.74545 899 4 0 -0.42075198 -0.082113286 -85.85 + 62 142.63512 896 3 1 -0.72629364 -0.17314842 -114.45 + 62 152.68549 899 3 0 -0.74958312 -0.17787245 -115.85 + 62 126.92355 894 2 1 -1.2282147 -0.25117355 -144.45 + 62 128.31536 899 2 0 -1.242838 -0.24825368 -145.85 + 62 135.57803 892 1 1 -1.5383662 -0.19310487 -174.45 + 62 115.93124 899 1 0 -1.5503644 -0.18717982 -175.85 + 62 114.04178 522 3 1 -75.453952 25.534685 -114.82409 +Number of digits in this event = 8 +Event: 63 +Number of tracker hits in this event = 25 + 63 226.79664 899 5 1 -0.09461809 -0.19988603 -54.45 + 63 114.05952 899 5 0 -0.093821767 -0.19873464 -55.85 + 63 146.03915 899 4 1 -0.070162548 -0.16199602 -84.45 + 63 205.10853 899 4 0 -0.067011273 -0.16389697 -85.85 + 63 124.69524 900 2 1 0.18524765 -0.23509577 -144.45 + 63 137.92984 899 2 0 0.18690197 -0.23393763 -145.85 + 63 117.13014 900 1 1 0.21627354 -0.20588675 -174.45 + 63 153.04455 899 1 0 0.22354687 -0.2147043 -175.85 + 63 146.12785 901 0 1 0.43322461 -0.33595257 -204.45 + 63 142.96579 898 0 0 0.42232236 -0.36093227 -205.85 + 63 242.19452 901 1 1 0.35723339 -0.28178005 -174.45 + 63 162.82296 912 0 1 2.5988729 3.7130251 -204.45 + 63 183.9539 919 0 0 2.3690101 3.9529093 -205.85 + 63 118.90398 897 1 0 0.17830032 -0.56440339 -175.85 + 63 153.76186 856 0 1 -8.7264878 0.31208857 -204.45 + 63 36.530049 855 0 1 -9.0292601 0.40791302 -204.76035 + 63 159.54015 903 0 0 -10.129655 0.69852204 -205.85 + 63 147.20475 951 0 0 -12.695992 10.347439 -206.25 + 63 115.79997 840 0 1 -12.043246 9.958667 -204.85 + 63 69.133929 839 0 1 -12.090484 9.8930546 -204.45 + 63 79.572821 838 0 1 -12.28419 9.8780237 -204.58627 + 63 10.459935 837 0 1 -12.465576 9.9656171 -204.82527 + 63 27.940012 954 0 0 -13.290415 11.007222 -205.85 + 63 107.36916 955 0 0 -13.329239 11.075907 -205.93408 + 63 82.580159 956 0 0 -13.358761 11.267767 -206.12234 +Number of digits in this event = 15 +Event: 64 +Number of tracker hits in this event = 62 + 64 197.09737 901 4 1 0.29967016 0.12689264 -84.45 + 64 93.108886 900 4 0 0.31436231 0.13686099 -85.85 + 64 136.8921 903 3 1 0.65818336 0.26224279 -114.45 + 64 109.07082 901 3 0 0.57302487 0.26656696 -115.85 + 64 143.04622 893 2 1 -1.3833918 0.49488607 -144.45 + 64 122.93381 902 2 0 -1.4858148 0.57179499 -145.85 + 64 135.99354 874 2 0 9.8284543 -5.2049077 -146.25 + 64 146.36473 952 2 1 10.518476 -5.5623132 -144.85 + 64 149.7995 835 3 0 26.737959 -12.916893 -116.25 + 64 168.62489 1037 3 1 27.548797 -13.286887 -114.85 + 64 166.8837 800 4 0 47.081739 -19.934038 -86.25 + 64 158.57619 1140 4 1 48.077697 -20.267305 -84.85 + 64 15.572843 1141 4 1 48.341356 -20.356386 -84.496075 + 64 188.28006 751 5 0 64.509826 -29.83075 -56.25 + 64 147.38049 1226 5 1 65.328718 -30.310369 -54.85 + 64 147.53067 647 6 0 83.105283 -50.554387 -26.25 + 64 194.94587 1319 6 1 83.972537 -51.519628 -24.85 + 64 114.17338 564 7 0 90.352854 -67.118936 3.75 + 64 132.59847 1352 7 1 90.642737 -67.837049 5.15 + 64 165.25408 272 8 0 -13.946254 -125.66745 33.75 + 64 173.70025 271 8 0 -14.443958 -125.76227 33.842625 + 64 34.930495 820 8 1 -16.027948 -125.36857 35.15 + 64 90.600074 819 8 1 -16.129365 -125.30606 35.269023 + 64 398.48768 818 8 1 -16.275611 -125.21185 35.544289 + 64 432.80471 555 9 0 147.58547 -68.965447 63.75 + 64 162.03829 1640 9 1 148.28436 -69.184904 65.15 + 64 308.47514 1642 9 1 148.57662 -69.284495 65.55 + 64 346.99757 554 9 0 148.66848 -69.099122 64.15 + 64 34.998269 930 9 0 148.01433 6.0817697 63.75 + 64 153.12823 553 9 0 143.73709 -69.270293 63.75 + 64 154.48399 1622 9 1 144.68939 -69.760942 65.15 + 64 173.51932 503 10 0 167.64351 -79.251146 93.75 + 64 217.2969 1743 10 1 168.85974 -79.716094 95.15 + 64 319.98205 473 10 0 147.05586 -85.448968 93.75 + 64 169.55185 1634 10 1 147.06821 -86.601033 95.15 + 64 16.049033 757 5 0 77.098324 -28.543097 -55.864953 + 64 33.428083 1288 5 1 77.828931 -27.482658 -54.85 + 64 113.18852 768 5 0 75.661028 -26.327114 -55.85 + 64 3.7181283 539 11 0 170.64323 -72.2189 124.14347 + 64 76.409902 1761 11 1 172.49303 -72.151948 125.15 + 64 92.127692 1763 11 1 172.76166 -72.188582 125.24827 + 64 77.178774 1764 11 1 173.04126 -72.12246 125.26791 + 64 79.517636 1765 11 1 173.28787 -72.066159 125.40444 + 64 5.7472496 1766 11 1 173.52214 -71.992189 125.5393 + 64 323.7407 899 3 0 0.59891632 -0.081025482 -115.95352 + 64 122.62825 900 2 1 0.24478758 -0.48457218 -144.45 + 64 126.25426 897 2 0 0.21410649 -0.49242793 -145.85 + 64 137.06227 897 1 1 -0.55874366 -0.51414713 -174.45 + 64 181.39527 897 1 0 -0.57299158 -0.51184742 -175.85 + 64 116.30104 896 0 1 -0.84174441 -0.45820343 -204.45 + 64 111.71367 897 0 0 -0.90791948 -0.46509755 -205.85 + 64 148.18814 904 2 1 0.94201879 0.075693119 -144.45 + 64 132.58577 900 2 0 0.96179452 0.098187204 -145.85 + 64 124.11824 906 1 1 1.3763483 0.54521726 -174.45 + 64 155.86407 902 1 0 1.3961086 0.58150049 -175.85 + 64 101.37515 909 0 1 1.8853179 1.3521891 -204.45 + 64 311.53112 906 0 0 1.9156601 1.3837787 -205.85 + 64 58.136128 904 0 0 -1.6744969 1.0131452 -205.85 + 64 168.56022 905 0 0 -1.7860383 1.0935771 -205.95578 + 64 29.408728 891 0 1 -1.6847568 2.3608181 -204.85 + 64 486.4359 892 0 1 -1.6297574 2.4182483 -204.8 + 64 386.06925 893 0 1 -1.4000127 2.654505 -204.51784 +Number of digits in this event = 44 +Event: 65 +Number of tracker hits in this event = 14 + 65 324.46118 899 4 1 -0.15597775 -0.21261235 -84.45 + 65 112.27061 899 4 0 -0.15435224 -0.2363981 -85.85 + 65 145.30713 899 3 1 -0.12744499 -0.72625663 -114.45 + 65 100.48785 896 3 0 -0.11656574 -0.75368906 -115.85 + 65 101.93523 900 2 1 0.10591568 -1.3186348 -144.45 + 65 124.43913 893 2 0 0.1189319 -1.3467273 -145.85 + 65 135.75322 901 1 1 0.39616881 -1.9128076 -174.45 + 65 172.76876 890 1 0 0.39510805 -1.9365043 -175.85 + 65 113.91866 902 0 1 0.45235987 -2.407133 -204.45 + 65 121.7949 888 0 0 0.4681835 -2.4336511 -205.85 + 65 102.69898 1092 6 1 38.586928 166.57476 -24.450277 + 65 150.40581 873 8 1 -5.2839659 130.72077 35.55 + 65 31.024993 903 0 1 0.71172257 -2.5305151 -204.78308 + 65 261.97328 887 0 0 0.72342483 -2.514382 -205.85 +Number of digits in this event = 10 +Event: 66 +Number of tracker hits in this event = 35 + 66 121.23466 900 5 1 0.064148248 0.11957039 -54.45 + 66 120.35071 900 5 0 0.073974487 0.12090719 -55.85 + 66 109.76847 901 4 1 0.2626797 0.1605405 -84.45 + 66 153.28469 900 4 0 0.27989706 0.16660767 -85.85 + 66 114.20407 902 3 1 0.61153966 0.30185405 -114.45 + 66 158.7152 901 3 0 0.62857188 0.30658364 -115.85 + 66 101.63417 904 2 1 0.95481099 0.40264177 -144.45 + 66 105.6445 901 2 0 0.9817695 0.40646251 -145.85 + 66 114.64058 907 1 1 1.5294499 0.45202458 -174.45 + 66 298.91487 897 1 0 2.8379153 -0.49804042 -175.85 + 66 110.72088 896 1 0 3.0844372 -0.75180315 -176.15281 + 66 99.73219 794 1 0 34.849411 -21.121252 -176.25 + 66 107.88948 795 1 0 35.080629 -21.04743 -176.04352 + 66 136.37879 1080 1 1 36.05568 -20.778277 -174.85 + 66 1.7870462 1081 1 1 36.294103 -20.595729 -174.45782 + 66 204.50077 271 1 0 74.429526 -125.91756 -176.25 + 66 246.74257 268 1 0 74.741156 -126.37733 -176.09628 + 66 3.2265859 266 1 0 74.91983 -126.84748 -175.85778 + 66 110.74483 1280 1 1 76.212741 -128.5444 -174.85 + 66 112.76406 1282 1 1 76.464093 -128.80594 -174.75961 + 66 108.26268 1283 1 1 76.694859 -129.09076 -174.82923 + 66 116.12733 1284 1 1 76.958222 -129.3 -174.66966 + 66 225.61971 1286 1 1 77.295315 -129.45417 -174.64704 + 66 62.959255 257 1 0 77.388211 -128.65091 -175.85 + 66 93.032051 258 1 0 77.389117 -128.52382 -176.01079 + 66 236.03791 950 1 0 84.41411 10.191284 -176.25 + 66 338.21317 1374 1 1 95.010482 5.501493 -174.85 + 66 133.73208 1373 1 1 94.947623 4.6601739 -174.51751 + 66 146.14055 1372 1 1 94.688611 4.4712044 -174.7673 + 66 14.644727 918 1 0 94.462563 3.6761662 -175.85 + 66 68.72582 917 1 0 94.449992 3.6479243 -175.88559 + 66 137.54506 916 1 0 94.445387 3.4422461 -175.95715 + 66 256.51456 915 1 0 94.474681 3.2415738 -175.92309 + 66 118.87333 914 1 0 94.788937 3.0432936 -176.0413 + 66 250.51189 786 0 1 -22.677288 40.582068 -204.77773 +Number of digits in this event = 18 +Event: 67 +Number of tracker hits in this event = 44 + 67 9.4118316 900 5 0 0.074857109 0.05 -56.230207 + 67 137.76336 903 4 1 0.75436443 0.33319963 -84.45 + 67 336.26412 901 4 0 0.78461375 0.34458846 -85.85 + 67 103.75365 906 3 1 1.3745068 0.55767677 -114.45 + 67 121.1807 902 3 0 1.4031833 0.56168288 -115.85 + 67 144.60954 909 2 1 1.9599891 0.56143626 -144.45 + 67 113.06351 902 2 0 1.9839764 0.55748073 -145.85 + 67 131.82606 912 1 1 2.4619849 0.44875426 -174.45 + 67 141.6287 901 1 0 2.4773072 0.4393319 -175.85 + 67 118.48849 913 0 1 2.7390712 0.38310029 -204.45 + 67 113.90136 901 0 0 2.7476111 0.33715402 -205.85 + 67 183.34847 909 5 0 -34.894272 1.869351 -56.25 + 67 194.44096 717 5 1 -36.5246 1.8358625 -54.85 + 67 85.879382 899 4 0 0.13975723 -0.05 -86.00933 + 67 122.00091 913 3 1 2.7443971 -0.68172783 -114.45 + 67 109.6783 896 3 0 3.025464 -0.84436185 -115.85 + 67 132.00989 946 2 1 9.2935859 -4.7044715 -144.45 + 67 117.93902 874 2 0 9.2134979 -5.0849511 -145.85 + 67 172.94793 929 1 1 5.930725 -12.16465 -174.45 + 67 126.03106 835 1 0 5.4996284 -12.985265 -175.85 + 67 330.93471 884 0 1 -3.1394909 -30.667983 -204.45 + 67 408.26719 736 0 0 -6.1376988 -32.797454 -205.85 + 67 842.24144 392 0 0 -100.58538 -101.73781 -206.25 + 67 5.7122154 388 0 0 -102.73533 -102.39544 -205.85109 + 67 830.27296 354 0 1 -109.31322 -103.94274 -204.85 + 67 599.77716 341 0 1 -111.94139 -104.561 -204.45 + 67 1970.77 332 0 1 -113.67675 -104.73274 -204.49699 + 67 341.16568 307 0 1 -118.70563 -104.0683 -204.84983 + 67 129.85778 402 1 0 -122.91101 -99.746593 -176.25 + 67 154.10753 282 1 1 -123.66743 -99.396397 -174.85 + 67 63.981028 61 2 0 -118.68136 -167.8451 -146.25 + 67 117.26147 60 2 0 -118.64735 -168.04308 -146.1178 + 67 71.683403 59 2 0 -118.65457 -168.27025 -146.04014 + 67 77.044495 58 2 0 -118.75981 -168.46445 -145.94737 + 67 14.512998 57 2 0 -118.83669 -168.66265 -145.85416 + 67 442.76062 302 2 1 -119.59011 -173.74036 -144.85 + 67 105.63151 301 2 1 -119.84001 -174.49179 -144.55755 + 67 140.2932 300 2 1 -120.01814 -174.65907 -144.50303 + 67 3.9231769 299 2 1 -120.15795 -174.76476 -144.83622 + 67 87.656485 26 2 0 -120.65362 -174.91812 -145.85 + 67 86.201886 25 2 0 -120.6715 -174.95048 -146.0119 + 67 144.8273 179 2 0 -127.95861 -144.22126 -146.25 + 67 16.129059 323 0 1 -115.51215 -104.43882 -204.60821 + 67 10.197575 352 0 1 -109.58635 -104.19902 -204.85 +Number of digits in this event = 26 +Event: 68 +Number of tracker hits in this event = 12 + 68 107.82143 900 4 1 0.098069477 0.055187753 -84.45 + 68 94.221378 900 4 0 0.09734502 0.055146525 -85.85 + 68 88.57734 900 3 1 0.053570676 0.083694458 -114.45 + 68 172.37138 900 3 0 0.057981806 0.086666797 -115.85 + 68 143.06146 900 2 1 0.13276153 0.15397567 -144.45 + 68 120.06433 900 2 0 0.13724201 0.14658474 -145.85 + 68 142.96899 900 1 1 0.2039582 -0.15431403 -174.45 + 68 170.58846 899 1 0 0.20433606 -0.16456224 -175.85 + 68 121.17505 901 0 1 0.25966979 -0.3106748 -204.45 + 68 125.16904 898 0 0 0.26238932 -0.31048046 -205.85 + 68 76.600987 777 2 0 175.69228 -24.503519 -146.00348 + 68 423.05975 1780 2 1 176.21161 -24.396435 -144.85 +Number of digits in this event = 10 +Event: 69 +Number of tracker hits in this event = 8 + 69 123.76779 900 4 1 0.22041925 0.068627531 -84.45 + 69 139.73841 900 4 0 0.22193854 0.080126331 -85.85 + 69 110.3649 900 3 1 0.23537197 0.32001261 -114.45 + 69 169.95321 901 3 0 0.23302961 0.33957472 -115.85 + 69 114.58027 900 2 1 0.16798736 0.74101379 -144.45 + 69 232.01875 903 2 0 0.15849644 0.75586477 -145.85 + 69 100.78869 899 0 1 -0.23249173 1.422985 -204.45 + 69 164.5903 907 0 0 -0.23296419 1.453704 -205.85 +Number of digits in this event = 7 +Event: 70 +Number of tracker hits in this event = 26 + 70 110.99719 899 4 1 -0.091957124 -0.4041515 -84.45 + 70 188.54824 898 4 0 -0.09523852 -0.41587175 -85.85 + 70 433.47634 899 3 1 -0.15959616 -0.65083328 -114.45 + 70 126.53667 896 3 0 -0.15237171 -0.65984555 -115.85 + 70 129.46652 900 1 1 0.11727331 -1.0350751 -174.45 + 70 129.83716 895 1 0 0.11737278 -1.0231579 -175.85 + 70 579.65536 900 0 1 0.13375924 -0.77906365 -204.45 + 70 112.72231 896 0 0 0.13322786 -0.76948125 -205.85 + 70 118.21037 251 3 1 -129.89881 -19.502336 -114.45 + 70 128.33028 894 0 0 0.23630147 -1.0528364 -205.85 + 70 281.27449 1028 0 0 -23.446537 25.772962 -206.25 + 70 623.75129 757 0 1 -28.553507 29.53811 -204.85 + 70 379.78659 750 0 1 -29.950305 30.505244 -204.59999 + 70 228.79226 744 0 1 -31.175524 30.698419 -204.45 + 70 173.6444 740 0 1 -31.87091 30.691688 -204.64443 + 70 130.97951 1064 0 0 -36.123124 32.9695 -205.85 + 70 12.043174 1065 0 0 -36.551637 33.246582 -205.85375 + 70 117.37405 686 0 1 -42.667042 39.105967 -204.85 + 70 29.394212 685 0 1 -43.006806 39.378324 -204.83264 + 70 93.046906 1126 0 0 -49.651365 45.315496 -205.85 + 70 100.97271 1127 0 0 -49.952624 45.531689 -205.90467 + 70 190.49241 1128 0 0 -50.299081 45.668785 -205.92533 + 70 96.773152 1129 0 0 -50.475944 45.988498 -206.03182 + 70 26.056207 1131 0 0 -50.590306 46.292606 -206.20778 + 70 138.7384 893 0 0 0.18072573 -1.3233132 -205.85 + 70 162.33624 898 3 0 -0.39567334 -0.40976923 -115.85 +Number of digits in this event = 17 +Event: 71 +Number of tracker hits in this event = 24 + 71 136.79261 899 5 1 -0.083367982 0.10491014 -54.45 + 71 347.73604 900 5 0 -0.08665796 0.1164156 -55.85 + 71 166.56806 899 4 1 -0.19991562 0.35694103 -84.45 + 71 212.11614 901 4 0 -0.20446053 0.36637918 -85.85 + 71 105.92625 898 3 1 -0.31910062 0.55740131 -114.45 + 71 137.21021 902 3 0 -0.32658215 0.56161902 -115.85 + 71 152.97249 897 2 1 -0.48703253 0.66216293 -144.45 + 71 161.27772 903 2 0 -0.51234187 0.71787521 -145.85 + 71 155.93304 895 1 1 -1.0239803 1.8537194 -174.45 + 71 120.33507 909 1 0 -1.0374512 1.9043188 -175.85 + 71 115.16104 893 0 1 -1.3475338 2.9204594 -204.45 + 71 108.69471 914 0 0 -1.3698813 2.9853751 -205.85 + 71 18.547944 854 1 1 -9.1942912 32.553782 -174.57827 + 71 11.455808 323 1 1 -115.53115 -48.372755 -174.49442 + 71 156.11929 322 1 1 -115.55406 -48.359751 -174.48103 + 71 139.70316 141 9 1 -151.8436 153.87586 65.55 + 71 171.78405 140 9 1 -151.958 154.06784 65.489936 + 71 67.536874 139 9 1 -152.15902 154.15187 65.46563 + 71 166.35546 897 0 1 -0.61309471 0.66043443 -204.45 + 71 119.0297 903 0 0 -0.70550538 0.72662059 -205.85 + 71 75.211288 1591 2 0 -74.308878 138.49284 -146.25 + 71 116.02119 1592 2 0 -74.307442 138.55065 -146.18421 + 71 133.02096 1593 2 0 -74.235452 138.77753 -146.17649 + 71 81.859441 1595 2 0 -64.497759 139.31781 -146.25 +Number of digits in this event = 16 +Event: 72 +Number of tracker hits in this event = 18 + 72 108.84975 899 4 1 -0.052326316 -0.31157086 -84.45 + 72 102.72969 898 4 0 -0.052990778 -0.31862173 -85.85 + 72 128.33702 899 3 1 -0.052968489 -0.49136906 -114.45 + 72 111.95281 897 3 0 -0.055854328 -0.49614142 -115.85 + 72 99.57234 899 2 1 -0.1303027 -0.56971987 -144.45 + 72 176.85042 897 2 0 -0.1278923 -0.56190999 -145.85 + 72 106.07796 899 1 1 -0.065638833 -0.38350489 -174.45 + 72 128.02445 901 0 1 0.36185779 -0.11056119 -204.45 + 72 109.66844 899 0 0 0.38990364 -0.09358586 -205.85 + 72 188.2273 1203 0 0 -123.09291 60.759168 -206.0744 + 72 190.66068 848 1 0 -61.56162 -10.382373 -176.1352 + 72 28.001213 847 1 0 -61.674914 -10.46022 -176.07237 + 72 150.20239 983 0 1 16.805728 -61.388662 -204.63394 + 72 63.050574 984 0 1 16.857352 -61.513416 -204.49807 + 72 124.86269 898 0 0 0.077920581 -0.28446266 -205.86681 + 72 127.24951 878 0 0 2.8687918 -4.3046949 -206.25 + 72 95.286133 914 0 1 2.9852703 -4.4022707 -204.85 + 72 19.797944 915 0 1 3.0762819 -4.4134296 -204.54583 +Number of digits in this event = 10 +Event: 73 +Number of tracker hits in this event = 34 + 73 118.95196 900 5 1 0.14822467 0.074738884 -54.45 + 73 148.13558 900 5 0 0.15266354 0.056572489 -55.85 + 73 426.44782 900 4 1 0.21662301 -0.27641897 -84.45 + 73 180.93829 898 4 0 0.28728881 -0.29836521 -85.85 + 73 139.27463 908 3 1 1.8091595 -0.79808637 -114.45 + 73 121.36155 895 3 0 1.8923951 -0.85471846 -115.85 + 73 135.25402 917 2 1 3.6481501 -2.1037153 -144.45 + 73 360.61237 889 2 0 3.7393301 -2.1577335 -145.85 + 73 607.61716 927 1 1 5.4865684 -3.2310983 -174.45 + 73 158.26704 883 1 0 5.6134606 -3.3252763 -175.85 + 73 149.47237 940 0 1 8.0733556 -5.2994891 -204.45 + 73 117.83098 873 0 0 8.2203187 -5.4021568 -205.85 + 73 137.09266 897 4 0 -0.3778914 -0.45425252 -85.958409 + 73 39.673007 896 4 0 -0.54793419 -0.65440319 -85.872093 + 73 82.725498 894 4 1 -1.1010894 0.15027139 -84.85 + 73 191.14446 895 4 1 -1.0459126 0.15074035 -84.676653 + 73 15.922964 1008 3 1 21.716059 -97.363795 -114.70039 + 73 182.1049 983 4 0 35.479417 16.728035 -86.127677 + 73 123.98457 984 4 0 35.686128 16.857065 -86.055121 + 73 153.06481 900 4 0 0.23703143 0.14453586 -85.85 + 73 277.37867 901 4 0 0.23489648 0.26271175 -86.25 + 73 195.8634 910 4 1 2.1819596 0.21198507 -84.85 + 73 82.213515 914 4 1 3.0491235 -0.35579555 -84.45 + 73 146.33593 915 4 1 3.108441 -0.50282368 -84.685322 + 73 146.21777 894 4 0 3.2386832 -1.1302828 -85.85 + 73 3.523166 893 4 0 3.1557934 -1.2742611 -86.235995 + 73 86.479887 1137 3 1 47.638525 -65.576881 -114.6231 + 73 49.489263 1138 3 1 47.659812 -65.757925 -114.74149 + 73 210.80507 570 3 0 48.32371 -65.928794 -115.85 + 73 26.156969 569 3 0 48.433655 -66.052441 -116.16781 + 73 6.209708 907 5 0 -1.5819352 1.6362564 -55.855 + 73 73.632738 886 5 1 -2.8047368 1.421993 -54.85 + 73 100.64542 901 2 0 -0.37432586 0.36304823 -145.88499 + 73 44.488042 900 2 0 -0.28498077 0.22897142 -146.15417 +Number of digits in this event = 24 +Event: 74 +Number of tracker hits in this event = 8 + 74 147.47763 900 4 1 0.18203515 0.11816258 -84.45 + 74 127.88348 900 4 0 0.17346485 0.12827154 -85.85 + 74 128.44657 899 2 1 -0.11213376 0.41481975 -144.45 + 74 134.99638 901 2 0 -0.12394206 0.42872869 -145.85 + 74 166.12504 898 1 1 -0.37369848 0.71831692 -174.45 + 74 119.44933 903 1 0 -0.38449605 0.73278769 -175.85 + 74 227.20382 897 0 1 -0.59753062 1.0102066 -204.45 + 74 132.88349 904 0 0 -0.59885403 1.0205883 -205.85 +Number of digits in this event = 10 +Event: 75 +Number of tracker hits in this event = 23 + 75 141.6271 899 5 0 -0.050694492 -0.051851816 -55.85 + 75 151.0927 898 3 1 -0.29361991 -0.20258982 -114.45 + 75 121.75304 899 3 0 -0.30222401 -0.21604214 -115.85 + 75 183.54371 897 2 1 -0.46254209 -0.4790666 -144.45 + 75 124.76794 897 2 0 -0.46833506 -0.49319906 -145.85 + 75 147.58992 897 1 1 -0.60513021 -0.74575882 -174.45 + 75 204.64696 896 1 0 -0.6154778 -0.75952622 -175.85 + 75 98.180657 896 0 1 -0.79519105 -1.0718597 -204.45 + 75 124.40188 894 0 0 -0.8070277 -1.0843058 -205.85 + 75 105.07673 900 6 1 0.054874942 0.05 -24.520184 + 75 206.59963 903 6 0 0.26138216 0.76710888 -25.85 + 75 157.92427 1028 6 0 26.192142 25.75732 -26.25 + 75 163.16612 1035 6 1 27.221991 27.116015 -24.85 + 75 146.0034 1036 6 1 27.348665 27.225814 -24.724989 + 75 42.279407 1037 6 1 27.519811 27.361328 -24.45 + 75 76.908251 1034 6 1 26.979915 27.321206 -24.590573 + 75 42.372213 1033 6 1 26.73412 27.372429 -24.729282 + 75 109.85662 1032 6 1 26.594443 27.406166 -24.749747 + 75 32.844278 1031 6 1 26.308304 27.443787 -24.75346 + 75 5.8741697 1030 6 1 26.188809 27.459116 -24.832578 + 75 91.966285 1038 6 0 24.533511 27.713334 -25.85 + 75 103.20565 1039 6 0 24.244687 27.854726 -25.888521 + 75 169.96194 1011 6 1 22.356738 27.880357 -24.85 +Number of digits in this event = 15 +Event: 76 +Number of tracker hits in this event = 33 + 76 131.57986 898 5 1 -0.42922115 0.19508883 -54.45 + 76 119.60281 900 5 0 -0.4999341 0.23697567 -55.85 + 76 103.55313 890 4 1 -1.9821504 1.1579514 -84.45 + 76 116.53673 905 4 0 -2.0162526 1.1890671 -85.85 + 76 143.69608 886 3 1 -2.7293183 1.6606634 -114.45 + 76 174.40772 907 3 0 -2.7311038 1.6281686 -115.85 + 76 88.00568 885 2 1 -2.874838 1.3224331 -144.45 + 76 114.40795 906 2 0 -2.9383489 1.3533373 -145.85 + 76 170.75512 880 1 1 -3.8607643 2.1589714 -174.45 + 76 156.28852 910 1 0 -3.8352665 2.1670218 -175.85 + 76 221.80696 882 0 1 -3.5607175 2.4417608 -204.45 + 76 192.7022 912 0 0 -3.5288925 2.5135004 -205.85 + 76 215.6059 952 0 0 -14.834637 10.608785 -206.25 + 76 48.924751 809 0 1 -18.184754 9.9122817 -204.85 + 76 47.127792 808 0 1 -18.345666 9.9109588 -204.79659 + 76 93.569659 807 0 1 -18.508955 9.9116887 -204.75157 + 76 94.089923 806 0 1 -18.659389 9.834237 -204.75256 + 76 46.110944 805 0 1 -18.946955 9.6974248 -204.69973 + 76 65.949848 804 0 1 -19.100308 9.6297595 -204.68482 + 76 104.90444 803 0 1 -19.266894 9.6512708 -204.68731 + 76 360.82745 944 0 0 -20.099874 8.9810317 -205.85 + 76 87.273685 945 0 0 -20.010221 9.0902964 -206.09996 + 76 92.793779 946 0 0 -19.981208 9.2890309 -206.06002 + 76 83.523042 947 0 0 -19.923166 9.4774244 -206.0467 + 76 126.55426 800 0 1 -19.970017 10.044402 -204.85 + 76 72.310816 801 0 1 -19.849107 10.12855 -204.77326 + 76 341.1702 885 1 1 -2.8529392 0.30696067 -174.45 + 76 103.17561 900 1 0 -2.791946 0.085884291 -175.85 + 76 117.65737 893 0 1 -1.3909688 -4.6656486 -204.45 + 76 175.92409 877 0 0 -1.406649 -4.6032298 -205.85 + 76 160.20501 904 1 0 -3.4308411 0.99929071 -175.85 + 76 223.99577 825 0 1 -14.945111 15.650522 -204.45 + 76 137.90991 979 0 0 -15.010874 15.880048 -205.85 +Number of digits in this event = 16 +Event: 77 +Number of tracker hits in this event = 9 + 77 127.94609 899 4 1 -0.064385747 -0.24224899 -84.45 + 77 215.69996 898 4 0 -0.061098203 -0.25784893 -85.85 + 77 106.13373 900 2 1 0.073736661 -0.89117203 -144.45 + 77 148.28991 895 2 0 0.066970203 -0.90555215 -145.85 + 77 131.76598 899 1 1 -0.075903112 -1.1630139 -174.45 + 77 218.75559 894 1 0 -0.077047773 -1.1698352 -175.85 + 77 364.27596 899 0 1 -0.10260037 -1.2796638 -204.45 + 77 290.49644 893 0 0 -0.10582111 -1.2864813 -205.85 + 77 66.529968 894 0 0 -0.05 -1.2485798 -206.15003 +Number of digits in this event = 8 +Event: 78 +Number of tracker hits in this event = 31 + 78 104.81637 900 5 1 0.14373169 0.078768265 -54.45 + 78 121.57436 900 5 0 0.16119371 0.081513807 -55.85 + 78 103.1815 902 4 1 0.53302297 0.13165921 -84.45 + 78 136.55514 900 4 0 0.55238054 0.1321706 -85.85 + 78 118.50323 904 3 1 0.92049954 0.1640442 -114.45 + 78 92.819589 900 3 0 0.93233428 0.17186603 -115.85 + 78 123.27201 905 2 1 1.2110475 0.38285719 -144.45 + 78 802.61256 901 2 0 1.2303214 0.39667061 -145.85 + 78 104.23935 907 1 1 1.605195 0.69518509 -174.45 + 78 116.89271 903 1 0 1.6117905 0.7076042 -175.85 + 78 124.25926 908 0 1 1.7812584 0.9707714 -204.45 + 78 158.99695 904 0 0 1.7758233 0.98207679 -205.85 + 78 112.06078 1481 2 0 -146.98946 116.37768 -146.20873 + 78 146.71013 885 4 1 -2.9050075 73.49567 -84.844076 + 78 99.176668 803 2 0 -14.008457 -19.281538 -146.25 + 78 73.180151 802 2 0 -14.127419 -19.490421 -146.06704 + 78 100.68034 833 2 1 -13.39268 -19.31122 -144.85 + 78 309.78188 834 2 1 -13.199722 -19.228675 -144.56878 + 78 120.80822 914 2 0 14.778336 2.9372374 -146.25 + 78 126.55079 977 2 1 15.546625 3.0125185 -144.85 + 78 195.0351 930 3 0 -9.3003872 6.1460514 -116.25 + 78 177.08067 846 3 1 -10.657335 6.4534493 -114.85 + 78 162.20183 1018 4 0 -24.870691 23.741794 -86.25 + 78 233.20089 772 4 1 -25.497716 24.272165 -84.85 + 78 26.119576 771 4 1 -25.672072 24.282213 -84.45 + 78 61.143314 773 4 1 -25.404071 24.241783 -84.608339 + 78 86.329747 774 4 1 -25.222593 24.212443 -84.6564 + 78 32.53717 775 4 1 -25.002716 24.277973 -84.759467 + 78 107.4616 1021 4 0 -24.902919 24.433042 -85.85 + 78 348.38291 1020 4 0 -24.881729 24.23303 -86.023906 + 78 206.19546 1366 1 0 14.88125 93.410892 -175.9088 +Number of digits in this event = 18 +Event: 79 +Number of tracker hits in this event = 22 + 79 140.35693 900 5 1 0.14875753 -0.20221863 -54.45 + 79 157.24387 899 5 0 0.15404364 -0.21339948 -55.85 + 79 116.63675 900 4 1 0.23058136 -0.50264653 -84.45 + 79 100.72102 897 4 0 0.21526337 -0.50779659 -85.85 + 79 129.04903 899 3 1 -0.057506508 -0.53456049 -114.45 + 79 121.66229 897 3 0 -0.095238482 -0.52317298 -115.85 + 79 116.85901 895 2 1 -0.86404543 -0.39245142 -144.45 + 79 111.25968 898 2 0 -0.91120583 -0.38723278 -145.85 + 79 137.02484 891 1 1 -1.8460018 -0.1737931 -174.45 + 79 127.88435 899 1 0 -1.8533157 -0.17886415 -175.85 + 79 163.99214 890 0 1 -1.9818414 -0.33372627 -204.45 + 79 157.23625 898 0 0 -2.009217 -0.37845323 -205.85 + 79 141.63602 898 2 1 -0.29583394 -0.99019925 -144.52769 + 79 13.911609 899 2 1 -0.24365454 -1.0291668 -144.45994 + 79 415.14834 895 2 0 -0.47508018 -0.9184789 -145.85 + 79 484.54235 879 1 1 -4.2042202 0.55596543 -174.45 + 79 113.92925 902 1 0 -4.4437819 0.53940397 -175.85 + 79 223.31897 855 0 1 -9.0254695 0.59555672 -204.45 + 79 188.74233 904 0 0 -10.411193 0.96034379 -205.85 + 79 120.64234 982 0 0 -32.901401 16.645634 -206.25 + 79 243.88688 735 0 1 -32.95028 17.007324 -204.85 + 79 150.04502 988 0 0 -33.71956 17.720319 -205.85 +Number of digits in this event = 17 +Event: 80 +Number of tracker hits in this event = 22 + 80 133.38253 899 5 1 -0.075773966 0.18606321 -54.45 + 80 137.72573 900 5 0 -0.083766202 0.19981162 -55.85 + 80 101.13958 898 4 1 -0.2501734 0.47520253 -84.45 + 80 122.26309 902 4 0 -0.25928318 0.48643172 -85.85 + 80 139.72564 898 3 1 -0.44291311 0.68699204 -114.45 + 80 110.91326 903 3 0 -0.45252178 0.70280824 -115.85 + 80 112.03953 896 2 1 -0.6557655 1.0003485 -144.45 + 80 430.13712 904 2 0 -0.65974448 1.0263764 -145.85 + 80 127.51675 896 1 1 -0.78657241 1.5538636 -174.45 + 80 124.18794 907 1 0 -0.81023309 1.5659283 -175.85 + 80 112.58919 893 0 1 -1.4000915 1.7862476 -204.45 + 80 125.58866 908 0 0 -1.4124023 1.7794768 -205.85 + 80 349.41707 895 0 1 -1.0467426 1.5533453 -204.45 + 80 206.98798 907 0 0 -1.0847948 1.5040798 -205.85 + 80 314.14946 897 2 1 -0.63899641 0.94407824 -144.45 + 80 226.77076 894 1 1 -1.1166207 2.7703057 -174.45 + 80 167.94243 914 1 0 -1.0811765 2.8566107 -175.85 + 80 149.88428 921 0 0 -0.79766718 4.337971 -205.85 + 80 66.230525 899 1 1 -0.061947448 1.5266995 -174.45 + 80 131.05672 910 0 1 2.1322113 0.79220365 -204.45 + 80 123.32867 903 0 0 2.2469999 0.76798036 -205.85 + 80 10.507977 1409 2 1 101.97738 59.460565 -144.47416 +Number of digits in this event = 17 +Event: 81 +Number of tracker hits in this event = 25 + 81 106.20203 900 4 1 0.14372575 -0.41293641 -84.45 + 81 131.53314 898 4 0 0.15466578 -0.4233048 -85.85 + 81 99.861931 901 3 1 0.36493355 -0.64156789 -114.45 + 81 138.18193 896 3 0 0.37012178 -0.6534135 -115.85 + 81 111.5424 902 2 1 0.48456798 -0.86954727 -144.45 + 81 145.0342 895 2 0 0.48455356 -0.87976247 -145.85 + 81 153.43552 901 1 1 0.43119438 -1.0504597 -174.45 + 81 128.19389 895 1 0 0.42931483 -1.0356581 -175.85 + 81 159.20686 901 0 1 0.39325805 -0.73377532 -204.45 + 81 144.70419 896 0 0 0.39002763 -0.71532919 -205.85 + 81 15.578824 894 1 0 0.62160745 -1.2416795 -176.19893 + 81 88.333918 910 0 1 2.1351596 -1.4276812 -204.45 + 81 137.05833 893 0 0 2.2322966 -1.4336017 -205.85 + 81 98.442791 900 1 1 0.13007611 -0.41794235 -174.45 + 81 79.584427 898 1 0 -0.05 -0.25395619 -176.04408 + 81 181.25896 973 1 0 -20.014109 14.762694 -176.25 + 81 58.942599 791 1 1 -21.720955 13.147756 -174.85 + 81 151.20306 790 1 1 -21.858634 13.085794 -174.79541 + 81 31.662957 789 1 1 -22.076103 12.992469 -174.8357 + 81 41.371345 958 1 0 -24.785007 11.708538 -175.85 + 81 7.6929956 957 1 0 -24.901305 11.621136 -175.85572 + 81 135.82228 769 1 1 -26.071394 9.2109896 -174.85 + 81 29.369546 926 1 0 -24.102252 5.333531 -175.85 + 81 62.987693 925 1 0 -24.076041 5.2458444 -175.87029 + 81 352.96632 924 1 0 -24.092416 5.0489371 -175.93427 +Number of digits in this event = 13 +Event: 82 +Number of tracker hits in this event = 13 + 82 117.78221 899 5 1 -0.19995903 0.29648342 -54.45 + 82 178.74272 901 5 0 -0.2143833 0.32524744 -55.85 + 82 126.66192 897 4 1 -0.46472873 0.87026099 -84.45 + 82 107.53233 904 4 0 -0.48207323 0.89664698 -85.85 + 82 108.7098 895 3 1 -0.85055854 1.4386768 -114.45 + 82 98.659144 907 3 0 -0.84590502 1.4835233 -115.85 + 82 121.50152 896 2 1 -0.72744421 2.4242497 -144.45 + 82 117.43688 912 2 0 -0.7221468 2.4577945 -145.85 + 82 269.77412 897 1 1 -0.6357146 3.1310243 -174.45 + 82 215.13523 915 1 0 -0.62364163 3.1633519 -175.85 + 82 100.7299 898 0 1 -0.40068983 3.7945115 -204.45 + 82 114.25382 918 0 0 -0.39683698 3.8299191 -205.85 + 82 44.015704 878 0 0 39.623651 -4.3041034 -206.08343 +Number of digits in this event = 8 +Event: 83 +Number of tracker hits in this event = 28 + 83 276.40729 899 5 1 -0.19601213 0.059916382 -54.45 + 83 549.97765 900 5 0 -0.20881335 0.056437442 -55.85 + 83 141.52027 896 2 1 -0.68695164 0.099253062 -144.45 + 83 151.21716 900 2 0 -0.69822331 0.097261609 -145.85 + 83 95.6461 895 1 1 -0.94055802 0.10858414 -174.45 + 83 197.09929 900 1 0 -0.95339795 0.11082515 -175.85 + 83 109.43953 894 0 1 -1.2017464 0.18462233 -204.45 + 83 120.09073 900 0 0 -1.2090317 0.18328653 -205.85 + 83 196.0513 748 0 0 -1.1417821 -30.291973 -206.11742 + 83 227.08373 747 0 0 -1.1895359 -30.477908 -205.92671 + 83 173.13381 749 0 0 -1.2588145 -30.235516 -205.89972 + 83 105.12208 893 0 1 -1.400935 -29.576256 -204.85 + 83 269.67258 894 1 1 -1.0715368 -0.10906352 -174.45 + 83 253.31316 921 0 1 4.3766907 -2.515991 -204.45 + 83 222.49321 884 0 0 2.3217905 -3.2162725 -205.85 + 83 102.87828 896 1 0 -1.4796442 -0.79987331 -175.85 + 83 344.8011 847 0 1 -10.590122 -10.818186 -204.45 + 83 750.49007 826 0 0 -15.630233 -14.733436 -205.85 + 83 346.64354 820 0 0 -17.367985 -16.005568 -206.25 + 83 793.71525 785 0 1 -22.871298 -18.295937 -204.85 + 83 0.46970318 777 0 1 -24.553447 -19.081039 -204.45048 + 83 186.45608 776 0 1 -24.656243 -19.078449 -204.45 + 83 177.99626 809 0 0 -26.093408 -18.127863 -205.85 + 83 233.68645 900 1 1 0.16415916 0.2226605 -174.45 + 83 237.93104 901 0 1 0.44668506 0.76888192 -204.45 + 83 141.93932 903 0 0 0.47708 0.79246292 -205.85 + 83 147.46754 901 1 0 0.1906488 0.27774159 -175.85 + 83 130.9621 909 0 0 0.30997885 2.0484203 -205.85 +Number of digits in this event = 25 +Event: 84 +Number of tracker hits in this event = 14 + 84 123.78927 899 5 1 -0.18620093 -0.11853169 -54.45 + 84 201.77274 899 5 0 -0.19841777 -0.12898217 -55.85 + 84 142.26324 898 4 1 -0.44674209 -0.31932857 -84.45 + 84 119.9704 898 4 0 -0.45070981 -0.32990327 -85.85 + 84 126.79631 897 3 1 -0.53966333 -0.52742621 -114.45 + 84 116.52583 897 3 0 -0.55689485 -0.53578476 -115.85 + 84 121.47047 895 2 1 -0.92165711 -0.71103776 -144.45 + 84 123.84779 896 2 0 -0.93929145 -0.71247859 -145.85 + 84 109.80701 893 1 1 -1.3187451 -0.75352404 -174.45 + 84 111.22624 896 1 0 -1.3377875 -0.75582014 -175.85 + 84 110.1712 891 0 1 -1.794445 -0.78724083 -204.45 + 84 94.212207 896 0 0 -1.8307045 -0.78758771 -205.85 + 84 115.7468 829 1 0 -25.468587 -14.102706 -176.25 + 84 229.52483 828 1 0 -25.389137 -14.275877 -176.05137 +Number of digits in this event = 9 +Event: 85 +Number of tracker hits in this event = 15 + 85 131.18857 899 4 1 -0.12606915 -0.68825485 -84.45 + 85 125.44984 896 4 0 -0.1219511 -0.70246116 -85.85 + 85 121.06141 900 3 1 0.084214754 -0.98117087 -114.45 + 85 142.05495 895 3 0 0.066776215 -0.99927482 -115.85 + 85 116.3148 898 2 1 -0.34741297 -1.388627 -144.45 + 85 164.36918 893 2 0 -0.35767486 -1.434557 -145.85 + 85 161.12125 897 1 1 -0.54794176 -2.2793073 -174.45 + 85 134.04987 888 1 0 -0.67327255 -2.4239987 -175.85 + 85 370.17085 889 0 1 -2.1583039 -5.3271989 -204.45 + 85 120.14954 872 0 0 -2.1516733 -5.6114641 -205.85 + 85 143.61171 706 0 0 -121.15281 -38.776329 -206.1382 + 85 31.577177 797 13 1 -20.4804 -152.23245 185.44751 + 85 193.00844 798 13 1 -20.437412 -152.27309 185.4646 + 85 55.629929 1495 1 0 -125.05577 119.17952 -175.90174 + 85 111.69412 274 1 1 -125.25764 119.36423 -174.85 +Number of digits in this event = 13 +Event: 86 +Number of tracker hits in this event = 12 + 86 149.23612 900 4 1 0.16008641 0.32142634 -84.45 + 86 121.73364 901 4 0 0.16169365 0.3332681 -85.85 + 86 118.60399 900 3 1 0.21362358 0.55433554 -114.45 + 86 112.55017 902 3 0 0.21374951 0.56696617 -115.85 + 86 95.536836 900 2 1 0.20259167 0.81963367 -144.45 + 86 149.63055 903 2 0 0.20225434 0.83265551 -145.85 + 86 123.56575 900 1 1 0.15929071 1.1036263 -174.45 + 86 258.40651 905 1 0 0.16685245 1.1152453 -175.85 + 86 137.59069 901 0 1 0.34432739 1.3545355 -204.45 + 86 111.21365 906 0 0 0.35633971 1.3699356 -205.85 + 86 250.01572 866 0 1 -6.664201 8.0204195 -204.60246 + 86 41.625359 865 0 1 -6.8585682 7.9971082 -204.48969 +Number of digits in this event = 10 +Event: 87 +Number of tracker hits in this event = 12 + 87 139.01174 908 5 1 1.6846821 0.66239715 -54.45 + 87 156.49791 903 5 0 1.7748564 0.69236033 -55.85 + 87 121.59039 917 4 1 3.6081177 1.3054751 -84.45 + 87 102.50233 906 4 0 3.6930426 1.3321221 -85.85 + 87 120.5115 926 3 1 5.446154 1.8620715 -114.45 + 87 257.96276 909 3 0 5.5327775 1.8920567 -115.85 + 87 119.55187 936 2 1 7.29753 2.4997532 -144.45 + 87 101.70408 912 2 0 7.3866477 2.536682 -145.85 + 87 109.85343 945 1 1 9.2395342 3.2911795 -174.45 + 87 110.24998 916 1 0 9.3338445 3.3224288 -175.85 + 87 119.40873 955 0 1 11.100357 3.9000451 -204.45 + 87 150.9834 919 0 0 11.198956 3.9310939 -205.85 +Number of digits in this event = 7 +Event: 88 +Number of tracker hits in this event = 31 + 88 170.17984 897 3 1 -0.46511501 -0.37323465 -114.45 + 88 171.36384 898 3 0 -0.46281664 -0.40292817 -115.85 + 88 122.38525 898 2 1 -0.3855886 -0.98001046 -144.45 + 88 425.48316 895 2 0 -0.38695202 -0.99387439 -145.85 + 88 126.5871 897 1 1 -0.45561609 -1.342579 -174.45 + 88 222.75414 893 1 0 -0.46173129 -1.3311097 -175.85 + 88 115.11775 897 0 1 -0.64051203 -1.0865511 -204.45 + 88 130.27668 894 0 0 -0.66008159 -1.0584829 -205.85 + 88 32.555098 899 5 1 -0.24007202 0.05 -54.791701 + 88 122.11184 900 5 0 -0.21983526 0.18245896 -55.85 + 88 163.72598 906 4 1 1.4395483 4.1876772 -84.45 + 88 121.50556 923 4 0 1.4357301 4.6895636 -85.85 + 88 154.62518 903 3 1 0.73192531 14.023583 -114.45 + 88 214.24625 969 3 0 0.96784318 14.01054 -115.85 + 88 102.38247 925 2 1 5.1222223 13.028222 -144.45 + 88 143.05329 964 2 0 5.1116696 12.880294 -145.85 + 88 381.90892 927 1 1 5.5678786 9.5145117 -174.45 + 88 107.9669 945 1 0 5.5645371 9.2412594 -175.85 + 88 138.35599 923 0 1 4.8404929 5.4231564 -204.45 + 88 138.45954 926 0 0 5.2406979 5.4377976 -205.85 + 88 117.51159 897 4 1 -0.50559741 -0.26203197 -84.45 + 88 129.37486 898 4 0 -0.55203854 -0.28926629 -85.85 + 88 135.87966 892 3 1 -1.572418 -0.828919 -114.45 + 88 131.14926 896 3 0 -1.6189194 -0.83865597 -115.85 + 88 121.13119 885 2 1 -2.8772592 -0.97214167 -144.45 + 88 661.16553 880 1 1 -3.9783694 -1.5249792 -174.45 + 88 151.44532 892 1 0 -4.0576917 -1.5301973 -175.85 + 88 145.30361 872 0 1 -5.5915458 -1.7498179 -204.45 + 88 137.82373 891 0 0 -5.6785931 -1.8058384 -205.85 + 88 82.418516 895 3 0 -1.6334849 -0.85636959 -115.97323 + 88 64.116939 900 3 1 0.21123235 0.20852961 -114.74071 +Number of digits in this event = 26 +Event: 89 +Number of tracker hits in this event = 15 + 89 159.28407 899 5 1 -0.11166982 0.16193346 -54.45 + 89 131.58636 900 5 0 -0.10655002 0.17040404 -55.85 + 89 44.416864 901 4 0 0.05 0.34885343 -86.107286 + 89 173.70488 901 3 1 0.31857799 0.41094053 -114.45 + 89 181.3343 901 3 0 0.33406696 0.42542946 -115.85 + 89 116.58442 903 2 1 0.66385078 0.73373524 -144.45 + 89 155.4955 903 2 0 0.69377898 0.73819384 -145.85 + 89 153.79235 906 1 1 1.3529085 0.85143119 -174.45 + 89 178.72017 903 1 0 1.4029651 0.84937183 -175.85 + 89 123.52624 912 0 1 2.4594762 0.84785657 -204.45 + 89 112.63726 903 0 0 2.5515612 0.84705596 -205.85 + 89 156.67252 905 1 1 1.2479976 0.92097519 -174.47388 + 89 37.86532 921 2 1 4.3048898 -4.6314736 -144.45 + 89 129.48638 920 2 1 4.2110572 -4.6833431 -144.47974 + 89 11.987061 919 2 1 4.0275711 -4.9384444 -144.45993 +Number of digits in this event = 11 +Event: 90 +Number of tracker hits in this event = 16 + 90 117.29102 900 5 1 0.081728923 0.051866806 -54.45 + 90 91.56461 900 5 0 0.087945774 0.052921348 -55.85 + 90 163.22748 900 4 1 0.16962653 0.064730596 -84.45 + 90 504.68102 900 4 0 0.16277233 0.055682729 -85.85 + 90 110.79511 899 2 1 -0.21656865 -0.25380638 -144.45 + 90 102.53304 898 2 0 -0.22712612 -0.25990113 -145.85 + 90 150.90176 897 1 1 -0.49513691 -0.44841637 -174.45 + 90 106.78006 897 1 0 -0.50093606 -0.45432924 -175.85 + 90 336.64842 897 0 1 -0.54450715 -0.57831547 -204.45 + 90 215.93262 897 0 0 -0.55780177 -0.57326471 -205.85 + 90 96.175724 1063 0 0 -150.39629 32.795486 -206.25 + 90 78.347502 1137 0 0 -179.4274 47.630357 -206.25 + 90 8.3808063 710 1 1 -38.021548 -8.3120629 -174.70714 + 90 225.3729 467 0 1 -86.485298 26.796911 -204.45 + 90 47.785316 468 0 1 -86.439435 26.818063 -204.57244 + 90 126.37811 899 0 0 -0.34226664 -0.21720856 -205.85 +Number of digits in this event = 8 Event: 91 Number of tracker hits in this event = 11 - 91 109.82491 897 5 1 0.29036851 -0.053706943 -54.45 - 91 111.95775 909 2 1 2.6837041 0.078219098 -144.45 - 91 122.99087 896 2 0 2.7184816 0.088140515 -145.85 - 91 156.78075 912 1 1 3.4078242 0.27752691 -174.45 - 91 109.03799 897 1 0 3.443577 0.2823224 -175.85 - 91 116.73444 916 0 1 4.1730372 0.36827313 -204.45 - 91 164.62372 897 0 0 4.2091988 0.37133111 -205.85 - 91 14.351355 1670 14 0 49.307312 155.35201 214.13945 - 91 45.150317 1669 14 0 49.293319 155.34982 214.14513 - 91 0.15272198 1155 14 1 52.039143 154.95272 215.15 - 91 19.279603 1659 14 0 53.658391 153.19478 214.15 -Number of digits in this event = 6 + 91 117.28632 899 5 1 -0.19074391 0.13565358 -54.45 + 91 131.15947 900 5 0 -0.2050129 0.14498775 -55.85 + 91 121.81413 897 4 1 -0.54792476 0.12391591 -84.45 + 91 104.57884 900 4 0 -0.56787053 0.12289891 -85.85 + 91 119.19822 895 3 1 -0.9680851 0.11289254 -114.45 + 91 119.77864 900 3 0 -0.9574315 0.1101651 -115.85 + 91 102.74532 900 1 0 0.73405209 0.064546711 -175.85 + 91 137.13014 907 0 1 1.527753 0.49592484 -204.45 + 91 118.40789 902 0 0 1.5534178 0.53056932 -205.85 + 91 38.725593 398 5 1 -100.39311 -1.1082452 -54.818625 + 91 152.18249 399 5 1 -100.34276 -1.1041338 -54.775346 +Number of digits in this event = 5 Event: 92 -Number of tracker hits in this event = 39 - 92 115.43946 896 5 0 -0.11158975 0.21784737 -55.85 - 92 117.58052 897 4 0 -0.22691268 0.30626878 -85.85 - 92 125.22772 898 3 0 -0.35883308 0.50392283 -115.85 - 92 113.72452 895 2 1 -0.4875998 0.66576049 -144.45 - 92 116.68634 899 2 0 -0.52557683 0.65916654 -145.85 - 92 129.60629 891 1 1 -1.3502094 0.54744842 -174.45 - 92 125.06132 898 1 0 -1.3927243 0.55022771 -175.85 - 92 158.42808 886 0 1 -2.2531839 0.64861501 -204.45 - 92 116.05045 899 0 0 -2.2723864 0.67178367 -205.85 - 92 76.475856 887 0 1 -2.242177 0.57105865 -204.56524 - 92 96.521357 896 0 0 -1.9644924 0.15552322 -205.85 - 92 125.32656 897 3 0 -0.54242274 0.3024381 -115.85 - 92 127.48738 896 3 0 -0.60483377 0.23940368 -116.20713 - 92 205.62222 875 2 1 -4.6079001 -3.7829141 -144.45 - 92 113.00216 877 2 0 -4.708119 -4.0918024 -145.85 - 92 114.37031 866 1 1 -6.3604054 -9.8989229 -174.45 - 92 106.60072 844 1 0 -6.4483716 -10.65845 -175.85 - 92 134.72589 860 0 1 -7.604336 -24.059035 -204.45 - 92 125.37273 859 0 1 -7.6596326 -24.499011 -204.67152 - 92 67.243539 765 0 0 -8.2126961 -26.577734 -205.85 - 92 70.501177 764 0 0 -8.2758731 -26.777182 -205.96046 - 92 73.144596 763 0 0 -8.3366939 -26.980718 -206.06461 - 92 58.543588 762 0 0 -8.3748342 -27.189645 -206.16885 - 92 79.776793 430 0 0 -19.791747 -94.013875 -206.25 - 92 99.549607 429 0 0 -19.805139 -94.213163 -206.14573 - 92 70.317393 428 0 0 -19.818017 -94.412227 -206.04097 - 92 30.389668 427 0 0 -19.829201 -94.60327 -205.92205 - 92 415.32677 799 0 1 -19.689166 -96.248417 -204.85 - 92 45.546142 346 1 0 -34.380311 -110.89724 -176.25 - 92 96.999197 345 1 0 -34.446377 -110.95363 -176.13941 - 92 42.103446 723 1 1 -35.049936 -111.58644 -174.85 - 92 110.00536 722 1 1 -35.104066 -111.64771 -174.7397 - 92 58.08888 199 2 0 -57.461359 -140.315 -146.25 - 92 74.70097 198 2 0 -57.538316 -140.43503 -146.13048 - 92 22.959768 608 2 1 -58.020499 -140.5798 -144.85 - 92 85.515521 607 2 1 -58.067684 -140.58297 -144.73725 - 92 304.33244 893 0 1 -0.8784563 1.0729615 -204.45 - 92 221.95294 901 0 0 -0.91224163 1.1494169 -205.85 - 92 60.831827 895 5 1 -0.51685236 0.071398192 -54.702704 -Number of digits in this event = 13 -Event: 93 Number of tracker hits in this event = 13 - 93 108.06816 896 5 0 0.095583156 0.050101514 -55.85 - 93 153.98371 898 4 1 0.49653602 0.46524322 -84.45 - 93 139.13443 898 4 0 0.52372059 0.48431092 -85.85 - 93 120.83204 901 3 1 1.1189959 0.92443885 -114.45 - 93 106.67982 900 3 0 1.1410342 0.94112796 -115.85 - 93 125.29977 903 2 1 1.5502594 1.2456749 -144.45 - 93 108.40353 902 2 0 1.5690114 1.2544778 -145.85 - 93 108.36523 905 1 1 1.9795532 1.4427661 -174.45 - 93 276.46057 902 1 0 1.990384 1.4351868 -175.85 - 93 113.55221 906 0 1 2.2140421 1.2967047 -204.45 - 93 155.15923 902 0 0 2.2341445 1.2953398 -205.85 - 93 108.73387 901 1 0 1.8029453 1.24072 -175.98787 - 93 284.52011 896 1 1 0.13263416 1.7688141 -174.85 + 92 107.72215 900 5 1 0.18563737 0.19599706 -54.45 + 92 125.12903 900 5 0 0.18953795 0.20497875 -55.85 + 92 118.48456 900 4 1 0.23237439 0.41793938 -84.45 + 92 183.17922 901 4 0 0.23872483 0.43488886 -85.85 + 92 125.04393 901 3 1 0.3676696 0.79604521 -114.45 + 92 116.85581 903 3 0 0.37678574 0.81569554 -115.85 + 92 148.65066 902 2 1 0.54791408 1.2040907 -144.45 + 92 120.59178 905 2 0 0.56012343 1.2164684 -145.85 + 92 548.37264 904 1 1 0.90407319 1.4276235 -174.45 + 92 131.02721 906 1 0 0.92660422 1.4325375 -175.85 + 92 96.907302 906 0 1 1.425713 1.5146956 -204.45 + 92 161.34997 907 0 0 1.4594723 1.5232291 -205.85 + 92 101.53434 1195 0 1 59.073043 -54.363407 -204.75464 Number of digits in this event = 9 +Event: 93 +Number of tracker hits in this event = 37 + 93 328.61904 899 5 1 -0.10123295 0.16135559 -54.45 + 93 182.02665 900 5 0 -0.10439714 0.17191716 -55.85 + 93 119.41643 899 4 1 -0.19380996 0.41372514 -84.45 + 93 129.71106 901 4 0 -0.18979318 0.42697956 -85.85 + 93 95.824016 899 3 1 -0.17455772 0.5013626 -114.45 + 93 116.86359 902 3 0 -0.18042098 0.49594332 -115.85 + 93 109.11594 898 2 1 -0.2674772 0.39725002 -144.45 + 93 146.04998 901 2 0 -0.28194752 0.41319119 -145.85 + 93 218.43794 897 1 1 -0.53838918 0.76634341 -174.45 + 93 103.42228 903 1 0 -0.53838561 0.79597567 -175.85 + 93 240.83892 897 0 1 -0.57371 1.4328664 -204.45 + 93 637.2808 907 0 0 -0.55168871 1.4816862 -205.85 + 93 117.76955 901 1 0 -0.5024016 0.36650822 -175.85 + 93 130.26149 893 0 1 -1.2988713 0.5808315 -204.45 + 93 126.07276 902 0 0 -1.4108511 0.50096456 -205.85 + 93 135.08731 891 0 0 8.4585961 -1.6980051 -206.25 + 93 160.03615 946 0 1 9.4483477 -2.304542 -204.85 + 93 120.57755 947 0 1 9.5069082 -2.3271961 -204.77061 + 93 64.360951 945 0 1 9.2091716 -2.2181649 -204.70621 + 93 57.833961 944 0 1 9.006672 -2.1499114 -204.65038 + 93 69.080301 943 0 1 8.8442178 -2.1534293 -204.64143 + 93 76.487685 942 0 1 8.6481578 -2.2418297 -204.58837 + 93 25.334758 1350 5 1 90.151439 -129.32225 -54.820444 + 93 21.425601 57 7 0 62.758989 -168.71977 4.0016771 + 93 198.60809 56 7 0 62.76306 -168.75452 4.0265253 + 93 110.96449 1211 7 1 62.282072 -168.73043 5.15 + 93 129.48778 898 1 1 -0.44488736 0.39597127 -174.45 + 93 63.162091 906 1 0 0.05 1.4150833 -176.09476 + 93 204.04323 993 0 1 18.823274 14.102304 -204.45 + 93 596.08577 993 0 0 21.942035 18.849521 -205.85 + 93 119.07998 577 3 0 -10.011529 -64.504565 -116.25 + 93 252.61285 843 3 1 -11.329356 -65.884855 -114.85 + 93 103.92217 582 4 0 -14.73516 -63.55289 -86.25 + 93 131.44723 824 4 1 -15.229539 -63.621035 -84.85 + 93 178.9388 822 4 1 -15.498908 -63.65503 -84.45 + 93 103.17144 588 4 0 -15.454781 -62.293667 -85.85 + 93 63.327528 589 4 0 -15.502797 -62.052459 -86.049839 +Number of digits in this event = 21 Event: 94 -Number of tracker hits in this event = 24 - 94 164.44884 896 5 1 0.20814513 -0.096088142 -54.45 - 94 263.33022 901 2 1 1.2251517 0.10717692 -144.45 - 94 103.51421 896 2 0 1.2181409 0.10826177 -145.85 - 94 206.99439 901 1 1 1.0980203 0.12722279 -174.45 - 94 146.52545 896 1 0 1.0921253 0.14317801 -175.85 - 94 164.40499 901 0 1 1.1265937 0.41213122 -204.45 - 94 107.62045 897 0 0 1.0896278 0.42415148 -205.85 - 94 91.093294 901 3 1 1.2399052 -0.05 -114.64729 - 94 112.80545 894 5 0 -0.61206717 -0.74401999 -55.85 - 94 38.17635 893 5 0 -0.83785067 -0.92216951 -56.096298 - 94 97.651859 777 5 0 -19.804981 -24.115036 -56.25 - 94 77.791455 778 5 0 -19.916803 -24.045446 -55.97516 - 94 81.43753 799 5 1 -19.828992 -23.464489 -54.85 - 94 147.0464 800 5 1 -19.642676 -23.465906 -54.741595 - 94 207.8354 801 5 1 -19.449505 -23.48167 -54.645619 - 94 18.888639 581 10 0 11.676719 -63.398224 93.753313 - 94 23.099197 667 10 0 32.251149 -46.186219 93.75 - 94 65.431353 593 1 0 -157.06645 -60.922101 -175.93522 - 94 173.2487 888 3 1 -1.9405613 84.851563 -114.69469 - 94 183.00716 889 3 1 -1.8440818 84.997595 -114.50317 - 94 108.38169 1322 3 0 -1.9677275 85.290144 -115.85 - 94 133.65483 897 4 1 0.41700007 -0.090983392 -84.45 - 94 26.531107 892 3 1 -1.2403435 0.24948695 -114.45 - 94 97.081492 891 3 1 -1.2667575 0.20772023 -114.56399 -Number of digits in this event = 11 +Number of tracker hits in this event = 22 + 94 118.81736 899 3 1 -0.14507256 0.14882105 -114.45 + 94 117.96007 900 3 0 -0.14208176 0.14064524 -115.85 + 94 128.60207 899 0 1 -0.13808827 0.055724593 -204.45 + 94 152.5537 900 0 0 -0.1496875 0.070064263 -205.85 + 94 105.82589 1138 1 0 -161.26544 47.652766 -176.07417 + 94 5.2999939 1137 1 0 -161.2944 47.590382 -176.08714 + 94 1.844 90 1 1 -162.06433 46.841599 -174.85 + 94 27.103156 89 1 1 -162.20739 46.702463 -174.62012 + 94 172.50488 1443 1 1 108.81261 116.40603 -174.8099 + 94 11.398292 1484 1 0 108.4517 117.13536 -175.85 + 94 218.07392 1485 1 0 108.43658 117.15403 -175.88068 + 94 288.71606 1486 1 0 108.27423 117.35878 -175.9638 + 94 125.49999 1515 6 0 -4.631481 123.21792 -26.25 + 94 190.74653 882 6 1 -3.6396373 122.88715 -24.85 + 94 96.119452 883 6 1 -3.3584055 122.79613 -24.45 + 94 24.464326 884 6 1 -3.2473503 122.72307 -24.75593 + 94 188.29323 1517 6 0 -2.4173652 123.74344 -25.85 + 94 308.76751 1518 6 0 -2.3817561 123.77305 -25.897204 + 94 189.97982 1516 6 0 -1.8004867 123.54928 -26.074205 + 94 20.888314 888 6 1 -2.2561622 123.33488 -24.85 + 94 62.11862 889 6 1 -2.2491837 123.33813 -24.834816 + 94 124.69854 430 1 0 -23.50021 -94.026264 -175.87776 +Number of digits in this event = 13 Event: 95 -Number of tracker hits in this event = 11 - 95 104.73511 896 4 1 0.10943615 0.1567534 -84.45 - 95 116.27395 896 4 0 0.11750575 0.15705444 -85.85 - 95 122.45223 897 3 1 0.29055995 0.21267923 -114.45 - 95 112.77147 896 3 0 0.30006783 0.21141186 -115.85 - 95 109.34332 898 2 1 0.50637562 0.18523128 -144.45 - 95 186.18279 896 2 0 0.50969401 0.17431414 -145.85 - 95 124.23271 898 1 1 0.62965794 -0.054874031 -174.45 - 95 127.35113 899 0 1 0.73586318 -0.27971606 -204.45 - 95 20.814346 1005 2 0 105.38911 22.022233 -146.25 - 95 184.45721 1006 2 0 105.40424 22.055863 -146.2009 - 95 170.27014 896 6 0 -0.093773219 0.05 -26.099544 -Number of digits in this event = 7 +Number of tracker hits in this event = 14 + 95 182.83172 900 5 1 0.17456141 -0.13897781 -54.45 + 95 99.942403 899 5 0 0.18267732 -0.14596226 -55.85 + 95 118.35968 901 4 1 0.35545135 -0.27656063 -84.45 + 95 110.67561 898 4 0 0.36170096 -0.28124173 -85.85 + 95 147.17836 902 3 1 0.52320738 -0.53685213 -114.45 + 95 168.31413 897 3 0 0.52337408 -0.55466409 -115.85 + 95 130.92301 902 2 1 0.5053094 -0.91474075 -144.45 + 95 161.68289 895 2 0 0.50481834 -0.92743312 -145.85 + 95 140.4549 902 1 1 0.49511201 -1.1683399 -174.45 + 95 156.40153 894 1 0 0.49855437 -1.1843971 -175.85 + 95 128.41038 902 0 1 0.56260555 -1.5227981 -204.45 + 95 173.70105 892 0 0 0.57691552 -1.5377023 -205.85 + 95 326.31374 1127 2 0 -52.841224 45.554531 -146.25 + 95 124.99664 1128 2 0 -53.139568 45.661637 -146.15262 +Number of digits in this event = 12 Event: 96 -Number of tracker hits in this event = 18 - 96 119.88514 896 4 0 -0.091216169 0.16579053 -85.85 - 96 113.61677 897 3 0 -0.16194437 0.41444417 -115.85 - 96 141.50704 901 2 0 -0.076510019 1.0726001 -145.85 - 96 106.897 903 0 0 -0.27283979 1.531829 -205.85 - 96 132.92403 905 1 0 0.2299279 2.0131909 -175.85 - 96 221.42942 896 2 1 0.05 0.73105331 -144.4898 - 96 35.271535 897 2 1 0.35194121 0.62711793 -144.61862 - 96 83.209168 898 2 1 0.47222475 0.59770821 -144.68264 - 96 35.942155 899 2 1 0.7359792 0.55901427 -144.76002 - 96 34.287075 900 2 1 0.86459977 0.52931572 -144.79546 - 96 73.072072 893 2 0 4.6313423 -1.0207092 -145.85 - 96 124.2731 892 2 0 4.7929648 -1.0871444 -145.90246 - 96 147.69136 891 2 0 5.2046328 -1.273324 -145.98094 - 96 133.02485 789 2 0 78.32457 -21.716562 -146.25 - 96 194.57584 1293 2 1 79.470314 -21.987753 -144.85 - 96 210.36478 1294 2 1 79.650644 -22.441622 -144.48123 - 96 89.355083 1295 2 1 79.863307 -22.29844 -144.72778 - 96 194.07133 786 2 0 79.168929 -22.397767 -145.85 -Number of digits in this event = 11 +Number of tracker hits in this event = 20 + 96 122.24338 899 4 1 -0.1005109 0.23915858 -84.45 + 96 158.75379 901 4 0 -0.10317673 0.26034067 -85.85 + 96 147.35797 899 3 1 -0.1626597 0.69894245 -114.45 + 96 143.46611 903 3 0 -0.14586167 0.74902361 -115.85 + 96 171.24956 900 2 1 0.14453792 1.7574748 -144.45 + 96 130.29695 908 2 0 0.16659597 1.778519 -145.85 + 96 208.4107 903 1 1 0.67616133 2.321316 -174.45 + 96 191.3038 911 1 0 0.66547532 2.392977 -175.85 + 96 123.12374 902 0 1 0.535928 3.8595716 -204.45 + 96 133.47333 919 0 0 0.52923956 3.9311675 -205.85 + 96 257.12281 896 1 1 -0.77008496 1.4525586 -174.45 + 96 110.99519 907 1 0 -0.76564003 1.4674426 -175.85 + 96 116.87765 896 0 1 -0.68289673 1.7644602 -204.45 + 96 155.5771 908 0 0 -0.67917704 1.7865644 -205.85 + 96 71.396396 862 2 0 -18.512561 -7.4868441 -146.25 + 96 4.2852643 806 2 0 -71.800352 -18.826165 -146.24151 + 96 0.27312346 1117 1 0 -73.742651 43.577243 -175.92796 + 96 119.8392 906 1 0 -1.2820109 1.3546475 -175.85 + 96 114.88085 837 0 1 -12.484946 -3.9820129 -204.45 + 96 135.86288 881 0 0 -12.301341 -3.763158 -205.85 +Number of digits in this event = 14 Event: 97 -Number of tracker hits in this event = 10 - 97 142.23908 896 4 1 0.074502495 0.11528337 -84.45 - 97 143.17643 896 4 0 0.074968627 0.12321448 -85.85 - 97 151.71249 896 3 1 0.0721687 0.2923174 -114.45 - 97 201.17009 897 3 0 0.07419335 0.30015909 -115.85 - 97 138.08063 896 2 1 0.11349638 0.55061054 -144.45 - 97 143.08048 898 2 0 0.11383273 0.56390972 -145.85 - 97 113.44917 896 1 1 0.11186522 0.81051456 -174.45 - 97 145.22238 899 1 0 0.11453691 0.80203499 -175.85 - 97 195.18081 896 0 1 0.17821257 0.64209127 -204.45 - 97 113.05646 898 0 0 0.18397484 0.6402676 -205.85 +Number of tracker hits in this event = 11 + 97 163.33829 899 4 1 -0.1584536 0.074395049 -84.45 + 97 136.1002 900 4 0 -0.16395923 0.073484898 -85.85 + 97 197.39598 898 3 1 -0.28019441 0.07615858 -114.45 + 97 99.512256 900 3 0 -0.28919848 0.065934525 -115.85 + 97 183.27904 897 2 1 -0.47708171 -0.18923092 -144.45 + 97 111.44038 899 2 0 -0.48311467 -0.21031374 -145.85 + 97 154.88253 897 1 1 -0.60836989 -0.7406096 -174.45 + 97 266.1575 896 1 0 -0.62889081 -0.76759323 -175.85 + 97 149.87761 894 0 1 -1.0789443 -1.2516143 -204.45 + 97 235.37496 893 0 0 -1.1044749 -1.2756347 -205.85 + 97 39.187587 998 3 1 19.716631 -33.038697 -114.70495 Number of digits in this event = 9 Event: 98 -Number of tracker hits in this event = 17 - 98 160.49851 896 3 1 0.057418621 0.09959723 -114.45 - 98 102.09241 896 3 0 0.053729932 0.10025529 -115.85 - 98 141.30995 897 1 1 0.25746509 0.5448115 -174.45 - 98 333.77416 898 1 0 0.28094672 0.57014797 -175.85 - 98 198.77933 899 0 1 0.76976237 1.0861649 -204.45 - 98 174.28866 901 0 0 0.7759397 1.0973712 -205.85 - 98 149.56748 900 0 1 0.85853295 1.0873827 -204.49706 - 98 61.62985 901 0 1 1.0695038 0.71237868 -204.72444 - 98 28.255035 893 0 0 1.8179806 -1.0138093 -205.85 - 98 68.855407 892 0 0 1.8631223 -1.0879588 -205.89355 - 98 195.47073 891 0 0 1.9649865 -1.2703734 -205.99973 - 98 92.354905 890 0 0 2.1414625 -1.4729514 -206.06671 - 98 125.8122 889 0 0 2.2628793 -1.6677756 -206.08507 - 98 245.90752 906 0 1 2.1046351 -1.5719039 -204.85 - 98 88.765955 905 0 1 2.0453681 -1.5218707 -204.75088 - 98 172.80561 1155 2 0 -137.15444 51.863525 -146.25 - 98 407.53648 1156 2 0 -137.43739 52.056289 -146.13671 -Number of digits in this event = 12 +Number of tracker hits in this event = 15 + 98 113.95904 900 5 1 0.092314418 0.14038399 -54.45 + 98 296.41432 900 5 0 0.098058677 0.14502745 -55.85 + 98 110.13195 900 4 1 0.1992068 0.24047298 -84.45 + 98 107.6505 901 4 0 0.19580572 0.25226011 -85.85 + 98 121.99791 900 3 1 0.11302957 0.51900052 -114.45 + 98 106.4281 902 3 0 0.11655889 0.53136558 -115.85 + 98 119.15249 900 2 1 0.23566514 0.75621862 -144.45 + 98 133.60956 903 2 0 0.24795773 0.77085743 -145.85 + 98 150.30021 902 1 1 0.5307038 1.0613971 -174.45 + 98 131.85232 905 1 0 0.52961686 1.0848692 -175.85 + 98 129.42717 902 0 1 0.53264045 1.5685108 -204.45 + 98 111.8987 907 0 0 0.53921502 1.5906918 -205.85 + 98 68.674023 1336 2 1 87.425891 -47.648001 -144.75843 + 98 258.51089 1337 2 1 87.468081 -47.697696 -144.68593 + 98 157.17204 903 0 0 0.40088908 0.65900111 -205.85 +Number of digits in this event = 9 Event: 99 -Number of tracker hits in this event = 29 - 99 116.92675 896 5 0 -0.25437117 0.11265822 -55.85 - 99 107.25988 893 4 1 -0.92983283 0.40592936 -84.45 - 99 134.70045 897 4 0 -0.95931235 0.42373161 -85.85 - 99 110.85314 890 3 1 -1.5505732 0.81731141 -114.45 - 99 161.04743 899 3 0 -1.5809052 0.81648155 -115.85 - 99 186.15717 887 2 1 -2.1988072 0.81154065 -144.45 - 99 117.781 899 2 0 -2.2477177 0.81095885 -145.85 - 99 191.00051 882 1 1 -3.0669291 0.67424037 -174.45 - 99 120.20887 899 1 0 -3.1082294 0.66833089 -175.85 - 99 262.10171 878 0 1 -3.9234042 0.56127997 -204.45 - 99 492.2441 898 0 0 -3.9575296 0.54951036 -205.85 - 99 181.81751 897 0 0 -4.0183822 0.44247695 -205.93061 - 99 75.575597 896 0 0 -4.3456152 0.22360789 -206.06443 - 99 57.389418 869 0 1 -5.7265301 -1.1065675 -204.85 - 99 105.64657 868 0 1 -5.8546886 -1.1619464 -204.81998 - 99 94.983202 887 0 0 -5.1296057 -2.1682683 -205.85 - 99 99.080495 886 0 0 -5.0560092 -2.2536111 -205.89669 - 99 171.82733 880 0 1 -3.570318 0.6217862 -204.77498 - 99 17.76052 893 2 1 -0.91209443 0.39507891 -144.80031 - 99 134.00668 897 2 0 -0.86874414 0.35436243 -145.85 - 99 82.338546 912 1 1 3.3683948 -1.9727489 -174.45 - 99 57.715754 913 1 1 3.5185468 -2.0011888 -174.6803 - 99 157.43358 888 1 0 4.5087335 -2.0041297 -175.85 - 99 41.448803 1009 0 1 22.672892 7.0310973 -204.45 - 99 96.604856 1008 0 1 22.625285 6.9965329 -204.5633 - 99 46.293166 929 0 0 21.033678 6.658286 -205.85 - 99 116.88487 928 0 0 20.871303 6.6493802 -205.96808 - 99 21.032012 828 1 0 53.647673 -13.873505 -176.25 - 99 29.620658 829 1 0 53.677623 -13.849357 -176.23133 -Number of digits in this event = 12 +Number of tracker hits in this event = 14 + 99 120.35807 899 5 1 -0.19596893 0.520131 -54.45 + 99 216.73999 902 5 0 -0.20394734 0.54137116 -55.85 + 99 744.39031 898 4 1 -0.36983043 0.99274866 -84.45 + 99 195.92935 904 4 0 -0.38271749 1.0118771 -85.85 + 99 148.09098 897 3 1 -0.61376804 1.3775428 -114.45 + 99 164.30225 906 3 0 -0.62757684 1.3925491 -115.85 + 99 135.35222 895 2 1 -0.92184505 1.7473024 -144.45 + 99 196.20667 908 2 0 -0.92671761 1.7572515 -145.85 + 99 641.00979 895 1 1 -0.98858357 1.9339192 -174.45 + 99 121.62707 909 1 0 -0.98824942 1.9396406 -175.85 + 99 119.96316 895 0 1 -0.97099839 2.0290231 -204.45 + 99 127.90531 909 0 0 -0.94777344 2.0325398 -205.85 + 99 161.35085 801 6 0 -88.111667 -19.713687 -26.039499 + 99 222.58776 589 1 0 -144.68384 -62.168843 -176.25 +Number of digits in this event = 15 Run terminated. Run Summary Number of events processed : 100 - User=10.31s Real=11.48s Sys=0.01s + User=2.72s Real=2.74s Sys=0.02s End of Run File Tracks_2.dat /vis/viewer/update ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. -/control/execute emlowe.mac -/process/activate LowEnRayleigh gamma -/process/activate LowEnPhotoElec gamma -/process/activate LowEnCompton gamma -/process/activate LowEnConversion gamma -/process/inactivate phot gamma -/process/inactivate compt gamma -/process/inactivate conv gamma -/process/activate LowEnergyIoni -/process/activate LowEnBrem -/process/inactivate eIoni -/process/inactivate eBrem -/process/list - Transportation, Decay, phot, compt - conv, LowEnPhotoElec, LowEnCompton, LowEnConversion - LowEnRayleigh, eBrem, eIoni, LowEnBrem - LowEnergyIoni, msc, annihil, muIoni - muBrems, muPairProd,muMinusCaptureAtRest, hIoni - LElastic, PionPlusInelastic, PionMinusInelastic,PiMinusAbsorptionAtRest - KaonPlusInelastic, KaonMinusInelastic, KaonZeroLInelastic, KaonZeroSInelastic - ProtonInelastic,AntiProtonInelastic,AntiProtonAnnihilationAtRest, NeutronInelastic - LFission, LCapture,AntiNeutronInelastic,AntiNeutronAnnihilationAtRest - LambdaInelastic,AntiLambdaInelastic,SigmaMinusInelastic,AntiSigmaMinusInelastic - SigmaPlusInelastic,AntiSigmaPlusInelastic, XiMinusInelastic,AntiXiMinusInelastic - XiZeroInelastic,AntiXiZeroInelastic,OmegaMinusInelastic,AntiOmegaMinusInelastic - DeuteronInelastic, TritonInelastic, AlphaInelastic -/gun/particle proton -/gun/energy 1 GeV -/gun/sourceType 2 -/run/beamOn 100 - -========= Table of registered couples ============================== - -Index : 0 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : Scintillator - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 2 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Calorimeter - -Index : 3 used in the geometry : Yes recalculation needed : No - Material : CesiumIodide - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 38.405229 keV e- 691.66869 keV e+ 658.43466 keV - Region(s) which use this couple : - Calorimeter - -Index : 4 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Tracker - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : Silicon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.3033387 keV e- 120.42458 keV e+ 118.95119 keV - Region(s) which use this couple : - Tracker - -Index : 6 used in the geometry : Yes recalculation needed : No - Material : Tungsten - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 36.047857 keV e- 351.43773 keV e+ 334.55147 keV - Region(s) which use this couple : - Tracker - -==================================================================== - -/vis/scene/notifyHandlers -WARNING: Scene "refresh" not found. - /vis/scene/list to see scenes. -Start Run processing. -Event: 0 -Number of tracker hits in this event = 11 - 0 129.5355 896 5 0 -0.15684308 0.088818146 -55.85 - 0 246.66655 896 4 0 -0.31891656 0.10567398 -85.85 - 0 122.08377 895 3 1 -0.60882507 0.16129564 -114.45 - 0 149.18197 896 3 0 -0.62540573 0.16280618 -115.85 - 0 149.06514 893 2 1 -0.97231681 0.18683031 -144.45 - 0 122.39334 896 2 0 -0.98429569 0.19680824 -145.85 - 0 121.93089 892 1 1 -1.2176278 0.41661538 -174.45 - 0 147.26184 897 1 0 -1.2256043 0.43209451 -175.85 - 0 119.43146 891 0 1 -1.4064056 0.77752106 -204.45 - 0 146.1111 899 0 0 -1.4211283 0.80024885 -205.85 - 0 35.663183 888 5 0 0.10489292 -1.9218014 -55.85 -Number of digits in this event = 10 -Event: 1 -Number of tracker hits in this event = 9 - 1 158.6102 896 3 1 0.11740198 0.31286301 -114.45 - 1 134.84722 897 3 0 0.12790136 0.32061594 -115.85 - 1 136.36326 897 2 1 0.34977963 0.47088327 -144.45 - 1 126.44755 898 2 0 0.35893628 0.47630624 -145.85 - 1 150.70833 898 1 1 0.56405143 0.60112929 -174.45 - 1 144.82695 898 1 0 0.57212729 0.61180918 -175.85 - 1 104.03647 899 0 1 0.73631014 0.82791206 -204.45 - 1 142.63106 899 0 0 0.74314971 0.84061852 -205.85 - 1 22.12136 896 5 0 -0.05 0.12687473 -56.201705 -Number of digits in this event = 8 -Event: 2 -Number of tracker hits in this event = 7 - 2 174.3287 896 2 1 0.060701704 -0.30186047 -144.45 - 2 142.48536 896 1 1 0.17710996 -0.27897616 -174.45 - 2 150.73805 896 0 1 0.23273179 -0.37665692 -204.45 - 2 656.4401 898 3 1 0.61492664 -92.9824 -114.45 - 2 387.41095 899 3 1 0.66123689 -93.222828 -114.54196 - 2 103.15582 897 3 1 0.4476066 -94.92165 -114.79063 - 2 161.92271 895 0 0 0.23276226 -0.45584766 -206.05469 -Number of digits in this event = 7 -Event: 3 -Number of tracker hits in this event = 9 - 3 122.85912 898 2 1 0.48055044 0.077837068 -144.45 - 3 138.9988 896 2 0 0.48580689 0.077658889 -145.85 - 3 123.9365 898 1 1 0.59312522 0.053631701 -174.45 - 3 128.23627 899 0 1 0.7890323 -0.055064962 -204.45 - 3 131.18341 1270 3 1 75.019569 -115.04819 -114.79906 - 3 154.17325 1271 3 1 75.226179 -115.76961 -114.45 - 3 33.597206 319 3 0 74.955071 -116.34493 -115.85 - 3 106.77295 318 3 0 74.934615 -116.37187 -115.96661 - 3 176.11865 890 3 0 0.91399347 -1.5224213 -115.85 -Number of digits in this event = 8 -Event: 4 -Number of tracker hits in this event = 12 - 4 118.17846 895 3 1 -0.59312786 -0.45589407 -114.45 - 4 185.03713 895 3 0 -0.60398601 -0.46962022 -115.85 - 4 129.94585 894 2 1 -0.82599955 -0.73139305 -144.45 - 4 141.55586 894 2 0 -0.83587947 -0.7522265 -145.85 - 4 146.08463 893 1 1 -1.0405028 -1.1632858 -174.45 - 4 166.05671 892 1 0 -1.0498857 -1.1816894 -175.85 - 4 133.1244 892 0 1 -1.2238518 -1.5625098 -204.45 - 4 138.78266 890 0 0 -1.2298186 -1.5792639 -205.85 - 4 41.075898 896 6 0 -1.5217838 0.22278021 -25.85 - 4 176.75357 890 6 1 -1.5283292 -0.89881197 -24.85 - 4 14.748919 903 6 0 -0.23050215 1.6097634 -25.85 - 4 129.51736 904 6 0 -0.23306503 1.6617345 -25.904138 -Number of digits in this event = 10 -Event: 5 -Number of tracker hits in this event = 9 - 5 123.26486 896 3 1 0.12720932 0.25364415 -114.45 - 5 196.84793 897 3 0 0.13360609 0.25968514 -115.85 - 5 313.80923 897 2 1 0.28449011 0.37335806 -144.45 - 5 131.66533 897 2 0 0.29290146 0.37199443 -145.85 - 5 158.11063 898 1 1 0.45360211 0.33418882 -174.45 - 5 112.14558 897 1 0 0.46311653 0.33189642 -175.85 - 5 39.27441 898 0 1 0.64942486 0.28900049 -204.45 - 5 186.42781 899 0 1 0.65074855 0.28889233 -204.56429 - 5 145.51458 897 0 0 0.66610514 0.28614935 -205.85 -Number of digits in this event = 8 -Event: 6 -Number of tracker hits in this event = 15 - 6 137.62313 897 4 1 0.39442377 0.10254772 -84.45 - 6 198.24549 896 4 0 0.4148334 0.10620448 -85.85 - 6 146.08483 899 3 1 0.81709783 0.18592492 -114.45 - 6 123.38206 896 3 0 0.8428786 0.19503375 -115.85 - 6 164.10063 902 2 1 1.3607558 0.3839387 -144.45 - 6 143.3737 897 2 0 1.3871283 0.39953091 -145.85 - 6 149.29032 905 1 1 1.8605341 0.64506795 -174.45 - 6 129.08325 899 1 0 1.8858348 0.65951383 -175.85 - 6 172.50261 907 0 1 2.4262009 0.94934371 -204.45 - 6 108.10252 900 0 0 2.4581828 0.96203123 -205.85 - 6 28.374354 908 0 1 2.4503247 0.9355202 -204.77567 - 6 127.55203 899 0 0 2.8627344 0.7761743 -205.85 - 6 178.82866 832 0 0 28.512351 -13.244037 -206.25 - 6 131.98599 831 0 0 28.526057 -13.253608 -206.23979 - 6 153.94502 904 1 1 1.8425781 0.57691599 -174.45 -Number of digits in this event = 14 -Event: 7 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 8 -Number of tracker hits in this event = 6 - 8 213.66023 896 4 1 0.16019005 -0.10072761 -84.45 - 8 140.66695 897 3 1 0.25967011 -0.18359647 -114.45 - 8 124.72842 897 2 1 0.39375494 -0.13780954 -144.45 - 8 150.46507 898 1 1 0.56993978 -0.17022119 -174.45 - 8 174.25158 897 0 1 0.42491563 -0.42822888 -204.45 - 8 108.00077 895 3 0 0.31439222 -0.4640733 -116.08428 -Number of digits in this event = 6 -Event: 9 -Number of tracker hits in this event = 5 - 9 118.22778 896 4 1 0.10590924 -0.30209517 -84.45 - 9 116.7672 896 3 1 0.107911 -0.44562606 -114.45 - 9 124.94758 895 3 0 0.10243159 -0.45556581 -115.85 - 9 192.85374 893 1 0 -0.15180241 -0.91707723 -175.85 - 9 122.17804 892 0 0 -0.36070808 -1.1050838 -205.85 -Number of digits in this event = 4 -Event: 10 -Number of tracker hits in this event = 6 - 10 169.87297 896 3 1 0.088131607 -0.18035818 -114.45 - 10 293.96556 897 2 1 0.32613425 -0.34172919 -144.45 - 10 130.00075 898 1 1 0.59249301 -0.49861966 -174.45 - 10 125.98706 895 1 0 0.60407618 -0.49638259 -175.85 - 10 139.00216 899 0 1 0.82359667 -0.45227166 -204.45 - 10 159.82043 896 2 1 0.24614097 -0.5772146 -144.70916 -Number of digits in this event = 7 -Event: 11 -Number of tracker hits in this event = 3 - 11 147.50075 895 2 1 -0.5656927 -0.37440681 -144.45 - 11 148.00085 894 1 1 -0.74295671 -0.22029145 -174.45 - 11 170.64379 893 0 1 -0.89329227 -0.080933504 -204.45 -Number of digits in this event = 4 -Event: 12 -Number of tracker hits in this event = 19 - 12 137.46552 892 3 0 -0.21401427 -1.0996256 -115.85 - 12 216.4217 895 2 1 -0.47377694 -1.6961968 -144.45 - 12 146.84037 889 2 0 -0.48166253 -1.7193898 -145.85 - 12 212.7273 894 1 1 -0.65938295 -2.1888946 -174.45 - 12 212.14466 887 1 0 -0.67165196 -2.2125162 -175.85 - 12 173.08942 893 0 1 -0.92388803 -2.7204148 -204.45 - 12 106.48575 884 0 0 -0.93678743 -2.7453363 -205.85 - 12 103.25599 998 1 0 109.22047 20.475734 -176.25 - 12 47.804007 997 1 0 109.33036 20.41998 -176.02129 - 12 99.227884 1442 1 1 109.76658 20.238685 -174.85 - 12 92.118774 1443 1 1 109.95936 20.163418 -174.55424 - 12 191.39421 894 0 1 -0.84975131 -2.6385978 -204.50156 - 12 46.223518 895 0 1 -0.64799017 -2.6768844 -204.80839 - 12 47.534549 879 0 0 0.68397476 -3.8177241 -205.85 - 12 70.533844 878 0 0 0.76127173 -3.8517379 -205.8537 - 12 20.49184 890 0 1 -1.4649025 -6.7869561 -204.85 - 12 77.464773 864 0 0 -2.4920428 -6.7268946 -205.85 - 12 332.64256 895 1 1 -0.64604696 -2.3340969 -174.4582 - 12 44.136925 896 6 0 0.074429363 0.05 -26.216944 -Number of digits in this event = 9 -Event: 13 -Number of tracker hits in this event = 10 - 13 139.2817 896 5 1 0.11202235 -0.087938615 -54.45 - 13 116.51659 896 4 1 0.17915241 -0.28057793 -84.45 - 13 140.09561 897 3 1 0.3540721 -0.50044447 -114.45 - 13 128.01656 895 3 0 0.36008112 -0.50715146 -115.85 - 13 170.6802 898 2 1 0.48752053 -0.67309754 -144.45 - 13 147.841 894 2 0 0.49335172 -0.67447677 -145.85 - 13 119.22593 898 1 1 0.61530795 -0.69918269 -174.45 - 13 132.66551 894 1 0 0.62187709 -0.70442697 -175.85 - 13 128.06405 899 0 1 0.74977636 -0.81787445 -204.45 - 13 146.78006 894 0 0 0.75007347 -0.82080084 -205.85 -Number of digits in this event = 9 -Event: 14 -Number of tracker hits in this event = 4 - 14 123.27529 897 2 0 -0.05 0.2839303 -146.12143 - 14 50.929048 898 2 0 -0.27389261 0.46121141 -146.19609 - 14 45.770025 1009 2 0 17.608076 22.821474 -146.25 - 14 60.595323 1010 2 0 17.627918 22.850875 -146.2218 -Number of digits in this event = 2 -Event: 15 -Number of tracker hits in this event = 11 - 15 125.93608 897 4 1 0.33504501 -0.75393504 -84.45 - 15 147.94397 894 4 0 0.35567626 -0.78576845 -85.85 - 15 149.71943 899 3 1 0.77917773 -1.450035 -114.45 - 15 117.90739 890 3 0 0.79930798 -1.4831522 -115.85 - 15 154.82224 901 2 1 1.2103405 -2.1486488 -144.45 - 15 126.86712 887 2 0 1.2274569 -2.1803225 -145.85 - 15 203.3974 903 1 1 1.5573738 -2.8222625 -174.45 - 15 119.71198 883 1 0 1.5719712 -2.8546137 -175.85 - 15 495.15743 905 0 1 1.8561391 -3.5319228 -204.45 - 15 136.18756 880 0 0 1.8696877 -3.5679804 -205.85 - 15 9.3053485 904 0 1 1.8433101 -3.5106493 -204.49255 -Number of digits in this event = 9 -Event: 16 -Number of tracker hits in this event = 9 - 16 123.59745 896 5 0 -0.14545657 0.15615226 -55.85 - 16 131.54514 897 4 0 -0.24349246 0.41295712 -85.85 - 16 137.42416 899 3 0 -0.30445221 0.7153714 -115.85 - 16 119.41754 895 2 1 -0.46690652 0.95799241 -144.45 - 16 151.83833 900 2 0 -0.48281147 0.97566362 -145.85004 - 16 138.26321 894 1 1 -0.81825185 1.3316811 -174.45 - 16 124.53475 902 1 0 -0.83386852 1.3535394 -175.85 - 16 173.65018 892 0 1 -1.1433404 1.817739 -204.45 - 16 200.78677 904 0 0 -1.1601529 1.8395282 -205.85 -Number of digits in this event = 9 -Event: 17 -Number of tracker hits in this event = 9 - 17 157.65269 895 4 1 -0.51280169 -0.23735913 -84.45 - 17 110.58758 893 3 1 -0.98441599 -0.42950836 -114.45 - 17 20.162831 895 3 0 -1.0195574 -0.45091736 -116.19286 - 17 118.8634 890 2 1 -1.594826 -0.80293692 -144.45 - 17 130.61864 894 2 0 -1.6257343 -0.81771919 -145.85 - 17 159.88402 886 1 1 -2.2597914 -1.1249351 -174.45 - 17 118.63799 892 1 0 -2.296357 -1.1392357 -175.85 - 17 145.28515 883 0 1 -3.0260374 -1.4261753 -204.45 - 17 129.54762 891 0 0 -3.0629689 -1.4409606 -205.85 -Number of digits in this event = 6 -Event: 18 -Number of tracker hits in this event = 21 - 18 125.01738 896 4 0 -0.080256681 0.1142011 -85.85 - 18 188.76092 897 3 0 -0.21798126 0.27620077 -115.85 - 18 140.39022 895 2 1 -0.59717192 0.54478218 -144.45 - 18 143.30553 898 2 0 -0.61838748 0.55661002 -145.85 - 18 152.55415 892 1 1 -1.0674638 0.79917918 -174.45 - 18 118.48451 899 1 0 -1.0941313 0.80913921 -175.85 - 18 160.02805 890 0 1 -1.6303057 1.0077455 -204.45 - 18 145.65034 900 0 0 -1.6508541 1.0223558 -205.85 - 18 143.5296 796 9 0 132.50439 -20.404472 63.817851 - 18 329.40463 1556 9 1 132.64025 -19.506911 65.15 - 18 76.730877 1557 9 1 132.76537 -19.424685 65.452529 - 18 155.19831 205 4 0 73.085072 -138.9612 -86.25 - 18 25.082106 204 4 0 73.258839 -139.20407 -85.914565 - 18 97.837459 1264 4 1 73.785596 -140.03468 -84.85 - 18 210.71959 1265 4 1 73.851782 -140.11605 -84.737782 - 18 84.6891 105 5 0 81.44713 -158.97569 -56.25 - 18 106.07673 104 5 0 81.541738 -159.16684 -56.104967 - 18 55.262382 103 5 0 81.617985 -159.43224 -56.007303 - 18 35.967796 102 5 0 81.557359 -159.58672 -55.925974 - 18 138.1837 1300 5 1 80.943614 -160.09698 -54.85 - 18 114.39423 1299 5 1 80.837146 -160.20775 -54.69737 -Number of digits in this event = 15 -Event: 19 -Number of tracker hits in this event = 14 - 19 122.96449 896 5 0 0.064158265 0.10802124 -55.85 - 19 318.81383 902 4 1 1.2741849 0.24026922 -84.45 - 19 63.03631 896 4 0 1.3402945 0.24914386 -85.85 - 19 58.880569 897 4 0 1.3510615 0.25057993 -86.078572 - 19 130.9312 909 3 1 2.6843729 0.45102275 -114.45 - 19 147.03681 898 3 0 2.7484451 0.4685692 -115.85 - 19 121.15979 915 2 1 4.0228089 0.84848593 -144.45 - 19 127.79932 900 2 0 4.0835396 0.87247727 -145.85 - 19 153.92688 922 1 1 5.3208424 1.3680144 -174.45 - 19 113.54872 902 1 0 5.3798323 1.3906145 -175.85 - 19 120.37178 928 0 1 6.5864773 1.840428 -204.45 - 19 160.86837 905 0 0 6.6428938 1.8659466 -205.85 - 19 68.327057 898 4 0 0.45872753 0.54267036 -85.85 - 19 174.04758 898 4 1 0.57525828 -0.19389796 -84.85 -Number of digits in this event = 11 -Event: 20 -Number of tracker hits in this event = 9 - 20 123.77605 896 4 1 0.051937013 -0.40434602 -84.45 - 20 144.57042 897 3 1 0.42325755 -0.44828875 -114.45 - 20 158.99025 895 3 0 0.43847355 -0.45266538 -115.85 - 20 136.02738 899 2 1 0.73536848 -0.5296512 -144.45 - 20 109.16845 895 2 0 0.74715862 -0.52784819 -145.85 - 20 128.98177 900 1 1 1.000767 -0.55071921 -174.45 - 20 155.21943 895 1 0 1.0139721 -0.54950646 -175.85 - 20 158.9702 902 0 1 1.2886177 -0.51976471 -204.45 - 20 118.81034 895 0 0 1.2981349 -0.51388701 -205.85 -Number of digits in this event = 8 -Event: 21 -Number of tracker hits in this event = 71 - 21 136.6242 896 4 1 0.055647296 0.42931538 -84.45 - 21 136.31657 897 4 0 0.056057825 0.44266184 -85.85 - 21 122.91506 896 3 1 0.060230732 0.74217163 -114.45 - 21 266.54813 899 3 0 0.061236993 0.76034693 -115.85 - 21 241.00427 896 2 1 0.08093767 1.1092457 -144.45 - 21 164.0134 901 2 0 0.078186888 1.1249492 -145.85 - 21 942.87462 902 0 0 -0.46558706 1.4120957 -205.85 - 21 1444.89 1046 1 0 13.235525 30.199047 -176.25 - 21 2973.5732 1047 1 0 13.289234 30.314174 -176.13573 - 21 816.64653 1048 1 0 13.389556 30.543043 -175.90268 - 21 1749.1146 964 1 1 13.822494 31.65108 -174.85 - 21 5750.5648 965 1 1 13.869583 31.771529 -174.73574 - 21 14.871555 113 13 1 -157.51913 43.187745 185.32869 - 21 106.47692 112 13 1 -157.57905 43.16129 185.35453 - 21 154.03998 322 1 0 -78.609371 -115.73048 -176.25 - 21 185.63697 319 1 0 -78.92552 -116.18493 -176.13469 - 21 58.826741 317 1 0 -79.257155 -116.62844 -176.02027 - 21 368.18227 316 1 0 -79.397217 -116.79274 -175.97978 - 21 70.904383 314 1 0 -79.78643 -117.19327 -175.8912 - 21 211.96733 478 1 1 -83.895626 -121.27144 -174.85 - 21 172.67758 476 1 1 -84.336314 -121.72033 -174.71882 - 21 177.25648 474 1 1 -84.789683 -122.16177 -174.60699 - 21 48.753436 472 1 1 -85.222702 -122.62192 -174.49008 - 21 46.363469 467 1 1 -86.241133 -124.96838 -174.45 - 21 116.48013 239 2 0 -89.704458 -132.18872 -146.25 - 21 83.78196 448 2 1 -89.988215 -132.65536 -144.85 - 21 141.78983 122 3 0 -32.69317 -155.66417 -116.25 - 21 222.37607 121 3 0 -32.211102 -155.78323 -116.02551 - 21 73.116392 120 3 0 -31.452014 -156.02644 -115.90367 - 21 195.95006 119 3 0 -31.230425 -156.19109 -115.92787 - 21 169.00102 118 3 0 -30.776296 -156.4134 -116.11938 - 21 228.87812 117 3 0 -30.297344 -156.64402 -116.12491 - 21 385.14974 116 3 0 -30.048886 -156.7571 -116.09779 - 21 80.190493 115 3 0 -29.280521 -156.99694 -116.18531 - 21 60.286998 763 3 1 -27.030547 -154.8702 -114.85 - 21 110.10285 764 3 1 -26.838865 -154.72948 -114.75416 - 21 132.21249 765 3 1 -26.587573 -154.45083 -114.66162 - 21 108.02499 766 3 1 -26.441052 -154.10188 -114.58375 - 21 74.815959 767 3 1 -26.221904 -153.82754 -114.46094 - 21 165.14449 768 3 1 -26.000159 -153.7196 -114.49702 - 21 105.63979 769 3 1 -25.784765 -153.62761 -114.45039 - 21 13.588318 127 3 0 -26.692838 -154.72624 -115.85 - 21 185.08006 126 3 0 -26.71397 -154.75231 -115.87951 - 21 51.531206 492 1 1 -81.217813 -115.72817 -174.85 - 21 89.504024 491 1 1 -81.252175 -115.71813 -174.82433 - 21 42.535348 323 1 0 -81.433402 -115.52588 -175.85 - 21 53.109331 901 1 0 4.0004126 1.2025722 -176.25 - 21 107.91049 902 1 0 4.0758518 1.259271 -176.03138 - 21 267.93645 915 1 1 4.0401386 2.6094415 -174.85 - 21 181.22504 916 1 1 4.0813463 3.0695004 -174.57835 - 21 55.574019 917 1 1 4.2883875 3.4192956 -174.81485 - 21 106.56375 919 1 0 5.622794 4.6518501 -175.85 - 21 75.185608 920 1 0 5.7741266 4.9091492 -175.93917 - 21 18.602232 921 1 0 5.7999472 5.0955785 -175.89244 - 21 58.667624 923 1 1 5.4876181 6.9058658 -174.85 - 21 64.484043 922 1 1 5.4347534 7.0691144 -174.78202 - 21 55.611154 921 1 1 5.22475 7.168493 -174.78398 - 21 202.31186 920 1 1 5.0444511 7.1948263 -174.74828 - 21 416.99441 919 1 1 4.8288453 7.1898528 -174.67553 - 21 79.865686 897 2 1 0.25266268 1.0745298 -144.75854 - 21 10.261234 907 2 0 2.2927036 2.4358745 -145.85 - 21 32.344833 908 2 0 2.3183418 2.4511789 -145.85941 - 21 141.55059 916 2 1 4.1960067 4.0557836 -144.85 - 21 134.38785 915 2 1 4.0414493 4.2846233 -144.74342 - 21 25.52682 912 2 0 4.0280148 3.4018143 -145.85 - 21 4.7599735 1192 2 1 59.347696 -50.463437 -144.85 - 21 6.551282 636 2 0 64.423488 -52.329253 -145.85 - 21 7.1307076 1234 2 1 67.753841 -54.655252 -144.85 - 21 4.0848774 616 2 0 69.501958 -56.326558 -145.85 - 21 57.218428 1243 2 1 69.549869 -57.993927 -144.85 - 21 33.406567 900 3 0 0.1143467 0.85313583 -115.9996 -Number of digits in this event = 35 -Event: 22 -Number of tracker hits in this event = 21 - 22 141.26466 896 3 1 0.20002675 -0.097531779 -114.45 - 22 163.11359 897 2 1 0.30342762 -0.20482649 -144.45 - 22 129.04372 897 1 1 0.43018009 -0.35360929 -174.45 - 22 178.40275 898 0 1 0.58414477 -0.4487016 -204.45 - 22 139.71777 895 0 0 0.59963205 -0.45654073 -205.85 - 22 79.141911 759 0 0 -31.455855 -27.848741 -206.25 - 22 455.82823 758 0 0 -31.644682 -27.893705 -206.14371 - 22 77.56646 727 0 1 -34.09571 -28.866489 -204.85 - 22 258.02372 726 0 1 -34.312273 -28.962454 -204.75699 - 22 81.508877 725 0 1 -34.552972 -29.058467 -204.6702 - 22 67.635263 724 0 1 -34.794878 -29.177481 -204.549 - 22 74.412509 826 1 0 18.685892 -14.311632 -176.25 - 22 93.344667 827 1 0 18.841473 -14.20137 -176.11507 - 22 388.26112 990 1 1 18.987825 -14.672161 -174.85 - 22 258.47527 989 1 1 18.83474 -15.078177 -174.47616 - 22 299.59578 819 1 0 18.862035 -15.794025 -175.85 - 22 82.542462 818 1 0 18.897359 -15.852078 -175.95068 - 22 88.565464 991 1 1 19.156781 -16.116193 -174.85 - 22 149.04571 992 1 1 19.25229 -16.159194 -174.79328 - 22 1.8285 747 0 0 -38.572622 -30.117276 -205.85 - 22 56.2875 746 0 0 -39.293727 -30.285319 -206.1259 -Number of digits in this event = 12 -Event: 23 -Number of tracker hits in this event = 9 - 23 118.68418 896 3 0 -0.5320971 0.054239531 -115.85 - 23 131.06658 895 2 1 -0.58088409 1.1153225 -144.45 - 23 200.04633 901 2 0 -0.58382315 1.1661399 -145.85 - 23 171.10781 894 1 1 -0.67188957 2.1853014 -174.45 - 23 100.641 906 1 0 -0.68259585 2.2374686 -175.85 - 23 17.355728 907 1 0 -0.68520853 2.2503219 -176.19285 - 23 154.88395 893 0 1 -0.89703634 3.309712 -204.45 - 23 140.86919 912 0 0 -0.90196946 3.3615494 -205.85 - 23 108.38938 902 2 0 -0.59685061 1.2580422 -146.19395 -Number of digits in this event = 6 -Event: 24 -Number of tracker hits in this event = 8 - 24 146.07813 896 4 1 0.063755901 -0.15239254 -84.45 - 24 118.90635 896 3 1 0.092742498 -0.32183895 -114.45 - 24 124.51478 896 2 1 0.16474028 -0.47146238 -144.45 - 24 124.77459 895 2 0 0.16876445 -0.47758708 -145.85 - 24 124.25154 896 1 1 0.23859697 -0.60004034 -174.45 - 24 109.67339 895 1 0 0.23895051 -0.60444873 -175.85 - 24 137.28091 897 0 1 0.25018657 -0.68820922 -204.45 - 24 106.6344 894 0 0 0.24970457 -0.69494195 -205.85 -Number of digits in this event = 6 -Event: 25 -Number of tracker hits in this event = 12 - 25 116.25228 895 2 1 -0.57642459 -0.37949125 -144.45 - 25 114.66545 895 1 1 -0.55393725 -0.72624141 -174.45 - 25 187.9326 894 1 0 -0.5530966 -0.74848179 -175.85 - 25 118.98166 895 0 1 -0.531466 -1.2139092 -204.45 - 25 120.32756 892 0 0 -0.53081406 -1.2375593 -205.85 - 25 52.700548 896 6 0 0.05 0.10870513 -26.133911 - 25 75.578077 897 6 0 0.10640473 0.26869683 -26.13267 - 25 120.33148 898 6 0 0.22061004 0.45974245 -26.045312 - 25 68.642337 899 6 0 0.46642815 0.65835691 -26.028225 - 25 74.393449 900 6 0 0.48968295 0.87584693 -26.105138 - 25 173.9839 901 6 0 0.51318363 1.0591982 -26.131378 - 25 147.70992 902 6 0 0.69052836 1.2601333 -26.209794 -Number of digits in this event = 6 -Event: 26 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 27 -Number of tracker hits in this event = 13 - 27 139.69839 896 4 1 0.12784721 -0.058158487 -84.45 - 27 137.19112 896 3 1 0.20139205 -0.1367597 -114.45 - 27 364.03202 897 2 1 0.25545375 -0.24520399 -144.45 - 27 119.68146 897 1 1 0.35294231 -0.32391748 -174.45 - 27 132.18612 897 0 1 0.33720957 -0.47513494 -204.45 - 27 237.63043 895 0 0 0.34120305 -0.49468341 -205.85 - 27 27.432449 1002 5 0 96.094967 21.303608 -56.25 - 27 184.01137 1001 5 0 96.116454 21.244613 -56.147502 - 27 431.7845 1000 5 0 96.227611 21.035121 -55.974931 - 27 148.79068 999 5 0 96.548182 20.846505 -56.188865 - 27 86.979472 892 2 0 0.11300689 -1.1905318 -145.85 - 27 441.57938 891 2 0 0.080099112 -1.2578876 -145.96112 - 27 207.31029 896 2 1 0.24472658 -0.24446896 -144.48129 -Number of digits in this event = 11 -Event: 28 -Number of tracker hits in this event = 1 - 28 118.55165 895 0 1 -0.56238547 -0.40509971 -204.45 -Number of digits in this event = 1 -Event: 29 -Number of tracker hits in this event = 7 - 29 160.36533 896 5 0 -0.13287564 0.10551275 -55.85 - 29 282.19214 896 4 0 -0.20021241 0.1898575 -85.85 - 29 135.65442 897 3 0 -0.1768578 0.27926297 -115.85 - 29 120.22185 897 2 0 -0.2885989 0.37444992 -145.85 - 29 211.33755 898 1 0 -0.38375625 0.53672196 -175.85 - 29 114.32822 895 0 1 -0.49141959 0.79075324 -204.45 - 29 154.74294 899 0 0 -0.49718361 0.80499082 -205.85 -Number of digits in this event = 7 -Event: 30 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 31 -Number of tracker hits in this event = 7 - 31 167.17061 895 3 0 -0.42342491 -0.56253108 -115.85 - 31 124.26463 895 2 1 -0.64496731 -0.72858448 -144.45 - 31 152.70406 894 2 0 -0.65450735 -0.73870389 -145.85 - 31 129.16588 893 1 1 -0.85263893 -0.95038995 -174.45 - 31 126.426 893 1 0 -0.86116873 -0.95966506 -175.85 - 31 126.97693 893 0 1 -1.0278853 -1.1643992 -204.45 - 31 172.71057 892 0 0 -1.0290292 -1.1715041 -205.85 -Number of digits in this event = 8 -Event: 32 -Number of tracker hits in this event = 2 - 32 425.90417 896 1 1 0.20437999 -0.29148998 -174.45 - 32 128.612 898 0 1 0.47929132 -0.20128215 -204.45 -Number of digits in this event = 3 -Event: 33 -Number of tracker hits in this event = 8 - 33 125.74444 896 3 1 0.12183587 0.13301793 -114.45 - 33 139.9306 896 3 0 0.12789308 0.13778648 -115.85 - 33 124.9146 897 2 1 0.25095475 0.22714075 -144.45 - 33 114.18541 896 2 0 0.25560874 0.23021648 -145.85 - 33 135.15605 897 1 1 0.34218582 0.30580282 -174.45 - 33 125.40275 897 1 0 0.34073461 0.30542402 -175.85 - 33 108.90896 897 0 1 0.31114982 0.31596624 -204.45 - 33 168.375 897 0 0 0.30791392 0.31837872 -205.85 -Number of digits in this event = 7 -Event: 34 -Number of tracker hits in this event = 5 - 34 133.40505 895 1 1 -0.46423992 -0.343782 -174.45 - 34 133.9299 895 0 1 -0.5202915 -0.36731333 -204.45 - 34 129.2458 1789 2 0 -154.76483 179.1984 -146.25 - 34 118.35714 1790 2 0 -155.12332 179.44053 -146.08456 - 34 70.962963 1791 2 0 -155.50743 179.64154 -145.91792 -Number of digits in this event = 6 -Event: 35 -Number of tracker hits in this event = 6 - 35 118.41042 896 5 1 0.1325956 -0.17368691 -54.45 - 35 118.33396 897 4 1 0.28795247 -0.28954348 -84.45 - 35 118.15528 897 3 1 0.36856203 -0.25937734 -114.45 - 35 284.59773 897 2 1 0.43982737 -0.28161156 -144.45 - 35 116.63105 898 1 1 0.54217068 -0.33883736 -174.45 - 35 136.04149 899 0 1 0.80564475 -0.41436717 -204.45 -Number of digits in this event = 3 -Event: 36 -Number of tracker hits in this event = 10 - 36 130.44372 897 5 1 0.29085193 -0.13755266 -54.45 - 36 145.48215 898 4 1 0.48571208 -0.30256102 -84.45 - 36 133.79542 899 3 1 0.81380705 -0.46537538 -114.45 - 36 114.29743 895 3 0 0.83245658 -0.47664547 -115.85 - 36 124.64018 901 2 1 1.202668 -0.68713329 -144.45 - 36 157.26375 894 2 0 1.2217035 -0.69415487 -145.85 - 36 129.9302 903 1 1 1.5883548 -0.83496616 -174.45 - 36 133.28172 894 1 0 1.609815 -0.84311679 -175.85 - 36 168.89152 906 0 1 2.0626133 -1.0063444 -204.45 - 36 144.21055 893 0 0 2.0946582 -1.0078257 -205.85 -Number of digits in this event = 10 -Event: 37 -Number of tracker hits in this event = 8 - 37 209.02316 897 1 1 0.44571261 0.25435342 -174.45 - 37 148.10897 897 1 0 0.45086439 0.2706835 -175.85 - 37 191.82565 898 0 1 0.55433048 0.58846677 -204.45 - 37 131.40136 898 0 0 0.56270771 0.61611557 -205.85 - 37 38.052962 651 11 0 -37.201179 -49.26586 123.75 - 37 89.683664 652 11 0 -37.177529 -49.237164 123.86554 - 37 146.20411 712 11 1 -37.143841 -48.867002 125.15 - 37 403.63021 592 9 0 -89.432542 -61.10142 64.136465 -Number of digits in this event = 8 -Event: 38 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 39 -Number of tracker hits in this event = 12 - 39 8.501037 896 5 1 0.05 0.056292418 -54.815059 - 39 166.43478 896 5 0 0.060016613 0.056363429 -55.85 - 39 127.55956 897 4 1 0.363059 0.051627213 -84.45 - 39 118.28299 896 4 0 0.37621228 0.053428588 -85.85 - 39 133.93077 899 3 1 0.6533544 0.082435046 -114.45 - 39 293.57159 896 3 0 0.66643529 0.083469409 -115.85 - 39 161.94922 900 2 1 0.93418175 0.094653004 -144.45 - 39 138.23947 896 2 0 0.94954414 0.096117341 -145.85 - 39 122.07863 902 1 1 1.2655087 0.12785185 -174.45 - 39 145.89587 896 1 0 1.2796466 0.13225875 -175.85 - 39 140.056 903 0 1 1.583251 0.21554268 -204.45 - 39 247.31659 896 0 0 1.5980576 0.22057239 -205.85 -Number of digits in this event = 11 -Event: 40 -Number of tracker hits in this event = 13 - 40 131.63457 896 5 0 -0.082406061 0.10029937 -55.85 - 40 243.95798 896 4 0 -0.23599835 0.08116003 -85.85 - 40 126.92587 895 3 1 -0.48960889 0.30403941 -114.45 - 40 141.52212 897 3 0 -0.50432132 0.31326427 -115.85 - 40 124.02227 894 2 1 -0.79340728 0.50788323 -144.45 - 40 155.16205 898 2 0 -0.80514556 0.51661649 -145.85 - 40 124.13827 893 1 1 -1.0312088 0.70968275 -174.45 - 40 141.56837 899 1 0 -1.0431693 0.71906173 -175.85 - 40 146.71019 892 0 1 -1.2452981 0.87645782 -204.45 - 40 125.95412 900 0 0 -1.2558453 0.88989036 -205.85 - 40 142.49919 896 6 0 0.05 0.059894331 -26.011566 - 40 48.251088 897 6 0 0.11692546 0.26347018 -26.145413 - 40 45.105756 898 6 0 -0.05 0.56606871 -26.131836 -Number of digits in this event = 12 -Event: 41 -Number of tracker hits in this event = 5 - 41 231.63784 895 2 0 -0.076250226 -0.54783542 -145.85 - 41 121.52155 896 1 1 0.11483589 -0.66836044 -174.45 - 41 132.43472 894 1 0 0.11612258 -0.6811267 -175.85 - 41 119.15752 896 0 1 0.15022114 -0.93905704 -204.45 - 41 167.24835 893 0 0 0.15194958 -0.95525881 -205.85 -Number of digits in this event = 5 -Event: 42 -Number of tracker hits in this event = 14 - 42 130.60198 896 5 1 0.10997726 0.059706514 -54.45 - 42 129.65188 896 5 0 0.11449777 0.064038575 -55.85 - 42 129.87761 896 4 1 0.2406821 0.161297 -84.45 - 42 140.64302 896 4 0 0.25770934 0.1766823 -85.85 - 42 129.13474 898 3 1 0.62493952 0.50015278 -114.45 - 42 153.0008 898 3 0 0.64861883 0.51981081 -115.85 - 42 133.97586 901 2 1 1.1269825 0.93679634 -144.45 - 42 116.15131 900 2 0 1.1579788 0.9538281 -145.85 - 42 287.32563 904 1 1 1.8036641 1.3128151 -174.45 - 42 149.82439 902 1 0 1.8311815 1.3264159 -175.85 - 42 152.66734 907 0 1 2.4046875 1.5870502 -204.45 - 42 290.76781 903 0 0 2.4347213 1.5997646 -205.85 - 42 84.605638 923 0 0 -21.359507 5.5158818 -206.25 - 42 144.80658 857 0 0 -52.117817 -8.0903931 -206.25 -Number of digits in this event = 13 -Event: 43 -Number of tracker hits in this event = 9 - 43 149.5399 895 4 1 -0.5355413 -0.19760874 -84.45 - 43 141.28735 895 3 1 -0.59672598 -0.535554 -114.45 - 43 148.32731 895 3 0 -0.60106237 -0.55058983 -115.85 - 43 150.984 894 2 1 -0.69930794 -0.86178413 -144.45 - 43 136.5083 893 2 0 -0.69948019 -0.87868003 -145.85 - 43 135.3374 894 1 1 -0.70455812 -1.2246095 -174.45 - 43 181.11717 892 1 0 -0.69846635 -1.2389077 -175.85 - 43 479.31196 895 0 1 -0.57467598 -1.5275576 -204.45 - 43 373.44677 890 0 0 -0.56707641 -1.53455 -205.85 -Number of digits in this event = 10 -Event: 44 -Number of tracker hits in this event = 7 - 44 125.63756 896 5 1 0.09195018 0.059032735 -54.45 - 44 160.35834 896 5 0 0.098334498 0.069578831 -55.85 - 44 131.93522 896 4 1 0.24006224 0.29021094 -84.45 - 44 133.78648 897 4 0 0.23706866 0.29407603 -85.85 - 44 115.89636 896 3 1 0.17049617 0.39841854 -114.45 - 44 144.77115 897 3 0 0.16488224 0.40665951 -115.85 - 44 128.27391 899 1 0 -0.053692317 0.67069447 -175.85 -Number of digits in this event = 7 -Event: 45 -Number of tracker hits in this event = 7 - 45 115.13774 895 3 0 -0.35988076 -0.60317469 -115.85 - 45 131.12865 895 2 1 -0.48366081 -0.81352906 -144.45 - 45 138.25004 894 2 0 -0.48534787 -0.82343661 -145.85 - 45 186.67477 895 1 1 -0.51391937 -1.0501119 -174.45 - 45 186.65086 892 1 0 -0.51163014 -1.0601808 -175.85 - 45 156.76515 895 0 1 -0.46832898 -1.2723206 -204.45 - 45 176.73201 891 0 0 -0.48159003 -1.3512366 -205.85 -Number of digits in this event = 9 -Event: 46 -Number of tracker hits in this event = 7 - 46 48.743718 896 3 0 -0.050656801 0.18987172 -115.85 - 46 165.7724 896 2 1 0.090660039 0.26482082 -144.45 - 46 109.73153 897 2 0 0.10010894 0.26653769 -145.85 - 46 131.54632 897 1 1 0.29741177 0.31028215 -174.45 - 46 125.5495 897 1 0 0.30441883 0.31076635 -175.85 - 46 133.50558 898 0 1 0.48704278 0.3215357 -204.45 - 46 143.52004 897 0 0 0.49023369 0.31821066 -205.85 -Number of digits in this event = 6 -Event: 47 -Number of tracker hits in this event = 3 - 47 117.7317 896 3 0 -0.11195018 0.090769744 -115.85 - 47 140.50432 896 2 0 -0.067762364 0.071101037 -145.85 - 47 123.85358 896 0 1 0.1616546 -0.081405126 -204.45 -Number of digits in this event = 3 -Event: 48 -Number of tracker hits in this event = 11 - 48 153.99237 896 4 0 -0.077529672 0.16876309 -85.85 - 48 208.2079 896 2 0 0.052668543 0.24599464 -145.85 - 48 158.58609 896 1 1 0.13614869 0.30908449 -174.45 - 48 123.87227 897 1 0 0.14295471 0.31333834 -175.85 - 48 155.5966 897 0 1 0.27688703 0.39568902 -204.45 - 48 123.92255 897 0 0 0.2794974 0.40005562 -205.85 - 48 176.7242 949 5 0 -11.036981 10.819076 -56.25 - 48 138.38748 948 5 0 -11.231242 10.640044 -55.917071 - 48 13.942023 947 5 0 -11.336013 10.42828 -55.851362 - 48 54.329168 841 5 1 -11.255108 9.9403441 -54.85 - 48 365.59876 842 5 1 -11.248357 9.8918384 -54.757808 -Number of digits in this event = 10 -Event: 49 -Number of tracker hits in this event = 10 - 49 127.68964 896 4 1 0.22320872 0.10886805 -84.45 - 49 232.29842 896 4 0 0.22570878 0.10886215 -85.85 - 49 117.13857 897 3 1 0.26604517 0.093532455 -114.45 - 49 130.02414 896 3 0 0.27236434 0.092237131 -115.85 - 49 133.18345 897 2 1 0.39395247 0.053907803 -144.45 - 49 140.24877 896 2 0 0.40553937 0.055604576 -145.85 - 49 309.03354 898 1 1 0.64615759 0.099603403 -174.45 - 49 115.75658 896 1 0 0.65987197 0.10078138 -175.85 - 49 154.60403 900 0 1 0.93844275 0.08715087 -204.45 - 49 129.77495 896 0 0 0.95018415 0.080715952 -205.85 -Number of digits in this event = 9 -Event: 50 -Number of tracker hits in this event = 7 - 50 117.06501 896 4 0 -0.068892024 0.10707775 -85.85 - 50 149.95636 896 3 0 -0.088473957 0.14396797 -115.85 - 50 120.43334 896 2 0 -0.36651978 0.21114279 -145.85 - 50 234.69421 894 1 1 -0.68218078 0.29923162 -174.45 - 50 131.89323 897 1 0 -0.69396449 0.30491306 -175.85 - 50 154.57538 893 0 1 -0.95398551 0.42639506 -204.45 - 50 153.43407 897 0 0 -0.96917357 0.43154225 -205.85 -Number of digits in this event = 7 -Event: 51 -Number of tracker hits in this event = 6 - 51 174.80417 896 3 1 0.058933274 -0.3806098 -114.45 - 51 128.96479 896 2 1 0.083709117 -0.52983344 -144.45 - 51 157.87541 895 2 0 0.082633822 -0.53968898 -145.85 - 51 81.094655 896 1 1 0.050302095 -0.73645627 -174.45 - 51 496.47214 894 3 0 1.2955898 -0.67148679 -115.85 - 51 49.052537 893 3 0 1.3664256 -0.85580972 -115.95372 -Number of digits in this event = 5 -Event: 52 -Number of tracker hits in this event = 14 - 52 137.15973 900 5 1 0.88943589 -0.53518618 -54.45 - 52 123.3059 895 5 0 0.93070329 -0.56205363 -55.85 - 52 161.36847 904 4 1 1.7825124 -1.1341601 -84.45 - 52 141.48918 892 4 0 1.8241704 -1.1655704 -85.85 - 52 138.8719 909 3 1 2.6730817 -1.8273618 -114.45 - 52 403.5311 888 3 0 2.7139665 -1.8604369 -115.85 - 52 135.22358 913 2 1 3.5420266 -2.5354317 -144.45 - 52 132.66135 885 2 0 3.5839726 -2.5697793 -145.85 - 52 136.71879 917 1 1 4.4299834 -3.2804213 -174.45 - 52 411.66217 881 1 0 4.4774825 -3.3218242 -175.85 - 52 127.77588 922 0 1 5.4378641 -4.1603263 -204.45 - 52 214.74001 877 0 0 5.4835895 -4.2053697 -205.85 - 52 268.7868 894 6 0 -0.13716557 -0.70271546 -25.85 - 52 55.60342 893 6 0 -0.19414783 -0.85286589 -25.929125 -Number of digits in this event = 14 -Event: 53 -Number of tracker hits in this event = 0 -Number of digits in this event = 2 -Event: 54 -Number of tracker hits in this event = 8 - 54 86.43615 895 1 0 -0.21564346 -0.45389309 -175.91198 - 54 51.758565 902 4 0 -1.3118135 1.3617303 -85.85 - 54 177.52062 903 4 0 -1.3947556 1.4943189 -85.94779 - 54 23.209401 335 4 0 -119.9659 -113.1488 -86.25 - 54 57.904147 334 4 0 -120.00104 -113.18726 -86.24895 - 54 81.876518 333 4 0 -120.12567 -113.36895 -86.218395 - 54 101.35539 332 4 0 -120.27886 -113.57843 -86.197323 - 54 24.946851 331 4 0 -120.28364 -113.77873 -86.238398 -Number of digits in this event = 3 -Event: 55 -Number of tracker hits in this event = 8 - 55 129.02516 896 3 1 0.09560953 0.18850204 -114.45 - 55 118.54088 896 3 0 0.10631294 0.1908326 -115.85 - 55 143.75052 897 2 1 0.30772194 0.2369886 -144.45 - 55 151.85298 896 2 0 0.31698035 0.24134592 -145.85 - 55 143.53552 898 1 1 0.51004691 0.35085374 -174.45 - 55 138.40142 897 1 0 0.52343803 0.36038591 -175.85 - 55 155.66107 899 0 1 0.78933885 0.55776281 -204.45 - 55 172.75008 898 0 0 0.79869391 0.56281487 -205.85 -Number of digits in this event = 8 -Event: 56 -Number of tracker hits in this event = 17 - 56 137.44772 896 4 1 0.16188577 0.12381177 -84.45 - 56 152.90971 896 4 0 0.17011609 0.1269317 -85.85 - 56 125.11486 897 3 1 0.34089286 0.1806719 -114.45 - 56 140.52518 896 3 0 0.34923202 0.18610316 -115.85 - 56 125.07587 898 2 1 0.52900596 0.28775076 -144.45 - 56 202.18906 897 2 0 0.53349933 0.28918276 -145.85 - 56 188.04954 898 1 1 0.62415947 0.32138673 -174.45 - 56 172.14814 897 1 0 0.62176645 0.32536427 -175.85 - 56 113.29624 898 0 1 0.57663453 0.43478545 -204.45 - 56 120.48442 897 0 0 0.57069184 0.44356158 -205.85 - 56 113.73074 896 2 0 0.55539799 0.24913919 -145.99483 - 56 17.07196 897 6 1 0.30615388 0.05 -24.789763 - 56 171.70405 898 6 0 0.66983483 0.49762099 -25.85 - 56 9.5291063 899 6 0 0.89196759 0.67124276 -26.229894 - 56 92.090967 1071 6 0 35.914819 35.162835 -26.25 - 56 135.13543 1070 6 0 35.982474 35.042068 -26.109436 - 56 297.92666 1069 6 0 36.102632 34.840776 -26.080195 -Number of digits in this event = 13 -Event: 57 -Number of tracker hits in this event = 8 - 57 123.09538 895 3 1 -0.57732662 -0.43413997 -114.45 - 57 116.64312 893 2 1 -0.93842642 -0.5448334 -144.45 - 57 115.05338 895 2 0 -0.95236582 -0.55455328 -145.85 - 57 153.28254 892 1 1 -1.2319964 -0.75550847 -174.45 - 57 131.65955 894 1 0 -1.2510522 -0.76514295 -175.85 - 57 290.73878 890 0 1 -1.647568 -0.96422551 -204.45 - 57 47.880657 889 0 1 -1.650907 -0.9666563 -204.7438 - 57 128.73111 893 0 0 -1.663919 -0.97546325 -205.85 -Number of digits in this event = 6 -Event: 58 -Number of tracker hits in this event = 10 - 58 128.46431 896 4 1 0.15068525 -0.47872684 -84.45 - 58 138.33962 895 4 0 0.15885629 -0.48536234 -85.85 - 58 142.94671 897 3 1 0.31088676 -0.63264598 -114.45 - 58 132.74682 895 3 0 0.32123721 -0.63825738 -115.85 - 58 192.51933 898 2 1 0.59418419 -0.71961336 -144.45 - 58 119.28401 894 2 0 0.60752135 -0.72611573 -145.85 - 58 214.65005 900 1 1 0.88568909 -0.891619 -174.45 - 58 132.60821 893 1 0 0.89650635 -0.90070035 -175.85 - 58 250.37431 901 0 1 1.1079599 -1.1029652 -204.45 - 58 234.91585 892 0 0 1.1203339 -1.1112957 -205.85 -Number of digits in this event = 11 -Event: 59 -Number of tracker hits in this event = 18 - 59 133.97146 897 3 1 0.32114874 -0.09414952 -114.45 - 59 145.85372 899 1 1 0.83331734 0.22727335 -174.45 - 59 125.4137 896 1 0 0.84890406 0.23717364 -175.85 - 59 183.87726 901 0 1 1.1532577 0.43758925 -204.45 - 59 161.56127 897 0 0 1.1679155 0.44722201 -205.85 - 59 84.844705 1207 0 0 -29.844506 62.325857 -206.25 - 59 68.834319 1208 0 0 -29.851909 62.492142 -206.01171 - 59 224.21194 749 0 1 -29.827762 63.437089 -204.85 - 59 69.548443 921 1 0 -24.003966 5.0734268 -176.25 - 59 88.477082 919 1 0 -24.002292 4.8321247 -176.13013 - 59 78.878269 918 1 0 -24.031301 4.5686824 -176.08272 - 59 71.067428 917 1 0 -24.06255 4.3186473 -175.99098 - 59 33.7092 916 1 0 -24.07839 4.0628184 -175.91293 - 59 178.20466 778 1 1 -23.98919 2.3696172 -174.85 - 59 39.351504 474 0 1 -84.727429 148.02373 -204.85 - 59 131.09314 1534 0 0 -88.977379 128.31392 -205.9009 - 59 17.50456 1535 0 0 -89.018195 128.35203 -205.92931 - 59 62.847628 707 0 1 -38.187537 62.181651 -204.83459 -Number of digits in this event = 11 -Event: 60 -Number of tracker hits in this event = 6 - 60 113.39788 896 5 0 -0.056799659 0.1849097 -55.85 - 60 106.70492 897 4 0 -0.065293599 0.32217764 -85.85 - 60 134.78411 897 3 0 -0.057485168 0.32564225 -115.85 - 60 279.54669 896 1 1 0.076338408 -0.30376253 -174.45 - 60 138.2569 897 0 1 0.34573913 -0.71672828 -204.45 - 60 227.76425 894 0 0 0.35757898 -0.73801293 -205.85 -Number of digits in this event = 6 -Event: 61 -Number of tracker hits in this event = 4 - 61 64.302189 895 3 0 -0.05 -0.51527028 -116.02566 - 61 207.30821 895 2 0 -0.095473777 -0.58479924 -145.85 - 61 119.06433 895 1 0 -0.079702796 -0.61347969 -175.85 - 61 129.69763 895 0 0 -0.17907271 -0.63963547 -205.85 -Number of digits in this event = 3 -Event: 62 -Number of tracker hits in this event = 10 - 62 144.97005 896 4 1 0.073050403 0.19080735 -84.45 - 62 126.56999 896 4 0 0.080142224 0.19575322 -85.85 - 62 130.28014 896 3 1 0.23695647 0.28072615 -114.45 - 62 134.37217 897 3 0 0.24407944 0.28710362 -115.85 - 62 119.60386 897 2 1 0.38557483 0.41333138 -144.45 - 62 162.1278 897 2 0 0.39457821 0.41558822 -145.85 - 62 160.11227 898 1 1 0.5707578 0.47545158 -174.45 - 62 134.78945 898 1 0 0.57645899 0.47757595 -175.85 - 62 163.46555 899 0 1 0.68671338 0.5194941 -204.45 - 62 141.6913 898 0 0 0.69112537 0.52466113 -205.85 -Number of digits in this event = 10 -Event: 63 -Number of tracker hits in this event = 6 - 63 140.50917 896 5 0 -0.079876706 0.066407198 -55.85 - 63 13.016468 911 2 0 -2.2473784 3.1256837 -145.85 - 63 28.305868 862 2 1 -7.1489172 6.6848797 -144.85 - 63 47.774505 933 2 0 -9.1899244 7.6012745 -145.85 - 63 390.91618 934 2 0 -9.2305592 7.6529076 -145.89106 - 63 72.983715 896 3 0 -0.22175668 0.12244708 -115.85 -Number of digits in this event = 3 -Event: 64 -Number of tracker hits in this event = 18 - 64 206.91537 896 5 1 0.10877663 0.12229284 -54.45 - 64 119.82212 896 5 0 0.12124645 0.13989738 -55.85 - 64 140.92434 898 4 1 0.45772083 0.5544695 -84.45 - 64 147.84544 898 4 0 0.47372892 0.56839214 -85.85 - 64 133.68797 899 3 1 0.80869988 0.85570865 -114.45 - 64 131.20137 900 3 0 0.82416543 0.86662616 -115.85 - 64 146.45233 901 2 1 1.1234449 1.0939856 -144.45 - 64 105.46325 901 2 0 1.1355669 1.1054091 -145.85 - 64 128.9507 902 1 1 1.3862881 1.3649388 -174.45 - 64 146.00111 902 1 0 1.3940519 1.3735201 -175.85 - 64 132.96999 903 0 1 1.5117298 1.5346118 -204.45 - 64 158.28091 903 0 0 1.5179721 1.5434615 -205.85 - 64 3539.0419 793 0 0 24.527835 -20.890013 -206.25 - 64 2151.4601 792 0 0 24.807306 -21.158548 -206.01913 - 64 996.33302 791 0 0 24.947259 -21.286508 -205.89701 - 64 3303.4108 1026 0 1 26.150285 -22.389259 -204.85 - 64 2480.8489 1027 0 1 26.27825 -22.503641 -204.72651 - 64 152.97177 896 6 0 -0.27455085 0.2207691 -25.85 -Number of digits in this event = 17 -Event: 65 -Number of tracker hits in this event = 15 - 65 223.59839 897 5 1 0.25626732 0.20191192 -54.45 - 65 120.15644 896 5 0 0.26745594 0.21542037 -55.85 - 65 142.71979 898 4 1 0.49416655 0.50644016 -84.45 - 65 158.6397 898 4 0 0.50463987 0.51665262 -85.85 - 65 122.07448 899 3 1 0.7124593 0.72083177 -114.45 - 65 120.10988 899 3 0 0.71906899 0.73340703 -115.85 - 65 133.66536 899 2 1 0.8371986 0.98838217 -144.45 - 65 124.39462 900 2 0 0.83887883 1.0026187 -145.85 - 65 161.16994 900 1 1 0.85742236 1.2974952 -174.45 - 65 107.13112 902 1 0 0.86581756 1.309907 -175.85 - 65 202.8345 900 0 1 1.0357911 1.5757697 -204.45 - 65 123.80356 903 0 0 1.0510594 1.5887551 -205.85 - 65 32.508337 896 5 1 0.20736667 0.15718677 -54.45 - 65 100.88944 898 5 1 0.45885957 0.18314743 -54.518115 - 65 56.407816 899 5 1 0.68030878 0.21417724 -54.477914 -Number of digits in this event = 12 -Event: 66 -Number of tracker hits in this event = 10 - 66 199.99085 897 4 1 0.38136504 0.056431692 -84.45 - 66 157.30801 896 4 0 0.39637154 0.067057533 -85.85 - 66 121.31675 899 3 1 0.69493923 0.27076871 -114.45 - 66 158.65699 897 3 0 0.71355372 0.28134698 -115.85 - 66 110.1556 901 2 1 1.1176279 0.4896706 -144.45 - 66 191.83752 898 2 0 1.1348799 0.50045327 -145.85 - 66 308.35874 903 1 1 1.502645 0.7435911 -174.45 - 66 143.8601 899 1 0 1.5204528 0.75340224 -175.85 - 66 115.21819 905 0 1 1.8750337 0.94436427 -204.45 - 66 127.88686 900 0 0 1.8910082 0.95186463 -205.85 -Number of digits in this event = 9 -Event: 67 -Number of tracker hits in this event = 14 - 67 126.99424 896 5 1 0.10656493 0.085708954 -54.45 - 67 191.14766 896 5 0 0.10977424 0.10266941 -55.85 - 67 115.48169 896 4 1 0.1969144 0.44573302 -84.45 - 67 153.27279 898 4 0 0.20576997 0.46682874 -85.85 - 67 116.65023 897 3 1 0.38824367 0.90000876 -114.45 - 67 157.00263 900 3 0 0.39674075 0.92562013 -115.85 - 67 137.95981 898 2 1 0.57141683 1.4565423 -144.45 - 67 171.60145 903 2 0 0.57889981 1.4910394 -145.85 - 67 698.38869 897 1 1 0.44381404 2.5107571 -174.45 - 67 144.74686 908 1 0 0.44123036 2.557853 -175.85 - 67 119.57144 897 0 1 0.39469616 3.5214125 -204.45 - 67 482.73509 913 0 0 0.3921125 3.5741447 -205.85 - 67 766.45689 896 1 1 0.22815878 2.7459072 -174.66531 - 67 31.955251 898 1 1 0.45159437 4.7089678 -174.59532 -Number of digits in this event = 11 -Event: 68 -Number of tracker hits in this event = 7 - 68 114.68733 898 4 1 0.60217193 -0.087593826 -84.45 - 68 107.95998 900 3 1 0.93858051 -0.21574052 -114.45 - 68 120.58269 902 2 1 1.3700016 -0.35798158 -144.45 - 68 132.60578 905 1 1 1.9083083 -0.48180797 -174.45 - 68 139.17466 895 1 0 1.9354599 -0.48885156 -175.85 - 68 127.10988 908 0 1 2.4824121 -0.65832731 -204.45 - 68 178.29952 894 0 0 2.508534 -0.663654 -205.85 -Number of digits in this event = 6 -Event: 69 -Number of tracker hits in this event = 5 - 69 162.05284 895 3 1 -0.45013537 -0.16738422 -114.45 - 69 227.94099 895 2 1 -0.56506517 -0.15868738 -144.45 - 69 120.15972 895 1 1 -0.58986407 -0.097909959 -174.45 - 69 155.29146 895 0 1 -0.59036617 0.054191224 -204.45 - 69 129.52297 896 0 0 -0.59068043 0.058600105 -205.85 -Number of digits in this event = 6 -Event: 70 -Number of tracker hits in this event = 4 - 70 129.52997 897 1 1 0.3447998 0.052644925 -174.45 - 70 121.57738 896 1 0 0.34323291 0.054654528 -175.85 - 70 108.86283 897 0 1 0.27458632 0.13632886 -204.45 - 70 164.75063 896 0 0 0.27186129 0.13779441 -205.85 -Number of digits in this event = 4 -Event: 71 -Number of tracker hits in this event = 5 - 71 156.80071 896 4 1 0.11011474 -0.39324307 -84.45 - 71 130.77491 896 3 1 0.11968662 -0.69550459 -114.45 - 71 117.76249 894 3 0 0.11527894 -0.7122697 -115.85 - 71 144.93951 896 1 1 0.055321451 -1.3136708 -174.45 - 71 163.92055 891 1 0 0.052750834 -1.3268601 -175.85 -Number of digits in this event = 5 -Event: 72 -Number of tracker hits in this event = 3 - 72 262.04401 896 2 0 -0.089953865 0.20998842 -145.85 - 72 128.35108 896 0 1 0.061873057 0.91113815 -204.45 - 72 239.57131 900 0 0 0.066023081 0.93564472 -205.85 -Number of digits in this event = 4 -Event: 73 -Number of tracker hits in this event = 9 - 73 163.19732 893 0 0 0.05 -0.99718092 -205.9375 - 73 72.591385 894 1 0 0.05 -0.7018179 -176.03537 - 73 346.17991 895 1 0 0.15956475 -0.63928162 -176.07997 - 73 45.369287 894 6 0 0.57163486 -0.72936831 -25.85 - 73 102.2788 893 6 0 0.66392288 -0.85317968 -25.928266 - 73 94.45192 892 6 0 0.56351685 -1.0678228 -25.925029 - 73 84.482641 891 6 0 0.42363442 -1.2565375 -26.030726 - 73 118.2568 890 6 0 0.54651933 -1.4586098 -26.038186 - 73 222.14466 889 6 0 0.56201924 -1.6709843 -26.016993 -Number of digits in this event = 5 -Event: 74 -Number of tracker hits in this event = 6 - 74 144.07725 896 4 1 0.074877811 -0.19563723 -84.45 - 74 124.1015 896 3 1 0.068117184 -0.39998305 -114.45 - 74 113.6992 895 2 0 -0.064656423 -0.53792854 -145.85 - 74 109.05467 895 1 0 -0.27731057 -0.64321998 -175.85 - 74 144.30143 895 0 1 -0.49246463 -0.71529856 -204.45 - 74 123.48181 894 0 0 -0.50703907 -0.73120458 -205.85 -Number of digits in this event = 5 -Event: 75 -Number of tracker hits in this event = 7 - 75 181.55528 896 4 0 -0.19201398 0.094220628 -85.85 - 75 129.19579 897 3 0 -0.32258521 0.32230376 -115.85 - 75 103.97594 898 2 0 -0.41430646 0.5594411 -145.85 - 75 158.69678 895 1 1 -0.47416392 0.72063758 -174.45 - 75 149.29891 899 1 0 -0.47543233 0.72408709 -175.85 - 75 151.48633 895 0 1 -0.49859175 0.78220626 -204.45 - 75 251.38323 899 0 0 -0.49669246 0.77810881 -205.85 -Number of digits in this event = 9 -Event: 76 -Number of tracker hits in this event = 7 - 76 124.41684 896 5 1 0.1379981 -0.093680466 -54.45 - 76 163.34358 897 4 1 0.34930073 -0.22670766 -84.45 - 76 141.72024 898 3 1 0.61448742 -0.35194387 -114.45 - 76 120.66252 900 2 1 1.0299818 -0.4939854 -144.45 - 76 139.93702 895 2 0 1.0537992 -0.5024412 -145.85 - 76 149.22846 904 1 1 1.7608354 -0.37737252 -174.45 - 76 129.68816 908 0 1 2.5764967 -0.2505195 -204.45 -Number of digits in this event = 8 -Event: 77 -Number of tracker hits in this event = 4 - 77 130.17312 895 2 1 -0.45303852 -0.21253751 -144.45 - 77 193.85491 895 1 1 -0.58014386 -0.19491071 -174.45 - 77 120.57155 894 0 1 -0.74124871 -0.29944321 -204.45 - 77 99.219369 856 0 1 -8.3807051 167.15516 -204.78445 -Number of digits in this event = 4 -Event: 78 -Number of tracker hits in this event = 6 - 78 182.29177 896 5 1 0.065128953 0.05421626 -54.45 - 78 181.84189 896 5 0 0.067630947 0.053358438 -55.85 - 78 124.56848 896 4 1 0.14045623 0.054421041 -84.45 - 78 15.803103 896 4 0 0.13946244 0.050209044 -85.85 - 78 132.58202 896 3 1 0.11383036 -0.061115111 -114.45 - 78 158.14277 896 0 0 -0.14755991 0.17780932 -205.85 -Number of digits in this event = 6 -Event: 79 -Number of tracker hits in this event = 26 - 79 154.15173 896 4 0 -0.17797551 0.24367697 -85.85 - 79 120.78622 896 3 0 -0.35304089 0.21127169 -115.85 - 79 150.44022 895 2 1 -0.55176458 0.22417152 -144.45 - 79 361.31946 896 2 0 -0.55965379 0.22822534 -145.85 - 79 123.57654 894 1 1 -0.72156458 0.31045733 -174.45 - 79 195.42159 897 1 0 -0.73555522 0.3084764 -175.85 - 79 117.46043 893 0 1 -1.0086722 0.27476616 -204.45 - 79 241.58392 897 0 0 -1.0214005 0.27148806 -205.85 - 79 497.77564 710 1 0 5.8062805 -37.541087 -176.25 - 79 73.944619 709 1 0 5.7654183 -37.699647 -176.03459 - 79 98.824913 921 1 1 5.1874317 -38.753661 -174.85 - 79 97.616979 920 1 1 5.022899 -38.949877 -174.64152 - 79 18.80311 919 1 1 4.8236332 -39.16859 -174.49979 - 79 88.094716 951 2 0 34.247632 11.122968 -146.25 - 79 75.015901 952 2 0 34.424498 11.346079 -146.1402 - 79 190.41178 953 2 0 34.627682 11.514974 -146.00362 - 79 95.29621 954 2 0 35.247088 11.730212 -145.92457 - 79 1.6183397 955 2 0 35.447098 11.944019 -145.85113 - 79 65.153257 1080 2 1 36.975354 13.111414 -144.85 - 79 52.96825 1081 2 1 37.088222 13.163669 -144.80008 - 79 93.87183 1082 2 1 37.260892 13.180813 -144.70337 - 79 81.825519 1083 2 1 37.486374 13.262607 -144.54641 - 79 128.19369 1084 2 1 37.656143 13.261844 -144.52657 - 79 115.11927 968 2 0 37.605603 14.513108 -145.85 - 79 249.18155 969 2 0 37.495352 14.670996 -146.0465 - 79 105.01202 970 2 0 37.565931 14.85673 -146.13522 -Number of digits in this event = 13 -Event: 80 -Number of tracker hits in this event = 9 - 80 237.74612 896 5 0 -0.09693373 0.053452432 -55.85 - 80 140.03947 896 4 0 -0.17534818 0.10558848 -85.85 - 80 133.5432 897 3 0 -0.40869414 0.38294157 -115.85 - 80 161.0925 894 2 1 -0.71535643 0.61282019 -144.45 - 80 176.01709 898 2 0 -0.7297798 0.62100835 -145.85 - 80 182.22202 893 1 1 -1.0351784 0.81098844 -174.45 - 80 128.71827 899 1 0 -1.0550062 0.8244909 -175.85 - 80 115.56957 890 0 1 -1.476935 1.1038183 -204.45 - 80 115.37795 901 0 0 -1.4971379 1.1173423 -205.85 -Number of digits in this event = 8 -Event: 81 -Number of tracker hits in this event = 7 - 81 133.57224 895 2 1 -0.47266725 -0.71513232 -144.45 - 81 127.18156 894 2 0 -0.43621211 -0.77102546 -145.85 - 81 128.59806 897 1 1 0.323386 -1.9189376 -174.45 - 81 337.83775 888 1 0 0.35889259 -1.9687811 -175.85 - 81 154.77818 901 0 1 1.0843757 -2.969607 -204.45 - 81 177.50555 883 0 0 1.1223549 -3.0147224 -205.85 - 81 39.054797 887 1 0 0.37362127 -2.0562565 -176.23838 -Number of digits in this event = 7 -Event: 82 -Number of tracker hits in this event = 8 - 82 145.65382 895 3 0 -0.39796071 -0.48224092 -115.85 - 82 118.19852 894 2 1 -0.65659398 -0.80668088 -144.45 - 82 153.01805 894 2 0 -0.67049295 -0.83587755 -145.85 - 82 135.65135 893 1 1 -0.96674756 -1.4454031 -174.45 - 82 159.15782 890 1 0 -0.98180884 -1.4718876 -175.85 - 82 127.60656 891 0 1 -1.2922396 -2.0183614 -204.45 - 82 93.624327 888 0 0 -1.3117323 -2.0457304 -205.85 - 82 61.92628 887 0 0 -1.314957 -2.0501443 -206.07857 -Number of digits in this event = 6 -Event: 83 -Number of tracker hits in this event = 3 - 83 140.07332 896 4 1 0.11193437 -0.11278791 -84.45 - 83 148.07359 897 3 1 0.29027602 -0.1527156 -114.45 - 83 134.59712 898 2 1 0.5735506 -0.10241735 -144.45 -Number of digits in this event = 4 -Event: 84 -Number of tracker hits in this event = 12 - 84 127.78127 896 4 0 -0.17478154 0.13800473 -85.85 - 84 131.6844 896 3 0 -0.45118296 0.18752889 -115.85 - 84 179.20082 895 2 1 -0.4806136 0.16099079 -144.45 - 84 134.99902 896 2 0 -0.47745539 0.16105747 -145.85 - 84 166.46267 896 1 0 -0.38739629 0.14701887 -175.85 - 84 132.41832 896 0 0 -0.31921858 0.16160677 -205.85 - 84 54.229859 1197 1 0 -74.557732 60.410067 -176.25 - 84 33.43226 1195 9 0 25.614922 59.858569 64.056626 - 84 217.11235 1025 9 1 25.895687 60.103808 65.15 - 84 324.36313 1024 9 1 25.847328 60.271616 65.534972 - 84 222.76524 895 3 1 -0.46480701 0.17946929 -114.82128 - 84 85.966178 894 3 1 -0.65105021 -0.28298729 -114.49465 -Number of digits in this event = 12 -Event: 85 -Number of tracker hits in this event = 6 - 85 128.06243 896 2 1 0.18173453 0.1855184 -144.45 - 85 174.39611 896 2 0 0.18552894 0.19247637 -145.85 - 85 216.41137 896 1 1 0.23922187 0.34207304 -174.45 - 85 142.00299 897 1 0 0.24316929 0.34904778 -175.85 - 85 259.01665 897 0 1 0.41771423 0.50300512 -204.45 - 85 179.48556 898 0 0 0.42277758 0.51213893 -205.85 -Number of digits in this event = 7 -Event: 86 -Number of tracker hits in this event = 6 - 86 170.28736 894 3 1 -0.73583048 -0.33877525 -114.45 - 86 147.27766 893 2 1 -1.0052158 -0.40777921 -144.45 - 86 210.51024 891 1 1 -1.3324887 -0.48498521 -174.45 - 86 126.16296 895 1 0 -1.3428337 -0.48931833 -175.85 - 86 136.42606 890 0 1 -1.5420173 -0.58414684 -204.45 - 86 133.71313 895 0 0 -1.5506604 -0.57395284 -205.85 -Number of digits in this event = 8 -Event: 87 -Number of tracker hits in this event = 5 - 87 182.92369 896 4 0 -0.20793655 0.17627274 -85.85 - 87 126.44445 896 3 0 -0.24091769 0.21596087 -115.85 - 87 127.41149 896 2 0 -0.28010005 0.18352648 -145.85 - 87 136.0227 896 1 0 -0.22786562 0.19076583 -175.85 - 87 165.82002 896 0 0 -0.18218658 0.096323345 -205.85 -Number of digits in this event = 6 -Event: 88 -Number of tracker hits in this event = 5 - 88 113.16665 896 3 1 0.092259228 -0.23466294 -114.45 - 88 205.81065 896 2 1 0.1367471 -0.31433057 -144.45 - 88 111.74138 896 1 1 0.090325275 -0.36096874 -174.45 - 88 268.24175 896 0 1 0.11210209 -0.5119564 -204.45 - 88 129.19461 895 0 0 0.11603079 -0.52044548 -205.85 -Number of digits in this event = 4 -Event: 89 -Number of tracker hits in this event = 18 - 89 119.57983 895 2 1 -0.48156015 -0.40260214 -144.45 - 89 364.32211 895 1 1 -0.58392619 -0.73232579 -174.45 - 89 136.30978 894 1 0 -0.58864972 -0.74603956 -175.85 - 89 132.65251 894 0 1 -0.67386585 -1.0090542 -204.45 - 89 123.71732 893 0 0 -0.67823677 -1.0239411 -205.85 - 89 48.555953 888 0 0 1.0817483 -1.9692034 -205.85 - 89 47.390768 907 0 1 2.3106523 -0.28957868 -204.85 - 89 208.21942 903 0 0 5.8367479 1.6383289 -205.85 - 89 51.970797 904 0 0 5.859517 1.6523034 -205.85951 - 89 85.105294 899 5 0 -0.05 0.65067411 -55.953346 - 89 39.122112 900 5 0 -0.11332364 0.89822361 -56.165595 - 89 35.632449 1350 5 0 31.876123 91.517847 -56.25 - 89 83.500874 1351 5 0 31.90892 91.578315 -56.205077 - 89 144.41186 1352 5 0 32.047145 91.75981 -56.113082 - 89 244.95761 1353 5 0 32.092457 92.000704 -55.965146 - 89 156.11677 1354 5 0 31.805647 92.152753 -55.898827 - 89 70.222316 1118 5 0 -11.921304 44.56435 -56.25 - 89 95.579531 1117 5 0 -12.008793 44.441088 -56.200603 -Number of digits in this event = 9 -Event: 90 -Number of tracker hits in this event = 5 - 90 121.88939 896 4 1 0.13050745 -0.60715063 -84.45 - 90 135.61071 895 4 0 0.12981214 -0.63464963 -85.85 - 90 135.43261 896 3 1 0.089561691 -1.1952663 -114.45 - 90 155.41078 892 3 0 0.085889887 -1.2173336 -115.85 - 90 143.84212 896 2 1 0.05 -1.6707788 -144.76508 -Number of digits in this event = 6 -Event: 91 -Number of tracker hits in this event = 9 - 91 142.27575 896 4 1 0.078439794 0.23924631 -84.45 - 91 128.83799 896 4 0 0.077443127 0.246305 -85.85 - 91 108.53785 897 3 0 0.050659242 0.41916683 -115.85 - 91 108.37013 896 2 1 0.12425495 0.57302099 -144.45 - 91 159.21571 898 2 0 0.12926313 0.58277779 -145.85 - 91 130.02741 896 1 1 0.20912674 0.78397166 -174.45 - 91 132.6373 899 1 0 0.22058308 0.79447225 -175.85 - 91 136.88343 898 0 1 0.47168773 1.0042351 -204.45 - 91 142.22869 900 0 0 0.48128779 1.0121093 -205.85 -Number of digits in this event = 8 -Event: 92 -Number of tracker hits in this event = 5 - 92 121.43498 892 3 0 -0.11393657 -1.1580739 -115.85 - 92 126.91658 889 2 0 -0.26085548 -1.7169226 -145.85 - 92 335.21682 895 1 1 -0.46824705 -2.3337295 -174.45 - 92 119.7537 885 1 0 -0.4555729 -2.4573324 -175.85 - 92 113.13125 872 0 0 -0.19057432 -5.0804903 -205.85 -Number of digits in this event = 4 -Event: 93 -Number of tracker hits in this event = 3 - 93 151.50173 896 4 1 0.14079647 -0.10720169 -84.45 - 93 116.47994 897 3 1 0.27574364 -0.16087608 -114.45 - 93 141.02312 894 0 1 -0.66202802 -0.069666391 -204.45 -Number of digits in this event = 3 -Event: 94 -Number of tracker hits in this event = 12 - 94 266.623 896 5 1 0.05 0.050173832 -54.813166 - 94 126.36571 889 4 1 -1.8004038 -0.5812494 -84.45 - 94 205.73731 895 4 0 -1.8953299 -0.60779918 -85.85 - 94 98.176189 879 3 1 -3.8483318 -1.136751 -114.45 - 94 113.92739 878 3 1 -3.8557786 -1.1389746 -114.56428 - 94 135.50168 892 3 0 -3.9392337 -1.1643022 -115.85 - 94 132.47898 869 2 1 -5.802979 -1.7537417 -144.45 - 94 147.62488 889 2 0 -5.8941735 -1.7833942 -145.85 - 94 117.01851 859 1 1 -7.7473629 -2.3767884 -174.45 - 94 141.18287 886 1 0 -7.8302168 -2.4030659 -175.85 - 94 137.67136 850 0 1 -9.5212996 -2.8877449 -204.45 - 94 154.88217 883 0 0 -9.6020146 -2.9097498 -205.85 -Number of digits in this event = 10 -Event: 95 -Number of tracker hits in this event = 8 - 95 151.75261 897 3 1 0.26159131 -0.44230709 -114.45 - 95 239.81323 895 3 0 0.27901747 -0.4652281 -115.85 - 95 118.85849 899 2 1 0.65926608 -0.94315489 -144.45 - 95 125.16768 893 2 0 0.67994041 -0.9688541 -145.85 - 95 129.0277 901 1 1 1.1084084 -1.4928392 -174.45 - 95 153.85999 890 1 0 1.1209189 -1.5218351 -175.85 - 95 149.22854 902 0 1 1.3655367 -2.1142933 -204.45 - 95 131.88654 887 0 0 1.3731958 -2.1380785 -205.85 -Number of digits in this event = 8 -Event: 96 -Number of tracker hits in this event = 2 - 96 134.21536 896 2 0 -0.33201709 0.087654876 -145.85 - 96 176.59863 893 0 1 -0.86353712 -0.055232205 -204.45 -Number of digits in this event = 3 -Event: 97 -Number of tracker hits in this event = 12 - 97 107.79162 896 5 1 0.12341108 0.064650345 -54.45 - 97 150.67976 896 5 0 0.12566868 0.074147881 -55.85 - 97 199.84719 896 4 1 0.16503477 0.2821645 -84.45 - 97 156.31484 897 4 0 0.17106126 0.29389441 -85.85 - 97 122.75716 897 3 1 0.29078883 0.53701694 -114.45 - 97 123.19194 898 3 0 0.29388267 0.54981862 -115.85 - 97 151.28243 897 2 1 0.34260816 0.82962232 -144.45 - 97 260.57941 899 2 0 0.34088092 0.84381732 -145.85 - 97 138.59186 897 1 1 0.30296135 1.1117675 -174.45 - 97 123.36026 901 1 0 0.30529147 1.129394 -175.85 - 97 131.23667 897 0 1 0.37811946 1.4734037 -204.45 - 97 178.16488 903 0 0 0.38306167 1.493766 -205.85 -Number of digits in this event = 14 -Event: 98 -Number of tracker hits in this event = 9 - 98 136.93872 896 5 1 0.07773493 -0.13656107 -54.45 - 98 76.263466 896 4 1 0.24861605 -0.19701081 -84.45 - 98 46.258512 897 4 1 0.25022866 -0.19732258 -84.678571 - 98 102.01744 897 3 1 0.44829206 -0.27040212 -114.45 - 98 16.714653 898 3 1 0.45042374 -0.26977731 -114.79286 - 98 179.90662 899 2 1 0.65026131 -0.20174298 -144.45 - 98 127.3881 899 1 1 0.74382927 -0.10105366 -174.45 - 98 112.22802 900 0 1 0.8576166 0.1069961 -204.45 - 98 143.37834 896 0 0 0.86537328 0.12146291 -205.85 -Number of digits in this event = 5 -Event: 99 -Number of tracker hits in this event = 10 - 99 122.83535 896 4 1 0.12218282 0.14138294 -84.45 - 99 136.33875 896 4 0 0.13016073 0.14353319 -85.85 - 99 163.02344 897 3 1 0.29624082 0.19498713 -114.45 - 99 139.58902 896 3 0 0.30199379 0.1958727 -115.85 - 99 123.8689 897 2 1 0.40461786 0.20655164 -144.45 - 99 206.61404 896 2 0 0.40971436 0.20488878 -145.85 - 99 128.60613 898 1 1 0.53840936 0.16263734 -174.45 - 99 130.45953 896 1 0 0.54846742 0.15830055 -175.85 - 99 136.3179 899 0 1 0.77436334 0.086953524 -204.45 - 99 383.73053 896 0 0 0.78945639 0.078356336 -205.85 -Number of digits in this event = 11 -Run terminated. -Run Summary - Number of events processed : 100 - User=2.03s Real=2.19s Sys=0.03s -End of Run -File Tracks_3.dat -/vis/viewer/update -ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. -/gun/particle gamma -/gun/energy 1 GeV -/gun/sourceType 2 -/run/beamOn 100 - -========= Table of registered couples ============================== - -Index : 0 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : Scintillator - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 2 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Calorimeter - -Index : 3 used in the geometry : Yes recalculation needed : No - Material : CesiumIodide - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 38.405229 keV e- 691.66869 keV e+ 658.43466 keV - Region(s) which use this couple : - Calorimeter - -Index : 4 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Tracker - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : Silicon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.3033387 keV e- 120.42458 keV e+ 118.95119 keV - Region(s) which use this couple : - Tracker - -Index : 6 used in the geometry : Yes recalculation needed : No - Material : Tungsten - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 36.047857 keV e- 351.43773 keV e+ 334.55147 keV - Region(s) which use this couple : - Tracker - -==================================================================== - -/vis/scene/notifyHandlers -WARNING: Scene "refresh" not found. - /vis/scene/list to see scenes. -Start Run processing. -Event: 0 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 1 -Number of tracker hits in this event = 1 - 1 91.781448 246 8 1 -130.89667 -22.488602 35.15 -Number of digits in this event = 1 -Event: 2 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 3 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 4 -Number of tracker hits in this event = 4 - 4 117.27486 896 3 1 0.12539831 -0.061158637 -114.45 - 4 104.02264 897 2 1 0.26299289 -0.081988018 -144.45 - 4 144.16597 897 1 1 0.35210836 -0.20900177 -174.45 - 4 196.73524 898 0 1 0.53306031 -0.32092416 -204.45 -Number of digits in this event = 3 -Event: 5 -Number of tracker hits in this event = 1 - 5 1.6423199 1567 1 1 134.87436 -27.536716 -174.85 -Number of digits in this event = 2 -Event: 6 -Number of tracker hits in this event = 2 - 6 107.87115 1483 3 0 -35.800262 118.02068 -116.25 - 6 116.40011 1340 3 0 -86.49868 88.920656 -116.25 -Number of digits in this event = 1 -Event: 7 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 8 -Number of tracker hits in this event = 13 - 8 110.1073 896 5 1 0.071103295 0.10107331 -54.45 - 8 139.11375 896 5 0 0.081921907 0.12155015 -55.85 - 8 167.00555 897 4 1 0.3150493 0.51708404 -84.45 - 8 111.53346 898 4 0 0.28089742 0.52347424 -85.85 - 8 114.9547 898 3 0 -0.32135275 0.57753559 -115.85 - 8 123.7623 895 2 1 -0.48909074 0.82054072 -144.45 - 8 175.83639 899 2 0 -0.48402596 0.79002926 -145.85 - 8 236.34641 897 1 0 -0.336891 0.30151019 -175.85 - 8 249.34925 898 0 1 0.6074574 0.72348589 -204.45 - 8 178.02169 899 0 0 0.62620497 0.78117598 -205.85 - 8 183.27566 1668 2 0 -54.999871 154.99387 -146.25 - 8 191.46077 625 2 1 -54.595286 155.21827 -144.85 - 8 28.470502 626 2 1 -54.440143 155.29397 -144.56452 -Number of digits in this event = 11 -Event: 9 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 10 -Number of tracker hits in this event = 12 - 10 102.37733 1319 5 0 87.402082 84.763698 -56.25 - 10 47.281228 1318 5 0 87.451962 84.624735 -56.019831 - 10 163.8903 1334 5 1 87.683632 84.201566 -54.85 - 10 87.212385 1333 5 1 87.618847 84.233703 -54.528512 - 10 119.69097 1332 5 1 87.410565 84.347735 -54.649809 - 10 76.387824 1331 5 1 87.190572 84.493525 -54.711036 - 10 96.793183 1330 5 1 86.939896 84.57224 -54.783112 - 10 127.67387 1329 5 1 86.814898 84.677546 -54.798568 - 10 194.38253 1328 5 1 86.62806 85.007643 -54.679647 - 10 41.102754 1320 5 0 86.24928 85.003028 -55.85 - 10 75.971655 1321 5 0 86.227388 85.050735 -55.860559 - 10 42.425244 963 6 1 13.521887 5.005625 -24.85 -Number of digits in this event = 4 -Event: 11 -Number of tracker hits in this event = 0 -Number of digits in this event = 2 -Event: 12 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 13 -Number of tracker hits in this event = 15 - 13 103.46427 900 5 1 0.9860989 -0.33417457 -54.45 - 13 137.81452 906 4 1 2.1135892 -0.11065724 -84.45 - 13 150.12933 930 3 1 6.8742135 -1.2764715 -114.45 - 13 115.55479 890 3 0 7.131957 -1.5248252 -115.85 - 13 126.41735 959 2 1 12.744453 -5.8600573 -144.45 - 13 31.068439 868 2 0 13.141161 -6.0425253 -145.85 - 13 238.00322 867 2 0 13.174313 -6.0577992 -145.96397 - 13 144.30402 1004 1 1 21.705582 -10.4482 -174.45 - 13 124.75234 844 1 0 22.120205 -10.751253 -175.85 - 13 111.43108 1052 0 1 31.274897 -17.51494 -204.45 - 13 93.496965 808 0 0 31.505426 -17.959322 -205.85 - 13 28.270345 807 0 0 31.562167 -18.067838 -206.1931 - 13 1.8285 717 0 0 28.520334 -36.173477 -205.85 - 13 56.2875 710 0 0 28.488798 -37.581383 -206.08615 - 13 130.47507 866 2 0 13.217151 -6.2586195 -146.11593 -Number of digits in this event = 8 -Event: 14 -Number of tracker hits in this event = 1 - 14 130.41323 490 6 1 -81.564773 -65.484447 -24.474124 -Number of digits in this event = 2 -Event: 15 -Number of tracker hits in this event = 1 - 15 280.19387 559 7 0 114.56771 -67.731437 4.0581365 -Number of digits in this event = 3 -Event: 16 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 17 -Number of tracker hits in this event = 1 - 17 26.829544 1065 0 1 33.851115 141.65247 -204.84812 -Number of digits in this event = 1 -Event: 18 -Number of tracker hits in this event = 1 - 18 61.472627 138 4 1 -152.44476 149.89884 -84.463809 -Number of digits in this event = 1 -Event: 19 -Number of tracker hits in this event = 2 - 19 94.938537 512 10 0 -144.5701 -77.108548 93.75 - 19 8.9309414 128 10 1 -154.41489 -78.824007 95.55 -Number of digits in this event = 1 -Event: 20 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 21 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 22 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 23 -Number of tracker hits in this event = 4 - 23 22.534047 364 5 1 -107.3312 90.654295 -54.595891 - 23 180.71256 363 5 1 -107.35906 90.676445 -54.550374 - 23 87.496231 362 5 1 -107.56468 90.834783 -54.688183 - 23 203.913 1332 5 0 -102.94624 87.35922 -56.058471 -Number of digits in this event = 3 -Event: 24 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 25 -Number of tracker hits in this event = 11 - 25 74.610916 1077 1 0 -151.57991 36.283236 -176.13292 - 25 59.673648 1076 1 0 -151.55323 36.194482 -175.98086 - 25 450.60937 145 1 1 -151.09005 35.569847 -174.85 - 25 44.934928 146 1 1 -150.94264 35.340622 -174.54189 - 25 376.50135 144 1 1 -151.21186 34.805082 -174.54734 - 25 12.448258 1059 1 0 -150.75925 32.650894 -175.85 - 25 99.967943 1058 1 0 -150.74976 32.622372 -175.88123 - 25 67.075608 1057 1 0 -150.79106 32.434041 -176.09574 - 25 188.97625 1218 3 1 64.514272 -123.86854 -114.63652 - 25 28.761815 1217 3 1 64.420171 -123.93921 -114.78024 - 25 129.3328 280 3 0 63.793979 -124.09451 -115.85 -Number of digits in this event = 6 -Event: 26 -Number of tracker hits in this event = 1 - 26 57.29951 1323 0 0 96.243748 85.552565 -206.25 -Number of digits in this event = 1 -Event: 27 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 28 -Number of tracker hits in this event = 2 - 28 103.91622 896 0 1 0.087267023 -0.066333984 -204.45 - 28 119.74617 896 1 0 -0.05 0.078965812 -176.15125 -Number of digits in this event = 2 -Event: 29 -Number of tracker hits in this event = 4 - 29 139.86914 892 1 1 -1.2088569 -0.19712754 -174.45 - 29 124.65747 887 0 1 -2.1376714 -0.83141024 -204.45 - 29 98.597658 893 0 0 -2.2109191 -0.89938688 -205.85 - 29 22.763828 673 0 0 -25.829374 -44.902987 -206.25 -Number of digits in this event = 4 -Event: 30 -Number of tracker hits in this event = 23 - 30 86.918709 895 3 1 -0.52330907 -0.2615855 -114.45 - 30 141.71657 894 3 0 0.05 -0.70836816 -115.85317 - 30 198.89329 979 2 1 16.675957 -12.184005 -144.45 - 30 150.4472 981 2 1 17.161388 -11.83647 -144.58258 - 30 182.92958 984 2 1 17.730019 -11.616235 -144.62749 - 30 126.14355 986 2 1 18.21051 -11.275513 -144.79117 - 30 102.50465 894 2 0 32.320851 -0.82113948 -145.85 - 30 149.94076 895 2 0 32.60706 -0.58659763 -145.88079 - 30 174.37308 896 2 0 33.595218 0.05 -145.96472 - 30 136.30071 1046 2 0 175.93463 30.161572 -146.25 - 30 270.54047 1047 2 0 176.25199 30.254642 -146.17215 - 30 85.958893 1048 2 0 176.84115 30.603518 -145.99538 - 30 119.52391 1049 2 0 177.15838 30.747123 -145.93367 - 30 98.070718 1050 2 0 177.43934 30.958974 -145.89094 - 30 193.69333 1051 2 0 177.76592 31.087362 -145.86339 - 30 94.91151 1052 2 0 178.42489 31.331728 -145.87755 - 30 107.68553 1053 2 0 178.73683 31.500301 -145.88344 - 30 31.529184 1502 3 0 -37.402262 121.89601 -116.25 - 30 14.243905 896 6 0 112.604 0.088620588 -25.889834 - 30 250.08967 1455 6 1 112.54605 0.70641938 -24.85 - 30 108.02896 890 1 1 -1.5805543 -0.084786169 -174.45 - 30 88.094265 891 1 1 -1.4445776 -0.31298714 -174.5169 - 30 189.42471 892 1 1 -1.2296265 -0.4457887 -174.55615 -Number of digits in this event = 14 -Event: 31 -Number of tracker hits in this event = 20 - 31 119.12059 896 0 1 0.17263695 0.15710049 -204.45 - 31 125.42987 896 0 0 0.18722989 0.17341711 -205.85 - 31 63.573197 1079 4 1 36.76741 25.387355 -84.642779 - 31 46.501618 1080 4 1 36.98853 25.350795 -84.45 - 31 180.79514 1081 4 1 37.10976 25.372229 -84.572813 - 31 49.695333 1017 4 0 36.092017 24.349187 -85.85 - 31 110.37549 1016 4 0 36.00002 24.246842 -85.98546 - 31 123.83133 977 4 0 15.974202 16.313677 -86.25 - 31 526.21046 973 4 1 15.517155 16.012745 -84.85 - 31 129.06055 1370 2 0 8.0002315 95.54165 -146.25 - 31 145.27446 1369 2 0 8.2341538 95.217185 -146.21275 - 31 76.117651 1368 2 0 8.2870994 95.089634 -146.249 - 31 80.423318 1367 2 0 8.6784369 94.940439 -145.9846 - 31 170.68243 942 2 1 9.2500944 94.430147 -144.85 - 31 202.43753 943 2 1 9.4500523 94.185532 -144.54502 - 31 151.73499 944 2 1 9.6613503 93.858373 -144.52591 - 31 108.13333 363 10 0 104.83461 -107.44484 93.75 - 31 41.060569 362 10 0 105.02059 -107.61438 94.057726 - 31 92.051654 1421 10 1 105.63862 -108.51376 95.15 - 31 88.88962 1422 10 1 105.76055 -108.62615 95.330095 -Number of digits in this event = 11 -Event: 32 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 33 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 34 -Number of tracker hits in this event = 7 - 34 95.855244 896 3 1 0.083290554 -0.15825278 -114.45 - 34 101.63001 904 1 1 1.7431842 -0.98973521 -174.45 - 34 107.14036 893 1 0 1.8732118 -1.0280811 -175.85 - 34 27.372971 917 0 1 4.4478985 -1.7554391 -204.45 - 34 109.03428 918 0 1 4.4619727 -1.7587681 -204.56424 - 34 105.44424 889 0 0 4.6184115 -1.8124088 -205.85 - 34 108.9775 759 1 0 34.401412 -27.728018 -176.25 -Number of digits in this event = 2 -Event: 35 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 36 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 37 -Number of tracker hits in this event = 9 - 37 194.73456 898 2 1 0.56625664 0.18227093 -144.45 - 37 127.72805 896 2 0 0.59665234 0.1896361 -145.85 - 37 144.96269 901 1 1 1.2029353 0.38954406 -174.45 - 37 254.9399 897 1 0 1.2355364 0.40734658 -175.85 - 37 90.61736 905 0 1 1.9973241 0.7068239 -204.45 - 37 110.21995 899 0 0 2.0104893 0.73444989 -205.85 - 37 125.27779 899 1 1 0.82509799 0.34550191 -174.45 - 37 91.832876 910 0 1 2.9060702 0.90924661 -204.45 - 37 111.62026 900 0 0 2.9191183 0.92099431 -205.85 -Number of digits in this event = 9 -Event: 38 -Number of tracker hits in this event = 6 - 38 125.40145 897 1 1 0.43266484 0.1341432 -174.45 - 38 169.23456 896 1 0 0.44141473 0.15787788 -175.85 - 38 121.46883 897 0 1 0.42731243 0.60410107 -204.45 - 38 179.45857 898 0 0 0.41396887 0.63161849 -205.85 - 38 24.924086 210 6 0 33.771396 -137.98909 -26.25 - 38 15.036708 211 6 0 33.733812 -137.94872 -26.235791 -Number of digits in this event = 5 -Event: 39 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 40 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 41 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 42 -Number of tracker hits in this event = 6 - 42 167.02575 862 0 0 -121.25094 -7.1643071 -206.25 - 42 30.269234 292 0 1 -121.71508 -6.7600463 -204.85 - 42 249.37606 291 0 1 -121.75051 -6.7209763 -204.79777 - 42 149.70568 290 0 1 -121.95143 -6.3424703 -204.63812 - 42 17.856758 289 0 1 -122.15278 -6.2676518 -204.82478 - 42 302.235 867 0 0 -122.64237 -6.1530078 -205.85 -Number of digits in this event = 5 -Event: 43 -Number of tracker hits in this event = 1 - 43 165.98032 1621 5 1 145.67574 30.939425 -54.722851 -Number of digits in this event = 2 -Event: 44 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 45 -Number of tracker hits in this event = 20 - 45 140.76816 890 5 1 -1.5804805 -0.51673647 -54.45 - 45 133.85014 894 5 0 -1.8795824 -0.70932575 -55.85 - 45 125.42386 861 4 1 -7.3344246 -3.8258082 -84.45 - 45 100.05041 878 4 0 -7.1731812 -3.9987079 -85.85 - 45 33.748913 879 3 1 -3.7054099 -10.213657 -114.45 - 45 99.859317 880 3 1 -3.6443067 -10.231944 -114.56334 - 45 92.183587 846 3 0 -2.8971908 -10.416696 -115.85 - 45 113.33944 845 3 0 -2.7615956 -10.45761 -116.07519 - 45 117.10051 983 2 1 17.562876 -17.661055 -144.45 - 45 174.18049 810 2 0 17.847583 -17.611561 -145.85 - 45 98.185212 1004 1 1 21.775737 -14.843037 -174.45 - 45 144.95954 822 1 0 21.326706 -15.124829 -175.85 - 45 148.39319 962 0 1 13.377219 -25.136101 -204.45 - 45 124.4898 961 0 1 13.216063 -25.456232 -204.73364 - 45 39.072705 764 0 0 12.177915 -26.834424 -205.85 - 45 65.019905 763 0 0 12.068337 -26.977748 -205.95575 - 45 44.061751 762 0 0 11.964421 -27.126385 -206.05987 - 45 65.019333 761 0 0 11.851128 -27.271595 -206.15892 - 45 209.9982 984 2 1 17.652228 -17.652125 -144.81699 - 45 171.89062 812 2 0 17.517677 -17.19284 -145.85 -Number of digits in this event = 10 -Event: 46 -Number of tracker hits in this event = 12 - 46 96.551469 896 3 1 0.090973865 -0.63965093 -114.45 - 46 56.441661 895 3 0 0.093408983 -0.64906311 -115.85 - 46 41.078731 894 3 0 0.093679789 -0.65022711 -116.07857 - 46 111.17256 896 2 1 0.19480913 -0.6258858 -144.45 - 46 138.91803 895 2 0 0.19429329 -0.62175689 -145.85 - 46 130.64444 896 1 1 0.16347873 -0.57093134 -174.45 - 46 207.03839 895 1 0 0.16691507 -0.53526656 -175.85 - 46 115.34935 896 0 1 0.23776465 0.21988933 -204.45 - 46 111.84933 897 0 0 0.23105641 0.2609408 -205.85 - 46 15.031598 524 1 1 -74.847427 22.130515 -174.45 - 46 75.179623 523 1 1 -74.85066 22.122756 -174.46541 - 46 278.48238 629 1 0 17.536024 -53.684617 -176.25 -Number of digits in this event = 7 -Event: 47 -Number of tracker hits in this event = 17 - 47 110.04551 896 3 1 0.21089005 0.16754223 -114.45 - 47 145.60456 896 3 0 0.236852 0.17660898 -115.85 - 47 147.07403 899 2 1 0.83626715 0.5265262 -144.45 - 47 186.50723 898 2 0 0.88181647 0.55818697 -145.85 - 47 174.45217 904 1 1 1.8061685 1.2850413 -174.45 - 47 116.84285 902 1 0 1.8612725 1.3094439 -175.85 - 47 143.17505 911 0 1 3.1297749 1.7641552 -204.45 - 47 104.67136 904 0 0 3.19037 1.7872842 -205.85 - 47 24.140821 1687 2 0 78.040208 158.89425 -146.25 - 47 76.35351 1688 2 0 78.06516 158.96441 -146.22418 - 47 142.93728 1689 2 0 78.162211 159.15917 -146.141 - 47 76.602256 1690 2 0 78.238056 159.38627 -146.14265 - 47 32.162433 1691 2 0 78.266188 159.60817 -146.18409 - 47 67.925065 903 0 1 1.6297759 0.80731669 -204.45 - 47 50.622376 904 0 1 1.6643495 0.78619681 -204.67908 - 47 109.61675 899 0 0 1.8490615 0.67531403 -205.85 - 47 12.006972 898 0 0 1.9032534 0.63947043 -206.19255 -Number of digits in this event = 9 -Event: 48 -Number of tracker hits in this event = 1 - 48 57.994076 694 4 1 -40.748922 -40.748318 -84.611799 -Number of digits in this event = 1 -Event: 49 -Number of tracker hits in this event = 1 - 49 106.1711 717 5 0 120.38273 -36.162333 -56.25 -Number of digits in this event = 1 -Event: 50 -Number of tracker hits in this event = 2 - 50 115.00818 896 0 1 0.16844578 0.096577516 -204.45 - 50 110.61859 896 0 0 0.17543275 0.096297698 -205.85 -Number of digits in this event = 2 -Event: 51 -Number of tracker hits in this event = 1 - 51 103.21336 893 0 0 -0.24685411 -0.9725446 -205.85 -Number of digits in this event = 1 -Event: 52 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 53 -Number of tracker hits in this event = 15 - 53 108.72669 896 5 1 0.075002441 -0.27605015 -54.45 - 53 118.35611 897 4 1 0.34141155 -0.65376406 -84.45 - 53 162.75131 894 4 0 0.37700861 -0.66403469 -85.85 - 53 118.79411 901 3 1 1.0736706 -0.89021435 -114.45 - 53 101.29289 893 3 0 1.1168552 -0.91567823 -115.85 - 53 120.92726 905 2 1 1.9220563 -1.4187124 -144.45 - 53 133.64745 891 2 0 1.9814785 -1.4386042 -145.85 - 53 177.91907 912 1 1 3.2526952 -1.7930988 -174.45 - 53 102.22023 889 1 0 3.3365034 -1.794394 -175.85 - 53 199.67333 920 0 1 4.8645945 -1.8306196 -204.45 - 53 119.39169 889 0 0 4.9183082 -1.8107826 -205.85 - 53 123.25224 1266 3 1 74.099824 143.22474 -114.81807 - 53 219.06068 1265 3 1 74.047694 143.3405 -114.76845 - 53 130.83534 914 6 0 1.0895349 3.726104 -26.25 - 53 20.293451 915 6 0 0.85732117 3.8573316 -25.921073 -Number of digits in this event = 9 -Event: 54 -Number of tracker hits in this event = 25 - 54 421.03371 898 4 0 -0.35242164 0.62066334 -85.85 - 54 103.73301 894 3 1 -0.79306597 0.69736614 -114.45 - 54 157.32838 899 3 0 -0.84102088 0.75032955 -115.85 - 54 115.79605 889 2 1 -1.6668126 1.8840832 -144.45 - 54 107.18766 905 2 0 -1.6499112 1.9162221 -145.85 - 54 223.00053 892 1 1 -1.2048669 2.600693 -174.45 - 54 110.13043 908 1 0 -1.1819362 2.5968052 -175.85 - 54 119.94645 894 0 1 -0.79005333 2.3816149 -204.45 - 54 114.80752 907 0 0 -0.7762186 2.3585989 -205.85 - 54 17.019367 891 1 1 -1.2644198 2.3224351 -174.81631 - 54 42.966451 902 1 0 -1.3769245 1.2712936 -175.85 - 54 42.16324 901 1 0 -1.3823651 1.1459348 -175.95303 - 54 121.0925 900 1 0 -1.4335648 1.0189113 -176.04023 - 54 59.940185 899 1 0 -1.4675285 0.73160402 -176.18209 - 54 9.5122873 898 1 0 -1.4570282 0.5820448 -176.24269 - 54 214.61934 592 1 0 6.4890045 -61.205079 -176.25 - 54 101.09092 591 1 0 5.932252 -61.253487 -175.9817 - 54 10.114318 921 1 1 5.0590093 -61.963506 -174.85 - 54 204.60328 920 1 1 5.0381265 -61.980818 -174.80406 - 54 47.236853 919 1 1 4.8467427 -62.156926 -174.54659 - 54 81.386068 586 1 0 5.0234968 -62.343552 -175.85 - 54 268.7013 585 1 0 5.1101212 -62.465638 -175.94703 - 54 2.3737142 945 1 1 10.047802 -61.310756 -174.85 - 54 207.4039 946 1 1 10.052869 -61.309819 -174.84957 - 54 269.1882 899 4 0 -0.64500584 0.66092981 -86.073389 -Number of digits in this event = 10 -Event: 55 -Number of tracker hits in this event = 0 -Number of digits in this event = 3 -Event: 56 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 57 -Number of tracker hits in this event = 0 -Number of digits in this event = 0 -Event: 58 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 59 -Number of tracker hits in this event = 1 - 59 5.2501636 617 2 1 -56.246327 -57.946299 -144.85 -Number of digits in this event = 1 -Event: 60 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 61 -Number of tracker hits in this event = 11 - 61 120.15964 890 3 1 -1.5567658 -1.5343395 -114.45 - 61 119.11914 891 3 0 -1.4872413 -1.4024748 -115.85 - 61 108.45952 897 2 1 0.25662276 1.2361203 -144.45 - 61 96.822535 902 2 0 0.28841178 1.4124273 -145.85 - 61 18.705001 903 2 0 0.29644608 1.4559968 -146.19283 - 61 67.021594 900 1 1 1.0448937 5.1380759 -174.45 - 61 46.672338 901 1 1 1.0500421 5.1683133 -174.67863 - 61 106.35237 922 1 0 1.0764545 5.3301554 -175.85 - 61 151.76592 904 0 1 1.6961159 9.0195702 -204.45 - 61 131.1031 941 0 0 1.6854948 9.1504612 -205.85 - 61 2.3678686 868 0 1 -6.0496485 -6.5323486 -204.45 -Number of digits in this event = 4 -Event: 62 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 63 -Number of tracker hits in this event = 6 - 63 158.03685 894 2 1 -0.71030116 -0.59210324 -144.45 - 63 240.30492 895 2 0 -0.71679383 -0.60342723 -145.85 - 63 99.819478 893 1 1 -0.85161042 -0.83249405 -174.45 - 63 141.05857 894 1 0 -0.86365569 -0.84161517 -175.85 - 63 106.64015 892 0 1 -1.1500413 -1.0383155 -204.45 - 63 236.49737 892 0 0 -1.1551563 -1.0632186 -205.85 -Number of digits in this event = 5 -Event: 64 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 65 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 66 -Number of tracker hits in this event = 55 - 66 20.373849 896 5 1 0.067409233 0.05 -54.782371 - 66 161.81501 896 5 0 0.06738839 0.059782502 -55.85 - 66 143.56384 896 4 1 0.067565313 0.32159922 -84.45 - 66 213.53362 897 4 0 0.065766909 0.33203712 -85.85 - 66 47.129028 896 2 1 0.098802679 0.67290522 -144.45 - 66 110.22871 901 2 0 -0.41135426 1.1792227 -145.85 - 66 94.492478 902 2 0 -0.49574389 1.2774284 -146.07324 - 66 138.28284 856 1 1 -8.2795054 11.793302 -174.45 - 66 81.900908 961 1 0 -8.8950139 13.234621 -175.85 - 66 340.86551 962 1 0 -8.9515416 13.354676 -175.98687 - 66 14.95468 963 1 0 -9.1101233 13.547515 -176.22585 - 66 138.43123 722 0 1 -35.06927 47.24045 -204.45 - 66 82.345755 1125 0 0 -35.007213 46.012964 -205.85 - 66 44.868126 1124 0 0 -34.996999 45.792795 -206.07295 - 66 78.944511 1040 0 0 -32.1048 28.971243 -206.25 - 66 99.372123 1039 0 0 -32.135111 28.841712 -206.04152 - 66 49.544525 739 0 1 -31.689798 27.841823 -204.85 - 66 106.54554 740 0 1 -31.641369 27.746407 -204.69143 - 66 79.821264 1100 1 0 -168.08007 41.022874 -176.25 - 66 103.08483 1101 1 0 -168.32474 41.053865 -176.15645 - 66 62.113543 1102 1 0 -168.4986 41.282073 -176.0032 - 66 58.685118 57 1 1 -168.69701 41.575799 -174.85 - 66 221.60228 56 1 1 -168.75938 41.62607 -174.68694 - 66 144.0357 55 1 1 -168.95422 41.356994 -174.65508 - 66 161.24659 54 1 1 -169.16338 41.46146 -174.56009 - 66 138.7386 1088 1 0 -23.795296 38.557357 -176.25 - 66 230.80024 1089 1 0 -23.807985 38.65013 -176.05001 - 66 193.19667 1164 0 0 -4.0357988 53.65049 -206.25 - 66 16.003876 1165 0 0 -3.6738388 53.865874 -205.88448 - 66 45.824115 884 0 1 -2.72509 54.506324 -204.85 - 66 95.562756 885 0 1 -2.6149325 54.576114 -204.74033 - 66 24.476506 886 0 1 -2.4109821 54.734989 -204.51844 - 66 64.647955 1238 1 0 -13.000531 68.560506 -176.25 - 66 74.452391 1239 1 0 -13.089545 68.675992 -176.02451 - 66 122.11989 830 1 1 -13.454027 69.360599 -174.85 - 66 169.1094 1283 2 0 -33.04983 77.478755 -146.25 - 66 111.93854 728 2 1 -33.854211 77.916559 -144.85 - 66 34.512279 727 2 1 -34.061813 78.038867 -144.51912 - 66 78.237538 1180 3 0 -23.063979 56.990317 -116.25 - 66 76.246327 1179 3 0 -22.995042 56.795825 -116.03156 - 66 31.506106 1178 3 0 -22.956954 56.538082 -115.88982 - 66 0.40462139 1177 3 0 -22.952685 56.429135 -115.85018 - 66 65.076177 774 3 1 -24.731715 53.343432 -114.85 - 66 145.29663 773 3 1 -24.878613 53.112886 -114.78943 - 66 147.51298 772 3 1 -25.059433 52.68992 -114.71062 - 66 53.291414 1147 3 0 -26.223281 50.337617 -115.85 - 66 140.21775 1146 3 0 -26.352433 50.223464 -115.90006 - 66 77.763731 788 3 1 -21.993408 54.951191 -114.85 - 66 78.766782 789 3 1 -21.820288 54.76525 -114.7273 - 66 57.159731 1164 3 0 -21.086123 53.733201 -115.85 - 66 140.84668 1163 3 0 -21.01475 53.625947 -116.02813 - 66 13.824781 1162 3 0 -20.904495 53.445271 -116.12505 - 66 312.69688 1228 3 0 54.805621 66.601908 -116.25 - 66 97.968033 1229 3 0 55.147339 66.653264 -116.13206 - 66 16.044734 768 0 1 -25.882662 -3.4311729 -204.45 -Number of digits in this event = 21 -Event: 67 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 68 -Number of tracker hits in this event = 1 - 68 146.43805 1612 3 0 85.9814 143.93499 -116.06823 -Number of digits in this event = 2 -Event: 69 -Number of tracker hits in this event = 9 - 69 133.09684 894 3 0 -0.37174183 -0.67365972 -115.85 - 69 147.47789 894 2 1 -0.66548961 -1.3065036 -144.45 - 69 118.5987 891 2 0 -0.65212553 -1.334537 -145.85 - 69 241.98928 888 1 0 -0.43187781 -1.9098484 -175.85 - 69 117.24439 892 0 0 -0.28341476 -1.2469317 -205.85 - 69 86.526133 796 8 1 -20.442501 -158.20678 35.270956 - 69 222.8152 1727 14 0 -50.465714 166.9101 213.75 - 69 118.16081 893 0 1 -0.93619376 -2.1582924 -204.45 - 69 100.34488 887 0 0 -1.0735658 -2.0731282 -205.85 -Number of digits in this event = 6 -Event: 70 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 71 -Number of tracker hits in this event = 1 - 71 61.322594 1301 3 1 81.059716 -3.5626031 -114.45 -Number of digits in this event = 2 -Event: 72 -Number of tracker hits in this event = 18 - 72 111.31542 906 5 1 2.1077314 -1.3167947 -54.45 - 72 160.91263 889 5 0 2.1553774 -1.7313111 -55.85 - 72 118.3293 913 4 1 3.6366819 -10.450793 -84.45 - 72 22.514681 844 4 0 3.6713826 -10.846065 -85.85 - 72 84.509252 843 4 0 3.6741094 -10.877207 -85.964516 - 72 110.39275 917 3 1 4.4452443 -18.701126 -114.45 - 72 136.86018 802 3 0 4.3719901 -19.066153 -115.85 - 72 259.91769 912 2 1 3.320162 -26.249937 -144.45 - 72 68.341943 766 2 0 3.4183409 -26.425301 -145.85 - 72 59.642691 765 2 0 3.4375002 -26.451522 -146.07867 - 72 135.63783 926 1 1 6.1018252 -30.114431 -174.45 - 72 124.2495 746 1 0 6.1364227 -30.381841 -175.85 - 72 96.325477 929 0 1 6.7598332 -35.173181 -204.45 - 72 29.042079 721 0 0 6.7336367 -35.433125 -205.85 - 72 80.888977 720 0 0 6.733404 -35.454711 -205.96437 - 72 148.53237 978 0 1 16.564532 -37.862993 -204.45 - 72 119.61954 703 0 0 16.073217 -38.852076 -205.85 - 72 88.637313 702 0 0 16.005016 -39.097242 -206.18449 -Number of digits in this event = 7 -Event: 73 -Number of tracker hits in this event = 14 - 73 137.39979 787 0 0 131.22132 -22.167693 -205.98239 - 73 126.56618 786 0 0 131.43252 -22.26733 -205.97366 - 73 162.57632 785 0 0 131.69551 -22.459422 -206.0978 - 73 277.55324 784 0 0 131.76526 -22.679651 -206.13254 - 73 243.42585 1096 0 1 40.090269 -40.65218 -204.45 - 73 93.483634 1095 0 1 40.036269 -40.569927 -204.47641 - 73 53.349398 633 1 1 -52.863549 134.73796 -174.45 - 73 165.26724 634 1 1 -52.789619 134.64903 -174.56006 - 73 87.406263 1560 1 0 -51.804695 133.50236 -175.85 - 73 42.475301 1559 1 0 -51.646869 133.32182 -176.12 - 73 65.65924 1317 1 0 10.211458 84.280155 -176.25 - 73 126.42438 1316 1 0 10.348346 84.168697 -176.12067 - 73 35.962584 952 1 1 11.394241 83.19477 -174.85 - 73 114.3016 953 1 1 11.468494 83.107842 -174.72462 -Number of digits in this event = 8 -Event: 74 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 75 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 76 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 77 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 78 -Number of tracker hits in this event = 0 -Number of digits in this event = 2 -Event: 79 -Number of tracker hits in this event = 3 - 79 143.99403 894 0 1 -0.65016624 -0.74655191 -204.45 - 79 138.86089 895 0 0 -0.66494681 -0.62179389 -205.85 - 79 28.750527 996 1 0 16.489319 20.19126 -176.25 -Number of digits in this event = 3 -Event: 80 -Number of tracker hits in this event = 1 - 80 115.07512 895 0 0 -0.17736389 -0.55217271 -205.85 -Number of digits in this event = 2 -Event: 81 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 82 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 83 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 84 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 85 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 86 -Number of tracker hits in this event = 7 - 86 68.509379 277 6 0 -172.57123 -124.58195 -26.25 - 86 116.56608 278 6 0 -172.48269 -124.53863 -26.062327 - 86 25.922689 77 6 1 -164.62595 -119.38752 -24.85 - 86 2.6502397 323 6 0 -159.28401 -115.35278 -25.85 - 86 57.467569 324 6 0 -159.27538 -115.34686 -25.850094 - 86 134.9263 111 6 1 -157.76847 -115.05827 -24.85 - 86 131.6406 112 6 1 -157.74928 -115.05265 -24.83923 -Number of digits in this event = 3 -Event: 87 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 88 -Number of tracker hits in this event = 20 - 88 91.795938 895 2 1 -0.46992205 -0.28266715 -144.45 - 88 125.20093 903 1 1 1.4921822 -0.25817921 -174.45 - 88 171.44333 914 0 1 3.8062049 -0.3275891 -204.45 - 88 115.15255 1066 14 0 -120.52795 34.107106 213.75 - 88 47.403701 293 14 1 -121.54497 34.392385 215.15 - 88 100.16573 292 14 1 -121.63447 34.413075 215.26838 - 88 35.459374 291 14 1 -121.85948 34.501656 215.43674 - 88 177.83888 290 14 1 -121.96914 34.517256 215.5364 - 88 62.68756 1074 14 0 -122.20078 35.744016 214.15 - 88 72.351984 1075 14 0 -122.2018 35.906176 213.93284 - 88 92.357559 1109 14 0 -118.86816 42.727788 213.75 - 88 90.817516 1108 14 0 -118.95158 42.613318 213.90462 - 88 151.82918 300 14 1 -119.98296 41.7763 215.15 - 88 167.45564 299 14 1 -120.16648 41.68882 215.24156 - 88 158.0534 298 14 1 -120.35909 41.730908 215.43198 - 88 49.664044 1093 14 0 -117.82305 39.585456 214.15 - 88 3.2204127 344 14 1 -111.15795 41.7539 215.15 - 88 7.517409 345 14 1 -111.14868 41.757674 215.15233 - 88 50.649993 1104 14 0 -109.84464 41.791095 214.15 - 88 149.84033 349 14 1 -110.33196 41.319845 215.15 -Number of digits in this event = 8 -Event: 89 -Number of tracker hits in this event = 0 -Number of digits in this event = 3 -Event: 90 -Number of tracker hits in this event = 2 - 90 110.07914 1719 2 1 165.18702 19.357613 -144.45 - 90 132.20404 993 2 0 164.9899 19.466891 -145.85 -Number of digits in this event = 3 -Event: 91 -Number of tracker hits in this event = 11 - 91 138.25198 896 5 1 0.06141676 0.056455424 -54.45 - 91 116.79875 897 4 1 0.25282527 -0.10410969 -84.45 - 91 108.86205 899 3 1 0.66394028 -0.39196244 -114.45 - 91 112.36097 901 2 1 1.1463534 -0.85584257 -144.45 - 91 127.98172 893 2 0 1.1605751 -0.89902931 -145.85 - 91 133.9194 903 1 1 1.4552042 -1.851869 -174.45 - 91 247.74303 888 1 0 1.4683396 -1.9033204 -175.85 - 91 104.92671 904 0 1 1.7523447 -2.9568379 -204.45 - 91 189.27216 883 0 0 1.7686524 -2.9942926 -205.85 - 91 344.56153 1464 3 0 150.49706 114.20634 -115.94835 - 91 114.7907 889 1 0 1.4053885 -1.8436524 -176.18986 -Number of digits in this event = 7 -Event: 92 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 93 -Number of tracker hits in this event = 1 - 93 417.37041 1370 1 1 95.500583 -137.38216 -174.45 -Number of digits in this event = 3 -Event: 94 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 95 -Number of tracker hits in this event = 11 - 95 161.40613 692 11 0 -173.80028 -41.225489 123.75 - 95 2.3022468 693 11 0 -173.44762 -40.983686 124.14275 - 95 100.59738 36 11 1 -172.77492 -40.137131 125.15 - 95 305.87661 37 11 1 -172.68867 -40.053346 125.26695 - 95 34.483875 38 11 1 -172.54282 -39.670677 125.55 - 95 293.62676 718 11 0 -177.54464 -35.997975 124.15 - 95 100.24917 2 11 1 -179.63872 -36.056752 125.15 - 95 285.66832 1 11 1 -179.77758 -36.070887 125.17758 - 95 123.79404 719 11 0 -177.60842 -35.845582 124.06588 - 95 6.8196272 600 9 0 -136.65867 -59.563885 63.75 - 95 67.077133 935 9 0 57.79391 7.881744 63.75 -Number of digits in this event = 7 -Event: 96 -Number of tracker hits in this event = 11 - 96 193.25125 894 3 1 -0.68541873 0.31741505 -114.45 - 96 229.55923 897 3 0 -0.64866804 0.29785401 -115.85 - 96 155.4816 898 2 1 0.5232457 -0.39014398 -144.45 - 96 122.0345 895 2 0 0.62310331 -0.55857191 -145.85 - 96 220.78393 908 1 1 2.5208798 -3.9689435 -174.45 - 96 133.57182 877 1 0 2.6575134 -4.1458832 -175.85 - 96 111.18221 921 0 1 5.0859095 -7.4509029 -204.45 - 96 113.93342 859 0 0 5.2332142 -7.7532787 -205.85 - 96 84.273633 893 3 1 -0.85337514 0.23411323 -114.66818 - 96 91.623479 895 3 1 -0.47108709 0.26261619 -114.45 - 96 113.2604 896 3 0 -0.31382437 0.24825136 -116.11251 -Number of digits in this event = 7 -Event: 97 -Number of tracker hits in this event = 17 - 97 119.99952 899 3 0 -0.12549023 0.77426832 -115.85 - 97 125.76581 901 2 0 -0.12640464 1.058629 -145.85 - 97 105.52223 901 1 0 -0.19246622 1.199506 -175.85 - 97 153.40631 902 0 0 -0.15268702 1.2519503 -205.85 - 97 71.84466 366 4 1 -106.77809 -135.53452 -84.45 - 97 69.333043 367 4 1 -106.72583 -135.63624 -84.678493 - 97 80.065606 220 4 0 -106.10306 -136.10847 -85.85 - 97 55.198425 219 4 0 -105.98385 -136.1924 -86.083551 - 97 155.57805 452 3 1 -89.220959 -150.14773 -114.45 - 97 71.052157 145 3 0 -89.124428 -150.99543 -115.85 - 97 112.67662 144 3 0 -89.076826 -151.15392 -116.06795 - 97 213.43813 1032 5 0 -177.68661 27.319737 -56.25 - 97 20.142891 1033 5 0 -177.87312 27.451423 -56.220368 - 97 15.355793 1047 4 0 47.606228 30.433217 -86.25 - 97 82.004688 1048 4 0 47.634509 30.465494 -86.243371 - 97 121.36506 1049 4 0 47.698231 30.653529 -86.190623 - 97 223.6317 1050 4 0 47.827066 30.851664 -86.073956 -Number of digits in this event = 8 -Event: 98 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Event: 99 -Number of tracker hits in this event = 0 -Number of digits in this event = 1 -Run terminated. -Run Summary - Number of events processed : 100 - User=12.53s Real=13.6s Sys=0.01s -End of Run -File Tracks_4.dat -/vis/viewer/update -ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. -/gun/particle e- -/gun/energy 1 GeV -/gun/sourceType 2 -/run/beamOn 100 - -========= Table of registered couples ============================== - -Index : 0 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : Scintillator - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 2 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Calorimeter - -Index : 3 used in the geometry : Yes recalculation needed : No - Material : CesiumIodide - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 38.405229 keV e- 691.66869 keV e+ 658.43466 keV - Region(s) which use this couple : - Calorimeter - -Index : 4 used in the geometry : Yes recalculation needed : No - Material : Galactic - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - Tracker - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : Silicon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.3033387 keV e- 120.42458 keV e+ 118.95119 keV - Region(s) which use this couple : - Tracker - -Index : 6 used in the geometry : Yes recalculation needed : No - Material : Tungsten - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 36.047857 keV e- 351.43773 keV e+ 334.55147 keV - Region(s) which use this couple : - Tracker - -==================================================================== - -/vis/scene/notifyHandlers -WARNING: Scene "refresh" not found. - /vis/scene/list to see scenes. -Start Run processing. -Event: 0 -Number of tracker hits in this event = 27 - 0 131.4114 899 5 1 0.66119263 -0.44791501 -54.45 - 0 109.51881 895 5 0 0.70476528 -0.46914755 -55.85 - 0 120.07022 903 4 1 1.6075263 -0.94703483 -84.45 - 0 275.98363 893 4 0 1.6551786 -0.97181443 -85.85 - 0 116.37908 909 3 1 2.6710015 -1.4508991 -114.45 - 0 122.47614 890 3 0 2.7204523 -1.5087455 -115.85 - 0 160.37588 914 2 1 3.7631382 -2.7197914 -144.45 - 0 117.71538 884 2 0 3.8141386 -2.7798857 -145.85 - 0 119.67389 919 1 1 4.7641923 -4.0877991 -174.45 - 0 115.83881 877 1 0 4.8403492 -4.1608803 -175.85 - 0 97.84944 928 0 1 6.535084 -5.5738781 -204.45 - 0 136.41132 870 0 0 6.6514218 -5.6458845 -205.85 - 0 83.415054 869 0 0 6.661155 -5.6519371 -205.96426 - 0 150.30393 902 4 1 1.2942611 -0.8567614 -84.45 - 0 109.14158 905 3 1 1.9378116 -1.0444312 -114.45 - 0 207.59408 893 3 0 2.1709847 -1.0178454 -115.85 - 0 117.68581 942 2 1 9.3059775 -3.8350521 -144.45 - 0 116.77139 944 2 1 9.6621505 -3.8162968 -144.58236 - 0 47.486399 945 2 1 9.9881574 -3.7716003 -144.7732 - 0 194.51403 881 2 0 11.869509 -3.4115254 -145.85 - 0 82.371251 1093 1 1 39.473392 -4.6538922 -174.45 - 0 79.93 1094 1 1 39.713589 -4.5803195 -174.674 - 0 184.18668 876 1 0 40.869166 -4.2912293 -175.85 - 0 73.245019 1096 0 1 40.17843 -7.8177117 -204.45 - 0 36.091207 1097 0 1 40.257352 -7.7228038 -204.68907 - 0 144.50854 861 0 0 40.558826 -7.4017155 -205.85 - 0 26.74719 892 3 0 2.1866521 -1.0559426 -116.11948 -Number of digits in this event = 14 -Event: 1 -Number of tracker hits in this event = 63 - 1 120.56403 904 4 1 1.7418488 0.65360306 -84.45 - 1 156.98826 899 4 0 1.8062672 0.69870324 -85.85 - 1 208.98456 911 3 1 3.1974564 1.6545814 -114.45 - 1 149.77614 904 3 0 3.2750138 1.6920384 -115.85 - 1 107.23497 920 2 1 4.9626437 2.3158109 -144.45 - 1 168.12672 907 2 0 5.0438112 2.3476249 -145.85 - 1 110.46269 929 1 1 6.754695 3.0329534 -174.45 - 1 109.74572 911 1 0 6.8269456 3.0522481 -175.85 - 1 119.31328 937 0 1 8.3656137 3.4409819 -204.45 - 1 119.4752 911 0 0 8.4567748 3.2387546 -205.85 - 1 63.797387 1123 2 1 45.57856 52.901649 -144.85 - 1 192.32927 1100 0 0 46.103374 40.863519 -206.25 - 1 77.704699 1101 0 0 46.218936 41.108648 -205.99125 - 1 100.78077 1129 0 1 46.766516 42.078164 -204.85 - 1 57.083441 1130 0 1 46.902844 42.326674 -204.55353 - 1 151.95175 1191 1 0 58.171306 59.107673 -176.25 - 1 16.284258 1192 1 0 58.307721 59.31147 -175.90869 - 1 177.6093 1189 1 1 58.692194 59.946355 -174.85 - 1 155.99941 1264 2 0 64.467125 73.672636 -146.25 - 1 79.209599 1219 2 1 64.838162 74.270742 -144.85 - 1 97.774104 1220 2 1 64.870041 74.319304 -144.73628 - 1 139.02127 1336 3 0 75.021579 88.085543 -116.25 - 1 235.83988 1273 3 1 75.515675 88.695866 -114.85 - 1 34.014214 1361 4 0 85.430885 93.745456 -86.25 - 1 79.657367 1362 4 0 85.468779 93.764333 -86.135017 - 1 131.12426 1325 4 1 85.916494 93.811223 -84.85 - 1 136.15441 1368 5 0 95.749289 95.047482 -56.25 - 1 92.227968 1374 5 1 96.248852 95.038881 -54.85 - 1 16.62585 1375 5 1 96.387717 95.035809 -54.492728 - 1 143.00374 1359 6 0 105.13855 93.219384 -26.25 - 1 151.37356 1421 6 1 105.60041 93.115303 -24.85 - 1 248.06057 1348 7 0 111.34398 90.971799 3.75 - 1 13.451448 1347 7 0 111.4119 90.942847 4.0924454 - 1 43.237774 1451 7 1 111.71658 90.840923 5.15 - 1 90.606235 1452 7 1 111.75013 90.827497 5.2638638 - 1 167.18712 1306 8 0 126.97939 82.147841 33.75 - 1 31.289 1305 8 0 127.17161 82.015311 34.078242 - 1 170.37861 1532 8 1 127.9224 81.517158 35.15 - 1 156.27313 1533 8 1 127.99952 81.461759 35.265339 - 1 22.996102 1534 8 1 128.16023 81.329393 35.479307 - 1 290.37927 1537 8 1 128.76445 81.393383 35.55 - 1 18.54936 1538 8 1 129.00942 82.269067 35.175705 - 1 99.956985 1321 8 0 130.29965 85.082981 34.15 - 1 94.119447 1322 8 0 130.45718 85.386306 34.028419 - 1 122.4139 1324 8 0 130.57355 85.705713 33.90178 - 1 110.6456 1325 8 0 130.67937 86.031785 33.783143 - 1 58.116 1307 8 0 129.12558 82.320315 34.15 - 1 11.166905 976 14 0 7.4202549 16.13543 214.1397 - 1 69.669722 932 14 1 7.4046461 17.432715 215.15 - 1 273.112 1128 0 1 46.529982 40.749124 -204.85 - 1 9.1160018 1377 0 1 96.818118 94.430146 -204.45 - 1 42.014236 1014 0 0 31.233384 23.837114 -206.25 - 1 88.158099 1015 0 0 31.194684 23.900648 -206.13277 - 1 121.38311 1051 0 1 31.157412 24.483762 -204.85 - 1 212.43669 1431 1 0 73.008557 107.7022 -176.06939 - 1 98.32575 1432 1 0 72.98123 107.75715 -176.05283 - 1 117.68254 897 3 1 0.33787866 0.0609735 -114.45 - 1 177.71473 896 3 0 0.3417053 0.058917433 -115.85 - 1 227.72916 897 2 1 0.40022292 0.088626263 -144.45 - 1 132.85976 896 2 0 0.40934483 0.074432602 -145.85 - 1 103.71234 898 1 1 0.59217982 -0.20337614 -174.45 - 1 186.15109 899 0 1 0.81233966 -1.059162 -204.45 - 1 225.83722 892 0 0 0.81092378 -1.0696189 -205.85 -Number of digits in this event = 31 -Event: 2 -Number of tracker hits in this event = 7 - 2 118.1088 895 2 1 -0.59070871 -0.37562975 -144.45 - 2 100.96799 894 1 1 -0.66597543 -0.30330018 -174.45 - 2 57.772264 748 4 0 167.067 -29.854532 -86.25 - 2 113.58692 749 4 0 167.13453 -29.765634 -86.130575 - 2 6.2534822 750 4 0 167.22223 -29.585193 -85.875321 - 2 82.275117 1731 4 1 167.65169 -28.753912 -84.85 - 2 48.013116 1732 4 1 167.77575 -28.658254 -84.596325 -Number of digits in this event = 1 -Event: 3 -Number of tracker hits in this event = 13 - 3 257.67457 896 4 0 -0.22211353 0.16320944 -85.85 - 3 117.4298 897 3 0 -0.37441442 0.26193615 -115.85 - 3 130.09023 897 2 0 -0.38765651 0.38947806 -145.85 - 3 193.64333 898 1 0 -0.39876766 0.51331536 -175.85 - 3 188.85098 895 0 1 -0.50851161 0.51157597 -204.45 - 3 123.95355 898 0 0 -0.55087498 0.50410581 -205.85 - 3 48.091686 1391 0 0 -14.958805 99.649715 -206.19111 - 3 144.62348 1392 0 0 -14.880199 99.762556 -206.10226 - 3 19.241793 1393 0 0 -14.564065 99.959787 -205.87053 - 3 500.5078 826 0 1 -14.275661 101.51742 -204.85 - 3 70.06448 827 0 1 -14.249522 101.76612 -204.65493 - 3 117.41842 895 1 1 -0.48577356 0.53485921 -174.45 - 3 128.46997 894 1 1 -0.65042403 0.45235328 -174.54731 -Number of digits in this event = 9 -Event: 4 -Number of tracker hits in this event = 25 - 4 172.768 897 2 1 0.34287897 -0.077218171 -144.45 - 4 126.92874 900 1 1 0.99497706 0.10850195 -174.45 - 4 110.56229 896 1 0 1.0430388 0.14092198 -175.85 - 4 155.47939 905 0 1 2.0302198 0.81217137 -204.45 - 4 127.23643 900 0 0 2.0814738 0.8500393 -205.85 - 4 2.3960564 1729 9 0 -60.650879 167.34806 63.75 - 4 205.22728 1046 3 0 94.166373 30.107113 -116.25 - 4 153.39914 1047 3 0 94.252788 30.253739 -116.09085 - 4 54.825559 1048 3 0 94.35177 30.482656 -115.90992 - 4 101.09404 1373 3 1 95.962903 32.25656 -114.85 - 4 93.878152 1374 3 1 96.160392 32.491097 -114.639 - 4 46.549222 896 2 0 -0.15117766 0.23597447 -145.85 - 4 81.798481 897 2 0 -0.15551218 0.25878874 -145.96466 - 4 37.690253 938 1 0 0.05 8.4894482 -176.1351 - 4 122.36977 902 0 1 1.2682062 18.566039 -204.45 - 4 72.000395 993 0 0 1.3942697 19.567822 -205.85 - 4 84.900177 994 0 0 1.4095104 19.66915 -205.9962 - 4 128.25946 306 6 0 -162.90147 -118.82025 -26.25 - 4 41.204907 305 6 0 -163.1088 -118.96853 -25.929871 - 4 346.90024 85 6 1 -163.00128 -119.62527 -24.85 - 4 83.30238 86 6 1 -162.93617 -119.8919 -24.668629 - 4 32.005395 87 6 1 -162.74212 -119.83948 -24.79218 - 4 124.63828 299 6 0 -162.43228 -120.19301 -25.85 - 4 292.20309 298 6 0 -162.44522 -120.35516 -25.997462 - 4 65.025178 297 6 0 -162.68556 -120.55354 -26.1073 -Number of digits in this event = 13 -Event: 5 -Number of tracker hits in this event = 27 - 5 157.99647 899 4 1 0.66371808 -0.19470453 -84.45 - 5 138.04924 901 3 1 1.098551 0.47552651 -114.45 - 5 132.34393 898 3 0 1.1163837 0.50365437 -115.85 - 5 103.61306 903 2 1 1.4578357 1.003511 -144.45 - 5 135.36542 900 2 0 1.4531616 0.99034443 -145.85 - 5 397.48056 901 1 1 1.244349 0.77136892 -174.45 - 5 112.62678 899 1 0 1.2256215 0.72421416 -175.85 - 5 189.27022 900 0 1 0.95112073 -0.30307933 -204.45 - 5 340.81778 898 4 1 0.62397122 -0.33421273 -84.45 - 5 134.95069 886 4 0 0.59883588 -2.2515155 -85.85 - 5 53.149853 885 4 0 0.60648628 -2.5864244 -86.084129 - 5 44.371634 884 4 0 0.60272491 -2.7583162 -86.14459 - 5 2.6674207 883 4 0 0.6016958 -2.9124454 -86.242743 - 5 52.771932 998 2 1 20.541947 -70.76013 -144.45 - 5 175.37526 897 4 1 0.44661878 -1.0694139 -84.81655 - 5 79.45126 891 4 0 0.075102118 -1.4212356 -85.85 - 5 69.31402 890 4 0 0.067693263 -1.4523775 -85.871437 - 5 48.08251 896 4 1 0.22465963 -0.3990566 -84.586653 - 5 234.27107 694 3 1 -40.746193 3.2755047 -114.45 - 5 89.874457 693 3 1 -40.888508 3.4852601 -114.69339 - 5 48.341554 917 3 0 -42.05077 4.4205019 -115.85 - 5 93.653041 918 3 0 -42.179199 4.5114029 -115.95119 - 5 123.36067 919 3 0 -42.422953 4.7095345 -116.15061 - 5 34.758493 696 3 1 -40.414331 3.2142483 -114.45 - 5 85.056556 695 3 1 -40.490831 3.2518519 -114.51302 - 5 137.8574 920 3 0 -44.995101 5.0097701 -115.85 - 5 22.341297 921 3 0 -45.218631 5.0736087 -115.94176 -Number of digits in this event = 15 -Event: 6 -Number of tracker hits in this event = 42 - 6 296.30482 896 5 1 0.099989939 0.10509362 -54.45 - 6 137.11886 896 5 0 0.10510815 0.10806188 -55.85 - 6 143.67692 896 4 1 0.19425339 0.14501454 -84.45 - 6 109.9529 896 4 0 0.19672251 0.15186007 -85.85 - 6 150.90563 897 3 1 0.26371252 0.2939006 -114.45 - 6 112.42286 897 3 0 0.26915705 0.30189217 -115.85 - 6 152.97875 897 2 1 0.37518311 0.48020918 -144.45 - 6 162.53752 898 2 0 0.37514035 0.49367639 -145.85 - 6 128.06521 897 1 1 0.34900134 0.75870819 -174.45 - 6 211.86942 899 1 0 0.33869494 0.76233442 -175.85 - 6 161.72414 896 0 1 0.068586102 0.7517657 -204.45 - 6 8.5651851 765 0 1 -26.632027 95.160434 -204.47017 - 6 80.553786 899 0 0 0.05 0.81179993 -206.02495 - 6 214.54242 503 0 0 3.1043054 -78.982273 -206.15313 - 6 8.6487828 502 0 0 3.2074295 -79.054877 -206.2015 - 6 136.23671 898 1 1 0.6262075 0.75046997 -174.45 - 6 411.77236 895 1 0 -2.1953959 -0.51422256 -175.98375 - 6 180.8066 894 1 0 -2.9032926 -0.66476256 -176.20692 - 6 123.88967 893 1 0 -3.7452775 -0.89054805 -176.12694 - 6 162.10215 892 1 0 -4.0672804 -1.0624258 -176.06726 - 6 95.298882 891 1 0 -4.3693279 -1.2756686 -176.09369 - 6 52.499373 890 1 0 -4.5515215 -1.5768942 -176.15986 - 6 44.592838 889 1 0 -4.6520778 -1.7370073 -176.12506 - 6 66.972747 888 1 0 -4.7735971 -1.8542639 -176.18533 - 6 67.931925 1101 0 1 41.228809 58.469161 -204.85 - 6 160.2156 1221 0 0 44.418086 65.117553 -206.07853 - 6 59.655009 1222 0 0 44.432087 65.259967 -206.17628 - 6 3.9118676 897 5 0 0.054220007 0.25575285 -55.963921 - 6 221.6604 863 4 1 -6.9108148 4.8742494 -84.45 - 6 170.01191 926 4 0 -7.1159718 6.0823252 -85.85 - 6 61.981266 904 4 0 -3.9280257 1.7374017 -86.25 - 6 146.31253 903 4 0 -3.8070871 1.6271302 -86.104414 - 6 1.5371357 902 4 0 -3.6669218 1.4451493 -85.856176 - 6 13.924085 881 4 1 -3.2522263 1.3321403 -84.85 - 6 138.75366 882 4 1 -3.2369634 1.3208965 -84.796575 - 6 77.808439 883 4 1 -3.0179329 1.1385263 -84.760146 - 6 95.69579 884 4 1 -2.8338814 1.1100224 -84.570616 - 6 60.005891 885 4 1 -2.6202546 0.93758325 -84.481593 - 6 127.07366 886 4 1 -2.4380952 0.86202006 -84.588508 - 6 70.564597 887 4 1 -2.2239883 0.96026498 -84.679717 - 6 238.62877 899 4 0 -2.0171824 0.83495716 -85.85 - 6 147.32016 900 4 0 -2.0533098 0.8533676 -85.915301 -Number of digits in this event = 25 -Event: 7 -Number of tracker hits in this event = 16 - 7 106.30912 896 4 1 0.16116302 0.28173135 -84.45 - 7 107.23625 897 4 0 0.16557408 0.27640939 -85.85 - 7 129.59171 896 3 1 0.23959244 0.12390445 -114.45 - 7 116.03955 896 3 0 0.23797447 0.1167432 -115.85 - 7 117.04523 896 1 1 0.24817465 -0.43502133 -174.45 - 7 151.14991 895 1 0 0.25517076 -0.46660657 -175.85 - 7 230.45903 897 0 1 0.35192596 -1.1139412 -204.45 - 7 125.50186 892 0 0 0.3490911 -1.1472208 -205.85 - 7 158.0258 1136 6 0 61.990244 48.138129 -26.17274 - 7 266.75643 1206 6 1 62.158758 48.053697 -24.85 - 7 439.44385 1207 6 1 62.262556 47.83605 -24.782795 - 7 33.724334 896 0 1 0.19225879 0.57525821 -204.55998 - 7 107.70605 898 0 0 -0.22433867 0.56173499 -205.85 - 7 336.69996 647 7 0 -36.399463 -50.069452 3.75 - 7 217.774 646 7 0 -36.529409 -50.265885 3.889681 - 7 65.741572 645 7 0 -36.689502 -50.456382 3.9685007 -Number of digits in this event = 11 -Event: 8 -Number of tracker hits in this event = 5 - 8 104.28739 896 2 0 -0.48348148 0.050407053 -145.85 - 8 181.03394 894 1 1 -0.71034715 0.073938329 -174.45 - 8 117.99102 896 1 0 -0.73304395 0.076345268 -175.85 - 8 117.27296 892 0 1 -1.2247799 0.18385528 -204.45 - 8 119.54469 896 0 0 -1.2396965 0.18617522 -205.85 -Number of digits in this event = 2 -Event: 9 -Number of tracker hits in this event = 11 - 9 151.29817 891 3 1 -1.2825581 0.16767462 -114.45 - 9 131.08279 896 3 0 -1.2953336 0.1585129 -115.85 - 9 280.49506 890 1 1 -1.6331266 -0.18379541 -174.45 - 9 109.31361 891 0 1 -1.4160011 -1.2124 -204.45 - 9 120.69148 892 0 0 -1.4346019 -1.2390532 -205.85 - 9 359.53097 883 0 0 -136.04924 -2.9365889 -206.13723 - 9 36.573307 889 1 1 -1.6536488 -0.17469883 -174.59874 - 9 15.974784 278 0 1 -124.54264 13.65359 -204.85 - 9 16.959495 1129 1 1 46.815912 -98.852602 -174.50374 - 9 156.11356 1130 1 1 46.855122 -98.885389 -174.50197 - 9 163.16824 1131 1 1 47.051013 -99.065024 -174.4854 -Number of digits in this event = 9 -Event: 10 -Number of tracker hits in this event = 25 - 10 233.46862 897 5 1 0.28454602 0.08233778 -54.45 - 10 196.24617 896 5 0 0.2890178 0.076783947 -55.85 - 10 115.3133 897 4 1 0.43872921 -0.17775466 -84.45 - 10 279.39864 899 3 1 0.70221428 -0.40161309 -114.45 - 10 113.01813 899 2 1 0.7859262 -0.34434223 -144.45 - 10 255.90635 900 1 1 1.0084772 0.16201938 -174.45 - 10 161.35533 896 1 0 0.98439902 0.21179694 -175.85 - 10 102.91217 898 0 1 0.51706368 1.2228407 -204.45 - 10 100.54675 902 0 0 0.50425555 1.2530359 -205.85 - 10 31.906788 801 0 1 -19.401715 26.44886 -204.85 - 10 136.34948 901 1 1 1.0529277 0.31543057 -174.55979 - 10 47.694102 902 1 0 1.9547675 1.404249 -175.85 - 10 104.31316 903 1 0 2.036947 1.4985255 -175.95886 - 10 21.539017 904 1 0 2.185509 1.6927056 -176.1827 - 10 100.64708 997 0 1 20.302827 21.968347 -204.45 - 10 108.91887 998 0 1 20.505873 21.928979 -204.68077 - 10 131.73284 1004 0 0 21.493328 21.783494 -205.85 - 10 114.50586 896 5 1 0.24795008 0.13210857 -54.759771 - 10 145.53653 898 3 0 0.79461371 0.55721487 -115.85 - 10 101.6935 905 2 1 1.957912 0.22659246 -144.45 - 10 128.21564 896 2 0 2.0401817 0.23199267 -145.85 - 10 264.27763 911 1 1 3.1715498 0.27839903 -174.45 - 10 116.76274 898 1 0 3.2288132 0.50892071 -175.85 - 10 100.45322 919 0 1 4.7679606 5.2941671 -204.45 - 10 125.72035 923 0 0 5.0039805 5.5598348 -205.85 -Number of digits in this event = 13 -Event: 11 -Number of tracker hits in this event = 10 - 11 115.26267 896 5 0 -0.18103895 0.17077664 -55.85 - 11 161.41044 898 4 0 -0.191766 0.47963524 -85.85 - 11 133.60225 896 2 1 0.091237855 0.99223004 -144.45 - 11 121.81093 900 2 0 0.076758026 1.01253 -145.85 - 11 142.61949 902 1 0 -0.24317007 1.4414889 -175.85 - 11 123.59015 904 0 0 -0.25640666 1.7714917 -205.85 - 11 156.3414 895 1 1 -0.62691585 0.32540738 -174.45 - 11 111.69021 897 1 0 -0.63750097 0.31971908 -175.85 - 11 105.7844 894 0 1 -0.77585876 0.23372481 -204.45 - 11 407.32531 897 0 0 -0.81057526 0.2629953 -205.85 -Number of digits in this event = 10 -Event: 12 -Number of tracker hits in this event = 13 - 12 123.68014 896 5 0 -0.16099953 0.12378893 -55.85 - 12 136.14824 896 4 0 -0.27929776 0.050481973 -85.85 - 12 38.145054 895 3 1 -0.64833701 0.12007733 -114.45 - 12 76.802185 894 3 1 -0.65051429 0.12085206 -114.56428 - 12 179.71607 896 3 0 -0.674789 0.13070209 -115.85 - 12 79.058826 892 2 1 -1.2451996 0.33811462 -144.45 - 12 27.660583 891 2 1 -1.251888 0.33927931 -144.79286 - 12 145.04625 897 2 0 -1.2721559 0.34102064 -145.85 - 12 165.61511 888 1 1 -1.9144369 0.63476684 -174.45 - 12 119.53257 899 1 0 -1.9406993 0.65794625 -175.85 - 12 133.79482 885 0 1 -2.5159939 1.1709463 -204.45 - 12 225.63817 901 0 0 -2.5296938 1.1827158 -205.85 - 12 111.01338 1676 0 1 156.59298 26.019582 -204.53461 -Number of digits in this event = 8 -Event: 13 -Number of tracker hits in this event = 12 - 13 154.58319 894 2 0 -0.29053425 -0.66862637 -145.85 - 13 126.11363 893 1 0 -0.45030919 -0.89657435 -175.85 - 13 146.46872 894 0 1 -0.78172079 -1.1747205 -204.45 - 13 206.71366 892 0 0 -0.79310402 -1.1849872 -205.85 - 13 3.4171308 990 7 1 18.964293 -53.695914 5.15 - 13 84.984278 906 0 0 12.75679 2.2267902 -206.25 - 13 56.440842 907 0 0 12.754856 2.2513603 -206.19476 - 13 125.71126 625 1 0 17.39798 -54.628219 -176.25 - 13 129.60018 626 1 0 17.679517 -54.442775 -176.09366 - 13 5.8335294 627 1 0 17.900828 -54.218341 -175.86866 - 13 135.15652 985 1 1 17.863884 -53.317307 -174.85 - 13 47.182767 986 1 1 18.051871 -53.125878 -174.56905 -Number of digits in this event = 8 -Event: 14 -Number of tracker hits in this event = 9 - 14 155.8443 897 4 1 0.27742711 0.16882063 -84.45 - 14 150.27678 896 4 0 0.28576003 0.17120251 -85.85 - 14 115.38227 898 3 1 0.47031304 0.2234712 -114.45 - 14 141.0017 896 3 0 0.47768581 0.22485122 -115.85 - 14 114.9518 898 2 1 0.6210576 0.24173723 -144.45 - 14 119.38869 896 2 0 0.63037311 0.23714467 -145.85 - 14 136.86755 899 1 1 0.80881572 0.17300694 -174.45 - 14 105.99921 896 1 0 0.81411887 0.16750448 -175.85 - 14 72.232745 900 0 1 0.94488303 0.052422293 -204.45 -Number of digits in this event = 5 -Event: 15 -Number of tracker hits in this event = 10 - 15 125.52235 895 3 1 -0.58305428 -0.76455206 -114.45 - 15 142.22968 894 3 0 -0.5944365 -0.78976054 -115.85 - 15 99.586337 894 2 1 -0.82501819 -1.3030133 -144.45 - 15 126.63533 891 2 0 -0.84605519 -1.3290944 -145.85 - 15 121.43813 892 1 1 -1.2440477 -1.8376929 -174.45 - 15 116.64964 888 1 0 -1.2669093 -1.8641524 -175.85 - 15 108.49476 889 0 1 -1.7674673 -2.4254938 -204.45 - 15 105.9161 885 0 0 -1.7857996 -2.458695 -205.85 - 15 1.8285 947 0 1 10.362847 -0.90092016 -204.85 - 15 26.781 948 0 1 10.610367 -0.86246022 -204.51615 -Number of digits in this event = 6 -Event: 16 -Number of tracker hits in this event = 6 - 16 137.40119 896 2 1 0.072971977 -0.45531115 -144.45 - 16 76.91211 895 2 0 0.054153661 -0.49004073 -145.85 - 16 128.36013 891 1 0 -0.22401418 -1.2766129 -175.85 - 16 140.97892 893 0 1 -1.0347962 -1.9651159 -204.45 - 16 18.061632 892 0 1 -1.0552513 -1.9785591 -204.79268 - 16 109.16428 888 0 0 -1.1345431 -2.0165112 -205.85 -Number of digits in this event = 4 -Event: 17 -Number of tracker hits in this event = 20 - 17 113.73498 896 2 1 0.05 -1.6219303 -144.58089 - 17 59.227216 890 2 0 0.055651567 -1.6469559 -145.85 - 17 40.588217 889 2 0 0.056810374 -1.6512454 -146.07857 - 17 98.79609 896 1 1 0.17861573 -2.2505719 -174.45 - 17 280.35129 886 1 0 0.18710059 -2.2858126 -175.85 - 17 163.20579 897 0 1 0.33918314 -2.9881173 -204.45 - 17 201.33311 883 0 0 0.32894514 -3.0356923 -205.85 - 17 42.941241 945 0 0 111.9771 10.034847 -206.25 - 17 387.95834 946 0 0 112.13489 10.059133 -206.2417 - 17 28.589547 1472 0 1 115.90769 10.027437 -204.85 - 17 56.96426 1473 0 1 116.00559 10.027353 -204.7952 - 17 121.34857 1474 0 1 116.20141 10.053497 -204.70229 - 17 66.293672 1475 0 1 116.41792 10.082069 -204.65221 - 17 42.49686 1476 0 1 116.60563 10.064457 -204.53864 - 17 49.660409 1477 0 1 116.81101 10.094677 -204.45 - 17 94.807004 1478 0 1 116.96129 10.156995 -204.47967 - 17 75.215819 1479 0 1 117.15865 10.281133 -204.69767 - 17 242.34363 950 0 0 117.8658 10.904053 -205.85 - 17 158.91597 1492 0 1 119.85791 6.9720444 -204.85 - 17 343.73262 1493 0 1 119.95298 6.8009982 -204.6579 -Number of digits in this event = 9 -Event: 18 -Number of tracker hits in this event = 8 - 18 121.781 895 3 1 -0.50430897 -0.14999638 -114.45 - 18 183.55611 895 2 1 -0.57081074 -0.070880133 -144.45 - 18 31.568813 894 1 1 -0.73877231 0.05 -174.76039 - 18 102.31294 897 1 0 -0.66980452 0.30700228 -175.85 - 18 114.78845 899 0 1 0.65617367 7.7577433 -204.45 - 18 134.32916 934 0 0 0.99999459 7.7419498 -205.85 - 18 68.117423 699 2 0 -109.16316 -39.724169 -146.25 - 18 167.00825 426 7 1 -94.812572 -11.650144 5.3894599 -Number of digits in this event = 6 -Event: 19 -Number of tracker hits in this event = 27 - 19 109.45626 896 5 0 -0.13377791 0.12806783 -55.85 - 19 143.22544 898 3 1 0.59728463 -1.652088 -114.45 - 19 109.99101 889 3 0 0.55201716 -1.7972914 -115.85 - 19 209.04395 895 2 1 -0.58710058 -4.7479263 -144.45 - 19 198.45249 874 2 0 -0.68887511 -4.8015827 -145.85 - 19 134.87264 889 1 1 -1.7689801 -6.5253881 -174.45 - 19 120.92553 863 1 0 -1.7654613 -6.8745772 -175.85 - 19 143.57893 890 0 1 -1.4914702 -13.913833 -204.45 - 19 51.49402 891 0 1 -1.414432 -13.946824 -204.67812 - 19 117.04596 827 0 0 -0.98071112 -14.098488 -205.85 - 19 48.318589 1483 0 0 -100.01308 118.0168 -206.20963 - 19 114.25035 892 1 1 -1.1660693 -6.2995398 -174.45 - 19 32.917294 866 1 0 -1.1774609 -6.2532282 -175.85 - 19 85.417414 867 1 0 -1.1791679 -6.2482679 -175.96424 - 19 139.67117 889 0 1 -1.713957 -5.1581411 -204.45 - 19 105.51513 872 0 0 -1.8206065 -5.1008117 -205.85 - 19 66.859037 894 2 1 -0.65552247 -4.4575706 -144.46673 - 19 145.96414 899 4 0 -0.59879986 0.72173612 -85.85 - 19 12.945975 900 4 0 -0.85999392 0.87339142 -86.211721 - 19 296.87526 1011 4 0 -71.025521 23.155933 -86.25 - 19 27.682057 534 4 1 -72.83723 23.415649 -84.85 - 19 50.677374 533 4 1 -72.927254 23.429036 -84.807483 - 19 108.52323 532 4 1 -73.108796 23.436996 -84.720162 - 19 260.02383 531 4 1 -73.303336 23.488159 -84.730999 - 19 286.14377 530 4 1 -73.484489 23.498583 -84.811551 - 19 93.274266 1012 4 0 -74.093208 23.310851 -85.85 - 19 4.6908901 529 4 1 -73.658181 24.110909 -84.462963 -Number of digits in this event = 14 -Event: 20 -Number of tracker hits in this event = 34 - 20 103.07808 897 5 1 0.35738513 -0.44130658 -54.45 - 20 117.89141 895 5 0 0.37050384 -0.47076935 -55.85 - 20 149.972 898 4 1 0.64150341 -1.0487508 -84.45 - 20 217.09882 892 4 0 0.64883009 -1.0743231 -85.85 - 20 242.6053 900 3 1 0.85257519 -1.6382098 -114.45 - 20 116.97943 889 3 0 0.87033104 -1.6798164 -115.85 - 20 374.93968 902 2 1 1.2936596 -2.5550528 -144.45 - 20 116.09942 885 2 0 1.3202157 -2.5937278 -145.85 - 20 116.08709 905 1 1 1.8783057 -3.4128739 -174.45 - 20 116.88673 880 1 0 1.8875061 -3.4654793 -175.85 - 20 292.85393 906 0 1 2.074527 -4.5093613 -204.45 - 20 119.55929 875 0 0 2.0891337 -4.5572843 -205.85 - 20 15.992252 893 4 0 0.6246547 -1.0483632 -85.872274 - 20 106.20167 901 4 1 1.2372877 -0.48672135 -84.85 - 20 115.28771 892 3 0 1.0710519 -1.1521867 -115.85 - 20 18.054446 893 3 0 1.1061675 -1.0382168 -116.1947 - 20 181.1412 931 2 1 7.0558951 5.9822621 -144.45 - 20 37.759896 917 2 0 7.4712829 4.3588537 -145.85 - 20 83.659059 916 2 0 7.4972388 4.2284122 -145.96622 - 20 5.2371398 915 2 0 7.5469196 4.0091377 -146.23835 - 20 131.32777 819 2 0 14.829491 -15.655006 -146.25 - 20 73.28903 820 2 0 14.824469 -15.626562 -146.13448 - 20 179.77425 970 2 1 14.934287 -15.965811 -144.85 - 20 105.17397 888 2 0 1.4510766 -1.8671477 -145.85 - 20 33.726713 911 1 1 3.2453679 -0.34289786 -174.45 - 20 91.081588 912 1 1 3.2517277 -0.32081066 -174.56444 - 20 105.3433 896 1 0 3.2455624 0.076210895 -175.85 - 20 56.42701 907 0 1 2.3138006 11.067515 -204.53608 - 20 76.515009 908 0 1 2.5542017 11.057041 -204.58357 - 20 77.764616 909 0 1 2.762661 11.054747 -204.70157 - 20 6.2338535 910 0 1 2.9600246 11.09324 -204.83299 - 20 224.70834 952 0 0 4.2165187 11.261828 -205.85 - 20 82.639232 1046 2 1 30.062488 76.990039 -144.85 - 20 24.337658 901 2 1 1.244659 -1.8490841 -144.49107 -Number of digits in this event = 11 -Event: 21 -Number of tracker hits in this event = 29 - 21 189.08844 895 3 1 -0.50159761 -0.26316366 -114.45 - 21 187.72385 895 2 1 -0.56304152 -0.91826004 -144.45 - 21 342.76045 893 2 0 -0.57363122 -0.94178281 -145.85 - 21 74.951766 894 1 1 -0.83609803 -1.4407557 -174.45 - 21 56.918604 893 1 1 -0.85024262 -1.447394 -174.67859 - 21 290.86621 890 1 0 -0.92164993 -1.4836251 -175.85 - 21 151.56056 885 0 1 -2.6320687 -2.2969757 -204.45 - 21 230.259 884 0 1 -2.6527681 -2.3077864 -204.84358 - 21 121.77287 886 0 0 -2.7069877 -2.3351976 -205.85 - 21 11.653077 883 0 1 -2.8948913 -2.3093218 -204.83235 - 21 66.063626 885 0 0 -4.0110474 -2.6406401 -205.85 - 21 257.30245 884 0 0 -4.094579 -2.6723442 -205.92481 - 21 44.379049 854 0 1 -8.7414958 0.22701453 -204.85 - 21 407.40154 853 0 1 -8.8525962 0.27883083 -204.82341 - 21 225.09565 852 0 1 -9.0721701 0.46010275 -204.51258 - 21 204.46306 895 1 1 -0.60912446 -1.7695156 -174.45 - 21 105.90706 889 1 0 -0.62532943 -1.7401717 -175.85 - 21 118.83355 893 0 1 -0.90855453 -1.2869686 -204.45 - 21 126.55858 892 0 0 -0.93575647 -1.2484901 -205.85 - 21 111.21432 894 1 0 -0.51726008 -0.8162965 -175.85 - 21 103.20595 894 0 1 -0.7357789 -0.85794218 -204.45 - 21 131.43053 893 0 0 -0.79000995 -1.0200476 -205.85 - 21 132.45969 1231 0 1 67.075196 -18.923482 -204.67391 - 21 97.890934 1232 0 1 67.251536 -18.963235 -204.74338 - 21 198.066 683 4 1 -42.887943 -107.24521 -84.494405 - 21 27.50594 895 1 0 -11.441067 -0.45710718 -176.20279 - 21 206.99023 484 1 0 16.059717 -82.686755 -176.25 - 21 245.83913 483 1 0 15.819676 -82.855225 -176.0745 - 21 24.590339 721 2 1 -35.356541 -86.594228 -144.51394 -Number of digits in this event = 19 -Event: 22 -Number of tracker hits in this event = 12 - 22 145.09025 896 5 0 -0.2714527 0.11152017 -55.85 - 22 127.32499 895 4 1 -0.56237737 0.23753091 -84.45 - 22 27.052855 896 4 0 -0.58235636 0.2499301 -85.85 - 22 84.103467 897 4 0 -0.58396381 0.25100146 -85.964285 - 22 135.75312 893 3 1 -1.0091182 0.50279723 -114.45 - 22 117.7156 898 3 0 -1.0351876 0.51278394 -115.85 - 22 114.5734 890 2 1 -1.631196 0.92013656 -144.45 - 22 170.35102 900 2 0 -1.6534985 0.95241106 -145.85 - 22 177.65604 887 1 1 -2.0795362 1.5243294 -174.45 - 22 142.41177 903 1 0 -2.0631462 1.5485643 -175.85 - 22 143.65431 889 0 1 -1.7285275 2.0622659 -204.45 - 22 115.69359 906 0 0 -1.7151037 2.1239897 -205.85 -Number of digits in this event = 9 -Event: 23 -Number of tracker hits in this event = 7 - 23 104.39274 895 2 1 -0.57136067 -0.51956971 -144.45 - 23 176.63603 895 2 0 -0.59020077 -0.53152107 -145.85 - 23 120.1279 893 1 1 -0.93794335 -0.77327069 -174.45 - 23 108.75792 894 1 0 -0.95827204 -0.78885216 -175.85 - 23 153.94625 891 0 1 -1.3706423 -1.0585407 -204.45 - 23 291.78866 892 0 0 -1.3923486 -1.0598369 -205.85 - 23 28.925039 893 0 0 -1.3298745 -1.0480914 -205.86772 -Number of digits in this event = 6 -Event: 24 -Number of tracker hits in this event = 22 - 24 128.82225 896 5 1 0.19305759 -0.054143877 -54.45 - 24 138.67012 897 4 1 0.35086085 -0.10064272 -84.45 - 24 126.12131 898 3 1 0.47045293 -0.30980253 -114.45 - 24 159.53193 898 2 1 0.51644254 -0.47451965 -144.45 - 24 287.15994 895 2 0 0.52739484 -0.48835006 -145.85 - 24 132.1822 899 1 1 0.7697909 -0.71804846 -174.45 - 24 139.48834 894 1 0 0.75988569 -0.70973707 -175.85 - 24 142.82449 898 0 1 0.56088508 -0.51214172 -204.45 - 24 122.22252 895 0 0 0.5605153 -0.50344276 -205.85 - 24 7.9654069 655 1 0 100.9765 -48.641021 -176.25 - 24 71.292939 654 1 0 100.96779 -48.653131 -176.23516 - 24 22.099006 797 1 0 97.116103 -20.074506 -176.25 - 24 44.614818 798 1 0 97.139401 -20.047821 -176.2361 - 24 94.225048 1213 1 0 9.9558963 63.516964 -176.25 - 24 30.6218 899 0 1 0.77007586 -4.3927594 -204.85 - 24 44.975758 1255 2 0 -128.80531 71.998639 -146.25 - 24 72.003782 1256 2 0 -128.79477 72.052081 -146.21185 - 24 97.010252 1257 2 0 -128.86429 72.274808 -146.0938 - 24 28.4997 1258 2 0 -128.88985 72.456628 -145.87545 - 24 228.47563 252 2 1 -129.72078 74.978193 -144.85 - 24 5.3594029 253 2 1 -129.53888 75.020609 -144.45274 - 24 169.81426 1625 2 0 -82.829655 146.43013 -145.87904 -Number of digits in this event = 14 -Event: 25 -Number of tracker hits in this event = 11 - 25 127.16974 896 5 0 -0.1867974 0.1082352 -55.85 - 25 132.88387 895 4 1 -0.53188428 0.17172232 -84.45 - 25 120.25109 896 4 0 -0.57672529 0.18227754 -85.85 - 25 136.39406 890 3 1 -1.5082694 0.36587569 -114.45 - 25 128.28204 897 3 0 -1.5639339 0.3735916 -115.85 - 25 116.4701 884 2 1 -2.7420116 0.52443415 -144.45 - 25 116.34665 898 2 0 -2.8059201 0.51709749 -145.85 - 25 109.65672 877 1 1 -4.0733393 0.48540606 -174.45 - 25 162.03254 898 1 0 -4.1339193 0.50522703 -175.85 - 25 157.53699 871 0 1 -5.3446953 0.95423072 -204.45 - 25 168.54481 900 0 0 -5.3978413 0.96605037 -205.85 -Number of digits in this event = 9 -Event: 26 -Number of tracker hits in this event = 12 - 26 143.56287 896 5 1 0.089639325 0.094964301 -54.45 - 26 108.84405 896 5 0 0.095770967 0.09421663 -55.85 - 26 136.70517 896 4 1 0.21615164 0.09568997 -84.45 - 26 128.02104 896 4 0 0.21858536 0.096094487 -85.85 - 26 106.81608 897 3 1 0.28804572 0.10733569 -114.45 - 26 131.68683 896 3 0 0.28979522 0.1127639 -115.85 - 26 102.31988 897 2 1 0.38476912 0.27546108 -144.45 - 26 123.76175 897 2 0 0.41029899 0.2974434 -145.85 - 26 181.28014 900 1 1 0.87286298 0.76703814 -174.45 - 26 109.1132 899 1 0 0.89205899 0.78549372 -175.85 - 26 132.52925 902 0 1 1.2846988 1.1452849 -204.45 - 26 125.81818 901 0 0 1.2970479 1.1582536 -205.85 -Number of digits in this event = 11 -Event: 27 -Number of tracker hits in this event = 26 - 27 103.25652 896 4 1 0.083922109 0.056734923 -84.45 - 27 122.07119 896 4 0 0.075982686 0.054217065 -85.85 - 27 175.93494 894 2 1 -0.74632939 -1.2691524 -144.45 - 27 105.92754 891 2 0 -0.73356624 -1.2858115 -145.85 - 27 100.60242 894 1 0 -0.05692031 -0.69945967 -175.85 - 27 50.530614 895 4 1 -0.60459963 -0.59479632 -84.45 - 27 131.85799 894 4 1 -0.66210664 -0.66913395 -84.565023 - 27 109.01914 890 4 0 -1.2987778 -1.5268182 -85.85 - 27 248.75402 889 4 0 -1.4097339 -1.6817834 -86.078577 - 27 35.65777 822 3 1 -15.217399 -22.172837 -114.45 - 27 125.12264 821 3 1 -15.263192 -22.260329 -114.56438 - 27 81.089817 781 3 0 -15.812561 -23.298999 -115.85 - 27 120.1935 780 3 0 -15.914765 -23.484698 -116.0766 - 27 86.79537 754 2 1 -28.764897 -46.517059 -144.45 - 27 56.532823 753 2 1 -28.87372 -46.671738 -144.67696 - 27 124.63433 660 2 0 -29.398571 -47.453625 -145.85 - 27 37.990312 659 2 0 -29.555306 -47.680894 -146.19278 - 27 78.695092 687 1 1 -42.201238 -66.79858 -174.45 - 27 61.839927 686 1 1 -42.270205 -66.910586 -174.67691 - 27 157.66054 560 1 0 -42.640942 -67.519171 -175.85 - 27 28.705456 559 1 0 -42.747333 -67.694489 -176.19533 - 27 38.405385 623 0 1 -55.019405 -80.802999 -204.45 - 27 123.58409 622 0 1 -55.064829 -80.861909 -204.56495 - 27 177.39164 490 0 0 -55.598626 -81.529502 -205.85 - 27 49.897104 489 0 0 -55.696122 -81.65015 -206.07696 - 27 6.9632561 1345 5 1 90.472939 -28.215017 -54.85 -Number of digits in this event = 11 -Event: 28 -Number of tracker hits in this event = 20 - 28 136.84836 896 4 0 -0.26592824 0.13488461 -85.85 - 28 132.89449 898 2 1 0.48111635 0.94649493 -144.45 - 28 166.02636 900 2 0 0.53877845 0.96804862 -145.85 - 28 162.233 903 1 1 1.6060731 1.4630401 -174.45 - 28 149.57124 902 1 0 1.6254929 1.4489471 -175.85 - 28 113.84461 905 0 1 2.0263002 1.0864354 -204.45 - 28 115.2915 901 0 0 2.1154679 1.0680284 -205.85 - 28 49.903406 895 2 1 -0.45109834 1.4746673 -144.67865 - 28 134.10091 903 2 0 -0.46985909 1.5319021 -145.85 - 28 193.09068 893 1 1 -0.89879043 3.0834333 -174.45 - 28 96.527157 911 1 0 -1.0723312 3.1676373 -175.85 - 28 124.27609 876 0 1 -4.42325 5.0083877 -204.45 - 28 145.96644 920 0 0 -4.4750593 5.0142843 -205.85 - 28 61.303566 924 1 0 0.6581678 5.7283932 -175.85 - 28 56.593597 899 1 1 0.69782838 6.7511727 -174.85 - 28 30.48006 934 1 0 0.73235114 7.6838332 -175.85 - 28 68.5109 901 1 1 1.2296595 9.5401538 -174.85 - 28 7.5165585 896 6 1 0.050275273 0.05 -24.690219 - 28 83.83137 733 1 0 -28.889122 -32.933006 -176.25 - 28 116.43908 734 1 0 -28.841935 -32.847228 -176.17693 -Number of digits in this event = 11 -Event: 29 -Number of tracker hits in this event = 34 - 29 116.13352 896 5 1 0.11746272 -0.066963605 -54.45 - 29 116.96518 896 4 1 0.086742681 -0.067113768 -84.45 - 29 146.64432 895 1 0 -0.16521795 -0.59894839 -175.85 - 29 98.485657 895 0 0 -0.28998226 -0.56374426 -205.85 - 29 30.024509 1411 2 0 80.304094 103.69344 -146.25 - 29 239.83285 1412 2 0 80.337523 103.76611 -146.18994 - 29 157.12289 1413 2 0 80.855732 103.97329 -146.12365 - 29 157.23792 898 4 0 -0.13598563 0.63733135 -85.85 - 29 194.84489 934 3 1 7.7215302 -7.1132301 -114.45 - 29 194.95731 863 3 0 7.7080863 -7.0165244 -115.85 - 29 33.866364 931 2 1 7.2365151 -7.6320859 -144.45 - 29 79.552303 932 2 1 7.2645437 -7.6010544 -144.56417 - 29 135.0993 863 2 0 7.7043757 -6.9681939 -145.85 - 29 21.26529 864 2 0 7.8539741 -6.8149878 -146.19315 - 29 179.69244 982 1 1 17.438501 -0.52392105 -174.45 - 29 192.33005 898 1 0 17.159887 0.48455151 -175.85 - 29 101.10037 899 1 0 17.108921 0.67260612 -176.06858 - 29 41.61649 966 0 1 14.088216 37.829414 -204.45 - 29 95.27731 965 0 1 14.04599 37.746567 -204.57271 - 29 72.119639 1079 0 0 13.370084 36.826125 -205.85 - 29 72.044374 1078 0 0 13.276125 36.649491 -206.08811 - 29 69.357264 1095 0 0 23.337451 39.965097 -206.25 - 29 86.299457 1096 0 0 23.459806 40.05551 -206.20508 - 29 93.081178 1097 0 0 23.553423 40.258496 -206.11747 - 29 60.620728 1098 0 0 23.437198 40.493627 -205.89571 - 29 83.283632 1099 0 0 23.340437 40.654507 -205.85984 - 29 13.993449 1008 0 1 22.513706 46.84052 -204.85 - 29 60.124389 1294 0 0 22.786617 79.65121 -205.85 - 29 86.516746 1018 0 1 24.479665 84.651359 -204.85 - 29 6.0623424 1019 0 1 24.659867 84.67563 -204.84355 - 29 173.13687 1319 0 0 25.880939 84.682078 -205.85 - 29 85.183473 1320 0 0 26.177055 84.855467 -205.87477 - 29 48.971382 1025 0 1 26.037047 84.546279 -204.85 - 29 84.161651 1026 0 1 26.050877 84.55217 -204.81464 -Number of digits in this event = 12 -Event: 30 -Number of tracker hits in this event = 12 - 30 100.79549 896 4 1 0.065044736 0.051638392 -84.45 - 30 109.53981 898 2 0 -0.41812517 0.56028384 -145.85 - 30 74.161551 899 2 0 -0.47703046 0.72133795 -146.06525 - 30 2.66816 900 2 0 -0.52372877 0.92428204 -146.24337 - 30 131.26631 880 1 1 -3.4661472 28.416602 -174.45 - 30 61.329895 881 1 1 -3.2839572 28.309008 -174.57032 - 30 42.886557 882 1 1 -3.1096788 28.228652 -174.72919 - 30 119.55808 1032 1 0 -2.2899434 27.443193 -175.85 - 30 12.0978 1031 1 0 -2.0686443 27.240556 -176.22348 - 30 54.909036 1033 1 0 -6.6833477 27.490558 -175.86929 - 30 151.55708 895 0 0 -0.28331967 -0.61902437 -205.85 - 30 317.91009 1108 4 0 -28.242622 42.538855 -86.25 -Number of digits in this event = 5 -Event: 31 -Number of tracker hits in this event = 23 - 31 163.5337 896 3 1 0.14843737 -0.12057531 -114.45 - 31 119.01752 897 2 1 0.39950989 -0.48336681 -144.45 - 31 146.69796 895 2 0 0.4133326 -0.50517195 -145.85 - 31 114.24171 899 1 1 0.7293047 -0.92970106 -174.45 - 31 129.40753 893 1 0 0.74751976 -0.94563076 -175.85 - 31 142.5928 901 0 1 1.0853167 -1.2391906 -204.45 - 31 120.95442 891 0 0 1.0932251 -1.2549923 -205.85 - 31 91.613727 1329 0 1 86.657293 89.257361 -204.57695 - 31 96.435227 894 4 1 -0.78043788 0.24265586 -84.45 - 31 120.51159 897 4 0 -0.81308409 0.31549248 -85.85 - 31 130.18231 890 3 1 -1.5696465 2.5464942 -114.45 - 31 116.70922 909 3 0 -1.8779185 2.690339 -115.85 - 31 164.5699 859 2 1 -7.7032796 5.3073479 -144.45 - 31 132.06663 922 2 0 -8.1509979 5.3934622 -145.85 - 31 111.09056 808 1 1 -17.964835 6.7903694 -174.45 - 31 13.70825 807 1 1 -18.090775 6.7878275 -174.79373 - 31 152.03167 929 1 0 -18.482233 6.7717273 -175.85 - 31 94.453317 753 0 1 -28.97957 6.6976212 -204.45 - 31 28.248133 752 0 1 -29.069808 6.7240755 -204.79239 - 31 117.85573 929 0 0 -29.337729 6.8064695 -205.85 - 31 119.67678 896 1 1 0.10702079 0.53773873 -174.45 - 31 199.49105 872 0 1 -5.1684958 13.783954 -204.45 - 31 111.29931 964 0 0 -5.1378008 13.752238 -205.85 -Number of digits in this event = 12 -Event: 32 -Number of tracker hits in this event = 35 - 32 147.03362 896 5 1 0.11020748 -0.17602874 -54.45 - 32 154.56187 897 4 1 0.36033664 -0.33791714 -84.45 - 32 129.92608 899 3 1 0.81049421 -0.40596345 -114.45 - 32 124.27522 900 2 1 0.94111048 -0.54727799 -144.45 - 32 104.68855 895 2 0 0.9440618 -0.5502943 -145.85 - 32 137.8468 900 1 1 0.99144548 -0.63146585 -174.45 - 32 252.15721 895 1 0 0.99560775 -0.64335765 -175.85 - 32 126.82921 901 0 1 1.0980409 -0.91700568 -204.45 - 32 101.33748 893 0 0 1.1022117 -0.93118343 -205.85 - 32 57.986665 1050 9 0 100.18268 30.870646 63.75 - 32 81.474625 1051 9 0 100.17963 31.07366 63.828955 - 32 56.50372 1052 9 0 100.19296 31.255678 63.819667 - 32 13.358332 1053 9 0 100.19971 31.47247 63.784878 - 32 86.355026 895 3 0 1.2516948 -0.46083545 -116.23881 - 32 83.031941 894 3 0 1.3213115 -0.65223569 -116.07421 - 32 86.56799 905 3 1 1.9539992 -2.2041687 -114.85 - 32 99.6701 904 3 1 1.8479954 -2.2806682 -114.76041 - 32 50.604576 903 3 1 1.6387128 -2.1589332 -114.80267 - 32 5.9084619 856 3 0 -7.0236782 -8.3458308 -115.85 - 32 11.516858 852 3 1 -9.0769033 -10.082288 -114.85 - 32 235.54106 849 3 0 -9.0794985 -9.7834146 -115.85 - 32 30.299203 896 4 1 0.13892118 -0.25045779 -84.45 - 32 131.04881 902 4 0 -1.8791302 1.3168235 -85.85 - 32 75.5295 903 4 0 -2.1816438 1.5180377 -86.025208 - 32 132.44756 904 4 0 -2.3641308 1.6574071 -86.086006 - 32 6.8104526 905 4 0 -2.7225909 1.9250642 -86.242793 - 32 157.13668 652 3 1 -49.212454 45.200723 -114.45 - 32 76.833055 653 3 1 -48.903677 45.650711 -114.68929 - 32 67.472832 654 3 1 -48.702009 45.866459 -114.73796 - 32 105.0077 1136 3 0 -46.772126 48.124526 -115.85 - 32 197.67967 1137 3 0 -46.591289 48.283477 -115.9354 - 32 190.59449 1138 3 0 -46.363677 48.451087 -116.12679 - 32 234.73698 1139 3 0 -46.355609 48.651379 -115.89408 - 32 68.567925 902 0 1 1.2946156 -0.89801421 -204.59124 - 32 160.38681 894 0 0 1.2207126 -0.82661965 -205.85 -Number of digits in this event = 16 -Event: 33 -Number of tracker hits in this event = 30 - 33 117.95294 896 5 1 0.06595437 0.1168982 -54.45 - 33 107.38849 896 5 0 0.070810445 0.13538765 -55.85 - 33 141.4277 896 4 1 0.099478436 0.5378536 -84.45 - 33 288.50623 898 4 0 0.10380874 0.56370554 -85.85 - 33 128.72186 896 3 1 0.18622335 1.0735813 -114.45 - 33 119.74193 901 3 0 0.18304335 1.1000322 -115.85 - 33 173.47502 896 2 1 0.060508067 1.6713183 -144.45 - 33 116.66881 903 2 0 0.079144924 1.5573287 -145.85 - 33 119.94588 898 1 1 0.55978936 -0.72720703 -174.45 - 33 107.06063 893 1 0 0.57257689 -0.86258643 -175.85 - 33 109.49161 899 0 1 0.76320023 -3.667376 -204.45 - 33 154.06807 879 0 0 0.78162586 -3.7964758 -205.85 - 33 83.666498 1368 2 0 144.21899 95.037507 -146.25 - 33 228.10649 1369 2 0 144.1064 95.150531 -146.11108 - 33 139.30418 878 0 0 0.82635903 -3.8677919 -206.1479 - 33 7.5848367 881 0 0 1.1893958 -3.2954227 -206.24089 - 33 47.916555 680 0 0 -8.2691543 -43.613793 -206.25 - 33 177.09461 918 0 1 4.6214021 84.852371 -204.45 - 33 207.83151 917 0 1 4.444391 84.786261 -204.48306 - 33 148.92713 921 2 1 5.24437 -0.43974059 -144.45 - 33 101.25743 922 2 1 5.2572488 -0.43848338 -144.56419 - 33 129.84115 933 1 1 7.6236307 0.10787513 -174.45 - 33 127.98027 896 1 0 7.0238255 0.138179 -175.85 - 33 118.63146 877 0 1 -4.1137753 0.94761509 -204.45 - 33 10.868398 876 0 1 -4.258771 0.96847411 -204.79277 - 33 131.30133 900 0 0 -4.7007401 1.0318582 -205.85 - 33 18.911099 901 0 0 -4.8398646 1.0523943 -206.19449 - 33 104.30067 891 2 0 5.6468073 -1.2660305 -145.85 - 33 211.59666 890 2 0 5.5808364 -1.459261 -146.04351 - 33 333.03246 889 2 0 5.1070873 -1.6512974 -146.05403 -Number of digits in this event = 17 -Event: 34 -Number of tracker hits in this event = 21 - 34 104.99583 897 5 1 0.32007297 -0.23000921 -54.45 - 34 106.8712 899 4 1 0.73247841 -0.49841779 -84.45 - 34 151.70219 895 4 0 0.75977883 -0.51077587 -85.85 - 34 291.32008 902 3 1 1.3159166 -0.7230447 -114.45 - 34 268.08179 894 3 0 1.3378487 -0.73593888 -115.85 - 34 116.58476 904 2 1 1.8289705 -0.9856441 -144.45 - 34 171.44399 893 2 0 1.8417086 -0.99201951 -145.85 - 34 119.24225 906 1 1 2.1398211 -1.1475988 -174.45 - 34 107.65079 892 1 0 2.1628957 -1.1366439 -175.85 - 34 305.80741 908 0 1 2.567599 -0.89525238 -204.45 - 34 123.79037 893 0 0 2.5917604 -0.87821186 -205.85 - 34 110.67342 903 2 1 1.5959643 0.10123649 -144.45 - 34 143.64828 896 2 0 1.729652 0.070659195 -145.85 - 34 134.98361 921 1 1 5.0903423 -0.89204598 -174.45 - 34 117.02926 893 1 0 5.2491125 -0.8580115 -175.85 - 34 74.988167 894 1 0 5.2882278 -0.84963644 -176.19301 - 34 112.75851 939 0 1 8.7158979 0.21165415 -204.45 - 34 319.22457 896 0 0 8.8988027 0.13515951 -205.85 - 34 169.77884 1282 3 1 77.355393 -25.505588 -114.72233 - 34 147.61731 1281 3 1 77.236736 -25.424482 -114.5608 - 34 2.6404667 790 10 0 -96.828295 -21.501566 94.15 -Number of digits in this event = 12 -Event: 35 -Number of tracker hits in this event = 22 - 35 113.714 902 5 1 1.2543108 0.59386103 -54.45 - 35 165.68163 898 5 0 1.3356628 0.59323985 -55.85 - 35 110.45809 909 4 1 2.7761356 0.72463179 -84.45 - 35 118.29636 900 4 0 2.8660776 0.90918691 -85.85 - 35 108.69896 919 3 1 4.7332839 4.6986984 -114.45 - 35 142.41036 919 3 0 4.8162473 4.8189718 -115.85 - 35 127.90116 927 2 1 6.3655182 7.2230955 -144.45 - 35 119.69407 932 2 0 6.4194459 7.3937404 -145.85 - 35 275.01358 933 1 1 7.5247464 10.684001 -174.45 - 35 60.920442 949 1 0 7.5690659 10.837147 -175.85 - 35 181.98343 950 1 0 7.5759664 10.860843 -176.07873 - 35 278.5743 936 0 1 8.2258994 13.588021 -204.45 - 35 123.91499 964 0 0 8.2649385 13.68859 -205.85 - 35 194.88646 935 0 1 8.0364404 13.589999 -204.7315 - 35 189.72486 1036 0 0 8.419787 28.141502 -206.25 - 35 63.107496 935 2 0 6.2501244 7.9020902 -146.02593 - 35 99.717924 927 0 1 6.3105694 16.330868 -204.45 - 35 15.124763 926 0 1 6.2413157 16.232335 -204.79273 - 35 110.62602 974 0 0 6.0627303 15.8186 -205.85 - 35 28.3065 978 0 0 29.746888 16.608145 -206.25 - 35 59.493773 967 0 0 11.253218 14.449231 -206.07941 - 35 137.61129 968 0 0 11.251182 14.463281 -206.17822 -Number of digits in this event = 11 -Event: 36 -Number of tracker hits in this event = 26 - 36 123.47555 895 3 1 -0.5637208 -0.42520675 -114.45 - 36 114.19891 894 2 1 -0.74940275 -0.72591072 -144.45 - 36 127.14963 894 2 0 -0.74766195 -0.72421221 -145.85 - 36 133.43231 894 1 1 -0.73673019 -0.65447562 -174.45 - 36 127.47766 895 1 0 -0.72218964 -0.63976036 -175.85 - 36 124.7768 902 3 1 1.291738 2.0301979 -114.45 - 36 17.881406 901 3 1 1.2442786 2.1292133 -114.797 - 36 88.868745 907 3 0 1.0391892 2.369945 -115.85 - 36 11.778843 908 3 0 0.99120855 2.4542791 -116.19427 - 36 54.159863 884 2 1 -2.7808263 10.43775 -144.45 - 36 52.525296 883 2 1 -2.9748025 10.535573 -144.55697 - 36 101.22226 882 2 1 -3.1721351 10.652388 -144.63475 - 36 65.999214 881 2 1 -3.356282 10.773192 -144.7354 - 36 23.803918 880 2 1 -3.5521958 10.889683 -144.81714 - 36 128.96726 960 2 0 -6.7587981 12.979705 -145.85 - 36 105.50178 961 2 0 -7.1212206 13.190173 -145.98553 - 36 136.89492 962 2 0 -7.4616613 13.417372 -146.14825 - 36 56.324413 419 1 1 -96.279628 70.141233 -174.45 - 36 108.66835 420 1 1 -96.124436 70.223805 -174.55315 - 36 56.593241 421 1 1 -95.832379 70.420144 -174.75809 - 36 147.60644 1252 1 0 -94.404716 71.330905 -175.85 - 36 142.4616 1253 1 0 -94.106938 71.509057 -176.08189 - 36 31.506763 642 0 1 -51.178994 82.974332 -204.45 - 36 139.9454 641 0 1 -51.255503 82.980799 -204.55324 - 36 349.71961 1309 0 0 -52.70565 82.804333 -205.85 - 36 171.63988 1310 0 0 -52.897074 82.864822 -206.00811 -Number of digits in this event = 14 -Event: 37 -Number of tracker hits in this event = 22 - 37 102.06499 902 5 1 1.307722 -0.269268 -54.45 - 37 156.90283 908 4 1 2.4948425 -0.24636839 -84.45 - 37 113.10324 914 3 1 3.776563 -0.12475667 -114.45 - 37 184.60673 924 2 1 5.7459491 0.42555737 -144.45 - 37 120.19484 897 2 0 5.8504658 0.42459814 -145.85 - 37 114.0219 934 1 1 7.7682545 0.33277733 -174.45 - 37 120.77735 897 1 0 7.8348045 0.35907466 -175.85 - 37 135.01792 941 0 1 9.1776287 0.91073969 -204.45 - 37 345.50194 900 0 0 9.2457322 0.89247595 -205.85 - 37 3.7135 901 0 0 9.2905871 1.06276 -206.23366 - 37 136.02639 896 6 1 0.059969982 0.05 -24.487374 - 37 79.832608 897 6 1 0.29230036 0.37963387 -24.752329 - 37 195.47109 902 6 0 6.2563091 1.2758888 -25.85 - 37 164.55285 998 6 0 8.4548608 20.493036 -26.25 - 37 150.81757 934 6 1 7.7680908 20.193678 -24.85 - 37 236.2237 933 6 1 7.6255228 20.219417 -24.616277 - 37 85.001821 932 6 1 7.4289733 20.169962 -24.635577 - 37 333.68183 931 6 1 7.2376591 20.317211 -24.58552 - 37 111.97953 896 1 0 0.055697075 0.15693955 -175.85 - 37 119.88908 898 0 1 0.47230879 0.12013641 -204.45 - 37 223.93108 896 0 0 0.50116772 0.097736851 -205.85 - 37 51.548771 1459 6 0 -147.94136 113.19252 -26.25 -Number of digits in this event = 15 -Event: 38 -Number of tracker hits in this event = 20 - 38 83.675505 896 6 0 -0.05 0.082898271 -25.972509 - 38 117.83746 893 5 1 -1.0175533 2.2425238 -54.45 - 38 186.94586 907 5 0 -1.0193914 2.3654027 -55.85 - 38 124.16625 893 4 1 -1.017508 5.1580895 -84.45 - 38 310.50476 922 4 0 -1.0239958 5.2721048 -85.85 - 38 128.01204 895 3 1 -0.64456761 8.2484882 -114.45 - 38 166.0611 937 3 0 -0.48838166 8.3134595 -115.85 - 38 134.9934 908 2 1 2.4835863 9.5036263 -144.45 - 38 115.52837 943 2 0 2.6031064 9.5956821 -145.85 - 38 240.55942 921 1 1 5.1809215 11.036553 -174.45 - 38 26.015646 951 1 0 5.0679005 11.234795 -175.85 - 38 97.796843 952 1 0 5.0586819 11.250253 -175.96441 - 38 105.203 908 0 1 2.4899648 15.251617 -204.45 - 38 180.86202 972 0 0 2.4772485 15.402055 -205.85 - 38 42.525755 921 4 0 -1.0349902 5.2482368 -85.897784 - 38 56.891197 886 3 1 -2.2998537 6.0103751 -114.69181 - 38 119.223 927 3 0 -2.4321984 6.3369523 -115.85 - 38 101.83653 926 3 0 -2.2889361 6.2422425 -116.10186 - 38 115.01874 925 3 0 -2.2221408 6.0336923 -116.07806 - 38 142.03707 924 3 0 -2.1858708 5.8472081 -115.98691 -Number of digits in this event = 10 -Event: 39 -Number of tracker hits in this event = 58 - 39 125.32101 895 5 0 -0.76510164 -0.52289525 -55.85 - 39 26.795756 894 5 0 -0.944116 -0.67974567 -56.192695 - 39 174.64725 819 4 1 -15.65475 -13.051532 -84.45 - 39 40.615015 827 4 0 -16.579716 -14.199928 -85.85 - 39 165.73533 826 4 0 -16.662068 -14.293978 -85.959561 - 39 37.489133 825 4 0 -16.860451 -14.459694 -86.168368 - 39 137.99488 676 3 1 -44.297882 -41.521745 -114.45 - 39 30.580869 675 3 1 -44.453622 -41.378479 -114.75107 - 39 38.547352 693 3 0 -44.573179 -40.893963 -115.85 - 39 109.80299 694 3 0 -44.589474 -40.839327 -115.96118 - 39 197.22861 697 2 1 -40.112568 -15.211798 -144.45 - 39 68.324414 698 2 1 -39.85552 -15.16942 -144.53524 - 39 66.068846 700 2 1 -39.623927 -15.29995 -144.58965 - 39 76.178132 701 2 1 -39.391692 -15.368484 -144.71076 - 39 106.42963 702 2 1 -39.117604 -15.353634 -144.75239 - 39 68.357431 703 2 1 -38.866283 -15.447539 -144.80782 - 39 328.14861 814 2 0 -34.492332 -16.685665 -145.85 - 39 529.77029 813 2 0 -33.76994 -16.889346 -145.91552 - 39 110.52994 760 2 1 -27.585143 -17.377126 -144.85 - 39 102.61618 761 2 1 -27.289898 -17.373735 -144.75636 - 39 75.45576 763 2 1 -26.985322 -17.441768 -144.70915 - 39 72.398065 764 2 1 -26.695444 -17.543825 -144.70848 - 39 16.923402 765 2 1 -26.471745 -17.756148 -144.72587 - 39 82.674947 766 2 1 -26.421083 -17.803984 -144.74419 - 39 95.226208 767 2 1 -26.178177 -17.984414 -144.83204 - 39 53.085248 768 2 1 -25.888463 -18.096169 -144.80956 - 39 93.292698 769 2 1 -25.67905 -18.150436 -144.79505 - 39 0.18142915 771 2 1 -25.371936 -18.185649 -144.84976 - 39 96.22402 806 2 0 -22.273517 -18.398678 -145.85 - 39 110.49971 805 2 0 -21.890518 -18.45752 -145.87254 - 39 100.2552 822 2 1 -15.220909 -18.818321 -144.85 - 39 40.325735 823 2 1 -14.893926 -18.757696 -144.76895 - 39 44.01777 824 2 1 -14.734723 -18.734905 -144.70437 - 39 38.367077 825 2 1 -14.597294 -18.644867 -144.65439 - 39 103.07994 826 2 1 -14.42843 -18.611101 -144.63819 - 39 40.45622 827 2 1 -14.128561 -18.475296 -144.68467 - 39 97.885901 828 2 1 -13.983433 -18.39231 -144.73597 - 39 150.61655 829 2 1 -13.831724 -18.098319 -144.84088 - 39 35.40224 895 2 1 -0.45793217 0.57046892 -144.75887 - 39 119.76252 898 2 0 -0.68937247 0.6248835 -145.85 - 39 87.539365 876 1 1 -4.4426426 0.51352617 -174.45 - 39 67.867191 877 1 1 -4.2455702 0.43565256 -174.66437 - 39 86.631024 896 1 0 -3.354653 0.13964567 -175.85 - 39 80.964233 902 0 1 1.3206047 -4.3469656 -204.45 - 39 68.337684 901 0 1 1.223344 -4.4421408 -204.67417 - 39 81.478825 872 0 0 0.88034072 -5.1571193 -205.85 - 39 51.275196 871 0 0 0.82083967 -5.2688657 -206.09355 - 39 63.253409 982 0 0 -23.109596 17.332588 -206.25 - 39 131.35067 983 0 0 -23.240277 17.466057 -206.15344 - 39 246.41329 984 0 0 -23.478114 17.705131 -205.92596 - 39 31.729254 985 0 0 -23.688831 17.93448 -205.87735 - 39 38.833049 757 0 1 -28.198793 20.910015 -204.85 - 39 75.363514 756 0 1 -28.306274 21.002447 -204.81003 - 39 86.699988 755 0 1 -28.531849 21.16638 -204.723 - 39 262.81789 754 0 1 -28.663552 21.423297 -204.67512 - 39 292.35868 753 0 1 -28.853843 21.649253 -204.68292 - 39 66.262822 752 0 1 -29.089454 21.75028 -204.45 - 39 326.48974 1011 0 0 -30.931671 23.068288 -205.85 -Number of digits in this event = 15 -Event: 40 -Number of tracker hits in this event = 5 - 40 153.20433 896 3 1 0.21111396 -0.077521232 -114.45 - 40 141.67244 896 2 1 0.20449442 0.054507719 -144.45 - 40 120.00073 896 2 0 0.19917288 0.059782434 -145.85 - 40 92.734734 897 0 0 -0.21643283 0.40896016 -205.85 - 40 55.65355 896 4 0 0.10152365 0.05 -85.901543 -Number of digits in this event = 4 -Event: 41 -Number of tracker hits in this event = 12 - 41 119.69346 894 3 1 -0.65161099 -0.18141146 -114.45 - 41 22.117493 893 2 1 -1.0493704 -0.40841253 -144.45 - 41 81.063232 892 2 1 -1.0509877 -0.40916278 -144.56429 - 41 118.77075 890 1 1 -1.4641083 -0.6248129 -174.45 - 41 142.88097 895 1 0 -1.4866974 -0.6333526 -175.85 - 41 127.13368 888 0 1 -1.9754217 -0.77371777 -204.45 - 41 118.71266 894 0 0 -1.984886 -0.76867655 -205.85 - 41 86.412059 714 8 0 123.53496 -36.745983 34.15 - 41 37.30794 4 10 1 -179.27533 -138.54969 95.464266 - 41 123.1508 886 0 1 -2.3022591 -1.4470999 -204.45 - 41 21.896651 892 0 0 -2.5321619 -1.0662478 -205.85 - 41 88.820063 893 0 0 -2.5520609 -1.0363992 -205.96445 -Number of digits in this event = 5 -Event: 42 -Number of tracker hits in this event = 15 - 42 100.37393 896 4 1 0.22223135 -0.487119 -84.45 - 42 240.50295 895 4 0 0.22337559 -0.50865702 -85.85 - 42 128.32311 896 3 1 0.23519782 -0.99638568 -114.45 - 42 118.05797 893 3 0 0.24336831 -1.0206468 -115.85 - 42 122.33161 897 2 1 0.40441276 -1.3866065 -144.45 - 42 140.91869 891 2 0 0.42751922 -1.3824778 -145.85 - 42 169.35388 900 1 1 0.93967454 -1.2954231 -174.45 - 42 162.40499 891 1 0 0.94630261 -1.3026383 -175.85 - 42 181.91277 901 0 1 1.1273389 -1.5679612 -204.45 - 42 105.89155 890 0 0 1.171635 -1.5790968 -205.85 - 42 185.99969 731 6 0 9.0566354 -33.296669 -26.25 - 42 30.168681 897 1 0 -0.36009301 0.26182563 -175.85 - 42 92.60624 896 1 0 -0.37995111 0.24155413 -175.96675 - 42 224.72513 895 1 0 -0.40480552 -0.46957597 -175.95949 - 42 72.166461 894 1 0 -0.25076616 -0.65361827 -175.90419 -Number of digits in this event = 10 -Event: 43 -Number of tracker hits in this event = 19 - 43 113.9962 896 5 1 0.079876933 -0.41442209 -54.45 - 43 99.61961 898 4 1 0.54860847 -0.10028586 -84.45 - 43 169.63816 901 3 1 1.1443649 0.70755189 -114.45 - 43 204.55948 899 3 0 1.1805029 0.73893503 -115.85 - 43 140.87072 904 2 1 1.8283995 1.184391 -144.45 - 43 105.1496 901 2 0 1.8818691 1.2038837 -145.85 - 43 144.56705 912 1 1 3.3739093 1.8064632 -174.45 - 43 167.50168 904 1 0 3.461751 1.8406877 -175.85 - 43 215.50713 921 0 1 5.2044738 2.5260142 -204.45 - 43 152.42036 908 0 0 5.2922353 2.5603742 -205.85 - 43 124.59119 898 3 1 0.47555065 -0.46882424 -114.45 - 43 129.89809 895 3 0 0.51698546 -0.49383473 -115.85 - 43 99.320606 901 2 1 1.2417296 -1.011956 -144.45 - 43 184.11804 892 2 0 1.2733206 -1.0642099 -145.85 - 43 99.598657 906 1 1 2.1526223 -1.9645858 -174.45 - 43 156.87698 888 1 0 2.1639845 -2.0345226 -175.85 - 43 14.932078 887 1 0 2.166726 -2.0507211 -176.19288 - 43 108.988 907 0 1 2.4453473 -3.5232962 -204.45 - 43 101.30356 880 0 0 2.4266621 -3.6095082 -205.85 -Number of digits in this event = 13 -Event: 44 -Number of tracker hits in this event = 12 - 44 103.44964 896 4 1 0.24522361 -0.11335806 -84.45 - 44 117.48577 896 3 1 0.19573868 -0.29039155 -114.45 - 44 106.93557 896 2 1 0.20579474 -0.57427169 -144.45 - 44 113.77543 895 2 0 0.2136944 -0.58697607 -145.85 - 44 121.07609 897 1 1 0.33582245 -0.84960667 -174.45 - 44 172.46612 893 1 0 0.35025331 -0.86450419 -175.85 - 44 153.76013 898 0 1 0.61000131 -1.1710358 -204.45 - 44 112.3797 892 0 0 0.61663083 -1.1837702 -205.85 - 44 137.33478 1017 2 0 -47.932141 24.357768 -146.25 - 44 82.237534 655 2 1 -48.590832 24.58148 -144.85 - 44 186.46539 654 2 1 -48.693038 24.591812 -144.62828 - 44 120.84208 1018 2 0 -48.515352 24.569613 -145.85 -Number of digits in this event = 7 -Event: 45 -Number of tracker hits in this event = 16 - 45 128.58048 896 4 0 -0.35038514 0.12616174 -85.85 - 45 114.49352 894 3 1 -0.75328127 0.43152443 -114.45 - 45 128.85367 898 3 0 -0.77627326 0.45621748 -115.85 - 45 109.96039 891 2 1 -1.2541192 1.015229 -144.45 - 45 231.56561 901 2 0 -1.2950742 1.0616566 -145.85 - 45 121.80304 887 1 1 -2.0932017 2.0420062 -174.45 - 45 139.10049 906 1 0 -2.1421409 2.1022698 -175.85 - 45 201.62695 882 0 1 -3.1876713 3.3237657 -204.45 - 45 113.01234 912 0 0 -3.2078921 3.3994682 -205.85 - 45 57.304604 906 5 0 0.40906483 2.1445929 -55.85 - 45 99.95779 907 5 0 0.5033605 2.2917639 -55.943306 - 45 83.150956 908 5 0 0.49509691 2.4679102 -56.03054 - 45 44.611062 909 5 0 0.48032997 2.670818 -56.198232 - 45 60.492269 1319 5 0 -128.33752 84.690451 -56.25 - 45 95.170936 1320 5 0 -128.3981 84.856569 -56.184881 - 45 7.8646623 1321 5 0 -128.47846 85.053984 -56.235175 -Number of digits in this event = 8 -Event: 46 -Number of tracker hits in this event = 31 - 46 107.45694 896 4 1 0.1139016 -0.11229391 -84.45 - 46 96.955296 895 1 1 -0.64439077 -0.6671055 -174.45 - 46 192.61611 894 1 0 -0.61093754 -0.8168164 -175.85 - 46 15.052897 893 1 0 -0.60819079 -0.8501003 -176.1931 - 46 150.73218 898 0 1 0.58464778 -4.6061378 -204.45 - 46 107.82774 897 0 1 0.41083428 -4.5852423 -204.66694 - 46 82.361631 896 0 1 0.21266025 -4.4091521 -204.7517 - 46 91.218741 907 0 0 -4.2056988 2.3360925 -205.85 - 46 102.61062 909 0 0 -4.3653786 2.6713362 -205.91181 - 46 40.677192 910 0 0 -4.4619452 2.9426558 -206.14116 - 46 79.974818 1588 1 1 139.07655 25.899266 -174.45 - 46 76.670853 1589 1 1 139.27937 26.070283 -174.5455 - 46 59.504581 1590 1 1 139.4251 26.228208 -174.72063 - 46 61.993466 1032 1 0 141.15263 27.359888 -175.85 - 46 117.1867 1033 1 0 141.34815 27.478889 -175.93176 - 46 23.915278 1034 1 0 141.63466 27.739881 -176.20624 - 46 83.650014 806 2 0 0.85596355 -18.411867 -146.25 - 46 112.51332 805 2 0 0.86085692 -18.483274 -146.13848 - 46 103.10689 900 2 1 0.92519644 -19.162143 -144.85 - 46 321.75857 798 3 0 67.547246 -20.047419 -116.25 - 46 49.906401 1244 3 1 69.806645 -20.091694 -114.85 - 46 45.742862 1245 3 1 69.965162 -20.110335 -114.73603 - 46 48.719936 1246 3 1 70.134402 -20.138685 -114.64106 - 46 49.149591 1247 3 1 70.309471 -20.154539 -114.5541 - 46 12.410235 1248 3 1 70.484043 -20.175731 -114.46729 - 46 16.197656 901 4 0 60.747714 1.2078718 -86.25 - 46 71.810622 902 4 0 60.723812 1.2639771 -86.196345 - 46 83.745074 903 4 0 60.686897 1.4568195 -86.059443 - 46 83.116452 1197 4 1 60.339008 1.9304297 -84.85 - 46 32.880828 1196 4 1 60.23785 1.9970921 -84.56467 - 46 15.288762 1473 4 1 116.07253 -28.295075 -84.491125 -Number of digits in this event = 6 -Event: 47 -Number of tracker hits in this event = 33 - 47 157.95005 896 5 1 0.098876209 0.155015 -54.45 - 47 106.84627 896 5 0 0.11772864 0.15779501 -55.85 - 47 320.55777 898 4 1 0.54553404 0.19992046 -84.45 - 47 269.8506 896 4 0 0.57028038 0.21510464 -85.85 - 47 130.43378 900 3 1 1.0395808 0.62867556 -114.45 - 47 26.260533 898 3 0 1.0681712 0.64890045 -115.85 - 47 97.655402 899 3 0 1.0704434 0.65043232 -115.96429 - 47 225.38848 903 2 1 1.6014798 1.0292544 -144.45 - 47 120.4418 901 2 0 1.5961908 1.0500836 -145.85 - 47 118.86646 903 1 1 1.5197886 1.4239326 -174.45 - 47 103.54038 902 1 0 1.5247028 1.439394 -175.85 - 47 146.37459 903 0 1 1.6311126 1.6835086 -204.45 - 47 108.61382 904 0 0 1.6389099 1.7003404 -205.85 - 47 212.93598 254 13 0 4.7217908 -129.16942 183.75 - 47 109.0965 925 13 1 5.9575331 -129.78553 185.15 - 47 86.340373 926 13 1 6.0513793 -129.83632 185.26741 - 47 55.33803 927 13 1 6.2657544 -129.9393 185.4772 - 47 50.51267 96 14 0 28.108429 -160.85055 213.75 - 47 112.82515 95 14 0 28.194613 -160.9826 213.85824 - 47 48.057134 94 14 0 28.37676 -161.24578 214.06729 - 47 114.1711 1043 14 1 29.507001 -162.62558 215.15 - 47 54.773151 1044 14 1 29.771779 -162.89833 215.37287 - 47 158.51215 1045 14 1 29.910256 -163.01327 215.50008 - 47 134.15283 890 3 1 -1.5925505 1.5536991 -114.45 - 47 221.56822 903 3 0 -1.6170434 1.5406476 -115.85 - 47 184.59544 899 2 1 0.74689561 0.48296289 -144.45 - 47 98.022304 898 2 0 0.72659449 0.51484821 -145.85 - 47 197.64493 899 1 0 0.29795099 0.72792142 -175.85 - 47 89.200024 940 0 1 9.0064628 -4.9842131 -204.45 - 47 15.665361 941 0 1 9.064236 -5.0661601 -204.79454 - 47 139.3282 871 0 0 9.2369176 -5.3014314 -205.85 - 47 465.08288 970 3 0 -25.730454 14.959206 -116.25 - 47 11.865395 971 3 0 -25.617566 15.052748 -116.00402 -Number of digits in this event = 17 -Event: 48 -Number of tracker hits in this event = 17 - 48 116.73467 896 4 0 -0.075455938 0.20344989 -85.85 - 48 109.32342 897 3 1 0.25892297 1.1049719 -114.45 - 48 118.14761 901 3 0 0.2797541 1.1532836 -115.85 - 48 106.73009 899 2 1 0.74093274 2.1800016 -144.45 - 48 100.95793 906 2 0 0.76656698 2.2358346 -145.85 - 48 115.7521 902 1 1 1.3101132 3.3533544 -174.45 - 48 157.72091 912 1 0 1.3437971 3.4060165 -175.85 - 48 131.7374 905 0 1 2.0136128 4.4870224 -204.45 - 48 91.025579 918 0 0 2.0289637 4.5329162 -205.85 - 48 35.333387 462 4 0 49.829277 -87.055697 -86.25 - 48 127.97674 895 3 1 -0.45794079 0.53241588 -114.45 - 48 33.918671 894 3 1 -0.73244519 0.38708901 -114.76293 - 48 47.862823 896 3 0 -1.9707579 0.074266668 -115.85 - 48 122.77301 1024 3 0 -73.792032 25.692744 -116.25 - 48 52.871679 1025 3 0 -73.920059 26.013472 -115.977 - 48 39.310937 1026 3 0 -73.836195 26.211759 -115.90875 - 48 161.61449 531 3 1 -73.421747 27.717347 -114.85 -Number of digits in this event = 6 -Event: 49 -Number of tracker hits in this event = 27 - 49 132.07251 896 5 1 0.091771633 0.13530202 -54.45 - 49 122.52754 896 5 0 0.10470154 0.14820117 -55.85 - 49 134.13859 897 4 1 0.37234924 0.40799606 -84.45 - 49 130.53623 897 4 0 0.37929953 0.42534906 -85.85 - 49 257.54218 898 3 1 0.55490688 0.76720892 -114.45 - 49 142.5446 899 3 0 0.62829298 0.75092437 -115.85 - 49 105.75582 906 2 1 2.1179753 0.40477854 -144.45 - 49 140.80542 897 2 0 2.2050799 0.34809366 -145.85 - 49 104.08291 915 1 1 4.0305401 -0.62858273 -174.45 - 49 14.918533 916 1 1 4.0558015 -0.64428716 -174.79289 - 49 96.018262 894 1 0 4.1395079 -0.69803446 -175.85 - 49 90.803006 927 0 1 6.4258838 -2.1188474 -204.45 - 49 16.496429 928 0 1 6.4541009 -2.1462465 -204.79288 - 49 189.99258 887 0 0 6.5366211 -2.229928 -205.85 - 49 31.369129 886 0 0 6.563703 -2.2560756 -206.1929 - 49 13.83492 766 1 0 48.588305 -26.304056 -175.90571 - 49 134.64184 1138 1 1 48.571346 -26.384091 -174.85 - 49 95.442234 1139 1 1 48.663216 -26.531581 -174.61803 - 49 215.51812 1140 1 1 48.881775 -26.811549 -174.52712 - 49 45.7716 1141 1 1 49.073135 -27.207489 -174.56775 - 49 83.035481 900 3 0 0.4103509 0.85680943 -115.96437 - 49 231.06793 889 2 1 -1.6644473 2.0129683 -144.45 - 49 117.38604 905 2 0 -1.6996714 2.0173573 -145.85 - 49 141.81621 884 1 1 -2.783393 1.9731959 -174.45 - 49 156.53246 906 1 0 -2.7959342 2.0681259 -175.85 - 49 291.95868 881 0 1 -3.3622636 4.3210818 -204.45 - 49 154.81771 917 0 0 -3.2061951 4.4012856 -205.85 -Number of digits in this event = 16 -Event: 50 -Number of tracker hits in this event = 14 - 50 128.65335 898 5 1 0.47766289 -0.17293052 -54.45 - 50 162.80867 899 4 1 0.65573865 -0.17635719 -84.45 - 50 104.02625 902 3 1 1.4415606 -0.53910989 -114.45 - 50 71.375389 903 3 1 1.4519107 -0.55366401 -114.79286 - 50 143.19643 895 3 0 1.4878166 -0.59946295 -115.85 - 50 126.59957 908 2 1 2.6307691 -1.8579393 -144.45 - 50 126.50986 888 2 0 2.6857533 -1.9143078 -145.85 - 50 34.924415 914 1 1 3.8479098 -3.1889293 -174.45 - 50 70.121907 915 1 1 3.8542894 -3.1946653 -174.56428 - 50 121.10943 881 1 0 3.9248748 -3.257462 -175.85 - 50 121.02865 922 0 1 5.3216572 -4.6472563 -204.45 - 50 265.97385 874 0 0 5.3831098 -4.7065036 -205.85 - 50 47.663991 226 3 0 94.582006 -134.94825 -115.94125 - 50 96.135144 225 3 0 94.5934 -134.95735 -115.94523 -Number of digits in this event = 9 -Event: 51 -Number of tracker hits in this event = 19 - 51 125.43127 896 5 1 0.067987819 0.16233763 -54.45 - 51 130.62397 896 5 0 0.067175379 0.18652696 -55.85 - 51 105.93982 896 4 1 0.072679648 0.67685569 -84.45 - 51 224.17033 899 4 0 0.073205352 0.69463425 -85.85 - 51 140.16125 896 3 1 0.055161464 1.0533682 -114.45 - 51 127.70362 901 3 0 0.057501978 1.0789121 -115.85 - 51 134.42404 896 2 1 0.15396748 1.5799234 -144.45 - 51 156.76445 903 2 0 0.15735928 1.5958465 -145.85 - 51 119.32922 896 1 1 0.23200055 1.9386877 -174.45 - 51 255.55828 905 1 0 0.24129346 1.9457396 -175.85 - 51 149.46587 897 0 1 0.43367574 2.1040729 -204.45 - 51 215.38138 906 0 0 0.43990724 2.1176844 -205.85 - 51 28.892624 905 0 0 0.50778158 2.0210869 -206.1993 - 51 293.95548 799 0 0 15.014091 -19.700016 -206.25 - 51 203.44119 800 0 0 14.63772 -19.638113 -205.96872 - 51 28.170378 1008 1 0 -54.809722 22.615305 -176.25 - 51 93.96067 1009 1 0 -54.820223 22.656139 -176.19473 - 51 116.37535 1010 1 0 -54.766056 22.858616 -176.09461 - 51 192.1727 1011 1 0 -54.735651 23.058916 -176.15072 -Number of digits in this event = 14 -Event: 52 -Number of tracker hits in this event = 4 - 52 126.53268 897 3 1 0.34704976 -0.16865359 -114.45 - 52 109.37849 898 2 1 0.5398461 -0.20267985 -144.45 - 52 107.62421 899 1 1 0.71543802 -0.27300173 -174.45 - 52 97.43148 901 0 1 1.0581398 -0.37442017 -204.45 -Number of digits in this event = 2 -Event: 53 -Number of tracker hits in this event = 15 - 53 104.92077 893 2 1 -0.92410605 -1.4374538 -144.45 - 53 164.54914 890 2 0 -0.92946337 -1.4915483 -145.85 - 53 116.58675 893 1 1 -1.0285655 -2.5595638 -174.45 - 53 116.02578 885 1 0 -1.0641246 -2.6161299 -175.85 - 53 131.38463 889 0 1 -1.7697822 -3.7884109 -204.45 - 53 103.13006 879 0 0 -1.8107534 -3.773565 -205.85 - 53 131.26868 1473 12 0 63.265274 116.04748 153.93892 - 53 237.39905 1472 12 0 63.21396 115.93843 154.07218 - 53 93.65679 1056 8 0 23.012758 32.1622 34.035386 - 53 7.4690698 1004 8 1 21.804884 30.924257 35.15 - 53 133.51818 1052 8 0 21.595636 31.333856 34.15 - 53 410.23143 1477 3 1 116.88819 -32.694824 -114.74575 - 53 90.196954 896 6 0 -0.094100403 0.05 -26.012258 - 53 57.6545 877 6 1 -4.1538121 -9.8945568 -24.85 - 53 1.8285 879 6 1 -3.6853346 -10.51931 -24.460966 -Number of digits in this event = 8 -Event: 54 -Number of tracker hits in this event = 22 - 54 108.68799 896 5 1 0.14161412 0.25544785 -54.45 - 54 127.76201 897 5 0 0.1529531 0.26803289 -55.85 - 54 115.2765 897 4 1 0.35728456 0.50599601 -84.45 - 54 101.54577 898 4 0 0.36375646 0.5118627 -85.85 - 54 100.09561 898 3 1 0.50973557 0.62279522 -114.45 - 54 146.03233 898 3 0 0.51091335 0.62698194 -115.85 - 54 112.70263 898 2 1 0.55248149 0.71186911 -144.45 - 54 114.35505 899 2 0 0.54504496 0.71125664 -145.85 - 54 103.79571 897 1 1 0.3301046 0.65438015 -174.45 - 54 109.57651 898 1 0 0.31453411 0.64839632 -175.85 - 54 171.02806 1696 3 1 160.66013 81.873493 -114.51341 - 54 16.053153 1697 3 1 160.75268 82.002483 -114.4625 - 54 90.632488 1310 8 1 82.908113 34.626807 35.15 - 54 132.42454 897 0 0 -0.66886384 0.41754048 -205.85 - 54 25.851507 522 1 0 43.707499 -75.249323 -176.25 - 54 83.004288 521 1 0 43.719566 -75.260415 -176.13458 - 54 98.69728 1115 1 1 44.027662 -76.037955 -174.85 - 54 49.141587 1116 1 1 44.082004 -76.211221 -174.63319 - 54 65.606194 562 2 0 46.656119 -67.109918 -146.25 - 54 75.610345 563 2 0 46.685821 -67.027298 -146.02964 - 54 64.25079 1124 2 1 45.787194 -67.252099 -144.85 - 54 78.661886 1123 2 1 45.621786 -67.346652 -144.65068 -Number of digits in this event = 6 -Event: 55 -Number of tracker hits in this event = 20 - 55 104.66892 898 4 1 0.64090172 0.06601606 -84.45 - 55 115.90452 896 4 0 0.64372685 0.064688907 -85.85 - 55 141.25798 899 3 1 0.742518 0.1321271 -114.45 - 55 114.83354 896 3 0 0.743405 0.14939348 -115.85 - 55 128.4425 899 2 1 0.74458523 0.48435997 -144.45 - 55 154.63898 898 2 0 0.74892629 0.48273948 -145.85 - 55 115.53878 899 1 1 0.78065743 0.42844431 -174.45 - 55 147.88616 897 1 0 0.773183 0.42154067 -175.85 - 55 153.97733 898 0 1 0.60514205 0.31066091 -204.45 - 55 104.13613 897 0 0 0.5824719 0.29717384 -205.85 - 55 231.7278 623 3 0 85.780478 -54.918483 -115.88519 - 55 118.95321 897 5 1 0.39254359 -0.05 -54.600873 - 55 161.52641 898 5 1 0.45328356 -0.099298778 -54.693406 - 55 6.2253228 1103 0 1 41.634573 68.72484 -204.45 - 55 126.21716 900 1 1 1.0049336 0.51851447 -174.45 - 55 116.69692 898 1 0 0.99383859 0.53007209 -175.85 - 55 31.69081 900 0 1 0.85388702 0.68054907 -204.45 - 55 103.37141 899 0 1 0.84573675 0.68441031 -204.56429 - 55 260.00498 899 0 0 0.76732722 0.71327991 -205.85 - 55 2.1153455 898 0 0 0.40415069 0.63677228 -206.23312 -Number of digits in this event = 10 -Event: 56 -Number of tracker hits in this event = 14 - 56 207.10018 895 4 0 -0.26229946 -0.52875504 -85.85 - 56 182.78453 895 3 1 -0.645338 -1.0895088 -114.45 - 56 121.86496 892 3 0 -0.66300451 -1.1175807 -115.85 - 56 140.92248 892 2 1 -1.0547737 -1.635035 -144.45 - 56 171.03773 889 2 0 -1.0800338 -1.6600853 -145.85 - 56 308.16969 890 1 1 -1.6071308 -2.1885533 -174.45 - 56 115.31639 887 1 0 -1.6352721 -2.2123082 -175.85 - 56 110.96101 887 0 1 -2.2297783 -2.6441925 -204.45 - 56 157.01833 884 0 0 -2.2544843 -2.6679365 -205.85 - 56 2.7491081 1764 12 0 -159.60442 174.29931 154.14698 - 56 82.993673 101 12 1 -159.91056 174.7316 155.15 - 56 334.8618 882 2 0 -0.60920225 -3.0523209 -145.85 - 56 337.40411 893 2 1 -1.0430749 -1.612771 -144.6195 - 56 29.238778 124 4 1 -155.30592 97.75619 -84.85 -Number of digits in this event = 10 -Event: 57 -Number of tracker hits in this event = 10 - 57 118.99489 897 3 1 0.34242175 0.25162672 -114.45 - 57 116.90413 896 3 0 0.3472481 0.24590806 -115.85 - 57 134.94459 898 2 1 0.45808019 0.11764704 -144.45 - 57 100.14323 896 2 0 0.48571277 0.11453239 -145.85 - 57 111.85093 901 1 1 1.0640399 0.11398328 -174.45 - 57 307.57811 896 1 0 1.1065328 0.11227557 -175.85 - 57 66.366917 905 0 1 1.9124594 0.05 -204.63743 - 57 288.78971 896 0 0 1.9451202 0.085014699 -205.85 - 57 143.67074 898 1 1 0.54084333 0.073290801 -174.45 - 57 130.4582 898 0 1 0.51051922 0.20669192 -204.45 -Number of digits in this event = 6 -Event: 58 -Number of tracker hits in this event = 24 - 58 150.61091 896 5 1 0.11176426 -0.096830365 -54.45 - 58 111.66844 897 4 1 0.33027138 -0.12764719 -84.45 - 58 403.61843 898 3 1 0.50960283 -0.36585042 -114.45 - 58 92.350225 898 2 1 0.60806937 -0.40445232 -144.45 - 58 97.741229 900 1 1 0.89316901 -0.15323404 -174.45 - 58 156.79874 901 0 1 1.18097 -0.20726314 -204.45 - 58 155.71552 886 3 0 0.53396912 -2.2652779 -115.85 - 58 47.038648 885 3 0 0.63140207 -2.5506839 -116.03362 - 58 49.652248 884 3 0 0.69749653 -2.7044711 -116.11089 - 58 50.181071 883 3 0 0.76919061 -2.8683279 -116.1643 - 58 109.4554 344 3 0 37.627651 -111.24699 -116.25 - 58 209.80788 343 3 0 37.476192 -111.42148 -116.06589 - 58 56.877238 342 3 0 37.415981 -111.58964 -115.93233 - 58 211.3961 1081 3 1 37.136106 -113.18904 -114.85 - 58 61.132598 1080 3 1 37.040868 -113.66995 -114.53001 - 58 65.914759 1079 3 1 36.804156 -113.66804 -114.55387 - 58 84.885754 1078 3 1 36.644177 -113.73121 -114.58948 - 58 68.618929 1077 3 1 36.422743 -113.81427 -114.61732 - 58 85.471725 1076 3 1 36.21577 -113.91139 -114.65361 - 58 65.399059 1075 3 1 35.991618 -113.9934 -114.66424 - 58 79.174056 1074 3 1 35.824249 -114.0597 -114.66339 - 58 116.89344 1073 3 1 35.647648 -113.92423 -114.7072 - 58 49.387938 1072 3 1 35.40893 -113.8049 -114.75274 - 58 287.2311 330 3 0 34.367118 -114.03361 -115.85 -Number of digits in this event = 9 -Event: 59 -Number of tracker hits in this event = 46 - 59 111.23945 896 5 0 -0.11567455 0.085369916 -55.85 - 59 255.1236 897 4 0 -0.18292686 0.32646981 -85.85 - 59 107.63719 899 3 0 -0.14080917 0.66041882 -115.85 - 59 100.88437 896 2 1 0.09521351 1.0006807 -144.45 - 59 113.38529 900 2 0 0.14314112 1.0067324 -145.85 - 59 137.50733 901 1 1 1.0753187 1.1688501 -174.45 - 59 334.57976 901 1 0 1.1149518 1.1782868 -175.85 - 59 210.90778 905 0 1 1.9799844 1.2873533 -204.45 - 59 147.13221 902 0 0 2.0154101 1.2992454 -205.85 - 59 114.8206 888 3 1 -1.8780951 3.9663167 -114.45 - 59 95.171986 887 3 1 -2.0813255 4.0226374 -114.66859 - 59 77.640763 918 3 0 -3.1349948 4.5626416 -115.85 - 59 52.67262 919 3 0 -3.3357018 4.6576711 -116.08381 - 59 146.43111 771 2 1 -25.358885 17.431736 -144.45 - 59 106.97471 988 2 0 -25.684425 18.560929 -145.85 - 59 129.52635 989 2 0 -25.732638 18.679639 -145.9917 - 59 37.779298 990 2 0 -25.791406 18.900292 -146.18925 - 59 79.352643 1371 2 0 -51.541621 95.577124 -146.25 - 59 59.935689 1372 2 0 -51.599587 95.771909 -146.13778 - 59 53.816019 1373 2 0 -51.651587 95.964762 -146.01947 - 59 28.84967 1374 2 0 -51.708639 96.153695 -145.89724 - 59 201.09975 638 2 1 -51.873483 97.610101 -144.85 - 59 107.9784 1389 3 0 -50.909146 99.174497 -116.25 - 59 134.43972 644 3 1 -50.761337 99.227503 -114.85 - 59 63.413639 1520 4 0 -72.388596 125.48911 -86.25 - 59 110.85073 1521 4 0 -72.468674 125.6144 -86.148775 - 59 147.42603 524 4 1 -74.669465 126.27111 -84.85 - 59 52.772012 523 4 1 -75.013484 126.35453 -84.660077 - 59 14.53443 522 4 1 -75.146321 126.36421 -84.505927 - 59 55.187215 521 4 1 -75.31823 126.31822 -84.45 - 59 75.608907 520 4 1 -75.450452 126.41999 -84.534681 - 59 90.484781 519 4 1 -75.722747 126.49794 -84.516819 - 59 43.270269 518 4 1 -75.905163 126.46768 -84.476471 - 59 80.418064 517 4 1 -76.065739 126.48304 -84.483486 - 59 82.17536 516 4 1 -76.291424 126.43174 -84.62357 - 59 11.788387 1514 4 0 -76.381852 124.18757 -85.85 - 59 66.888072 1513 4 0 -76.385339 124.13728 -85.865701 - 59 89.744504 1512 4 0 -76.444 123.94371 -86.023743 - 59 67.990908 1511 4 0 -76.469813 123.70506 -86.123606 - 59 4.6322248 1510 4 0 -76.447573 123.54433 -86.242264 - 59 32.829271 1743 4 0 -31.704677 170.07077 -86.25 - 59 79.712286 1744 4 0 -31.675546 170.15597 -86.218526 - 59 156.2256 1745 4 0 -31.649888 170.3542 -86.115987 - 59 129.49175 1746 4 0 -31.756975 170.55958 -85.923785 - 59 84.361057 747 4 1 -30.241025 170.99923 -84.85 - 59 194.08383 775 2 1 -24.603554 18.218394 -144.85 -Number of digits in this event = 15 -Event: 60 -Number of tracker hits in this event = 36 - 60 163.81349 897 3 1 0.28755285 0.24653073 -114.45 - 60 145.35644 897 3 0 0.29313682 0.25278517 -115.85 - 60 104.05741 897 2 1 0.44575665 0.39266184 -144.45 - 60 16.003116 898 2 1 0.45031439 0.393351 -144.79285 - 60 101.50054 897 2 0 0.46387742 0.39580872 -145.85 - 60 109.1235 900 1 1 0.87113085 0.50528689 -174.45 - 60 112.63332 898 1 0 0.89208757 0.52553515 -175.85 - 60 166.51771 902 0 1 1.3065281 1.0296429 -204.45 - 60 120.80317 901 0 0 1.3532572 1.0588212 -205.85 - 60 4.1563688 794 0 1 -20.796262 -1.8180274 -204.85 - 60 78.86051 849 0 0 19.695761 -9.6904731 -206.25 - 60 100.18542 848 0 0 19.661803 -9.9252704 -206.12533 - 60 68.534549 847 0 0 19.651934 -10.161582 -205.9993 - 60 235.51384 992 0 1 19.443021 -11.678554 -204.85 - 60 108.86956 777 1 0 0.71165545 -24.20242 -176.25 - 60 90.822256 776 1 0 0.53997568 -24.297412 -176.03671 - 60 75.916757 893 1 1 -0.91183402 -25.276366 -174.85 - 60 118.23725 892 1 1 -1.0582426 -25.373757 -174.74561 - 60 112.95894 891 1 1 -1.3426288 -25.597825 -174.55801 - 60 8.2831397 890 1 1 -1.485903 -25.707576 -174.46238 - 60 157.74605 780 2 0 -34.094562 -23.606552 -146.25 - 60 57.63016 721 2 1 -35.428784 -23.257534 -144.85 - 60 41.75695 720 2 1 -35.537393 -23.212344 -144.73965 - 60 80.465333 719 2 1 -35.67911 -23.187639 -144.66671 - 60 44.623921 718 2 1 -35.963771 -23.150802 -144.51991 - 60 12.812038 1165 4 1 53.908888 -65.679643 -84.500526 - 60 178.3575 585 5 0 22.719248 -62.470981 -56.25 - 60 72.450411 1002 5 1 21.400012 -62.847067 -54.85 - 60 92.171407 1001 5 1 21.195099 -62.925027 -54.621394 - 60 113.68621 601 6 0 27.941669 -59.447228 -26.25 - 60 285.07793 1036 6 1 28.087388 -58.929564 -24.85 - 60 245.74972 605 6 0 28.923078 -58.537197 -25.85 - 60 130.21223 634 6 0 28.622659 -52.822474 -26.25 - 60 20.867764 633 6 0 28.523882 -52.878703 -25.925314 - 60 178.7092 1037 6 1 28.330843 -53.409406 -24.85 - 60 9.4239137 1035 6 1 28.044148 -53.681081 -24.85 -Number of digits in this event = 12 -Event: 61 -Number of tracker hits in this event = 18 - 61 120.10724 896 5 1 0.094959514 -0.1165303 -54.45 - 61 148.49986 896 4 1 0.14210787 -0.2806998 -84.45 - 61 117.30129 897 3 1 0.29820743 -0.32968446 -114.45 - 61 291.52981 904 2 1 1.782417 -2.0518402 -144.45 - 61 202.24946 887 2 0 1.8174749 -2.1476844 -145.85 - 61 111.72284 908 1 1 2.604449 -4.2389297 -174.45 - 61 202.71875 876 1 0 2.6562175 -4.3936042 -175.85 - 61 98.567647 914 0 1 3.718502 -7.5878335 -204.45 - 61 165.96814 859 0 0 3.7525149 -7.7242906 -205.85 - 61 176.71436 896 2 1 0.15769115 -0.55246615 -144.45 - 61 167.36237 895 2 0 0.091544169 -0.50947478 -145.85 - 61 220.04043 894 1 1 -0.80319078 0.86304304 -174.45 - 61 113.72871 900 1 0 -0.67735524 0.96632151 -175.85 - 61 136.38419 903 0 1 1.6202505 3.2699021 -204.45 - 61 14.181548 914 0 0 1.5604597 3.8404212 -205.85 - 61 120.1172 915 0 0 1.558709 3.8591887 -205.89474 - 61 36.242181 171 3 0 -79.918172 -145.90282 -115.95127 - 61 136.05224 170 3 0 -79.920671 -145.95195 -115.98082 -Number of digits in this event = 13 -Event: 62 -Number of tracker hits in this event = 15 - 62 141.22368 896 3 1 0.20201145 0.29544355 -114.45 - 62 109.63533 897 3 0 0.21538959 0.31120369 -115.85 - 62 128.769 898 2 1 0.48077854 0.64387992 -144.45 - 62 134.68343 899 2 0 0.50396485 0.66348294 -145.85 - 62 161.71774 900 1 1 0.95877754 1.0770409 -174.45 - 62 124.80373 901 1 0 0.97867536 1.0900452 -175.85 - 62 109.0423 902 0 1 1.3765665 1.3258819 -204.45 - 62 137.0383 902 0 0 1.3883652 1.3307201 -205.85 - 62 30.833064 898 2 0 0.52792675 0.64950557 -146.24464 - 62 207.94453 325 2 0 75.715726 -114.97941 -146.25 - 62 37.625984 326 2 0 75.790019 -114.9467 -146.1909 - 62 27.353964 900 0 1 0.89705567 0.97267949 -204.55192 - 62 164.81299 899 0 1 0.84874253 0.95942309 -204.58401 - 62 167.254 898 0 1 0.6440398 0.94998252 -204.54999 - 62 49.373016 866 3 0 -17.009449 -6.4132686 -116.25 -Number of digits in this event = 10 -Event: 63 -Number of tracker hits in this event = 27 - 63 130.51815 896 5 0 -0.051763985 0.13002031 -55.85 - 63 128.22602 897 4 0 -0.29073745 0.38875861 -85.85 - 63 116.8665 895 3 1 -0.53770443 0.60700355 -114.45 - 63 102.08878 898 3 0 -0.53427864 0.61694846 -115.85 - 63 496.22069 895 2 1 -0.49288029 0.833232 -144.45 - 63 170.46704 899 2 0 -0.48294566 0.84098657 -145.85 - 63 108.3917 900 1 0 -0.26613958 0.99044424 -175.85 - 63 33.721302 896 0 1 0.05 1.0997587 -204.83447 - 63 15.072705 923 0 0 -2.372129 5.5728903 -205.85 - 63 339.9577 866 0 1 -6.3039814 10.563728 -204.85 - 63 10.006345 867 0 1 -6.2437086 10.63316 -204.77333 - 63 26.586987 898 2 0 -0.060467622 0.59325877 -145.85 - 63 81.241363 934 1 1 7.7860429 1.2363547 -174.45 - 63 98.507329 935 1 1 7.8597212 1.220718 -174.68167 - 63 117.04399 901 1 0 8.1651449 1.1386345 -175.85 - 63 118.86922 976 0 1 16.08044 -0.9673099 -204.45 - 63 132.86996 890 0 0 16.430568 -1.4904776 -205.85 - 63 84.561319 809 2 0 -13.11947 -17.743978 -146.25 - 63 82.809569 808 2 0 -13.26547 -17.869555 -146.01814 - 63 385.47459 831 2 1 -13.439418 -19.232219 -144.85 - 63 407.58128 830 2 1 -13.473287 -19.804084 -144.48613 - 63 132.8508 905 1 1 2.021341 2.7494549 -174.45 - 63 15.514503 904 1 1 1.8455072 2.7799392 -174.78925 - 63 139.75678 910 1 0 1.2879358 2.9787399 -175.85 - 63 142.47291 868 0 1 -5.8893632 5.0421967 -204.45 - 63 104.06701 919 0 0 -6.071785 4.6866001 -205.85 - 63 91.823835 918 0 0 -6.1147826 4.6102142 -206.06948 -Number of digits in this event = 13 -Event: 64 -Number of tracker hits in this event = 13 - 64 138.51709 895 4 1 -0.46036814 -0.094220854 -84.45 - 64 176.56677 893 3 1 -1.0424382 0.098215462 -114.45 - 64 261.54654 896 3 0 -1.0592736 0.11680097 -115.85 - 64 210.74175 891 2 1 -1.2943626 0.42747826 -144.45 - 64 122.69769 897 2 0 -1.284 0.43693058 -145.85 - 64 122.60525 893 1 1 -0.94584394 0.65480625 -174.45 - 64 111.82223 898 1 0 -0.89638813 0.64798928 -175.85 - 64 154.32673 896 0 1 0.13495205 0.69581754 -204.45 - 64 152.3837 899 0 0 0.19679804 0.68960739 -205.85 - 64 84.307303 898 0 0 0.21821128 0.6405227 -206.18717 - 64 141.10672 891 5 0 -1.9468862 -1.3556703 -56.25 - 64 12.285626 892 5 0 -1.9628614 -1.2407799 -55.876877 - 64 299.7879 888 5 1 -1.8892465 -0.23891107 -54.85 -Number of digits in this event = 12 -Event: 65 -Number of tracker hits in this event = 8 - 65 167.5111 896 5 0 -0.085193056 0.051062003 -55.85 - 65 121.25947 897 4 0 -0.14347486 0.28194688 -85.85 - 65 121.33822 898 3 0 -0.17177418 0.52654152 -115.85 - 65 136.51034 899 2 0 -0.093109547 0.79977598 -145.85 - 65 112.59997 901 1 0 -0.1865931 1.0701022 -175.85 - 65 224.82489 894 0 1 -0.73156207 1.4475482 -204.45 - 65 121.48317 903 0 0 -0.77119826 1.4643314 -205.85 - 65 139.146 898 2 0 -0.31632867 0.57562847 -145.85 -Number of digits in this event = 8 -Event: 66 -Number of tracker hits in this event = 7 - 66 230.90172 897 5 1 0.3212691 -0.083951297 -54.45 - 66 126.11174 899 4 1 0.66540778 -0.19401894 -84.45 - 66 111.50643 900 3 1 0.91899681 -0.095883651 -114.45 - 66 140.75139 900 2 1 0.96164524 0.098484865 -144.45 - 66 101.58354 896 2 0 0.94869187 0.095272283 -145.85 - 66 100.4928 899 0 1 0.70375234 -0.21732484 -204.45 - 66 46.404073 532 8 0 127.30409 -73.146211 33.75 -Number of digits in this event = 5 -Event: 67 -Number of tracker hits in this event = 13 - 67 150.35589 896 5 1 0.15499986 0.06396085 -54.45 - 67 191.93562 896 5 0 0.16536693 0.060028911 -55.85 - 67 210.35631 900 4 0 0.65079429 0.91324335 -85.85 - 67 5.1641108 1501 4 0 53.951938 121.74482 -86.25 - 67 82.479127 1502 4 0 53.953592 121.7505 -86.237465 - 67 43.486377 896 4 1 0.12728259 -0.05 -84.722046 - 67 56.805683 1074 4 0 0.51002856 35.844419 -86.25 - 67 74.571139 1075 4 0 0.5301966 36.027623 -86.147657 - 67 80.224111 1076 4 0 0.53219393 36.194143 -86.018423 - 67 26.926447 1077 4 0 0.56495183 36.36217 -85.895479 - 67 328.63207 898 4 1 0.56644395 38.396767 -84.85 - 67 226.64383 897 4 1 0.42813951 39.161492 -84.45 - 67 170.29672 1093 4 0 0.45150628 39.533005 -85.85 -Number of digits in this event = 8 -Event: 68 -Number of tracker hits in this event = 20 - 68 99.13437 896 5 1 0.080774922 -0.067142615 -54.45 - 68 94.449642 896 2 1 0.064969213 -0.81005732 -144.45 - 68 134.42346 894 2 0 0.067399053 -0.83185291 -145.85 - 68 121.36348 896 1 1 0.11693192 -1.2741556 -174.45 - 68 179.12561 891 1 0 0.11890712 -1.2981306 -175.85 - 68 145.84528 896 0 1 0.089193672 -1.8149385 -204.45 - 68 129.74895 889 0 0 0.083603483 -1.8346448 -205.85 - 68 82.334211 734 10 1 -32.802974 -24.051981 95.15 - 68 133.09156 846 0 0 9.013351 -10.283863 -206.25 - 68 416.24647 943 0 1 9.560322 -9.1841654 -204.85 - 68 222.33584 942 0 1 9.4480613 -9.1621109 -204.61779 - 68 20.353879 896 6 1 0.17737725 0.05 -24.702943 - 68 303.53802 931 6 0 94.110342 7.0590013 -26.25 - 68 30.054085 932 6 0 94.570002 7.2564276 -25.902287 - 68 62.96944 1373 6 1 95.984562 8.1730674 -24.85 - 68 125.32098 1374 6 1 96.169427 8.2610391 -24.742036 - 68 45.765036 1375 6 1 96.44363 8.3099517 -24.555831 - 68 78.692729 1376 6 1 96.557837 8.3093929 -24.526507 - 68 98.6672 1377 6 1 96.761763 8.4021336 -24.555323 - 68 150.73974 937 6 0 97.142053 8.2725238 -25.85 -Number of digits in this event = 13 -Event: 69 -Number of tracker hits in this event = 25 - 69 111.1206 896 5 0 -0.05 0.081477785 -55.873081 - 69 111.93046 895 4 0 -0.32336175 -0.53535959 -85.85 - 69 123.30764 895 3 1 -0.61785251 -1.2285786 -114.45 - 69 110.53198 891 3 0 -0.63825622 -1.2626058 -115.85 - 69 249.09088 892 2 1 -1.1915538 -2.1272134 -144.45 - 69 116.20859 887 2 0 -1.1989359 -2.1831154 -145.85 - 69 286.51577 890 1 1 -1.485764 -3.2673662 -174.45 - 69 296.08949 881 1 0 -1.5281849 -3.2909734 -175.85 - 69 65.219347 886 0 1 -2.4422042 -3.7313686 -204.45 - 69 47.424428 885 0 1 -2.4520759 -3.740887 -204.67854 - 69 134.034 879 0 0 -2.5030233 -3.7940303 -205.85 - 69 58.377357 1222 1 1 65.344491 -67.65975 -174.45 - 69 161.29953 1221 1 1 65.249 -67.71787 -174.51493 - 69 69.154547 1220 1 1 65.026229 -67.849566 -174.58472 - 69 303.58656 1219 1 1 64.825479 -67.84732 -174.58678 - 69 15.554968 891 1 1 -1.4487151 -3.2974265 -174.79299 - 69 51.63268 904 0 1 1.8239379 -5.4641601 -204.45 - 69 45.45533 905 0 1 1.8637149 -5.5190981 -204.67872 - 69 129.86555 869 0 0 2.0611556 -5.7919583 -205.85 - 69 86.637206 868 0 0 2.1204615 -5.8704794 -206.19281 - 69 36.24754 880 1 0 -1.2527017 -3.4574326 -176.18371 - 69 217.39533 942 1 0 51.700418 9.3758623 -176.25 - 69 121.64059 891 0 1 -1.3410346 -2.4356538 -204.45 - 69 18.024914 892 0 1 -1.2289104 -2.3523195 -204.79686 - 69 166.58587 887 0 0 -0.81328346 -2.1374963 -205.85 -Number of digits in this event = 12 -Event: 70 -Number of tracker hits in this event = 14 - 70 108.34205 896 5 1 0.080219327 -0.054324081 -54.45 - 70 132.08749 897 4 1 0.28170908 -0.18011723 -84.45 - 70 125.36968 898 3 1 0.54867116 -0.58591193 -114.45 - 70 237.43246 895 3 0 0.56471896 -0.60427062 -115.85 - 70 132.29633 900 2 1 0.86491146 -0.88399316 -144.45 - 70 298.13443 893 2 0 0.88429898 -0.91011444 -145.85 - 70 118.87345 902 1 1 1.3279981 -1.4246573 -174.45 - 70 156.36495 891 1 0 1.3549972 -1.4455541 -175.85 - 70 12.448845 890 1 0 1.3617781 -1.450641 -176.19286 - 70 114.631 905 0 1 1.9199521 -1.8663691 -204.45 - 70 166.74787 888 0 0 1.9400519 -1.8745447 -205.85 - 70 72.828862 894 2 0 0.52635716 -0.81033809 -145.96074 - 70 64.78699 895 2 0 0.37697088 -0.63072089 -145.9311 - 70 115.26043 899 1 1 0.69804184 -0.21222714 -174.45 -Number of digits in this event = 8 -Event: 71 -Number of tracker hits in this event = 12 - 71 112.76047 896 5 1 0.15062268 0.13225073 -54.45 - 71 98.374505 896 5 0 0.1563397 0.13977302 -55.85 - 71 122.87506 897 4 1 0.26283695 0.28570504 -84.45 - 71 109.07912 897 4 0 0.27311643 0.29327446 -85.85 - 71 126.31656 898 3 1 0.48978544 0.44958589 -114.45 - 71 115.37957 898 3 0 0.50201411 0.46137305 -115.85 - 71 232.55802 899 2 1 0.74828196 0.69025228 -144.45 - 71 128.56951 899 2 0 0.76047124 0.70527979 -145.85 - 71 103.41731 900 1 1 1.0045165 1.0155092 -174.45 - 71 213.46313 900 1 0 1.0149684 1.0360165 -175.85 - 71 102.73174 901 0 1 1.2196799 1.4939551 -204.45 - 71 109.17926 903 0 0 1.2032539 1.4735976 -205.85 -Number of digits in this event = 6 -Event: 72 -Number of tracker hits in this event = 53 - 72 123.39938 895 4 1 -0.57754423 -0.13405994 -84.45 - 72 137.61401 895 3 1 -0.62949567 -0.23896735 -114.45 - 72 107.04514 894 2 1 -0.78699903 -0.3015285 -144.45 - 72 196.54679 893 1 1 -0.99929911 -0.33150346 -174.45 - 72 126.30263 891 0 1 -1.3889688 0.058628658 -204.45 - 72 119.91859 896 0 0 -1.3915619 0.077416572 -205.85 - 72 111.40783 893 5 1 -0.88982422 -2.4861612 -54.45 - 72 131.76219 885 5 0 -1.0374166 -2.6157853 -55.85 - 72 101.42233 875 4 1 -4.609087 -4.9895063 -84.45 - 72 140.36663 873 4 0 -4.4123766 -4.9511945 -85.85 - 72 44.851071 879 3 0 0.40070337 -3.6584401 -115.85 - 72 71.209628 880 3 0 0.46249124 -3.5821562 -115.96601 - 72 13.646435 881 3 0 0.57418172 -3.4292408 -116.20374 - 72 144.01049 967 2 1 14.347759 14.614123 -144.45 - 72 27.893191 970 2 0 14.507334 15.021202 -145.85 - 72 88.312385 971 2 0 14.519111 15.051326 -145.96502 - 72 32.873227 976 1 1 16.075629 23.769283 -174.45 - 72 79.486531 975 1 1 16.030398 23.822895 -174.56573 - 72 121.47918 1017 1 0 15.663174 24.30778 -175.85 - 72 32.479509 930 0 1 6.8639738 34.211534 -204.45 - 72 90.777577 929 0 1 6.805997 34.208704 -204.56297 - 72 128.87652 1066 0 0 6.2345597 34.130673 -205.85 - 72 132.12369 874 4 1 -4.6528117 -4.9769615 -84.45 - 72 189.99711 874 4 0 -5.1246876 -4.8066368 -85.85 - 72 113.21981 833 3 1 -12.982739 -2.6403225 -114.45 - 72 15.607818 832 3 1 -13.084662 -2.743924 -114.78775 - 72 187.58205 882 3 0 -13.439959 -3.0532395 -115.85 - 72 122.31215 782 2 1 -23.11071 -14.407198 -144.45 - 72 16.208169 781 2 1 -23.301873 -14.482215 -144.79402 - 72 47.280313 824 2 0 -23.775645 -14.846589 -145.85 - 72 106.2149 823 2 0 -23.829832 -14.885043 -145.9632 - 72 32.261056 726 1 1 -34.423495 -23.885616 -174.45 - 72 94.560224 725 1 1 -34.46464 -23.886924 -174.56559 - 72 138.92455 778 1 0 -34.968304 -23.930434 -175.85 - 72 129.95492 675 0 1 -44.50124 -29.611211 -204.45 - 72 15.232543 674 0 1 -44.727128 -29.859875 -204.80907 - 72 342.27433 745 0 0 -45.441949 -30.548469 -205.85 - 72 89.436144 744 0 0 -45.630787 -30.68944 -206.12036 - 72 35.961444 904 6 0 -0.29579394 1.824439 -25.85 - 72 69.092021 905 6 0 -0.31153858 1.9293696 -25.90313 - 72 114.48519 906 6 0 -0.38872638 2.1215468 -26.007218 - 72 41.942643 581 6 0 -11.279944 -63.341675 -26.25 - 72 53.766057 580 6 0 -11.312701 -63.503655 -26.219992 - 72 46.196718 579 6 0 -11.31366 -63.679451 -26.221467 - 72 21.962417 431 6 0 94.045014 -93.769108 -26.25 - 72 123.43985 432 6 0 94.080895 -93.728792 -26.169288 - 72 26.641024 1365 6 1 94.540319 -92.982322 -24.85 - 72 204.84128 1366 6 1 94.558441 -92.947536 -24.788023 - 72 84.195173 1367 6 1 94.753395 -92.673225 -24.740426 - 72 30.225312 442 6 0 95.335023 -91.612941 -25.85 - 72 85.159108 443 6 0 95.367364 -91.546111 -25.909469 - 72 109.80898 444 6 0 95.308978 -91.338829 -26.055808 - 72 202.10347 445 6 0 95.403366 -91.149919 -26.129842 -Number of digits in this event = 21 -Event: 73 -Number of tracker hits in this event = 29 - 73 118.94179 896 4 1 0.12691602 -0.1239737 -84.45 - 73 122.28698 897 3 1 0.3546886 -0.30820343 -114.45 - 73 184.47802 899 2 1 0.76691665 -0.62830879 -144.45 - 73 115.02563 894 2 0 0.82594008 -0.68556383 -145.85 - 73 152.39919 905 1 1 1.9917182 -1.8308695 -174.45 - 73 196.18969 888 1 0 2.0497057 -1.8828235 -175.85 - 73 153.56068 911 0 1 3.1800586 -2.7957662 -204.45 - 73 119.1062 884 0 0 3.2626667 -2.8268686 -205.85 - 73 132.23484 798 2 1 -20.007225 112.52787 -144.66643 - 73 60.280215 993 0 0 -79.609901 19.544924 -206.25 - 73 93.99334 900 2 1 0.97208775 -0.70742228 -144.49364 - 73 74.244003 901 2 1 1.1579518 -0.80219068 -144.51229 - 73 66.27752 902 2 1 1.3064863 -0.91276638 -144.58947 - 73 71.907629 903 2 1 1.4887262 -0.99006432 -144.65794 - 73 99.520649 904 2 1 1.6617525 -1.0995471 -144.69985 - 73 11.071952 905 2 1 1.9621412 -1.3515944 -144.82654 - 73 59.91071 884 2 0 3.3925317 -2.732459 -145.85 - 73 90.087838 883 2 0 3.5751947 -2.8802865 -146.00537 - 73 64.842614 882 2 0 3.6042906 -3.1155006 -146.16246 - 73 77.753014 881 2 0 3.6769674 -3.25573 -146.20289 - 73 26.780463 880 2 0 3.7175262 -3.5162154 -146.11224 - 73 112.61446 879 2 0 3.7305161 -3.6570991 -146.11282 - 73 70.016177 878 2 0 3.7127208 -3.8983717 -146.00428 - 73 42.69857 877 2 0 3.6466573 -4.1549356 -145.97641 - 73 43.975675 876 2 0 3.6606706 -4.2862119 -145.92061 - 73 202.92063 912 2 1 3.4059857 -5.3830241 -144.85 - 73 313.75907 911 2 1 3.213947 -5.6082572 -144.48188 - 73 55.355376 910 2 1 3.0449218 -5.4749933 -144.68095 - 73 8.3898 895 2 1 -0.5326678 -26.21163 -144.45 -Number of digits in this event = 9 -Event: 74 -Number of tracker hits in this event = 2 - 74 106.36021 897 1 1 0.2942429 -0.27214433 -174.45 - 74 135.27192 898 0 1 0.57185939 -0.30520364 -204.45 -Number of digits in this event = 3 -Event: 75 -Number of tracker hits in this event = 24 - 75 116.56901 897 4 1 0.3868654 -0.25364536 -84.45 - 75 103.09343 899 3 1 0.764001 -0.74074305 -114.45 - 75 180.98046 894 3 0 0.77215483 -0.77607868 -115.85 - 75 126.23842 900 2 1 0.91364697 -1.5569968 -144.45 - 75 287.34233 890 2 0 0.93223085 -1.6091301 -145.85 - 75 153.49495 902 1 1 1.2833986 -2.7390874 -174.45 - 75 127.78717 884 1 0 1.2796414 -2.8021813 -175.85 - 75 333.5743 901 0 1 1.2441123 -4.0009022 -204.45 - 75 257.44767 877 0 0 1.2530863 -4.0861171 -205.85 - 75 73.839691 902 0 1 1.3045201 -3.9180437 -204.52732 - 75 59.923275 903 0 1 1.514163 -3.8865208 -204.63387 - 75 59.502142 904 0 1 1.7225526 -3.8861086 -204.7606 - 75 108.56016 878 0 0 0.71385452 -3.9323593 -205.85 - 75 94.739855 929 0 0 -19.130996 6.6751041 -206.25 - 75 82.144307 930 0 0 -19.228663 6.8818146 -206.04391 - 75 124.8353 931 0 0 -19.279422 7.0746295 -206.07957 - 75 12.403042 932 0 0 -19.501243 7.2810825 -206.23394 - 75 191.97375 963 0 0 -44.265798 13.503162 -206.25 - 75 5.1840031 962 0 0 -44.307005 13.449815 -206.08289 - 75 63.817725 673 0 1 -44.948373 13.712872 -204.85 - 75 223.03278 674 0 1 -44.848322 13.732279 -204.77551 - 75 223.82638 896 1 1 0.11928445 -0.25658842 -174.47399 - 75 134.75794 899 0 1 0.73593852 -1.0901993 -204.45 - 75 133.28473 892 0 0 0.75767926 -1.0886891 -205.85 -Number of digits in this event = 15 -Event: 76 -Number of tracker hits in this event = 5 - 76 239.97322 896 0 1 0.13615699 -0.55277449 -204.45 - 76 117.47884 895 0 0 0.14016628 -0.55846459 -205.85 - 76 226.81156 896 1 1 0.05 -0.41421107 -174.5321 - 76 112.56075 913 0 1 3.4784115 1.456939 -204.45 - 76 98.422969 902 0 0 3.6366483 1.3760721 -205.85 -Number of digits in this event = 4 -Event: 77 -Number of tracker hits in this event = 12 - 77 130.03113 896 5 0 -0.057265362 0.055562607 -55.85 - 77 99.278506 896 4 0 -0.10267341 0.20054009 -85.85 - 77 94.763563 898 3 0 -0.15213002 0.45619293 -115.85 - 77 123.87211 895 2 1 -0.59666913 0.65680214 -144.45 - 77 122.39405 899 2 0 -0.63125087 0.67128996 -145.85 - 77 106.25718 891 1 1 -1.2607953 0.97990336 -174.45 - 77 161.27642 900 1 0 -1.2990317 0.99004647 -175.85 - 77 152.36259 887 0 1 -2.1099019 1.1716671 -204.45 - 77 135.15697 901 0 0 -2.1546683 1.1798625 -205.85 - 77 33.471931 890 0 1 -1.5145421 0.91859489 -204.45 - 77 297.35572 891 0 1 -1.4478712 0.91296186 -204.56984 - 77 153.95694 900 0 0 -1.0114676 0.97109723 -205.85 -Number of digits in this event = 10 -Event: 78 -Number of tracker hits in this event = 47 - 78 276.57632 896 5 0 -0.13736077 0.05 -56.221823 - 78 111.37763 893 4 1 -0.91978052 0.27346594 -84.45 - 78 792.12732 897 4 0 -0.9437246 0.28400203 -85.85 - 78 108.85083 891 3 1 -1.4270079 0.50725234 -114.45 - 78 115.98427 898 3 0 -1.4489102 0.51610599 -115.85 - 78 194.78168 888 2 1 -1.8793982 0.70188353 -144.45 - 78 182.14584 899 2 0 -1.8916056 0.70987747 -145.85 - 78 128.57114 887 1 1 -2.1802592 0.89596221 -174.45 - 78 138.66911 900 1 0 -2.1953462 0.90297955 -175.85 - 78 131.18094 885 0 1 -2.4923856 1.0753725 -204.45 - 78 104.15469 901 0 0 -2.5235678 1.1090818 -205.85 - 78 87.214831 1168 5 0 46.527331 54.48502 -56.25 - 78 14.11715 563 5 0 81.094534 -66.895701 -56.25 - 78 119.18958 886 3 1 -2.3472846 3.3886727 -114.45 - 78 156.06221 912 3 0 -2.7486842 3.2998154 -115.85 - 78 106.20457 844 2 1 -10.686095 1.8555241 -144.45 - 78 114.87939 904 2 0 -11.347215 1.8392668 -145.85 - 78 73.099333 774 1 1 -24.724225 0.72793928 -174.45 - 78 78.934893 773 1 1 -24.892449 0.64139603 -174.67708 - 78 276.28124 896 1 0 -25.82212 0.15252219 -175.85 - 78 82.293451 654 0 1 -48.693272 -10.626395 -204.45 - 78 64.456015 653 0 1 -48.90372 -10.563431 -204.67532 - 78 34.693103 846 0 0 -49.907623 -10.280949 -205.85 - 78 126.50145 847 0 0 -50.008279 -10.248408 -205.96091 - 78 199.38003 1720 5 1 165.45569 33.477796 -54.45 - 78 164.09268 938 3 1 8.5186578 -3.1862262 -114.45 - 78 183.4563 939 3 1 8.6519977 -3.1595605 -114.84206 - 78 127.4119 882 3 0 8.9404559 -3.1555869 -115.85 - 78 68.938056 970 2 1 14.931415 -11.543738 -144.45 - 78 72.573326 971 2 1 15.180961 -11.583012 -144.56419 - 78 91.063908 972 2 1 15.431468 -11.632751 -144.672 - 78 66.879388 974 2 1 15.68221 -11.695253 -144.77234 - 78 88.015228 834 2 0 18.357011 -12.770997 -145.85 - 78 208.30693 833 2 0 18.65233 -12.869407 -145.95128 - 78 228.41976 832 2 0 19.257666 -13.085878 -146.06947 - 78 124.41009 1446 1 1 110.61757 -50.311443 -174.45 - 78 105.04559 1447 1 1 110.80002 -50.233024 -174.75863 - 78 175.07993 648 1 0 111.49282 -50.015067 -175.85 - 78 120.38489 1524 0 1 126.2177 -43.296651 -204.45 - 78 101.78588 682 0 0 126.11934 -43.120764 -205.85 - 78 86.146584 649 1 0 110.83091 -49.727656 -175.85 - 78 157.57973 650 1 0 110.8458 -49.648036 -175.9209 - 78 21.075853 646 1 0 111.1749 -50.250246 -175.85 - 78 237.18581 647 1 0 111.20627 -50.243815 -175.91453 - 78 92.120588 901 1 0 81.038334 1.0508209 -176.22005 - 78 142.16308 896 0 1 0.14020557 -11.556553 -204.45 - 78 261.58659 839 0 0 0.22446523 -11.664939 -205.85 -Number of digits in this event = 26 -Event: 79 -Number of tracker hits in this event = 49 - 79 125.51613 898 4 1 0.6102049 -0.27907288 -84.45 - 79 124.1055 901 3 1 1.0621864 -0.45894815 -114.45 - 79 302.78681 895 3 0 1.0863133 -0.46607515 -115.85 - 79 156.37293 903 2 1 1.5638401 -0.5821134 -144.45 - 79 92.679894 895 2 0 1.5755542 -0.56500482 -145.85 - 79 102.66364 904 1 1 1.8171554 -0.18667754 -174.45 - 79 162.31181 905 0 1 1.9271324 0.67115722 -204.45 - 79 306.83142 899 0 0 1.9605546 0.72037081 -205.85 - 79 117.78596 896 5 0 -0.21520947 0.18728398 -55.85 - 79 136.31684 885 3 1 -2.4800949 -0.45747886 -114.45 - 79 102.23856 894 3 0 -2.6440622 -0.65219265 -115.96416 - 79 49.817824 866 2 1 -6.3874703 -4.6744203 -144.45 - 79 63.269013 865 2 1 -6.4523728 -4.7065006 -144.67771 - 79 171.75186 873 2 0 -6.7286696 -4.8912261 -145.85 - 79 60.12313 837 1 1 -12.231108 -8.2392084 -174.45 - 79 45.622553 836 1 1 -12.255355 -8.2051969 -174.679 - 79 128.16986 858 1 0 -12.457248 -7.9996861 -175.85 - 79 199.8993 815 0 1 -16.599648 -1.5774627 -204.45 - 79 37.276505 893 0 0 -16.698484 -0.87532346 -205.85 - 79 110.87242 894 0 0 -16.709536 -0.81657212 -205.96363 - 79 210.79342 829 0 1 -13.670871 -6.5170344 -204.45 - 79 112.57831 865 0 0 -13.757876 -6.4720874 -205.85 - 79 1.4649952 830 0 1 -13.643696 -6.3865936 -204.8456 - 79 245.02074 875 0 0 -12.199546 -4.6316414 -205.85 - 79 158.57308 864 0 1 -6.690401 -5.0487265 -204.45 - 79 112.03693 872 0 0 -7.0467948 -5.2002447 -205.85 - 79 71.418279 969 0 0 -30.063518 14.822746 -206.25 - 79 86.362169 970 0 0 -30.239428 14.981536 -206.12307 - 79 49.499881 971 0 0 -30.370784 15.151894 -205.95632 - 79 278.44391 742 0 1 -31.10072 16.427045 -204.85 - 79 213.41207 741 0 1 -31.267361 16.88529 -204.56493 - 79 40.889274 743 0 1 -30.993255 17.561675 -204.53434 - 79 240.23971 744 0 1 -30.839186 17.5026 -204.57023 - 79 210.76612 980 0 0 -31.858894 16.974299 -205.85 - 79 344.85739 979 0 0 -32.090821 16.843616 -206.06465 - 79 3.92519 1014 0 0 58.970153 23.662417 -206.25 - 79 171.34922 544 0 0 6.668814 -70.677618 -206.25 - 79 54.437842 921 0 1 5.1434334 -71.28042 -204.85 - 79 117.14516 920 0 1 5.010638 -71.341774 -204.74198 - 79 53.183936 919 0 1 4.7353002 -71.457997 -204.53524 - 79 49.372226 386 1 0 1.4310405 -102.93126 -176.25 - 79 49.540884 385 1 0 1.4278519 -103.05344 -176.12962 - 79 48.1402 384 1 0 1.4113271 -103.15351 -175.99127 - 79 485.08358 903 1 1 1.5351569 -104.17674 -174.85 - 79 91.798327 557 2 0 30.865171 -68.159984 -146.25 - 79 119.52345 558 2 0 31.020369 -68.024197 -146.13135 - 79 114.67552 1052 2 1 31.292988 -67.617391 -144.85 - 79 33.09038 902 1 1 1.443079 -104.88913 -174.81524 - 79 18.354559 895 7 0 -179.82562 -0.50088788 3.75 -Number of digits in this event = 23 -Event: 80 -Number of tracker hits in this event = 16 - 80 97.192334 896 5 0 -0.052970459 0.22365325 -55.85 - 80 126.78666 897 4 0 -0.1095652 0.38586889 -85.85 - 80 126.36427 897 3 0 -0.22542208 0.3699503 -115.85 - 80 119.23165 896 2 0 -0.38374367 0.24160317 -145.85 - 80 102.70397 898 1 0 -0.17261684 0.57621778 -175.85 - 80 123.50542 896 0 1 0.087515619 1.4655021 -204.45 - 80 7.3888902 1350 1 0 -10.491281 91.354606 -176.25 - 80 144.67423 1349 1 0 -10.469317 91.337837 -176.21243 - 80 6.0317503 1348 1 0 -10.310614 91.116533 -175.8603 - 80 80.962185 847 1 1 -10.080259 89.583121 -174.85 - 80 223.39338 848 1 1 -10.047846 89.344626 -174.68292 - 80 22.520515 1103 1 0 -7.8410058 41.512747 -175.85 - 80 124.89237 1102 1 0 -7.8408018 41.445639 -175.86036 - 80 257.92261 1101 1 0 -8.0439162 41.2491 -175.94622 - 80 29.430715 896 4 1 0.05 0.38972554 -84.738047 - 80 182.60031 896 4 0 0.28755097 0.22879851 -85.85 -Number of digits in this event = 9 -Event: 81 -Number of tracker hits in this event = 11 - 81 132.3103 895 4 1 -0.48997508 -0.33240974 -84.45 - 81 129.85414 893 3 1 -0.950367 -0.49094862 -114.45 - 81 149.11692 895 3 0 -0.97336683 -0.49683237 -115.85 - 81 249.35793 891 2 1 -1.4354678 -0.59419866 -144.45 - 81 265.16037 895 2 0 -1.4490837 -0.5937528 -145.85 - 81 236.69231 889 1 1 -1.7156203 -0.57284703 -174.45 - 81 150.21358 895 1 0 -1.728841 -0.56035542 -175.85 - 81 114.23445 888 0 1 -2.0320463 -0.30348291 -204.45 - 81 204.91417 893 1 0 -1.7854465 -0.97274212 -175.85 - 81 112.88263 889 0 1 -1.6548199 -4.3450048 -204.45 - 81 106.32964 875 0 0 -1.6857335 -4.4886488 -205.85 -Number of digits in this event = 9 -Event: 82 -Number of tracker hits in this event = 17 - 82 128.2029 896 5 1 0.067826423 -0.21009104 -54.45 - 82 123.72697 896 4 1 0.14311086 -0.29381572 -84.45 - 82 106.11237 897 3 1 0.40402116 -0.20927312 -114.45 - 82 129.02884 900 2 1 0.9451372 0.5619176 -144.45 - 82 274.97182 898 2 0 0.98233083 0.59480561 -145.85 - 82 120.59186 904 1 1 1.7658311 1.161636 -174.45 - 82 102.56546 901 1 0 1.8128797 1.1895798 -175.85 - 82 127.51451 908 0 1 2.5362869 1.7162267 -204.45 - 82 115.6299 904 0 0 2.5417908 1.6751942 -205.85 - 82 81.274916 906 0 1 2.1525847 0.9962495 -204.45 - 82 53.932824 905 0 1 2.0330547 0.96792188 -204.68264 - 82 125.60239 901 0 0 1.4005501 1.100128 -205.85 - 82 132.33948 894 2 1 -0.82419469 0.40660242 -144.45 - 82 162.12465 892 1 1 -1.1992764 1.4665164 -174.45 - 82 118.5308 903 1 0 -1.3101033 1.587389 -175.85 - 82 148.17468 882 0 1 -3.2014626 4.423491 -204.45 - 82 115.5802 919 0 0 -3.3133879 4.677988 -205.85 -Number of digits in this event = 11 -Event: 83 -Number of tracker hits in this event = 9 - 83 109.95758 897 4 1 0.25184813 -0.17573556 -84.45 - 83 271.51866 897 3 1 0.31262469 -0.37849977 -114.45 - 83 154.10088 897 2 1 0.43588889 -0.54957998 -144.45 - 83 109.81559 895 2 0 0.19234405 -0.59396189 -145.85 - 83 184.57492 860 1 1 -7.5528955 -1.729677 -174.45 - 83 121.76213 889 1 0 -7.6683961 -1.7235905 -175.85 - 83 132.09929 847 0 1 -10.238582 -1.9697644 -204.45 - 83 123.65573 889 0 0 -10.239084 -1.7730617 -205.85 - 83 68.580318 896 5 1 0.11534762 -0.05 -54.79809 -Number of digits in this event = 7 -Event: 84 -Number of tracker hits in this event = 21 - 84 146.66131 896 5 1 0.081671821 0.18412015 -54.45 - 84 99.134774 896 5 0 0.088565666 0.19189147 -55.85 - 84 124.98082 896 4 1 0.2180329 0.36271324 -84.45 - 84 161.40303 897 4 0 0.2186742 0.37313616 -85.85 - 84 109.84509 897 3 1 0.26936796 0.5383951 -114.45 - 84 100.13197 898 3 0 0.27683246 0.54691088 -115.85 - 84 118.50833 897 2 1 0.41973995 0.75639875 -144.45 - 84 106.01641 899 2 0 0.41711038 0.76493109 -145.85 - 84 140.08685 897 1 1 0.35885989 0.92838147 -174.45 - 84 101.41621 900 1 0 0.35548975 0.9388721 -175.85 - 84 191.07511 897 0 1 0.28641366 1.2024527 -204.45 - 84 155.59739 901 0 0 0.28808314 1.2181604 -205.85 - 84 75.328592 810 2 0 55.393564 -17.6027 -146.11214 - 84 11.548545 809 2 0 55.468372 -17.655238 -145.90211 - 84 159.66312 1176 2 1 56.12287 -17.201535 -144.85 - 84 250.65711 813 2 0 57.670622 -16.951274 -145.85 - 84 121.92048 812 2 0 58.210758 -17.050455 -146.15631 - 84 60.567399 811 2 0 58.278981 -17.256977 -146.20325 - 84 87.481821 1361 2 0 74.940609 93.704424 -146.25 - 84 152.49698 789 4 0 -93.78571 -21.779052 -86.25 - 84 350.77893 788 4 0 -94.275375 -21.854303 -86.091603 -Number of digits in this event = 13 -Event: 85 -Number of tracker hits in this event = 15 - 85 167.90961 896 5 1 0.071141863 0.087309142 -54.45 - 85 193.68792 896 5 0 0.071511651 0.092482212 -55.85 - 85 128.59432 896 4 1 0.059928145 0.2006626 -84.45 - 85 120.14386 896 4 0 0.05815717 0.20309108 -85.85 - 85 142.85801 898 2 0 -0.12712954 0.47413347 -145.85 - 85 319.63256 899 1 0 -0.2741663 0.78781243 -175.85 - 85 234.87457 902 0 0 -0.36313178 1.2576442 -205.85 - 85 13.3426 747 1 0 7.1760209 -30.21923 -176.25 - 85 53.084422 746 1 0 7.2006039 -30.259358 -176.23749 - 85 152.37731 679 7 0 88.957609 -43.689461 3.75 - 85 93.30576 1338 7 1 88.524803 -43.951051 5.15 - 85 123.41882 1337 7 1 88.427982 -43.84107 5.377205 - 85 129.802 1336 7 1 88.241299 -43.504316 5.4293324 - 85 293.84781 681 7 0 87.812553 -43.280015 4.15 - 85 263.47806 682 7 0 87.741648 -43.245681 4.0145902 -Number of digits in this event = 13 -Event: 86 -Number of tracker hits in this event = 20 - 86 130.26078 896 5 1 0.10675747 -0.10641942 -54.45 - 86 113.09444 896 4 1 0.17135022 -0.089160257 -84.45 - 86 97.711651 896 2 1 0.22686092 0.16643277 -144.45 - 86 210.1855 896 2 0 0.20662689 0.16413657 -145.85 - 86 74.934279 886 0 0 -0.072084979 -2.4373949 -205.85 - 86 40.975563 885 0 0 -0.0722454 -2.4561323 -206.07857 - 86 322.09823 289 0 1 -122.15057 -69.420003 -204.76209 - 86 121.3481 720 1 0 154.11869 -35.644695 -175.98388 - 86 19.814988 447 2 1 -90.678034 -45.157737 -144.78638 - 86 79.402782 446 2 1 -90.757196 -45.180047 -144.74702 - 86 40.632066 445 2 1 -90.994311 -45.249247 -144.64187 - 86 70.420774 444 2 1 -91.158689 -45.319985 -144.62253 - 86 42.260774 443 2 1 -91.414262 -45.393591 -144.64597 - 86 48.787906 442 2 1 -91.582592 -45.42108 -144.6973 - 86 83.74157 671 2 0 -91.700102 -45.357808 -145.85 - 86 345.77071 672 2 0 -91.698092 -45.248465 -146.037 - 86 45.011539 673 2 0 -91.744578 -45.033299 -146.21185 - 86 30.610328 472 2 0 -73.48707 -85.233236 -146.25 - 86 99.344034 471 2 0 -73.484905 -85.2507 -146.24018 - 86 341.60339 470 2 0 -73.439334 -85.454956 -146.23757 -Number of digits in this event = 7 -Event: 87 -Number of tracker hits in this event = 43 - 87 121.51515 896 4 1 0.23633324 0.10789311 -84.45 - 87 160.48593 896 4 0 0.26067408 0.15765232 -85.85 - 87 117.82154 902 3 1 1.3748777 1.3331145 -114.45 - 87 123.16344 903 3 0 1.5893073 1.5415169 -115.85 - 87 176.15948 929 2 1 6.7469153 9.4079414 -144.45 - 87 112.28903 944 2 0 7.0382987 9.7052211 -145.85 - 87 112.34079 961 1 1 13.070196 16.015182 -174.45 - 87 88.729429 977 1 0 13.400823 16.358999 -175.85 - 87 12.173554 978 1 0 13.481533 16.451768 -176.1921 - 87 115.48897 995 0 1 20.009607 24.126384 -204.45 - 87 22.502011 996 0 1 20.060919 24.216939 -204.76223 - 87 157.57576 1018 0 0 20.243248 24.532335 -205.85 - 87 104.48732 857 0 1 -8.085591 13.232801 -204.85 - 87 70.226468 913 4 1 3.4845843 -0.34873494 -84.45 - 87 60.868744 914 4 1 3.6589936 -0.38925141 -84.675206 - 87 108.9455 895 4 0 4.5064151 -0.62456087 -85.85 - 87 65.824187 894 4 0 4.6693539 -0.66955581 -86.0797 - 87 120.00892 1015 3 1 23.914421 -6.2257788 -114.45 - 87 30.588899 1016 3 1 24.108449 -6.1930524 -114.79052 - 87 73.001084 867 3 0 24.766698 -6.0677494 -115.85 - 87 64.825304 868 3 0 24.906842 -6.049163 -116.08059 - 87 241.85498 1103 2 1 41.496164 -4.3960549 -144.45 - 87 106.47225 876 2 0 41.916596 -4.4107783 -145.85 - 87 150.01168 1141 1 1 49.092649 -2.4654658 -174.45 - 87 260.24677 887 1 0 49.411562 -2.1651552 -175.85 - 87 61.520044 1164 0 1 53.82122 5.4302362 -204.45 - 87 233.63959 1165 0 1 53.868668 5.3773186 -204.66632 - 87 80.703401 921 0 0 54.12057 5.0993771 -205.85 - 87 54.965984 920 0 0 54.179405 5.0487171 -206.07684 - 87 176.76243 1104 2 1 41.684491 -4.4881992 -144.76032 - 87 91.000965 1105 2 1 41.870564 -4.8936021 -144.83898 - 87 117.4991 1106 2 1 42.081333 -5.1133196 -144.80645 - 87 79.729609 1107 2 1 42.273842 -5.2302296 -144.72959 - 87 72.927663 1108 2 1 42.474385 -5.2955175 -144.83011 - 87 259.1057 1109 2 1 42.669067 -5.3252263 -144.78034 - 87 151.81897 866 3 0 22.855831 -6.3492372 -115.85 - 87 108.46453 943 1 1 9.5139472 -6.2877045 -174.45 - 87 99.997274 944 1 1 9.6651854 -6.2114916 -174.58733 - 87 107.8854 945 1 1 9.8566166 -6.1526296 -174.68536 - 87 202.87653 946 1 1 10.0527 -6.0718879 -174.73228 - 87 35.933056 898 5 0 -0.54563165 0.59650234 -55.85 - 87 65.97689 899 5 0 -0.59298297 0.67110208 -55.940123 - 87 132.65226 900 5 0 -0.64320865 0.89749289 -56.035026 -Number of digits in this event = 16 -Event: 88 -Number of tracker hits in this event = 12 - 88 97.424133 895 4 1 -0.49775976 -0.24906944 -84.45 - 88 124.80925 895 3 1 -0.61847472 -0.48713408 -114.45 - 88 152.63865 895 3 0 -0.6224195 -0.49407872 -115.85 - 88 138.88467 894 2 1 -0.65280711 -0.54286699 -144.45 - 88 112.31504 895 2 0 -0.65394333 -0.54395243 -145.85 - 88 122.65902 894 1 1 -0.66173571 -0.59754118 -174.45 - 88 143.86656 895 1 0 -0.66300265 -0.61451891 -175.85 - 88 369.19675 894 0 1 -0.72448258 -0.97089325 -204.45 - 88 172.62021 893 0 0 -0.72851201 -0.99443928 -205.85 - 88 37.412492 1077 7 0 109.00425 36.417261 4.0521756 - 88 64.266036 1442 7 1 109.89857 37.784353 5.15 - 88 155.27677 1443 7 1 109.99098 37.993656 5.3102807 -Number of digits in this event = 10 -Event: 89 -Number of tracker hits in this event = 29 - 89 107.82788 896 4 1 0.22099327 0.29728346 -84.45 - 89 116.43607 897 4 0 0.23889041 0.31503315 -85.85 - 89 137.73142 898 3 1 0.64818134 0.7439437 -114.45 - 89 112.96487 899 3 0 0.62405205 0.76331593 -115.85 - 89 317.33397 900 1 1 0.98538691 1.6033954 -174.45 - 89 98.413792 903 1 0 1.0515169 1.5997175 -175.85 - 89 28.936409 907 0 1 2.4489612 1.3762178 -204.45 - 89 85.10944 908 0 1 2.4534743 1.3721725 -204.5643 - 89 108.52731 902 0 0 2.5110373 1.3173286 -205.85 - 89 147.19386 1164 12 0 -84.420422 53.672399 153.75 - 89 191.93884 1163 12 0 -84.423908 53.641395 153.76419 - 89 117.91258 1162 12 0 -84.464792 53.447624 153.81359 - 89 118.57673 892 0 1 -1.2287399 1.8065703 -204.45 - 89 107.32353 900 0 0 -1.1930791 0.94149826 -205.85 - 89 57.668564 899 0 0 -1.1931968 0.80085803 -206.08006 - 89 116.79884 896 3 1 0.072996472 0.26424062 -114.45 - 89 110.08025 920 2 1 5.0231531 -5.7201116 -144.45 - 89 193.23108 868 2 0 5.0549619 -5.8966298 -145.85 - 89 148.42505 919 1 1 4.6998127 -9.9665034 -174.45 - 89 175.29626 849 1 0 4.9669245 -9.7562073 -175.85 - 89 114.89111 948 0 1 10.536192 -5.7389305 -204.45 - 89 20.165228 949 0 1 10.682259 -5.7657818 -204.79486 - 89 107.91119 868 0 0 11.099076 -5.8524686 -205.85 - 89 37.97517 896 1 1 0.05 0.70592309 -174.76145 - 89 100.09787 904 1 0 1.1785565 1.658407 -175.85 - 89 86.998423 905 1 0 1.3858348 1.897049 -176.06579 - 89 36.643528 896 0 1 0.18999018 0.093783272 -204.45 - 89 81.231677 897 0 1 0.27810286 0.080953224 -204.56589 - 89 25.390054 898 0 1 0.45772382 0.064289799 -204.79566 -Number of digits in this event = 9 -Event: 90 -Number of tracker hits in this event = 37 - 90 115.44425 896 4 0 -0.34411447 0.074793411 -85.85 - 90 123.08037 895 3 1 -0.50921873 0.2840984 -114.45 - 90 165.78604 897 3 0 -0.51803177 0.29189279 -115.85 - 90 145.32374 894 2 1 -0.73899148 0.46107757 -144.45 - 90 101.76089 898 2 0 -0.73905231 0.45672998 -145.85 - 90 151.28166 894 1 1 -0.69604562 0.36352747 -174.45 - 90 97.469289 897 1 0 -0.66946684 0.35162136 -175.85 - 90 80.206921 554 5 0 -123.74333 -68.791085 -56.25 - 90 44.023394 1601 0 1 141.61053 -145.19531 -204.85 - 90 20.155806 919 5 1 4.6736701 -67.048893 -54.85 - 90 36.425429 895 6 0 0.05 -0.5330819 -26.10483 - 90 103.51718 851 6 0 -7.7316078 -9.3577523 -26.25 - 90 86.396159 852 6 0 -7.9121256 -9.1840902 -25.931182 - 90 99.021964 854 6 1 -8.7253875 -8.4823533 -24.85 - 90 41.604001 853 6 1 -8.9392102 -8.3657453 -24.65263 - 90 42.131153 852 6 1 -9.0558056 -8.3348624 -24.550139 - 90 104.76844 881 0 0 14.573765 -3.3106641 -206.25 - 90 124.43172 882 0 0 14.749264 -3.2464327 -206.1205 - 90 50.010123 976 0 1 16.147788 -2.6187789 -204.85 - 90 316.48923 977 0 1 16.256551 -2.5445855 -204.7383 - 90 11.576377 978 0 1 16.469376 -2.4530942 -204.48587 - 90 107.46949 886 0 0 16.715236 -2.3866218 -205.85 - 90 98.800793 892 2 1 -1.0999994 -1.3914319 -144.45 - 90 104.46031 890 2 0 -1.1714755 -1.5912853 -145.85 - 90 143.11711 882 1 1 -3.079003 -5.4597304 -174.45 - 90 134.40818 870 1 0 -3.2389082 -5.550887 -175.85 - 90 110.16897 861 0 1 -7.345188 -7.3581338 -204.45 - 90 97.205113 861 0 0 -7.4843021 -7.434697 -205.85 - 90 38.418591 860 0 0 -7.5220992 -7.4537758 -206.1925 - 90 48.504918 1051 1 0 -0.22975063 31.144591 -176.25 - 90 364.50221 1052 1 0 -0.21433794 31.251768 -176.17924 - 90 144.81417 642 3 0 0.58989128 -51.069112 -116.25 - 90 42.580002 902 3 1 1.3699689 -50.84359 -114.85 - 90 215.83679 903 3 1 1.4569281 -50.892531 -114.74487 - 90 98.499206 853 3 0 -0.96747071 -8.9589734 -116.25 - 90 137.25461 852 3 0 -1.0858226 -9.0503384 -116.15146 - 90 210.87234 889 3 1 -1.6944493 -8.7778746 -114.85 -Number of digits in this event = 15 -Event: 91 -Number of tracker hits in this event = 11 - 91 113.84873 896 4 1 0.19811411 -0.13030286 -84.45 - 91 165.01533 897 3 1 0.37698423 -0.17390349 -114.45 - 91 215.49877 896 2 1 0.19546045 -0.25977591 -144.45 - 91 193.29189 899 1 1 0.71034015 -0.40508222 -174.45 - 91 102.18438 898 3 1 0.4576999 -0.12921564 -114.55936 - 91 49.019286 895 3 0 1.0747015 -0.49317596 -116.1097 - 91 236.43413 880 0 1 -3.5528791 2.8238571 -204.45 - 91 30.752157 881 0 1 -3.4207181 2.7196842 -204.80058 - 91 160.86026 908 0 0 -3.1346951 2.524124 -205.85 - 91 20.08829 907 0 0 -3.0313833 2.4473943 -206.18615 - 91 2.3031114 896 4 0 0.89826483 0.13364981 -85.85 -Number of digits in this event = 6 -Event: 92 -Number of tracker hits in this event = 8 - 92 15.046678 896 3 1 0.05 -0.55650231 -114.78398 - 92 107.5803 895 3 0 0.05759129 -0.56571735 -115.85 - 92 136.98168 896 2 1 0.24074185 -0.8400931 -144.45 - 92 97.466268 893 2 0 0.23687008 -0.85540938 -145.85 - 92 269.29432 896 1 1 0.15778292 -1.1918645 -174.45 - 92 98.847897 892 1 0 0.15043892 -1.200279 -175.85 - 92 32.795788 900 1 0 -3.9584334 0.97851178 -175.85 - 92 412.15536 897 2 1 0.25662224 -0.80771398 -144.75658 -Number of digits in this event = 4 -Event: 93 -Number of tracker hits in this event = 8 - 93 202.38569 895 3 1 -0.56883093 -0.48863767 -114.45 - 93 120.24836 895 3 0 -0.55132479 -0.49237896 -115.85 - 93 92.34541 898 1 1 0.62530576 0.55907648 -174.45 - 93 123.42805 899 1 0 0.66460249 0.65146274 -175.85 - 93 116.4072 902 0 1 1.4216604 2.6216806 -204.45 - 93 120.72937 909 0 0 1.4407934 2.7079086 -205.85 - 93 35.80486 1571 4 0 61.94607 135.69004 -85.957555 - 93 198.21316 1572 4 0 61.96909 135.75194 -85.925362 -Number of digits in this event = 6 -Event: 94 -Number of tracker hits in this event = 54 - 94 244.2196 896 4 1 0.20207646 -0.3712288 -84.45 - 94 134.17365 895 3 1 -0.56721272 -0.57046914 -114.45 - 94 106.2083 895 3 0 -0.61773659 -0.59441209 -115.85 - 94 186.42216 890 2 1 -1.6051601 -1.0755475 -144.45 - 94 270.25263 892 2 0 -1.6509067 -1.1217169 -145.85 - 94 151.31573 885 1 1 -2.5734546 -2.0716079 -174.45 - 94 136.29785 887 1 0 -2.6288065 -2.1295966 -175.85 - 94 117.05682 879 0 1 -3.7703492 -3.2838824 -204.45 - 94 104.93099 881 0 0 -3.810738 -3.3379136 -205.85 - 94 287.20412 1409 0 0 -82.300617 103.34862 -206.13373 - 94 72.955251 1133 1 0 11.905133 47.556569 -176.25 - 94 63.88406 1134 1 0 11.993618 47.701567 -176.04858 - 94 176.5128 957 1 1 12.258264 48.274953 -174.85 - 94 124.30282 956 1 1 12.248809 48.442108 -174.45 - 94 20.416816 955 1 1 12.040753 48.382291 -174.77232 - 94 134.70892 1137 1 0 11.35774 48.408927 -175.85 - 94 23.769965 1138 1 0 11.190372 48.452942 -176.00959 - 94 96.02697 968 1 0 -89.753827 14.549983 -176.25 - 94 84.258093 889 2 1 -1.659768 -1.0779213 -144.45 - 94 70.832153 888 2 1 -1.8502118 -1.0531576 -144.68013 - 94 41.470482 893 2 0 -2.9204781 -1.0487564 -145.85 - 94 63.771919 716 2 0 -53.698003 -36.399848 -146.25 - 94 112.95654 715 2 0 -53.805139 -36.50569 -146.12611 - 94 11.104033 714 2 0 -54.00494 -36.741578 -145.88965 - 94 103.59412 624 2 1 -54.714564 -37.610491 -144.85 - 94 64.904155 623 2 1 -54.889049 -37.796446 -144.63464 - 94 60.958298 487 3 0 -77.48084 -82.085443 -116.25 - 94 153.69987 486 3 0 -77.566293 -82.256168 -116.11928 - 94 19.746544 485 3 0 -77.838273 -82.534962 -115.87127 - 94 214.99544 503 3 1 -79.016281 -83.825979 -114.85 - 94 135.83173 502 3 1 -79.056595 -83.875027 -114.81456 - 94 91.668931 501 3 1 -79.281368 -84.205902 -114.60803 - 94 276.80103 500 3 1 -79.451948 -84.481277 -114.45 - 94 3.7646046 499 3 1 -79.695223 -85.210501 -114.84324 - 94 101.75258 456 3 0 -80.515449 -88.260298 -115.85 - 94 143.8326 455 3 0 -80.62333 -88.580979 -116.0086 - 94 69.635674 453 3 0 -80.734058 -88.909265 -116.15576 - 94 121.64064 896 3 1 0.095099952 0.05 -114.48457 - 94 127.50599 898 3 0 0.64122954 0.54261185 -115.85 - 94 77.802936 963 2 1 13.579775 8.1262814 -144.45 - 94 42.354982 964 2 1 13.668756 8.1577435 -144.67806 - 94 148.70756 937 2 0 14.087709 8.3378546 -145.85 - 94 76.01652 1008 1 1 22.582049 17.563591 -174.45 - 94 88.364622 1009 1 1 22.671527 17.612029 -174.67599 - 94 39.210853 984 1 0 23.140385 17.839049 -175.85 - 94 78.763181 985 1 0 23.185985 17.864541 -175.96346 - 94 58.278586 1068 0 1 34.451791 23.785993 -204.45 - 94 82.094463 1067 0 1 34.351853 23.95993 -204.57238 - 94 59.668389 1066 0 1 34.175622 24.085401 -204.66412 - 94 63.629372 1065 0 1 33.985375 24.199882 -204.74104 - 94 15.432995 1064 0 1 33.803219 24.316076 -204.83341 - 94 87.90073 1023 0 0 31.652247 25.572147 -205.85 - 94 218.79145 1024 0 0 31.438153 25.711655 -205.94939 - 94 33.847148 1025 0 0 30.953723 25.984619 -206.18253 -Number of digits in this event = 21 -Event: 95 -Number of tracker hits in this event = 3 - 95 162.17515 894 2 1 -0.68075062 -0.093899137 -144.45 - 95 539.06195 910 2 0 -27.129094 2.9142669 -146.25 - 95 141.57976 909 2 0 -27.611661 2.8264256 -145.90906 -Number of digits in this event = 4 -Event: 96 -Number of tracker hits in this event = 32 - 96 102.20931 895 4 1 -0.62446278 -0.24040866 -84.45 - 96 187.96694 894 3 1 -0.84376739 -0.39759784 -114.45 - 96 274.89753 892 2 1 -1.2158927 -0.77086485 -144.45 - 96 110.14546 894 2 0 -1.2330168 -0.79187778 -145.85 - 96 146.83843 890 1 1 -1.599248 -1.2149618 -174.45 - 96 123.11355 892 1 0 -1.61596 -1.2375591 -175.85 - 96 230.22891 888 0 1 -1.9781298 -1.7022136 -204.45 - 96 288.13145 889 0 0 -1.9938992 -1.7216395 -205.85 - 96 46.183848 1637 3 0 -74.561681 148.89142 -116.25 - 96 155.93548 1638 3 0 -74.686111 148.98332 -116.17672 - 96 79.098578 1639 3 0 -74.935561 149.16988 -116.06728 - 96 181.74801 1640 3 0 -75.077126 149.36179 -115.97575 - 96 72.932385 1641 3 0 -75.420805 149.59356 -116.11903 - 96 78.563976 1642 3 0 -75.555637 149.79095 -116.18204 - 96 277.30188 887 0 1 -2.057709 -1.7265069 -204.56521 - 96 40.38746 891 0 0 -2.7155484 -1.2542005 -205.85 - 96 80.455027 892 0 0 -2.7705081 -1.2139361 -205.96634 - 96 98.181425 594 5 0 -119.43223 -60.702238 -56.25 - 96 78.312993 593 5 0 -119.57254 -60.850824 -56.028763 - 96 134.52567 299 5 1 -120.15999 -61.589678 -54.85 - 96 91.009524 487 6 0 -95.831674 -82.129264 -26.25 - 96 80.98789 486 6 0 -95.616669 -82.305806 -26.048157 - 96 1.9461572 485 6 0 -95.422716 -82.513561 -25.855995 - 96 229.7364 428 6 1 -94.352385 -83.321118 -24.85 - 96 255.76116 429 6 1 -94.222809 -83.396004 -24.733479 - 96 379.89986 430 6 1 -94.100726 -83.458036 -24.602269 - 96 229.23285 431 6 1 -93.859612 -83.743948 -24.45 - 96 195.3397 432 6 1 -93.686502 -84.123297 -24.768546 - 96 50.752381 427 6 1 -94.590693 -85.207393 -24.45 - 96 183.01041 473 6 0 -92.800515 -84.884384 -25.85 - 96 117.15419 474 6 0 -92.696237 -84.846848 -25.898179 - 96 179.6159 895 0 0 -2.2017874 -0.61920103 -205.85 -Number of digits in this event = 20 -Event: 97 -Number of tracker hits in this event = 20 - 97 118.37688 897 3 0 -0.15348712 0.30943493 -115.85 - 97 105.09344 898 2 0 -0.29378652 0.55190226 -145.85 - 97 147.91345 895 1 1 -0.49194594 0.93016812 -174.45 - 97 204.78892 900 1 0 -0.50638443 0.9403544 -175.85 - 97 247.7215 894 0 1 -0.80977234 1.170166 -204.45 - 97 120.32004 901 0 0 -0.8212324 1.1688732 -205.85 - 97 83.180024 900 0 0 -0.18029846 1.0111358 -205.85 - 97 178.80065 895 4 0 -1.1282743 -0.55925219 -85.85 - 97 209.20085 894 4 0 -1.5705556 -0.70517786 -86.220527 - 97 167.5335 893 4 0 -1.9992187 -0.8579497 -86.196293 - 97 88.118037 892 4 0 -2.5591315 -1.0936856 -86.20535 - 97 117.46233 891 4 0 -2.7841102 -1.2935071 -86.168794 - 97 86.756326 890 4 0 -2.9857551 -1.5059805 -86.088603 - 97 43.689744 889 4 0 -3.1453333 -1.7552792 -86.032483 - 97 78.285883 888 4 0 -3.2234691 -1.8805782 -85.995763 - 97 63.368245 887 4 0 -3.4064018 -2.1133552 -85.924635 - 97 87.227209 870 4 1 -5.4922002 -3.8391515 -84.85 - 97 202.87677 869 4 1 -5.6637628 -4.0270425 -84.734568 - 97 401.24243 868 4 1 -5.9554753 -4.4729602 -84.45 - 97 436.06089 867 4 1 -6.0507364 -4.4063812 -84.49754 -Number of digits in this event = 12 -Event: 98 -Number of tracker hits in this event = 46 - 98 228.56611 897 4 0 -0.10240924 0.43427262 -85.85 - 98 152.80886 898 3 1 0.48090565 1.2723198 -114.45 - 98 120.52227 902 3 0 0.52150745 1.3040728 -115.85 - 98 123.343 902 2 1 1.2967965 2.0109981 -144.45 - 98 93.626278 906 2 0 1.3289142 2.052382 -145.85 - 98 308.9904 905 1 1 1.890239 2.7828815 -174.45 - 98 124.07512 909 1 0 1.9168839 2.8104214 -175.85 - 98 115.04709 908 0 1 2.4866505 3.639575 -204.45 - 98 101.29894 914 0 0 2.5491954 3.6529862 -205.85 - 98 135.86884 907 1 0 2.0975149 2.4498294 -175.85 - 98 79.027083 924 0 1 5.8336019 -0.62035933 -204.45 - 98 153.94808 925 0 1 5.8931262 -0.4584991 -204.56383 - 98 120.21656 900 0 0 6.2186753 0.86115325 -205.85 - 98 68.169523 901 0 0 6.2634763 1.0826287 -206.0858 - 98 117.93241 1185 0 0 49.072285 58.041636 -206.25 - 98 108.45886 1187 0 0 49.326781 58.376683 -206.15361 - 98 108.37327 1189 0 0 49.517059 58.746107 -206.03697 - 98 35.789042 1191 0 0 49.71769 59.101825 -205.89977 - 98 62.446249 1149 0 1 50.843274 60.719556 -204.85 - 98 54.44524 1150 0 1 50.977334 60.884177 -204.73603 - 98 69.369437 1151 0 1 51.123917 61.034898 -204.67655 - 98 184.00844 1152 0 1 51.280888 61.211274 -204.6286 - 98 55.560305 1153 0 1 51.626297 61.531018 -204.53838 - 98 58.482353 1154 0 1 51.804023 61.691914 -204.51465 - 98 0.6681854 1155 0 1 51.980583 61.84189 -204.45024 - 98 176.34602 1200 1 0 70.384213 61.03807 -176.25 - 98 82.036605 1251 1 1 71.169012 61.161239 -174.85 - 98 89.818109 1252 1 1 71.306033 61.190339 -174.62771 - 98 186.7384 1268 2 0 32.438474 74.566489 -146.25 - 98 187.89414 1058 2 1 32.493368 73.866431 -144.85 - 98 197.45893 1054 2 1 31.785103 74.795395 -144.85 - 98 258.93159 1055 2 1 31.862086 74.692122 -144.6955 - 98 107.09266 1397 2 0 148.24407 100.80821 -146.25 - 98 217.88218 903 2 0 -0.060578987 1.6235058 -145.85 - 98 13.14483 904 2 0 -0.053516927 1.6529041 -146.20729 - 98 71.767903 897 1 1 0.43531893 4.2525146 -174.45 - 98 55.03218 898 1 1 0.45515911 4.2836397 -174.67868 - 98 64.810317 917 1 0 0.56324239 4.4344834 -175.85 - 98 63.732987 918 1 0 0.58389789 4.4645696 -176.07849 - 98 111.3935 911 0 1 3.1341207 8.3659709 -204.45 - 98 111.03924 938 0 0 3.1279473 8.5637312 -205.85 - 98 108.75398 896 3 1 0.05251062 0.88874478 -114.45 - 98 118.25704 900 3 0 0.064953331 0.9337445 -115.85 - 98 132.08065 897 2 1 0.28833533 1.8763226 -144.45 - 98 116.84077 905 2 0 0.27216478 1.9228349 -145.85 - 98 175.98805 915 0 0 -0.45216288 3.9923609 -205.85 -Number of digits in this event = 19 -Event: 99 -Number of tracker hits in this event = 18 - 99 105.35633 894 3 0 -0.2450962 -0.7441871 -115.85 - 99 153.65095 893 2 1 -0.92191227 -1.0090795 -144.45 - 99 115.1246 893 2 0 -0.95523619 -1.0185988 -145.85 - 99 283.23809 890 1 1 -1.6213879 -1.2027564 -174.45 - 99 312.01564 892 1 0 -1.664115 -1.2055858 -175.85 - 99 255.54704 885 0 1 -2.5524884 -1.2810412 -204.45 - 99 153.65033 891 0 0 -2.5979737 -1.2816646 -205.85 - 99 1.8285 653 0 0 20.78661 -48.87957 -206.25 - 99 26.781 654 0 0 20.951699 -48.713607 -206.15683 - 99 78.063627 1068 2 0 35.883126 34.563418 -145.97457 - 99 43.442751 1069 2 0 35.808338 34.665183 -145.91844 - 99 83.279564 1068 2 1 34.595968 35.962731 -144.85 - 99 95.640083 1082 2 0 35.071855 37.320538 -145.85 - 99 53.892087 1069 2 1 34.727967 37.798149 -144.85 - 99 45.390184 889 1 1 -1.6505741 -1.2443051 -174.81435 - 99 149.78932 895 4 0 -1.1735661 -0.45154556 -85.868626 - 99 123.92569 892 4 1 -1.2357575 -0.4158928 -84.85 - 99 3.2665624 891 4 1 -1.2503682 -0.44224108 -84.802217 -Number of digits in this event = 9 -Run terminated. -Run Summary - Number of events processed : 100 - User=24.16s Real=25.26s Sys=0.03s -End of Run -File Tracks_5.dat -/vis/viewer/update -ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. -Graphics systems deleted. -Visualization Manager deleting... -G4 kernel has come to Quit state. +Idle> +Idle> \ No newline at end of file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelEMPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelEMPhysics.hh deleted file mode 100644 index d6d54dedc0..0000000000 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelEMPhysics.hh +++ /dev/null @@ -1,117 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: GammaRayTelEMPhysics.hh,v 1.2 2006/06/29 15:55:26 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// -// -// ------------------------------------------------------------ -// GEANT 4 class header file -// Class Description: -// This class is an derived class of G4VPhysicsConstructor -// -// ------------------------------------------- -// History -// first version 12 Nov. 2000 by H.Kurashige -// ------------------------------------------------------------ -#ifndef GammaRayTelEMPhysics_h -#define GammaRayTelEMPhysics_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" - -#include "G4PhotoElectricEffect.hh" -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4MultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" -#include "G4LowEnergyRayleigh.hh" -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" - - -class GammaRayTelEMPhysics : public G4VPhysicsConstructor -{ - public: - GammaRayTelEMPhysics(const G4String& name ="electromagnetic"); - virtual ~GammaRayTelEMPhysics(); - - public: - // This method will be invoked in the Construct() method. - // each particle type will be instantiated - virtual void ConstructParticle(); - - // This method will be invoked in the Construct() method. - // each physics process will be instantiated and - // registered to the process manager of each particle type - virtual void ConstructProcess(); - - protected: - // Gamma physics - G4PhotoElectricEffect thePhotoEffect; - G4ComptonScattering theComptonEffect; - G4GammaConversion thePairProduction; - - // LowEnergy Gamma physics - - G4LowEnergyPhotoElectric theLowEnPhoto; - G4LowEnergyCompton theLowEnCompton; - G4LowEnergyGammaConversion theLowEnPair; - G4LowEnergyRayleigh theLowEnRayleigh; - - - // Electron physics - G4MultipleScattering theElectronMultipleScattering; - G4eIonisation theElectronIonisation; - G4eBremsstrahlung theElectronBremsStrahlung; - - // Low Energy e- physics - - G4LowEnergyIonisation theLowEnIon; - G4LowEnergyBremsstrahlung theLowEnBremss; - - //Positron physics - G4MultipleScattering thePositronMultipleScattering; - G4eIonisation thePositronIonisation; - G4eBremsstrahlung thePositronBremsStrahlung; - G4eplusAnnihilation theAnnihilation; -}; - - -#endif - - - - - diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelEMlowePhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelEMlowePhysics.hh new file mode 100644 index 0000000000..7f3baaa737 --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelEMlowePhysics.hh @@ -0,0 +1,73 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: GammaRayTelEMlowePhysics.hh,v 1.1 2009/11/18 15:57:21 flongo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// Class Description: +// This class is an derived class of G4VPhysicsConstructor +// +// ------------------------------------------- +// History +// first version 12 Nov. 2000 by H.Kurashige +// ------------------------------------------------------------ +#ifndef GammaRayTelEMlowePhysics_h +#define GammaRayTelEMlowePhysics_h 1 + +#include "globals.hh" +#include "G4ios.hh" + +#include "G4VPhysicsConstructor.hh" + + +class GammaRayTelEMlowePhysics : public G4VPhysicsConstructor +{ + public: + GammaRayTelEMlowePhysics(const G4String& name ="LowE EM"); + virtual ~GammaRayTelEMlowePhysics(); + + public: + // This method will be invoked in the Construct() method. + // each particle type will be instantiated + virtual void ConstructParticle(); + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); + +}; + + +#endif + + + + + diff --git a/examples/extended/optical/LXe/include/LXeOpticalPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelEMstdPhysics.hh similarity index 73% rename from examples/extended/optical/LXe/include/LXeOpticalPhysics.hh rename to examples/advanced/gammaray_telescope/include/GammaRayTelEMstdPhysics.hh index 6a4f11c675..49cc943f7e 100644 --- a/examples/extended/optical/LXe/include/LXeOpticalPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelEMstdPhysics.hh @@ -23,29 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - -#ifndef LXeOpticalPhysics_h -#define LXeOpticalPhysics_h 1 +// +// $Id: GammaRayTelEMstdPhysics.hh,v 1.1 2009/11/18 15:57:21 flongo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// Class Description: +// This class is an derived class of G4VPhysicsConstructor +// +// ------------------------------------------- +// History +// first version 12 Nov. 2000 by H.Kurashige +// ------------------------------------------------------------ +#ifndef GammaRayTelEMstdPhysics_h +#define GammaRayTelEMstdPhysics_h 1 #include "globals.hh" #include "G4ios.hh" #include "G4VPhysicsConstructor.hh" -#include "G4Scintillation.hh" -#include "G4Cerenkov.hh" -#include "G4OpAbsorption.hh" -#include "G4OpRayleigh.hh" -#include "G4OpBoundaryProcess.hh" -#include "G4OpWLS.hh" -class LXeOpticalPhysics : public G4VPhysicsConstructor +class GammaRayTelEMstdPhysics : public G4VPhysicsConstructor { -public: - LXeOpticalPhysics(const G4String& name ="optical"); - virtual ~LXeOpticalPhysics(); + public: + GammaRayTelEMstdPhysics(const G4String& name ="Standard EM"); + virtual ~GammaRayTelEMstdPhysics(); -public: + public: // This method will be invoked in the Construct() method. // each particle type will be instantiated virtual void ConstructParticle(); @@ -55,16 +62,6 @@ public: // registered to the process manager of each particle type virtual void ConstructProcess(); - void SetScintYieldFactor(G4double yf); - -protected: - - G4Scintillation* theScintProcess; - G4Cerenkov* theCerenkovProcess; - G4OpAbsorption* theAbsorptionProcess; - G4OpRayleigh* theRayleighScattering; - G4OpBoundaryProcess* theBoundaryProcess; - G4OpWLS* theWLSProcess; }; diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh index 03d9e18de0..2e97c6a58e 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh @@ -29,6 +29,8 @@ #include "G4VModularPhysicsList.hh" #include "globals.hh" +class GammaRayTelPhysicsListMessenger; + class GammaRayTelPhysicsList: public G4VModularPhysicsList { public: @@ -38,7 +40,16 @@ public: public: // SetCuts() virtual void SetCuts(); + void SetRegionCut(G4double); + void AddPhysicsList(const G4String& name); + // void ConstructProcess(); + +private: + + G4String emName; + G4VPhysicsConstructor* emPhysicsList; + GammaRayTelPhysicsListMessenger* pMessenger; }; diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsListMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsListMessenger.hh new file mode 100644 index 0000000000..9c7d71980d --- /dev/null +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsListMessenger.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef GammaRayTelPhysicsListMessenger_h +#define GammaRayTelPhysicsListMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class GammaRayTelPhysicsList; +class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class GammaRayTelPhysicsListMessenger: public G4UImessenger +{ + public: + + GammaRayTelPhysicsListMessenger(GammaRayTelPhysicsList* ); + ~GammaRayTelPhysicsListMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + + GammaRayTelPhysicsList* pPhysicsList; + + G4UIdirectory* physDir; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithAString* pListCmd; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/gammaray_telescope/macro1.mac b/examples/advanced/gammaray_telescope/macro1.mac index 67528ec56e..77a2cb7b14 100644 --- a/examples/advanced/gammaray_telescope/macro1.mac +++ b/examples/advanced/gammaray_telescope/macro1.mac @@ -13,10 +13,10 @@ /control/saveHistory /run/verbose 1 /gun/sourceGen true -/run/initialize - /control/execute emstd.mac +/run/initialize + /particle/select gamma /gun/vertexRadius 25. cm /gun/sourceType 2 diff --git a/examples/advanced/gammaray_telescope/macro2.mac b/examples/advanced/gammaray_telescope/macro2.mac index 68c3e0daf9..a96f58801c 100644 --- a/examples/advanced/gammaray_telescope/macro2.mac +++ b/examples/advanced/gammaray_telescope/macro2.mac @@ -13,10 +13,12 @@ /control/saveHistory /run/verbose 2 /gun/sourceGen true -/run/initialize + /control/execute emlowe.mac +/run/initialize + /gun/particle mu- /gun/energy 100 MeV /gun/vertexRadius 30. cm diff --git a/examples/advanced/gammaray_telescope/macro3.mac b/examples/advanced/gammaray_telescope/macro3.mac index dda15a0fae..d7ac7efc22 100644 --- a/examples/advanced/gammaray_telescope/macro3.mac +++ b/examples/advanced/gammaray_telescope/macro3.mac @@ -13,10 +13,8 @@ /control/saveHistory /run/verbose 1 /gun/sourceGen true -/run/initialize - /control/execute emstd.mac - +/run/initialize /gun/particle gamma /gun/energy 1 GeV /gun/vertexRadius 25. cm diff --git a/examples/advanced/gammaray_telescope/macro4.mac b/examples/advanced/gammaray_telescope/macro4.mac index a6ebaf1ae9..1535e65592 100644 --- a/examples/advanced/gammaray_telescope/macro4.mac +++ b/examples/advanced/gammaray_telescope/macro4.mac @@ -1,6 +1,7 @@ /run/verbose 1 /tracking/storeTrajectory 1 /gun/sourceGen false +/control/execute emlowe.mac /run/initialize /gps/particle e- /gps/direction 0 0 -1 diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelEMlowePhysics.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelEMlowePhysics.cc new file mode 100644 index 0000000000..92c19ca803 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelEMlowePhysics.cc @@ -0,0 +1,133 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: GammaRayTelEMlowePhysics.cc,v 1.1 2009/11/18 15:59:05 flongo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// + +#include "GammaRayTelEMlowePhysics.hh" + +#include "globals.hh" +#include "G4ios.hh" +#include + +// gamma + +#include "G4PhotoElectricEffect.hh" +#include "G4LivermorePhotoElectricModel.hh" +#include "G4ComptonScattering.hh" +#include "G4LivermoreComptonModel.hh" +#include "G4GammaConversion.hh" +#include "G4LivermoreGammaConversionModel.hh" +#include "G4RayleighScattering.hh" +#include "G4LivermoreRayleighModel.hh" + + +// e-/e+ + +#include "G4eMultipleScattering.hh" +#include "G4eIonisation.hh" +#include "G4LivermoreIonisationModel.hh" +#include "G4eBremsstrahlung.hh" +#include "G4LivermoreBremsstrahlungModel.hh" +#include "G4eplusAnnihilation.hh" + + +GammaRayTelEMlowePhysics::GammaRayTelEMlowePhysics(const G4String& name) + : G4VPhysicsConstructor(name) +{ +} + +GammaRayTelEMlowePhysics::~GammaRayTelEMlowePhysics() +{ +} + +void GammaRayTelEMlowePhysics::ConstructParticle() +{ +} + + +#include "G4ProcessManager.hh" + + +void GammaRayTelEMlowePhysics::ConstructProcess() +{ + G4ProcessManager * pManager = 0; + + // Gamma Physics + pManager = G4Gamma::Gamma()->GetProcessManager(); + + G4RayleighScattering* theRayleigh = new G4RayleighScattering(); + theRayleigh->SetModel(new G4LivermoreRayleighModel()); + G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); + thePhotoElectricEffect->SetModel(new G4LivermorePhotoElectricModel()); + G4ComptonScattering* theComptonScattering = new G4ComptonScattering(); + theComptonScattering->SetModel(new G4LivermoreComptonModel()); + G4GammaConversion* theGammaConversion = new G4GammaConversion(); + theGammaConversion->SetModel(new G4LivermoreGammaConversionModel()); + + pManager->AddDiscreteProcess(theRayleigh); + pManager->AddDiscreteProcess(thePhotoElectricEffect); + pManager->AddDiscreteProcess(theComptonScattering); + pManager->AddDiscreteProcess(theGammaConversion); + + + // Electron Physics + + pManager = G4Electron::Electron()->GetProcessManager(); + + + G4eMultipleScattering* msc = new G4eMultipleScattering(); + + G4eIonisation* eIonisation = new G4eIonisation(); + eIonisation->SetEmModel(new G4LivermoreIonisationModel()); + + G4eBremsstrahlung* eBremsstrahlung = new G4eBremsstrahlung(); + eBremsstrahlung->SetEmModel(new G4LivermoreBremsstrahlungModel()); + + pManager->AddProcess(msc,-1, 1, 1); + pManager->AddProcess(eIonisation,-1, 2, 2); + pManager->AddProcess(eBremsstrahlung, -1,-3, 3); + + + //Positron Physics + + pManager = G4Positron::Positron()->GetProcessManager(); + + G4eMultipleScattering* msc_p = new G4eMultipleScattering(); + pManager->AddProcess(msc_p,-1, 1, 1); + + G4eIonisation* eIonisation_p = new G4eIonisation(); + pManager->AddProcess(eIonisation_p, -1, 2, 2); + pManager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3); + + pManager->AddProcess(new G4eplusAnnihilation(),0,-1, 4); + +} + + + diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelEMPhysics.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelEMstdPhysics.cc similarity index 55% rename from examples/advanced/gammaray_telescope/src/GammaRayTelEMPhysics.cc rename to examples/advanced/gammaray_telescope/src/GammaRayTelEMstdPhysics.cc index b3d4f5b5fe..94db317b9a 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelEMPhysics.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelEMstdPhysics.cc @@ -24,28 +24,45 @@ // ******************************************************************** // // -// $Id: GammaRayTelEMPhysics.cc,v 1.4 2006/06/29 15:56:36 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelEMstdPhysics.cc,v 1.1 2009/11/18 15:59:05 flongo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // -#include "GammaRayTelEMPhysics.hh" +#include "GammaRayTelEMstdPhysics.hh" #include "globals.hh" #include "G4ios.hh" #include +// gamma -GammaRayTelEMPhysics::GammaRayTelEMPhysics(const G4String& name) +#include "G4PhotoElectricEffect.hh" +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" + + +// e- +#include "G4eMultipleScattering.hh" +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" + +// e+ +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + + +GammaRayTelEMstdPhysics::GammaRayTelEMstdPhysics(const G4String& name) : G4VPhysicsConstructor(name) { } -GammaRayTelEMPhysics::~GammaRayTelEMPhysics() +GammaRayTelEMstdPhysics::~GammaRayTelEMstdPhysics() { } -void GammaRayTelEMPhysics::ConstructParticle() +void GammaRayTelEMstdPhysics::ConstructParticle() { } @@ -53,60 +70,35 @@ void GammaRayTelEMPhysics::ConstructParticle() #include "G4ProcessManager.hh" -void GammaRayTelEMPhysics::ConstructProcess() +void GammaRayTelEMstdPhysics::ConstructProcess() { G4ProcessManager * pManager = 0; // Gamma Physics pManager = G4Gamma::Gamma()->GetProcessManager(); - // std + pManager->AddDiscreteProcess(new G4PhotoElectricEffect); + pManager->AddDiscreteProcess(new G4ComptonScattering); + pManager->AddDiscreteProcess(new G4GammaConversion); - pManager->AddDiscreteProcess(&thePhotoEffect); - pManager->AddDiscreteProcess(&theComptonEffect); - pManager->AddDiscreteProcess(&thePairProduction); - - // lowe - - pManager->AddDiscreteProcess(&theLowEnPhoto); - pManager->AddDiscreteProcess(&theLowEnCompton); - pManager->AddDiscreteProcess(&theLowEnPair); - pManager->AddDiscreteProcess(&theLowEnRayleigh); - + // Electron Physics + pManager = G4Electron::Electron()->GetProcessManager(); - // add processes + pManager->AddProcess(new G4eMultipleScattering, -1, 1, 1); + pManager->AddProcess(new G4eIonisation, -1, 2, 2); + pManager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + + // Positron Physics - pManager->AddDiscreteProcess(&theElectronBremsStrahlung); - pManager->AddProcess(&theElectronIonisation, ordInActive,2, 2); - - pManager->AddDiscreteProcess(&theLowEnBremss); - pManager->AddProcess(&theLowEnIon, ordInActive,2, 2); - - - pManager->AddProcess(&theElectronMultipleScattering); - pManager->SetProcessOrdering(&theElectronMultipleScattering, idxAlongStep, 1); - pManager->SetProcessOrdering(&theElectronMultipleScattering, idxPostStep, 1); - - - - //Positron Physics pManager = G4Positron::Positron()->GetProcessManager(); - // add processes - pManager->AddDiscreteProcess(&thePositronBremsStrahlung); - pManager->AddDiscreteProcess(&theAnnihilation); - - pManager->AddRestProcess(&theAnnihilation); - - pManager->AddProcess(&thePositronIonisation, ordInActive,2, 2); - - pManager->AddProcess(&thePositronMultipleScattering); - pManager->SetProcessOrdering(&thePositronMultipleScattering, idxAlongStep, 1); - pManager->SetProcessOrdering(&thePositronMultipleScattering, idxPostStep, 1); + pManager->AddProcess(new G4eMultipleScattering, -1, 1, 1); + pManager->AddProcess(new G4eIonisation, -1, 2, 2); + pManager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); + pManager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); } - diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc index 70ab308cae..59b4f35c94 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: GammaRayTelPhysicsList.cc,v 1.7 2006/06/29 15:56:55 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: GammaRayTelPhysicsList.cc,v 1.8 2009/11/18 15:59:05 flongo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // @@ -43,41 +43,74 @@ #include "G4MaterialTable.hh" #include "G4ios.hh" #include + #include "GammaRayTelParticles.hh" #include "GammaRayTelGeneralPhysics.hh" -#include "GammaRayTelEMPhysics.hh" +#include "GammaRayTelEMstdPhysics.hh" +#include "GammaRayTelEMlowePhysics.hh" #include "GammaRayTelMuonPhysics.hh" #include "GammaRayTelHadronPhysics.hh" #include "GammaRayTelIonPhysics.hh" +#include "G4PhysListFactory.hh" +#include "G4VPhysicsConstructor.hh" +#include "G4EmProcessOptions.hh" + + +#include "GammaRayTelPhysicsListMessenger.hh" + GammaRayTelPhysicsList::GammaRayTelPhysicsList(): G4VModularPhysicsList() { // default cut value (1.0mm) defaultCutValue = 1.0*mm; SetVerboseLevel(1); + pMessenger = new GammaRayTelPhysicsListMessenger(this); + + // Particles + + RegisterPhysics( new GammaRayTelParticles("particles") ); + G4cout << "PARTICLES DONE" << G4endl; + + // EM physics + + emPhysicsList = new GammaRayTelEMstdPhysics; + emName = G4String("Standard EM"); + + // General Physics + RegisterPhysics( new GammaRayTelGeneralPhysics("general") ); - // EM Physics - RegisterPhysics( new GammaRayTelEMPhysics("electromagnetic")); + G4cout << "GENERAL DONE" << G4endl; + // Muon Physics + RegisterPhysics( new GammaRayTelMuonPhysics("muon")); + + G4cout << "MUON DONE" << G4endl; + // Hadron Physics RegisterPhysics( new GammaRayTelHadronPhysics("hadron")); + G4cout << "HADRONS DONE" << G4endl; + // Ion Physics RegisterPhysics( new GammaRayTelIonPhysics("ion")); + G4cout << "IONS DONE" << G4endl; + } GammaRayTelPhysicsList::~GammaRayTelPhysicsList() { + delete pMessenger; + delete emPhysicsList; } #include "G4Region.hh" @@ -93,13 +126,33 @@ void GammaRayTelPhysicsList::SetCuts() // These values are used as the default production thresholds // for the world volume. + + G4cout << "CUT STD" << G4endl; + SetCutsWithDefault(); - + +} + +void GammaRayTelPhysicsList::SetRegionCut(G4double cutvalue) +{ + + SetCutsWithDefault(); + + if (verboseLevel >0){ + G4cout << "GammaRayTelPhysicsList::SetCuts: default cut length : " + << G4BestUnit(defaultCutValue,"Length") << G4endl; + } + + G4cout << "CUTS NEW" << G4endl; + // Production thresholds for detector regions G4String regName[] = {"Calorimeter","Tracker"}; - G4double cutValue[] = {1*mm, 0.1*mm}; + // G4double cutValue[] = {1*mm, 0.1*mm}; + G4double cutValue[] = {cutvalue, cutvalue/10.}; + + for(G4int i=0;i<2;i++) { @@ -108,8 +161,41 @@ void GammaRayTelPhysicsList::SetCuts() cuts->SetProductionCut(cutValue[i]); reg->SetProductionCuts(cuts); } + } +///////////////////////////////////////////////////////////////////////////// + +void GammaRayTelPhysicsList::AddPhysicsList(const G4String& name) +{ + + if (verboseLevel>1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + + if (name == "Standard EM") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new GammaRayTelEMstdPhysics(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: EM Standard" << G4endl; + + } else if (name == "LowE EM") { + emName = name; + delete emPhysicsList; + emPhysicsList = new GammaRayTelEMlowePhysics();; + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: EM LowE" << G4endl; + } + else { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; + } + G4cout << "REGISTRATION DONE " << G4endl; + + RegisterPhysics(emPhysicsList); + +} diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsListMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsListMessenger.cc new file mode 100644 index 0000000000..868b90a678 --- /dev/null +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsListMessenger.cc @@ -0,0 +1,77 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +#include "GammaRayTelPhysicsListMessenger.hh" + +#include "GammaRayTelPhysicsList.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" + +///////////////////////////////////////////////////////////////////////////// +GammaRayTelPhysicsListMessenger::GammaRayTelPhysicsListMessenger(GammaRayTelPhysicsList* pPhys) +:pPhysicsList(pPhys) +{ + physDir = new G4UIdirectory("/physics/"); + physDir->SetGuidance("Commands to activate physics models and set cuts"); + + allCutCmd = new G4UIcmdWithADoubleAndUnit("/physics/setCuts",this); + allCutCmd->SetGuidance("Set cut for all."); + allCutCmd->SetParameterName("cut",false); + allCutCmd->SetUnitCategory("Length"); + allCutCmd->SetRange("cut>0.0"); + allCutCmd->AvailableForStates(G4State_Idle); + + pListCmd = new G4UIcmdWithAString("/physics/addPhysics",this); + pListCmd->SetGuidance("Add physics list."); + pListCmd->SetParameterName("PList",false); + pListCmd->AvailableForStates(G4State_PreInit); + +} + +///////////////////////////////////////////////////////////////////////////// +GammaRayTelPhysicsListMessenger::~GammaRayTelPhysicsListMessenger() +{ + delete allCutCmd; + delete pListCmd; + delete physDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void GammaRayTelPhysicsListMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if( command == allCutCmd ) + { + G4double cut = allCutCmd->GetNewDoubleValue(newValue); + pPhysicsList->SetRegionCut(cut); + } + + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/hadrontherapy/GNUmakefile b/examples/advanced/hadrontherapy/GNUmakefile index e8bcfb0a5d..9460f1d6f0 100644 --- a/examples/advanced/hadrontherapy/GNUmakefile +++ b/examples/advanced/hadrontherapy/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.6 2008/06/15 17:28:20 cirrone Exp $ +# $Id: GNUmakefile,v 1.12 2009/08/13 20:48:04 kaitanie Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -14,6 +14,19 @@ endif .PHONY: all all: lib bin +include $(G4INSTALL)/config/architecture.gmk + +ifdef G4ANALYSIS_USE +CPPFLAGS += -DANALYSIS_USE +endif +ifndef G4ANALYSIS_USE # If we don't have AIDA +ifdef G4ANALYSIS_USE_ROOT # And we have ROOT +CPPFLAGS += -DANALYSIS_USE -DG4ANALYSIS_USE_ROOT +CPPFLAGS += $(shell root-config --cflags) +LDFLAGS += $(shell root-config --glibs) +endif +endif + include $(G4INSTALL)/config/binmake.gmk ifdef G4ANALYSIS_USE diff --git a/examples/advanced/hadrontherapy/Hadrontherapy.cc b/examples/advanced/hadrontherapy/Hadrontherapy.cc index d86ad97c5a..6a6b276305 100644 --- a/examples/advanced/hadrontherapy/Hadrontherapy.cc +++ b/examples/advanced/hadrontherapy/Hadrontherapy.cc @@ -23,36 +23,47 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: Hadrontherapy.cc Main of the Hadrontherapy example; -// Last modified: G.A.P.Cirrone March 2008; +// Hadrontherapy.cc +// +// Main of the Hadrontherapy example; +// Released with the Geant4 9.3 version (December 2009) +// +// Last modified: G.A.P.Cirrone // -// See more at: http://geant4infn.wikispaces.com/ +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy // // ---------------------------------------------------------------------------- // GEANT 4 - Hadrontherapy example // ---------------------------------------------------------------------------- // Code developed by: // -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// G.A.P. Cirrone(a)°, G.Cuttone(a), F.Di Rosa(a), S.E.Mazzaglia(a), F.Romano(a) // +// Contributor authors: +// P.Kaitaniemi(d), A.Heikkinen(d), Gillis Danielsen (d) +// +// Past authors: +// M.G.Pia(b), S.Guatelli(c), G.Russo(a), M.Russo(a), A.Lechner(e) +// // (a) Laboratori Nazionali del Sud // of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy +// +// (b) INFN Section of Genova, Italy // -// * cirrone@lns.infn.it +// (c) University of Wallongong, Australia +// +// (d) Helsinki Institute of Physics, Helsinki, Finland +// +// (e) CERN, (CH) +// +// *Corresponding author, email to cirrone@lns.infn.it // ---------------------------------------------------------------------------- + #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" #include "G4UItcsh.hh" -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif #include "HadrontherapyEventAction.hh" -#include "HadrontherapyDetectorConstruction.hh" #include "HadrontherapyPhysicsList.hh" #include "HadrontherapyDetectorSD.hh" #include "HadrontherapyPrimaryGeneratorAction.hh" @@ -64,91 +75,138 @@ #include "G4UImessenger.hh" #include "globals.hh" #include "HadrontherapySteppingAction.hh" -#ifdef G4ANALYSIS_USE #include "HadrontherapyAnalysisManager.hh" +#include "HadrontherapyGeometryController.hh" +#include "HadrontherapyGeometryMessenger.hh" +#include "HadrontherapyInteractionParameters.hh" +#include "G4ScoringManager.hh" +#include "IAEAScoreWriter.hh" + +#if defined(G4UI_USE_TCSH) +#include "G4UIterminal.hh" +#include "G4UItcsh.hh" #endif +#ifdef G4UI_USE_XM +#include "G4UIXm.hh" +#endif + +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#ifdef G4UI_USE_QT +#include "G4UIQt.hh" +#include "G4Qt.hh" +#endif + +////////////////////////////////////////////////////////////////////////////////////////////// int main(int argc ,char ** argv) { - // Set the Random engine - CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine()); G4RunManager* runManager = new G4RunManager; - // Initialize the geometry - runManager -> SetUserInitialization(new HadrontherapyDetectorConstruction()); - + //Initialize possible analysis needs, needs to come early in order to pick up metadata +#ifdef ANALYSIS_USE + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); + analysis -> book(); +#endif + // Geometry controller is responsible for instantiating the + // geometries. All geometry specific setup tasks are now in class + // HadrontherapyGeometryController. + HadrontherapyGeometryController *geometryController = new HadrontherapyGeometryController(); + + // Connect the geometry controller to the G4 user interface + HadrontherapyGeometryMessenger *geometryMessenger = new HadrontherapyGeometryMessenger(geometryController); + + G4ScoringManager *scoringManager = G4ScoringManager::GetScoringManager(); + scoringManager->SetVerboseLevel(1); + scoringManager->SetScoreWriter(new IAEAScoreWriter()); + + // Initialize the default Hadrontherapy geometry + geometryController->SetGeometry("default"); + + // Initialize command based scoring + G4ScoringManager::GetScoringManager(); + // Initialize the physics runManager -> SetUserInitialization(new HadrontherapyPhysicsList()); + + // Initialize the primary particles + HadrontherapyPrimaryGeneratorAction *pPrimaryGenerator = new HadrontherapyPrimaryGeneratorAction(); + runManager -> SetUserAction(pPrimaryGenerator); - // Initialize the primary particles - runManager -> SetUserAction(new HadrontherapyPrimaryGeneratorAction()); - - // Initialize matrix - HadrontherapyMatrix* matrix = new HadrontherapyMatrix(); - matrix -> Initialize(); - // Optional UserActions: run, event, stepping HadrontherapyRunAction* pRunAction = new HadrontherapyRunAction(); runManager -> SetUserAction(pRunAction); - HadrontherapyEventAction* pEventAction = new HadrontherapyEventAction(matrix); + HadrontherapyEventAction* pEventAction = new HadrontherapyEventAction(); runManager -> SetUserAction(pEventAction); - HadrontherapySteppingAction* steppingAction = new HadrontherapySteppingAction(pRunAction); runManager -> SetUserAction(steppingAction); + // Interaction data: stopping powers + HadrontherapyInteractionParameters* pInteraction = new HadrontherapyInteractionParameters(); -#ifdef G4ANALYSIS_USE - HadrontherapyAnalysisManager* analysis = - HadrontherapyAnalysisManager::getInstance(); - analysis -> book(); -#endif - #ifdef G4VIS_USE // Visualization manager G4VisManager* visManager = new G4VisExecutive; visManager -> Initialize(); +#endif + +G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + else // interactive mode : define visualization UI terminal + { + G4UIsession* session = 0; + + // If the enviroment variable for the TCSH terminal is active, it is used and the + // defaultMacro.mac file is executed +#if defined(G4UI_USE_TCSH) + session = new G4UIterminal(new G4UItcsh); + UI->ApplyCommand("/control/execute defaultMacro.mac"); + + // Alternatively (if G4UI_USE_TCSH is not defined) the program search for the + // G$UI_USE_QT variable. It starts a graphical user interface based on the QT libraries + // In the following case the GUI.mac file is also executed + // +#elif defined(G4UI_USE_QT) + session = new G4UIQt(argc,argv); + UI->ApplyCommand("/control/execute macro/GUI.mac"); + + // As final option, the simpler user interface terminal is opened +#else + session = new G4UIterminal(); + UI->ApplyCommand("/control/execute defaultMacro.mac"); #endif - - - G4UIsession* session = 0; - if (argc == 1) // Define UI session for interactive mode. - { - session = new G4UIterminal(); - } - - // Get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - if (session) // Define UI session for interactive mode. - { - G4cout<<" UI session starts ..."<< G4endl; - UI -> ApplyCommand("/control/execute defaultMacro.mac"); - session -> SessionStart(); - delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI -> ApplyCommand(command + fileName); - } - - matrix -> TotalEnergyDeposit(); - -#ifdef G4ANALYSIS_USE - analysis -> finish(); + session->SessionStart(); + delete session; + } + HadrontherapyMatrix* matrix = HadrontherapyMatrix::getInstance(); + if (matrix) matrix -> TotalEnergyDeposit(); + +#ifdef ANALYSIS_USE + analysis -> finish(); #endif - - // Job termination + + // Job termination #ifdef G4VIS_USE - delete visManager; + delete visManager; #endif - + + delete geometryMessenger; + delete geometryController; + delete pInteraction; delete runManager; - return 0; } diff --git a/examples/advanced/hadrontherapy/History b/examples/advanced/hadrontherapy/History index 8898f300c0..85c3a88509 100644 --- a/examples/advanced/hadrontherapy/History +++ b/examples/advanced/hadrontherapy/History @@ -1,15 +1,199 @@ -------------------------------------------------------------------------------- -$Id: History, 2004/02/27 G.A.P. Cirrone, - cirrone@lns.infn.it - http://geant4infn.wikispaces.com/ + ------------------------------------------------------------------------------- +History File, 2004/02/27 G.A.P. Cirrone, Created +cirrone@lns.infn.it +http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy ------------------------------------------------------------------------------- + ==================================================== + History file of the Hadrontherapy application + ==================================================== - ==================================================== - Geant4 - Hadrontherapy - ==================================================== +25.11.2009 S.E.Mazzaglia & F.Romano; Tag:Hadrontherapy-V09-02-40 + - Corrected a bug in HadrontherapyDetectorConstruction class + - Added G4RadiactiveDecayPhysics class to the Physics List. + +22.11.2009 S.E.Mazzaglia; Tag: Hadrontherapy-V09-02-39 + - Correction in the initialization of the passiveProtonBeamLine class. + +20.11.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-38 + - Fixes and updates to the analysis scripts in RootScripts/iaeaBenchmark + - Updated RootScripts/README + +19.11.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-37 + - Minor revisions; + +18.11.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-36 + - Correction for a missing function in the HadrontherapyPhysicsListMessenger.cc class file + +18.11.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-35 + - Updated the README file and general code revision for the + Geant4 9.3 release + +17.11.2009 S.E.Mazzaglia; Tag: hadrontherapy-V09-02-34 + - Added some functionalities in order to change, via messengers, the geometry, the voxelization + of the detector, and the disposition in the space of the detector/phantom. + - Added the possibility to calculate the stopping powers for ions too. + - Modified the HadrontherapyDetectorROGeometry class constructor. + - Various additions and fixes to the matrix class. + +10.11.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-33 + - Added the possibility to make a graphical user interface (GUI) using the QT libraries. + To start a GUI the correct enviroment variables must be configured (see the Geant4 installation + manual) and a QT version must be installed + +05.10.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-32 + - Fixed a compilation error with GCC 4.4 + +28.09.2009 S.E.Mazzaglia; Tag: hadrontherapy-V09-02-31 + - Now the HadrontherapyDetectorConstruction class implements only phantom and detector [RO]geometry. + World volume and the rest of the geometry is inside another class whose messenger allows + modification by users with the same old syntax + - Removed HadrontherapyInteractionParameters from the HadrontherapyGeometryController class + +20.09.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-30 + - Added ability to use command based scoring + - IAEA geometry: produce Bragg peak using command based scoring + - Various additions and fixes to the IAEA ROOT scripts + - Additional data extracted from E. Haettner's thesis + +20.09.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-29 + - Moved HadrontherapyInteractionParameters initialization to the HadrontherapyGeometryController class + +11.09.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-28 + - Added messengers to control the event number and to draw only particular tracks. + The new command are accessible via the command /event/drawTracks and /event/PrintEventNumber + +08.09.2009 S.E.Mazzaglia; Tag: hadrontherapy-V09-02-27 + - Added a method to retrieve stopping power values for protons, alphas and electrons. + This method is implemented in the new class HadrontherapyInteractionParameters + +13.08.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-26 + - Fixed compilation errors when AIDA analysis is used + +03.08.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-25 + - Added ability to select the geometry using G4 macro commands + - Improved plotting scripts and improved normalization for the + fragment energy distribution + +27.07.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-24 + - IAEA geometry: added ability to remove the phantom by setting its thickness to zero + - Collect simulation metadata: number of events, distance of the detector (IAEA geometry), + depth of the phantom (IAEA geometry), beam energy, energy error + - Added ability to produce angular distribution plots + +17.07.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-23 + - Tuned geometry of the E. Haettner experimet (IAEADetectorConstruction) + - Adopted G4ANALYSIS_USE_ROOT flag to activate ROOT analysis + - Improved plotting scripts + +13.07.2009 P.Kaitaniemi; Tag: hadrontherapy-V09-02-22 + - Added the first version of the IAEA benchmark geometry based on + E. Haettner's thesis + - Collect fragment energy distributions + - Added fragment energy distribution data + - ROOT script preparing an IAEA benchmark figure with data + +08.07.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-21 + - Removed the README file in ASCII format + +27.06.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-20 + - Eliminated not necessary dependences in the SteppingAction class + - Added folders containing experimental data (its name is 'experimentalData') and + ROOT scripts ('RootScripts') where Root scripts are stored to + perform a fast comparison with experimental data. + A folder where simulation results are stored is also created. Its + name is 'simulationResults'. + +27.06.2009 P. Kaitaniemi; Tag hadrontherapy-V09-02-19 + - Added ability to change the name of the output file between runs + +26.06.2009 P. Kaitaniemi; Tag hadrontherapy-V09-02-18 + - Fixed a bug in the physics list. Local ion-ion hadronic physics was not loaded due + to an uninitialized variable (locIonIonInelasticIsRegistered) + - Ability to use /analysis/setAnalysisFile to set the name of the output file + - Added Doxygen documentation tags to the source code and Doxyfile for + documentation settings + - Support for direct use of ROOT for analysis in addition to the default AIDA one + - Local INCL/ABLA physics list for deuterons, tritons and alphas + +26.06.2009 G.A.P.Cirrone; Tag hadrontherapy-V09-02-17 + - Corrected the definition of total inelastic cross section for light ions in the + LocalIonIonInelasticPhysic.cc file + +26.06.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-16 + - Momentarely removed the class for LET calculation + for a conflict with the general structure of Hadrontherapy + +10.06.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-15 + - Corrected a bug in the detector construction + +05.06.2009 G.A.P.Cirrone and S.Mazzaglia; Tag: hadrontherapy-V09-02-14 + - Added a preliminary version of classes for LET calculation. + +30.05.2009 G.A.P.Cirrone; Tag hadrontherapy-V09-02-13 + - README_Hadrontherapy.pdf file updated and improved + +29.05.2009 G.A.P.Cirrone; Tag hadrontherapy-V09-02-12 + - Implemented the new Low energy models (Livermore and Penelope) + now migrated to the new interface (common to the Standard models) + Livermore and Penelope models can be implemented: + Activating the buit-in physics lists (G4EmLivermorePhysics and G4EmPenelopePhysics) + Activation can be done via macro commands in the usual way + +19.05.2009 F.Romano; Tag hadrontherapy-V09-02-11 + - Corrected the stepMax value in each macro in order to avoid + a wrong dose deposition in the first slice. + - Modified and revised the README and macro files. + +15.05.2009 G.A.P.Cirrone; Tag hadrontherapy-V09-02-10 + - Corrected a but in the call of a physic list + - Corrected a bug in the proton_therapy.mac file + +14.05.2009 G.A.P.Cirrone; Tag hadrontherapy-V09-02-09 + - Definitively added the StepMax class to change the max step lenght + +14.05.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-08 + - README file improved. + +14.05.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-07 + - Physic implementation completely changed. Now Hadrontherapy can be launched + with physics lists, packages and built-in physic models; + In the README we give some suggestion in the physic models to use. + All models can be activated via macro command. + - Improved HadrontherapyModulator.cc file; + +29.03.2009 G.A.P.Cirrone; Tag: hadrontehrapy-V09-02-06 + - Extended limits of Binary Cascade in HIProtonNeutronBinary.cc + - Corrected and improved "default" macro file. + - Improved HadrontherapyDetectorConstruction.cc file; + - Comments on HIProtonneutronPrecompound.cc file; + - Improved physicsHadronicPrecompound.mac file; + +18.03.2009 G.A.P.Cirrone; Tag: hadrontherapy-V09-02-05 + - Corrected macro file for the use of the QGSP_BIC package + +18.03.2009: G.A.P.Cirrone; Tag: hadrontherapy-V09-02-04 + - Added commands to Detector Messenger to give the possibility to choose beetween + different beam lines + - Added comments to HadrontherapyMatrix; + _ Improved code and added comments to HIProtonNeutronPrecompound and + HIProtonNeutronBinary; + - Corrected macro file using the Precompound inelastic model; + - Removed the class file HadrontherapyMaterial and improved all the geometry files + +05.03.2009: G.A.P.Cirrone; Tag: hadrontherapy-V09-02-03 + - Updated README + +02.03.2009: G.A.P.Cirrone; Tag: hadrontherapy-V09-02-02 + - Changed name of HadrontherapyBeamLine file to PassiveProtonBeamLine + +02.03.2009: G.A.P.Cirrone; Tag: hadrontherapy-V09-02-01 + - Added generation of ASCII file with dose deposited in the phantom voxels + +22.02.2009: G.Folger; Tag: hadrontherapy-V09-02-00 + - Fix a compilation warning on used ionShenCrossSection in + HIIonLEP.cc - Category History file 20.11.2008: G.A.P.Cirrone and M.Russo; Tag: hadrontherapy-V09-01-11 - Fixed path of macro files diff --git a/examples/advanced/hadrontherapy/README b/examples/advanced/hadrontherapy/README index 3748e11c07..26660b433b 100644 --- a/examples/advanced/hadrontherapy/README +++ b/examples/advanced/hadrontherapy/README @@ -1,331 +1,400 @@ ========================================================= - Geant4 - Hadrontherapy example - ========================================================= + Text version of the Hadrontherapy README file + ========================================================= +Last revsion: G.A.P.Cirrone, November 2009; +Released with the Geant4 9.3 version (December 2009) - README file - ---------------------- +------------------------------------------------------------------------------------------------ +ADVERTISEMENT: this is the text version of the README file of the hadrontherapy application, +as it has been released in the official Geant4 9.3 release +A more complete and updated version of this file is published inside the web pages of Hadrontherapy: +http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -Last revsion: G.A.P.Cirrone, November 2008; +Please refer to the web-published version to know the last and future developments of hadrontherapy +------------------------------------------------------------------------------------------------- + ========================================================= + HADRONTHERAPY + ========================================================= - ACTUAL AUTHORS - -G.A.P. CIRRONE(*), G.CUTTONE, F. DI ROSA, F.ROMANO, G.RUSSO -M.RUSSO - -Laboratori Nazionali del Sud - Istituto Nazionale di Fisica Nucleare -95123 Catania, Italy -* e-mail:cirrone@lns.infn.it - -S.Guatelli -Istituto Nazionale di Fisica Nucleare, Sezione di Genova Via Dodecaneso, 33 -16146, Genova, Italy - -A. LECHNER (c) -CERN, Switzerland - - PAST AUTHORS - -M.G. PIA -Istituto Nazionale di Fisica Nucleare, Sezione di Genova Via Dodecaneso, 33 -16146, Genova, Italy - - -More informations on the Hadrontherapy example can be found in the -Hadrontherapy Documentation available at http://geant4infn.wikispaces.com/HadrontherapyExample. - -Alternatevely send an e-mail to cirrone@lns.infn.it. - - -----> 0. INTRODUCTION. - -The hadrontherapy example simulates an hadron-therapy beam line. -In particular the example models the specific proton therapy beam line -installed at Laboratori Nazionali del Sud (INFN) in Catania, Sicily (Italy). -For more information on the proton therapy center of Catania -or/and proton/hadron therapy in general, please visit the -pages: -http://www.lns.infn.it/catanaweb/catana/ - -Moreover, since the Release of December 2008, with this example is also possible the -simulation of carbon ion beams as the correct physic models are inserted with the -builted-in physic list denominated "QGSP_BIC". - ----->1. GEOMETRY SET-UP. + Code developed by: + G.A.P. Cirrone(a)°, G.Cuttone(a), F.Di Rosa(a), S.E.Mazzaglia(a), F.Romano(a) -The elements simulated are: + Contributor authors: + P.Kaitaniemi(d), A.Heikkinen(d), G.Danielsen (d) + + Past authors: + M.G.Pia(b), S.Guatelli(c), G.Russo(a), M.Russo(a), A.Lechner(e) + + (a) Laboratori Nazionali del Sud + of the INFN, Catania, Italy + + (b) INFN Section of Genova, Italy + + (c) University of Wallongong, Australia + + (d) Helsinki Institute of Physics, Helsinki, Finland + + (e) CERN, (CH) + + *Corresponding author, email to cirrone@lns.infn.it +------------------------------------------------------------------------------------------------- + +HADRONTHERAPY: +WHAT IT IS, WHAT IT DOES AND WHAT IT WILL PROVIDE +Hadrontherapy is a Geant4-based application specifically developed to address typical needs related to the proton and ion therapy. +It first release was in 2004. At that time Hadrontherapy was only capable to simulate a well specified proton therapy facility: the passive transport beam line installed at Laboratori Nazionali del Sud (INFN) in Catania, Italy. + +Today Hadrontontherapy, except that it is in continuous development, is more flexible and show many additional capabilities as respect the past. +Its geometrical set-up, for example, is now completely interchangeable permitting a simple switch between different geometrical configurations. +In the actual version two geometrical configuration are available: the 'passive beam line' +and the 'IAEA Benchmark' geometry. See the paragraph Geometry set-up for more information. +Folder structure of Hadrontherapy +Hadrontherapy distribution contain different sub-folders: + +\src: where source .cc files are stored +\include: where header .hh files are stored +\macro: where a set of ready-to-use macro files are provided +\experimentalData: in this director a set of reference (both experimental and analithycal) data are stored. These data are then used to perform a direct comparison with simulation results that are stored in the simulationResults folder. Data stored are better described in the README file contained inside. +\SimulationOutputs: when one of the .mac file contained in the macro folder is used, simulation results are directly stored in this directory. +\RootScripts: if the ROOT program is installed the User can use the scripts contained in this directory to compare directly results from the his/her simulation with reference data provided inside the experimentalData folder. + +Currently this folders structure is in development and reference data as well as ROOT scripts will be added in the meanwhile new features and capabilities will be added. Moreover some ROOT script can be missed. Apologize for this and contact author if you need more information, clarification or useful discussion. +Description of the \macro folder +In the example directory, inside the "macro" folder two macro files are actually provided for the use of hadrontherapy with proton and carbon beams: proton_therapy.mac and ion_therapy.mac. +The proton_therapy.mac permits to run a simulation with the whole passive beam line installed in Catania. +The carbon_therapy.mac excludes all the elements (moving the origin of the ion beam close to the water phantom) and reproduce a simple passive beam line for the use with carbon beams. +The macro iaea.mac uses an alternative geometry that was created for the IAEA benchmark. It features a geometry with water target, aluminum beam window, and a particle detector behind the target. + +DOWNLOAD AND INSTALLATION +Hadrontherapy source code is actually released inside the official distribution of the Geant4 toolkit in the $G4INSTALL/examples/AdvancedExamples folder. + +To run Hadrontherapy you must first install the Geant4 package. Once Geant4 is installed the example must be first compiled (with the command gmake inside the +../Hadrontherapy folder). When compilation is completed the program can be executed. + +A complete guide for the Geant4 installation in different operating systems can be found inside the official installation Geant4 pages. + +If you have troubles with the Geant4 installation please send an e-mail to us. + +SISTEM SET-UP: enviroment variables +A standard Geant4 example GNUmakefile is provided + +The following section reports the environment variables that are necessary for the run of Hadrontherapy. +#------------------------------------- +# SET UP LINUX GCC +#------------------------------------- +export G4SYSTEM=Linux-g++ + +export G4LEDATA=~/librerieGeant4/G4EMLOW6.2 +export G4INSTALL=~/geant4-09-02-ref-10 +export G4LIB=~/librerieGeant4/librerieCompilate-09-02-ref-10 +export G4EXE=$G4WORKDIR/bin/$G4SYSTEM +export G4WORKDIR=~/librerieGeant4/workdir-09-02-ref-10 +export CLHEP_BASE_DIR=~/CLHEP/slc4_ia32_gcc43 +export G4LEVELGAMMADATA=~/librerieGeant4/PhotonEvaporation2.0 +export G4NEUTRONHPDATA=~/librerieGeant4/G4NDL3.13 +export G4RADIOACTIVEDATA=~/librerieGeant4/RadioactiveDecay3.2 +export G4ELASTICDATA=~/librerieGeant4/G4ELASTIC1.1 +export G4ABLADATA=/home/cirrone/librerieGeant4/G4ABLA3.0/ +export G4ANALYSIS_USE=1 +export LD_LIBRARY_PATH=$CLHEP_BASE_DIR/lib:$LD_LIBRARY_PATH + +# For the generation .root file directly using the ROOT (if ROOT is +# instaled in you machine) +export G4ANALYSIS_USE_ROOT=1 + +#------------------------------------- +# SET UP VRML VIEW +#------------------------------------- +export G4VIS_BUILD_VRML_DRIVER=1 +export G4VIS_USE_VRML=1 +export G4VIS_USE_VRMLFILE=1 +export G4VRMLFILE_MAX_FILE_NUM=100 +export G4VRMLFILE_VIEWER=vrmlview #if installed +export PATH=$PATH:~/VRML + +#------------------------------------- +# SET UP OpenGL o Mesa +#------------------------------------- +export G4VIS_BUILD_OPENGLX_DRIVER=1 +export G4VIS_USE_OPENGLX=1 +#export OGLHOME=/home/utente/Mesa-6.0 + +#------------------------------------- +# SET UP DAWN (if installed) +#------------------------------------- +export G4VIS_BUILD_DAWN_DRIVER=1 +export G4VIS_BUILD_DOWNFILE_DRIVER=1 +export G4VIS_USE_DAWN=1 +export G4VIS_USE_DAWNFILE=1 +export PATH=$PATH:~/dawn_3_86a + +# VARIOUS USER INTERFACES +export G4UI_USE_XM=1 +export G4UI_USE_TCSH=1 +export G4UI_BUILD_QT_SESSION=1 +export G4UI_USE_QT=1 + +# VARIOUS GRPHICAL USER INTERFACES +export G4VIS_BUILD_QT_SESSION=1 +export G4VIS_BUILD_OPENGLQT_DRIVER=1 +export G4VIS_USE_OPENGLQT=1 + +# If the QT libraries want be used for the User interfaces than the +# correct path must be addressed +export QTHOME=/usr/lib/qt-3.3 +export PATH=$PATH:/usr/lib/qt-3.3/include/ +export PATH=$PATH:/usr/lib/qt-3.3/ + +GEOMETRICAL SET-UP +The idea of Hadrontherapy is to provide a tool useful for Users interested in the field of proton and ion therapy. These can include the simple calculation of dose distribution curves in water or other materials, the derivation of important transport parameters (stopping powers, ranges, etc.) in different geometrical set-ups and for different materials, up to the complete simulation of a real transport beam line for therapy. + +The main component of the simulation is the phantom, a box that ca be filled with different material and where the score of different information (at moment only the energy deposited in voxels) can be performed. A more complete description of the phantom is given in the next subsection. + +At moment the Hadrontherapy include the simulation of the proton beam line for eye-treatments installed at the INFN-LNS facility in Catania. This is a passive beam line and it is simulated in the file PassiveProtonBeamLine.cc. + +In the next future an ActiveProtonBeamLine.cc will be provided for the simulation of the active scanning treatment modality. +Moreover the possibility to add a very simple set-up (a beam, a phantom where collect the informations and some simple component) will be also provided. + +All these configuration will be setted by macro commands. + +There is also a facility that allows the user to make a choice between alternative geometry set-ups. This can be done by using command: +/geometrySetup/selectGeometry +where is either "default" for the standard hadrontherapy geometry or "IAEA" for the IAEA benchmark geometry. Both geometries are described below. By default the standard "default" geometry is used. +The water phantom to collect informations +At the end of the beam line a phantom (a box of uniform material) is reproduced. Inside it, a user-defined region is divided (via the ROGeomtry classes of Geant4) in cubic and identical voxels. The voxels size can be varied as well as the voxelized region. +At the end of a simulation run the energy deposited by primaries and secondaries in each voxel is collected. This information is available as an .out file or as a .root (if the G4ANALYSIS_USE variable is defined and the AIDA interface is activated). + +The default sizes of the active voxelized region are 40x40x40 mm and actually the default voxel configuration is 200 x 1 x 1, which means 200 slices with 0.2 mm of thickness. +Of course this default can be modified in order to obtain, for example, a matrix of 80x80x80 cubic voxels each with a lateral dimension of 0.5 mm. + +As concern the cut and stepMax values, the default configuration implies a cut value of 0.01 mm in the whole world (use the command /physic/setCuts 0.01 mm) and a stepMax of 0.01 mm just in the phantom (use the command /Step/waterPhantomStepMax 0.01 mm). +In any case it is strongly recommended to use a stepMax value not bigger +than 5% of the dose slice thickness. +The Proton passive beam line class file +The following is the description of the elements of the passive proton beam line of the Laboratori Nazionali del Sud in Catania (I). This line is completely simulated inside this class. + +The main elements are: + + * The SCATTERING SYSTEM: to transversally enlarge the original beam + * The COLLIMATORS: placed along the beam line to collimate the beam; + * The RANGE SHIFTERS: to decrease the energy of the primary proton beam to a specific value; + * The MODULATOR WHEEL: to modulate the energy of the primary and mono-energetic beam in to a wide spectrum. The energy modulation is necessary to homogeneously irradiate a tumour volume that can extends in depth up to 20 mm; + * The MONITOR CHAMBERS: very thin ionisation chamber that permit the dose monitoring during the patient irradiation; + * The MOPI detector: microstrips, air free detector utilised for the check of the beam symmetry during the treatment; + * The PATIENT COLLIMATOR: a brass, tumour-shaped collimator able to confine the proton irradiation field in order to irradiate just the tumour mass in the transverse direction; + + +The user has the possibility to vary, via messenger, almost all the geometrical characteristics of the beam line elements (i.e. their position along the beam line, their thickness, etc.). + +The elements simulated in the PassiveBeamLine.cc file are: 1. A scattering system, to spread geometrically the beam; 2. A system of collimators, to avoid the scattering radiation; -3. A modulation system that spreads the beam in energy and - produces the so-called spread out bragg peak; - It is constituted by a rotating wheel of different thichnesses. - The wheel rotates around is axis (parallel to the proton - beam axis) and its movement can be obtained by means of a - messenger between runs. +3. A modulation system that spreads the beam in energy and produces the so-called spread out Bragg peak; It is constituted by a rotating wheel of different thicknesses. The wheel rotates around is axis (parallel to the proton beam axis) and its movement can be obtained by means of a messenger between runs. -4. A set of monitor chambers (special transmission ionisation - chambers used to control hadron flux during the irradiation); +4. A set of monitor chambers (special transmission ionisation chambers used to control the particle flux during the irradiation); -5. A "nozzle" and a final collimator defining the final shape - of the beam before reaching the patient. +5. A final long collimator and a patient collimator defining the final shape of the beam before reaching the patient. -6. A water phantom: it is a box of water where the energy deposit is - calculated. - The use of the water phantom is required by the international protocol - on the measure of dose in the case of proton and ion beams (IAEA 398, 2000). - - --------> 2. PHYSICS +6. A water phantom: it is a box of water where the energy deposit is calculated. The use of the water phantom is required by the international protocol on the measure of dose in the case of proton and ion beams (IAEA 398, 2000). +Geometry for the IAEA benchmark +Simple geometry for benchmark purposes contains water phantom (thickness can be set using a macro command), an aluminum beam window and Plexi-glass. Behind the phantom we have a detector that records outcoming particles. The IAEA geometry can be activated by using the command: +/geometrySetup/selectGeometry IAEA +Example IAEA benchmark run can be done as follows: +run: Hadrontherapy macro/iaea.mac +analysis: root RootScripts/iaeaBenchmark/fragmentEnergy.C +PHYSICS PROCESSES AND PHYSICS MODELS IMPLEMENTATION A particular care is addressed to the simulation of the physic processes. +Three different approaches can be used for the choose of the physic models. +Approach 1: +Using the macro command: +/physic/addPhysics/. -The User (since the December 2009 release) has the possibility to choice between two main -approaches to insert the physic models: +In this case the models (for electromagnetic, hadronic elastic and hadronic inelastic) can be +activated directly calling the name of the Physics Lists that are available inside the +Geant4 kernel in the directory: -Approach 1. The User can individually and selectively define all the models via macro command; - -Approach 2. The User can choice a "built-in" physic package containing all the needed - models for the transport of proton and ion in the typical hadron-therapy range. - This second approach make the definition of the physic models simpler. - Developers strongly suggest the use of this second approach for Users are not - specifically interested in the test of a specific physic model. Moreover they - also suggest to send them results of comparison and report problems. This will - permit the improvment of the overall quality of the implemented physic. +$G4INSTALL/source/physics_lists/builders/include -------------------------------------- Approach 1 ----------------------------- +An example of the use of the Physics List can be found in the macro files: +proton_therapy.mac and ion_therapy.mac +Approach 2: +A set of built-in physic models are also contained inside the Hadrontherapy directory. These +are called Local*.cc and Local*.hh and can be activated using the macro command: +/physic/addPhysics/. -With this apprach, at moment, inelastic models can be swiched-on only for neutrons -and protons. The activation of inelastic nucleus-nucleus models will be provided in -the next release. - -** Both electromagnetic and hadronic physic processes can be activated for - the particles of the experimental set-up. - The different physics models can be activated by the user interactively via commands - that can be inserted in the macro files - -** Examples of activation are provided in the numerous macro files starting - with the string "physics": - -** All possible physics options are summarized in the file - physicsAllOptions.mac. - -** Different options concerning electromagnetic interactions of protons - and neutrons can be tested with the files: - physicsElectromagneticStandard.mac - - physicsElectromagneticICRU49.mac - physicsElectromagneticZiegler77.mac - physicsElectromagneticZiegler85.mac - -** Different options concerning hadronic interactions of protons and - neutrons can be tested with the files: - - physicsHadronicBertini.mac - physicsHadronicBinary.mac - physicsHadronicLEP.mac - physicsHadronicPrecompound.mac - -NOTE: Apart from the different models for protons and neutrons, a user -can also select among several interaction models for particles like -electrons or photons. All possible options are listed in the file -physicsAllOptions.mac. - ----------------------------------------------------------- -SUGGESTED PHYSIC FOR PROTON BEAMS IN THE RANGE 0 - 400 MeV ----------------------------------------------------------- - -Developers of hadrontehrapy suggest to the Users want follow the Approach 1, the use of -the following physic configuration for the -various processes (command must be inserted in a .mac file): - -Electromagnetic processes: -/physics/addPhysics EM-Photon-EPDL (or) /physics/addPhysics EM-Photon-Standard -/physics/addPhysics EM-Electron-EEDL (or) /physics/addPhysics EM-Electron-Standard -/physics/addPhysics EM-HadronIon-LowE (or) /physics/addPhysics EM-HadronIon-Standard -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-Muon-Standard - -Hadronic elastic processes: -/physics/addPhysics HadronicEl-HadronIon-UElastic - -Hadronic inelastic processes: -/physics/addPhysics HadronicInel-ProtonNeutron-Prec - -------------------------------------- Approach 2 ----------------------------- -We developed this approach in order to semplify the choice of the physic models to +NOTE: we do not recommend the use of local physics lists while we recommend the use of the Physics Lists or of the Reference Physics Lists (Approach 1 or 3) +Approach 3: +We developed this approach in order to simplify the choice of the physic models to be used in the application. -** With this approach the user must only insert a command line in his/her .mac file - (using the /physics/addPackage PACKAGE_NAME). - This permits to switch-on an already build physic package. +With this approach the user must only insert a command line in his/her .mac file using the: /physics/addPackage + +This permits to switch-on an already build physic package. +Various packages are already present in the Geant4 tree: they are in the directory: geant4/source/physics_lists/lists/include -** Various packages are already present in the Geant4 tree: they are in the directory: - geant4/source/physics_lists/lists/include +In this case hadronic inelastic models are directly activated for every particle. -** In this case hadronic inelastic models are directly activated for every particle. +-------------------------------------------------------------------------------- +SUGGESTED PHYSIC FOR ION BEAMS IN THE RANGE 0 - 400 MeV +-------------------------------------------------------------------------------- +Two macro files (proton_therapy.mac and ion_therapy.mac) can be used for proton and ion +simulations. ------------------------------------------------------------------- -SUGGESTED PHYSIC FOR PROTON AND ION BEAMS IN THE RANGE 0 - 400 MeV ------------------------------------------------------------------- -Developers of Hadrontherapy suggest the use of the "QGSP_BIC" package for the correct simulation -of proton and ion transposrt in the typical hadrontherapy energy range. This package -can be inserted with one simple command in the .mac file: -/physics/addPackage QGSP_BIC +Also the QGSP_BIC_EMY package can be used if the *Approach 3* is preferred. -An example of macro file for the use of Approach 2 is: packageQGSP_BIC.mac +INTERACTIVE COMMANDS +How to change Phantom and Detector geometries +In order to let the end user to change phantom and detector geometries and voxelization, some interactive commands have been provided. All parameters are mandatory except those inside square brackets. +A first set of commands let to change in the detector: +(1) The detector (box) sizes, where the X dimension is that along the beam direction (see below picture). +(2) The voxels dimension. Changing this parameters, and/or the detector sizes, user should choose values in order to be divisors of the detector correspondent sizes. +For both commands, zero or negative values mean << don't change it >> - -Developers are improving the quality of the packages and validation results will be soon provided -in a dedicated web page +(3) The displacement between the phantom and the detector. In this case zero or positive values are allowed, while the negatives ones mean: << don't change it>>. -------->2. EXPERIMENTAL SET-UP. - -The application simulates the proton therapy beam line -installed at Laboratori Nazionali del Sud. -The default beam line is a typical treatment line composed by several elements all -devoted to create the so-called "terapeutical beam", i.e. a beam ideal -for a radiotherapeutic treatment. +Command synopsis: the follow "#" - The main elements are: -** The COLLIMATORS: placed along the beam line to collimate the beam; -** The RANGE SHIFTERS: to decrease the energy of the primary proton beam - to a specific value; + 1. /changeDetector/size <[unit]> # 4 4 4 cm + 2. /changeDetector/voxelSize <[unit]> # 4 4 4 cm + 3. /changeDetector/displacement <[unit]> # 0 18 18 cm -** The MODULATOR WHEEL: to modulate the energy of the primary and monoenergetic - beam in to a wide spectrum. The energy modulation is necessary to - homogeneusly irradiate a tumour volume that can extends in depth - up to 20 mm; -** The MONITOR CHAMBERS: very thin ionisation chamber that permit the - dose monitoring during the patient irradiation; +With other two commands user can change: -** The MOPI detector: microstrips, air free detector utilised for the check of the beam symmetry - during the treatment +(1) The phantom size. As usually, zero or negatives values mean: <>. +(2) The phantom position respect to the world. -** The PATIENT COLLIMATOR: a brass, tumour-shaped collimator able to - confine the proton irradiation field in order to irradiate just the tumour mass - in the trasverse direction; +Command synopsis: -The user has the possibility to vary, via messenger, almost all the geometrical -characteristics of the beam line elements (i.e. their position along the beam line, -their thickness, etc.). More details on the available user messengers can be -found in the Hadronterapy Documentation (http://geant4infn.wikispaces.com/HadrontherapyExample). + 1. /changePhantom/size <[unit]> # 40 40 40 cm + 2. /changePhantom/position <[unit]> # 20 0 0 cm -At the end of the beam line, a typical water phantom is reproduced. -A user-defined region of the phantom is divided (via the ROGeomtry class) in -cubic and identical voxels. The voxels size can be varied. At the end of the simulation -the energy deposited by primary protons, and secondaries in each voxel -is collected. This information is available as an .hbk file (if the -G4ANALYSIS_USE variable is defined). -The default sizes of the active voxelized region are 40x40x40 mm corresponding -to a matric of 80x80x80 cubic voxels each with a lateral dimension of 0.5 mm. +All these commands must be issued between runs (so where you want). +Obviously all the previous sizes must be set in order to maintain the detector inside the phantom, otherwise system complains. -------->3. SET-UP - -- a standard Geant4 example GNUmakefile is provided + Some examples follow: +/changeDetector/size 40 0 0 cm +# Will extend detector X size to cover in full the phantom X size +/changeDetector/size 0 4.5 0 cm +# Will extend the Y size to 4.5 cm (note that voxel size Y is automatically #extended to 4.5 cm because the default value along Y is 4 cm) +/changeDetector/size 0 8 0 cm +# Will extend the Y size to 8 cm. In this case voxel size Y doesn't change, but # number of voxel along Y doubles. -setup with: -compiler = gcc-3.4.6 -G4SYSTEM = linux-g++ -The following section reports the necessary environment variables -necessary for the run of Hadrontherapy. +/changeDetector/voxelSize 100 0 0 um +# 100 um should be a divisor of detector size X +# Will change only slabs X size to 100 um, without affecting the other. -------->3.1 ENVIROMENT VARIABLES +/changeDetector/displacement 0 0 0 # default unit mm +# Will place the detector in the left lower corner (from the point of view of the beam) of #the phantom. - - G4SYSTEM = Linux-g++ +Stopping powers calculation +It is possible for the end-user to calculate, via macro command, stopping powers only for those materials inserted into G4NistMaterialBuilder class (about 300). +To get stopping powers user must provide this command line on the idle interactive terminal (or into a macro file) : - - G4INSTALL points to the installation directory of GEANT4; +/parameter/getstopping <[particle]> <[output_filename]> - - G4LIB point to the compiled libraries of GEANT4; +All parameters are mandatory except those inside square brackets []. +Default values for parameters inside square brackets are respectively proton and standard output (usually the user console terminal). - - G4WORKDIR points to the work directory; +Parameters are respectively: - - CLHEP_BASE_DIR points to the installation directory of CHLEP; + * The material (NIST) name (something like G4_..., the complete list of elements and materials is available into the G4NistMaterialBuilder class and can be printed to the terminal screen via the macro command: /parameter/nist ) + * Kinetic energy range in MeV and the number of data points to be retrieved (in a logarithmically uniform space) + * The particle name (proton, e+, e-, He3, neutron,... a full list can be gotten via the macro command: /particle/list). - - G4LEVELGAMMADATA points to the photoevaporation library; + Only for ions, user must firstly give them to the particle gun, for example issuing the macro commands: - - NeutronHPCrossSections points to the neutron data files; + 1. /gun/particle ion + 2. /gun/ion <[charge]> - - G4RADIOACTIVEDATA points to the libraries for radio-active decay - hadronic processes; + * The output filename: if users leave this blank then the standard output is used. - - G4ABLADATA points to the library of the INCL/ABLA hadronic model; - - - G4LEDATA points to the low energy electromagnetic libraries - - LD_LIBRARY_PATH = $CLHEP_BASE_DIR/lib +Below is an example in order to calculate the stopping power for alphas into Hydrogen between 1 keV to 150 MeV for 15 points: ----->3.2 VISUALISATION +/parameter/getstopping G4_H 0.001 150 15 alpha -The user can visualise the experimental set-up with OpenGL, DAWN and vrml +# and for C12 ion: ----->4. HOW TO RUN THE EXAMPLE +/gun/particle ion +/gun/ion 6 12 6 +/parameter/getstopping G4_H 0.001 150 15 C12[0.0] -In interactive mode: +# Value inside square brackets is the excitation energy of the ion. + +HOW RUN HADRONTHERAPY +Run the example in interactive mode > $G4WORDIR/bin/Linux-g++/Hadrontherapy -The defaultMacro.mac is executed -The primary particle beam parameter are: -Radiation: proton beam; -Energy distribution: gaussian; -Mean energy: 64.0 MeV; -Energy spread: 300 keV; -Beam spot size: 1 mm; -Beam angular spread: 0.0 deg; +In this case the main file (Hadrontherapy.cc) performs different operations depending on which environment variable is activated; +For example, if the environment variable G4UI_USE_TCSH is activated Hadrontherapy will start with the TCSH User Interface that has many useful functionalities. On the other hand, ifthis first variables is not defined, the program will continue searching for the G4UI_USE_QT variable and, finally, will open the stadard G4UITerminal. -The modulator wheel can be rotated via the messenger: +Run the example using macro files +Hadrontherapy can be launched using a macro file: -Idle>/modulator/angle/xx deg +> $G4WORDIR/bin/Linux-g++/Hadrontherapy macroFile.mac -To produce a Spread Out Bragg Peak using the modulator a macro -(modulatorMacro.mac) is provided. With this macro the modulator is -rotated of 360 degree at 1 deg steps. In each run 1000 protons are -generated as primary particles. Obviously a bigger resolution can be obtained -with smaller angles or increasing the protons number in each run. +The defaultMacro.mac file is contained in the main directory of Hadrontherapy while a big number of other macro are inside the /macro folder. -Modulator wheel can be omitted setting its material air. +Example use of command based scoring +In the IAEA geometry it is possible to collect the energy deposition data using the Geant4 command based scoring feature. This allows the users to define scorers interactively in the user interface without writing a single line of C++. Below is listed an example usage of command based scoring: + +/score/create/boxMesh boxMesh_1 +#Box size is the radius of the box ie 20x20x20 gives 40x40x40 outer dimensions +/score/mesh/boxSize 13.95 16. 16. cm +/score/mesh/translate/xyz 69 0.0 0.0 cm +/score/mesh/nBin 400 1 1 # 400 bins in x-direction, 1 in y and z directions -run $G4WORKDIR/bin/Linux-g++/Hadrontherapy visualisationMacro.mac -to visualise the experimental set-up with OpenGL +SIMULATION OUTPUT +ASCII file +A .out file os generated at the end of each run (DoseDeposited.out) is its default name that an be changed in the HadrontherapyMatrix.cc file. +The file contains four columns; the first four columns represent the voxel indexs (that univocally identify the voxel volume) while the last column represent the energy deposited in the given voxel. +Setting the name of the output file +By default the name of the output file is DoseDistribution.root. The name of the file can be set by using command: +/analysis/setAnalysisFile ----->6. SIMULATION OUTPUT - -The output is an .hbk file and a .root files. The files are produced -if the variable G4ANALYSIS_USE is set to 1 and the analysis tool (AIDA -interface) correctly installed. +It is also possible to create multiple new output files in the same simulation session. For example: +/beam/energy/meanEnergy 4800 MeV +/analysis/setAnalysisFile firstRun.root +/run/beamOn 1000 +/beam/energy/meanEnergy 3000 MeV +/analysis/setAnalysisFile secondRun.root +/run/beamOn 1000 +Use of the AIDA interface +.root files can be produced usind the AIDA interface. The files are produced if the variable G4ANALYSIS_USE is set to 1 and the analysis tool (AIDA interface) is correctly installed. The file contains histograms and n-tuples. -The histograms contain the Bragg curves: energy deposited -versus the depth in water (in mm) for the primary beam as well as all the secondaries produced. +The histograms contain the Bragg curves: energy deposited +versus the depth in water (in mm) for the primary beam as well as all the secondaries produced. The n-tuple contains the total 3D energy deposit in the phantom; the information is energy deposit in each voxel with respect to the position of the voxel. +Note that the same information can be stored in different format, +like .xml using the same AIDA interface. +Use of the ROOT analysis +Alternatively it is possible to use ROOT data analysis package directly for the production of output files, without using AIDA. +In the last version, anyway, this functionality must be implemented by User. This can be accomplished by setting an ad-hoc environment variable (i.e. G4ANALYSIS_USE_ROOT) to 1 (and unsetting G4ANALYSIS_USE if you have it set), adding in the code lines to create outputs with the ROOT libraries and recompiling the application. +In this case you must have ROOT installed in your machine. -Setup for analysis: AIDA 3.2.1 +FUTURE CHALLENGES AND USERS' REQUESTS +This is a list of future components that will be added in Hadrontherapy and of main Users requests that we hope to fulfill in the next future +What is in progress -Users can download the analysis tools from: -http://aida.freehep.org/ + 1. A module for the simulation of an active beam line will be provided. + The Korean Group of the Proton therapy center, National Cancer Center is developing this + 2. Modules for LET and RBE (Relative Biological Effectiveness) calculation. The Catania Group in Collaboration with the Turin one is working on this. + 3. Hadrontherapy will permit the simulation of a 'basic' experiment usefull in hadrontherapy applications. User will be able to simulate thin/thick target configuration to calculate quantities like double differential cross sections of secondaries produces, or fluence and yelds of primary and secondaries in a thick block. This work is maily discussed with P. Kaitaniemi and the Group from the Helsinki Institute of Physics. -Note that the same information can be stored in different format, -like .root or .xml using the same AIDA interface. -Alternatively users that are more confident with ASCII format, can derive -their table with energy deposited in each voxel working inside the -HadrontherapyMatrix. - -Please contact cirrone@lns.infn.it for more details. - ---------------------------------------------------------------------------- - -for comments, advices, doubts and questions please contact: -cirrone@lns.infn.it - -last modified: G.A.P. Cirrone, 20/11/2008 +What is requested from Users + 1. Dicom interface diff --git a/examples/advanced/hadrontherapy/RootScripts/README b/examples/advanced/hadrontherapy/RootScripts/README new file mode 100644 index 0000000000..7d6eafde42 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/README @@ -0,0 +1,40 @@ +The Root scripts (files with extension .C) contained in this directory, when executed with ROOT program +(with the command .x scriptName.C) perform a comparison beetween the experimental data files and simulation output. +Each subdirectory (proton, etc) contains a specific ROOT script. + +--> proton/BraggPeak +comparison.C performs a comparison beetwen non modulated Bragg peaks + +All the scripts in the iaeaBenchmark/ -directory apply to results produced using the IAEA geometry +-->iaeaBenchmark/braggPeak.C +carbon-12 bragg peak plot + +--> iaeaBenchmark/checkBeam.C +Macro for checking beam FWHM + +--> iaeaBenchmark/fragmentAngularDistribution.C +Produces a histogram of the angular distribution of a certain type of charged fragment (default Z=1) interactively + +--> iaeaBenchmark/fragmentAngularDistributionGM.C +Produces a histogram of the angular distribution of a certain type of charged fragment (default Z=1) interactively + +--> iaeaBenchmark/fragmentAngularDistributionHistogram.C +Produces a histogram of the angular distribution of a certain type of charged fragment (default Z=1) interactively + +--> iaeaBenchmark/fragmentEnergy.C +Plot fragment energy distributions + +--> iaeaBenchmark/fragmentEnergyDistributionDifferentAngles.C +Plot fragment energy distributions + +--> iaeaBenchmark/fragmentYields.C +Produces the yield calculations for fragments below the angle of 10 degrees + +--> iaeaBenchmark/fragmentYieldsPlot.C +Produces the yield calculations for fragments below the angle of 10 degrees and compares to data + +--> iaeaBenchmark/readExfor.C +Example script for reading datafile + +--> iaeaBenchmark/rootlogon.C +Plotting style definition diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/braggPeak.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/braggPeak.C new file mode 100644 index 0000000000..4f9e39c9a3 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/braggPeak.C @@ -0,0 +1,112 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "THStack.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/*************************** + * Root script that produces comparison between hadrontherapy + * mc-simulation data and E.Haettner's experimental data. + * + * prompts user if to normalize to zero depth=1 + * + * @author Gillis Danielsen + * **************************/ + + +void braggPeak() { + TString normToZeroPos; + cout << "Normalize to first bin? (Y/N):"; + cin >> normToZeroPos; + + TCanvas *c1 = new TCanvas("Bragg curve", "Bragg curve comparison"); + + //TCanvas *c1 = new TCanvas("BraggPeaks", "Energy depositions along x-axis in phantom"); + gStyle->SetOptStat(0000000000); //remove the for this graphs totally redundant statbox + + gROOT->SetStyle("clearRetro"); + //this will be used as base for pulling the experimental data + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("basic.C",""); + dir.ReplaceAll("/./","/"); + ifstream in; + in.open(Form("experimentalData/iaeaBenchmark/400tdk.dat",dir.Data())); //also set Znum! + TString Znum = "2"; //set here what will be put in the selection for z, does not automatically change imoprted data. + Float_t f1,f2,f3,f4; + Int_t nlines = 0; + TFile *f = new TFile("fragmentAngularDistribution.root","RECREATE"); + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","d:i:err1:err2"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[15], n2[15], n3[15], n4[15]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 4' + in >> n1 >> n2 >> n3 >> n4; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2 >> f3 >> f4; + if (!in.good()){ + break; + } + if (nlines < 500 ) printf("%f %f %f %f\n",f1,f2,f3,f4); + ntuple->Fill(f1,f2,f3,f4); + nlines++; + } + + //Let's pull in the simulation data + TFile* simulation = TFile::Open("IAEA_braggPeak.root"); + TH1F* simBragg = (TH1F*) simulation->Get("braggPeak"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) simulation->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + + //good to keep for ref. G4 might give weird units due to change. + metadata->Scan(); + + simBragg->GetXaxis()->SetLimits(0.0, waterThickness); + simBragg->SetLineColor(kBlue); + simBragg->SetXTitle("Depth in phantom (cm)"); + //simBragg->GetXaxis()->SetTitleOffset(1); + simBragg->GetYaxis()->SetTitleOffset(1.5); + std::cout << "Maximum (Bragg peak) for simulation data is at: " << simBragg->GetBinCenter(simBragg->GetMaximumBin()) + 0.478/2 + 0.027 + 0.073 << endl; + std::cout << "Bin width is " << simBragg->GetBinWidth(simBragg->GetMaximumBin()) << endl; + + TString scaleTuple; + if(normToZeroPos == "Y"){ + Float_t normElement; + ntuple->SetBranchAddress("i",&normElement); + ntuple->GetEntry(0); + scaleTuple = Form("/%f", normElement); + simBragg->Scale(1.0/simBragg->GetBinContent(0)); + simBragg->SetYTitle("Relative ionization"); + }else{ + simBragg->Scale(1.0/(100*events*simBragg->GetBinWidth(0))); // 100 for converting to MeV/m + simBragg->SetYTitle("Ionization (MeV/m)"); + scaleTuple = ""; + } + + //simBragg->ShowPeaks(); //Can be used to mark out bragg peaks specificly. + simBragg->Draw(); + ntuple->SetMarkerColor(kRed); + ntuple->SetMarkerStyle(22); + std::cout << ntuple->GetEntries() << endl; + ntuple->Draw("i" + scaleTuple + ":d-(0.478+0.027+0.073)","","p,same"); // the minuses are the WE's, here only real water depth is plotted. + c1->SaveAs("braggPeakComparisonToData_norm_" + normToZeroPos + ".png"); +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/checkBeam.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/checkBeam.C new file mode 100644 index 0000000000..93bcc4e355 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/checkBeam.C @@ -0,0 +1,135 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/** + * Macro for checking beam FWHM + * + * Usage: + * root -l RootScripts/iaeaBenchmark/fragmentEnergy.C++ + */ +void checkBeam() { +//////////////////////////////////////// +////// Importing data ///////// +//////////////////////////////////////// + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("fragmentEnergy.C",""); + dir.ReplaceAll("/./","/"); + +TString macroPath(gROOT->GetMacroPath()); +gROOT->SetMacroPath(macroPath + ":RootScripts/iaeaBenchmark"); +//gROOT->LoadMacro("rootlogon.C"); +//gROOT->SetStyle("clearRetro"); //For stylesheet + + ifstream in; + in.open(Form("experimentalData/iaeaBenchmark/fragmentEnergySpctra279mmWater0deg.dat",dir.Data())); + Float_t f1,f2,f3, f4,f5,f6; + Int_t nlines = 0; + TFile *f = new TFile("fragmentEnergy.root","RECREATE"); + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","Energy:He:B:H:Li:Be"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[6], n2[2], n3[2], n4[2], n5[2], n6[2]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2 >> n3 >> n4 >> n5 >> n6; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2 >> f3 >>f4 >> f5 >> f6; + if (!in.good()) break; + if (nlines < 500 ) printf("%f %0.2f %0.2f %0.2f %0.2f %0.2f \n",f1,f2,f3,f4,f5,f6); + ntuple->Fill(f1,f2,f3,f4,f5,f6); + nlines++; + } + + printf(" found %d points\n",nlines); + + //Let's pull in the monte carlo simulation results + TFile *MCData = TFile::Open("IAEA_15.9.root"); + TH1F* MC_helium = (TH1F*)MCData->Get("heliumEnergyAfterPhantom"); + TH1F* MC_hydrogen = (TH1F*)MCData->Get("hydrogenEnergyAfterPhantom"); +//scale and plot + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) MCData->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + +//analysis numbers based on metadata + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; + Double_t detectorSideLength = 4; //hardcoded, we have a zero angle square detector +//good to keep for ref. G4 might give weird units due to change. +metadata->Scan(); + + //TCanvas* c3 = new TCanvas(); + fragments->SetLineColor(kRed); + fragments->SetMarkerStyle(22); + + //fragments->Draw("posY:posZ", "abs(posZ) < 2 && abs(posY) < 2"); + TH1F* posYHisto = new TH1F("vertical","Vertical distribution of beam",200,-2.,2.); + TH1F* posZHisto = new TH1F("horizontal","horizontal distribution of beam",200,-2.,2.); + TH2F* posHisto = new TH2F("posHisto","Distribution of beam",200,-2.,2.,200,-2.,2.); + //fragments->Project("posHisto","posY:posZ","abs(posZ) < 2 && abs(posY) < 2"); + fragments->Project("vertical","posZ","abs(posZ) < 2 && abs(posY) < 2 && Z == 6"); + fragments->Project("horizontal","posY","abs(posZ) < 2 && abs(posY) < 2 && Z == 6"); + Float_t maxVal = posYHisto->GetMaximum(); + std::cout << "maximum: " << maxVal << endl; + //fragments->Scan("posY:posZ","abs(posZ) < 2 && abs(posY) < 2"); + //posYHisto->Draw(); +// posZHisto->Draw("same"); + + Float_t fwhm = 0.0, middle = 0.0, curVal; + int fwhmBin; + //So these dots have been binned and a fwhm is calculated. + for(int i = 0; i < posYHisto->GetNbinsX(); i++){ + + curVal = posYHisto->GetBinContent(i); + if(pow(maxVal/2 - middle, 2.0) > pow(maxVal/2 - curVal, 2.0)){ + fwhm = 2*TMath::Abs(posYHisto->GetBinCenter(i)); + middle = curVal; + fwhmBin = i; + }else{ + } + } + //posYHisto->SetBinContent(fwhmBin, 0); + /* + TNtuple* where = new TNtuple("where","where","x:y"); + where->Fill(fwhmBin*posYHisto->GetBinWidth(0), 0); + where->Fill((200-fwhmBin)*posYHisto->GetBinWidth(0), 0); + where->->SetMarkerStyle(22); //triangle + where->SetMarkerColor(kRed); + */ + TF1* fitgaus = new TF1("fitgaus","gaus"); + fitgaus->SetLineColor(2); + posYHisto->Fit(fitgaus,""); + posYHisto->Draw(); + std::cout << "fitted FWHM from normal distribution is: " << fitgaus->GetParameter(2)*10*2.35482 << endl; + //where->Draw("x:y","same"); + //posYHisto->Smooth(150); + //posYHisto->Draw(); + //posHisto->Draw(); + std::cout << "Calculated (closest point) FWHM of Monte-Carlo simulation to be: " << fwhm*10 << " mm" << endl; + std::cout << "beam contained " << fragments->GetEntries("Z == 6") << " carbon nuclei." << endl; + + + //c3->SaveAs("checkBeam.png"); + +} + diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistribution.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistribution.C new file mode 100644 index 0000000000..457bf487ab --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistribution.C @@ -0,0 +1,262 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "THStack.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/*************************** + * Root script that produces a graph of the angular distribution of + * a certain type of charged fragments itneractively. + * + * Results are not stored in a histogram. + * + * This can be compared to measurements made with a square + * detector that is being moved around. Such as that of E.Haettner[1]. + * + * Results are normalized to the 0-angle because documentation on E.Haettner's + * normalization is not found. + * + * @author Gillis Danielsen + * **************************/ + + +void fragmentAngularDistribution() { + + gStyle->SetOptStat(0000000000); //remove the for this graphs totally redundant statbox + gROOT->SetStyle("clearRetro"); + //this will be used as base for pulling the experimental data + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("fragmentAngularDistribution.C",""); + dir.ReplaceAll("/./","/"); + ifstream in; + + int ZnumInt; + TString pDepth, fragment, Znum, normToOneAtZeroAngle; + cout << "Enter phantom depth (eg. 27.9, see experimentalData directory for choices): "; + cin >> pDepth; + cout << "Enter fragment Z-number (eg. 1): "; + cin >> ZnumInt; + //cout << "Enter fragment name (Znum 1 -> H,Znum 2->He...): "; + //cin >> fragment; + TString fragmentNameChoices[6] = {"H","He","Li","Be","B","C"}; + TString fragment = fragmentNameChoices[ZnumInt - 1]; + Znum = Form("%i",ZnumInt); + cout << "Normalize to 1 at zero angle? (Y/N): "; + cin >> normToOneAtZeroAngle; + + TString experimentalDataPath = "experimentalData/iaeaBenchmark/angularDistributions/" + pDepth + "/" + fragment + "" + pDepth +".dat"; + TString simulationDataPath = "IAEA_" + pDepth + ".root"; + + TCanvas *c1 = new TCanvas("AngularDistribution", "Angular distribution with discrete measurement annuluses"); + + //Pull in ascii/exfor-style data + in.open(experimentalDataPath); + + Float_t f1,f2; + Int_t nlines = 0; + TFile *f = new TFile("fragmentAngularDistribution.root","RECREATE"); + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","x:y"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[15], n2[15]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2; + if (!in.good()) break; + if (nlines < 500 ) printf("%f %f\n",f1,f2); + ntuple->Fill(f1,f2); + nlines++; + } + std::cout << "Imported " << nlines << " lines from data-file" << endl; + + //Let's pull in the simulation-data + //TFile *MCData = TFile::Open("IAEA_" + pDepth + ".root"); + TFile *MCData = TFile::Open(simulationDataPath); + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) MCData->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + + //good to keep for ref. G4 might give weird units due to change. + metadata->Scan(); + + //ALL UNITS ARE cm! + Double_t detectorSideLength = 4; //40mm, as e.haettner H1 detector + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; //temporarily hard-coded, should be distance from target-center to detector + + Double_t r; + Double_t degrees; + Double_t rMin; + Double_t rMax; + TString rMinString, rMaxString, experimentalNorm; + Double_t maxValue = 0.0; //When normalizing to 1 this will allways end up being 1) + + int i = 0; //so that the degree steps can be varied to unevenly spaced values separate counter is used + TNtuple* distrib = new TNtuple("angularDistrib","FragmentAngularDistrib","angle:particleAmount:normalized"); + std::cout << "Fragments comparison to the graphs in appendices of E.Haettner\n"; + std::cout << "Scattering distance: " << scatteringDistance << " cm" << endl ; + std::cout << "(scattering distance may vary with data-files too, see haettner A.1." << endl << endl; + //This will norm it to the zero degree entry to get rid of Emma's weird normalization + //fixme detectorsidelengthstring + rMinString = "0.00"; + rMaxString = Form("%f", detectorSideLength/2); + //SA of a square Double_t zeroSAsquare = 4 * TMath::ASin(pow(detectorSideLength,2.0) / (4*pow(scatteringDistance,2) + pow(detectorSideLength,2)) ); + //SA with square approx squareApprox = (4*4) / (4*3.14*scatteringDistance*scatteringDistance); + + //First calculates the normalization from the zero position + //Normalization by events becomes redundant but is left in place for future needs + + Double_t deltaPhi = TMath::ATan((detectorSideLength/2)/scatteringDistance); //Angle where side of detector is found + /* + //Alternative normalization, here zero position is also done with annulus where rMin=0, the actual detector is a square though + //Difference with this approach and the other is very small + Double_t normEntries = fragments->GetEntries("(Z == " + Znum + " && energy > 0 && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")"); + Double_t zeroSA = 2*TMath::Pi()*(TMath::Cos(0) - TMath::Cos(deltaPhi)); + */ + //fragments->Scan(); + //Results are normalized by a square detector mimicing H1 with center at 0 degrees. + Double_t normEntries = fragments->GetEntries("(Z == " + Znum + " && posY < " + rMaxString + " && posY > -" + rMaxString + " && posZ > -" + rMaxString + " && posZ < " + rMaxString + ")"); + Double_t zeroSA = 4 * TMath::ASin(pow(detectorSideLength,2.0) / (4*pow(scatteringDistance,2) + pow(detectorSideLength,2)) ); + Double_t zeroYieldNormed = normEntries / (events * zeroSA); + if(normToOneAtZeroAngle == "Y"){ + Double_t zeroNorm = zeroYieldNormed; //values normalized to one at zero + }else{ + Double_t zeroNorm = 1.0; //non-zeronormalized values + } + + distrib->Fill(0,normEntries,zeroYieldNormed/zeroNorm); //< degrees, entyamount, normalized result for graph + //fragments->Scan(); //debug + std::cout << "Norming events: " << normEntries << endl; + //Loop through all other wanted angles, too large angles will fall outside reach of phantom window. + for(Double_t j = deltaPhi*TMath::RadToDeg(); j <= 15.0; j=j+.05){ + i++; + degrees = j * TMath::DegToRad(); + //Distance from straight beam at the requested angle + r = scatteringDistance * TMath::Tan(degrees); + //now the "detector is rotated around all possible perpendicularlynangle values to beamline". + //This forms an annulus with rMin and Rmax as outer and inner radiuses + //this will give a bit of approximation at small angles and at 0 degrees this gives a completely round sensor. + + + /* + * deltaPhi calculated so that phi+deltaphi points to one side of the detector and phi-deltaphi the other side + * + * Alternative 1: detector is moved but the normal is not pointed towards the scattering source. + * Alternative 2: detector is moved and pointed towards scattering source. (E.Haettner seems to use this) + * + * The difference in results is very minute though. (3% at largest angles) + */ + //Alternative 1 + //Double_t deltaPhi = degrees - TMath::ATan(TMath::Tan(degrees) - (detectorSideLength/(2*scatteringDistance))); + //rMin = TMath::Max(0.0,r - (detectorSideLength/2)); + //rMax = r + (detectorSideLength/2); + //Alternative 2 + Double_t deltaPhi = TMath::ATan((TMath::Cos(degrees)*detectorSideLength)/(2*scatteringDistance)); + rMin = TMath::Max(0.0,r - (detectorSideLength/(2*TMath::Cos(degrees)))); + rMax = rMin + ((detectorSideLength*TMath::Sin(degrees))/TMath::Tan((TMath::Pi()/2) - degrees - deltaPhi)) + (detectorSideLength*TMath::Cos(degrees)); + rMinString = Form("%f", rMin); + rMaxString = Form("%f", rMax); + /* + * From Gunzert-marx. Solid angle of annulus with rmin trmax, + * a bit of an aproximation especially at small phi. + */ + Double_t deltaOmega = 2*TMath::Pi()*(TMath::Cos(TMath::Max(0.0,degrees-deltaPhi)) - TMath::Cos(degrees+deltaPhi)); + int numEntries = fragments->GetEntries("(Z == " + Znum + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")"); + distrib->Fill(j,numEntries,numEntries/(deltaOmega * events * zeroNorm)); //< degrees, entyamount, normalized result for graph + distrib->Fill(-j,numEntries,numEntries/(deltaOmega * events * zeroNorm)); //< To get gaussian shape better visible + maxValue = TMath::Max(maxValue, numEntries/(deltaOmega * events * zeroNorm)); //< for calculation of FWHM + } + distrib->SetMarkerStyle(2); //filled dot + distrib->SetMarkerColor(kBlue); + ntuple->SetMarkerStyle(22); //triangle + ntuple->SetMarkerColor(kRed); + + TH1F* dummHisto = new TH1F("dummyHisto", fragment + ", " + Form("%.1f", waterThickness) + " cm",100, -3.0,14); //Dummyhisto fix for missing TNtuple methods. + dummyHisto->SetXTitle("Angle (degrees)"); + dummyHisto->SetYTitle("(N/N0) [sr^-1]"); + if(normToOneAtZeroAngle == "Y"){ + dummyHisto->SetMaximum(1.1); + dummyHisto->SetYTitle("[sr^-1]"); + Float_t zeroPosData; //This is where we store what we norm the experimental data with + Float_t zeroPosAngle; //okay, so this should be zero, but regrettably is not allways that + ntuple->SetBranchAddress("y",&zeroPosData); + ntuple->SetBranchAddress("x",&zeroPosAngle); + int row = 0; + ntuple->GetEntry(row); //Pull the first row, usually is the right one + while(zeroPosAngle*zeroPosAngle > .01){ + row++; + ntuple->GetEntry(row); + if(row == ntuple->GetEntries()){ + std::cerr << "Could not find zero angle data in imported experimental data. Change normalization or relax exactness of this check." << endl; + exit(); + } + } + + std::cout << "For zero-position of experimental data using angle " << zeroPosAngle << " with amount " << zeroPosData << " on row " << row << endl; + experimentalNorm = Form("(1/%f)*", zeroPosData); + }else{ + //nor normalization to 1 of data + dummyHisto->SetMaximum(ntuple->GetMaximum("y")+ ntuple->GetMaximum("y")*.1); + experimentalNorm = ""; //no norming of experimental resilts + } + dummyHisto->Draw(); + ntuple->Draw(experimentalNorm + "y:x","","p,same"); + distrib->Draw("normalized:angle","angle > -3 && angle < 14","p,same"); //similar axises to e.haettner + + //Calculate closest-point-FWHM. + Float_t fwhm = 0.0, middle = 0.0, currentX, currentY; + distrib->SetBranchAddress("normalized",¤tY); + distrib->SetBranchAddress("angle",¤tX); + for(int i = 0; i < distrib->GetEntries(); i++){ + distrib->GetEntry(i); + if(pow(maxValue/2 - middle, 2.0) > pow(maxValue/2 - currentY, 2.0)){ + fwhm = 2*currentX; + middle = currentY; + }else{ + } + } + std::cout << "Calculated (closest point) FWHM of Monte-Carlo simulation to be: " << fwhm << " degrees" << endl; + + /* + * This code is left here because it allows to calcualte the values without using annuluses + * this of course is a bit more like the experimental data but statistically less precise. + for(Double_t p = 0.0;p < 14.0; p = p + 1.0){ + rMinString = "0.00"; + rMaxString = "2.00"; + TString plusY = Form("(posY - %f)", p); + TString plusZ = Form("(posZ - %f)", p); + Double_t deltaPhi = TMath::ATan((detectorSideLength/2)/scatteringDistance); + Double_t normEntries = fragments->GetEntries("(Z == " + Znum + " && energy > 0 && sqrt(" + plusY + "^2 + " + plusZ + "^2) < " + rMaxString + "&& sqrt("+plusY + "^2 + " + plusZ + "^2) > " + rMinString + ")"); + //std::cout << "(Z == " + Znum + " && energy > 0 && sqrt(" + plusY + "^2 + " + plusZ + "^2) < " + rMaxString + "&& sqrt("+plusY + "^2 + " + plusZ + "^2) > " + rMinString + ")"; + Double_t zeroSA = 2*TMath::Pi()*(TMath::Cos(0) - TMath::Cos(deltaPhi)); + std::cout << "with " << p << "cm the amount is " << normEntries << " / " << normEntries /(events*zeroSA) << endl; + } + */ + + + //c1->SaveAs("angularDistrib_depth_" + pDepth + "_Z_" + Znum + "_normedToZero_" + normToOneAtZeroAngle + "_ComparedToEHaettner.png"); + pDepth.ReplaceAll(".",""); + c1->SaveAs("AD_" + pDepth + "_" + Znum + "_" + normToOneAtZeroAngle + ".png"); + in.close(); + f->Write(); +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistributionGM.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistributionGM.C new file mode 100644 index 0000000000..9a15240dc1 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistributionGM.C @@ -0,0 +1,213 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "THStack.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/*************************** + * Root script that produces a graph of the angular distribution of + * a certain type of charged fragment (default Z=1). + * + * Results are not stored in a histogram. + * + * This can be compared to measurements made with a square + * detector that is being moved around. Such as that of E.Haettner[1]. + * + * Results are normalized to the 0-angle because documentation on E.Haettner's + * normalization is not found. + * + * @author Gillis Danielsen + * **************************/ + + +void fragmentAngularDistributionGM() { + + TCanvas *c1 = new TCanvas("AngularDistribution", "Angular distribution with discrete measurement annuluses"); + + gROOT->SetStyle("clearRetro"); + //this will be used as base for pulling the experimental data + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + ifstream in; + + //Settings for analysis + TString pDepth = "5.9"; //set ehre what depth to analyse, requries suitable root file and data file + TString fragment = "H"; //string of what fragment is being looked at H, He, Li ... + TString Anum = "1"; //set here what will be put in the selection for z, does not automatically change imoprted data. + //TString experimentalDataFile = "experimentalData/iaeaBenchmark/angularDistributions/" + pDepth + "/" + fragment + pDepth + ".dat"; + //in.open(Form("experimentalData/iaeaBenchmark/angularDistributions/" + pDepth + "/" + fragment + pDepth + ".dat",dir.Data())); + in.open(Form("experimentalData/iaeaBenchmark/alternativeGMBeamAD.dat",dir.Data())); //fixme: redundant dir.data() + std::cout << "experimentalData/iaeaBenchmark/angularDistributions/" + pDepth + "/" + fragment + pDepth + ".dat" << endl; + std::cout << "didata" << dir.Data() << endl; + Float_t f1,f2; + Int_t nlines = 0; + TFile *f = new TFile("fragmentAngularDistribution.root","RECREATE"); + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","x:y"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[15], n2[15]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2; + if (!in.good()) break; + if (nlines < 500 ) printf("%f %f\n",f1,f2); + ntuple->Fill(f1,f2); + nlines++; + } + std::cout << "Imported " << nlines << " lines from data-file" << endl; + + //Let's pull in the simulation-data + //TFile *MCData = TFile::Open("IAEA_" + pDepth + ".root"); + TFile *MCData = TFile::Open("IAEA_G-M.root"); + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) MCData->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + + //good to keep for ref. G4 might give weird units due to change. + metadata->Scan(); + + //ALL UNITS ARE cm! + Double_t detectorSideLength = 4; //40mm, as e.haettner H1 detector, G-M uses 1.6cm sidelength (which is however to small for < 1 million events files + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; //temporarily hard-coded, should be distance from target-center to detector + + Double_t r; + Double_t degrees; + Double_t rMin; + Double_t rMax; + TString rMinString; + TString rMaxString; + Double_t maxValue = 0.0; //When normalizing to 1 this will allways end up being 1) + + int i = 0; //so that the degree steps can be varied to unevenly spaced values separate counter is used + TNtuple* distrib = new TNtuple("angularDistrib","FragmentAngularDistrib","angle:particleAmount:normalized"); + std::cout << "Fragments comparison to the graphs in appendices of E.Haettner\n"; + std::cout << "Scattering distance: " << scatteringDistance << " cm" << endl ; + std::cout << "(scattering distance may vary with data-files too, see haettner A.1." << endl << endl; + //This will norm it to the zero degree entry to get rid of Emma's weird normalization + //fixme detectorsidelengthstring + rMinString = "0.00"; + rMaxString = Form("%f", detectorSideLength/2); + //SA of a square Double_t zeroSAsquare = 4 * TMath::ASin(pow(detectorSideLength,2.0) / (4*pow(scatteringDistance,2) + pow(detectorSideLength,2)) ); + //SA with square approx squareApprox = (4*4) / (4*3.14*scatteringDistance*scatteringDistance); + + //First calculates the normalization from the zero position + //Normalization by events becomes redundant but is left in place for future needs + + Double_t deltaPhi = TMath::ATan((detectorSideLength/2)/scatteringDistance); //Angle where side of detector is found + /* + //Alternative normalization, here zero position is also done with annulus where rMin=0, the actual detector is a square though + //Difference with this approach and the other is very small + Double_t normEntries = fragments->GetEntries("(Z == " + Anum + " && energy > 0 && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")"); + Double_t zeroSA = 2*TMath::Pi()*(TMath::Cos(0) - TMath::Cos(deltaPhi)); + */ + //fragments->Scan(); + //Results are normalized by a square detector mimicing H1 with center at 0 degrees. + Double_t normEntries = fragments->GetEntries("(A == " + Anum + " && posY < " + rMaxString + " && posY > -" + rMaxString + " && posZ > -" + rMaxString + " && posZ < " + rMaxString + ")"); + Double_t zeroSA = 4 * TMath::ASin(pow(detectorSideLength,2.0) / (4*pow(scatteringDistance,2) + pow(detectorSideLength,2)) ); + Double_t zeroNorm = normEntries / (events * zeroSA); + distrib->Fill(0,normEntries,zeroNorm); //< degrees, entyamount, normalized result for graph + //fragments->Scan(); + std::cout << "Norming events: " << normEntries << endl; + //Loop through all other wanted angles, too large angles will fall outside reach of phantom window. + for(Double_t j = deltaPhi*TMath::RadToDeg(); j <= 15.0; j=j+.05){ + i++; + degrees = j * TMath::DegToRad(); + //Distance from straight beam at the requested angle + r = scatteringDistance * TMath::Tan(degrees); + //now the "detector is rotated around all possible perpendicularlynangle values to beamline". + //This forms an annulus with rMin and Rmax as outer and inner radiuses + //this will give a bit of approximation at small angles and at 0 degrees this gives a completely round sensor. + Double_t deltaPhi = TMath::ATan((TMath::Cos(degrees)*detectorSideLength)/(2*scatteringDistance)); + rMin = TMath::Max(0.0,r - (detectorSideLength/(2*TMath::Cos(degrees)))); + rMax = rMin + ((detectorSideLength*TMath::Sin(degrees))/TMath::Tan((TMath::Pi()/2) - degrees - deltaPhi)) + (detectorSideLength*TMath::Cos(degrees)); + rMinString = Form("%f", rMin); + rMaxString = Form("%f", rMax); /* + * From Gunzert-marx. Solid angle of annulus with rmin trmax, + * a bit of an aproximation especially at small phi. + */ + Double_t deltaOmega = 2*TMath::Pi()*(TMath::Cos(TMath::Max(0.0,degrees-deltaPhi)) - TMath::Cos(degrees+deltaPhi)); + int numEntries = fragments->GetEntries("(A == " + Anum + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")"); + //distrib->Fill(j,numEntries,numEntries/(deltaOmega * events * zeroNorm)); //< degrees, entyamount, normalized result for graph + distrib->Fill(j,numEntries,numEntries/(deltaOmega * events)); + //distrib->Fill(-j,numEntries,numEntries/(deltaOmega * events * zeroNorm)); //< To get gaussian shape better visible + distrib->Fill(-j,numEntries,numEntries/(deltaOmega * events)); + maxValue = TMath::Max(maxValue, numEntries/(deltaOmega * events)); //< for calculation of FWHM + } + distrib->SetMarkerStyle(2); //filled dot + distrib->SetMarkerColor(kBlue); + distrib->Draw("normalized:angle","angle > -3 && angle < 14","p"); //similar axises to e.haettner + ntuple->SetMarkerStyle(22); //triangle + ntuple->SetMarkerColor(kRed); + Float_t zeroPosData; //This is where we store what we norm the experimental data with + Float_t zeroPosAngle; //okay, so this should be zero, but regrettably is not allways that + ntuple->SetBranchAddress("y",&zeroPosData); + ntuple->SetBranchAddress("x",&zeroPosAngle); + int row = 0; + ntuple->GetEntry(row); //Pull the first row, usually is the right one + while(zeroPosAngle*zeroPosAngle > .01){ + row++; + ntuple->GetEntry(row); + if(row == ntuple->GetEntries()){ + std::cerr << "Could not find zero angle data in imported experimental data. Change normalization or relax exactness of this check." << endl; + exit(); + } + } + std::cout << "For zero-position of experimental data using angle " << zeroPosAngle << " with amount " << zeroPosData << " on row " << row << endl; + TString experimentalNorm = Form("(1/%f)*", zeroPosData); + ntuple->Draw(experimentalNorm + "y:x","","p,same"); + + //Calculate FWHM, ineffective solution. (but works also without normalizing to 1) + Float_t fwhm = 0.0, middle = 0.0, currentX, currentY; + distrib->SetBranchAddress("normalized",¤tY); + distrib->SetBranchAddress("angle",¤tX); + for(int i = 0; i < distrib->GetEntries(); i++){ + distrib->GetEntry(i); + if(pow(maxValue/2 - middle, 2.0) > pow(maxValue/2 - currentY, 2.0)){ + fwhm = 2*currentX; + middle = currentY; + }else{ + } + } + std::cout << "Calculated (closest point) FWHM of Monte-Carlo simulation to be: " << fwhm << " degrees" << endl; + + /* + * This code is left here because it allows to calcualte the values without using annuluses + * this of course is a bit more like the experimental data but statistically less precise. + for(Double_t p = 0.0;p < 14.0; p = p + 1.0){ + rMinString = "0.00"; + rMaxString = "2.00"; + TString plusY = Form("(posY - %f)", p); + TString plusZ = Form("(posZ - %f)", p); + Double_t deltaPhi = TMath::ATan((detectorSideLength/2)/scatteringDistance); + Double_t normEntries = fragments->GetEntries("(Z == " + Anum + " && energy > 0 && sqrt(" + plusY + "^2 + " + plusZ + "^2) < " + rMaxString + "&& sqrt("+plusY + "^2 + " + plusZ + "^2) > " + rMinString + ")"); + //std::cout << "(Z == " + Anum + " && energy > 0 && sqrt(" + plusY + "^2 + " + plusZ + "^2) < " + rMaxString + "&& sqrt("+plusY + "^2 + " + plusZ + "^2) > " + rMinString + ")"; + Double_t zeroSA = 2*TMath::Pi()*(TMath::Cos(0) - TMath::Cos(deltaPhi)); + std::cout << "with " << p << "cm the amount is " << normEntries << " / " << normEntries /(events*zeroSA) << endl; + } + */ + + + c1->SaveAs("AD_for_Z_" + Anum + "_ComparedToGM.png"); + in.close(); + f->Write(); +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistributionHistogram.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistributionHistogram.C new file mode 100644 index 0000000000..bd0d55f519 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentAngularDistributionHistogram.C @@ -0,0 +1,158 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "THStack.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/*************************** + * Root script that produces a histogram of the angular distribution of + * a certain type of charged fragment (default Z=1). + * + * Notice that this produces a histogram with equally spaced bins for angles. + * + * Comparison to E.Haettner will not yield good results, but shows + * alternative approach for analyzing the same data. + * + * @author Gillis Danielsen + * **************************/ + +void fragmentAngularDistributionHistogram() { +gStyle->SetOptStat(0000000000); //remove the redundant statbox + gROOT->SetStyle("clearRetro"); + //this will be used as base for pulling the experimental data + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("basic.C",""); + dir.ReplaceAll("/./","/"); + ifstream in; + + TString pDepth, fragment, Znum; + cout << "Enter phantom depth (eg. 27.9, see experimentalData directory for choices): "; + cin >> pDepth; + cout << "Enter fragment Z-number (eg. 1): "; + cin >> Znum; + cout << "Enter fragment name (Znum 1 -> H,Znum 2->He...): "; + cin >> fragment; + + TString experimentalDataPath = "experimentalData/iaeaBenchmark/angularDistributions/" + pDepth + "/" + fragment + "" + pDepth +".dat"; + TString simulationDataPath = "IAEA_" + pDepth + ".root"; + + in.open(experimentalDataPath); + Float_t f1,f2; + Int_t nlines = 0; + TFile *f = new TFile("fragmentAngularDistribution.root","RECREATE"); + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","x:y"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[15], n2[15]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2; + if (!in.good()) break; + if (nlines < 500 ) printf("%f %f\n",f1,f2); + ntuple->Fill(f1,f2); + nlines++; + } + printf(" found %d points\n",nlines); + //Let's pull in the simulation-data + //TCanvas *mc = new TCanvas("mc", "Simulation"); + TFile *simulation = TFile::Open(simulationDataPath); + TNtuple *fragments = (TNtuple*) simulation->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) simulation->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + + //good to keep for ref. G4 might give weird units due to change. + metadata->Scan(); + + + TString Znum = Form("%i", 1); //hydrogen seems to be the only interesting fragment due to largest amounts + /* + * A logical bin amount could be calculated as follows, E.Haettner used a detector with 4cm side length, + * the scattering distance is 295.85, thus arctan(4 / 295.85) = 0.774612657 degrees. As 14 degrees is shown + * in Haettners graphs and is chosen here as well that would mean approx 14/.77 ~ 18. + * This should mean moving the detector one detectorlength. so that the bins "do not overlap". This is ab it of an approx though + * because the change in degrees is not linear. + * So far these results are though very much inconsistent with Haettners. + * + * Although here one should note that the degrees are not linear. + * + * The negativeHist is a cludge-fix to get the negative degrees (will be exactly the same) + */ + Double_t maxDegrees = 14; //highest plotted degree amount + int binAmount = 25; //amount of bins in plotted histogram + TH1F *hist1 = new TH1F("hist1", "Fragment angular distribution", binAmount, 0, maxDegrees); //The histogram for the angular distribution at a set length + //This histogram needs to be hist1 with a symmetric negative side + TH1F *symmetricHist = new TH1F("symmetricHist", "Fragment angular distr.", 2*binAmount, -1*maxDegrees, maxDegrees); //bin amount must be even + + //Things needed for the analysis (based on the metadata pulled earlier) + //ALL UNITS ARE FOR NOW cm + Double_t detectorSideLength = 4; //40mm + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; + TString sdstring = Form("%.4f", scatteringDistance); + + TCanvas *c1 = new TCanvas("histograms", "Angular distribution at certain phantom thickness, sd" + sdstring); //This is where we will plot + +//////////////////////////////////////// +////// Analysis ///////// +//////////////////////////////////////// +TString middleY; +//Projection from ntuple to histogram, so that the angle is trigonometrically pulled as the binned variable + fragments->Project("hist1","57.29577*atan((posZ^2+posY^2)/" + sdstring + ")", "(Z == " + Znum + ")"); + +//Secondly all bins need to be scaled according to the solid angle of that phi+-deltaPhi circlepart. Before this the curve is "bragg-curvish", what I want is "concaveish". +//this could be done inside the reading of the tuple into the histo, however doing it afterwards improves + Double_t value, width, deltaPhi, degrees; + Double_t binNormalization = 1; + std::cout << "bin-number" << "\t" << "value" << "\t" << "solid angle segment" << endl; +for(int bin = 0; bin <= hist1->GetNbinsX(); bin++){ + value = hist1->GetBinContent(bin); //the incident-particle normalized amount of hits + width = hist1->GetBinWidth(bin); //so this is degrees/radians + degrees = hist1->GetBinCenter(bin); + deltaPhi = width/2; + binNormalization = 2*TMath::Pi()*(TMath::Cos(TMath::DegToRad()*(degrees-deltaPhi)) - TMath::Cos(TMath::DegToRad()*(degrees+deltaPhi))); //Gunzer-marx uses this , which is a tad of an approximation + symmetricHist->SetBinContent(bin+hist1->GetNbinsX(), value/(binNormalization*events)); //Solid angle and amount of events + symmetricHist->SetBinContent(hist1->GetNbinsX()-bin+1, value/(binNormalization*events)); //Solid angle and amount of events + } + symmetricHist->SetAxisRange(-2,14); + symmetricHist->SetXTitle("Angle (degrees)"); + symmetricHist->SetYTitle("(N/N0) / [sr]"); + + ///fragments->Scan("posY:posZ:atan((posZ^2+posY^2)/" + sdstring + ")"); + TF1* fitgaus = new TF1("fitgaus","gaus"); + TF2* fitexpo = new TF1("fitexpo","expo"); + fitgaus->SetLineColor(2); + fitexpo->SetLineColor(4); + symmetricHist->Fit(fitgaus,""); // data should be reshaped a bit for the gaussian (as root seems to have some problems here) + symmetricHist->Fit(fitexpo, "+"); //aparently two fits on the same histo seem to much for root + symmetricHist->Draw(); + //symmetricHist->SetMaximum(35); //needed to get E.Haettners data visible + /* + //Plots of experimental data are kind of meaningless with a constant-angle-binned histogram. + ntuple->SetMarkerStyle(22); + ntuple->SetMarkerColor(kRed); + ntuple->Draw("y:x","","p,same"); + */ + + c1->SaveAs("angularDistributionHistogramWithFits.png"); + +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentEnergy.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentEnergy.C new file mode 100644 index 0000000000..e2ab43c2dd --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentEnergy.C @@ -0,0 +1,200 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/** + * Macro for plotting the fragment energy distributions. + * + * Usage: + * root -l RootScripts/iaeaBenchmark/fragmentEnergy.C++ + */ +void fragmentEnergy() { +//////////////////////////////////////// +////// Importing data ///////// +//////////////////////////////////////// + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("fragmentEnergy.C",""); + dir.ReplaceAll("/./","/"); + +gStyle->SetOptStat(0000000000); //remove the for this graphs totally redundant statbox + + +TString macroPath(gROOT->GetMacroPath()); +gROOT->SetMacroPath(macroPath + ":RootScripts/iaeaBenchmark"); +//gROOT->LoadMacro("rootlogon.C"); +//gROOT->SetStyle("clearRetro"); //For stylesheet + + TString pDepth; + cout << "Enter phantom depth (eg. 27.9, see experimentalData directory for choices): " << endl; + cout << "Entering 27.9 will make script look for IAEA_27.9.root:"; + cin >> pDepth; + + TString simulationDataPath = "IAEA_" + pDepth + ".root"; + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","Energy:He:B:H:Li:Be"); + if(pDepth == "27.9"){ + //there is only hand.read data for this depth, fixme, is ugly + ifstream in; + in.open(Form("experimentalData/iaeaBenchmark/fragmentEnergySpctra279mmWater0deg.dat",dir.Data())); + Float_t f1,f2,f3, f4,f5,f6; + Int_t nlines = 0; + TFile *f = new TFile("fragmentEnergy.root","RECREATE"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[6], n2[2], n3[2], n4[2], n5[2], n6[2]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2 >> n3 >> n4 >> n5 >> n6; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2 >> f3 >>f4 >> f5 >> f6; + if (!in.good()) break; + if (nlines < 500 ) printf("%f %0.2f %0.2f %0.2f %0.2f %0.2f \n",f1,f2,f3,f4,f5,f6); + ntuple->Fill(f1,f2,f3,f4,f5,f6); + nlines++; + } + ntuple->SetMarkerStyle(5); + ntuple->Draw("He:Energy","","l"); + ntuple->Draw("B:Energy","","l,Same"); + ntuple->Draw("H:Energy","","l,Same"); + ntuple->Draw("Li:Energy","","l,Same"); + ntuple->Draw("Be:Energy","","l,Same"); + printf(" found %d points\n",nlines); + } + + //Let's pull in the monte carlo simulation results + TCanvas *mc = new TCanvas("mc", "Simulation"); + TFile *MCData = TFile::Open(simulationDataPath); + TH1F* MC_helium = (TH1F*)MCData->Get("heliumEnergyAfterPhantom"); + TH1F* MC_hydrogen = (TH1F*)MCData->Get("hydrogenEnergyAfterPhantom"); +//scale and plot + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) MCData->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + +//analysis numbers based on metadata + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; + Double_t detectorSideLength = 4; //hardcoded, we have a zero angle square detector +//good to keep for ref. G4 might give weird units due to change. +metadata->Scan(); + + + Double_t binAmount = 50.0; //casting from int failed somehow, so in float temporarily, fixme + Double_t maxEnergy = 450.0; + Double_t binWidth = maxEnergy / binAmount; + TH1F *histH = new TH1F("histH", "Hydrogen", binAmount, 0.0, maxEnergy); + //HistH will be black + TH1F *histHe = new TH1F("histHe", "Helium", binAmount, 0.0, maxEnergy); + histHe->SetLineColor(kRed); + TH1F *histLi = new TH1F("histLi", "Lithium", binAmount, 0.0, maxEnergy); + histLi->SetLineColor(kBlue); + TH1F *histBe = new TH1F("histBe", "Beryllium", binAmount, 0.0, maxEnergy); + histBe->SetLineColor(kGreen); + TH1F *histB = new TH1F("histB", "Boron", binAmount, 0.0, maxEnergy); + histB->SetLineColor(kYellow); + TH1F *histC = new TH1F("histC", "Carbon", binAmount, 0.0, maxEnergy); + +TH1F* histPos = new TH1F("histPos", "check position",100,-2000,2000); +//Solid angle according to \Omega = 4 \arcsin \frac {\alpha\beta} {\sqrt{(4d^2+\alpha^2)(4d^2+\beta^2)}} +Double_t steradians = 4 * TMath::ASin(pow(detectorSideLength,2.0) / (4*pow(scatteringDistance,2) + pow(detectorSideLength,2)) ); + std::cout << "Detector seen at solid angle: " << steradians << endl; + TString normalization(Form("/%f", steradians*events*binWidth)); + + fragments->SetLineColor(kRed); + fragments->SetMarkerStyle(22); + + +TString halfSideLengthString(Form("%f", detectorSideLength/2)); + + + fragments->SetLineColor(kGreen); + fragments->Project("histHe", "energy", "(Z == 2 && energy > 45 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization); + fragments->Project("histB", "energy", "(Z == 5 && energy > 45 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization); + fragments->Project("histH", "energy", "(Z == 1 && energy > 45 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization); + fragments->Project("histLi", "energy", "(Z == 3 && energy > 45 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization); + fragments->Project("histBe", "energy", "(Z == 4 && energy > 45 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization); + fragments->Project("histB", "energy", "(Z == 5 && energy > 45 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization); + + histH->SetMaximum(0.27); + + +/* +* This is cludgy but the previous plots can't contain <45MeV stuff but hte following calcualtions need them +* Thus there is another projection done with different selections, this is error-prone, +* se to that changes are made in both places. +* */ + fragments->Project("histHe", "energy", "(Z == 2 && energy > 0 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization); + fragments->Project("histB", "energy", "(Z == 5 && energy > 0 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization, "same"); + fragments->Project("histH", "energy", "(Z == 1 && energy > 0 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization, "same"); + fragments->Project("histLi", "energy", "(Z == 3 && energy > 0 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization, "same"); + fragments->Project("histBe", "energy", "(Z == 4 && energy > 0 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization, "same"); + fragments->Project("histB", "energy", "(Z == 5 && energy > 0 && abs(posY) < " + halfSideLengthString + " && abs(posZ) < " + halfSideLengthString + " )" + normalization, "same"); + + histH->SetXTitle("Energy per nucleon (MeV/u)"); + histH->SetYTitle("(N/N0) [1/(MeV*sr)]"); + + TCanvas *c3 = new TCanvas("histograms", "Energy distribution of charged fragments"); + Int_t nEve = events; //redundant + + cout <<"H : " << histH->GetEntries() / nEve << endl; + histH->Draw(""); + + cout <<"He : " << histHe->GetEntries() / nEve << endl; + histHe->Draw("same"); + + cout <<"Li : " << histLi->GetEntries() / nEve << endl; + histLi->Draw("same"); + + + cout <<"Be : " << histBe->GetEntries() / nEve << endl; + histBe->Draw("same"); + + cout <<"B : " << histB->GetEntries() / nEve << endl; + histB->Draw("same"); + + // Legends for the data + leg = new TLegend(0.8,0.5,1,1); //coordinates are fractions + leg->SetHeader("Fragments"); + leg->AddEntry(histH,"Hydrogen","l"); + leg->AddEntry(histHe,"Helium","l"); + leg->AddEntry(histLi,"Lithium","l"); + leg->AddEntry(histBe,"Beryllium","l"); + leg->AddEntry(histB,"Boron","l"); + leg->Draw(); + + ntuple->SetMarkerStyle(22); + ntuple->Draw("H:Energy","","p,same"); + ntuple->SetMarkerColor(kRed); + ntuple->Draw("He:Energy","","p,same"); + ntuple->SetMarkerColor(kBlue); + ntuple->Draw("Li:Energy","","p,same"); + ntuple->SetMarkerColor(kGreen); + ntuple->Draw("Be:Energy","","p,same"); + ntuple->SetMarkerColor(kYellow); + ntuple->Draw("B:Energy","","p,same"); + + c3->SaveAs("fragmentEnergyDistr.png"); + + in.close(); + + f->Write(); +} + diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentEnergyDistributionDifferentAngles.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentEnergyDistributionDifferentAngles.C new file mode 100644 index 0000000000..4dafd27a0d --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentEnergyDistributionDifferentAngles.C @@ -0,0 +1,183 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "THStack.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +void fragmentEnergyDistributionDifferentAngles() { + +gStyle->SetOptStat(0000000000); //remove the for this graphs totally redundant statbox + +// gROOT->SetStyle("clearRetro"); + + TString pDepth, fragment, Znum, normToOneAtZeroAngle; + cout << "Enter phantom depth (eg. 27.9, see experimentalData directory for choices): "; + cin >> pDepth; + TString simulationDataPath = "IAEA_" + pDepth + ".root"; + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("basic.C",""); + dir.ReplaceAll("/./","/"); + ifstream in; + in.open(Form("experimentalData/iaeaBenchmark/fragmentEnergySpctra279mmWater0deg.dat",dir.Data())); + Float_t f1,f2,f3, f4,f5,f6; + Int_t nlines = 0; + TFile *f = new TFile("fragmentEnergyWithAngularDistribution.root","RECREATE"); + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","Energy:He:B:H:Li:Be"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[6], n2[2], n3[2], n4[2], n5[2], n6[2]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2 >> n3 >> n4 >> n5 >> n6; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2 >> f3 >>f4 >> f5 >> f6; + if (!in.good()) break; + if (nlines < 500 ) printf("%f %0.2f %0.2f %0.2f %0.2f %0.2f \n",f1,f2,f3,f4,f5,f6); + ntuple->Fill(f1,f2,f3,f4,f5,f6); + nlines++; + } + + + //Let's pull in the simulation-data + TFile *MCData = TFile::Open("IAEA_200000.root"); + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) MCData->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + + //good to keep for ref. G4 might give weird units due to change. + metadata->Scan(); + std::cout << "Recieved metadata-row: " << events << " " << detectorDistance << " " << waterThickness << " " << beamEnergy << " " << energyError << " " << phantomCenterDistance; + + +//A lot of hardcoded histograms, ugly + Double_t binAmount = 50.0; //casting from int failed somehow, so in float temporarily, fixme + Double_t maxEnergy = 450.0; + Double_t binWidth = maxEnergy / binAmount; + TH1F *hist1 = new TH1F("hist1", "", binAmount, 0.0, maxEnergy); + TH1F *hist2 = new TH1F("hist2", "", binAmount, 0.0, maxEnergy); + TH1F *hist3 = new TH1F("hist3", "", binAmount, 0.0, maxEnergy); + TH1F *hist4 = new TH1F("hist4", "", binAmount, 0.0, maxEnergy); + TH1F *hist5 = new TH1F("hist5", "", binAmount, 0.0, maxEnergy); + TH1F *hist6 = new TH1F("hist6", "", binAmount, 0.0, maxEnergy); + TH1F *hist7 = new TH1F("hist7", "", binAmount, 0.0, maxEnergy); + TH1F *hist8 = new TH1F("hist8", "", binAmount, 0.0, maxEnergy); + TH1F *hist9 = new TH1F("hist9", "", binAmount, 0.0, maxEnergy); +for(int k = 1; k <= 6; k++){ + TString Znum = Form("%i", k); + hist1->SetTitle("Z=" + Znum); + + + //ALL UNITS ARE cm! + Double_t detectorSideLength = 4; //40mm, as e.haettner H1 detector + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; //temporarily hard-coded, should be distance from target-center to detector + Double_t degrees; //< actually radians + + Double_t r, rMin, rMax, deltaOmega, normFloat; + TString rMinString, rMaxString, normString; + TString same = ""; + TString histName; + TCanvas *c3 = new TCanvas("histograms", "Distribution (at different angles)"); + int i = 0; //so that the degree steps can be varied to unevenly spaced values separate counter is used + + std::cout << "The following numbers also make it possible to make number of fragments comparison to the graph in A1 of E.Haettner\n"; + for(Double_t j = 0.0; j <= 8.0; j=j+1.0){ + i++; + degrees = j * TMath::DegToRad(); + //std::cout << "plotting for Z = " << Znum << " at " << j << " degrees\n"; + //Distance from straight beam at the requested angle + r = scatteringDistance * TMath::Tan(degrees); + //now the "detector is rotated around all possible perpendicularlynangle values to beamline". + //This forms an annulus with rMin and RMax as otuer and inner radiuses + //Notice this will give a bit of approximation at small angles where at 0 degrees this gives a round sensor. + Double_t deltaPhi = TMath::ATan((TMath::Cos(degrees)*detectorSideLength)/(2*scatteringDistance)); + rMin = TMath::Max(0.0,r - (detectorSideLength/(2*TMath::Cos(degrees)))); + rMax = rMin + ((detectorSideLength*TMath::Sin(degrees))/TMath::Tan((TMath::Pi()/2) - degrees - deltaPhi)) + (detectorSideLength*TMath::Cos(degrees)); + rMinString = Form("%f", rMin); + rMaxString = Form("%f", rMax); + //normalization of the bins. + deltaPhi = degrees - TMath::ATan(TMath::Tan(degrees) - detectorSideLength/(2*scatteringDistance)); // this should be around arctan(detectorsidelength/sd) + if(j != 0.0){ + deltaOmega = 2*TMath::Pi()*(TMath::Cos(TMath::Max(0.0,degrees-deltaPhi)) - TMath::Cos(degrees+deltaPhi)); + }else{ + deltaOmega = 4 * TMath::ASin(pow(detectorSideLength,2.0) / (4*pow(scatteringDistance,2) + pow(detectorSideLength,2)) ); + } + normFloat = deltaOmega * events * binWidth; + normString = Form("/%f", normFloat); + + // The following is veryvery ugly relies on a bunch of hardcoded histograms because other solutions did not work + histName = Form("hist%i", i); + if(j != 0.0){ + fragments->Project(histName,"energy", "(Z == " + Znum + " && energy > 0 && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")" + normString); + }else{ + fragments->Project(histName,"energy", "(Z == " + Znum + " && energy > 0 && posZ < " + rMaxString + "&& posY < " + rMaxString + " && posY > 0 && posZ > 0)" + normString); + } + int numEntries = fragments->GetEntries("(Z == " + Znum + " && energy > 0 && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")"); + std::cout << "\nj: "<< numEntries/(deltaOmega * events) << " entries for " << j; + + } + +//the ugly hardcoded histograms being plotted + //0 degrees + hist1->SetLineColor(kBlue); + hist1->Draw(); + //1 degree + hist2->SetLineColor(kGreen); + hist2->Draw("same"); //add "same" when also plotting 0 degrees + //2 degrees + hist3->SetLineColor(kRed); + hist3->Draw("same"); + //3 degrees + //hist4->SetLineColor(kGreen + 5); + //hist4->Draw("same"); + //4 degrees + hist5->SetLineColor(kGreen + 3); //gives a darker shade of green + hist5->Draw("same"); + //5 degrees + //hist6->SetLineColor(kRed); + //hist6->Draw("same"); + //6 degrees + hist7->SetLineColor(kRed); + hist7->Draw("same"); + //7 degrees + //hist8->SetLineColor(kRed); + //hist8->Draw("same"); + //8 degrees + //hist9->SetLineColor(kRed); + //hist9->Draw("same"); + + // Legends for the data + leg = new TLegend(0.9,0.7,1,1); //coordinates are fractions + leg->SetHeader("Angles"); + leg->AddEntry(hist1,"0","l"); + leg->AddEntry(hist2,"1","l"); + leg->AddEntry(hist3,"2","l"); + leg->AddEntry(hist5,"4","l"); + leg->AddEntry(hist7,"6","l"); + leg->Draw(); + + c3->SaveAs("AEDistrib" + Znum + ".png"); +} + + in.close(); + + f->Write(); +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentYields.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentYields.C new file mode 100644 index 0000000000..dbc31b0f9e --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentYields.C @@ -0,0 +1,79 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "THStack.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/*************************** + * Root script that produces the yield calculations for fragments + * below the angle of 10 degrees. + * This is the same numbers E.Haettner has calculated + * However, there is room for much improvement to be made here. + * + * @author Gillis Danielsen + * **************************/ + + +void fragmentYields() { + + +// gROOT->SetStyle("clearRetro"); + //this will be used as base for pulling the experimental data + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("fragmentAngularDistribution.C",""); + dir.ReplaceAll("/./","/"); + ifstream in; + + TString pDepth, fragment, Znum, normToOneAtZeroAngle; + cout << "Enter phantom depth (eg. 27.9, see experimentalData directory for choices): "; + cin >> pDepth; + + TString simulationDataPath = "IAEA_" + pDepth + ".root"; + + //Let's pull in the simulation-data + //TFile *MCData = TFile::Open("IAEA_" + pDepth + ".root"); + TFile *MCData = TFile::Open(simulationDataPath); + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) MCData->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + + //good to keep for ref. G4 might give weird units due to change. + metadata->Scan(); + + //ALL UNITS ARE cm! + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; //temporarily hard-coded, should be distance from target-center to detector + + Double_t r; + Double_t degrees = 10.0; + Double_t rMin; + Double_t rMax; + TString rMinString; + TString rMaxString; + + rMinString = "0.00"; + rMaxString = Form("%f", scatteringDistance*TMath::ATan(degrees*TMath::DegToRad())); + std::cout << "Computes comparable figures to E.haettners yield calculations for zero to ten degree angles." << endl; + std::cout << "Firsta value is yield of Z=1 per C12 incident paritcle second is for Z=2 etc." << endl; + std::cout << "verboseness has been limited to make pasting easyer." << endl; + for(int i = 1; i <= 6; i++){ + int numEntries = fragments->GetEntries("(Z == " + TString::Format("%i",i) + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")"); + std::cout << numEntries / (events * .999) << endl; //< for calculation of FWHM + } +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentYieldsPlot.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentYieldsPlot.C new file mode 100644 index 0000000000..deffd1e2f0 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/fragmentYieldsPlot.C @@ -0,0 +1,144 @@ +#include "Riostream.h" +#include "TSystem.h" +#include "TInterpreter.h" +#include "TROOT.h" +#include "TApplication.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TCanvas.h" +#include "TH1F.h" +#include "THStack.h" +#include "TCut.h" +#include "TString.h" +#include "TMath.h" + +/*************************** + * Root script that produces the yield calculations for fragments + * below the angle of 10 degrees. + * Then plots the data oin comparison to Haettner + * + * There is no fit here yet. + * + * @author Gillis Danielsen + * **************************/ + + +void fragmentYieldsPlot() { + gStyle->SetOptStat(0000000000); //remove the for this graphs totally redundant statbox + int ZNumGiven; + cout << "Enter fragment Z-number (eg. 1): "; + cin >> ZNumGiven; + + TCanvas *c1 = new TCanvas("fragmentYieldsPlot", "Total yield of fragments zero to ten degrees as function of depth"); + + TString fragmentNameChoices[6] = {"H","He","Li","Be","B","C"}; + + TString fragmentName = fragmentNameChoices[ZNumGiven-1]; + + std::cout << fragmentName << endl; + + TH1F* dummyHisto = new TH1F("dummyHisto", fragmentName + " yields 0-10 degrees" ,100, 0.0,40); //Dummyhisto fix for missing TNtuple methods. + dummyHisto->SetXTitle("Depth (cm)"); + dummyHisto->SetYTitle("N/N0"); + + ifstream in; + TString experimentalDataPath = "experimentalData/iaeaBenchmark/yields/TDK" + fragmentName + ".dat"; + + ifstream in; + + //Pull in ascii/exfor-style data + in.open(experimentalDataPath); + + Float_t f1,f2; + Int_t nlines = 0; + TFile *f = new TFile("fragmentAngularDistribution.root","RECREATE"); + TNtuple *ntuple = new TNtuple("ntuple","Data from ascii file","x:y"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[15], n2[15]; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2; + if (!in.good()) break; + if (nlines < 500 ) printf("%f %f\n",f1,f2); + ntuple->Fill(f1,f2); + nlines++; + } + std::cout << "Imported " << nlines << " lines from data-file" << endl; + + + + + TNtuple *simData = new TNtuple("ntuple","Data from ascii file","depth:H:He:Li:Be:B:C"); + +// gROOT->SetStyle("clearRetro"); + //this will be used as base for pulling the experimental data + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("fragmentAngularDistribution.C",""); + dir.ReplaceAll("/./","/"); + ifstream in; + simData->Fill(0.0,0.0,0.0,0.0,0.0,0.0,1.0); +for(int j = 1; j <= 40;j=j=j+1){ + TString pDepth, fragment, Znum, normToOneAtZeroAngle; + pDepth = Form("%i",j); +/* + cout << "Enter phantom depth (eg. 27.9, see experimentalData directory for choices): "; + cin >> pDepth; +*/ + TString simulationDataPath = "IAEA_" + pDepth + ".root"; + + //Let's pull in the simulation-data + //TFile *MCData = TFile::Open("IAEA_" + pDepth + ".root"); + TFile *MCData = TFile::Open(simulationDataPath); + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + //Block bellow pulls out the simulation's metadata from the metadata ntuple. + TNtuple *metadata = (TNtuple*) MCData->Get("metaData"); + Float_t events, detectorDistance,waterThickness,beamEnergy,energyError,phantomCenterDistance; + metadata->SetBranchAddress("events",&events); + metadata->SetBranchAddress("waterThickness",&waterThickness); + metadata->SetBranchAddress("detectorDistance",&detectorDistance); + metadata->SetBranchAddress("beamEnergy",&beamEnergy); + metadata->SetBranchAddress("energyError",&energyError); + metadata->SetBranchAddress("phantomCenterDistance",&phantomCenterDistance); + metadata->GetEntry(0); //there is just one row to consider. + //ALL UNITS ARE cm! + Double_t scatteringDistance = detectorDistance - phantomCenterDistance; //temporarily hard-coded, should be distance from target-center to detector + + Double_t degrees = 10.0; + Double_t r, rMin, rMax, graphMaximum = 0.0; + Double_t norming = events*.999; + TString rMinString; + TString rMaxString; + + rMinString = "0.00"; + rMaxString = Form("%f", scatteringDistance*TMath::ATan(degrees*TMath::DegToRad())); + + Double_t H = ((Double_t*) fragments->GetEntries("(Z == " + TString::Format("%i",1) + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")")) / norming; + Double_t He = ((Double_t*) fragments->GetEntries("(Z == " + TString::Format("%i",2) + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")")) / norming; + Double_t Li = ((Double_t*) fragments->GetEntries("(Z == " + TString::Format("%i",3) + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")")) / norming; + Double_t Be = ((Double_t*) fragments->GetEntries("(Z == " + TString::Format("%i",4) + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")")) / norming; + Double_t B = ((Double_t*) fragments->GetEntries("(Z == " + TString::Format("%i",5) + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")")) / norming; + Double_t C = ((Double_t*) fragments->GetEntries("(Z == " + TString::Format("%i",6) + " && sqrt(posY^2 + posZ^2) < " + rMaxString + "&& sqrt(posY*posY + posZ*posZ) > " + rMinString + ")")) / norming; + simData->Fill(waterThickness,H,He,Li,Be,B,C); + + } + simData->Scan(); + simData->SetMarkerStyle(2); //filled dot + simData->SetMarkerColor(kBlue); + graphMaximum = TMath::Max(graphMaximum, simData->GetMaximum(fragmentName)); + graphMaximum = TMath::Max(graphMaximum, ntuple->GetMaximum("y")); + dummyHisto->SetMaximum(graphMaximum + .05*graphMaximum); + dummyHisto->Draw(); + + simData->Draw(fragmentName + ":depth","","p,same"); + + ntuple->SetMarkerStyle(22); //triangle + ntuple->SetMarkerColor(kRed); + ntuple->Draw("y:x","","p,same"); + c1->SaveAs("fragmentYieldsFor" + fragmentName + ".png"); +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/readExfor.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/readExfor.C new file mode 100644 index 0000000000..357b7108ee --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/readExfor.C @@ -0,0 +1,71 @@ +#include "Riostream.h" + +/** + * Example script for reading datafile. + * Usage: + * root -l RootScripts/iaeaBenchmark/readExfor.C + */ +void readExfor() { + TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName()); + dir.ReplaceAll("basic.C",""); + dir.ReplaceAll("/./","/"); + ifstream in; + //in.open(Form("../data/fragmentEnergySpctra279mmWater0deg.dat",dir.Data())); + in.open(Form("experimentalData/fragmentEnergySpctra279mmWater0deg.dat",dir.Data())); + Float_t f1,f2,f3, f4,f5,f6; + Int_t nlines = 0; + TFile *f = new TFile("basic.root","RECREATE"); + TH1F *h1 = new TH1F("h1","x distribution",100,-4,4); + TNtuple *ntuple = new TNtuple("ntuple","data from ascii file","Energy:He:B:H:Li:Be"); + + Char_t DATAFLAG[4]; + Int_t NDATA; + Char_t n1[6], n2[2], n3[2], n4[2], n5[2], n6[2],; + in >> DATAFLAG >> NDATA ; // Read EXFOR line: 'DATA 6' + in >> n1 >> n2 >> n3 >> n4 >> n5 >> n6; // Read column titles: 'Energy He B [...]' + + cout <> f1 >> f2 >> f3 >>f4 >> f5 >> f6; + if (!in.good()) break; + if (nlines < 500 ) printf("%i %0.2f %0.2f %0.2f %0.2f %0.2f \n",f1,f2,f3,f4,f5,f6); + //h1->Fill(f1); + ntuple->Fill(f1,f2,f3,f4,f5,f6); + nlines++; + } + ntuple->SetMarkerStyle(5); + ntuple->Draw("He:Energy","","l"); + ntuple->Draw("B:Energy","","l,Same"); + ntuple->Draw("H:Energy","","l,Same"); + ntuple->Draw("Li:Energy","","l,Same"); + ntuple->Draw("Be:Energy","","l,Same"); + printf(" found %d points\n",nlines); + //Let's pull in the monte carlo analysis results + + TCanvas *mc = new TCanvas("c2", "Simulation"); + TFile *MCData = TFile::Open("IAEA.root"); + TH1F* MC_helium = (TH1F*)MCData->Get("heliumEnergyAfterPhantom"); + TH1F* MC_hydrogen = (TH1F*)MCData->Get("hydrogenEnergyAfterPhantom"); + //scale and plot + TNtuple *fragments = (TNtuple*) MCData->Get("fragmentNtuple"); + + ScaleHelium = 1/(MC_helium->Integral()); + ScaleHydrogen = 1/(MC_hydrogen->Integral()); + //x should also be scaled to per nucleon + + MC_helium->Scale(ScaleHelium); + MC_helium->Draw(""); + printf("Scaled helium by %.9f\n",ScaleHelium); + + MC_hydrogen->Scale(ScaleHydrogen); + MC_hydrogen->SetLineColor(kRed); + MC_hydrogen->Draw("Same"); + printf("Scaled hydrogen by %.9f\n",ScaleHydrogen); + + TCanvas *fc = new TCanvas("fc", "Fragments"); + fragments->Draw("energy"); + + in.close(); + + f->Write(); +} diff --git a/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/rootlogon.C b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/rootlogon.C new file mode 100644 index 0000000000..32d8166945 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/iaeaBenchmark/rootlogon.C @@ -0,0 +1,126 @@ +{ + cout << endl << "::: Welcome to ROOT" << " v " << gROOT->GetVersionInt() << endl; + cout << "::: * Aliases defined in rootalias.C" << endl; + cout << "::: - List them with q " << endl; + cout << "::: * Visualisation style defined in rootlogon.C" << endl; + cout << "::: - Add line gROOT->SetStyle(\"clearRetro\"); to your script to use it" << endl; + + + TStyle *hipStyle= new TStyle("clearRetro","HIP plots style for publications"); + + // use plain black on white colors + + hipStyle->SetFrameBorderMode(0); + hipStyle->SetCanvasBorderMode(0); + hipStyle->SetPadBorderMode(0); + hipStyle->SetPadBorderSize(0); + hipStyle->SetPadColor(0); + hipStyle->SetCanvasColor(0); + hipStyle->SetTitleColor(0); + hipStyle->SetStatColor(0); + hipStyle->SetFillColor(0); + + hipStyle->SetTextSize(0.05); + // use bold lines + hipStyle->SetHistLineWidth(2); + hipStyle->SetLineWidth(2); + +hipStyle->SetPadBottomMargin(0.10); + hipStyle->SetTitleBorderSize(0); + hipStyle->SetPadLeftMargin(0.20); + + +// hipStyle->SetTitleAlign(01); //fix ::: +/* + // set the paper & margin sizes +// hipStyle->SetPaperSize(20,26); + hipStyle->SetPadTopMargin(-0.30); +// hipStyle->SetPadRightMargin(0.10); +// hipStyle->SetPadBottomMargin(0.10); +// hipStyle->SetPadLeftMargin(0.10); + + // use large Times-Roman fonts + //hipStyle->SetTextFont(132); + + //*-* ============================================================= + //*-* Font ID X11 Win32 TTF lfItalic lfWeight x 10 + //*-* 1 : times-medium-i-normal "Times New Roman" 1 4 + //*-* 2 : times-bold-r-normal "Times New Roman" 0 7 + //*-* 3 : times-bold-i-normal "Times New Roman" 1 7 + //*-* 4 : helvetica-medium-r-normal "Arial" 0 4 + //*-* 5 : helvetica-medium-o-normal "Arial" 1 4 + //*-* 6 : helvetica-bold-r-normal "Arial" 0 7 + //*-* 7 : helvetica-bold-o-normal "Arial" 1 7 + //*-* 8 : courier-medium-r-normal "Courier New" 0 4 + //*-* 9 : courier-medium-o-normal "Courier New" 1 4 + //*-* 10 : courier-bold-r-normal "Courier New" 0 7 + //*-* 11 : courier-bold-o-normal "Courier New" 1 7 + //*-* 12 : symbol-medium-r-normal "Symbol" 0 6 + //*-* 13 : times-medium-r-normal "Times New Roman" 0 4 + //*-* 14 : "Wingdings" 0 4 + //*-* + const int kHipFont=102; // Preferred fonts in orde 102 (courier typewriter),42, 52, 62, 82 + //hipStyle->SetTextFont(52); //42 OK +// hipStyle->SetTextFont(kHipFont); //42 OK + +// hipStyle->SetLabelFont(kHipFont,"x"); +// hipStyle->SetLabelFont(kHipFont,"y"); + // hipStyle->SetLabelFont(kHipFont,"z"); + +// hipStyle->SetTitleFont(kHipFont); +// hipStyle->SetTitleFont(kHipFont,"X"); +// hipStyle->SetTitleFont(kHipFont,"Y"); +// hipStyle->SetTitleFont(kHipFont,"Z"); + + hipStyle->SetTitleBorderSize(0); + hipStyle->SetTitleBorderSize(0); + hipStyle->SetTitleFillColor(0); + //hipStyle->SetTitleAlign(2); //fix ::: + + hipStyle->SetLabelSize(0.03,"x"); + hipStyle->SetTitleSize(0.03,"x"); + hipStyle->SetLabelSize(0.03,"y"); + hipStyle->SetTitleSize(0.03,"y"); + hipStyle->SetLabelSize(0.03,"z"); + hipStyle->SetTitleSize(0.03,"z"); + + // markers + + //hipStyle->SetMarkerStyle(7); // strong dot + hipStyle->SetMarkerStyle(2); // cross + + + //hipStyle->SetMarkerStyle(26); // open triangle up + //hipStyle->SetMarkerStyle(22); // triangle up + + //hipStyle->SetMarkerStyle(25); // open square + //hipStyle->SetMarkerStyle(21); // full square + + //hipStyle->SetMarkerStyle(24); // open circle + //hipStyle->SetMarkerStyle(20); // full circle + + hipStyle->SetMarkerStyle(25); + + + + hipStyle->SetLineStyleString(2,"[12 12]"); // postscript dashes + + // get rid of X error bars and y error bar caps + hipStyle->SetErrorX(0.001); + + // do not display any of the standard histogram decorations + hipStyle->SetOptTitle(0); // if you want title add hipStyle->SetOptTitle(1); to your script + hipStyle->SetOptStat(0); + hipStyle->SetOptFit(0); + + // put tick marks on top and RHS of plots + hipStyle->SetPadTickX(1); + hipStyle->SetPadTickY(1); + + //gROOT->SetStyle("Plain"); + gStyle->SetOptStat(1111111); + //gStyle->SetPadTickX(1); + //gStyle->SetPadTickY(1); + */ +gROOT->SetStyle("clearRetro"); +} + diff --git a/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison.C b/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison.C new file mode 100755 index 0000000000..d52b3ad869 --- /dev/null +++ b/examples/advanced/hadrontherapy/RootScripts/proton/BraggPeak/comparison.C @@ -0,0 +1,77 @@ +// G.A.P.Cirrone (2009) + +// Comparison beetwen experimental and simulated non modulated Bragg Peak +// Remember to run this file only if simulation has been run with the +// proton_therapy.mac file + +{ +gROOT->Reset(); +#include "Riostream.h" + + ifstream in; + + + // LOAD THE EXPERIMENTAL DATA FILE + // CONTAINED IN THE DIRECTORY + // hadrontherapy/experimentalData/proton/BraggPeak + TFile *experimentalFile = new TFile("../../../experimentalData/proton/BraggPeak/62MeVInWater.root","READ"); + + // HERE THE ROOT FILE IS INTERPRETED AS A TREE + TTree *experimentalTree = (TTree*)experimentalFile -> Get("Experimental62MeVInWater"); + + Float_t depthExp, EdepExp; + experimentalTree -> SetBranchAddress("EdepExp", &EdepExp); + experimentalTree -> SetBranchAddress("depthExp", &depthExp); + + + // CREATION AND NORMALISATION TO THE FIRST POINT OF AN NTUPLE CONTAINING THE EXPERIMENTAL DATA + TNtuple *ntupleExperimental = new TNtuple("ntupleExperimental","Protons, exp. data", "depthExp:EdepExp"); + Int_t nentries = (Int_t)experimentalTree -> GetEntries(); + for (Int_t i = 0; i GetEntry(0); + Float_t normFactor = EdepExp; + experimentalTree -> GetEntry(i); + ntupleExperimental -> Fill(depthExp, EdepExp/normFactor); + + } + + // LOAD THE SIMULATION RESULT FILE + // CONTAINED IN THE DIRECTORY + // hadrontherapy/simulationResults/proton/BraggPeak + TFile *simulationFile = new TFile("../../../SimulationOutputs/proton/BraggPeak/protonBraggPeak.root","READ"); + + // EXTRACTION, FROM THE SIMULATION FILE OF THE INTERESTING HISTOGRAMS + TH1D *simulatedPeak = (TH1D*) simulationFile -> Get("10"); + // CREATION OF A NEW HISTOGRAM THAT MUST CONTAIN THE DEPTH AND NOT SLICE IN THE X-AXIS + TH1D *simulatedPeakDepth = new TH1D("simulatedPeakDepth", "Simulated Peak",400, 0, 40); + + Float_t simulationNormalisationFactor = simulatedPeak -> GetBinContent(1); + + for (l = 1; l < 401; l++) + { + simulatedPeakDepth -> Fill(simulatedPeak -> GetBinCenter(l)*0.2, simulatedPeak -> GetBinContent(l)/simulationNormalisationFactor); + } + + + TCanvas *c1 = new TCanvas ("c1","c1",200,10,600,400); + + // PLOT + ntupleExperimental -> SetMarkerStyle(4); + simulatedPeakDepth -> SetMarkerSize(2); + + ntupleExperimental -> Draw("EdepExp:depthExp"); + simulatedPeakDepth -> Draw("same"); + + // LEGEND + leg = new TLegend(0.50,0.60,0.20,0.70); + leg -> SetTextSize(0.035); + leg -> SetFillColor(0); + leg -> AddEntry(ntupleExperimental, "Experiment","P"); + leg -> AddEntry(simulatedPeakDepth, "Simulation"); + leg -> Draw(); + + + + +}; diff --git a/examples/advanced/hadrontherapy/defaultMacro.mac b/examples/advanced/hadrontherapy/defaultMacro.mac index 6aba817a9b..2d2b695abd 100644 --- a/examples/advanced/hadrontherapy/defaultMacro.mac +++ b/examples/advanced/hadrontherapy/defaultMacro.mac @@ -1,70 +1,71 @@ -#---------------------------------------------------------------------------- -# DEFAULT MACRO FOR THE -# HADRONTHERAPY EXAMPLE +# G.A.P.Cirrone # -# -# THIS MACRO SIMPLY PERMIT TO RUN A SIMULATION -# WITHOUT THE VISUALISATION -# -# THE RANGE SHIFTER MATERIAL AND THICKNESS CAN BE SPECIFIED -# -# NOTE THAT THE MODULATOR MATERIAL IS POLTMETHYLMETHACRILATE -# (PMMA) FOR DEFAULT. IF ONE WANT CARRY OUT A SIMULATION WITHOUT -# THE MODULATOR HE/SHE MUST SET "Air" the <> in the -# <> function of the HadrontherapyModulator.cc class -# -# USERS SHOULD GIVE A LOOK TO THE HELP OF THE IDLE TO KNOW -# THE ACTIVATED MESSSENGERS FOR THE GEOMETRY -# -# ADDITIONAL INFORMATIONS ON THE MESSENGER AVAILABLE CAN BE FOUND -# INSIDE THE HADRONTHERAPY DOCUMENTATION (http://www.ge.infn.it/geant4/examples/). +# Default macro file. It is called if no argument is provided at run # -# ANYWAY SEND ME AN E-MAIL FOR ANY QUESTION: cirrone@lns.infn.it. -# -------------------------------------------------------------------------------- - +# i.e. simply typing $G4WORKDIR/bin/Linux-++/Hadrontherapy +# +# This macro can be used for a proton beam in water. Both electrmagnetic and +# hadronic models are swiched on +######################### +# Set of the verboses +# /control/verbose 1 /tracking/verbose 0 -/run/verbose 0 +/run/verbose 1 /event/verbose 0 -# SETTING FOR THE PHYSICS MODELS -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-Standard -/physics/addPhysics EM-Electron-Standard -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-Standard -/physics/addPhysics EM-Muon-Standard - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture +########################## +# Set of the physic models +# +/physic/addPhysics emstandard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +########################## +# Initialisation procedure +# /run/initialize -# FIX THE FOLLOWIG PARAMETERS -# TO SET THE RANGE SHIFTER -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water -#/tracking/verbose 1 -# SET OF THE VISUALISATION CHARACTERISTICS +########################## +# Visualisation +# /vis/scene/create +#/vis/open OGLIQt # only if QT library are installed /vis/open OGLIX /vis/viewer/flush +/vis/viewer/set/viewpointThetaPhi 30 140 deg +/vis/viewer/zoom 1 +/vis/viewer/pan -10 0 cm /tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate +#/vis/scene/endOfEventAction accumulate +/vis/scene/endOfEventAction accumulate -1 /vis/viewer/update -/run/beamOn 300 - - - - - - - +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.01 mm +/Step/waterPhantomStepMax 0.01 mm +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle proton +/beam/energy/meanEnergy 62 MeV +/beam/energy/sigmaEnergy 400 keV +/beam/position/Xposition -2700 mm +######################### +# Display the event number +# during the run +# +/event/printEventNumber 10 +######################### +# Start of the run +# +/run/beamOn 10 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/400tdk.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/400tdk.dat new file mode 100644 index 0000000000..55e5b3dbc0 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/400tdk.dat @@ -0,0 +1,64 @@ +DATA 4 +Depth Ionization Err1 Err2 +2.22967614442 1.50466086821 0.0374267067098 0.0182144389407 +4.24434780348 1.54545809119 0.0374267067098 0.0182144389407 +5.21448444427 1.54748625141 0.0374267067098 0.0182144389407 +6.25901946254 1.58625531417 0.0374267067098 0.0182144389407 +7.22938362131 1.55169858419 0.0374267067098 0.0182144389407 +8.27437367552 1.51729786653 0.0374267067098 0.0182144389407 +9.24451031631 1.51932602676 0.0374267067098 0.0182144389407 +10.2148744751 1.48476929677 0.0374267067098 0.0182144389407 +11.2594094933 1.52353835953 0.0374267067098 0.0182144389407 +12.3043995476 1.48913764187 0.0374267067098 0.0182144389407 +13.2745361884 1.4911658021 0.0374267067098 0.0182144389407 +14.3192987246 1.49334997465 0.0374267067098 0.0182144389407 +15.214581952 1.53180701275 0.0374267067098 0.0182144389407 +16.2593444882 1.5339911853 0.0374267067098 0.0182144389407 +17.3041070245 1.53617535785 0.0374267067098 0.0182144389407 +18.2740161473 1.57478840828 0.0374267067098 0.0182144389407 +19.2441527881 1.57681656851 0.0374267067098 0.0182144389407 +20.3633137018 1.61574164359 0.0374267067098 0.0182144389407 +21.3329953066 1.69093958423 0.0374267067098 0.0182144389407 +22.3029044294 1.72955263466 0.0374267067098 0.0182144389407 +22.7502047662 1.80365848902 0.0374267067098 0.0182144389407 +23.3469844118 1.84149147783 0.0374267067098 0.0182144389407 +23.7945122665 1.87901244198 0.0374267067098 0.0182144389407 +24.2418126032 1.95311829635 0.0374267067098 0.0182144389407 +24.8381372128 2.06412106556 0.0374267067098 0.0182144389407 +25.2108116541 2.1380709076 0.0374267067098 0.0182144389407 +25.5088602 2.21186473731 0.0374267067098 0.0182144389407 +25.7322828503 2.2855025547 0.0374267067098 0.0182144389407 +26.0303313962 2.35929638441 0.0374267067098 0.0182144389407 +26.2542090825 2.35976442139 0.0374267067098 0.0182144389407 +26.476949179 2.5431569094 0.0374267067098 0.0182144389407 +26.625518416 2.65322360466 0.0374267067098 0.0182144389407 +26.7743151709 2.72670540973 0.0374267067098 0.0182144389407 +26.9226568899 2.8733569952 0.0374267067098 0.0182144389407 +26.9963727134 3.01985256835 0.0374267067098 0.0182144389407 +27.1442593965 3.23967393424 0.0374267067098 0.0182144389407 +27.2170651481 3.53250906822 0.0374267067098 0.0182144389407 +27.2900984178 3.78875931199 0.0374267067098 0.0182144389407 +27.3635867234 3.97183977534 0.0374267067098 0.0182144389407 +27.3626766515 4.11817933617 0.0374267067098 0.0182144389407 +27.3615390616 4.3011037872 0.0374267067098 0.0182144389407 +27.4345723312 4.55735403097 0.0374267067098 0.0182144389407 +27.4318421155 4.99637271344 0.0374267067098 0.0182144389407 +27.5055579391 5.14286828659 0.0374267067098 0.0182144389407 +27.5046478672 5.28920784742 0.0374267067098 0.0182144389407 +27.5820039783 4.85034517727 0.0374267067098 0.0182144389407 +27.584961712 4.37474160459 0.0374267067098 0.0182144389407 +27.5883744816 3.82596825149 0.0374267067098 0.0182144389407 +27.6639104489 3.67978470299 0.0374267067098 0.0182144389407 +27.6677782545 3.05784156948 0.0374267067098 0.0182144389407 +27.672101096 2.36272865556 0.0374267067098 0.0182144389407 +27.750139761 1.81411131479 0.0374267067098 0.0182144389407 +27.7528699767 1.37509263232 0.0374267067098 0.0182144389407 +27.7546901205 1.08241351067 0.0374267067098 0.0182144389407 +27.7558277104 0.899489059636 0.0374267067098 0.0182144389407 +27.8315911957 0.716720620929 0.0374267067098 0.0182144389407 +28.2049481909 0.680915792348 0.0374267067098 0.0182144389407 +29.2499382451 0.646515074691 0.0374267067098 0.0182144389407 +30.2949282993 0.612114357034 0.0374267067098 0.0182144389407 +31.2655199761 0.540972736846 0.0374267067098 0.0182144389407 +32.2358841348 0.506416006865 0.0374267067098 0.0182144389407 +33.2808741891 0.472015289208 0.0374267067098 0.0182144389407 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/B27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/B27.9.dat new file mode 100644 index 0000000000..76996b39eb --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/B27.9.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-0.0505050505051 15.3995891115 +0.984848484848 11.2248330765 +2.0202020202 4.25346687211 +3.96464646465 0.277478171546 +5.93434343434 0.064072932717 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/Be27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/Be27.9.dat new file mode 100644 index 0000000000..0fd632176d --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/Be27.9.dat @@ -0,0 +1,8 @@ +DATA 2 +Angle Amount +-0.751879699248 3.99776392654 +-0.0501253132832 4.47151335588 +0.952380952381 3.59120850453 +1.97994987469 1.93759491666 +3.90977443609 0.35564748302 +5.9649122807 0.0521377793927 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/H27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/H27.9.dat new file mode 100644 index 0000000000..f8a3715ace --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/H27.9.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-0.0253164556962 20.8513706094 +0.987341772152 20.0499622768 +2 17.7253751362 +3.94936708861 12.6793528376 +5.94936708861 8.16279654623 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/He27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/He27.9.dat new file mode 100644 index 0000000000..0cf25a9f7f --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/He27.9.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-0.0501056147762 41.1232827365 +0.936942247548 36.7107137594 +1.91997838581 25.9756676655 +3.96628514352 10.9551178137 +5.96715298587 4.32283735324 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/Li27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/Li27.9.dat new file mode 100644 index 0000000000..9c95cf9e58 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/Li27.9.dat @@ -0,0 +1,6 @@ +DATA 2 +Angle Amount +1.00250626566 5.65751749616 +2.00501253133 3.49418529022 +3.90977443609 0.932643026251 +0 6.55441371595 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/alternativeGMBeamAD.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/alternativeGMBeamAD.dat new file mode 100644 index 0000000000..d35c60b164 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/alternativeGMBeamAD.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-1.0 0.34 +0.00 0.49 +1.0 0.35 +5.0 0.013 +10.0 0.005 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/B15.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/B15.9.dat new file mode 100644 index 0000000000..30dacee3a0 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/B15.9.dat @@ -0,0 +1,12 @@ +DATA 2 +Angle Amount +-0.977443609023 16.1755485893 +0.0250626566416 30.3448275862 +0.551378446115 23.6990595611 +1.07769423559 16.3009404389 +1.07769423559 13.9184952978 +1.55388471178 7.77429467085 +2.03007518797 3.26018808777 +3.03258145363 0.877742946708 +4.06015037594 0.376175548589 +5.98997493734 0.376175548589 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/Be15.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/Be15.9.dat new file mode 100644 index 0000000000..0d97dd7e16 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/Be15.9.dat @@ -0,0 +1,12 @@ +DATA 2 +Angle Amount +-1.00486941124 3.5192563081 +-0.00354138999557 4.28552456839 +0.494614136048 4.16570754021 +0.988047808765 3.09915891988 +1.01534602331 3.57245093699 +1.4833997344 2.41722000885 +2.00354139 1.70562195662 +3.02198612956 0.903792238454 +3.99173675668 0.338792976243 +6.03541389996 0.0960602036299 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/H15.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/H15.9.dat new file mode 100644 index 0000000000..0d719b594f --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/H15.9.dat @@ -0,0 +1,14 @@ +DATA 2 +Angle Amount +-1.0101010101 18.1981981982 +0 21.7117117117 +0.479797979798 20.9009009009 +1.0101010101 20.1801801802 +1.0101010101 18.018018018 +1.51515151515 15.8558558559 +2.0202020202 14.6846846847 +3.00505050505 12.8828828829 +3.9898989899 10.2702702703 +5.98484848485 6.30630630631 +8.00505050505 3.87387387387 +10 2.61261261261 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/He15.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/He15.9.dat new file mode 100644 index 0000000000..d49719be1f --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/He15.9.dat @@ -0,0 +1,14 @@ +DATA 2 +Angle Amount +-1.03274559194 35.3286351758 +-0.0251889168766 38.7139501316 +0.453400503778 37.9362069453 +0.95717884131 32.5127595543 +1.51133501259 27.3859187351 +2.01511335013 21.6628458759 +2.99748110831 13.9635279578 +4.03022670025 7.75931848414 +6.0201511335 2.69625185143 +8.03526448363 0.927555920339 +10 0.360380758309 +1.00755667506 34.0078679988 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/Li15.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/Li15.9.dat new file mode 100644 index 0000000000..c937ffd29a --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/15.9/Li15.9.dat @@ -0,0 +1,10 @@ +DATA 2 +Angle Amount +-1.0182272731 7.25324553305 +0.00400330068056 8.36101602137 +1.01079257183 5.6453075597 +1.43890064461 4.40207844835 +3.04569481777 1.68440918635 +3.9982352797 0.668224413598 +5.99964051994 0.106128318042 +7.99982025997 0.0342323058195 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/B27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/B27.9.dat new file mode 100644 index 0000000000..76996b39eb --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/B27.9.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-0.0505050505051 15.3995891115 +0.984848484848 11.2248330765 +2.0202020202 4.25346687211 +3.96464646465 0.277478171546 +5.93434343434 0.064072932717 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/Be27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/Be27.9.dat new file mode 100644 index 0000000000..0fd632176d --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/Be27.9.dat @@ -0,0 +1,8 @@ +DATA 2 +Angle Amount +-0.751879699248 3.99776392654 +-0.0501253132832 4.47151335588 +0.952380952381 3.59120850453 +1.97994987469 1.93759491666 +3.90977443609 0.35564748302 +5.9649122807 0.0521377793927 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/H27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/H27.9.dat new file mode 100644 index 0000000000..f8a3715ace --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/H27.9.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-0.0253164556962 20.8513706094 +0.987341772152 20.0499622768 +2 17.7253751362 +3.94936708861 12.6793528376 +5.94936708861 8.16279654623 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/He27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/He27.9.dat new file mode 100644 index 0000000000..0cf25a9f7f --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/He27.9.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-0.0501056147762 41.1232827365 +0.936942247548 36.7107137594 +1.91997838581 25.9756676655 +3.96628514352 10.9551178137 +5.96715298587 4.32283735324 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/Li27.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/Li27.9.dat new file mode 100644 index 0000000000..9c95cf9e58 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/27.9/Li27.9.dat @@ -0,0 +1,6 @@ +DATA 2 +Angle Amount +1.00250626566 5.65751749616 +2.00501253133 3.49418529022 +3.90977443609 0.932643026251 +0 6.55441371595 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/B31.2.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/B31.2.dat new file mode 100644 index 0000000000..84dce544f5 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/B31.2.dat @@ -0,0 +1,10 @@ +DATA 2 +Angle Amount +-0.980980980981 4.23423423423 +-0.00591500591501 6.17117117117 +0.987237237237 4.52702702703 +2.01167076167 1.68918918919 +3.00288925289 0.427927927928 +3.98944398944 0.0900900900901 +5.05016380016 0.0675675675676 +8.08069433069 0.0225225225225 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/Be31.2.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/Be31.2.dat new file mode 100644 index 0000000000..62b831fbd3 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/Be31.2.dat @@ -0,0 +1,10 @@ +DATA 2 +Angle Amount +-1 2.08502595156 +0 2.73589100346 +0.975 2.16192041522 +2.025 1.09982698962 +3 0.46357266436 +4.05 0.180025951557 +5.025 0.0731833910035 +8.075 -0.00897923875433 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/H31.2.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/H31.2.dat new file mode 100644 index 0000000000..257d1c1f4a --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/H31.2.dat @@ -0,0 +1,10 @@ +DATA 2 +Angle Amount +-0.962025316456 19.1792054773 +0 19.864978903 +1.03797468354 19.2924130244 +2.05063291139 17.0847862431 +3.01265822785 14.6259055808 +4.0253164557 12.0409203089 +5.06329113924 9.83313430459 +8.05063291139 5.28604410477 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/He31.2.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/He31.2.dat new file mode 100644 index 0000000000..1a1c92f8c1 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/He31.2.dat @@ -0,0 +1,10 @@ +DATA 2 +Angle Amount +-1.01012619386 26.2219036477 +0.0105481185992 30.1798454221 +1.01664684899 26.9410935522 +2.03904721721 19.2512753634 +3.01350159181 12.8881228185 +4.01672356258 8.22897088719 +5.02301407694 5.08491235472 +8.05339265851 1.3343370028 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/Li31.2.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/Li31.2.dat new file mode 100644 index 0000000000..7219e6312b --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/31.2/Li31.2.dat @@ -0,0 +1,8 @@ +DATA 2 +Angle Amount +-1.07345562228 4.33855541514 +-0.0216859721672 5.17596296933 +0.986487395963 4.42416265975 +1.97275045428 2.90454433286 +3.00859213173 1.54555175843 + diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/B34.7.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/B34.7.dat new file mode 100644 index 0000000000..9077d55626 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/B34.7.dat @@ -0,0 +1,8 @@ +DATA 2 +Angle Amount +-0.941731970676 0.612726156513 +0.0482106099455 0.913446607201 +1.05007041999 0.68728106605 +2.04687443574 0.260400491134 +2.99835686685 0.034253006392 +4.03037087862 0.00520927377126 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/Be34.7.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/Be34.7.dat new file mode 100644 index 0000000000..3ed9e214e2 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/Be34.7.dat @@ -0,0 +1,8 @@ +DATA 2 +Angle Amount +-0.998231453532 1.07370716594 +0.0109038203263 1.43911812029 +1.02775155246 1.11302740582 +2.03834953393 0.536946664362 +3.03086313046 0.237490525644 +4.0019680066 0.0816855710543 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/H34.7.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/H34.7.dat new file mode 100644 index 0000000000..c61ea21373 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/H34.7.dat @@ -0,0 +1,9 @@ +DATA 2 +Angle Amount +-1.00961721215 17.5375375375 +-0.0237199224541 18.6786786787 +0.989926635496 17.8978978979 +2.03025810621 16.036036036 +3.04610940054 13.5135135135 +3.98555517543 11.3513513514 +8.01893032273 4.98498498498 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/He34.7.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/He34.7.dat new file mode 100644 index 0000000000..3bc01110cf --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/He34.7.dat @@ -0,0 +1,9 @@ +DATA 2 +Angle Amount +-1.01565137061 26.4059585354 +-0.0246051626428 30.795714971 +0.984917124127 27.0796247935 +2.01664623639 19.6786228215 +2.99854323225 13.2265629164 +4.00699959139 8.24734850504 +8.07680008527 0.960933752598 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/Li34.7.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/Li34.7.dat new file mode 100644 index 0000000000..c93584450a --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/34.7/Li34.7.dat @@ -0,0 +1,6 @@ +DATA 2 +Angle Amount +0.0497043808819 3.91744531257 +2.06857690723 2.12950051723 +3.91327384507 0.543131796506 +8.09542231903 0.0140282415078 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/B5.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/B5.9.dat new file mode 100644 index 0000000000..7fa1f2e29c --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/B5.9.dat @@ -0,0 +1,10 @@ +DATA 2 +Angle Amount +-1.00973737107 9.1640030316 +-0.0127689722213 25.1968893136 +0.00617853494579 37.4913500511 +0.513559824694 27.8025834514 +1.0253896596 9.26121198141 +1.5307114377 3.67087356246 +1.98405114179 1.52486242462 +4.04504563878 0.145813424721 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/Be5.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/Be5.9.dat new file mode 100644 index 0000000000..9dfa30d9da --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/Be5.9.dat @@ -0,0 +1,11 @@ +DATA 2 +Angle Amount +-1.00883858878 2.71915716162 +-0.00191822460935 4.60669017721 +0.00014755573918 5.02087913709 +0.519986424872 4.24857239822 +1.01341281669 3.18056395804 +1.47895117381 1.52100455947 +2.00070826755 1.13330185478 +4.01543433032 0.085877440203 +6.01009281256 0.0149031296572 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/H5.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/H5.9.dat new file mode 100644 index 0000000000..f8a3715ace --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/H5.9.dat @@ -0,0 +1,7 @@ +DATA 2 +Angle Amount +-0.0253164556962 20.8513706094 +0.987341772152 20.0499622768 +2 17.7253751362 +3.94936708861 12.6793528376 +5.94936708861 8.16279654623 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/He5.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/He5.9.dat new file mode 100644 index 0000000000..3c1ca12acd --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/He5.9.dat @@ -0,0 +1,12 @@ +DATA 2 +Angle Amount +-1.03535353535 17.802804161 +-0.0505050505051 23.6779737675 +0.429292929293 21.6010854817 +0.959595959596 18.7164179104 +1.46464646465 15.2057892356 +1.99494949495 11.2464947987 +3.9898989899 3.29443690638 +5.98484848485 0.984170058797 +8.00505050505 0.195386702849 +10 0.0343735866124 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/Li5.9.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/Li5.9.dat new file mode 100644 index 0000000000..4d254f3afa --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/angularDistributions/5.9/Li5.9.dat @@ -0,0 +1,11 @@ +DATA 2 +Angle Amount +-1 4.27543604651 +0.025 8.05024916944 +0.025 6.34759136213 +0.475 5.80585548173 +1.025 5.26370431894 +1.55 3.18511212625 +2.05 2.02024501661 +8 0.0437084717608 +6.025 0.093438538206 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/fragmentEnergySpctra279mmWater0deg.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/fragmentEnergySpctra279mmWater0deg.dat new file mode 100644 index 0000000000..e15561e638 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/fragmentEnergySpctra279mmWater0deg.dat @@ -0,0 +1,17 @@ +DATA 6 + +Energy He B H Li Be +50 0.03 0.04 0.02 0.00 0.01 +100 0.06 0.12 0.03 0.01 0.02 +120 0.08 0.15 0.04 0.02 0.03 +170 0.15 0.08 0.07 0.03 0.02 +220 0.20 0.01 0.08 0.04 0.02 +260 0.23 0.00 0.10 0.03 0.01 +280 0.19 0.00 0.08 0.02 0.00 +320 0.11 0.00 0.07 0.01 0.00 +350 0.03 0.00 0.04 0.00 0.00 +400 0.01 0.00 0.02 0.00 0.00 +460 0.00 0.00 0.01 0.00 0.00 + + + \ No newline at end of file diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKB.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKB.dat new file mode 100644 index 0000000000..125a8d6514 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKB.dat @@ -0,0 +1,9 @@ +DATA 2 +depth NperN0 +5.81477867471 0.0334111372306 +15.944735208 0.051621684556 +25.9130222656 0.0660771311984 +28.1304887785 0.05338474674 +28.8337177326 0.037208373991 +31.3352701144 0.0189745409385 +34.8939945001 0.00225039918389 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKBe.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKBe.dat new file mode 100644 index 0000000000..a126b3619a --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKBe.dat @@ -0,0 +1,9 @@ +DATA 2 +depth NperN0 +5.71400606832 0.0134449936381 +15.7502202212 0.0220483018499 +25.9215033767 0.0290909758246 +27.9935401781 0.0252586375648 +29.0280904375 0.0231963883723 +31.3448174611 0.0137107272193 +34.748947832 0.0074216991289 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKH.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKH.dat new file mode 100644 index 0000000000..a7675686bf --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKH.dat @@ -0,0 +1,8 @@ +DATA 2 +depth NperN0 +5.72667614569 0.273285573663 +15.7943782128 0.55909438915 +25.7748003937 0.761582631521 +27.9446571147 0.763458383463 +31.1556381932 0.723515257574 +34.7406759269 0.68351744504 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKHe.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKHe.dat new file mode 100644 index 0000000000..0079b07571 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKHe.dat @@ -0,0 +1,8 @@ +DATA 2 +depth NperN0 +5.74927466832 0.198788766514 +15.7797667671 0.42075716177 +25.7891327005 0.558220895186 +27.892876257 0.573195121264 +28.8572857103 0.530832934284 +34.6118419199 0.44905777302 diff --git a/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKLi.dat b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKLi.dat new file mode 100644 index 0000000000..b56fb96035 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/iaeaBenchmark/yields/TDKLi.dat @@ -0,0 +1,9 @@ +DATA 2 +depth NperN0 +5.68165039212 0.0291750825335 +16.0198637674 0.0469868642828 +26.0229283038 0.0576013038209 +28.0267171851 0.0543609745226 +29.0455362242 0.0486341918678 +31.2662107008 0.0438794244244 +34.8855674268 0.0345604479795 diff --git a/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/62MeVInWater.out b/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/62MeVInWater.out new file mode 100644 index 0000000000..9dbdcfda53 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/62MeVInWater.out @@ -0,0 +1,203 @@ +2.83000 1.19127052 +3.13302 1.19605815 +3.43223 1.20025793 +3.73195 1.20083716 +4.03218 1.20716685 +4.33266 1.21503907 +4.63289 1.21565336 +4.93236 1.22036277 +5.23233 1.22640181 +5.53231 1.23277227 +5.83279 1.23215461 +6.13302 1.24313161 +6.43248 1.24596279 +6.73220 1.25513042 +7.03294 1.26001301 +7.33291 1.26463577 +7.63289 1.27339981 +7.93261 1.27515311 +8.23283 1.28398706 +8.53306 1.28821428 +8.83278 1.30024836 +9.13225 1.30344739 +9.43248 1.31579891 +9.73270 1.31956695 +10.03268 1.32434253 +10.33265 1.33155068 +10.63288 1.33944766 +10.93311 1.35157211 +11.23283 1.35285381 +11.53280 1.36276550 +11.83303 1.36561297 +12.13300 1.37302473 +12.43298 1.38263799 +12.73270 1.38867732 +12.83252 1.38054150 +13.03267 1.39479438 +13.23308 1.40177768 +13.43298 1.40642523 +13.63287 1.41399200 +13.83277 1.41480223 +14.03267 1.42004773 +14.23308 1.42990268 +14.43272 1.42072265 +14.63313 1.43836504 +14.83277 1.44989982 +15.03267 1.45164569 +15.23282 1.46184596 +15.43246 1.45760482 +15.63287 1.46750956 +15.83302 1.47462666 +16.03317 1.48009552 +16.23282 1.48796321 +16.43297 1.49513778 +16.63261 1.50246608 +16.83302 1.51185142 +17.03317 1.51802306 +17.23307 1.52801534 +17.43297 1.53525124 +17.63287 1.54418982 +17.83276 1.54492472 +18.03317 1.56420970 +18.23307 1.57171670 +18.43297 1.57647357 +18.63286 1.58998638 +18.83276 1.59989980 +19.03291 1.60548658 +19.23281 1.61980560 +19.43296 1.62816070 +19.63312 1.62944882 +19.83301 1.64849308 +20.03317 1.64996817 +20.23306 1.66863824 +20.43271 1.67764099 +20.63311 1.69094464 +20.83301 1.69526655 +21.03316 1.71848564 +21.23306 1.72911076 +21.43296 1.74527996 +21.63311 1.75340963 +21.83276 1.77348753 +22.03316 1.79104759 +22.23128 1.80249281 +22.43296 1.82429050 +22.63311 1.84183067 +22.83250 1.85321256 +22.93258 1.86545342 +23.03316 1.87446186 +23.13273 1.88472760 +23.23280 1.89372611 +23.33313 1.89757601 +23.43296 1.90990539 +23.53252 1.92118614 +23.63311 1.93062526 +23.73217 1.94360545 +23.83301 1.95330159 +23.93283 1.96520631 +24.03290 1.97618096 +24.13247 1.98479106 +24.23229 2.00200671 +24.33288 2.01672462 +24.43270 2.02298059 +24.53278 2.04096272 +24.63311 2.05395612 +24.73217 2.06500870 +24.83275 2.07972031 +24.93283 2.09309829 +25.03290 2.10789938 +25.13298 2.12531626 +25.23204 2.13764160 +25.33288 2.15467386 +25.43244 2.17851852 +25.53303 2.19319304 +25.63260 2.21371490 +25.73267 2.23175362 +25.83275 2.24818581 +25.93257 2.26679014 +26.03290 2.28681139 +26.13196 2.30670460 +26.23254 2.32851515 +26.33287 2.34634619 +26.43270 2.36599401 +26.53277 2.39151846 +26.63310 2.41427921 +26.73242 2.44757978 +26.83275 2.47402597 +26.93308 2.50065524 +27.03315 2.52998366 +27.13272 2.56235662 +27.23229 2.59075696 +27.33262 2.62659453 +27.43295 2.66052686 +27.53226 2.69742151 +27.63158 2.73333509 +27.73292 2.77261216 +27.83249 2.81621375 +27.93307 2.85576240 +28.03290 2.90265440 +28.13297 2.94925613 +28.23279 2.99109855 +28.33312 3.03626471 +28.43218 3.08289835 +28.53302 3.14701438 +28.63284 3.21113110 +28.73267 3.27978980 +28.83223 3.35854342 +28.93282 3.43154626 +29.03289 3.52010630 +29.13272 3.62501730 +29.23254 3.74397380 +29.33312 3.87054638 +29.43269 4.01363438 +29.53251 4.18010753 +29.63284 4.35492033 +29.73241 4.54544455 +29.83299 4.74712893 +29.93307 4.95624315 +30.03238 5.16575517 +30.13297 5.16691417 +30.23279 5.18690693 +30.33287 5.01038238 +30.53302 4.81064279 +30.63284 4.29339952 +30.73266 3.71160520 +30.83223 3.10374924 +30.93281 2.46022989 +31.03314 1.86821525 +31.13271 1.31102022 +31.23279 0.89458176 +31.33286 0.54620642 +31.43243 0.32023949 +31.53200 0.17508132 +31.63309 0.08822773 +31.73317 0.04228641 +31.83299 0.01774494 +31.93281 0.00717772 +32.03314 0.00287175 +32.13271 0.00133736 +32.23253 0.00002863 +32.33235 0.00000000 +32.43294 0.00000000 +32.53251 0.00000000 +32.63207 0.00000000 +32.73215 0.00000000 +32.83223 0.00000000 +32.93281 0.00000000 +33.03289 0.00000000 +33.13271 0.00000000 +33.23202 0.00000000 +33.33286 -0.00002873 +33.43192 -0.00002983 +33.53276 0.00000000 +33.63258 -0.00002894 +33.73266 0.00000000 +33.83299 0.00000000 +33.93230 0.00000000 +34.03263 0.00000000 +34.13271 0.00000000 +34.23278 0.00000000 +34.33286 0.00000000 +34.43293 0.00000000 +34.53276 0.00000000 +34.63283 0.00000000 +34.73291 0.00000000 diff --git a/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/62MeVInWater.root b/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/62MeVInWater.root new file mode 100644 index 0000000000..33087b04b1 Binary files /dev/null and b/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/62MeVInWater.root differ diff --git a/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/README b/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/README new file mode 100644 index 0000000000..b49897fea9 --- /dev/null +++ b/examples/advanced/hadrontherapy/experimentalData/proton/BraggPeak/README @@ -0,0 +1,13 @@ +README file relative to proton experimental Bragg peaks + + +Description of experimental data file provided and of the +corresponding simulation configuration to use for the comparison + +--> 62MeVInWater.root + Bragg peak acquired in the CATANA protontherapy facility at INFN-LNS (I). + It can be reproduce with the complete passive beam line of Hadrontherapy. + This file contains one ntuple with two columns: + the depth in water (expressed in millimiter) and the energy deposited (expressed in arbitrary units). + Use the proton_therapy.mac file to perform a simulation whose result can be compared with this file. + The .out file contains the same data in ASCII format. \ No newline at end of file diff --git a/examples/advanced/hadrontherapy/include/Decay.hh b/examples/advanced/hadrontherapy/include/Decay.hh index 0975c8a61a..a4389290bd 100755 --- a/examples/advanced/hadrontherapy/include/Decay.hh +++ b/examples/advanced/hadrontherapy/include/Decay.hh @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorMessenger.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// $Id: HadrontherapyDetectorMessenger.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy // ============================== // PHYSICS PROCESSES: diff --git a/examples/advanced/hadrontherapy/include/EMElectronEEDL.hh b/examples/advanced/hadrontherapy/include/EMElectronEEDL.hh deleted file mode 100755 index adbde3da67..0000000000 --- a/examples/advanced/hadrontherapy/include/EMElectronEEDL.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyElectronEEDL.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// electrons -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4LowEnergyIonisation -// and G4LowEnergyBremsstrahlung (Low Energy Package, EEDL libraries) -// - -#ifndef EMELECTRONEEDL_HH -#define EMELECTRONEEDL_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMElectronEEDL : public G4VPhysicsConstructor -{ - public: - EMElectronEEDL(const G4String& name = "Electron-EEDL"); - virtual ~EMElectronEEDL(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; - -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/EMHadronIonLowEICRU49.hh b/examples/advanced/hadrontherapy/include/EMHadronIonLowEICRU49.hh deleted file mode 100755 index 5f5bfb776d..0000000000 --- a/examples/advanced/hadrontherapy/include/EMHadronIonLowEICRU49.hh +++ /dev/null @@ -1,74 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyIonLowE.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// protons, pions, generic hadrons, kaons, deuterons -// tritons, alpha particles, He3, other ions -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4hLowEnergyIonisation -// (ad G4hLowEnergyIonisation: ICRU49 electronic stopping power parametr. -// and ICRU49 nuclear stopping power parametrization is used) -// - -#ifndef EMHADRONIONLOWEICRU49_HH -#define EMHADRONIONLOWEICRU49_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMHadronIonLowEICRU49: public G4VPhysicsConstructor -{ - public: - EMHadronIonLowEICRU49(const G4String& name = "HadronIon-LowEICRU49"); - virtual ~EMHadronIonLowEICRU49(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1977.hh b/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1977.hh deleted file mode 100755 index cb9f8d8c3c..0000000000 --- a/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1977.hh +++ /dev/null @@ -1,74 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyIonLowEZiegler1985.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// protons, pions, generic hadrons, kaons, deuterons -// tritons, alpha particles, He3, other ions -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4hLowEnergyIonisation -// (ad G4hLowEnergyIonisation: Ziegler77 electronic stopping power parametr. -// and Ziegler77 nuclear stopping power parametrization is used) -// - -#ifndef EMHADRONIONLOWEZIEGLER1977_HH -#define EMHADRONIONLOWEZIEGLER1977_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMHadronIonLowEZiegler1977: public G4VPhysicsConstructor -{ - public: - EMHadronIonLowEZiegler1977(const G4String& name = "HadronIon-LowEZiegler1977"); - virtual ~EMHadronIonLowEZiegler1977(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1985.hh b/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1985.hh deleted file mode 100755 index de09cccbeb..0000000000 --- a/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1985.hh +++ /dev/null @@ -1,74 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyIonLowEZiegler1985.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// protons, pions, generic hadrons, kaons, deuterons -// tritons, alpha particles, He3, other ions -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4hLowEnergyIonisation -// (ad G4hLowEnergyIonisation: Ziegler85 electronic stopping power parametr. -// and Ziegler85 nuclear stopping power parametrization is used) -// - -#ifndef EMHADRONIONLOWEZIEGLER1985_HH -#define EMHADRONIONLOWEZIEGLER1985_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMHadronIonLowEZiegler1985: public G4VPhysicsConstructor -{ - public: - EMHadronIonLowEZiegler1985(const G4String& name = "HadronIon-LowEZiegler1985"); - virtual ~EMHadronIonLowEZiegler1985(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/EMHadronIonStandard.hh b/examples/advanced/hadrontherapy/include/EMHadronIonStandard.hh deleted file mode 100755 index 430de0b44d..0000000000 --- a/examples/advanced/hadrontherapy/include/EMHadronIonStandard.hh +++ /dev/null @@ -1,74 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyIonStandard.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// protons, pions, generic hadrons, kaons, deuterons -// tritons, alpha particles, He3, other ions -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4ionIonisation -// (alpha, He3, GenericIon) and G4hIonisation (other charged hadrons -// and ions taken into account) -// - -#ifndef EMHADRONIONSTANDARD_HH -#define EMHADRONIONSTANDARD_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMHadronIonStandard : public G4VPhysicsConstructor -{ - public: - EMHadronIonStandard(const G4String& name = "HadronIon-Standard"); - virtual ~EMHadronIonStandard(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/EMMuonStandard.hh b/examples/advanced/hadrontherapy/include/EMMuonStandard.hh deleted file mode 100755 index ec278acaf0..0000000000 --- a/examples/advanced/hadrontherapy/include/EMMuonStandard.hh +++ /dev/null @@ -1,72 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyMuonStandard.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// muon plus, muon minus -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4MuIonisation, -// G4MuBremsstrahlung and G4MuPairProduction -// - -#ifndef EMMUONSTANDARD_HH -#define EMMUONSTANDARD_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMMuonStandard : public G4VPhysicsConstructor -{ - public: - EMMuonStandard(const G4String& name = "Muon-Standard"); - virtual ~EMMuonStandard(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/EMPhotonPenelope.hh b/examples/advanced/hadrontherapy/include/EMPhotonPenelope.hh deleted file mode 100755 index 823466c728..0000000000 --- a/examples/advanced/hadrontherapy/include/EMPhotonPenelope.hh +++ /dev/null @@ -1,72 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyPhotonPenelope.hh; Version 4.0 May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// photons -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4PenelopePhotoElectric, G4PenelopeCompton -// G4PenelopeGammaConversion and G4PenelopeRayleigh -// - -#ifndef EMPHOTONPENELOPE_HH -#define EMPHOTONPENELOPE_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMPhotonPenelope : public G4VPhysicsConstructor -{ - public: - EMPhotonPenelope(const G4String& name = "Photon-Penelope"); - virtual ~EMPhotonPenelope(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/EMPositronPenelope.hh b/examples/advanced/hadrontherapy/include/EMPositronPenelope.hh deleted file mode 100755 index 636b1a46fa..0000000000 --- a/examples/advanced/hadrontherapy/include/EMPositronPenelope.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyPositronPenelope.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// positrons -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4PenelopeIonisation, -// G4PenelopeBremsstrahlung and G4PenelopeAnnihilation -// - -#ifndef EMPOSITRONPENELOPE_HH -#define EMPOSITRONPENELOPE_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMPositronPenelope : public G4VPhysicsConstructor -{ - public: - EMPositronPenelope(const G4String& name = "Positron-Penelope"); - virtual ~EMPositronPenelope(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; - -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/EMPositronStandard.hh b/examples/advanced/hadrontherapy/include/EMPositronStandard.hh deleted file mode 100755 index 8081521eaf..0000000000 --- a/examples/advanced/hadrontherapy/include/EMPositronStandard.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyPositronStandard.hh May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// positrons -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4eIonisation, -// G4eBremsstrahlung and G4eplusAnnihilation -// - -#ifndef EMPOSITRONSTANDARD_HH -#define EMPOSITRONSTANDARD_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMPositronStandard : public G4VPhysicsConstructor -{ - public: - EMPositronStandard(const G4String& name = "Positron-Standard"); - virtual ~EMPositronStandard(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; - -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HEHadronIonBertiniElastic.hh b/examples/advanced/hadrontherapy/include/HEHadronIonBertiniElastic.hh deleted file mode 100755 index d279a3e472..0000000000 --- a/examples/advanced/hadrontherapy/include/HEHadronIonBertiniElastic.hh +++ /dev/null @@ -1,82 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronBertiniElastic.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Hadronic elastic processes for: -// protons, neutrons, pions (plus and minus), -// deuterons, tritons, alpha particles -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered process is G4HadronElasticProcess (for all above mentioned -// particles), and the applied models are G4CascadeElasticInterface (for -// protons, neutrons, pions) and G4LElastic (for deuterons, tritons, alpha -// particles). -// - -#ifndef HEHADRONIONBERTINIELASTIC_H -#define HEHADRONIONBERTINIELASTIC_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HEHadronIonBertiniElastic: public G4VPhysicsConstructor -{ - public: - HEHadronIonBertiniElastic(const G4String& name = "HadronIon-BertiniElastic"); - virtual ~HEHadronIonBertiniElastic(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HEHadronIonLElastic.hh b/examples/advanced/hadrontherapy/include/HEHadronIonLElastic.hh deleted file mode 100755 index aa4a670a64..0000000000 --- a/examples/advanced/hadrontherapy/include/HEHadronIonLElastic.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronLElastic.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Hadronic elastic processes for: -// protons, neutrons, pions (plus and minus), -// deuterons, tritons, alpha particles -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered process is G4HadronElasticProcess (for all above mentioned -// particles), and the applied model is G4LElastic (for all particles). -// - -#ifndef HEHADRONIONLELASTIC_H -#define HEHADRONIONLELASTIC_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HEHadronIonLElastic: public G4VPhysicsConstructor -{ - public: - HEHadronIonLElastic(const G4String& name = "HadronIon-LElastic"); - virtual ~HEHadronIonLElastic(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HEHadronIonQElastic.hh b/examples/advanced/hadrontherapy/include/HEHadronIonQElastic.hh deleted file mode 100755 index 684d1292f3..0000000000 --- a/examples/advanced/hadrontherapy/include/HEHadronIonQElastic.hh +++ /dev/null @@ -1,82 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronCHIPSElastic.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Hadronic elastic processes for: -// protons, neutrons, pions (plus and minus), -// deuterons, tritons, alpha particles -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4QElastic (for protons, neutrons) and -// G4HadronElasticProcess (for pions, deuterons, tritons, alpha particles). -// The applied model is G4LElastic (for pions, deuterons, tritons, alpha -// particles). -// - -#ifndef HEHADRONIONQELASTIC_H -#define HEHADRONIONQELASTIC_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HEHadronIonQElastic: public G4VPhysicsConstructor -{ - public: - HEHadronIonQElastic(const G4String& name = "HadronIon-QElastic"); - virtual ~HEHadronIonQElastic(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HEHadronIonUElastic.hh b/examples/advanced/hadrontherapy/include/HEHadronIonUElastic.hh deleted file mode 100755 index 289ea2bd19..0000000000 --- a/examples/advanced/hadrontherapy/include/HEHadronIonUElastic.hh +++ /dev/null @@ -1,84 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronUHadronElastic.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Hadronic elastic processes for: -// protons, neutrons, pions (plus and minus), -// deuterons, tritons, alpha particles -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered process is G4UHadronElasticProcess (for all above mentioned -// particles), and the applied model is G4HadronElastic (for all particles). -// - -#ifndef HEHADRONIONUELASTIC_H -#define HEHADRONIONUELASTIC_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" -#include "G4HadronicInteraction.hh" - -class HEHadronIonUElastic: public G4VPhysicsConstructor -{ - public: - HEHadronIonUElastic(const G4String& name = "HadronIon-UElastic"); - virtual ~HEHadronIonUElastic(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); - -private: - G4HadronicInteraction* model; -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HIIonLEP.hh b/examples/advanced/hadrontherapy/include/HIIonLEP.hh deleted file mode 100755 index 8a809e75a8..0000000000 --- a/examples/advanced/hadrontherapy/include/HIIonLEP.hh +++ /dev/null @@ -1,81 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Hadronic inelastic processes for: -// deuterons, tritons, alpha particles -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered process is G4XXXInelasticProcess (XXX to be replaced -// by the particular ion name), and the applied model is G4LEXXXInelastic -// Considered cross sections are G4TripathiCrossSection and -// G4IonsShenCrossSection -// - -#ifndef HIIONLEP_H -#define HIIONLEP_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HIIonLEP: public G4VPhysicsConstructor -{ - public: - HIIonLEP(const G4String& name = "Ion-LEP"); - virtual ~HIIonLEP(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronBinary.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronBinary.hh deleted file mode 100755 index 665bb80906..0000000000 --- a/examples/advanced/hadrontherapy/include/HIProtonNeutronBinary.hh +++ /dev/null @@ -1,79 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Neutron induced fission, -// Neutron capture, -// Hadronic inelastic processes for: -// protons, neutrons -// -// ============================== -// COMMENTS: -// ============================== -// G4BinaryCascade model is applied for protons and neutrons -// - -#ifndef HIPROTONNEUTRONBINARY_H -#define HIPROTONNEUTRONBINARY_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HIProtonNeutronBinary: public G4VPhysicsConstructor -{ - public: - HIProtonNeutronBinary(const G4String& name = "ProtonNeutron-Binary"); - virtual ~HIProtonNeutronBinary(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompound.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompound.hh deleted file mode 100755 index b98aaa8663..0000000000 --- a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompound.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Neutron induced fission, -// Neutron capture, -// Hadronic inelastic processes for: -// protons, neutrons -// -// ============================== -// COMMENTS: -// ============================== -// Precompound model and default Evaporation model are applied for -// protons and neutrons -// - -#ifndef HIPROTONNEUTRONPRECOMPOUND_H -#define HIPROTONNEUTRONPRECOMPOUND_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HIProtonNeutronPrecompound: public G4VPhysicsConstructor -{ - public: - HIProtonNeutronPrecompound(const G4String& name = "ProtonNeutron-Precompound"); - virtual ~HIProtonNeutronPrecompound(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundFermi.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundFermi.hh deleted file mode 100755 index 9bb29282c0..0000000000 --- a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundFermi.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompoundFermi.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Neutron induced fission, -// Neutron capture, -// Hadronic inelastic processes for: -// protons, neutrons -// -// ============================== -// COMMENTS: -// ============================== -// Precompound model, default Evaporation model and Fermi -// Break-up model are applied for protons, neutrons -// - -#ifndef HIPROTONNEUTRONPRECOMPOUNDFERMI_H -#define HIPROTONNEUTRONPRECOMPOUNDFERMI_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HIProtonNeutronPrecompoundFermi: public G4VPhysicsConstructor -{ - public: - HIProtonNeutronPrecompoundFermi(const G4String& name = "ProtonPeutron-PrecompoundFermi"); - virtual ~HIProtonNeutronPrecompoundFermi(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEM.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEM.hh deleted file mode 100755 index 4ab47b46e6..0000000000 --- a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEM.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompoundGEM.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Neutron induced fission, -// Neutron capture, -// Hadronic inelastic processes for: -// protons, neutrons -// -// ============================== -// COMMENTS: -// ============================== -// Precompound model and GEM Evaporation model are applied for protons -// and neutrons -// - -#ifndef HIPROTONNEUTRONPRECOMPOUNDGEM_H -#define HIPROTONNEUTRONPRECOMPOUNDGEM_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HIProtonNeutronPrecompoundGEM: public G4VPhysicsConstructor -{ - public: - HIProtonNeutronPrecompoundGEM(const G4String& name = "ProtonNeutron-PrecompoundGEM"); - virtual ~HIProtonNeutronPrecompoundGEM(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEMFermi.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEMFermi.hh deleted file mode 100755 index 575c99fac6..0000000000 --- a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEMFermi.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompoundGEMFermi.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Neutron induced fission, -// Neutron capture, -// Hadronic inelastic processes for: -// protons, neutrons -// -// ============================== -// COMMENTS: -// ============================== -// Precompound model, GEM Evaporation model and Fermi Break-up model are -// applied for protons and neutrons -// - -#ifndef HIPROTONNEUTRONPRECOMPOUNDGEMFERMI_H -#define HIPROTONNEUTRONPRECOMPOUNDGEMFERMI_H 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HIProtonNeutronPrecompoundGEMFermi: public G4VPhysicsConstructor -{ - public: - HIProtonNeutronPrecompoundGEMFermi(const G4String& name = "ProtonNeutron-PrecompoundGEMFermi"); - virtual ~HIProtonNeutronPrecompoundGEMFermi(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HRMuonMinusCapture.hh b/examples/advanced/hadrontherapy/include/HRMuonMinusCapture.hh deleted file mode 100755 index 12e7cac2a6..0000000000 --- a/examples/advanced/hadrontherapy/include/HRMuonMinusCapture.hh +++ /dev/null @@ -1,71 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyMuonStandard.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Hadronic At-Rest processes for: -// muon minus -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered process is G4MuonMinusCaptureAtRest -// - -#ifndef HRMUONMINUSCAPTURE_HH -#define HRMUONMINUSCAPTURE_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HRMuonMinusCapture : public G4VPhysicsConstructor -{ - public: - HRMuonMinusCapture(const G4String& name = "MuonMinus-Capture"); - virtual ~HRMuonMinusCapture(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisFileMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisFileMessenger.hh new file mode 100644 index 0000000000..1a306600e2 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisFileMessenger.hh @@ -0,0 +1,74 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// HadrontherapyAnalysisFileMessenger.hh. +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// + +#ifndef HadrontherapyAnalysisFileMessenger_h +#define HadrontherapyAnalysisFileMessenger_h 1 + +#ifdef ANALYSIS_USE + +#include "G4UImessenger.hh" +#include "globals.hh" + +class HadrontherapyAnalysisManager; ///< Provides SetanalysisFileName() +class G4UIcmdWithAString; ///< Provides possibility to add commands + +/** +* A messenger object of this class is created by the AnalysisManager. +* The point of a messenger is to connect the G4UI with the simulation +* functionality. +* The messenger needs to contain a command object and to have SetValue +* method that is called once a command is set. +* +* @see HadrontherapyAnalysisManager +*/ +class HadrontherapyAnalysisFileMessenger: public G4UImessenger +{ + public: + HadrontherapyAnalysisFileMessenger(HadrontherapyAnalysisManager*); + ~HadrontherapyAnalysisFileMessenger(); + + /** + * Called when new command given. + * @param command is a pointer to the given command object + * @param newValue holds the argument given as a G4String + * @return is void + */ + void SetNewValue(G4UIcommand* command, G4String newValue); + + private: + HadrontherapyAnalysisManager* AnalysisManager; ///< handle to AnalysisManager + + /** + * G4 user interface command (that takes a string argument) object + * Constructor requires command name and messenger class(this). + */ + G4UIcmdWithAString* FileNameCmd; +}; + +#endif +#endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh index 932cb029a1..880431358c 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyAnalysisManager.hh @@ -23,103 +23,159 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ---------------------------------------------------------------------------- -// $Id: HadrontherapyAnalysisManager.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyAnalysisManager.hh; May 2005 +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifdef G4ANALYSIS_USE #ifndef HADRONTHERAPYANALYSISMANAGER_HH #define HADRONTHERAPYANALYSISMANAGER_HH 1 #include "globals.hh" -# include + +#ifdef ANALYSIS_USE ///< If we use analysis + +#ifdef G4ANALYSIS_USE ///< If analysis is done via AIDA +#include namespace AIDA{ - class ITree; + class ITree; class IAnalysisFactory; class ITreeFactory; } +#endif +#ifdef G4ANALYSIS_USE_ROOT ///< If analysis is done directly with ROOT +#include "TROOT.h" +#include "TFile.h" +#include "TNtuple.h" +#include "TH1F.h" +#endif + +/** + * Messenger class for analysis-settings for HadronTherapyAnalysisManager + */ +class HadrontherapyAnalysisFileMessenger; + +/** + * A class for connecting the simulation to an analysis package. + */ class HadrontherapyAnalysisManager { private: + /** + * Analysis manager is a singleton object (there is only one instance). + * The pointer to this object is available through the use of the method getInstance(); + * + * @see getInstance + */ HadrontherapyAnalysisManager(); - + public: ~HadrontherapyAnalysisManager(); - - static HadrontherapyAnalysisManager* getInstance(); - - void book(); - // Book the histograms and ntuples in a .hbk file - - void FillEnergyDeposit(G4int voxelXId, G4int voxelYId, G4int voxelZId, - G4double energyDeposit); - // Fill the ntuple with the energy deposit in the phantom - void BraggPeak(G4int, G4double); - // Fill 1D histogram with the Bragg peak in the phantom + /** + * Get the pointer to the analysis manager. + */ + static HadrontherapyAnalysisManager* getInstance(); + + /** + * Book the histograms and ntuples in an AIDA or ROOT file. + */ + void book(); + /** + * Set name for the analysis file .root (used by macro) + */ + void SetAnalysisFileName(G4String); + + /** + * Fill the ntuple with the energy deposit in the phantom + */ + void FillEnergyDeposit(G4int voxelXId, G4int voxelYId, G4int voxelZId, + G4double energyDeposit); + + void BraggPeak(G4int, G4double); ///< Fill 1D histogram with the Bragg peak in the phantom void SecondaryProtonEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary protons + ///< Fill 1D histogram with the energy deposit of secondary protons void SecondaryNeutronEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary neutrons + ///< Fill 1D histogram with the energy deposit of secondary neutrons void SecondaryAlphaEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary alpha particles + ///< Fill 1D histogram with the energy deposit of secondary alpha particles void SecondaryGammaEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary gamma + ///< Fill 1D histogram with the energy deposit of secondary gamma void SecondaryElectronEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary electrons + ///< Fill 1D histogram with the energy deposit of secondary electrons void SecondaryTritonEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary tritons + ///< Fill 1D histogram with the energy deposit of secondary tritons void SecondaryDeuteronEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary deuterons + ///< Fill 1D histogram with the energy deposit of secondary deuterons void SecondaryPionEnergyDeposit(G4int slice, G4double energy); - // Fill 1D histogram with the energy deposit of secondary pions + ///< Fill 1D histogram with the energy deposit of secondary pions void electronEnergyDistribution(G4double secondaryParticleKineticEnergy); - // Energy distribution of secondary electrons originated in the phantom + ///< Energy distribution of secondary electrons originated in the phantom void gammaEnergyDistribution(G4double secondaryParticleKineticEnergy); - // Energy distribution of secondary gamma originated in the phantom + ///< Energy distribution of secondary gamma originated in the phantom void deuteronEnergyDistribution(G4double secondaryParticleKineticEnergy); - // Energy distribution of secondary deuterons originated in the phantom + ///< Energy distribution of secondary deuterons originated in the phantom void tritonEnergyDistribution(G4double secondaryParticleKineticEnergy); - // Energy distribution of secondary tritons originated in the phantom + ///< Energy distribution of secondary tritons originated in the phantom void alphaEnergyDistribution(G4double secondaryParticleKineticEnergy); - // Energy distribution of secondary alpha originated in the phantom + ///< Energy distribution of secondary alpha originated in the phantom + + void heliumEnergy(G4double secondaryParticleKineticEnergy); + ///< Energy distribution of the helium (He3 and alpha) particles after the phantom + + void hydrogenEnergy(G4double secondaryParticleKineticEnergy); + ///< Energy distribution of the hydrogen (proton, d, t) particles after the phantom + + void fillFragmentTuple(G4int A, G4double Z, G4double energy, G4double posX, G4double posY, G4double posZ); + ///< Energy ntuple void genericIonInformation(G4int, G4double, G4int, G4double); - + + void ThintargetBeamDisp(G4double,G4double); + + void startNewEvent(); + ///< Tell the analysis manager that a new event is starting + + void setGeometryMetaData(G4double, G4double, G4double); + ///< from the detector construction information about the geometry can be written as metadata + + void setBeamMetaData(G4double, G4double); + ///< metadata about the beam can be written this way + void finish(); - // Close the .hbk file with the histograms and the ntuples + ///< Close the .hbk file with the histograms and the ntuples + +void flush(); + +#ifdef G4ANALYSIS_USE_ROOT +private: + TH1F *createHistogram1D(const TString name, const TString title, int bins, double xmin, double xmax) { + TH1F *histo = new TH1F(name, title, bins, xmin, xmax); + histo->SetLineWidth(2); + return histo; + } +#endif private: static HadrontherapyAnalysisManager* instance; + HadrontherapyAnalysisFileMessenger* fMess; + G4String analysisFileName; +#ifdef G4ANALYSIS_USE AIDA::IAnalysisFactory* aFact; - AIDA::ITree* theTree; + AIDA::ITree* theTree; AIDA::IHistogramFactory *histFact; AIDA::ITupleFactory *tupFact; AIDA::IHistogram1D *h1; @@ -128,17 +184,52 @@ private: AIDA::IHistogram1D *h4; AIDA::IHistogram1D *h5; AIDA::IHistogram1D *h6; - AIDA::IHistogram1D *h7; - AIDA::IHistogram1D *h8; + AIDA::IHistogram1D *h7; + AIDA::IHistogram1D *h8; AIDA::IHistogram1D *h9; AIDA::IHistogram1D *h10; AIDA::IHistogram1D *h11; - AIDA::IHistogram1D *h12; - AIDA::IHistogram1D *h13; + AIDA::IHistogram1D *h12; + AIDA::IHistogram1D *h13; AIDA::IHistogram1D *h14; + AIDA::IHistogram1D *h15; + AIDA::IHistogram1D *h16; AIDA::ITuple *ntuple; AIDA::ITuple *ionTuple; + AIDA::ITuple *fragmentTuple; +#endif +#ifdef G4ANALYSIS_USE_ROOT + TFile *theTFile; + TH1F *histo1; + TH1F *histo2; + TH1F *histo3; + TH1F *histo4; + TH1F *histo5; + TH1F *histo6; + TH1F *histo7; + TH1F *histo8; + TH1F *histo9; + TH1F *histo10; + TH1F *histo11; + TH1F *histo12; + TH1F *histo13; + TH1F *histo14; + TH1F *histo15; + TH1F *histo16; + + TNtuple *theROOTNtuple; + TNtuple *theROOTIonTuple; + TNtuple *fragmentNtuple; // fragments + TNtuple *metaData; +#endif + G4long eventCounter; // Simulation metadata + G4double detectorDistance; + G4double phantomDepth; + G4double beamEnergy; + G4double energyError; + G4double phantomCenterDistance; }; #endif + #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh index ba25f3df63..78b7690dd2 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorConstruction.hh @@ -23,121 +23,176 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorConstruction.hh; Version 4.0 May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyDetectorConstruction.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// #ifndef HadrontherapyDetectorConstruction_H #define HadrontherapyDetectorConstruction_H 1 +#include "G4Box.hh" #include "globals.hh" -#include "G4VUserDetectorConstruction.hh" +#include "G4VisAttributes.hh" +#include "G4LogicalVolume.hh" +#include "G4UnitsTable.hh" class G4VPhysicalVolume; class G4LogicalVolume; class HadrontherapyDetectorROGeometry; -class HadrontherapyBeamLine; class HadrontherapyDetectorMessenger; -class HadrontherapyModulator; class HadrontherapyDetectorSD; -class HadrontherapyMaterial; +class HadrontherapyMatrix; -class HadrontherapyDetectorConstruction : public G4VUserDetectorConstruction +class HadrontherapyDetectorConstruction { public: - HadrontherapyDetectorConstruction(); + HadrontherapyDetectorConstruction(G4VPhysicalVolume*); ~HadrontherapyDetectorConstruction(); - G4VPhysicalVolume* Construct(); private: - void ConstructBeamLine(); - // This method allows to define the beam line geometry in the - // experimental set-up - - void ConstructDetector(); - // This method allows to define the phantom geometry in the - // experimental set-up - - void ConstructSensitiveDetector(); - // The sensitive detector is associated to the phantom volume - -public: - - void SetModulatorAngle(G4double angle); - // This method allows moving the modulator through UI commands - - void SetRangeShifterXPosition(G4double translation); - // This method allows to move the Range Shifter along - // the X axis through UI commands - - void SetRangeShifterXSize(G4double halfSize); - // This method allows to change the size of the range shifter along - // the X axis through UI command. - - void SetFirstScatteringFoilSize(G4double halfSize); - // This method allows to change the size of the first scattering foil - // along the X axis through UI command. - - void SetSecondScatteringFoilSize (G4double halfSize); - // This method allows to change the size of the second scattering foil - // along the X axis through UI command. - - void SetOuterRadiusStopper (G4double value); - // This method allows to change the size of the outer radius of the stopper - // through UI command. - - void SetInnerRadiusFinalCollimator (G4double value); - // This method allows to change the size of the inner radius of the - // final collimator through UI command. - - void SetRSMaterial(G4String material); - // This method allows to change the material - // of the range shifter through UI command. - - G4double ComputeVoxelSize() {return detectorSizeX/numberOfVoxelsAlongX;}; - // Returns the size of the voxel along the X axis - -private: + void ConstructPhantom(); + void ConstructDetector(); + void ConstructSensitiveDetector(G4ThreeVector position_respect_to_WORLD); - HadrontherapyDetectorSD* detectorSD; // Pointer to sensitive detector +public: +// Get detector position relative to WORLD +inline G4ThreeVector GetDetectorToWorldPosition() + { + return phantomPosition + detectorPosition; + } +///////////////////////////////////////////////////////////////////////////// +// Get displacement between phantom and detector by detector position, phantom and detector sizes +inline G4ThreeVector GetDetectorToPhantomPosition() +{ + return G4ThreeVector(phantomSizeX - detectorSizeX + detectorPosition.getX(), + phantomSizeY - detectorSizeY + detectorPosition.getY(), + phantomSizeZ - detectorSizeZ + detectorPosition.getZ() + ); +} +///////////////////////////////////////////////////////////////////////////// +// Calculate (and set) detector position by displacement, phantom and detector sizes +inline void SetDetectorPosition() + { + // Adjust detector position + detectorPosition.setX(detectorToPhantomPosition.getX() - phantomSizeX + detectorSizeX); + detectorPosition.setY(detectorToPhantomPosition.getY() - phantomSizeY + detectorSizeY); + detectorPosition.setZ(detectorToPhantomPosition.getZ() - phantomSizeZ + detectorSizeZ); + + if (detectorPhysicalVolume) detectorPhysicalVolume -> SetTranslation(detectorPosition); + } +///////////////////////////////////////////////////////////////////////////// +// Check whether detector is inside phantom +inline bool IsInside(G4double detectorHalfX, + G4double detectorHalfY, + G4double detectorHalfZ, + G4double phantomHalfX, + G4double phantomHalfY, + G4double phantomHalfZ, + G4ThreeVector detectorToPhantomPosition) +{ +// Dimensions check... X Y and Z +// Firstly check what dimension we are modifying + if (detectorHalfX > 0. && phantomHalfX > 0. && detectorToPhantomPosition.getX() >=0.) + { + if (detectorHalfX > phantomHalfX) + { + G4cout << "Error: Detector X dimension must be smaller or equal to the corrispondent of the phantom" << G4endl; + return false; + } + if ( 2*(phantomHalfX - detectorHalfX) < detectorToPhantomPosition.getX()) + { + G4cout << "Error: X dimension doesn't fit with detector to phantom relative position" << G4endl; + return false; + } + } + + if (detectorHalfY > 0. && phantomHalfY > 0.&& detectorToPhantomPosition.getY() >=0.) + { + if (detectorHalfY > phantomHalfY) + { + G4cout << "Error: Detector Y dimension must be smaller or equal to the corrispondent of the phantom" << G4endl; + return false; + } + if ( 2*(phantomHalfY - detectorHalfY) < detectorToPhantomPosition.getY()) + { + G4cout << "Error: Y dimension doesn't fit with detector to phantom relative position" << G4endl; + return false; + } + } + + if (detectorHalfZ > 0. && phantomHalfZ > 0.&& detectorToPhantomPosition.getZ() >=0.) + { + if (detectorHalfZ > phantomHalfZ) + { + G4cout << "Error: Detector Z dimension must be smaller or equal to the corrispondent of the phantom" << G4endl; + return false; + } + if ( 2*(phantomHalfZ - detectorHalfZ) < detectorToPhantomPosition.getZ()) + { + G4cout << "Error: Z dimension doesn't fit with detector to phantom relative position" << G4endl; + return false; + } + } +/* + G4cout << "Displacement between Phantom and Detector is: "; + G4cout << "DX= "<< G4BestUnit(detectorToPhantomPosition.getX(),"Length") << + "DY= "<< G4BestUnit(detectorToPhantomPosition.getY(),"Length") << + "DZ= "<< G4BestUnit(detectorToPhantomPosition.getZ(),"Length") << G4endl; +*/ + return true; +} +///////////////////////////////////////////////////////////////////////////// + + G4bool SetNumberOfVoxelBySize(G4double sizeX, G4double sizeY, G4double sizeZ); + G4bool SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ); + G4bool SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ); + G4bool SetPhantomPosition(G4ThreeVector); + G4bool SetDetectorToPhantomPosition(G4ThreeVector DetectorToPhantomPosition); + G4LogicalVolume* GetDetectorLogicalVolume(){ return detectorLogicalVolume;} + + +private: + + HadrontherapyDetectorMessenger* detectorMessenger; + + G4VisAttributes* skyBlue; + G4VisAttributes* red; + + G4VPhysicalVolume* motherPhys; + + HadrontherapyDetectorSD* detectorSD; // Pointer to sensitive detector HadrontherapyDetectorROGeometry* detectorROGeometry; // Pointer to ROGeometry + HadrontherapyMatrix* matrix; - HadrontherapyBeamLine* beamLine; // Pointer to the beam line - // geometry component - - HadrontherapyModulator* modulator; // Pointer to the modulator - // geometry component - - G4VPhysicalVolume* physicalTreatmentRoom; - G4VPhysicalVolume* patientPhysicalVolume; - G4LogicalVolume* detectorLogicalVolume; + G4VPhysicalVolume* phantomPhysicalVolume; + G4LogicalVolume* phantomLogicalVolume; + G4LogicalVolume* detectorLogicalVolume; G4VPhysicalVolume* detectorPhysicalVolume; - HadrontherapyDetectorMessenger* detectorMessenger; - HadrontherapyMaterial* material; + G4double phantomSizeX; + G4double phantomSizeY; + G4double phantomSizeZ; G4double detectorSizeX; G4double detectorSizeY; G4double detectorSizeZ; - + + G4ThreeVector phantomPosition, detectorPosition, detectorToPhantomPosition; // phantom center, detector center, detector to phantom relative position + + G4double sizeOfVoxelAlongX; + G4double sizeOfVoxelAlongY; + G4double sizeOfVoxelAlongZ; + G4int numberOfVoxelsAlongX; G4int numberOfVoxelsAlongY; G4int numberOfVoxelsAlongZ; + + G4Box* phantom; + G4Box* detector; + }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh index fed0c8af95..a6970a59b6 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorHit.hh @@ -23,24 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorHit.hh; -// Last modified: G.A.P.Cirrone March 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyDetectorHit.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// #ifndef HadrontherapyDetectorHit_h #define HadrontherapyDetectorHit_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh index db938a01e0..83cd61d216 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorMessenger.hh @@ -23,20 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorMessenger.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyDetectorMessenger.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// + #ifndef HadrontherapyDetectorMessenger_h #define HadrontherapyDetectorMessenger_h 1 @@ -47,6 +36,7 @@ class HadrontherapyDetectorConstruction; class G4UIdirectory; class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithAString; +class G4UIcmdWith3VectorAndUnit; class HadrontherapyDetectorMessenger: public G4UImessenger { @@ -54,61 +44,20 @@ class HadrontherapyDetectorMessenger: public G4UImessenger HadrontherapyDetectorMessenger(HadrontherapyDetectorConstruction* ); ~HadrontherapyDetectorMessenger(); - void SetNewValue(G4UIcommand*, G4String); + void SetNewValue(G4UIcommand*, G4String); private: - // Pointer to the detector component + // Pointer to the phantom/detector HadrontherapyDetectorConstruction* hadrontherapyDetector; - - G4UIdirectory* modulatorDir; // Control of the modulator - G4UIdirectory* beamLineDir; // Control of the beam line - - G4UIdirectory* rangeShifterDir; - // Control of the range shifter component of the beam line - G4UIdirectory* firstScatteringFoilDir; - // Control of the first scattering foil component of the beam line - - G4UIdirectory* secondScatteringFoilDir; - // Control of the first scattering foil component of the beam line - - G4UIdirectory* rangeStopperDir; - // Control of the range stopper component of the beam line - - G4UIdirectory* finalCollimatorDir; - // Control of the final collimator component of the beam line - - G4UIcmdWithADoubleAndUnit* modulatorAngleCmd; - // UI command to rotate the modulator wheel + G4UIdirectory *changeThePhantomDir, *changeTheDetectorDir; - G4UIcmdWithAString* rangeShifterMatCmd; - // UI command to set the material of the rangeShifter component of - // the beam line - - G4UIcmdWithADoubleAndUnit* rangeShifterXSizeCmd; - // UI command to set half of the X size of the rangeShifter component of - // the beam line - - G4UIcmdWithADoubleAndUnit* rangeShifterXPositionCmd; - // UI command to change the X position of the rangeShifter component of - // the beam line - - G4UIcmdWithADoubleAndUnit* firstScatteringFoilXSizeCmd; - // UI command to set half X size of the first scattering foil of - // the beam line - - G4UIcmdWithADoubleAndUnit* secondScatteringFoilXSizeCmd; - // UI command to set half X size of the second scattering foil - // the beam line - - G4UIcmdWithADoubleAndUnit* outerRadiusStopperCmd; - // UI command to set the outer radius of the range stopper component of - // the beam line - - G4UIcmdWithADoubleAndUnit* innerRadiusFinalCollimatorCmd; - // UI command to set the inner radius of the final collimator component of - // the beam line + G4UIcmdWith3VectorAndUnit *changeThePhantomSizeCmd, + *changeThePhantomPositionCmd, + *changeTheDetectorSizeCmd, + *changeTheDetectorToPhantomPositionCmd, + *changeTheDetectorVoxelCmd; }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh index 8dfdb7c57f..d380a827e8 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorROGeometry.hh @@ -23,24 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorROGeometry.hh; -// Last modified: G.A.P.Cirrone March 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyDetectorROGeometry.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy //The detectior is devided in voxels. // @@ -54,6 +38,7 @@ class HadrontherapyDetectorROGeometry : public G4VReadOutGeometry { public: HadrontherapyDetectorROGeometry(G4String aString, + G4ThreeVector detectorPos, G4double detectorDimX, G4double detectorDimY, G4double detectorDimZ, @@ -67,6 +52,7 @@ private: G4VPhysicalVolume* Build(); private: + const G4ThreeVector detectorToWorldPosition; const G4double detectorSizeX; const G4double detectorSizeY; const G4double detectorSizeZ; diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh index 6c45e50837..7e5da1318e 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDetectorSD.hh @@ -24,23 +24,7 @@ // ******************************************************************** // // $Id: HadrontherapyDetectorSD.hh; -// Last modified: G.A.P.Cirrone March 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapyDetectorSD_h #define HadrontherapyDetectorSD_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh b/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh index 7b20de6ee2..f9ded82394 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyDummySD.hh @@ -23,19 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- +// HadrontherapyDummySD.hh +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapyDummySD_h #define HadrontherapyDummySD_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh index af1e7bd28f..9efbb2ef00 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyEventAction.hh @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyEventAction.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- +// HadrontherapyEventAction.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapyEventAction_h #define HadrontherapyEventAction_h 1 @@ -45,22 +33,34 @@ #include "globals.hh" class HadrontherapyMatrix; +class HadrontherapyEventActionMessenger; class HadrontherapyEventAction : public G4UserEventAction { public: - HadrontherapyEventAction(HadrontherapyMatrix*); + HadrontherapyEventAction(); ~HadrontherapyEventAction(); public: void BeginOfEventAction(const G4Event*); void EndOfEventAction(const G4Event*); - + + void SetPrintModulo(G4int val) + { + printModulo = val; + }; + + void SetDrawFlag(G4String val) + { + drawFlag = val; + }; + private: G4String drawFlag; //Visualisation flag G4int hitsCollectionID; HadrontherapyMatrix *matrix; - G4int printModulo; + G4int printModulo; + HadrontherapyEventActionMessenger* pointerEventMessenger; }; #endif diff --git a/examples/advanced/medical_linac/include/MedLinacPhantomMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyEventActionMessenger.hh old mode 100644 new mode 100755 similarity index 71% rename from examples/advanced/medical_linac/include/MedLinacPhantomMessenger.hh rename to examples/advanced/hadrontherapy/include/HadrontherapyEventActionMessenger.hh index 82855e56d7..72dda845d7 --- a/examples/advanced/medical_linac/include/MedLinacPhantomMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyEventActionMessenger.hh @@ -23,44 +23,33 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: MedLinacPhantomMessenger.hh,v 1.2 2006/06/29 16:03:51 gunter Exp $ -// -// -// Code developed by: M. Piergentili +// HadrontherapyEventActionMessenger.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifndef MedLinacDetectorMessenger_h -#define MedLinacDetectorMessenger_h 1 +#ifndef HadrontherapyEventActionMessenger_h +#define HadrontherapyEventActionMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class MedLinacPhantomSD; +class HadrontherapyEventAction; class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithAnInteger; -class G4UIcmdWithADoubleAndUnit; -class G4UIcmdWithoutParameter; -//**************************************************************************** - -class MedLinacPhantomMessenger: public G4UImessenger +class HadrontherapyEventActionMessenger: public G4UImessenger { public: - MedLinacPhantomMessenger(MedLinacPhantomSD*); - ~MedLinacPhantomMessenger(); + HadrontherapyEventActionMessenger(HadrontherapyEventAction*); + ~HadrontherapyEventActionMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - MedLinacPhantomSD* MedLinacP; - - G4UIdirectory* MedLinacDir; - - G4UIcmdWithADoubleAndUnit* PhantomDimCmd; - G4UIcmdWithAnInteger* NVoxelsCmd; + HadrontherapyEventAction* eventAction; + G4UIdirectory* eventDir; + G4UIcmdWithAString* DrawCmd; + G4UIcmdWithAnInteger* PrintCmd; }; -//**************************************************************************** #endif - diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyGeometryController.hh b/examples/advanced/hadrontherapy/include/HadrontherapyGeometryController.hh new file mode 100644 index 0000000000..e1e7c22e7f --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HadrontherapyGeometryController.hh @@ -0,0 +1,58 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// HadrontherapyGeometryController.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#ifndef HadrontherapyGeometryController_hh +#define HadrontherapyGeometryController_hh 1 + +#include "globals.hh" +#include "G4String.hh" +#include "G4VUserDetectorConstruction.hh" + +/** + * Controller for geometry selection + * + * This controller is called by the geometry messenger and used to + * select the geometry. Each available geometry must have unique name + * and it must be known by the geometry controller. + */ +class HadrontherapyGeometryController +{ +public: + HadrontherapyGeometryController(); + ~HadrontherapyGeometryController(); + + /** + * Select a geometry by name. + */ + void SetGeometry(G4String); + +private: + void registerGeometry(G4VUserDetectorConstruction *detector); +}; + +#endif diff --git a/examples/advanced/medical_linac/include/MedLinacPrimaryGeneratorMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyGeometryMessenger.hh similarity index 71% rename from examples/advanced/medical_linac/include/MedLinacPrimaryGeneratorMessenger.hh rename to examples/advanced/hadrontherapy/include/HadrontherapyGeometryMessenger.hh index a22dd7e028..3281e9ea10 100644 --- a/examples/advanced/medical_linac/include/MedLinacPrimaryGeneratorMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyGeometryMessenger.hh @@ -23,39 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: MedLinacPrimaryGeneratorMessenger.hh,v 1.5 2006/06/29 16:04:03 gunter Exp $ -// -// -// Code developed by: M. Piergentili +// $Id: HadrontherapyGeometryMessenger.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifndef MedLinacPrimaryGeneratorMessenger_h -#define MedLinacPrimaryGeneratorMessenger_h 1 +#ifndef HadrontherapyGeometryMessenger_h +#define HadrontherapyGeometryMessenger_h 1 -#include "G4UImessenger.hh" #include "globals.hh" +#include "G4UImessenger.hh" +#include "G4String.hh" -class MedLinacPrimaryGeneratorAction; +class HadrontherapyGeometryController; class G4UIdirectory; class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; -//********************************************************************** - -class MedLinacPrimaryGeneratorMessenger: public G4UImessenger +class HadrontherapyGeometryMessenger: public G4UImessenger { public: - - MedLinacPrimaryGeneratorMessenger(MedLinacPrimaryGeneratorAction*); - ~MedLinacPrimaryGeneratorMessenger(); + HadrontherapyGeometryMessenger(HadrontherapyGeometryController* ); + ~HadrontherapyGeometryMessenger(); void SetNewValue(G4UIcommand*, G4String); + +private: - private: - MedLinacPrimaryGeneratorAction* MedLinacAction; - G4UIcmdWithADoubleAndUnit* EnergyCmd; - G4UIcmdWithADoubleAndUnit* SourceTypeCmd; + // Pointer to the detector component + HadrontherapyGeometryController* hadrontherapyGeometryController; + + G4UIdirectory *changeTheGeometryDir; ///> UI directory for the geometry control + G4UIcmdWithAString *changeTheGeometryCmd; ///> Select the geometry }; - -//********************************************************************** - #endif diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraPrimaryGeneratorAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyInteractionParameters.hh old mode 100644 new mode 100755 similarity index 55% rename from examples/advanced/Tiara/source/tiara/include/TiaraPrimaryGeneratorAction.hh rename to examples/advanced/hadrontherapy/include/HadrontherapyInteractionParameters.hh index f7bb46c072..cb6b3824d8 --- a/examples/advanced/Tiara/source/tiara/include/TiaraPrimaryGeneratorAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyInteractionParameters.hh @@ -23,49 +23,49 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: TiaraPrimaryGeneratorAction.hh,v 1.1.1.2 2006/06/29 15:44:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// $Id: HadrontherapyInteractionParameters.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifndef TiaraPrimaryGeneratorAction_hh -#define TiaraPrimaryGeneratorAction_hh TiaraPrimaryGeneratorAction_hh +#ifndef HadrontherapyInteractionParameters_H +#define HadrontherapyInteractionParameters_H 1 -#include "G4VUserPrimaryGeneratorAction.hh" +#include "G4EmCalculator.hh" +#include "G4NistMaterialBuilder.hh" +#include "G4NistElementBuilder.hh" -#include "TiaraTally.hh" - - -class G4ParticleGun; -class G4Event; -class TiaraVSourceEnergyGenerator; -class TiaraVDirectionGenerator; -class TiaraDimensions; - -class TiaraPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +class HadrontherapyDetectorConstruction; +class HadrontherapyParameterMessenger; +class HadrontherapyInteractionParameters : public G4EmCalculator { public: - TiaraPrimaryGeneratorAction(const TiaraVSourceEnergyGenerator& eG, - const TiaraVDirectionGenerator& dG, - const TiaraTally &tally, - const TiaraDimensions &tiaraDimensions); - TiaraPrimaryGeneratorAction(const TiaraPrimaryGeneratorAction &rhs); - ~TiaraPrimaryGeneratorAction(); - - void GeneratePrimaries(G4Event* anEvent); - const TiaraVSourceEnergyGenerator *GetEnergyGenerator() const; - const TiaraTally &GetTally() const; + HadrontherapyInteractionParameters(); + ~HadrontherapyInteractionParameters(); +// Get data for Mass SP (MeV*cm2/g) +// G4NistMaterialBuilder class materials +// User must provide: material kinetic energy lower limit, kinetic energy upper limit, number of points to retrieve, +// [particle], [output filename]. + + bool GetStoppingTable (const G4String& vararg); + void ListOfNistMaterials (const G4String& vararg); + void BeamOn(); + bool ParseArg (const G4String& vararg); - TiaraPrimaryGeneratorAction &operator= - (const TiaraPrimaryGeneratorAction &rhs); - private: - TiaraVSourceEnergyGenerator *fEnergyGenerator; - TiaraVDirectionGenerator *fDirectionGenerator; - G4ParticleGun* particleGun; - TiaraTally fTally; -}; + G4Material* GetNistMaterial(G4String material); + G4NistElementBuilder* nistEle; + G4NistMaterialBuilder* nistMat; + G4double kinEmin, kinEmax, npoints; + G4String particle, material, filename; + std::ofstream outfile; + std::ostream data; + G4Material* Pmaterial; + G4double density; + G4EmCalculator* emCal; + HadrontherapyParameterMessenger* pMessenger; + bool beamFlag; +}; #endif + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyMatrix.hh b/examples/advanced/hadrontherapy/include/HadrontherapyMatrix.hh index b0ab32f311..b5c2417cf0 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyMatrix.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyMatrix.hh @@ -23,38 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyMatrix.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyMatrix.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapyMatrix_H #define HadrontherapyMatrix_H 1 #include "globals.hh" +#include // The information: energy deposit and position in the phantom // is stored in a matrix class HadrontherapyMatrix { +private: + HadrontherapyMatrix(G4int voxelX, G4int voxelY, G4int voxelZ); //<--- this is supposed to be a singleton + public: - HadrontherapyMatrix(); + ~HadrontherapyMatrix(); +// Get object instance only + static HadrontherapyMatrix* getInstance(); +// Make & Get instance + static HadrontherapyMatrix* getInstance(G4int nX, G4int nY, G4int nZ); + + void flush(); void Initialize(); // All the elements of the matrix are initialised to zero - + void Fill(G4int i, G4int j, G4int k, G4double energyDeposit); // The matrix is filled with the energy deposit // in the element corresponding to the voxel of the phantom where @@ -63,8 +61,13 @@ public: void TotalEnergyDeposit(); // Store the information of the matrix in a ntuple and in // a 1D Histogram + + inline G4int Index(G4int i, G4int j, G4int k){ return (i * numberVoxelY + j) * numberVoxelZ + k; } + // Get a unique index from a three dimensional voxel information private: + + static HadrontherapyMatrix* instance; G4int numberVoxelX; G4int numberVoxelY; G4int numberVoxelZ; diff --git a/examples/advanced/medical_linac/include/MedLinacPhysicsListMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyParameterMessenger.hh old mode 100644 new mode 100755 similarity index 69% rename from examples/advanced/medical_linac/include/MedLinacPhysicsListMessenger.hh rename to examples/advanced/hadrontherapy/include/HadrontherapyParameterMessenger.hh index 3a525438df..cb9d457cf9 --- a/examples/advanced/medical_linac/include/MedLinacPhysicsListMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyParameterMessenger.hh @@ -23,44 +23,34 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: MedLinacPhysicsListMessenger.hh,v 1.2 2006/06/29 16:03:59 gunter Exp $ -// -// -// Code developed by: M. Piergentili +// HadrontherapyParametersMessenger.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifndef MedLinacPhysicsListMessenger_h -#define MedLinacPhysicsListMessenger_h 1 +#ifndef HadrontherapyParameterMessenger_h +#define HadrontherapyParameterMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class MedLinacPhysicsList; +class HadrontherapyInteractionParameters; class G4UIdirectory; +//class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithAString; -class G4UIcmdWithAnInteger; -class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithoutParameter; -//**************************************************************************** - -class MedLinacPhysicsListMessenger: public G4UImessenger +class HadrontherapyParameterMessenger : public G4UImessenger { - public: - MedLinacPhysicsListMessenger(MedLinacPhysicsList* ); - ~MedLinacPhysicsListMessenger(); - + public: + HadrontherapyParameterMessenger(HadrontherapyInteractionParameters* ); + ~HadrontherapyParameterMessenger(); + void SetNewValue(G4UIcommand*, G4String); - - private: - MedLinacPhysicsList* pMedLinacPhysicsList; - G4UIdirectory* PhysicsDir; - G4UIcmdWithADoubleAndUnit* CutCmd; - - //G4UIcmdWithoutParameter* UpdateCmd; + private: + HadrontherapyInteractionParameters* pParam; + + G4UIdirectory *paramDir; + G4UIcmdWithAString *dedxCmd, *listCmd; + }; - -//**************************************************************************** #endif - diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh b/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh index de6ac11e60..77aaec8562 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyParticles.hh @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyParticles.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyParticles.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HADRONTHERAPYPARTICLES_HH #define HADRONTHERAPYPARTICLES_HH 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh index e56b0a8444..5ad5c47671 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh @@ -23,55 +23,63 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPhysicsList.hh,v 1.0 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a), M.P. Russo -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- -#ifndef HADRONTHERAPYPHYSICSLIST_H -#define HADRONTHERAPYPHYSICSLIST_H 1 +// HadrontherapyPhysicsList.hh +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#ifndef HadrontherapyPhysicsList_h +#define HadrontherapyPhysicsList_h 1 #include "G4VModularPhysicsList.hh" +#include "G4EmConfigurator.hh" #include "globals.hh" +class G4VPhysicsConstructor; +class HadrontherapyStepMax; class HadrontherapyPhysicsListMessenger; class HadrontherapyPhysicsList: public G4VModularPhysicsList { public: + HadrontherapyPhysicsList(); virtual ~HadrontherapyPhysicsList(); - virtual void SetCuts(); - void AddPhysicsList(const G4String& name); - void AddPackage(const G4String& name); - -private: - G4bool decayIsRegistered; - G4bool emElectronIsRegistered; - G4bool emPositronIsRegistered; - G4bool emPhotonIsRegistered; - G4bool emIonIsRegistered; - G4bool emMuonIsRegistered; - G4bool hadrElasticHadronIonIsRegistered; - G4bool hadrInelasticPionIsRegistered; - G4bool hadrInelasticIonIsRegistered; - G4bool hadrInelasticProtonNeutronIsRegistered; - G4bool hadrAtRestMuonIsRegistered; + void ConstructParticle(); - HadrontherapyPhysicsListMessenger* messenger; + void SetCuts(); + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForPositron(G4double); + + void AddPhysicsList(const G4String& name); + void ConstructProcess(); + + void AddStepMax(); + HadrontherapyStepMax* GetStepMaxProcess() {return stepMaxProcess;}; + void AddPackage(const G4String& name); + +private: + + G4EmConfigurator em_config; + + G4double cutForGamma; + G4double cutForElectron; + G4double cutForPositron; + + G4bool helIsRegisted; + G4bool bicIsRegisted; + G4bool biciIsRegisted; + G4bool locIonIonInelasticIsRegistered; + G4bool radioactiveDecayIsRegisted; + + G4String emName; + G4VPhysicsConstructor* emPhysicsList; + G4VPhysicsConstructor* decPhysicsList; + std::vector hadronPhys; + + HadrontherapyStepMax* stepMaxProcess; + + HadrontherapyPhysicsListMessenger* pMessenger; }; #endif - - - diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh index 28e90ab947..fdab5d7c19 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsListMessenger.hh @@ -23,59 +23,45 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPhisicsListMessenger.hh; Nov 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a), M.P. Russo -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyPhysicsListsMessenger.hh +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifndef HADRONTHERAPYPHYSICSLISTMESSENGER_HH -#define HADRONTHERAPYPHYSICSLISTMESSENGER_HH 1 +#ifndef HadrontherapyPhysicsListMessenger_h +#define HadrontherapyPhysicsListMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" class HadrontherapyPhysicsList; class G4UIdirectory; -class G4UIcmdWithoutParameter; -class G4UIcmdWithADouble; class G4UIcmdWithADoubleAndUnit; -class G4UIcmdWithABool; class G4UIcmdWithAString; -class HadrontherapyPhysicsListMessenger: public G4UImessenger { +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -public: +class HadrontherapyPhysicsListMessenger: public G4UImessenger +{ + public: - HadrontherapyPhysicsListMessenger(HadrontherapyPhysicsList* physList); + HadrontherapyPhysicsListMessenger(HadrontherapyPhysicsList* ); + ~HadrontherapyPhysicsListMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: - ~HadrontherapyPhysicsListMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - -private: - - HadrontherapyPhysicsList* physicsList; - G4UIdirectory* listDir; - G4UIcmdWithAString* physicsListCmd; - G4UIcmdWithAString* packageListCmd; + HadrontherapyPhysicsList* pPhysicsList; + + G4UIdirectory* physDir; + G4UIcmdWithADoubleAndUnit* gammaCutCmd; + G4UIcmdWithADoubleAndUnit* electCutCmd; + G4UIcmdWithADoubleAndUnit* protoCutCmd; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithAString* pListCmd; + G4UIcmdWithAString* packageListCmd; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif - - - - - - - diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh index ee731548b0..1238177ff7 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorAction.hh @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPrimaryGeneratorAction.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyPrimaryGeneratorAction.hh; May 2005 +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapyPrimaryGeneratorAction_h #define HadrontherapyPrimaryGeneratorAction_h 1 @@ -67,6 +55,7 @@ public: void SetsigmaZ(G4double); void SetsigmaMomentumY(G4double); void SetsigmaMomentumZ(G4double); + G4double GetmeanKineticEnergy(void); private: void SetDefaultPrimaryParticle(); diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh index 496807f5e6..48d26c4205 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPrimaryGeneratorMessenger.hh @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPrimaryGeneratorMessenger.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyPrimaryGeneratorMessenger.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapyPrimaryGeneratorMessenger_h #define HadrontherapyPrimaryGeneratorMessenger_h 1 diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh index 854df0e10f..3be8099fb3 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyRunAction.hh @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyRunAction.hh,v 3.0, September 2004; -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyRunAction.hh +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapyRunAction_h #define HadrontherapyRunAction_h 1 @@ -50,10 +38,6 @@ class HadrontherapyAnalysisManager; class HadrontherapyDetectorConstruction; class HadrontherapyRunMessenger; class HadrontherapyFactory; -class HadrontherapyFactoryIr; -class HadrontherapyFactoryI; - - class HadrontherapyRunAction : public G4UserRunAction { diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyStepMax.hh b/examples/advanced/hadrontherapy/include/HadrontherapyStepMax.hh new file mode 100644 index 0000000000..3ad589c84d --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HadrontherapyStepMax.hh @@ -0,0 +1,67 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// HadrontherapyStepMax.hh +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#ifndef HadrontherapyStepMax_h +#define HadrontherapyStepMax_h 1 + +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +#include "G4ParticleDefinition.hh" +#include "G4Step.hh" + +class HadrontherapyStepMaxMessenger; + +///////////////////////////////////////////////////////////////////////////// +class HadrontherapyStepMax : public G4VDiscreteProcess +{ + public: + + HadrontherapyStepMax(const G4String& processName ="UserStepMax"); + ~HadrontherapyStepMax(); + + G4bool IsApplicable(const G4ParticleDefinition&); + void SetMaxStep(G4double); + G4double GetMaxStep() {return MaxChargedStep;}; + + G4double PostStepGetPhysicalInteractionLength( const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); + + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) + {return 0.;}; // it is not needed here ! + + private: + + G4double MaxChargedStep; + HadrontherapyStepMaxMessenger* pMess; +}; + +#endif + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyStepMaxMessenger.hh b/examples/advanced/hadrontherapy/include/HadrontherapyStepMaxMessenger.hh new file mode 100644 index 0000000000..6f00cb76e8 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HadrontherapyStepMaxMessenger.hh @@ -0,0 +1,52 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// HadrontherapyStepMaxMessenger.hh +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#ifndef HadrontherapyStepMaxMessenger_h +#define HadrontherapyStepMaxMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +class HadrontherapyStepMax; +class G4UIcmdWithADoubleAndUnit; + +///////////////////////////////////////////////////////////////////////////// +class HadrontherapyStepMaxMessenger: public G4UImessenger +{ + public: + HadrontherapyStepMaxMessenger(HadrontherapyStepMax*); + ~HadrontherapyStepMaxMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + HadrontherapyStepMax* stepMax; + G4UIcmdWithADoubleAndUnit* StepMaxCmd; +}; + +#endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh b/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh index 67b85d32ab..3ea68ce88d 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapySteppingAction.hh @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyProtonSteppingAction.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyProtonSteppingAction.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #ifndef HadrontherapySteppingAction_h #define HadrontherapySteppingAction_h 1 diff --git a/examples/advanced/hadrontherapy/include/IAEADetectorConstruction.hh b/examples/advanced/hadrontherapy/include/IAEADetectorConstruction.hh new file mode 100644 index 0000000000..4f12fd8e09 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/IAEADetectorConstruction.hh @@ -0,0 +1,123 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// IAEADetectorConstruction.hh; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#ifndef IAEADetectorConstruction_H +#define IAEADetectorConstruction_H 1 + +#include "globals.hh" +#include "G4VUserDetectorConstruction.hh" +#include "G4VisAttributes.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; +class HadrontherapyDetectorROGeometry; +class PassiveProtonBeamLine; +class IAEADetectorMessenger; +class HadrontherapyModulator; +class HadrontherapyDetectorSD; + +/** + * Geometry for the IAEA benchmark + * + * This geometry includes two main components: water target and a + * detector that counts the particles that go through the phantom. + * + */ +class IAEADetectorConstruction : public G4VUserDetectorConstruction +{ +public: + + IAEADetectorConstruction(); + + ~IAEADetectorConstruction(); + + G4VPhysicalVolume* Construct(); + +private: + void ConstructPassiveProtonBeamLine(); + void ConstructDetector(); + + void ConstructSensitiveDetector(); + + + // G4VisAttributes* redWire; + +public: + void setWaterThickness(G4double); //< sets thickness of water phantom, zero or negative value removes phantom and plexiedges from the simulation. + G4double ComputeVoxelSize() {return detectorSizeX/numberOfVoxelsAlongX;}; + // +# +# This macro can be used for a proton beam in water. Both electrmagnetic and +# hadronic models are swiched on + +######################### +# Set of the verboses +# +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 1 +/event/verbose 0 + +########################## +# Set of the physic models +# +/physic/addPhysics emstandard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +/physic/addPhysics radioactive_decay # Radioactive decay + +########################## +# Initialisation procedure +# +/run/initialize + +########################## +# Visualisation +# +/vis/scene/create +#/vis/open OGLIQt +#/vis/viewer/flush +/vis/viewer/set/viewpointThetaPhi 30 140 deg +/vis/viewer/zoom 1 +/vis/viewer/pan -10 0 cm +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate +/vis/viewer/update + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.01 mm +/Step/waterPhantomStepMax 0.01 mm + +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle proton +/beam/energy/meanEnergy 62 MeV +/beam/energy/sigmaEnergy 400 keV +/beam/position/Xposition -2700 mm + +######################### +# Display the event number +# during the run +# +/event/printEventNumber 10 + +######################### +# Start of the run +# + +/control/execute macro/GUIPersonalisation.mac +#/run/beamOn 100 diff --git a/examples/advanced/hadrontherapy/macro/GUIPersonalisation.mac b/examples/advanced/hadrontherapy/macro/GUIPersonalisation.mac new file mode 100644 index 0000000000..cacec89390 --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/GUIPersonalisation.mac @@ -0,0 +1,44 @@ +# +# This file permits to customize, with commands, +# the menu bar of the G4UIXm, G4UIWin32 sessions. +# It has no effect with G4UIterminal. +# + +# File : +/gui/addMenu file File +/gui/addButton file Continue continue +/gui/addButton file Exit "exit" +# +# Run menu : +/gui/addMenu run Run +/gui/addButton run "beamOn 1" "/run/beamOn 1" +/gui/addButton run run1 "/control/execute defaultMacro.mac" +#/gui/addButton run run2 "/control/execute run2.mac" +# +# Gun menu : +/gui/addMenu gun Particle +/gui/addButton gun "Proton" "/gun/particle proton" + +/gui/addMenu gun Energy +/gui/addButton gun "60 MeV" "/gun/energy 60 MeV" +# +# Vis menu : +/gui/addMenu vis Vis +/gui/addButton vis "Create the Scene" "/vis/scene/create" +/gui/addButton vis "OGLIX" "/vis/open OGLIX" +/gui/addButton vis "Macros for Visualisation" "/control/execute macro/visualisationMacro.mac" + +# Macro menu +/gui/addMenu control "Macro" +/gui/addButton control "Proton-therapy" "/control/execute macro/proton_therapy.mac" + +# +# Viewer menu : +/gui/addMenu viewer Viewer +/gui/addButton viewer "Set style solid" "/vis/viewer/set/style solid" +/gui/addButton viewer "Set style wireframe" "/vis/viewer/set/style wire" +#/gui/addButton viewer viewer_update "/vis/viewer/update" +/gui/addButton viewer "Update scene" "/vis/scene/notifyHandlers" +# +# To limit the output flow in the "dump" widget : +#/N03/event/printModulo 100 diff --git a/examples/advanced/hadrontherapy/macro/detectorGeometry.mac b/examples/advanced/hadrontherapy/macro/detectorGeometry.mac new file mode 100644 index 0000000000..e78d1e70b0 --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/detectorGeometry.mac @@ -0,0 +1,111 @@ +# S.E. Mazzaglia Nov 14, 2009 + +# Example macro file to show how to change geometric properties and voxelization of the phantom/detector + +####################### +# Set of the verboses # +####################### +# +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 1 +/event/verbose 0 + + +########################## +# Physic models # +########################## +/physic/addPhysics emstandard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +/physic/addPhysics radioactive_decay # Radioactive decay + +# Initialize geometry and physic +/run/initialize + +############################# +# Initialize graphic system # +############################# +# +/vis/scene/create +/vis/open OGLIX +/vis/viewer/flush +/vis/viewer/set/viewpointThetaPhi 30 140 deg +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate -1 # this accumulate infinite tracks +# zoom to phantom... +/vis/viewer/panTo 1.5 0.5 +/vis/viewer/zoomTo 3 + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.01 mm +/Step/waterPhantomStepMax 0.01 mm + +######################### + +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle proton +/beam/energy/meanEnergy 62 MeV +/beam/energy/sigmaEnergy 400 keV +/beam/position/Xposition -2700 mm + +######################### +# Display the event number +# during the run +# +/event/printEventNumber 10 +######################### + +#################################### +# Change Phantom/Detector geometry # +#################################### + + +############################ +# Change Phantom geometry # +############################ +# Move Phantom 10 cm forward the default position (20, 0 , 0 cm) +# Position refers to center of phantom box respect to the center of the World +/changePhantom/position 30. 0. 0. cm + +# Enlarge Phantom to (42, 40, 40 cm) respect to the default sizes (40, 40, 40 cm) +# Null or negative parameters mean "leave it unchanged" +/changePhantom/size 42. 0. 0. cm +# +#/run/beamOn 300 +# +############################ +# Change Detector geometry # +############################ +# Change detector size along X dimension +# "0" parameter means "leave it unchanged" +/changeDetector/size 41. 0. 0. cm + +# The following line moves the detector 1 cm forward, respect to the default position inside the phantom (0, 18, 18 cm) +# Displacement parameters refer to the lower left corner of the detector respect to that of the phantom +# by the point of view of the beam. +# Negative parameters means "leave it unchanged" +/changeDetector/displacement 1. -1. -1. cm +# +#/run/beamOn 300 +# +########################### +# Change Detector Voxels # +########################### +# +# Use the following line if you need more slabs along the X direction, leaving unchanged the other sizes +# Null or negative parameters mean "leave it unchanged" +/changeDetector/voxelSize 100. 0. 0. um +# StepMax SHOULD not be bigger than 5% of the dose slice thickness! +/Step/waterPhantomStepMax 0.005 mm + +/vis/viewer/refresh +/run/beamOn 300 + diff --git a/examples/advanced/hadrontherapy/macro/iaea.loop b/examples/advanced/hadrontherapy/macro/iaea.loop new file mode 100644 index 0000000000..b2125a4082 --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/iaea.loop @@ -0,0 +1,2 @@ +# macro to be run in loop +/run/beamOn 100 \ No newline at end of file diff --git a/examples/advanced/hadrontherapy/macro/iaea.mac b/examples/advanced/hadrontherapy/macro/iaea.mac new file mode 100644 index 0000000000..ab0cc9eaca --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/iaea.mac @@ -0,0 +1,159 @@ +# G. Danielsen, A. Heikkinen, P. Kaitaniemi +# +# Macro file for IAEA geometry for a carbon beams in water. + +/control/getEnv G4SYSTEM + +######################### +# Set of the verboses +# +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 1 +/event/verbose 0 + +/analysis/setAnalysisFile IAEA.root + +########################## +# Set of the physic models +# +/physic/addPhysics emstandard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics local_incl_ion_ion_inelastic # Hadronic inelastic model for ions (local physics list) +/physic/addPhysics radioactive_decay # Radioactive decay + +########################## +# Geometry # +########################## +/geometrySetup/selectGeometry IAEA # Select the IAEA geometry +/iaea/waterPhantomThickness 27.9 cm #default is 27.9, zero will remove phantom + +############################# +# Beam energy detection # +############################# +# define scoring mesh for energy deposits +# If attenuation measures are not needed this is redundant +# and time-consuming. Even pretty small runs give good attenuation graphs. + +#/score/create/boxMesh boxMesh_1 + +#Box size is the radius of the box ie 20x20x20 gives 40x40x40 outer dimensions +#/score/mesh/boxSize 13.95 16. 16. cm # The box size and translation may require adjustement + +#this translates the middle of the mesh-box. +#/score/mesh/translate/xyz 69 0.0 0.0 cm +#/score/mesh/nBin 400 1 1 # 400 bins in x-direction, 1 in y and z directions, changes require change in code + +# +# define scorers and filters +# is not able to filter ions. + +#/score/quantity/energyDeposit eDep +#/score/quantity/population eDep +#/score/quantity/nOfStep nOfStepGamma +#/score/filter/particle gammaFilter gamma +#/score/quantity/nOfStep nOfStepEMinus +#/score/filter/particle eMinusFilter e- +#/score/quantity/nOfStep nOfStepEPlus +#/score/filter/particle ePlusFilter e+ +#/score/close + +############################ +# Initialisation procedure # +############################ +/run/initialize + +########################## +# Visualisation # +########################## + +####### DAWNFILE ###### +#/vis/scene/create +#/vis/open DAWNFILE +#/vis/viewer/flush +#/vis/viewer/set/viewpointThetaPhi 45 45 deg +#/vis/viewer/zoom 0 +#/vis/viewer/pan 0 0 cm +#/vis/scene/add/trajectories +#/vis/scene/endOfEventAction accumulate +#/tracking/storeTrajectory 1 + +#/vis/viewer/update +#/vis/scene/add/trajectories +#/vis/modeling/trajectories/create/drawByCharge +#/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true +#/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 +#/vis/scene/endOfEventAction accumulate + +####### OGLIX ####### +#/vis/scene/create +##/vis/open OGLSX +#/vis/open OGLIX +##/vis/open OGLIX 600x600-100+0 +##/vis/drawVolume +##/vis/viewer/set/viewpointThetaPhi 0 0 deg +#/vis/viewer/set/viewpointThetaPhi 45 45 deg +##/vis/viewer/zoom 1.0 +#/vis/scene/add/trajectories +#/vis/modeling/trajectories/create/drawByCharge +#/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true +#/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 + + +# Draw only certain particles +#/vis/filtering/trajectories/create/particleFilter +# Now select filtered particles +#/vis/filtering/trajectories/particleFilter-0/add gamma +#/vis/filtering/trajectories/particleFilter-0/add electron +#/vis/filtering/trajectories/particleFilter-0/add neutron +#/vis/filtering/trajectories/particleFilter-0/add proton +#/vis/filtering/trajectories/particleFilter-0/invert true # charged particles only +#/tracking/storeTrajectory 1 +#/vis/scene/endOfEventAction accumulate + +########################## +# Set here the cut and the step max for the tracking. +# Fixme, recommenadtions needed +# +/physic/setCuts 0.8 cm +#/physic/setCuts 0.4 cm +/Step/waterPhantomStepMax 0.5 cm +#/Step/waterPhantomStepMax 0.01 mm + +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle ion +/gun/ion 6 12 6 # Carbon-12 + +/beam/energy/meanEnergy 4800 MeV # 400MeV/u * C12 = 4800 +/beam/energy/sigmaEnergy 24 MeV # dE/E = 5e-3 +/beam/position/Yposition/sigmaY 1.7 mm # 4mm * 2.35 ~ 1.7 +/beam/position/Zposition/sigmaZ 1.7 mm +/beam/momentum/sigmaY 0.001 +/beam/momentum/sigmaZ 0.001 + +######################### +# Start of the run +# + +/beam/position/Xposition 0 cm +/beam/position/Yposition 0 cm +/beam/position/Zposition 0 cm + +#/run/beamOn 100 # For test/visualization +/run/beamOn 200000 # Default value in release +#/run/beamOn 10000 # Good for basic physics run (takes few min) +#/run/beamOn 400000 # Accurate results with good statistics + + +#/score/dumpQuantityToFile boxMesh_1 eDep eDep.txt + +# Example of running in loop +/control/alias initialValue 0 +/control/alias finalValue 3 +/control/alias stepSize 1 +#/control/loop macro/iaea.loop counterName {initialValue} {finalValue} {stepSize} +#/control/unalias initialValue diff --git a/examples/advanced/hadrontherapy/macro/ion_therapy.mac b/examples/advanced/hadrontherapy/macro/ion_therapy.mac new file mode 100644 index 0000000000..8a500a142e --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/ion_therapy.mac @@ -0,0 +1,67 @@ +# G.A.P.Cirrone +# +# Macro file recommended for the use with ion beams +# Both native Geant4 physic lists and 'local' physics are used +# + +######################### +# Set of the verboses +# +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 0 +/event/verbose 0 +########################## +# Set of the physic models +# +/physic/addPhysics emstandard_opt3 # Electromagnetic model (Geant4 native physic list) +/physic/addPhysics elastic # Hadronic elastic model (Geant4 native physic list) +/physic/addPhysics binary # Hadronic inelastic model for proton and neutron (Geant4 native physic list) +/physic/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +/physic/addPhysics radioactive_decay + +#Alternatively to *local_ion_ion_inelastic* the native "binary-ion" can be also used + +########################## +# Initialisation procedure +# +/run/initialize + +########################## +# Visualisation +# +/vis/scene/create +/vis/open OGLIX +/vis/viewer/flush +/vis/viewer/set/viewpointThetaPhi 20 180 deg +/vis/viewer/zoom 1 +/vis/viewer/pan -10 0 cm +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate +#/vis/specify RODetectorLog 1 +/vis/viewer/update + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.01 mm +/Step/waterPhantomStepMax 0.01 mm + + +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle ion +/gun/ion 6 12 6 + +/beam/energy/meanEnergy 744 MeV +/beam/energy/sigmaEnergy 3 MeV +/beam/position/Xposition -300 mm + + +######################### +# Start of the run +# +/run/beamOn 20000 diff --git a/examples/advanced/hadrontherapy/macro/modulatorMacro.mac b/examples/advanced/hadrontherapy/macro/modulatorMacro.mac index 9aef5432eb..6d82c298dd 100644 --- a/examples/advanced/hadrontherapy/macro/modulatorMacro.mac +++ b/examples/advanced/hadrontherapy/macro/modulatorMacro.mac @@ -12,46 +12,63 @@ # NOTE THAT THE MODULATOR MATERIAL IS POLTMETHYLMETHACRILATE # (PMMA) FOR DEFAULT. IF ONE WANT CARRY OUT A SIMULATION WITHOUT # THE MODULATOR HE/SHE MUST SET "Air" the <> in the -# <> function of the HadrontherapyModulator.cc class # # USERS SHOULD GIVE A LOOK TO THE HELP OF THE IDLE TO KNOW # THE ACTIVATED MESSSENGERS FOR THE GEOMETRY # -# ADDITIONAL INFORMATIONS ON THE MESSENGER AVAILABLE CAN BE FOUND -# INSIDE THE HADRONTHERAPY DOCUMENTATION (http://www.ge.infn.it/geant4/examples/). # # ANYWAY SEND ME AN E-MAIL FOR ANY QUESTION: cirrone@lns.infn.it. # -------------------------------------------------------------------------------- - +######################### +# Set of the verboses +# /control/verbose 1 /tracking/verbose 0 /run/verbose 0 /event/verbose 0 +########################## +# Set of the physic models +# +/physic/addPhysics emstandard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics radioactive_decay # Radioactive decay + +########################## +# Initialisation procedure +# +/run/initialize -# SETTING FOR THE PHYSICS MODELS -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-EPDL -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowE -/physics/addPhysics EM-Muon-Standard -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - -/run/initialize - -# SET OF THE VISUALISATION CHARACTERISTICS +########################## +# Visualisation +# /vis/scene/create /vis/open OGLIX +/vis/viewer/flush +/vis/viewer/set/viewpointThetaPhi 50 130 deg /vis/viewer/zoom 3.5 -/vis/viewer/set/viewpointThetaPhi 50 130 deg -/vis/viewer/pan -60 40 cm +/vis/viewer/pan -60 40 cm /tracking/storeTrajectory 1 /vis/scene/endOfEventAction accumulate +/vis/viewer/update +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle proton + +/beam/energy/meanEnergy 62 MeV +/beam/energy/sigmaEnergy 400 keV +/beam/position/Xposition -270 mm + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.1 mm +/Step/waterPhantomStepMax 0.01 mm + # IF YOU WANT A RANGE SHIFTER PLEASE CHANGE # THE FOLLOWIG PARAMETERS diff --git a/examples/advanced/hadrontherapy/macro/packageQGSP_BIC.mac b/examples/advanced/hadrontherapy/macro/packageQGSP_BIC.mac index 7ee91b6f19..63b8da64d9 100644 --- a/examples/advanced/hadrontherapy/macro/packageQGSP_BIC.mac +++ b/examples/advanced/hadrontherapy/macro/packageQGSP_BIC.mac @@ -4,35 +4,53 @@ # ============= # # Geant4 Physics List: -# +# # - QGSP_BIC 3.3 # ############################################################################## - -#################### -# VERBOSITY LEVELS # -#################### - +######################### +# Set of the verboses +# /control/verbose 1 /tracking/verbose 0 /run/verbose 0 /event/verbose 0 +########################## +# Set of the physic models +# +/physic/addPackage QGSP_BIC -########### -# PHYSICS # -########### - -/physics/addPackage QGSP_BIC - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - +########################## +# Initialisation procedure +# /run/initialize +########################## +# Visualisation +# +# Comment the rows below to +# swich off the visualisation +# +#/vis/scene/create +#/vis/open OGLIX +#/vis/viewer/flush +#/vis/viewer/set/viewpointThetaPhi 30 140 deg +#/vis/viewer/zoom 1 +#/vis/viewer/pan -10 0 cm +#/tracking/storeTrajectory 1 +#/vis/scene/endOfEventAction accumulate +#/vis/viewer/update + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.01 mm +/Step/waterPhantomStepMax 0.01 mm + + ### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE ### THE FOLLOWIG PARAMETERS ### SETTING FOR THE RANGE SHIFTER @@ -40,7 +58,15 @@ #/beamLine/RangeShifter/thickness 4 cm #/beamLine/RangeShifter/RSMat Water -/run/beamOn 200 - + +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle proton +/beam/energy/meanEnergy 62 MeV +/beam/energy/sigmaEnergy 400 keV +/beam/position/Xposition -2700 mm +/run/beamOn 20000 \ No newline at end of file diff --git a/examples/advanced/hadrontherapy/macro/physicsAllOptions.mac b/examples/advanced/hadrontherapy/macro/physicsAllOptions.mac deleted file mode 100644 index 843d56559b..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsAllOptions.mac +++ /dev/null @@ -1,204 +0,0 @@ -############################################################################ -# -# This example macro file provides an overview of all possible physics -# options available in the Hadrontherapy advanced example. A user can -# create his own physics list by combining different physics constructors. -# -############################################################################ -# -# Summary of available physics options and associated macro commands: -# -# Commands are arranged by the type of interactions and the different -# particles. -# -# NOTE: For a given type of physics processes and a given particle ONLY ONE -# physics constructor should be activated (the different options are -# indicated by "Option X", where in some cases only one option exists). -# -# To create a complete physics list, a physics constructor must be -# activated for each subpoint (A,B,C,...) of each of the different physics -# interactions (I-V). -# -# Below the overview one can find an example set of macro commands for -# activating physics constructors, where alternative options are also -# specified (as comments). -# -# -# I) Decay: -# --------- -# A. Unstable particles -# Option 1: Decay model -# Macro command: /physics/addPhysics Decay -# -# -# II) Electromagnetic Physics -# --------------------------- -# A. Photons -# Option 1: Livermore-based models (Low-energy package) -# Macro command: /physics/addPhysics EM-Photon-EPDL -# Option 2: Penelope-like models (Low-energy package) -# Macro command: /physics/addPhysics EM-Photon-Penelope -# Option 3: Standard models (Standard package) -# Macro command: /physics/addPhysics EM-Photon-Standard -# -# B. Electrons -# Option 1: Livermore-based models (Low-energy package) -# Macro command: /physics/addPhysics EM-Electron-EEDL -# Option 2: Penelope-like models (Low-energy package) -# Macro command: /physics/addPhysics EM-Electron-Penelope -# Option 3: Standard models (Standard package) -# Macro command: /physics/addPhysics EM-Electron-Standard -# -# C. Charged hadrons, ions -# Option 1: ICRU49-based models (Low-energy package) -# Macro command: /physics/addPhysics EM-HadronIon-LowE -# Option 2: Ziegler77-based models (Low-energy package) -# Macro command: /physics/addPhysics EM-HadronIon-LowEZiegler1977 -# Option 3: Ziegler85-based models (Low-energy package) -# Macro command: /physics/addPhysics EM-HadronIon-LowEZiegler1985 -# Option 4: Standard models (Standard package) -# Macro command: /physics/addPhysics EM-HadronIon-Standard -# -# D. Positrons -# Option 1: Penelope-like models (Low-energy package) -# Macro command: /physics/addPhysics EM-Positron-Penelope -# Option 2: Standard models (Standard package) -# Macro command: /physics/addPhysics EM-Positron-Standard -# -# E. Muons -# Option 1: Standard models (Standard package) -# Macro command: /physics/addPhysics EM-Muon-Standard -# -# -# III) Hadronic Physics (elastic) -# ------------------------------- -# A. Hadrons (protons, neutrons, pions), ions (deuterons, tritons, alphas) -# Option 1: LEP elastic scattering model -# Macro command: /physics/addPhysics HadronicEl-HadronIon-LElastic -# Option 2: Bertini model (hadrons), LEP model (ions) -# Macro command: /physics/addPhysics HadronicEl-HadronIon-Bert -# Option 3: UHadronElasticProcess -# Macro command: /physics/addPhysics HadronicEl-HadronIon-UElastic -# Option 4: CHIPS (protons, neutrons), LEP model (other hadrons, ions) -# Macro command: /physics/addPhysics HadronicEl-HadronIon-QElastic -# -# -# IV) Hadronic Physics (inelastic) -# -------------------------------- -# A. Protons, neutrons -# Option 1: LEP model -# Macro command: /physics/addPhysics HadronicInel-ProtonNeutron-LEP -# Option 2: Precompound model (default evaporation) -# Macro command: /physics/addPhysics HadronicInel-ProtonNeutron-Prec -# Option 3: Precompound model (GEM evaporation) -# Macro command: /physics/addPhysics HadronicInel-ProtonNeutron-PrecGEM -# Option 4: Precompound model (default evaporation, Fermi break-up) -# Macro command: /physics/addPhysics HadronicInel-ProtonNeutron-PrecFermi -# Option 5: Precompound model (GEM evaporation, Fermi break-up) -# Macro command: /physics/addPhysics HadronicInel-ProtonNeutron-PrecGEMFermi -# Option 6: Bertini model -# Macro command: /physics/addPhysics HadronicInel-ProtonNeutron-Bert -# Option 7: Binary cascade model -# Macro command: /physics/addPhysics HadronicInel-ProtonNeutron-Bin -# -# B. Pions -# Option 1: LEP model -# Macro command: /physics/addPhysics HadronicInel-Pion-LEP -# Option 2: Bertini model -# Macro command: /physics/addPhysics HadronicInel-Pion-Bert -# -# C. Ions (deuterons, tritons, alphas) -# Option 1: LEP model -# Macro command: /physics/addPhysics HadronicInel-Ion-LEP -# -# -# V) Hadronic Physics (at rest) -# ----------------------------- -# A. Muons- -# Option 1: Muon Minus Capture model -# Macro command: /physics/addPhysics HadronicAtRest-MuonMinus-Capture -# -# -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -/physics/addPhysics Decay - -/physics/addPhysics EM-Photon-EPDL -### Alternatively: -### /physics/addPhysics EM-Photon-Penelope -### /physics/addPhysics EM-Photon-Standard - -/physics/addPhysics EM-Electron-EEDL -### Alternatively: -### /physics/addPhysics EM-Electron-Penelope -### /physics/addPhysics EM-Electron-Standard - -/physics/addPhysics EM-HadronIon-LowE -### Alternatively: -### /physics/addPhysics EM-HadronIon-LowEZiegler1977 -### /physics/addPhysics EM-HadronIon-LowEZiegler1985 -### /physics/addPhysics EM-HadronIon-Standard - -/physics/addPhysics EM-Positron-Penelope -### Alternatively: -### /physics/addPhysics EM-Positron-Standard - -/physics/addPhysics EM-Muon-Standard - -/physics/addPhysics HadronicEl-HadronIon-LElastic -### Alternatively: -### /physics/addPhysics HadronicEl-HadronIon-Bert -### /physics/addPhysics HadronicEl-HadronIon-UElastic -### /physics/addPhysics HadronicEl-HadronIon-QElastic - -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -### Alternatively: -### /physics/addPhysics HadronicInel-ProtonNeutron-Prec -### /physics/addPhysics HadronicInel-ProtonNeutron-PrecGEM -### /physics/addPhysics HadronicInel-ProtonNeutron-PrecFermi -### /physics/addPhysics HadronicInel-ProtonNeutron-PrecGEMFermi -### /physics/addPhysics HadronicInel-ProtonNeutron-Bert -### /physics/addPhysics HadronicInel-ProtonNeutron-Bin - -/physics/addPhysics HadronicInel-Pion-LEP -### Alternatively: -### /physics/addPhysics HadronicInel-Pion-Bert - -/physics/addPhysics HadronicInel-Ion-LEP - -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 200 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsElectromagneticICRU49.mac b/examples/advanced/hadrontherapy/macro/physicsElectromagneticICRU49.mac deleted file mode 100644 index 038e584ad4..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsElectromagneticICRU49.mac +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Livermore-based models for photons, electrons -# * ICRU49-based models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * LEP model for protons, neutrons -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-EPDL -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowE -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 500000 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsElectromagneticStandard.mac b/examples/advanced/hadrontherapy/macro/physicsElectromagneticStandard.mac deleted file mode 100644 index 286455f7b9..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsElectromagneticStandard.mac +++ /dev/null @@ -1,88 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Standard models for photons, electrons -# * Standard models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Precompound Model (default evaporation, Fermi break-up) -# for protons, neutrons -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-Standard -/physics/addPhysics EM-Electron-Standard -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-Standard -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 5000 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsElectromagneticZiegler77.mac b/examples/advanced/hadrontherapy/macro/physicsElectromagneticZiegler77.mac deleted file mode 100644 index 75a518bc94..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsElectromagneticZiegler77.mac +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Livermore-based models for photons, electrons -# * Ziegler77-based models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * LEP model for protons, neutrons -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-EPDL -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowEZiegler1977 -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 500000 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsElectromagneticZiegler85.mac b/examples/advanced/hadrontherapy/macro/physicsElectromagneticZiegler85.mac deleted file mode 100644 index 20271bc37f..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsElectromagneticZiegler85.mac +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Livermore-based models for photons, electrons -# * Ziegler85-based models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * LEP model for protons, neutrons -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-EPDL -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowEZiegler1985 -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 500000 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsHadronicBertini.mac b/examples/advanced/hadrontherapy/macro/physicsHadronicBertini.mac deleted file mode 100644 index 8a4f75a3f7..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsHadronicBertini.mac +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Livermore-based models for photons, electrons -# * ICRU49-based models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Bertini model for protons, neutrons -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-EPDL -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowE -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-Bert -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 200 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsHadronicBinary.mac b/examples/advanced/hadrontherapy/macro/physicsHadronicBinary.mac deleted file mode 100644 index 087da21941..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsHadronicBinary.mac +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Livermore-based models for photons, electrons -# * ICRU49-based models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Binary model for protons, neutrons -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-EPDL -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowE -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-Bin -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 200 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsHadronicLEP.mac b/examples/advanced/hadrontherapy/macro/physicsHadronicLEP.mac deleted file mode 100644 index df4bb38748..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsHadronicLEP.mac +++ /dev/null @@ -1,87 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Livermore-based models for photons, electrons -# * ICRU49-based models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * LEP model for protons, neutrons -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-EPDL -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowE -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 200 - - - diff --git a/examples/advanced/hadrontherapy/macro/physicsHadronicPrecompound.mac b/examples/advanced/hadrontherapy/macro/physicsHadronicPrecompound.mac deleted file mode 100644 index 16ed84919f..0000000000 --- a/examples/advanced/hadrontherapy/macro/physicsHadronicPrecompound.mac +++ /dev/null @@ -1,95 +0,0 @@ -############################################################################ -# -# PHYSICS LIST: -# ============= -# -# Decay: -# ------ -# * Decay of all unstable particles -# -# -# Electromagnetic Physics -# ----------------------- -# * Livermore-based models for photons, electrons -# * ICRU49-based models for charged hadrons, ions -# * Standard models for positrons, muons -# -# -# Hadronic Physics (elastic) -# -------------------------- -# * LEP elastic scattering model for hadrons (protons, -# neutrons, pions), ions (deuterons, tritons, alphas) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Precompound model for protons, neutrons -# Options: A. Default evaporation, no Fermi break-up (activated) -# B. GEM evaporation, no Fermi break-up -# C. GEM evaporation, Fermi break-up -# D. Default evaporation evaporation, Fermi break-up -# * Fission and capture models for neutrons -# * LEP model for ions (deuterons, tritons, alphas) -# * LEP model for pions (pions+, pions-) -# -# -# Hadronic Physics (inelastic) -# ---------------------------- -# * Capture model for muons- -# -############################################################################## - - -#################### -# VERBOSITY LEVELS # -#################### - -/control/verbose 1 -/tracking/verbose 0 -/run/verbose 0 -/event/verbose 0 - - -########### -# PHYSICS # -########### - -### A) EM PHYSICS AND DECAY - -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-Standard -/physics/addPhysics EM-Electron-EEDL -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-LowE -/physics/addPhysics EM-Muon-Standard - -### B) HADRONIC PHYSICS - -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-Prec -### Other options for Precompound model (for a description see above): -### Option B. /physics/addPhysics HadronicInel-ProtonNeutron-PrecGEM -### Option C. /physics/addPhysics HadronicInel-ProtonNeutron-PrecGEMFermi -### Option D. /physics/addPhysics HadronicInel-ProtonNeutron-PrecFermi -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture - - -############################## -# BEAM LINE SETTINGS AND RUN # -############################## - -/run/initialize - -### IF YOU WANT A RANGE SHIFTER PLEASE CHANGE -### THE FOLLOWIG PARAMETERS -### SETTING FOR THE RANGE SHIFTER - -#/beamLine/RangeShifter/thickness 4 cm -#/beamLine/RangeShifter/RSMat Water - -/run/beamOn 200 - - - diff --git a/examples/advanced/hadrontherapy/macro/proton_therapy.mac b/examples/advanced/hadrontherapy/macro/proton_therapy.mac new file mode 100644 index 0000000000..335c0b5190 --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/proton_therapy.mac @@ -0,0 +1,59 @@ +# G.A.P.Cirrone +# cirrone@lns.infn.it +# +# Macro file recommended for the use with proton beams and built-in physic list. +# This macro uses the physics list already contained in the Geant4 distribution +# + +######################### +# Set of the verboses +# +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 1 +/event/verbose 0 + +########################## +# Set of the physic models +# +/physic/addPhysics standard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics radioactive_decay # Radioactive decay + +########################## +# Initialisation procedure +# +/run/initialize + +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle proton + +/beam/energy/meanEnergy 63 MeV +/beam/energy/sigmaEnergy 400 keV +/beam/position/Xposition -2600 mm + +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.01 mm +/Step/waterPhantomStepMax 0.01 mm + +######################### +# Display the event number +# during the run +# +/event/printEventNumber 100 + +/run/beamOn 5000 + +######################### +# Move the generated .root +# file into the +# "SimulationOutputs" folder + +/control/shell mv DoseDistribution.root SimulationOutputs/proton/BraggPeak/protonBraggPeak.root diff --git a/examples/advanced/hadrontherapy/macro/stoppingPowers.mac b/examples/advanced/hadrontherapy/macro/stoppingPowers.mac new file mode 100644 index 0000000000..b9972e3e1d --- /dev/null +++ b/examples/advanced/hadrontherapy/macro/stoppingPowers.mac @@ -0,0 +1,70 @@ +# S.E. Mazzaglia Nov 14, 2009 +# +# Example macro file showing how to calculate stopping powers for particles and ions +# + +####################### +# Set of the verboses # +####################### +# +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 1 +/event/verbose 0 + +########################## +# Physic models # +########################## +/physic/addPhysics emstandard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) + +# Initialize geometry and physic +/run/initialize + +######################### +############################### +# Stopping Powers calculation # +############################### + +############################### +# List of available materials # +############################### + +# Show all available materials (list with additional informations) +/parameter/nist all + +# Show all available elements (list with additional informations) +#/parameter/nist simple + +# Show all available elements and materials (simple full list) +#/parameter/nist + +############### +# "Particles" # +############### + +# Calculate stopping power for proton into liquid water at 1 MeV +/parameter/getstopping G4_WATER + +# Calculate stopping powers for protons into Hydrogen from 1 keV up to 200 MeV with 100 data points +# Print data to user terminal +/parameter/getstopping G4_H 0.001 200 100 + +# Calculate stopping powers for alphas into Copper from 1 keV up to 200 MeV with 100 data points +/parameter/getstopping G4_Cu 0.001 200 100 alpha stopAlpha_Cu_1keV_200MeV.out + +######## +# Ions # +######## +# First you need to define the ion +/gun/particle ion +/gun/ion 6 12 6 + +# This is non necessary if the ion is already into Geant4 database: +# /particle/list + + +/parameter/getstopping G4_WATER 1 150 200 C12[0.0] stopCarbon_Water_1MeV_150MeV.out + diff --git a/examples/advanced/hadrontherapy/macro/visualisationMacro.mac b/examples/advanced/hadrontherapy/macro/visualisationMacro.mac index 7b8c1f063c..8948a56e92 100644 --- a/examples/advanced/hadrontherapy/macro/visualisationMacro.mac +++ b/examples/advanced/hadrontherapy/macro/visualisationMacro.mac @@ -1,66 +1,71 @@ -#---------------------------------------------------------------------------- -# MACRO FILE FOR THE VISUALIZATION OF THE -# HADRONTHERAPY EXAMPLE USING THE OPENGL LIBRARIES +# G.A.P.Cirrone # -# -# THIS MACRO ILLUSTRATES THE POSSIBILITY -# FOR THE USER TO -# -# 1. Insert a range shifter of PMMA (default is air i.e. no range shifter!); -# 2. Define the thickness of the range shifter; +# Default macro file. It is called if no argument is provided at run # +# i.e. simply typing $G4WORKDIR/bin/Linux-++/Hadrontherapy # -# NOTE THAT THE MODULATOR MATERIAL IS POLTMETHYLMETHACRILATE -# (PMMA) FOR DEFAULT. IF ONE WANT CARRY OUT A SIMULATION WITHOUT -# THE MODULATOR HE/SHE MUST SET "Air" the <> in the -# <> function of the HadrontherapyModulator.cc class -# -# THEN THE USER CAN RUN HIS/HER SIMULATION -# -# LOOKING ON THE HELP OF THE IDLE FOR HOW TO CHANGE OTHE TOPIC FEATURES -# OF THE BEAM LINE. -# ADDITIONAL INFORMATIONS ON THE MESSENGER AVAILABLE CAN BE FOUND -# INSIDE THE HADRONTHERAPY DOCUMENTATION (http://www.ge.infn.it/geant4/examples/). -# -# ANYWAY SEND ME AN E-MAIL FOR ANY QUESTION: cirrone@lns.infn.it. -#------------------------------------------------------------------------------ +# This macro can be used for a proton beam in water. Both electrmagnetic and +# hadronic models are swiched on +######################### +# Set of the verboses +# /control/verbose 1 /tracking/verbose 0 -/run/verbose 0 +/run/verbose 1 /event/verbose 0 -# SETTING FOR THE PHYSICS MODELS -/physics/addPhysics Decay -/physics/addPhysics EM-Photon-Standard -/physics/addPhysics EM-Electron-Standard -/physics/addPhysics EM-Positron-Standard -/physics/addPhysics EM-HadronIon-Standard -/physics/addPhysics EM-Muon-Standard -/physics/addPhysics HadronicEl-HadronIon-LElastic -/physics/addPhysics HadronicInel-ProtonNeutron-LEP -/physics/addPhysics HadronicInel-Ion-LEP -/physics/addPhysics HadronicInel-Pion-LEP -/physics/addPhysics HadronicAtRest-MuonMinus-Capture +########################## +# Set of the physic models +# +/physic/addPhysics emstandard_opt3 # Electromagnetic model +/physic/addPhysics elastic # Hadronic elastic model +/physic/addPhysics binary # Hadronic inelastic model +/physic/addPhysics local_ion_ion_inelastic # Hadronic inelastic model for ions (local physic list) +/physic/addPhysics radioactive_decay # Radioactive decay +########################## +# Initialisation procedure +# /run/initialize -# SET OF THE VISUALISATION CHARACTERISTICS -#/vis/scene/create -#/vis/open OGLIX +########################## +# Visualisation +# +/vis/scene/create +/vis/open OGLIX #/vis/viewer/flush - -/vis/viewer/set/viewpointThetaPhi 0 180 deg +/vis/viewer/set/viewpointThetaPhi 30 140 deg /vis/viewer/zoom 1 -/vis/viewer/pan 10 80 cm +/vis/viewer/pan -10 0 cm /tracking/storeTrajectory 1 /vis/scene/endOfEventAction accumulate -#/vis/specify RODetectorLog 1 /vis/viewer/update -# SETTING FOR THE RANGE SHIFTER -#/beamLine/RangeShifter/thickness 0.01 mm -#/beamLine/RangeShifter/RSMat Air -#/tracking/verbose 1 -/vis/viewer/flush -/run/beamOn 10000 +########################## +# Set here the cut and the step max for the tracking. +# Suggested values of cut and step: +# +/physic/setCuts 0.01 mm +/Step/waterPhantomStepMax 0.01 mm + +######################### +# Set the primary particle type, +# energy and position along the X direction +# +/gun/particle proton +/beam/energy/meanEnergy 62 MeV +/beam/energy/sigmaEnergy 400 keV +/beam/position/Xposition -2700 mm + +######################### +# Display the event number +# during the run +# +/event/printEventNumber 10 + +######################### +# Start of the run +# + +/run/beamOn 100 diff --git a/examples/advanced/hadrontherapy/src/EMElectronEEDL.cc b/examples/advanced/hadrontherapy/src/EMElectronEEDL.cc deleted file mode 100755 index 20b6cf83ff..0000000000 --- a/examples/advanced/hadrontherapy/src/EMElectronEEDL.cc +++ /dev/null @@ -1,86 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyElectronEEDL.cc; Last by G.A.P.Cirrone September 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -#include "EMElectronEEDL.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" -#include "G4StepLimiter.hh" - - -EMElectronEEDL::EMElectronEEDL(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (electron)" - << G4endl - << " G4LowEnergyIonisation (electron)" - << G4endl - << " G4LowEnergyBremsstrahlung (electron)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMElectronEEDL::~EMElectronEEDL() -{ } - -void EMElectronEEDL::ConstructProcess() -{ - - // **************** - // *** Electron *** - // **************** - - G4MultipleScattering* electronMultipScatProcess = new G4MultipleScattering(); - G4LowEnergyIonisation* electronIonisationProcess = new G4LowEnergyIonisation(); - G4LowEnergyBremsstrahlung* electronBremsstrProcess = new G4LowEnergyBremsstrahlung(); - - G4StepLimiter* electronStepLimiter = new G4StepLimiter(); - - G4ParticleDefinition* particle = G4Electron::Electron(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - processManager -> AddProcess(electronMultipScatProcess, -1, 1, 1); - processManager -> AddProcess(electronIonisationProcess, -1, 2, 2); - processManager -> AddProcess(electronBremsstrProcess, -1, -1, 3); - processManager -> AddProcess(electronStepLimiter, -1, -1, 3); - -} diff --git a/examples/advanced/hadrontherapy/src/EMElectronPenelope.cc b/examples/advanced/hadrontherapy/src/EMElectronPenelope.cc deleted file mode 100755 index 18cd08c8aa..0000000000 --- a/examples/advanced/hadrontherapy/src/EMElectronPenelope.cc +++ /dev/null @@ -1,86 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyElectronPenelope.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -#include "EMElectronPenelope.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4PenelopeIonisation.hh" -#include "G4PenelopeBremsstrahlung.hh" -#include "G4StepLimiter.hh" - - -EMElectronPenelope::EMElectronPenelope(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (electron)" - << G4endl - << " G4PenelopeIonisation (electron)" - << G4endl - << " G4PenelopeBremsstrahlung (electron)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMElectronPenelope::~EMElectronPenelope() -{ } - -void EMElectronPenelope::ConstructProcess() -{ - - // **************** - // *** Electron *** - // **************** - - G4MultipleScattering* electronMultipScatProcess = new G4MultipleScattering(); - G4PenelopeIonisation* electronIonisationProcess = new G4PenelopeIonisation(); - G4PenelopeBremsstrahlung* electronBremsstrProcess = new G4PenelopeBremsstrahlung(); - - G4StepLimiter* electronStepLimiter = new G4StepLimiter(); - - G4ParticleDefinition* particle = G4Electron::Electron(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - processManager -> AddProcess(electronMultipScatProcess, -1, 1, 1); - processManager -> AddProcess(electronIonisationProcess, -1, 2, 2); - processManager -> AddProcess(electronBremsstrProcess, -1, -1, 3); - processManager -> AddProcess(electronStepLimiter, -1, -1, 3); - -} diff --git a/examples/advanced/hadrontherapy/src/EMElectronStandard.cc b/examples/advanced/hadrontherapy/src/EMElectronStandard.cc deleted file mode 100755 index 1860c7767b..0000000000 --- a/examples/advanced/hadrontherapy/src/EMElectronStandard.cc +++ /dev/null @@ -1,89 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: EMElectronStandard.cc; Last by G.A.P.Cirrone September 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -// This class manages the electromagnetic processes for electrons -// using the Standard Models of Geant4 -// -------------------------------------------------------------- - -#include "EMElectronStandard.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4StepLimiter.hh" - - -EMElectronStandard::EMElectronStandard(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (electron)" - << G4endl - << " G4eIonisation (electron)" - << G4endl - << " G4eBremsstrahlung (electron)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMElectronStandard::~EMElectronStandard() -{ } - -void EMElectronStandard::ConstructProcess() -{ - - // **************** - // *** Electron *** - // **************** - - G4MultipleScattering* electronMultipScatProcess = new G4MultipleScattering(); - G4eIonisation* electronIonisationProcess = new G4eIonisation(); - G4eBremsstrahlung* electronBremsstrProcess = new G4eBremsstrahlung(); - - G4ParticleDefinition* particle = G4Electron::Electron(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - - processManager -> AddProcess(electronMultipScatProcess, -1, 1, 1); - processManager -> AddProcess(electronIonisationProcess, -1, 2, 2); - processManager -> AddProcess(electronBremsstrProcess, -1, 3, 3); - - -} diff --git a/examples/advanced/hadrontherapy/src/EMHadronIonLowEICRU49.cc b/examples/advanced/hadrontherapy/src/EMHadronIonLowEICRU49.cc deleted file mode 100755 index d1667d6012..0000000000 --- a/examples/advanced/hadrontherapy/src/EMHadronIonLowEICRU49.cc +++ /dev/null @@ -1,114 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: EMHadronIonLowEICRU49.cc; -// Last modified: A.Lechner (anton.lechner@cern.ch), August 2008; -// -// See more at: http://geant4infn.wikispaces.com -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - - -#include "G4SDManager.hh" -#include "EMHadronIonLowEICRU49.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4hLowEnergyIonisation.hh" -#include "G4StepLimiter.hh" - - -EMHadronIonLowEICRU49::EMHadronIonLowEICRU49(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (ions and charged hadrons)" - << G4endl - << " G4hLowEnergyIonisation (ions and charged hadrons)" - << G4endl - << " (applying ICRU49 stopping power parametrisations)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMHadronIonLowEICRU49::~EMHadronIonLowEICRU49() -{ } - -void EMHadronIonLowEICRU49::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ******************************** - // *** Charged Hadrons and Ions *** - // ******************************** - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - particle = theParticleIterator -> value(); - processManager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - G4double charge = particle -> GetPDGCharge(); - - if (charge != 0.0 && - particleName != "e+" && - particleName != "mu+" && - particleName != "e-" && - particleName != "mu-") - { - if((!particle -> IsShortLived()) && - (particle -> GetParticleName() != "chargedgeantino")) - { - - G4MultipleScattering* hadronIonMultipleScatProcess = new G4MultipleScattering(); - G4hLowEnergyIonisation* hadronIonIonisationProcess = new G4hLowEnergyIonisation(); - hadronIonIonisationProcess -> SetNuclearStoppingOn(); - - G4StepLimiter* hadronIonStepLimiter = new G4StepLimiter(); - - processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); - processManager -> AddProcess(hadronIonIonisationProcess, -1, 2, 2); - processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); - } - } - } -} - - diff --git a/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1977.cc b/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1977.cc deleted file mode 100755 index eeee5c0f7b..0000000000 --- a/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1977.cc +++ /dev/null @@ -1,115 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: EMHadronIonLowEZiegler1977.cc -// Last modified: A.Lechner (anton.lechner@cern.ch), August 2008; -// -// See more at: http://geant4infn.wikispaces.com -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// --------------------------------------------------- - -#include "EMHadronIonLowEZiegler1977.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4hLowEnergyIonisation.hh" -#include "G4StepLimiter.hh" -#include "G4hZiegler1977p.hh" - - -EMHadronIonLowEZiegler1977::EMHadronIonLowEZiegler1977(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (ions and charged hadrons)" - << G4endl - << " G4hLowEnergyIonisation (ions and charged hadrons)" - << G4endl - << " (applying Ziegler77 stopping power parametrisations)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMHadronIonLowEZiegler1977::~EMHadronIonLowEZiegler1977() -{ } - -void EMHadronIonLowEZiegler1977::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ******************************** - // *** Charged Hadrons and Ions *** - // ******************************** - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - particle = theParticleIterator -> value(); - processManager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - G4double charge = particle -> GetPDGCharge(); - - if (charge != 0.0 && - particleName != "e+" && - particleName != "mu+" && - particleName != "e-" && - particleName != "mu-") - { - if((!particle -> IsShortLived()) && - (particle -> GetParticleName() != "chargedgeantino")) - { - - G4MultipleScattering* hadronIonMultipleScatProcess = new G4MultipleScattering(); - G4hLowEnergyIonisation* hadronIonIonisationProcess = new G4hLowEnergyIonisation(); - hadronIonIonisationProcess -> SetElectronicStoppingPowerModel(particle, "Ziegler1977p"); - hadronIonIonisationProcess -> SetNuclearStoppingPowerModel("Ziegler1977"); - hadronIonIonisationProcess -> SetNuclearStoppingOn(); - - G4StepLimiter* hadronIonStepLimiter = new G4StepLimiter(); - - processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); - processManager -> AddProcess(hadronIonIonisationProcess, -1, 2, 2); - processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); - } - } - } -} - - diff --git a/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1985.cc b/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1985.cc deleted file mode 100755 index f73ad3883a..0000000000 --- a/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1985.cc +++ /dev/null @@ -1,116 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: EMHadronIonLowEZiegler1985.cc; -// Last modified: A.Lechner (anton.lechner@cern.ch), August 2008; -// -// See more at: http://geant4infn.wikispaces.com -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "EMHadronIonLowEZiegler1985.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4hLowEnergyIonisation.hh" -#include "G4hIonisation.hh" -#include "G4StepLimiter.hh" -#include "G4hZiegler1985p.hh" - - -EMHadronIonLowEZiegler1985::EMHadronIonLowEZiegler1985(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (ions and charged hadrons)" - << G4endl - << " G4hLowEnergyIonisation (ions and charged hadrons)" - << G4endl - << " (applying Ziegler85 stopping power parametrisations)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMHadronIonLowEZiegler1985::~EMHadronIonLowEZiegler1985() -{ } - -void EMHadronIonLowEZiegler1985::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ******************************** - // *** Charged Hadrons and Ions *** - // ******************************** - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - particle = theParticleIterator -> value(); - processManager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - G4double charge = particle -> GetPDGCharge(); - - if (charge != 0.0 && - particleName != "e+" && - particleName != "mu+" && - particleName != "e-" && - particleName != "mu-") - { - if((!particle -> IsShortLived()) && - (particle -> GetParticleName() != "chargedgeantino")) - { - G4MultipleScattering* hadronIonMultipleScatProcess = new G4MultipleScattering(); - G4hLowEnergyIonisation* hadronIonIonisationProcess = new G4hLowEnergyIonisation(); - hadronIonIonisationProcess -> SetElectronicStoppingPowerModel(particle, "Ziegler1985p"); - hadronIonIonisationProcess -> SetNuclearStoppingPowerModel("Ziegler1985"); - hadronIonIonisationProcess -> SetNuclearStoppingOn(); - - G4StepLimiter* hadronIonStepLimiter = new G4StepLimiter(); - - processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); - processManager -> AddProcess(hadronIonIonisationProcess, -1, 2, 2); - processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); - } - } - } -} - - diff --git a/examples/advanced/hadrontherapy/src/EMHadronIonStandard.cc b/examples/advanced/hadrontherapy/src/EMHadronIonStandard.cc deleted file mode 100755 index 3950da7fae..0000000000 --- a/examples/advanced/hadrontherapy/src/EMHadronIonStandard.cc +++ /dev/null @@ -1,107 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: EMIonStandard.cc; November 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -// This class manages the electromagnetic processes for charged hadrons and ions -// using the Standard Models of Geant4 -// ---------------------------------------------------------------------------- - -#include "EMHadronIonStandard.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4hMultipleScattering.hh" -#include "G4hIonisation.hh" -#include "G4ionIonisation.hh" -#include "G4MultipleScattering.hh" -#include "G4StepLimiter.hh" -#include "G4EmProcessOptions.hh" -#include "G4MuIonisation.hh" - -EMHadronIonStandard::EMHadronIonStandard(const G4String& name): - G4VPhysicsConstructor(name) -{ } - -EMHadronIonStandard::~EMHadronIonStandard() -{ } - -void EMHadronIonStandard::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - // ******************************** - // *** Charged Hadrons and Ions *** - // ******************************** - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - particle = theParticleIterator -> value(); - processManager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - G4double charge = particle -> GetPDGCharge(); - - if (particleName == "GenericIon"|| - particleName == "alpha" || - particleName == "He3") - { - processManager -> AddProcess(new G4hMultipleScattering, -1, 1, 1); - processManager -> AddProcess(new G4hIonisation ,-1, 2, 2); - } - else - { - if (charge != 0.0 && - particleName != "e+" && - particleName != "mu+" && - particleName != "e-" && - particleName != "mu-") - { - if((!particle -> IsShortLived()) && - (particle -> GetParticleName() != "chargedgeantino")) - { - processManager -> AddProcess(new G4hMultipleScattering, -1, 1, 1); - processManager -> AddProcess(new G4hIonisation, -1, 2, 2); - } - } - } - } - - } - - diff --git a/examples/advanced/hadrontherapy/src/EMMuonStandard.cc b/examples/advanced/hadrontherapy/src/EMMuonStandard.cc deleted file mode 100755 index 1f363a311c..0000000000 --- a/examples/advanced/hadrontherapy/src/EMMuonStandard.cc +++ /dev/null @@ -1,134 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: EMMuonStandard.cc; -// Last modified: A.Lechner (anton.lechner@cern.ch), August 2008; -// -// See more at: http://geant4infn.wikispaces.com -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "EMMuonStandard.hh" -#include "G4ParticleDefinition.hh" -#include "G4MuonPlus.hh" -#include "G4MuonMinus.hh" -#include "G4ProcessManager.hh" -#include "G4MultipleScattering.hh" -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" -#include "G4StepLimiter.hh" -#include "G4EmProcessOptions.hh" - - -EMMuonStandard::EMMuonStandard(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (muon+/-)" - << G4endl - << " G4MuIonisation (muon+/-)" - << G4endl - << " G4MuBremsstrahlung (muon+/-)" - << G4endl - << " G4MuPairProduction (muon+/-)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMMuonStandard::~EMMuonStandard() -{ } - -void EMMuonStandard::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ************* - // *** Muon+ *** - // ************* - - G4MultipleScattering* muonPlusMultipleScatteringProcess = new G4MultipleScattering(); - G4MuIonisation* muonPlusIonisationProcess = new G4MuIonisation(); - G4MuBremsstrahlung* muonPlusBremsstrahlungProcess = new G4MuBremsstrahlung(); - G4MuPairProduction* muonPlusPairProductionProcess = new G4MuPairProduction(); - - particle = G4MuonPlus::MuonPlus(); - processManager = particle -> GetProcessManager(); - processManager -> AddProcess(muonPlusMultipleScatteringProcess); - processManager -> AddProcess(muonPlusIonisationProcess); - processManager -> AddProcess(muonPlusBremsstrahlungProcess); - processManager -> AddProcess(muonPlusPairProductionProcess); - - processManager -> SetProcessOrdering(muonPlusMultipleScatteringProcess, idxAlongStep,1); - processManager -> SetProcessOrdering(muonPlusIonisationProcess, idxAlongStep,2); - processManager -> SetProcessOrdering(muonPlusBremsstrahlungProcess, idxAlongStep,3); - processManager -> SetProcessOrdering(muonPlusPairProductionProcess, idxAlongStep,4); - - processManager -> SetProcessOrdering(muonPlusMultipleScatteringProcess, idxPostStep,1); - processManager -> SetProcessOrdering(muonPlusIonisationProcess, idxPostStep,2); - processManager -> SetProcessOrdering(muonPlusBremsstrahlungProcess, idxPostStep,3); - processManager -> SetProcessOrdering(muonPlusPairProductionProcess, idxPostStep,4); - - - // ************* - // *** Muon- *** - // ************* - - G4MultipleScattering* muonMinusMultipleScatteringProcess = new G4MultipleScattering(); - G4MuIonisation* muonMinusIonisationProcess = new G4MuIonisation(); - G4MuBremsstrahlung* muonMinusBremsstrahlungProcess = new G4MuBremsstrahlung(); - G4MuPairProduction* muonMinusPairProductionProcess = new G4MuPairProduction(); - - particle = G4MuonMinus::MuonMinus(); - processManager = particle -> GetProcessManager(); - processManager -> AddProcess(muonMinusMultipleScatteringProcess); - processManager -> AddProcess(muonMinusIonisationProcess); - processManager -> AddProcess(muonMinusBremsstrahlungProcess); - processManager -> AddProcess(muonMinusPairProductionProcess); - - processManager -> SetProcessOrdering(muonMinusMultipleScatteringProcess, idxAlongStep,1); - processManager -> SetProcessOrdering(muonMinusIonisationProcess, idxAlongStep,2); - processManager -> SetProcessOrdering(muonMinusBremsstrahlungProcess, idxAlongStep,3); - processManager -> SetProcessOrdering(muonMinusPairProductionProcess, idxAlongStep,4); - - processManager -> SetProcessOrdering(muonMinusMultipleScatteringProcess, idxPostStep,1); - processManager -> SetProcessOrdering(muonMinusIonisationProcess, idxPostStep,2); - processManager -> SetProcessOrdering(muonMinusBremsstrahlungProcess, idxPostStep,3); - processManager -> SetProcessOrdering(muonMinusPairProductionProcess, idxPostStep,4); -} diff --git a/examples/advanced/hadrontherapy/src/EMPhotonEPDL.cc b/examples/advanced/hadrontherapy/src/EMPhotonEPDL.cc deleted file mode 100755 index dc1dd7b051..0000000000 --- a/examples/advanced/hadrontherapy/src/EMPhotonEPDL.cc +++ /dev/null @@ -1,92 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyPhotonEPDL.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "EMPhotonEPDL.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4Gamma.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyRayleigh.hh" -#include "G4StepLimiter.hh" - - -EMPhotonEPDL::EMPhotonEPDL(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4LowEnergyPhotoElectric (photon)" - << G4endl - << " G4LowEnergyCompton (photon)" - << G4endl - << " G4LowEnergyGammaConversion (photon)" - << G4endl - << " G4LowEnergyRayleigh (photon)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMPhotonEPDL::~EMPhotonEPDL() -{ } - -void EMPhotonEPDL::ConstructProcess() -{ - - // ************** - // *** Photon *** - // ************** - - G4LowEnergyPhotoElectric* photonPhotoElectricProcess = new G4LowEnergyPhotoElectric(); - G4LowEnergyCompton* photonComptonProcess = new G4LowEnergyCompton; - G4LowEnergyGammaConversion* photonGammaConvProcess = new G4LowEnergyGammaConversion; - G4LowEnergyRayleigh* photonRayleighProcess = new G4LowEnergyRayleigh; - - G4StepLimiter* photonStepLimiter = new G4StepLimiter(); - - G4ParticleDefinition* particle = G4Gamma::Gamma(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(photonPhotoElectricProcess); - processManager -> AddDiscreteProcess(photonComptonProcess); - processManager -> AddDiscreteProcess(photonGammaConvProcess); - processManager -> AddDiscreteProcess(photonRayleighProcess); - processManager -> AddProcess(photonStepLimiter, -1, -1, 3); - -} diff --git a/examples/advanced/hadrontherapy/src/EMPhotonPenelope.cc b/examples/advanced/hadrontherapy/src/EMPhotonPenelope.cc deleted file mode 100755 index 0b9a804d21..0000000000 --- a/examples/advanced/hadrontherapy/src/EMPhotonPenelope.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyPhotonPenelope.cc; Version 4.0 May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "EMPhotonPenelope.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4Gamma.hh" -#include "G4PenelopeCompton.hh" -#include "G4PenelopeGammaConversion.hh" -#include "G4PenelopePhotoElectric.hh" -#include "G4PenelopeRayleigh.hh" -#include "G4StepLimiter.hh" - - -EMPhotonPenelope::EMPhotonPenelope(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4PenelopePhotoElectric (photon)" - << G4endl - << " G4PenelopeCompton (photon)" - << G4endl - << " G4PenelopeGammaConversion (photon)" - << G4endl - << " G4PenelopeRayleigh (photon)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMPhotonPenelope::~EMPhotonPenelope() -{ } - -void EMPhotonPenelope::ConstructProcess() -{ - - // ************** - // *** Photon *** - // ************** - - G4PenelopePhotoElectric* photonPhotoElectricProcess = new G4PenelopePhotoElectric(); - G4PenelopeCompton* photonComptonProcess = new G4PenelopeCompton; - G4PenelopeGammaConversion* photonGammaConvProcess = new G4PenelopeGammaConversion; - G4PenelopeRayleigh* photonRayleighProcess = new G4PenelopeRayleigh; - - G4StepLimiter* photonStepLimiter = new G4StepLimiter(); - - G4ParticleDefinition* particle = G4Gamma::Gamma(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(photonPhotoElectricProcess); - processManager -> AddDiscreteProcess(photonComptonProcess); - processManager -> AddDiscreteProcess(photonGammaConvProcess); - processManager -> AddDiscreteProcess(photonRayleighProcess); - processManager -> AddProcess(photonStepLimiter, -1, -1, 3); - -} - - diff --git a/examples/advanced/hadrontherapy/src/EMPhotonStandard.cc b/examples/advanced/hadrontherapy/src/EMPhotonStandard.cc deleted file mode 100755 index f1c5a17c84..0000000000 --- a/examples/advanced/hadrontherapy/src/EMPhotonStandard.cc +++ /dev/null @@ -1,87 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: EMPhotonStandard.cc; September 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -// This class manages the electromagnetic processes for photons -// using the Standard Electromagnetic Models of Geant4 -// ---------------------------------------------------------------------------- - -#include "EMPhotonStandard.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4Gamma.hh" -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" -#include "G4StepLimiter.hh" - - - -EMPhotonStandard::EMPhotonStandard(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4PhotoElectricEffect (photon)" - << G4endl - << " G4ComptonScattering (photon)" - << G4endl - << " G4GammaConversion (photon)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMPhotonStandard::~EMPhotonStandard() -{ } - -void EMPhotonStandard::ConstructProcess() -{ - - // ************** - // *** Photon *** - // ************** - - G4PhotoElectricEffect* photonPhotoElectricProcess = new G4PhotoElectricEffect(); - G4ComptonScattering* photonComptonProcess = new G4ComptonScattering; - G4GammaConversion* photonGammaConvProcess = new G4GammaConversion; - - G4ParticleDefinition* particle = G4Gamma::Gamma(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(photonPhotoElectricProcess); - processManager -> AddDiscreteProcess(photonComptonProcess); - processManager -> AddDiscreteProcess(photonGammaConvProcess); -} diff --git a/examples/advanced/hadrontherapy/src/EMPositronPenelope.cc b/examples/advanced/hadrontherapy/src/EMPositronPenelope.cc deleted file mode 100755 index 3c28322eac..0000000000 --- a/examples/advanced/hadrontherapy/src/EMPositronPenelope.cc +++ /dev/null @@ -1,91 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyPositronPenelope.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "EMPositronPenelope.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4PenelopeIonisation.hh" -#include "G4PenelopeBremsstrahlung.hh" -#include "G4PenelopeAnnihilation.hh" -#include "G4StepLimiter.hh" - - -EMPositronPenelope::EMPositronPenelope(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (positron)" - << G4endl - << " G4PenelopeIonisation (positron)" - << G4endl - << " G4PenelopeBremsstrahlung (positron)" - << G4endl - << " G4PenelopeAnnihilation (positron)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMPositronPenelope::~EMPositronPenelope() -{ } - -void EMPositronPenelope::ConstructProcess() -{ - - // **************** - // *** Positron *** - // **************** - - G4MultipleScattering* positronMultipScatProcess = new G4MultipleScattering(); - G4PenelopeIonisation* positronIonisationProcess = new G4PenelopeIonisation(); - G4PenelopeBremsstrahlung* positronBremsstrProcess = new G4PenelopeBremsstrahlung(); - G4PenelopeAnnihilation* positronAnnihilationProcess = new G4PenelopeAnnihilation(); - - G4StepLimiter* positronStepLimiter = new G4StepLimiter(); - - G4ParticleDefinition* particle = G4Positron::Positron(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - processManager -> AddProcess(positronMultipScatProcess, -1, 1, 1); - processManager -> AddProcess(positronIonisationProcess, -1, 2, 2); - processManager -> AddProcess(positronBremsstrProcess, -1, -1, 3); - processManager -> AddProcess(positronAnnihilationProcess, 0, -1, 4); - processManager -> AddProcess(positronStepLimiter, -1, -1, 3); - -} diff --git a/examples/advanced/hadrontherapy/src/EMPositronStandard.cc b/examples/advanced/hadrontherapy/src/EMPositronStandard.cc deleted file mode 100755 index 9aaa388aac..0000000000 --- a/examples/advanced/hadrontherapy/src/EMPositronStandard.cc +++ /dev/null @@ -1,102 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// EMPositronStandard.cc February 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -// This class manages the electromagnetic processes for positrons -// using the Standard Electromagnetic Models of Geant4 -// ---------------------------------------------------------------------------- - -#include "EMPositronStandard.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" -#include "G4StepLimiter.hh" -#include "G4EmProcessOptions.hh" - - -EMPositronStandard::EMPositronStandard(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (positron)" - << G4endl - << " G4eIonisation (positron)" - << G4endl - << " G4eBremsstrahlung (positron)" - << G4endl - << " G4eplusAnnihilation (positron)" - << G4endl - << "APPLIED MODEL(S): -" - << G4endl; -} - -EMPositronStandard::~EMPositronStandard() -{ } - -void EMPositronStandard::ConstructProcess() -{ - - // **************** - // *** Positron *** - // **************** - - G4MultipleScattering* positronMultipScatProcess = new G4MultipleScattering(); - G4eIonisation* positronIonisationProcess = new G4eIonisation(); - G4eBremsstrahlung* positronBremsstrProcess = new G4eBremsstrahlung(); - G4eplusAnnihilation* positronAnnihilationProcess = new G4eplusAnnihilation(); - - - G4ParticleDefinition* particle = G4Positron::Positron(); - G4ProcessManager* processManager = particle -> GetProcessManager(); - processManager -> AddProcess(positronMultipScatProcess, -1, 1, 1); - processManager -> AddProcess(positronIonisationProcess, -1, 2, 2); - processManager -> AddProcess(positronBremsstrProcess, -1, -1, 3); - processManager -> AddProcess(positronAnnihilationProcess, 0, -1, 4); - - // Options activated to improve accuracy; - // Usefull for a medical application - G4EmProcessOptions opt; - opt.SetStepFunction(0.2, 10*um); - opt.SetMinEnergy(0.1*keV); - opt.SetMaxEnergy(100.*GeV); - opt.SetDEDXBinning(360); - opt.SetLambdaBinning(360); - opt.SetLinearLossLimit(1.e-6); -} diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonBertiniElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonBertiniElastic.cc deleted file mode 100755 index f385907564..0000000000 --- a/examples/advanced/hadrontherapy/src/HEHadronIonBertiniElastic.cc +++ /dev/null @@ -1,118 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronBertiniElastic.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HEHadronIonBertiniElastic.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4LElastic.hh" -#include "G4HadronElasticProcess.hh" -#include "G4CascadeElasticInterface.hh" - -HEHadronIonBertiniElastic::HEHadronIonBertiniElastic(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4HadronElasticProcess (all considere hadrons and ions)" - << G4endl - << "APPLIED MODEL(S): G4CascadeElasticInterface (hadrons)" - << G4endl - << " G4LElastic (ions)" - << G4endl; -} - -HEHadronIonBertiniElastic::~HEHadronIonBertiniElastic() -{} -///////////////////////////////////////////////////////////////////////////// -void HEHadronIonBertiniElastic::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - // ********************************************** - // *** Proton, Neutron, Pion plus, Pion minus *** - // ********************************************** - - G4HadronElasticProcess* hadronElasticProcess = new G4HadronElasticProcess(); - G4CascadeElasticInterface* hadronBertiniElasticModel = new G4CascadeElasticInterface; - hadronElasticProcess -> RegisterMe(hadronBertiniElasticModel); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronElasticProcess); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronElasticProcess); - - particle = G4PionPlus::PionPlus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronElasticProcess); - - particle = G4PionMinus::PionMinus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronElasticProcess); - - // ******************************* - // *** Deuteron, Triton, Alpha *** - // ******************************* - - G4HadronElasticProcess* ionElasticProcess = new G4HadronElasticProcess(); - G4LElastic* ionLElasticModel = new G4LElastic(); - ionElasticProcess -> RegisterMe(ionLElasticModel); - - particle = G4Deuteron::Deuteron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(ionElasticProcess); - - particle = G4Triton::Triton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(ionElasticProcess); - - particle = G4Alpha::Alpha(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(ionElasticProcess); - - // particle = G4He3::He3(); - // processManager = particle -> GetProcessManager(); - // processManager -> AddDiscreteProcess(ionElasticProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonLElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonLElastic.cc deleted file mode 100755 index e4498029a2..0000000000 --- a/examples/advanced/hadrontherapy/src/HEHadronIonLElastic.cc +++ /dev/null @@ -1,110 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronElastic.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HEHadronIonLElastic.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4LElastic.hh" -#include "G4HadronElasticProcess.hh" - - -HEHadronIonLElastic::HEHadronIonLElastic(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4HadronElasticProcess (all considered hadrons and ions)" - << G4endl - << "APPLIED MODEL(S): G4LElastic" - << G4endl; -} - -HEHadronIonLElastic::~HEHadronIonLElastic() -{} - -void HEHadronIonLElastic::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ********************************************** - // *** Proton, Neutron, Pion plus, Pion minus *** - // *** Deuteron, Triton, Alpha *** - // ********************************************** - - G4HadronElasticProcess* hadronIonElasticProcess = new G4HadronElasticProcess(); - G4LElastic* hadronIonLElasticModel = new G4LElastic(); - hadronIonElasticProcess -> RegisterMe(hadronIonLElasticModel); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - - particle = G4PionPlus::PionPlus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - - particle = G4PionMinus::PionMinus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - - particle = G4Deuteron::Deuteron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - - particle = G4Triton::Triton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - - particle = G4Alpha::Alpha(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - - // particle = G4He3::He3(); - // processManager = particle -> GetProcessManager(); - // processManager -> AddDiscreteProcess(hadronIonElasticProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonQElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonQElastic.cc deleted file mode 100755 index c8708c8987..0000000000 --- a/examples/advanced/hadrontherapy/src/HEHadronIonQElastic.cc +++ /dev/null @@ -1,118 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronCHIPSElastic.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HEHadronIonQElastic.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4LElastic.hh" -#include "G4HadronElasticProcess.hh" -#include "G4QElastic.hh" - - -HEHadronIonQElastic::HEHadronIonQElastic(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4QElastic (protons, neutrons)" - << G4endl - << " G4HadronElasticProcess (pions, considered ions)" - << "APPLIED MODEL(S): G4LElastic (pions, considered ions)" - << G4endl; -} - -HEHadronIonQElastic::~HEHadronIonQElastic() -{} - -void HEHadronIonQElastic::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // *********************** - // *** Proton, Neutron *** - // *********************** - - G4QElastic* protonNeutronElasticProcess = new G4QElastic(); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonNeutronElasticProcess); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonNeutronElasticProcess); - - - // *************************************** - // *** Pion plus, Pion minus, Deuteron *** - // *** Triton, Alpha *** - // *************************************** - - G4HadronElasticProcess* pionIonElasticProcess = new G4HadronElasticProcess(); - G4LElastic* pionIonLElasticModel = new G4LElastic(); - pionIonElasticProcess -> RegisterMe(pionIonLElasticModel); - - particle = G4PionPlus::PionPlus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionIonElasticProcess); - - particle = G4PionMinus::PionMinus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionIonElasticProcess); - - particle = G4Deuteron::Deuteron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionIonElasticProcess); - - particle = G4Triton::Triton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionIonElasticProcess); - - particle = G4Alpha::Alpha(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionIonElasticProcess); - - // particle = G4He3::He3(); - // processManager = particle -> GetProcessManager(); - // processManager -> AddDiscreteProcess(pionIonElasticProcess); -} - - - diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonUElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonUElastic.cc deleted file mode 100755 index a8a43c8703..0000000000 --- a/examples/advanced/hadrontherapy/src/HEHadronIonUElastic.cc +++ /dev/null @@ -1,113 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyHadronUElastic.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HEHadronIonUElastic.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4UHadronElasticProcess.hh" -#include "G4HadronElastic.hh" -#include "G4VQCrossSection.hh" - - -HEHadronIonUElastic::HEHadronIonUElastic(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4UHadronElasticProcess (all considered hadrons and ions)" - << G4endl - << "APPLIED MODEL(S): G4HadronElastic" - << G4endl; - - model = 0; -} - -HEHadronIonUElastic::~HEHadronIonUElastic() -{ - delete model; -} - -void HEHadronIonUElastic::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - // ********************************************** - // *** Proton, Neutron, Pion plus, Pion minus *** - // *** Deuteron, Triton, Alpha *** - // ********************************************** - - G4UHadronElasticProcess* hadronIonElasticProcess = new G4UHadronElasticProcess("elasticProcess", false); - - G4double hadronIonElasticMinEnergy = 0. * keV; - G4double hadronIonElasticMaxEnergy = 100. * TeV; - - G4HadronElastic* hadronIonElasticModel = new G4HadronElastic(); - hadronIonElasticModel -> SetMinEnergy(hadronIonElasticMinEnergy); - hadronIonElasticModel -> SetMaxEnergy(hadronIonElasticMaxEnergy); - - G4VQCrossSection* hadronIonElasticCrossSection = hadronIonElasticModel->GetCS(); - - hadronIonElasticProcess -> SetQElasticCrossSection(hadronIonElasticCrossSection); - hadronIonElasticProcess -> RegisterMe(hadronIonElasticModel); - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - particle = theParticleIterator -> value(); - G4String particleName = particle -> GetParticleName(); - - if(particleName == "neutron" || - particleName == "pi-" || - particleName == "pi+" || - particleName == "proton" || - particleName == "alpha" || - particleName == "deuteron" || - particleName == "triton") - - { - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(hadronIonElasticProcess); - } - } - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIIonLEP.cc b/examples/advanced/hadrontherapy/src/HIIonLEP.cc deleted file mode 100755 index bac80b99bd..0000000000 --- a/examples/advanced/hadrontherapy/src/HIIonLEP.cc +++ /dev/null @@ -1,135 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.cc; November 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIIonLEP.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4TripathiCrossSection.hh" -#include "G4IonsShenCrossSection.hh" -#include "G4DeuteronInelasticProcess.hh" -#include "G4TritonInelasticProcess.hh" -#include "G4AlphaInelasticProcess.hh" -#include "G4LEDeuteronInelastic.hh" -#include "G4LETritonInelastic.hh" -#include "G4LEAlphaInelastic.hh" - - -HIIonLEP::HIIonLEP(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (all ions)" - << G4endl - << "APPLIED MODEL(S): G4LEXXXInelastic" - << G4endl; -} - -HIIonLEP::~HIIonLEP() -{} - -void HIIonLEP::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // *************************************************** - // *** Deuteron, Triton, Alpha: Common Definitions *** - // *************************************************** - - G4TripathiCrossSection* ionTripathiCrossSection = new G4TripathiCrossSection; - G4IonsShenCrossSection* ionShenCrossSection = new G4IonsShenCrossSection; - - G4double ionLEPMaxEnergy = 100. * MeV; - - - // **************** - // *** Deuteron *** - // **************** - - G4DeuteronInelasticProcess* deuteronInelasticProcess = new G4DeuteronInelasticProcess; - - G4LEDeuteronInelastic* deuteronLEPModel = new G4LEDeuteronInelastic; - deuteronLEPModel -> SetMaxEnergy(ionLEPMaxEnergy); - - deuteronInelasticProcess -> AddDataSet(ionTripathiCrossSection); - deuteronInelasticProcess -> RegisterMe(deuteronLEPModel); - - particle = G4Deuteron::Deuteron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(deuteronInelasticProcess); - - - // ************** - // *** Triton *** - // ************** - - G4TritonInelasticProcess* tritonInelasticProcess = new G4TritonInelasticProcess; - - G4LETritonInelastic* tritonLEPModel = new G4LETritonInelastic; - tritonLEPModel -> SetMaxEnergy(ionLEPMaxEnergy); - - tritonInelasticProcess -> AddDataSet(ionTripathiCrossSection); - tritonInelasticProcess -> RegisterMe(tritonLEPModel); - - particle = G4Triton::Triton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(tritonInelasticProcess); - - - // ************* - // *** Alpha *** - // ************* - - G4AlphaInelasticProcess* alphaInelasticProcess = new G4AlphaInelasticProcess; - - G4LEAlphaInelastic* alphaLEPModel = new G4LEAlphaInelastic; - alphaLEPModel -> SetMaxEnergy(ionLEPMaxEnergy); - - alphaInelasticProcess -> AddDataSet(ionTripathiCrossSection); - alphaInelasticProcess -> RegisterMe(alphaLEPModel); - - particle = G4Alpha::Alpha(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(alphaInelasticProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIPionBertini.cc b/examples/advanced/hadrontherapy/src/HIPionBertini.cc deleted file mode 100755 index fb771f179f..0000000000 --- a/examples/advanced/hadrontherapy/src/HIPionBertini.cc +++ /dev/null @@ -1,112 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonLEP.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIPionBertini.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PionPlusInelasticProcess.hh" -#include "G4PionMinusInelasticProcess.hh" -#include "G4CascadeInterface.hh" -#include "G4PiNuclearCrossSection.hh" - - -HIPionBertini::HIPionBertini(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4PionXXXInelasticProcess (pions+/-)" - << G4endl - << "APPLIED MODEL(S): G4CascadeInterface" - << G4endl; -} - -HIPionBertini::~HIPionBertini() -{} - -void HIPionBertini::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // *********************************** - // *** Pion+/-: Common Definitions *** - // *********************************** - - G4PiNuclearCrossSection* pionNuclearCrossSection = new G4PiNuclearCrossSection(); - - G4double pionBertiniMinEnergy = 0. * MeV; - G4double pionBertiniMaxEnergy = 100. * MeV; - - G4CascadeInterface* pionBertiniElasticModel = new G4CascadeInterface; - pionBertiniElasticModel -> SetMinEnergy(pionBertiniMinEnergy); - pionBertiniElasticModel -> SetMaxEnergy(pionBertiniMaxEnergy); - - - // ************* - // *** Pion+ *** - // ************* - - G4PionPlusInelasticProcess* pionPlusInelasticProcess = new G4PionPlusInelasticProcess("inelastic"); - - pionPlusInelasticProcess -> AddDataSet(pionNuclearCrossSection); - pionPlusInelasticProcess -> RegisterMe(pionBertiniElasticModel); - - particle = G4PionPlus::PionPlus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionPlusInelasticProcess); - - - // ************** - // *** Pion- *** - // ************** - - G4PionMinusInelasticProcess* pionMinusInelasticProcess = new G4PionMinusInelasticProcess("inelastic"); - - pionMinusInelasticProcess -> AddDataSet(pionNuclearCrossSection); - pionMinusInelasticProcess -> RegisterMe(pionBertiniElasticModel); - - particle = G4PionMinus::PionMinus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionMinusInelasticProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIPionLEP.cc b/examples/advanced/hadrontherapy/src/HIPionLEP.cc deleted file mode 100755 index 625d50ff38..0000000000 --- a/examples/advanced/hadrontherapy/src/HIPionLEP.cc +++ /dev/null @@ -1,119 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonLEP.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIPionLEP.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4PionPlusInelasticProcess.hh" -#include "G4PionMinusInelasticProcess.hh" -#include "G4LEPionPlusInelastic.hh" -#include "G4LEPionMinusInelastic.hh" -#include "G4PiMinusAbsorptionAtRest.hh" -#include "G4PiNuclearCrossSection.hh" - - -HIPionLEP::HIPionLEP(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4PionXXXInelasticProcess (pions+/-)" - << G4endl - << "APPLIED MODEL(S): G4LEPionXXXInelastic" - << G4endl; -} - -HIPionLEP::~HIPionLEP() -{} - -void HIPionLEP::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // *********************************** - // *** Pion+/-: Common Definitions *** - // *********************************** - - G4double pionLEPMinEnergy = 0. * MeV; - G4double pionLEPMaxEnergy = 100. * MeV; - - G4PiNuclearCrossSection* pionNuclearCrossSection = new G4PiNuclearCrossSection(); - - // ************* - // *** Pion+ *** - // ************* - - G4PionPlusInelasticProcess* pionPlusInelasticProcess = new G4PionPlusInelasticProcess("inelastic"); - - G4LEPionPlusInelastic* pionPlusLEPModel = new G4LEPionPlusInelastic(); - pionPlusLEPModel -> SetMinEnergy(pionLEPMinEnergy); - pionPlusLEPModel -> SetMaxEnergy(pionLEPMaxEnergy); - - pionPlusInelasticProcess -> AddDataSet(pionNuclearCrossSection); - pionPlusInelasticProcess -> RegisterMe(pionPlusLEPModel); - - particle = G4PionPlus::PionPlus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionPlusInelasticProcess); - - - // ************** - // *** Pion- *** - // ************** - - G4PionMinusInelasticProcess* pionMinusInelasticProcess = new G4PionMinusInelasticProcess("inelastic"); - G4PiMinusAbsorptionAtRest* pionMinusAbsAtRestProcess = new G4PiMinusAbsorptionAtRest(); - - G4LEPionMinusInelastic* pionMinusLEPModel = new G4LEPionMinusInelastic(); - pionMinusLEPModel -> SetMinEnergy(pionLEPMinEnergy); - pionMinusLEPModel -> SetMaxEnergy(pionLEPMaxEnergy); - - pionMinusInelasticProcess -> AddDataSet(pionNuclearCrossSection); - pionMinusInelasticProcess -> RegisterMe(pionMinusLEPModel); - - particle = G4PionMinus::PionMinus(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(pionMinusInelasticProcess); - processManager -> AddRestProcess(pionMinusAbsAtRestProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronBertini.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronBertini.cc deleted file mode 100755 index a02f87951a..0000000000 --- a/examples/advanced/hadrontherapy/src/HIProtonNeutronBertini.cc +++ /dev/null @@ -1,134 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonBertini.cc; November 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it - -// Code review by M.G. Pia, 2 November 2006 -// Further code review is needed -// ---------------------------------------------------------------------------- - -#include "HIProtonNeutronBertini.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4CascadeInterface.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" - - -HIProtonNeutronBertini::HIProtonNeutronBertini(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" - << G4endl - << "APPLIED MODEL(S): G4CascadeInterface" - << G4endl; -} - -HIProtonNeutronBertini::~HIProtonNeutronBertini() -{} - -void HIProtonNeutronBertini::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ******************************************* - // *** Proton, Neutron: Common Definitions *** - // ******************************************* - - G4double protonNeutronBertiniMinEnergy = 0. * MeV; - G4double protonNeutronBertiniMaxEnergy = 100. * MeV; - - G4CascadeInterface* protonNeutronBertiniCascadeModel = new G4CascadeInterface; - protonNeutronBertiniCascadeModel -> SetMinEnergy(protonNeutronBertiniMinEnergy); - protonNeutronBertiniCascadeModel -> SetMaxEnergy(protonNeutronBertiniMaxEnergy); - - - // ************** - // *** Proton *** - // ************** - - G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); - G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); - - protonInelasticProcess -> RegisterMe(protonNeutronBertiniCascadeModel); - protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonInelasticProcess); - - - // *************** - // *** Neutron *** - // *************** - - G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; - G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; - G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); - G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); - - G4double neutronCaptureFissionMinEnergy = 0. * TeV; - G4double neutronCaptureFissionMaxEnergy = 100. * TeV; - - G4LCapture* neutronCaptureModel = new G4LCapture(); - neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - G4LFission* neutronFissionModel = new G4LFission(); - neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - neutronInelasticProcess -> RegisterMe(protonNeutronBertiniCascadeModel); - neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); - neutronCaptureProcess -> RegisterMe(neutronCaptureModel); - neutronFissionProcess -> RegisterMe(neutronFissionModel); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(neutronInelasticProcess); - processManager -> AddDiscreteProcess(neutronCaptureProcess); - processManager -> AddDiscreteProcess(neutronFissionProcess); - -} diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronBinary.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronBinary.cc deleted file mode 100755 index 30fc7c0097..0000000000 --- a/examples/advanced/hadrontherapy/src/HIProtonNeutronBinary.cc +++ /dev/null @@ -1,134 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIProtonNeutronBinary.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4BinaryCascade.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" - - -HIProtonNeutronBinary::HIProtonNeutronBinary(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" - << G4endl - << "APPLIED MODEL(S): G4BinaryCascade" - << G4endl; -} - -HIProtonNeutronBinary::~HIProtonNeutronBinary() -{} - -void HIProtonNeutronBinary::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ********************************************* - // *** Protons, Neutrons: Common Definitions *** - // ********************************************* - - G4double protonNeutronBinaryMinEnergy = 0. * MeV; - G4double protonNeutronBinaryMaxEnergy = 100. * MeV; - - G4BinaryCascade* protonNeutronBinaryCascadeModel = new G4BinaryCascade(); - protonNeutronBinaryCascadeModel -> SetMinEnergy(protonNeutronBinaryMinEnergy); - protonNeutronBinaryCascadeModel -> SetMaxEnergy(protonNeutronBinaryMaxEnergy); - - - // ************** - // *** Proton *** - // ************** - - G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); - G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); - - protonInelasticProcess -> RegisterMe(protonNeutronBinaryCascadeModel); - protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonInelasticProcess); - - - // *************** - // *** Neutron *** - // *************** - - G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; - G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; - G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); - G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); - - G4double neutronCaptureFissionMinEnergy = 0. * TeV; - G4double neutronCaptureFissionMaxEnergy = 100. * TeV; - - G4LCapture* neutronCaptureModel = new G4LCapture(); - neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - G4LFission* neutronFissionModel = new G4LFission(); - neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - neutronInelasticProcess -> RegisterMe(protonNeutronBinaryCascadeModel); - neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); - neutronCaptureProcess -> RegisterMe(neutronCaptureModel); - neutronFissionProcess -> RegisterMe(neutronFissionModel); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(neutronInelasticProcess); - processManager -> AddDiscreteProcess(neutronCaptureProcess); - processManager -> AddDiscreteProcess(neutronFissionProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronLEP.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronLEP.cc deleted file mode 100755 index f4b6573a9b..0000000000 --- a/examples/advanced/hadrontherapy/src/HIProtonNeutronLEP.cc +++ /dev/null @@ -1,138 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonLEP.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIProtonNeutronLEP.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4LEProtonInelastic.hh" -#include "G4LENeutronInelastic.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" - - -HIProtonNeutronLEP::HIProtonNeutronLEP(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" - << G4endl - << "APPLIED MODEL(S): G4LEXXXInelastic" - << G4endl; -} - -HIProtonNeutronLEP::~HIProtonNeutronLEP() -{} - -void HIProtonNeutronLEP::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - // ****************************************** - // *** Proton,Neutron: Common Definitions *** - // ****************************************** - - G4double protonNeutronLEPMinEnergy = 0. * MeV; - G4double protonNeutronLEPMaxEnergy = 100. * MeV; - - - // ************** - // *** Proton *** - // ************** - - G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); - G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); - - G4LEProtonInelastic* protonLEPModel = new G4LEProtonInelastic(); - protonLEPModel -> SetMinEnergy(protonNeutronLEPMinEnergy); - protonLEPModel -> SetMaxEnergy(protonNeutronLEPMaxEnergy); - - protonInelasticProcess -> RegisterMe(protonLEPModel); - protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonInelasticProcess); - - - // *************** - // *** Neutron *** - // *************** - - G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; - G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; - G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); - G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); - - G4LENeutronInelastic* neutronLEPModel = new G4LENeutronInelastic(); - neutronLEPModel -> SetMinEnergy(protonNeutronLEPMinEnergy); - neutronLEPModel -> SetMaxEnergy(protonNeutronLEPMaxEnergy); - - G4double neutronCaptureFissionMinEnergy = 0. * TeV; - G4double neutronCaptureFissionMaxEnergy = 100. * TeV; - - G4LCapture* neutronCaptureModel = new G4LCapture(); - neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - G4LFission* neutronFissionModel = new G4LFission(); - neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - neutronInelasticProcess -> RegisterMe(neutronLEPModel); - neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); - neutronCaptureProcess -> RegisterMe(neutronCaptureModel); - neutronFissionProcess -> RegisterMe(neutronFissionModel); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(neutronInelasticProcess); - processManager -> AddDiscreteProcess(neutronCaptureProcess); - processManager -> AddDiscreteProcess(neutronFissionProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompound.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompound.cc deleted file mode 100755 index 75590ca289..0000000000 --- a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompound.cc +++ /dev/null @@ -1,140 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIProtonNeutronPrecompound.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4PreCompoundModel.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" -#include "G4ExcitationHandler.hh" - - -HIProtonNeutronPrecompound::HIProtonNeutronPrecompound(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" - << G4endl - << "APPLIED MODEL(S): G4PreCompound" - << G4endl - << " combined with Default Evaporation" - << G4endl; -} - -HIProtonNeutronPrecompound::~HIProtonNeutronPrecompound() -{} - -void HIProtonNeutronPrecompound::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ********************************************* - // *** Protons, Neutrons: Common Definitions *** - // ********************************************* - - G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); - - G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; - G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; - - G4PreCompoundModel* protonNeutronPreCompoundModel = new G4PreCompoundModel(excitationHandler); - protonNeutronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); - protonNeutronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); - - - // ************** - // *** Proton *** - // ************** - - G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); - G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); - - protonInelasticProcess -> RegisterMe(protonNeutronPreCompoundModel); - protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonInelasticProcess); - - - // *************** - // *** Neutron *** - // *************** - - G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; - G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; - G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); - G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); - - G4double neutronCaptureFissionMinEnergy = 0. * TeV; - G4double neutronCaptureFissionMaxEnergy = 100. * TeV; - - G4LCapture* neutronCaptureModel = new G4LCapture(); - neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - G4LFission* neutronFissionModel = new G4LFission(); - neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - neutronInelasticProcess -> RegisterMe(protonNeutronPreCompoundModel); - neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); - neutronCaptureProcess -> RegisterMe(neutronCaptureModel); - neutronFissionProcess -> RegisterMe(neutronFissionModel); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(neutronInelasticProcess); - processManager -> AddDiscreteProcess(neutronCaptureProcess); - processManager -> AddDiscreteProcess(neutronFissionProcess); - - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundFermi.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundFermi.cc deleted file mode 100755 index dfdaac9b7f..0000000000 --- a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundFermi.cc +++ /dev/null @@ -1,150 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompoundFermi.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIProtonNeutronPrecompoundFermi.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4PreCompoundModel.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" -#include "G4Evaporation.hh" -#include "G4FermiBreakUp.hh" -#include "G4ExcitationHandler.hh" - - -HIProtonNeutronPrecompoundFermi::HIProtonNeutronPrecompoundFermi(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" - << G4endl - << "APPLIED MODEL(S): G4PreCompound" - << G4endl - << " combined with GEM Evaporation model" - << G4endl - << " and Fermi Break-up model" - << G4endl; -} - -HIProtonNeutronPrecompoundFermi::~HIProtonNeutronPrecompoundFermi() -{} - -void HIProtonNeutronPrecompoundFermi::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ******************************** - // *** Hadrons: Inelastic Model *** - // ******************************** - - G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); - - G4int targetZ = 1; - G4int targetA = 2 * targetZ; - - G4FermiBreakUp* hadronFermiBreakUpModel = new G4FermiBreakUp(); - excitationHandler -> SetFermiModel(hadronFermiBreakUpModel); - excitationHandler -> SetMaxAandZForFermiBreakUp(targetA,targetZ); - - G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; - G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; - - G4PreCompoundModel* hadronPreCompoundModel = new G4PreCompoundModel(excitationHandler); - hadronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); - hadronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); - - - // ************** - // *** Proton *** - // ************** - - G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); - G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); - - protonInelasticProcess -> RegisterMe(hadronPreCompoundModel); - protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonInelasticProcess); - - - // *************** - // *** Neutron *** - // *************** - - G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; - G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; - G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); - G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); - - G4double neutronCaptureFissionMinEnergy = 0. * TeV; - G4double neutronCaptureFissionMaxEnergy = 100. * TeV; - - G4LCapture* neutronCaptureModel = new G4LCapture(); - neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - G4LFission* neutronFissionModel = new G4LFission(); - neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - neutronInelasticProcess -> RegisterMe(hadronPreCompoundModel); - neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); - neutronCaptureProcess -> RegisterMe(neutronCaptureModel); - neutronFissionProcess -> RegisterMe(neutronFissionModel); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(neutronInelasticProcess); - processManager -> AddDiscreteProcess(neutronCaptureProcess); - processManager -> AddDiscreteProcess(neutronFissionProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEM.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEM.cc deleted file mode 100755 index 7ca1bab3f5..0000000000 --- a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEM.cc +++ /dev/null @@ -1,144 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIProtonNeutronPrecompoundGEM.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4PreCompoundModel.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" -#include "G4Evaporation.hh" -#include "G4ExcitationHandler.hh" - - -HIProtonNeutronPrecompoundGEM::HIProtonNeutronPrecompoundGEM(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" - << G4endl - << "APPLIED MODEL(S): G4PreCompound" - << G4endl - << " combined with GEM Evaporation model" - << G4endl; -} - -HIProtonNeutronPrecompoundGEM::~HIProtonNeutronPrecompoundGEM() -{} - -void HIProtonNeutronPrecompoundGEM::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ******************************** - // *** Hadrons: Inelastic Model *** - // ******************************** - - G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); - - G4Evaporation* evaporation = new G4Evaporation(); - evaporation -> SetGEMChannel(); - excitationHandler -> SetEvaporation(evaporation); - - G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; - G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; - - G4PreCompoundModel* hadronPreCompoundModel = new G4PreCompoundModel(excitationHandler); - hadronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); - hadronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); - - - // ************** - // *** Proton *** - // ************** - - G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); - G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); - - protonInelasticProcess -> RegisterMe(hadronPreCompoundModel); - protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonInelasticProcess); - - - // *************** - // *** Neutron *** - // *************** - - G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; - G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; - G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); - G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); - - G4double neutronCaptureFissionMinEnergy = 0. * TeV; - G4double neutronCaptureFissionMaxEnergy = 100. * TeV; - - G4LCapture* neutronCaptureModel = new G4LCapture(); - neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - G4LFission* neutronFissionModel = new G4LFission(); - neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - neutronInelasticProcess -> RegisterMe(hadronPreCompoundModel); - neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); - neutronCaptureProcess -> RegisterMe(neutronCaptureModel); - neutronFissionProcess -> RegisterMe(neutronFissionModel); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(neutronInelasticProcess); - processManager -> AddDiscreteProcess(neutronCaptureProcess); - processManager -> AddDiscreteProcess(neutronFissionProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEMFermi.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEMFermi.cc deleted file mode 100755 index a363d0987a..0000000000 --- a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEMFermi.cc +++ /dev/null @@ -1,152 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompoundGEMFermi.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HIProtonNeutronPrecompoundGEMFermi.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4PreCompoundModel.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" -#include "G4Evaporation.hh" -#include "G4ExcitationHandler.hh" -#include "G4FermiBreakUp.hh" - - -HIProtonNeutronPrecompoundGEMFermi::HIProtonNeutronPrecompoundGEMFermi(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" - << G4endl - << "APPLIED MODEL(S): G4PreCompound" - << G4endl - << " combined with GEM Evaporation model and Fermi Break-up model" - << G4endl; -} - -HIProtonNeutronPrecompoundGEMFermi::~HIProtonNeutronPrecompoundGEMFermi() -{} - -void HIProtonNeutronPrecompoundGEMFermi::ConstructProcess() -{ - G4ParticleDefinition* particle = 0; - G4ProcessManager* processManager = 0; - - - // ******************************** - // *** Hadrons: Inelastic Model *** - // ******************************** - - G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); - - G4Evaporation* evaporation = new G4Evaporation(); - evaporation -> SetGEMChannel(); - excitationHandler -> SetEvaporation(evaporation); - - G4int targetZ = 1; - G4int targetA = 2 * targetZ; - - G4FermiBreakUp* hadronFermiBreakUpModel = new G4FermiBreakUp(); - excitationHandler -> SetFermiModel(hadronFermiBreakUpModel); - excitationHandler -> SetMaxAandZForFermiBreakUp(targetA,targetZ); - - G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; - G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; - - G4PreCompoundModel* hadronPreCompoundModel = new G4PreCompoundModel(excitationHandler); - hadronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); - hadronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); - - - // ************** - // *** Proton *** - // ************** - - G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); - G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); - - protonInelasticProcess -> RegisterMe(hadronPreCompoundModel); - protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); - - particle = G4Proton::Proton(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(protonInelasticProcess); - - - // *************** - // *** Neutron *** - // *************** - - G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; - G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; - G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); - G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); - - G4double neutronCaptureFissionMinEnergy = 0. * TeV; - G4double neutronCaptureFissionMaxEnergy = 100. * TeV; - - G4LCapture* neutronCaptureModel = new G4LCapture(); - neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - G4LFission* neutronFissionModel = new G4LFission(); - neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); - neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); - - neutronInelasticProcess -> RegisterMe(hadronPreCompoundModel); - neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); - neutronCaptureProcess -> RegisterMe(neutronCaptureModel); - neutronFissionProcess -> RegisterMe(neutronFissionModel); - - particle = G4Neutron::Neutron(); - processManager = particle -> GetProcessManager(); - processManager -> AddDiscreteProcess(neutronInelasticProcess); - processManager -> AddDiscreteProcess(neutronCaptureProcess); - processManager -> AddDiscreteProcess(neutronFissionProcess); - -} - - - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisFileMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisFileMessenger.cc new file mode 100644 index 0000000000..b0bc351f0d --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisFileMessenger.cc @@ -0,0 +1,65 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// HadrontherapyAnalysisFileMessenger.cc +// +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +#include "HadrontherapyAnalysisFileMessenger.hh" +#include "HadrontherapyAnalysisManager.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIdirectory.hh" + +#ifdef ANALYSIS_USE +// +///////////////////////////////////////////////////////////////////////////// +HadrontherapyAnalysisFileMessenger::HadrontherapyAnalysisFileMessenger(HadrontherapyAnalysisManager* amgr) +:AnalysisManager(amgr) +{ + FileNameCmd = new G4UIcmdWithAString("/analysis/setAnalysisFile",this); + FileNameCmd->SetGuidance("Set the .root filename for the root-output"); + FileNameCmd->SetDefaultValue("default.root"); + FileNameCmd->SetParameterName("choice",true); ///AvailableForStates(G4State_Idle,G4State_PreInit); +} + +///////////////////////////////////////////////////////////////////////////// +HadrontherapyAnalysisFileMessenger::~HadrontherapyAnalysisFileMessenger() +{ + delete FileNameCmd; +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisFileMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == FileNameCmd) + { + AnalysisManager->SetAnalysisFileName(newValue); + AnalysisManager->flush(); //< fills matrix, writes it into file and books a new file and histograms etc. + AnalysisManager->book(); + } +} + +#endif diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc index 779df16b11..3db563d27b 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyAnalysisManager.cc @@ -23,41 +23,66 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyAnalisysManager.cc; Last modified: G.A.P.Cirrone, February 2008; -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// $Id: HadrontherapyAnalisysManager.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifdef G4ANALYSIS_USE #include "HadrontherapyAnalysisManager.hh" - +#include "HadrontherapyMatrix.hh" +#include "HadrontherapyAnalysisFileMessenger.hh" +#include +#ifdef ANALYSIS_USE HadrontherapyAnalysisManager* HadrontherapyAnalysisManager::instance = 0; -HadrontherapyAnalysisManager::HadrontherapyAnalysisManager() : - aFact(0), theTree(0), histFact(0), tupFact(0), h1(0), h2(0), h3(0), - h4(0), h5(0), h6(0), h7(0), h8(0), h9(0), h10(0), h11(0), h12(0), h13(0), h14(0), ntuple(0), - ionTuple(0) -{ -} +#ifdef G4ANALYSIS_USE_ROOT +#undef G4ANALYSIS_USE +#endif + +///////////////////////////////////////////////////////////////////////////// + +#ifdef G4ANALYSIS_USE +HadrontherapyAnalysisManager::HadrontherapyAnalysisManager() : + analysisFileName("DoseDistribution.root"), aFact(0), theTree(0), histFact(0), tupFact(0), h1(0), h2(0), h3(0), + h4(0), h5(0), h6(0), h7(0), h8(0), h9(0), h10(0), h11(0), h12(0), h13(0), h14(0), h15(0), h16(0), ntuple(0), + ionTuple(0), + fragmentTuple(0), + eventCounter(0) +{ + fMess = new HadrontherapyAnalysisFileMessenger(this); +} +#endif +#ifdef G4ANALYSIS_USE_ROOT +HadrontherapyAnalysisManager::HadrontherapyAnalysisManager() : + analysisFileName("DoseDistribution.root"),theTFile(0), histo1(0), histo2(0), histo3(0), + histo4(0), histo5(0), histo6(0), histo7(0), histo8(0), histo9(0), histo10(0), histo11(0), histo12(0), histo13(0), histo14(0), histo15(0), histo16(0), + theROOTNtuple(0), + theROOTIonTuple(0), + fragmentNtuple(0), + metaData(0), + eventCounter(0) +{ + fMess = new HadrontherapyAnalysisFileMessenger(this); +} +#endif +///////////////////////////////////////////////////////////////////////////// +HadrontherapyAnalysisManager::~HadrontherapyAnalysisManager() +{ +delete(fMess); //kill the messenger +#ifdef G4ANALYSIS_USE + delete fragmentTuple; + fragmentTuple = 0; -HadrontherapyAnalysisManager::~HadrontherapyAnalysisManager() -{ delete ionTuple; ionTuple = 0; - + delete ntuple; ntuple = 0; + delete h16; + h16 = 0; + + delete h15; + h15 = 0; + delete h14; h14 = 0; @@ -99,7 +124,7 @@ HadrontherapyAnalysisManager::~HadrontherapyAnalysisManager() delete h1; h1 = 0; - + delete tupFact; tupFact = 0; @@ -111,28 +136,97 @@ HadrontherapyAnalysisManager::~HadrontherapyAnalysisManager() delete aFact; aFact = 0; -} +#endif +#ifdef G4ANALYSIS_USE_ROOT + delete metaData; + metaData = 0; + delete fragmentNtuple; + fragmentNtuple = 0; + + delete theROOTIonTuple; + theROOTIonTuple = 0; + + delete theROOTNtuple; + theROOTNtuple = 0; + + delete histo16; + histo14 = 0; + + delete histo15; + histo14 = 0; + + delete histo14; + histo14 = 0; + + delete histo13; + histo13 = 0; + + delete histo12; + histo12 = 0; + + delete histo11; + histo11 = 0; + + delete histo10; + histo10 = 0; + + delete histo9; + histo9 = 0; + + delete histo8; + histo8 = 0; + + delete histo7; + histo7 = 0; + + delete histo6; + histo6 = 0; + + delete histo5; + histo5 = 0; + + delete histo4; + histo4 = 0; + + delete histo3; + histo3 = 0; + + delete histo2; + histo2 = 0; + + delete histo1; + histo1 = 0; +#endif +} +///////////////////////////////////////////////////////////////////////////// HadrontherapyAnalysisManager* HadrontherapyAnalysisManager::getInstance() { if (instance == 0) instance = new HadrontherapyAnalysisManager; return instance; } -void HadrontherapyAnalysisManager::book() +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::SetAnalysisFileName(G4String aFileName) { + this->analysisFileName = aFileName; +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::book() +{ +#ifdef G4ANALYSIS_USE // Build up the analysis factory aFact = AIDA_createAnalysisFactory(); AIDA::ITreeFactory* treeFact = aFact -> createTreeFactory(); // Create the .hbk or the .root file - G4String fileName = "hadrontherapyOutput.hbk"; - G4String rootFileName = "hadrontherapyOutput.root"; - + G4String fileName = "DoseDistribution.hbk"; + std::string opts = "export=root"; - + theTree = treeFact -> create(fileName,"hbook",false,true); - theTree = treeFact -> create(rootFileName,"ROOT",false,true,opts); + theTree = treeFact -> create(analysisFileName,"ROOT",false,true,opts); // Factories are not "managed" by an AIDA analysis system. // They must be deleted by the AIDA user code. @@ -146,7 +240,7 @@ void HadrontherapyAnalysisManager::book() h1 = histFact -> createHistogram1D("10","slice, energy", 400, 0., 400. ); h2 = histFact -> createHistogram1D("20","Secondary protons - slice, energy", 400, 0., 400. ); - + h3 = histFact -> createHistogram1D("30","Secondary neutrons - slice, energy", 400, 0., 400. ); h4 = histFact -> createHistogram1D("40","Secondary alpha - slice, energy", 400, 0., 400. ); @@ -160,17 +254,21 @@ void HadrontherapyAnalysisManager::book() h8 = histFact -> createHistogram1D("80","Secondary deuteron - slice, energy", 400, 0., 400. ); h9 = histFact -> createHistogram1D("90","Secondary pion - slice, energy", 400, 0., 400. ); - + h10 = histFact -> createHistogram1D("100","Energy distribution of secondary electrons", 70, 0., 70. ); - + h11 = histFact -> createHistogram1D("110","Energy distribution of secondary photons", 70, 0., 70. ); h12 = histFact -> createHistogram1D("120","Energy distribution of secondary deuterons", 70, 0., 70. ); - + h13 = histFact -> createHistogram1D("130","Energy distribution of secondary tritons", 70, 0., 70. ); h14 = histFact -> createHistogram1D("140","Energy distribution of secondary alpha particles", 70, 0., 70. ); + h15 = histFact -> createHistogram1D("150","Energy distribution of helium fragments after the phantom", 70, 0., 500.); + + h16 = histFact -> createHistogram1D("160","Energy distribution of hydrogen fragments after the phantom", 70, 0., 500.); + // Create the ntuple G4String columnNames = "int i; int j; int k; double energy;"; G4String options = ""; @@ -180,124 +278,361 @@ void HadrontherapyAnalysisManager::book() G4String columnNames2 = "int a; double z; int occupancy; double energy;"; G4String options2 = ""; if (tupFact) ionTuple = tupFact -> create("2","2", columnNames2, options2); + + // Create the fragment ntuple + G4String columnNames3 = "int a; double z; double energy; double posX; double posY; double posZ;"; + G4String options3 = ""; + if (tupFact) fragmentTuple = tupFact -> create("3","3", columnNames3, options3); +#endif +#ifdef G4ANALYSIS_USE_ROOT + // Use ROOT + theTFile = new TFile(analysisFileName, "RECREATE"); + + // Create the histograms with the energy deposit along the X axis + histo1 = createHistogram1D("braggPeak","slice, energy", 400, 0., 27.9); // findColumn("i"); G4int jSlice = ntuple -> findColumn("j"); G4int kSlice = ntuple -> findColumn("k"); G4int iEnergy = ntuple -> findColumn("energy"); - + ntuple -> fill(iSlice,i); - ntuple -> fill(jSlice,j); + ntuple -> fill(jSlice,j); ntuple -> fill(kSlice,k); ntuple -> fill(iEnergy, energy); } - ntuple -> addRow(); + ntuple -> addRow(); +#endif +#ifdef G4ANALYSIS_USE_ROOT + if (theROOTNtuple) { + theROOTNtuple->Fill(i, j, k, energy); + } +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::BraggPeak(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h1 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo1->SetBinContent(slice, energy); //This uses setbincontent instead of fill to get labels correct +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryProtonEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h2 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo2->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryNeutronEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h3 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo3->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryAlphaEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h4 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo4->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryGammaEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h5 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo5->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryElectronEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h6 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo6->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryTritonEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h7 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo7->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryDeuteronEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h8 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo8->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::SecondaryPionEnergyDeposit(G4int slice, G4double energy) { +#ifdef G4ANALYSIS_USE h9 -> fill(slice,energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo9->Fill(slice, energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::electronEnergyDistribution(G4double energy) { +#ifdef G4ANALYSIS_USE h10 -> fill(energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo10->Fill(energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::gammaEnergyDistribution(G4double energy) { +#ifdef G4ANALYSIS_USE h11 -> fill(energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo11->Fill(energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::deuteronEnergyDistribution(G4double energy) { +#ifdef G4ANALYSIS_USE h12 -> fill(energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo12->Fill(energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::tritonEnergyDistribution(G4double energy) { +#ifdef G4ANALYSIS_USE h13 -> fill(energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo13->Fill(energy); +#endif } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyAnalysisManager::alphaEnergyDistribution(G4double energy) { +#ifdef G4ANALYSIS_USE h14 -> fill(energy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo14->Fill(energy); +#endif +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::heliumEnergy(G4double secondaryParticleKineticEnergy) +{ +#ifdef G4ANALYSIS_USE + h15->fill(secondaryParticleKineticEnergy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo15->Fill(secondaryParticleKineticEnergy); +#endif } -void HadrontherapyAnalysisManager::genericIonInformation(G4int a, - G4double z, - G4int electronOccupancy, - G4double energy) +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::hydrogenEnergy(G4double secondaryParticleKineticEnergy) { +#ifdef G4ANALYSIS_USE + h16->fill(secondaryParticleKineticEnergy); +#endif +#ifdef G4ANALYSIS_USE_ROOT + histo16->Fill(secondaryParticleKineticEnergy); +#endif +} + + + +void HadrontherapyAnalysisManager::fillFragmentTuple(G4int A, G4double Z, G4double energy, G4double posX, G4double posY, G4double posZ) +{ +#ifdef G4ANALYSIS_USE + if (fragmentTuple) { + G4int aIndex = fragmentTuple -> findColumn("a"); + G4int zIndex = fragmentTuple -> findColumn("z"); + G4int energyIndex = fragmentTuple -> findColumn("energy"); + G4int posXIndex = fragmentTuple -> findColumn("posX"); + G4int posYIndex = fragmentTuple -> findColumn("posY"); + G4int posZIndex = fragmentTuple -> findColumn("posZ"); + + fragmentTuple -> fill(aIndex,A); + fragmentTuple -> fill(zIndex,Z); + fragmentTuple -> fill(energyIndex, energy); + fragmentTuple -> fill(posXIndex, posX); + fragmentTuple -> fill(posYIndex, posY); + fragmentTuple -> fill(posZIndex, posZ); + fragmentTuple -> addRow(); + } +#endif +#ifdef G4ANALYSIS_USE_ROOT + //G4cout <<" A = " << A << " Z = " << Z << " energy = " << energy << G4endl; + fragmentNtuple->Fill(A, Z, energy, posX, posY, posZ); +#endif +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::genericIonInformation(G4int a, + G4double z, + G4int electronOccupancy, + G4double energy) +{ +#ifdef G4ANALYSIS_USE if (ionTuple) { G4int aIndex = ionTuple -> findColumn("a"); G4int zIndex = ionTuple -> findColumn("z"); - G4int electronIndex = ionTuple -> findColumn("occupancy"); + G4int electronIndex = ionTuple -> findColumn("occupancy"); G4int energyIndex = ionTuple -> findColumn("energy"); - + ionTuple -> fill(aIndex,a); - ionTuple -> fill(zIndex,z); - ionTuple -> fill(electronIndex, electronOccupancy); + ionTuple -> fill(zIndex,z); + ionTuple -> fill(electronIndex, electronOccupancy); ionTuple -> fill(energyIndex, energy); } - ionTuple -> addRow(); + ionTuple -> addRow(); +#endif +#ifdef G4ANALYSIS_USE_ROOT + if (theROOTIonTuple) { + theROOTIonTuple->Fill(a, z, electronOccupancy, energy); + } +#endif } -void HadrontherapyAnalysisManager::finish() -{ +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::startNewEvent() +{ + eventCounter++; +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::setGeometryMetaData(G4double endDetectorPosition, G4double waterThickness, G4double phantomCenter) +{ + this->detectorDistance = endDetectorPosition; + this->phantomDepth = waterThickness; + this->phantomCenterDistance = phantomCenter; +} +void HadrontherapyAnalysisManager::setBeamMetaData(G4double meanKineticEnergy,G4double sigmaEnergy) +{ + this->beamEnergy = meanKineticEnergy; + this->energyError = sigmaEnergy; +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::flush() +{ + HadrontherapyMatrix* matrix = HadrontherapyMatrix::getInstance(); + + matrix->TotalEnergyDeposit(); +#ifdef G4ANALYSIS_USE + theTree -> commit(); + theTree ->close(); +#endif +#ifdef G4ANALYSIS_USE_ROOT + metaData->Fill((Float_t) eventCounter,(Float_t) detectorDistance, (Float_t) phantomDepth, (Float_t) beamEnergy,(Float_t) energyError, (Float_t) phantomCenterDistance); + metaData->Write(); + theROOTNtuple->Write(); + theROOTIonTuple->Write(); + fragmentNtuple->Write(); + theTFile->Write(); + // theTFile->Clear(); + theTFile->Close(); +#endif + eventCounter = 0; + matrix->flush(); +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyAnalysisManager::finish() +{ +#ifdef G4ANALYSIS_USE // Write all histograms to file theTree -> commit(); - // Close (will again commit) theTree ->close(); +#endif +#ifdef G4ANALYSIS_USE_ROOT + metaData->Fill((Float_t) eventCounter,(Float_t) detectorDistance, (Float_t) phantomDepth, (Float_t) beamEnergy,(Float_t) energyError, (Float_t) phantomCenterDistance); + metaData->Write(); + theROOTNtuple->Write(); + theROOTIonTuple->Write(); + fragmentNtuple->Write(); + theTFile->Write(); + theTFile->Close(); +#endif + eventCounter = 0; } + #endif @@ -308,5 +643,3 @@ void HadrontherapyAnalysisManager::finish() - - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc index e64e4cc9bf..6bfeefa829 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc @@ -23,25 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// HadrontherapyDetectorConstruction.cc // -// $Id: HadrontherapyDetectorConstruction.cc; -// Last modified: G.A.P.Cirrone, April 2008; -// -// See more at: http://geant4infn.wikispaces.com -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "G4SDManager.hh" #include "G4RunManager.hh" @@ -54,252 +38,364 @@ #include "G4RotationMatrix.hh" #include "G4Colour.hh" #include "G4UserLimits.hh" +#include "G4UnitsTable.hh" #include "G4VisAttributes.hh" +#include "G4NistManager.hh" #include "HadrontherapyDetectorROGeometry.hh" #include "HadrontherapyDetectorMessenger.hh" #include "HadrontherapyDetectorSD.hh" #include "HadrontherapyDetectorConstruction.hh" -#include "HadrontherapyMaterial.hh" -#include "HadrontherapyBeamLine.hh" -#include "HadrontherapyModulator.hh" +#include "HadrontherapyMatrix.hh" ///////////////////////////////////////////////////////////////////////////// -HadrontherapyDetectorConstruction::HadrontherapyDetectorConstruction() - : detectorSD(0), detectorROGeometry(0), beamLine(0), modulator(0), - physicalTreatmentRoom(0), - patientPhysicalVolume(0), - detectorLogicalVolume(0), - detectorPhysicalVolume(0) +HadrontherapyDetectorConstruction::HadrontherapyDetectorConstruction(G4VPhysicalVolume* physicalTreatmentRoom) + : motherPhys(physicalTreatmentRoom), + detectorSD(0), detectorROGeometry(0), matrix(0), + phantomPhysicalVolume(0), + detectorLogicalVolume(0), detectorPhysicalVolume(0), + phantomSizeX(20.*cm), phantomSizeY(20.*cm), phantomSizeZ(20.*cm), // Default half dimensions + detectorSizeX(2.*cm), detectorSizeY(2.*cm), detectorSizeZ(2.*cm), + phantomPosition(20.*cm, 0.*cm, 0.*cm), + detectorToPhantomPosition(0.*cm,18.*cm,18.*cm)// Default displacement of the detector respect to the phantom { - // Messenger to change parameters of the geometry + // NOTE! that the HadrontherapyDetectorConstruction class + // does NOT inherit from G4VUserDetectorConstruction G4 class + // So the Construct() mandatory virtual method is inside another geometric class + // (like the passiveProtonBeamLIne, ...) + + // Messenger to change parameters of the phantom/detector geometry detectorMessenger = new HadrontherapyDetectorMessenger(this); - material = new HadrontherapyMaterial(); + // Default detector voxels size + // 200 slabs along the beam direction (X) + sizeOfVoxelAlongX = 200 *um; + sizeOfVoxelAlongY = 2 * detectorSizeY; + sizeOfVoxelAlongZ = 2 * detectorSizeZ; - // Detector sizes - detectorSizeX = 20.*mm; - detectorSizeY = 20.*mm; - detectorSizeZ = 20.*mm; + // Calculate (and eventually set) detector position by displacement, phantom size and detector size + SetDetectorPosition(); - // Number of the detector voxels - numberOfVoxelsAlongX = 400; - numberOfVoxelsAlongY = 1; - numberOfVoxelsAlongZ = 1; + // Build phantom and associated detector + ConstructPhantom(); + ConstructDetector(); + // Set number of the detector voxels along X Y and Z directions. + // This will construct also the sensitive detector, the ROGeometry + // and the matrix where the energy deposited is collected! + SetNumberOfVoxelBySize(sizeOfVoxelAlongX, sizeOfVoxelAlongY, sizeOfVoxelAlongZ); } ///////////////////////////////////////////////////////////////////////////// HadrontherapyDetectorConstruction::~HadrontherapyDetectorConstruction() { - delete material; - if (detectorROGeometry) delete detectorROGeometry; - delete detectorMessenger; + delete detectorROGeometry;// This should be safe in C++ even if the argument is a NULL pointer + delete matrix; + delete detectorMessenger; } -G4VPhysicalVolume* HadrontherapyDetectorConstruction::Construct() -{ - // Define the materials of the experimental set-up - material -> DefineMaterials(); - - // Define the geometry components - ConstructBeamLine(); - ConstructDetector(); - - // Set the sensitive detector where the energy deposit is collected - ConstructSensitiveDetector(); - - return physicalTreatmentRoom; -} - -///////////////////////////////////////////////////////////////////////////// -void HadrontherapyDetectorConstruction::ConstructBeamLine() -{ - G4Material* air = material -> GetMat("Air") ; - G4Material* water = material -> GetMat("G4_WATER"); - - // ----------------------------- - // Treatment room - World volume - //------------------------------ - - // Treatment room sizes - const G4double worldX = 400.0 *cm; - const G4double worldY = 400.0 *cm; - const G4double worldZ = 400.0 *cm; - - G4Box* treatmentRoom = new G4Box("TreatmentRoom",worldX,worldY,worldZ); - - G4LogicalVolume* logicTreatmentRoom = new G4LogicalVolume(treatmentRoom, - air, - "logicTreatmentRoom", - 0,0,0); - physicalTreatmentRoom = new G4PVPlacement(0, - G4ThreeVector(), - "physicalTreatmentRoom", - logicTreatmentRoom, - 0,false,0); - - G4double maxStepTreatmentRoom = 0.1 *mm; - logicTreatmentRoom -> SetUserLimits(new G4UserLimits(maxStepTreatmentRoom)); - - // The treatment room is invisible in the Visualisation - logicTreatmentRoom -> SetVisAttributes (G4VisAttributes::Invisible); - - beamLine = new HadrontherapyBeamLine(physicalTreatmentRoom); - beamLine -> HadrontherapyBeamLineSupport(); - beamLine -> HadrontherapyBeamScatteringFoils(); - beamLine -> HadrontherapyRangeShifter(); - beamLine -> HadrontherapyBeamCollimators(); - beamLine -> HadrontherapyBeamMonitoring(); - beamLine -> HadrontherapyMOPIDetector(); - beamLine -> HadrontherapyBeamNozzle(); - beamLine -> HadrontherapyBeamFinalCollimator(); - - modulator = new HadrontherapyModulator(); - modulator -> BuildModulator(physicalTreatmentRoom); - +void HadrontherapyDetectorConstruction::ConstructPhantom() +{ //---------------------------------------- - // Patient: - // a water box used to approximate tissues + // Phantom: + // A box used to approximate tissues //---------------------------------------- - - G4Box* patient = new G4Box("patient",20 *cm, 20 *cm, 20 *cm); + + G4bool isotopes = false; + G4Material* waterNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER", isotopes); + phantom = new G4Box("Phantom",phantomSizeX, phantomSizeY, phantomSizeZ); + phantomLogicalVolume = new G4LogicalVolume(phantom, + waterNist, + "phantomLog", 0, 0, 0); - G4LogicalVolume* patientLogicalVolume = new G4LogicalVolume(patient, - water, - "patientLog", 0, 0, 0); - - patientPhysicalVolume = new G4PVPlacement(0,G4ThreeVector(200.*mm, 0.*mm, 0.*mm), - "patientPhys", - patientLogicalVolume, - physicalTreatmentRoom, - false,0); - - // Visualisation attributes of the patient - G4VisAttributes * redWire = new G4VisAttributes(G4Colour(1. ,0. ,0.)); - redWire -> SetVisibility(true); - redWire -> SetForceWireframe(true); - patientLogicalVolume -> SetVisAttributes(redWire); + phantomPhysicalVolume = new G4PVPlacement(0, + phantomPosition, + "phantomPhys", + phantomLogicalVolume, + motherPhys, + false, + 0); + +// Visualisation attributes of the phantom + red = new G4VisAttributes(G4Colour(255/255., 0/255. ,0/255.)); + red -> SetVisibility(true); + red -> SetForceSolid(true); +//red -> SetForceWireframe(true); + phantomLogicalVolume -> SetVisAttributes(red); } ///////////////////////////////////////////////////////////////////////////// void HadrontherapyDetectorConstruction::ConstructDetector() { - G4Colour lightBlue (0.0, 0.0, .75); - G4Material* water = material -> GetMat("G4_WATER"); - //----------- - // Detector + // Detector //----------- - - G4Box* detector = new G4Box("Detector",detectorSizeX,detectorSizeY,detectorSizeZ); - - detectorLogicalVolume = new G4LogicalVolume(detector, - water, - "DetectorLog", - 0,0,0); - - // Fixing the max step allowed in the detector - G4double maxStep = 0.01 *mm; - detectorLogicalVolume -> SetUserLimits(new G4UserLimits(maxStep)); - - G4double detectorXtranslation = -180.*mm; - detectorPhysicalVolume = new G4PVPlacement(0, - G4ThreeVector(detectorXtranslation, 0.0 *mm, 0.0 *mm), - "DetectorPhys", + G4bool isotopes = false; + G4Material* waterNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER", isotopes); + detector = new G4Box("Detector",detectorSizeX,detectorSizeY,detectorSizeZ); + detectorLogicalVolume = new G4LogicalVolume(detector, + waterNist, + "DetectorLog", + 0,0,0); +// Detector is attached by default to the phantom face directly exposed to the beam + detectorPhysicalVolume = new G4PVPlacement(0, + detectorPosition, // Setted by displacement + "DetectorPhys", detectorLogicalVolume, - patientPhysicalVolume, + phantomPhysicalVolume, false,0); - // Visualisation attributes of the phantom - G4VisAttributes* simpleBoxVisAttributes = new G4VisAttributes(lightBlue); - simpleBoxVisAttributes -> SetVisibility(true); - simpleBoxVisAttributes -> SetForceSolid(true); - detectorLogicalVolume -> SetVisAttributes(simpleBoxVisAttributes); +// Visualisation attributes of the detector + skyBlue = new G4VisAttributes( G4Colour(135/255. , 206/255. , 235/255. )); + skyBlue -> SetVisibility(true); + skyBlue -> SetForceSolid(true); +//skyBlue -> SetForceWireframe(true); + detectorLogicalVolume -> SetVisAttributes(skyBlue); - // ************** - // Cut per Region - // ************** - - // A smaller cut is fixed in the phantom to calculate the energy deposit with the - // required accuracy - G4Region* aRegion = new G4Region("DetectorLog"); - detectorLogicalVolume -> SetRegion(aRegion); - aRegion -> AddRootLogicalVolume(detectorLogicalVolume); +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyDetectorConstruction::ConstructSensitiveDetector(G4ThreeVector detectorToWorldPosition) +{ + // Install new Sensitive Detector and ROGeometry + delete detectorROGeometry; // this should be safe in C++ also if we have a NULL pointer + + // Sensitive Detector and ReadOut geometry definition + G4SDManager* sensitiveDetectorManager = G4SDManager::GetSDMpointer(); + + G4String sensitiveDetectorName = "Detector"; + if (!detectorSD) + { + // The sensitive detector is instantiated + detectorSD = new HadrontherapyDetectorSD(sensitiveDetectorName); + } + // The Read Out Geometry is instantiated + G4String ROGeometryName = "DetectorROGeometry"; + detectorROGeometry = new HadrontherapyDetectorROGeometry(ROGeometryName, + detectorToWorldPosition, + detectorSizeX, + detectorSizeY, + detectorSizeZ, + numberOfVoxelsAlongX, + numberOfVoxelsAlongY, + numberOfVoxelsAlongZ); + + G4cout << "Instantiating new Read Out Geometry \"" << ROGeometryName << "\""<< G4endl; + // This will invoke Build() HadrontherapyDetectorROGeometry virtual method + detectorROGeometry -> BuildROGeometry(); + // Attach ROGeometry to SDetector + detectorSD -> SetROgeometry(detectorROGeometry); + //sensitiveDetectorManager -> Activate(sensitiveDetectorName, true); + if (!sensitiveDetectorManager -> FindSensitiveDetector(sensitiveDetectorName, false)) + { + G4cout << "Registering new DetectorSD \"" << sensitiveDetectorName << "\""<< G4endl; + // Register user SD + sensitiveDetectorManager -> AddNewDetector(detectorSD); + // Attach SD to detector logical volume + detectorLogicalVolume -> SetSensitiveDetector(detectorSD); + } } -void HadrontherapyDetectorConstruction::ConstructSensitiveDetector() -{ - // Sensitive Detector and ReadOut geometry definition - G4SDManager* sensitiveDetectorManager = G4SDManager::GetSDMpointer(); +///////////////// +// MESSENGERS // +//////////////// +G4bool HadrontherapyDetectorConstruction::SetNumberOfVoxelBySize(G4double sizeX, G4double sizeY, G4double sizeZ) +{ + // Only change positive dimensions + // XXX numberOfVoxels must be an integer, warn the user - G4String sensitiveDetectorName = "Detector"; - - if(!detectorSD) + if (sizeX > 0) { - // The sensitive detector is instantiated - detectorSD = new HadrontherapyDetectorSD(sensitiveDetectorName); - - // The Read Out Geometry is instantiated - G4String ROGeometryName = "DetectorROGeometry"; - detectorROGeometry = new HadrontherapyDetectorROGeometry(ROGeometryName, - detectorSizeX, - detectorSizeY, - detectorSizeZ, - numberOfVoxelsAlongX, - numberOfVoxelsAlongY, - numberOfVoxelsAlongZ); - detectorROGeometry -> BuildROGeometry(); - detectorSD -> SetROgeometry(detectorROGeometry); - sensitiveDetectorManager -> AddNewDetector(detectorSD); - detectorLogicalVolume -> SetSensitiveDetector(detectorSD); + if (sizeX > 2*detectorSizeX) + { + G4cout << "WARNING: Voxel X size must be smaller or equal than that of detector X" << G4endl; + return false; + } + // Round to the nearest integer + numberOfVoxelsAlongX = lrint(2 * detectorSizeX / sizeX); + sizeOfVoxelAlongX = (2 * detectorSizeX / numberOfVoxelsAlongX ); + if(sizeOfVoxelAlongX!=sizeX) G4cout << "Rounding " << + G4BestUnit(sizeX, "Length") << " to " << + G4BestUnit(sizeOfVoxelAlongX, "Length") << G4endl; } -} -void HadrontherapyDetectorConstruction::SetModulatorAngle(G4double value) -{ - modulator -> SetModulatorAngle(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); -} + if (sizeY > 0) + { + if (sizeY > 2*detectorSizeY) + { + G4cout << "WARNING: Voxel Y size must be smaller or equal than that of detector Y" << G4endl; + return false; + } + numberOfVoxelsAlongY = lrint(2 * detectorSizeY / sizeY); + sizeOfVoxelAlongY = (2 * detectorSizeY / numberOfVoxelsAlongY ); + if(sizeOfVoxelAlongY!=sizeY) G4cout << "Rounding " << + G4BestUnit(sizeY, "Length") << " to " << + G4BestUnit(sizeOfVoxelAlongY, "Length") << G4endl; + } + if (sizeZ > 0) + { + if (sizeZ > 2*detectorSizeZ) + { + G4cout << "WARNING: Voxel Z size must be smaller or equal than that of detector Z" << G4endl; + return false; + } + numberOfVoxelsAlongZ = lrint(2 * detectorSizeZ / sizeZ); + sizeOfVoxelAlongZ = (2 * detectorSizeZ / numberOfVoxelsAlongZ ); + if(sizeOfVoxelAlongZ!=sizeZ) G4cout << "Rounding " << + G4BestUnit(sizeZ, "Length") << " to " << + G4BestUnit(sizeOfVoxelAlongZ, "Length") << G4endl; + } -void HadrontherapyDetectorConstruction::SetRangeShifterXPosition(G4double value) + G4cout << "The (X, Y, Z) sizes of the Voxels are: (" << + G4BestUnit(sizeOfVoxelAlongX, "Length") << ", " << + G4BestUnit(sizeOfVoxelAlongY, "Length") << ", " << + G4BestUnit(sizeOfVoxelAlongZ, "Length") << ')' << G4endl; + + G4cout << "The number of Voxels along (X,Y,Z) is: (" << + numberOfVoxelsAlongX << ", " << + numberOfVoxelsAlongY << ", " << + numberOfVoxelsAlongZ << ')' << G4endl; + + // This will clear the existing matrix (together with data inside it)! + matrix = HadrontherapyMatrix::getInstance(numberOfVoxelsAlongX, + numberOfVoxelsAlongY, + numberOfVoxelsAlongZ); + + // Here construct the Sensitive Detector and Read Out Geometry + ConstructSensitiveDetector(GetDetectorToWorldPosition()); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + return true; +} +///////////////////////////////////////////////////////////////////////////// +G4bool HadrontherapyDetectorConstruction::SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ) { - beamLine -> SetRangeShifterXPosition(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); +// Check that the detector stay inside the phantom + if (sizeX > 0 && sizeX < sizeOfVoxelAlongX) {G4cout << "WARNING: Detector X size must be bigger than that of Voxel X" << G4endl; return false;} + if (sizeY > 0 && sizeY < sizeOfVoxelAlongY) {G4cout << "WARNING: Detector Y size must be bigger than that of Voxel Y" << G4endl; return false;} + if (sizeZ > 0 && sizeZ < sizeOfVoxelAlongZ) {G4cout << "WARNING: Detector Z size must be bigger than that of Voxel Z" << G4endl; return false;} + + if (!IsInside(sizeX/2, + sizeY/2, + sizeZ/2, + phantomSizeX, + phantomSizeY, + phantomSizeZ, + detectorToPhantomPosition)) + {return false;} +// Negative or null values mean don't change it! + if (sizeX > 0) { + detectorSizeX = sizeX/2; + detector -> SetXHalfLength(detectorSizeX); + } + + if (sizeY > 0) { + detectorSizeY = sizeY/2; + detector -> SetYHalfLength(detectorSizeY); + } + + if (sizeZ > 0) { + detectorSizeZ = sizeZ/2; + detector -> SetZHalfLength(detectorSizeZ); + } + + + G4cout << "The (X, Y, Z) dimensions of the detector are : (" << + G4BestUnit( detector -> GetXHalfLength()*2., "Length") << ", " << + G4BestUnit( detector -> GetYHalfLength()*2., "Length") << ", " << + G4BestUnit( detector -> GetZHalfLength()*2., "Length") << ')' << G4endl; +// Adjust detector position + SetDetectorPosition(); +// Adjust voxels number accordingly to new detector geometry +// Matrix will be re-instantiated! +// Voxels and ROGeometry must follow the detector! + SetNumberOfVoxelBySize(sizeOfVoxelAlongX, sizeOfVoxelAlongY, sizeOfVoxelAlongZ); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + return true; } -void HadrontherapyDetectorConstruction::SetRangeShifterXSize(G4double value) +///////////////////////////////////////////////////////////////////////////// +G4bool HadrontherapyDetectorConstruction::SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ) { - beamLine -> SetRangeShifterXSize(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); -} -void HadrontherapyDetectorConstruction::SetFirstScatteringFoilSize(G4double value) + if (!IsInside(detectorSizeX, + detectorSizeY, + detectorSizeZ, + sizeX/2,//method parameters + sizeY/2, + sizeZ/2, + detectorToPhantomPosition + )) + return false; + +// Only change positive dimensions + if (sizeX > 0) { + phantomSizeX = sizeX/2; + phantom -> SetXHalfLength(phantomSizeX); + } + if (sizeY > 0) { + phantomSizeY = sizeY/2; + phantom -> SetYHalfLength(phantomSizeY); + } + + if (sizeZ > 0) { + phantomSizeZ = sizeZ/2; + phantom -> SetZHalfLength(phantomSizeZ); + } + + + G4cout << "The (X, Y, Z) dimensions of the phantom are : (" << + G4BestUnit( phantom -> GetXHalfLength()*2., "Length") << ", " << + G4BestUnit( phantom -> GetYHalfLength()*2., "Length") << ", " << + G4BestUnit( phantom -> GetZHalfLength()*2., "Length") << ')' << G4endl; +//G4cout << '\n' << "Coordinate volume: " << phantomPhysicalVolume -> GetTranslation() << G4endl; +// Adjust detector position inside phantom + SetDetectorPosition(); + + ConstructSensitiveDetector(GetDetectorToWorldPosition()); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + return true; +} +///////////////////////////////////////////////////////////////////////////// +G4bool HadrontherapyDetectorConstruction::SetPhantomPosition(G4ThreeVector displacement) { - beamLine -> SetFirstScatteringFoilXSize(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); +// Set Phantom position respect to the World +// TODO check for overlap! + phantomPosition = displacement; + if (phantomPhysicalVolume) + { + phantomPhysicalVolume -> SetTranslation(phantomPosition); + G4cout << "Displacement between Phantom and World is: "; + G4cout << "DX= "<< G4BestUnit(phantomPosition.getX(),"Length") << ", " << + "DY= "<< G4BestUnit(phantomPosition.getY(),"Length") << ", " << + "DZ= "<< G4BestUnit(phantomPosition.getZ(),"Length") << G4endl; + +// Redraw ROGeometry! + ConstructSensitiveDetector(GetDetectorToWorldPosition()); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + } + return true; } -void HadrontherapyDetectorConstruction::SetSecondScatteringFoilSize(G4double value) +///////////////////////////////////////////////////////////////////////////// +G4bool HadrontherapyDetectorConstruction::SetDetectorToPhantomPosition(G4ThreeVector displacement) { - beamLine -> SetSecondScatteringFoilXSize(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); +// Ignore negative values + if (displacement[0] < 0.) displacement[0] = detectorToPhantomPosition[0]; + if (displacement[1] < 0.) displacement[1] = detectorToPhantomPosition[1]; + if (displacement[2] < 0.) displacement[2] = detectorToPhantomPosition[2]; + + if (!IsInside(detectorSizeX, + detectorSizeY, + detectorSizeZ, + phantomSizeX, + phantomSizeY, + phantomSizeZ, + displacement // method parameter! + )) + {return false;} + detectorToPhantomPosition = displacement; + +// Adjust detector position inside phantom + SetDetectorPosition(); + + ConstructSensitiveDetector(GetDetectorToWorldPosition()); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); + return true; } - -void HadrontherapyDetectorConstruction::SetOuterRadiusStopper(G4double value) -{ - beamLine -> SetOuterRadiusStopper(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); -} - -void HadrontherapyDetectorConstruction::SetInnerRadiusFinalCollimator(G4double value) -{ - beamLine -> SetInnerRadiusFinalCollimator(value); - G4RunManager::GetRunManager() -> GeometryHasBeenModified(); -} - -void HadrontherapyDetectorConstruction::SetRSMaterial(G4String materialChoice) -{ - beamLine -> SetRSMaterial(materialChoice); -} - - - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc index 65705b7dc1..13432a9249 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorHit.cc @@ -24,24 +24,7 @@ // ******************************************************************** // // $Id: HadrontherapyDetectorHit.cc; -// Last modified: G.A.P.Cirrone March 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "HadrontherapyDetectorHit.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc index 0e9fe9f483..2cbe093d20 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc @@ -23,156 +23,119 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorMessenger.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// $Id: HadrontherapyDetectorMessenger.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + + #include "HadrontherapyDetectorMessenger.hh" #include "HadrontherapyDetectorConstruction.hh" #include "G4UIdirectory.hh" #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4UIcmdWithAString.hh" +#include "G4UIcmdWith3VectorAndUnit.hh" -HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger( - HadrontherapyDetectorConstruction* detector) +///////////////////////////////////////////////////////////////////////////// +HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger(HadrontherapyDetectorConstruction* detector) :hadrontherapyDetector(detector) -{ - modulatorDir = new G4UIdirectory("/modulator/"); - modulatorDir -> SetGuidance("Command to rotate the modulator wheel"); - - beamLineDir = new G4UIdirectory("/beamLine/"); - beamLineDir -> SetGuidance("set specification of range shifter"); +{ + // Change Phantom size + changeThePhantomDir = new G4UIdirectory("/changePhantom/"); + changeThePhantomDir -> SetGuidance("Command to change the Phantom Size/position"); + changeThePhantomSizeCmd = new G4UIcmdWith3VectorAndUnit("/changePhantom/size", this); + changeThePhantomSizeCmd -> SetGuidance("Insert sizes X Y and Z" + "\n 0 or negative values mean <>"); + changeThePhantomSizeCmd -> SetParameterName("PhantomSizeAlongX", + "PhantomSizeAlongY", + "PhantomSizeAlongZ", false); + changeThePhantomSizeCmd -> SetDefaultUnit("mm"); + changeThePhantomSizeCmd -> SetUnitCandidates("um mm cm"); + changeThePhantomSizeCmd -> AvailableForStates(G4State_Idle); - rangeShifterDir = new G4UIdirectory("/beamLine/RangeShifter/"); - rangeShifterDir -> SetGuidance("set specification of range shifter"); - firstScatteringFoilDir = new G4UIdirectory("/beamLine/ScatteringFoil1/"); - firstScatteringFoilDir -> SetGuidance("set specification of first scattering foil"); - - secondScatteringFoilDir = new G4UIdirectory("/beamLine/ScatteringFoil2/"); - secondScatteringFoilDir -> SetGuidance("set specification of second scattering foil"); - - rangeStopperDir = new G4UIdirectory("/beamLine/Stopper/"); - rangeStopperDir -> SetGuidance("set specification of stopper"); + // Change Phantom position + changeThePhantomPositionCmd = new G4UIcmdWith3VectorAndUnit("/changePhantom/position", this); + changeThePhantomPositionCmd -> SetGuidance("Insert X Y and Z dimensions for the position of the center of the Phantom" + " respect to that of the \"World\""); + changeThePhantomPositionCmd -> SetParameterName("PositionAlongX", + "PositionAlongY", + "PositionAlongZ", false); + changeThePhantomPositionCmd -> SetDefaultUnit("mm"); + changeThePhantomPositionCmd -> SetUnitCandidates("mm cm m"); + changeThePhantomPositionCmd -> AvailableForStates(G4State_Idle); - finalCollimatorDir = new G4UIdirectory("/beamLine/FinalCollimator/"); - finalCollimatorDir -> SetGuidance("set specification of final collimator"); - modulatorAngleCmd = new G4UIcmdWithADoubleAndUnit("/modulator/angle",this); - modulatorAngleCmd -> SetGuidance("Set Modulator Angle"); - modulatorAngleCmd -> SetParameterName("Size",false); - modulatorAngleCmd -> SetRange("Size>=0."); - modulatorAngleCmd -> SetUnitCategory("Angle"); - modulatorAngleCmd -> AvailableForStates(G4State_Idle); - - rangeShifterMatCmd = new G4UIcmdWithAString("/beamLine/RangeShifter/RSMat",this); - rangeShifterMatCmd -> SetGuidance("Set material of range shifter"); - rangeShifterMatCmd -> SetParameterName("choice",false); - rangeShifterMatCmd -> AvailableForStates(G4State_Idle); - - rangeShifterXSizeCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/RangeShifter/thickness",this); - rangeShifterXSizeCmd -> SetGuidance("Set half of the thickness of range shifter along X axis"); - rangeShifterXSizeCmd -> SetParameterName("Size",false); - rangeShifterXSizeCmd -> SetDefaultUnit("mm"); - rangeShifterXSizeCmd -> SetUnitCandidates("mm cm m"); - rangeShifterXSizeCmd -> AvailableForStates(G4State_Idle); - - rangeShifterXPositionCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/RangeShifter/position",this); - rangeShifterXPositionCmd -> SetGuidance("Set position of range shifter"); - rangeShifterXPositionCmd -> SetParameterName("Size",false); - rangeShifterXPositionCmd -> SetDefaultUnit("mm"); - rangeShifterXPositionCmd -> SetUnitCandidates("mm cm m"); - rangeShifterXPositionCmd -> AvailableForStates(G4State_Idle); - - firstScatteringFoilXSizeCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/ScatteringFoil1/thickness",this); - firstScatteringFoilXSizeCmd -> SetGuidance("Set hlaf thickness of first scattering foil"); - firstScatteringFoilXSizeCmd -> SetParameterName("Size",false); - firstScatteringFoilXSizeCmd -> SetDefaultUnit("mm"); - firstScatteringFoilXSizeCmd -> SetUnitCandidates("mm cm m"); - firstScatteringFoilXSizeCmd -> AvailableForStates(G4State_Idle); - - secondScatteringFoilXSizeCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/ScatteringFoil2/thickness",this); - secondScatteringFoilXSizeCmd -> SetGuidance("Set half thickness of second scattering foil"); - secondScatteringFoilXSizeCmd -> SetParameterName("Size",false); - secondScatteringFoilXSizeCmd -> SetDefaultUnit("mm"); - secondScatteringFoilXSizeCmd -> SetUnitCandidates("mm cm m"); - secondScatteringFoilXSizeCmd -> AvailableForStates(G4State_Idle); - - outerRadiusStopperCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/Stopper/outRadius",this); - outerRadiusStopperCmd -> SetGuidance("Set size of outer radius"); - outerRadiusStopperCmd -> SetParameterName("Size",false); - outerRadiusStopperCmd -> SetDefaultUnit("mm"); - outerRadiusStopperCmd -> SetUnitCandidates("mm cm m"); - outerRadiusStopperCmd -> AvailableForStates(G4State_Idle); - - innerRadiusFinalCollimatorCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/FinalCollimator/halfInnerRad",this); - innerRadiusFinalCollimatorCmd -> SetGuidance("Set size of inner radius ( max 21.5 mm)"); - innerRadiusFinalCollimatorCmd -> SetParameterName("Size",false); - innerRadiusFinalCollimatorCmd -> SetDefaultUnit("mm"); - innerRadiusFinalCollimatorCmd -> SetUnitCandidates("mm cm m"); - innerRadiusFinalCollimatorCmd -> AvailableForStates(G4State_Idle); -} + // Change detector size + changeTheDetectorDir = new G4UIdirectory("/changeDetector/"); + changeTheDetectorDir -> SetGuidance("Command to change the Detector's Size/position/Voxels"); + + changeTheDetectorSizeCmd = new G4UIcmdWith3VectorAndUnit("/changeDetector/size",this); + changeTheDetectorSizeCmd -> SetGuidance("Insert sizes for X Y and Z dimensions of the Detector" + "\n 0 or negative values mean <>"); + changeTheDetectorSizeCmd -> SetParameterName("DetectorSizeAlongX", "DetectorSizeAlongY", "DetectorSizeAlongZ", false); + changeTheDetectorSizeCmd -> SetDefaultUnit("mm"); + changeTheDetectorSizeCmd -> SetUnitCandidates("um mm cm"); + changeTheDetectorSizeCmd -> AvailableForStates(G4State_Idle); + // Change the detector to phantom displacement + changeTheDetectorToPhantomPositionCmd = new G4UIcmdWith3VectorAndUnit("/changeDetector/displacement",this); + changeTheDetectorToPhantomPositionCmd -> SetGuidance("Insert X Y and Z displacements between Detector and Phantom" + "\nNegative values mean <>"); + changeTheDetectorToPhantomPositionCmd -> SetParameterName("DisplacementAlongX", + "DisplacementAlongY", + "DisplacementAlongZ", false); + changeTheDetectorToPhantomPositionCmd -> SetDefaultUnit("mm"); + changeTheDetectorToPhantomPositionCmd -> SetUnitCandidates("um mm cm"); + changeTheDetectorToPhantomPositionCmd -> AvailableForStates(G4State_Idle); + + // Change voxels by its size + changeTheDetectorVoxelCmd = new G4UIcmdWith3VectorAndUnit("/changeDetector/voxelSize",this); + changeTheDetectorVoxelCmd -> SetGuidance("Insert Voxel sizes for X Y and Z dimensions" + "\n 0 or negative values mean <>"); + changeTheDetectorVoxelCmd -> SetParameterName("VoxelSizeAlongX", "VoxelSizeAlongY", "VoxelSizeAlongZ", false); + changeTheDetectorVoxelCmd -> SetDefaultUnit("mm"); + changeTheDetectorVoxelCmd -> SetUnitCandidates("um mm cm"); + changeTheDetectorVoxelCmd -> AvailableForStates(G4State_Idle); + } + +///////////////////////////////////////////////////////////////////////////// HadrontherapyDetectorMessenger::~HadrontherapyDetectorMessenger() -{ - delete innerRadiusFinalCollimatorCmd; - delete outerRadiusStopperCmd; - delete secondScatteringFoilXSizeCmd; - delete firstScatteringFoilXSizeCmd; - delete rangeShifterXPositionCmd; - delete rangeShifterXSizeCmd; - delete rangeShifterMatCmd; - delete modulatorAngleCmd; - delete finalCollimatorDir; - delete rangeStopperDir; - delete secondScatteringFoilDir; - delete firstScatteringFoilDir; - delete rangeShifterDir; - delete beamLineDir; - delete modulatorDir; +{ + delete changeThePhantomDir; + delete changeThePhantomSizeCmd; + delete changeThePhantomPositionCmd; + delete changeTheDetectorDir; + delete changeTheDetectorSizeCmd; + delete changeTheDetectorToPhantomPositionCmd; + delete changeTheDetectorVoxelCmd; } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyDetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == modulatorAngleCmd ) - { hadrontherapyDetector -> SetModulatorAngle - (modulatorAngleCmd -> GetNewDoubleValue(newValue));} - - if( command == rangeShifterMatCmd ) - { hadrontherapyDetector -> SetRSMaterial(newValue);} - - if( command == rangeShifterXSizeCmd ) - { hadrontherapyDetector -> SetRangeShifterXSize - (rangeShifterXSizeCmd -> GetNewDoubleValue(newValue));} - - if( command == rangeShifterXPositionCmd ) - { hadrontherapyDetector -> SetRangeShifterXPosition - (rangeShifterXPositionCmd -> GetNewDoubleValue(newValue));} - - if( command == firstScatteringFoilXSizeCmd ) - { hadrontherapyDetector -> SetFirstScatteringFoilSize - (firstScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} - - if( command == secondScatteringFoilXSizeCmd ) - { hadrontherapyDetector -> SetSecondScatteringFoilSize - (secondScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} - - if( command == outerRadiusStopperCmd ) - { hadrontherapyDetector -> SetOuterRadiusStopper( - outerRadiusStopperCmd -> GetNewDoubleValue(newValue));} - - if( command == innerRadiusFinalCollimatorCmd ) - { hadrontherapyDetector -> SetInnerRadiusFinalCollimator - (innerRadiusFinalCollimatorCmd -> GetNewDoubleValue(newValue));} +{ + + if( command == changeThePhantomSizeCmd) + { + G4ThreeVector size = changeThePhantomSizeCmd -> GetNew3VectorValue(newValue); + hadrontherapyDetector -> SetPhantomSize(size.getX(),size.getY(),size.getZ()); + } + else if (command == changeThePhantomPositionCmd ) + { + G4ThreeVector size = changeThePhantomPositionCmd -> GetNew3VectorValue(newValue); + hadrontherapyDetector -> SetPhantomPosition(size); + } + else if (command == changeTheDetectorSizeCmd) + { + G4ThreeVector size = changeTheDetectorSizeCmd -> GetNew3VectorValue(newValue); + hadrontherapyDetector -> SetDetectorSize(size.getX(),size.getY(),size.getZ()); + } + else if (command == changeTheDetectorToPhantomPositionCmd) + { + G4ThreeVector size = changeTheDetectorToPhantomPositionCmd-> GetNew3VectorValue(newValue); + hadrontherapyDetector -> SetDetectorToPhantomPosition(size); + } + else if (command == changeTheDetectorVoxelCmd) + { + G4ThreeVector size = changeTheDetectorVoxelCmd -> GetNew3VectorValue(newValue); + hadrontherapyDetector -> SetNumberOfVoxelBySize(size.getX(),size.getY(),size.getZ()); + } } - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc index 71097d320a..784fa464ff 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorROGeometry.cc @@ -24,23 +24,7 @@ // ******************************************************************** // // $Id: HadrontherapyDetectorROGeometry.cc; -// Last modified: G.A.P.Cirrone April 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "HadrontherapyDetectorROGeometry.hh" #include "HadrontherapyDummySD.hh" @@ -54,19 +38,22 @@ ///////////////////////////////////////////////////////////////////////////// HadrontherapyDetectorROGeometry::HadrontherapyDetectorROGeometry(G4String aString, - G4double detectorDimX, - G4double detectorDimY, - G4double detectorDimZ, - G4int numberOfVoxelsX, - G4int numberOfVoxelsY, - G4int numberOfVoxelsZ): - G4VReadOutGeometry(aString), - detectorSizeX(detectorDimX), - detectorSizeY(detectorDimY), - detectorSizeZ(detectorDimZ), - numberOfVoxelsAlongX(numberOfVoxelsX), - numberOfVoxelsAlongY(numberOfVoxelsY), - numberOfVoxelsAlongZ(numberOfVoxelsZ) + G4ThreeVector detectorToWorldPosition, + G4double detectorDimX, + G4double detectorDimY, + G4double detectorDimZ, + G4int numberOfVoxelsX, + G4int numberOfVoxelsY, + G4int numberOfVoxelsZ): + + G4VReadOutGeometry(aString), + detectorToWorldPosition(detectorToWorldPosition), + detectorSizeX(detectorDimX), + detectorSizeY(detectorDimY), + detectorSizeZ(detectorDimZ), + numberOfVoxelsAlongX(numberOfVoxelsX), + numberOfVoxelsAlongY(numberOfVoxelsY), + numberOfVoxelsAlongZ(numberOfVoxelsZ) { } @@ -118,16 +105,14 @@ G4VPhysicalVolume* HadrontherapyDetectorROGeometry::Build() 0,0,0); G4VPhysicalVolume *RODetectorPhys = new G4PVPlacement(0, - G4ThreeVector(20.0 *mm, - 0.0 *mm, - 0.0 *mm), + detectorToWorldPosition, "DetectorPhys", RODetectorLog, ROWorldPhys, false,0); - // Division along X axis: the detector is devided in slices along the X axis + // Division along X axis: the detector is divided in slices along the X axis G4double halfXVoxelSizeX = halfDetectorSizeX/numberOfVoxelsAlongX; G4double halfXVoxelSizeY = halfDetectorSizeY; @@ -151,9 +136,9 @@ G4VPhysicalVolume* HadrontherapyDetectorROGeometry::Build() numberOfVoxelsAlongX, voxelXThickness); - // Division along Y axis: the slices along the X axis are devided along the Y axis + // Division along Y axis: the slices along the X axis are divided along the Y axis - G4double halfYVoxelSizeX = halfXVoxelSizeX; + G4double halfYVoxelSizeX = halfXVoxelSizeX; G4double halfYVoxelSizeY = halfDetectorSizeY/numberOfVoxelsAlongY; G4double halfYVoxelSizeZ = halfDetectorSizeZ; G4double voxelYThickness = 2*halfYVoxelSizeY; @@ -175,7 +160,7 @@ G4VPhysicalVolume* HadrontherapyDetectorROGeometry::Build() numberOfVoxelsAlongY, voxelYThickness); - // Division along Z axis: the slices along the Y axis are devided along the Z axis + // Division along Z axis: the slices along the Y axis are divided along the Z axis G4double halfZVoxelSizeX = halfXVoxelSizeX; G4double halfZVoxelSizeY = halfYVoxelSizeY; diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc index b893aae341..b4850365bc 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorSD.cc @@ -24,23 +24,7 @@ // ******************************************************************** // // $Id: HadrontherapyDetectorSD.cc; -// Last modified: G.A.P.Cirrone March 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "HadrontherapyDetectorSD.hh" #include "HadrontherapyAnalysisManager.hh" @@ -64,14 +48,14 @@ HadrontherapyDetectorSD::~HadrontherapyDetectorSD() } void HadrontherapyDetectorSD::Initialize(G4HCofThisEvent*) -{ +{ HitsCollection = new HadrontherapyDetectorHitsCollection(sensitiveDetectorName, collectionName[0]); } - G4bool HadrontherapyDetectorSD::ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist) { + //The code doesn't seem to get here if we use the IAEA geometry. FIXME if(!ROhist) return false; @@ -91,23 +75,17 @@ G4bool HadrontherapyDetectorSD::ProcessHits(G4Step* aStep, G4TouchableHistory* R G4String particleName = aStep -> GetTrack() -> GetDynamicParticle() -> GetDefinition() -> GetParticleName(); - if(energyDeposit != 0) - { - // Create a hit with the information of position is in the detector - HadrontherapyDetectorHit* detectorHit = new HadrontherapyDetectorHit(); - detectorHit -> SetEdepAndPosition(i, j, k, energyDeposit); - HitsCollection -> insert(detectorHit); - } + // Create a hit with the information of position is in the detector + HadrontherapyDetectorHit* detectorHit = new HadrontherapyDetectorHit(); + detectorHit -> SetEdepAndPosition(i, j, k, energyDeposit); + HitsCollection -> insert(detectorHit); // Energy deposit of secondary particles along X (integrated on Y and Z) -#ifdef G4ANALYSIS_USE +#ifdef ANALYSIS_USE HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); - if(energyDeposit != 0) - { - if(aStep -> GetTrack() -> GetTrackID()!= 1) { if (particleName == "proton") @@ -134,7 +112,6 @@ G4bool HadrontherapyDetectorSD::ProcessHits(G4Step* aStep, G4TouchableHistory* R if (particleName == "pi+" || particleName == "pi-" || particleName == "pi0") analysis -> SecondaryPionEnergyDeposit(i, energyDeposit/MeV); } - } #endif return true; diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc index b39333a030..d4ff6151f0 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyEventAction.cc @@ -23,24 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyEventAction.cc; -// Last modified: G.A.P.Cirrone March 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- +// $Id: HadrontherapyEventAction.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + #include "G4Event.hh" #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" @@ -55,48 +40,52 @@ #include "HadrontherapyDetectorSD.hh" #include "HadrontherapyDetectorConstruction.hh" #include "HadrontherapyMatrix.hh" +#include "HadrontherapyEventActionMessenger.hh" -HadrontherapyEventAction::HadrontherapyEventAction(HadrontherapyMatrix* matrixPointer) : - drawFlag("all" ),printModulo(10000) +///////////////////////////////////////////////////////////////////////////// +HadrontherapyEventAction::HadrontherapyEventAction() : + drawFlag("all" ),printModulo(1000), pointerEventMessenger(0) { hitsCollectionID = -1; - matrix = matrixPointer; + pointerEventMessenger = new HadrontherapyEventActionMessenger(this); } +///////////////////////////////////////////////////////////////////////////// HadrontherapyEventAction::~HadrontherapyEventAction() { + delete pointerEventMessenger; } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyEventAction::BeginOfEventAction(const G4Event* evt) -{ - +{ G4int evtNb = evt->GetEventID(); //printing survey if (evtNb%printModulo == 0) G4cout << "\n---> Begin of Event: " << evtNb << G4endl; - + G4SDManager* pSDManager = G4SDManager::GetSDMpointer(); if(hitsCollectionID == -1) hitsCollectionID = pSDManager -> GetCollectionID("HadrontherapyDetectorHitsCollection"); } +///////////////////////////////////////////////////////////////////////////// void HadrontherapyEventAction::EndOfEventAction(const G4Event* evt) { if(hitsCollectionID < 0) - return; - + return; G4HCofThisEvent* HCE = evt -> GetHCofThisEvent(); - HadrontherapyDetectorHitsCollection* CHC = NULL; if(HCE) - CHC = (HadrontherapyDetectorHitsCollection*)(HCE -> GetHC(hitsCollectionID)); - - if(CHC) - { - if(matrix) - { - // Fill the matrix with the information: voxel and associated energy deposit + { + HadrontherapyDetectorHitsCollection* CHC = (HadrontherapyDetectorHitsCollection*)(HCE -> GetHC(hitsCollectionID)); + if(CHC) + { + matrix = HadrontherapyMatrix::getInstance(); + if(matrix) + { + // Fill the matrix with the information: voxel and associated energy deposit // in the detector at the end of the event G4int HitCount = CHC -> entries(); @@ -108,9 +97,9 @@ void HadrontherapyEventAction::EndOfEventAction(const G4Event* evt) G4double energyDeposit = ((*CHC)[h]) -> GetEdep(); matrix -> Fill(i, j, k, energyDeposit/MeV); } - } + } } - + } // Extract the trajectories and draw them in the visualisation if (G4VVisManager::GetConcreteInstance()) diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationAnalysisSetup.cc b/examples/advanced/hadrontherapy/src/HadrontherapyEventActionMessenger.cc old mode 100644 new mode 100755 similarity index 51% rename from examples/advanced/radiation_monitor/application/src/RadmonApplicationAnalysisSetup.cc rename to examples/advanced/hadrontherapy/src/HadrontherapyEventActionMessenger.cc index 1ac132502a..8d44ca36e4 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationAnalysisSetup.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyEventActionMessenger.cc @@ -23,44 +23,54 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: HadrontherapyDetectorHit.cc; // -// File name: RadmonApplicationAnalysisSetup.cc -// Creation date: Sep 2005 -// Main author: Riccardo Capra -// -// Id: $Id: RadmonApplicationAnalysisSetup.cc,v 1.3.2.2 2006/06/29 16:08:31 gunter Exp $ -// Tag: $Name: geant4-09-02 $ -// +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -// Include files -#include "RadmonApplicationAnalysisSetup.hh" -#include "RadmonApplicationOptions.hh" +#include "HadrontherapyEventActionMessenger.hh" -#ifdef G4ANALYSIS_USE - #include "RadmonDataAnalysisDepositedEnergy.hh" +#include "HadrontherapyEventAction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" - #include "RadmonDataAnalysisWithLabelFactory.hh" +///////////////////////////////////////////////////////////////////////////// +HadrontherapyEventActionMessenger::HadrontherapyEventActionMessenger(HadrontherapyEventAction* EvAct) +:eventAction(EvAct) +{ + eventDir = new G4UIdirectory("/event/"); + eventDir->SetGuidance("Permits controls on simulation events"); + + DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); + DrawCmd->SetGuidance("Draw the tracks in the event"); + DrawCmd->SetGuidance(" Choice : none,charged, all, neutral"); + DrawCmd->SetParameterName("choice",true); + DrawCmd->SetDefaultValue("all"); + DrawCmd->SetCandidates("none charged all neutral"); + DrawCmd->AvailableForStates(G4State_Idle); + + PrintCmd = new G4UIcmdWithAnInteger("/event/printEventNumber",this); + PrintCmd->SetGuidance("Print the event number of modulo n"); + PrintCmd->SetParameterName("EventNb",false); + PrintCmd->SetRange("EventNb>0"); + PrintCmd->AvailableForStates(G4State_Idle); +} +///////////////////////////////////////////////////////////////////////////// +HadrontherapyEventActionMessenger::~HadrontherapyEventActionMessenger() +{ + delete DrawCmd; + delete PrintCmd; + delete eventDir; +} - #define DECLARE_ANALYSIS_CONSTRUCTOR(name) constructor=new name(); \ - if (constructor==0) \ - { \ - G4cerr << currentOptions.ApplicationName() << ": Cannot allocate " #name "." << G4endl; \ - return false; \ - } \ - factory->AppendDataAnalysisWithLabel(constructor) - - G4bool RadmonApplicationAnalysisSetup :: CreateDataAnalysis(RadmonDataAnalysisWithLabelFactory * factory) - { - RadmonVDataAnalysisWithLabel * constructor; - - DECLARE_ANALYSIS_CONSTRUCTOR(RadmonDataAnalysisDepositedEnergy); - - return true; +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyEventActionMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if(command == DrawCmd) + {eventAction->SetDrawFlag(newValue);} + + if(command == PrintCmd) + {eventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));} } -#else /* G4ANALYSIS_USE */ - G4bool RadmonApplicationAnalysisSetup :: CreateDataAnalysis(RadmonDataAnalysisWithLabelFactory * /* factory */) - { - return false; - } -#endif /* G4ANALYSIS_USE */ diff --git a/examples/advanced/medical_linac/src/MedLinacRunAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryController.cc similarity index 59% rename from examples/advanced/medical_linac/src/MedLinacRunAction.cc rename to examples/advanced/hadrontherapy/src/HadrontherapyGeometryController.cc index 9076d343f4..c34a00fe96 100644 --- a/examples/advanced/medical_linac/src/MedLinacRunAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryController.cc @@ -23,63 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: MedLinacRunAction.cc,v 1.6 2006/06/29 16:04:47 gunter Exp $ -// -// -// Code developed by: M. Piergentili +// $Id: HadrontherapyGeometryController.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#include "MedLinacRunAction.hh" -#include "MedLinacEventAction.hh" - -#include "G4Run.hh" +#include "HadrontherapyGeometryController.hh" +#include "HadrontherapyDetectorConstruction.hh" +#include "HadrontherapyInteractionParameters.hh" +#include "IAEADetectorConstruction.hh" +#include "PassiveProtonBeamLine.hh" #include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4VVisManager.hh" -#include "G4ios.hh" -#include "MedLinacDetectorConstruction.hh" -#include "G4SDManager.hh" -#include "G4Timer.hh" - -#ifdef G4ANALYSIS_USE -#include "MedLinacAnalysisManager.hh" -#endif -MedLinacRunAction::MedLinacRunAction() +HadrontherapyGeometryController::HadrontherapyGeometryController() { + } - -MedLinacRunAction::~MedLinacRunAction() -{ -} - -void MedLinacRunAction::BeginOfRunAction(const G4Run* aRun) +HadrontherapyGeometryController::~HadrontherapyGeometryController() { -#ifdef G4ANALYSIS_USE - MedLinacAnalysisManager* analysis = MedLinacAnalysisManager::getInstance(); - analysis->book(); -#endif - - - G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; } -void MedLinacRunAction::EndOfRunAction(const G4Run* aRun) +void HadrontherapyGeometryController::SetGeometry(G4String name) { - -#ifdef G4ANALYSIS_USE - MedLinacAnalysisManager* analysis = MedLinacAnalysisManager::getInstance(); -#endif - G4cout << "number of event = " << aRun->GetNumberOfEvent() << G4endl; - -#ifdef G4ANALYSIS_USE - analysis->finish(); -#endif - - + G4cout <<"Activating geometry " << name << G4endl; + if(name == "IAEA") { + registerGeometry(new IAEADetectorConstruction()); + G4cout <<"IAEA geometry activated" << G4endl; + } else if(name == "default") { + registerGeometry(new PassiveProtonBeamLine()); + } else { + G4cout <<"Unknown geometry: " << name << ". Geometry not changed." << G4endl; + } } - +void HadrontherapyGeometryController::registerGeometry(G4VUserDetectorConstruction *detector) +{ + G4RunManager *runManager = G4RunManager::GetRunManager(); + runManager->SetUserInitialization(detector); + runManager->GeometryHasBeenModified(); +} diff --git a/examples/advanced/cosmicray_charging/include/LISASteppingActionMessenger.hh b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryMessenger.cc similarity index 58% rename from examples/advanced/cosmicray_charging/include/LISASteppingActionMessenger.hh rename to examples/advanced/hadrontherapy/src/HadrontherapyGeometryMessenger.cc index 5614ddbcff..a35be71fd8 100644 --- a/examples/advanced/cosmicray_charging/include/LISASteppingActionMessenger.hh +++ b/examples/advanced/hadrontherapy/src/HadrontherapyGeometryMessenger.cc @@ -23,42 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** +// $Id: HadrontherapyGeometrymessenger.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifndef LISASteppingActionMessenger_h -#define LISASteppingActionMessenger_h 1 - -#include "G4UImessenger.hh" -#include "G4UIcommand.hh" -#include "G4UIcmdWithABool.hh" +#include "HadrontherapyGeometryMessenger.hh" +#include "HadrontherapyGeometryController.hh" #include "G4UIdirectory.hh" -#include "globals.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" -class LISASteppingAction; +HadrontherapyGeometryMessenger::HadrontherapyGeometryMessenger(HadrontherapyGeometryController* controller) + :hadrontherapyGeometryController(controller) -class LISASteppingActionMessenger: public G4UImessenger { +{ + changeTheGeometryDir = new G4UIdirectory("/geometrySetup/"); + changeTheGeometryDir -> SetGuidance("Geometry setup"); - public: - LISASteppingActionMessenger(LISASteppingAction*); - ~LISASteppingActionMessenger(); + changeTheGeometryCmd = new G4UIcmdWithAString("/geometrySetup/selectGeometry",this); + changeTheGeometryCmd -> SetGuidance("Select the geometry you wish to use"); + changeTheGeometryCmd -> SetParameterName("Geometry",false); + changeTheGeometryCmd -> AvailableForStates(G4State_PreInit); +} - void SetNewValue(G4UIcommand*, G4String); - - private: - LISASteppingAction* steppingAction; +HadrontherapyGeometryMessenger::~HadrontherapyGeometryMessenger() +{ + delete changeTheGeometryDir; + delete changeTheGeometryCmd; +} - G4UIcmdWithABool* SetFlagSpectrum; - - G4UIdirectory* newDir; - -}; - -#endif +void HadrontherapyGeometryMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == changeTheGeometryCmd ) + { hadrontherapyGeometryController -> SetGeometry (newValue);} +} diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyInteractionParameters.cc b/examples/advanced/hadrontherapy/src/HadrontherapyInteractionParameters.cc new file mode 100755 index 0000000000..254706333c --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HadrontherapyInteractionParameters.cc @@ -0,0 +1,222 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyInteractionParameters.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#include "HadrontherapyInteractionParameters.hh" +#include "HadrontherapyParameterMessenger.hh" +#include "HadrontherapyDetectorConstruction.hh" + +#include "G4UnitsTable.hh" +#include "G4UImanager.hh" +#include "G4RunManager.hh" +#include "G4LossTableManager.hh" +#include "G4Material.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4NistManager.hh" +#include "G4Element.hh" + +#include "G4StateManager.hh" + +#include "globals.hh" +#include +#include +#include +#include +#include + +#include + + +HadrontherapyInteractionParameters::HadrontherapyInteractionParameters(): + nistEle(new G4NistElementBuilder(0)), + nistMat(new G4NistMaterialBuilder(nistEle, 0)), + data(std::cout.rdbuf()), emCal(new G4EmCalculator), + pMessenger(new HadrontherapyParameterMessenger(this)), + beamFlag(false) +{ +} + +HadrontherapyInteractionParameters::~HadrontherapyInteractionParameters() +{ + delete pMessenger; + delete emCal; + delete nistMat; + delete nistEle; +} +bool HadrontherapyInteractionParameters::GetStoppingTable(const G4String& vararg) +{ + // Check arguments + if ( !ParseArg(vararg)) return false; + + std::vector energy; + std::vector massDedx; + G4double dedxtot; + + // log scale + if (kinEmin != kinEmax && npoints >1) + { + G4double logmin = std::log10(kinEmin); + G4double logmax = std::log10(kinEmax); + G4double en; + // uniform log space + for (G4double c = 0.; c < npoints; c++) + { + en = std::pow(10., logmin + ( c*(logmax-logmin) / (npoints - 1.)) ); + energy.push_back(en); + dedxtot = emCal -> ComputeTotalDEDX (en, particle, material); + massDedx.push_back ( dedxtot / density ); + } + } + else // one point only + { + energy.push_back(kinEmin); + dedxtot = emCal -> ComputeTotalDEDX (kinEmin, particle, material); + massDedx.push_back ( dedxtot / density ); + } + + G4cout.precision(6); + data << "MeV " << "MeV*cm2/g " << particle << " (into " << + material << ", density = " << G4BestUnit(density,"Volumic Mass") << ")" << G4endl; + data << G4endl; + data << std::left << std::setfill(' '); + for (size_t i=0; iFindOrBuildMaterial(material); + if (Pmaterial) + { + density = Pmaterial -> GetDensity(); + } + return Pmaterial; +} +// Parse arguments line +bool HadrontherapyInteractionParameters::ParseArg(const G4String& vararg) +{ + kinEmin = kinEmax = npoints = 0.; + particle = material = filename = ""; + // set internal variables + std::istringstream strParam(vararg); + // TODO here check for number and parameters consistency + strParam >> std::skipws >> material >> kinEmin >> kinEmax >> npoints >> particle >> filename; + // npoints must be an integer! + npoints = std::floor(npoints); + +// Check that kinEmax >= kinEmin > 0 && npoints >= 1 +// TODO NIST points and linear scale + if (kinEmax == 0. && kinEmin > 0. ) kinEmax = kinEmin; + if (kinEmax == 0. && kinEmin == 0. ) kinEmax = kinEmin = 1.*MeV; + if (kinEmax < kinEmin) + { + G4cout << "WARNING: kinEmin must not exceed kinEmax!" << G4endl; + G4cout << "Usage: /parameter/command material kinetic Emin kinetic Emax nPoints [particle] [output filename]" << G4endl; + return false; + } + if (npoints < 1) npoints = 1; + + // check if element/material is into database + if (!GetNistMaterial(material) ) + { + G4cout << "WARNING: material \"" << material << "\" doesn't exist in NIST elements/materials" + " table [$G4INSTALL/source/materials/src/G4NistMaterialBuilder.cc]" << G4endl; + G4cout << "Use command \"/parameter/nist\" to see full materials list" << G4endl; + return false; + } + // Check for particle + if (particle == "") particle = "proton"; // default to "proton" + else if ( !emCal->FindParticle(particle) ) + { + G4cout << "WARNING: Particle \"" << particle << "\" isn't supported" << G4endl; + G4cout << "Try the command \"/particle/list\" to get full supported particles list" << G4endl; + G4cout << "If you are interested in an ion that isn't in this list you must give it to the particle gun." + "\nTry the commands \n/gun/particle ion" + "\n/gun/ion <[charge]>" << G4endl; + return false; + } + // start physics by forcing a G4RunManager beamOn(): + BeamOn(); + // Set output file + if( filename != "" ) + { + outfile.open(filename,std::ios_base::trunc); // overwrite existing file + data.rdbuf(outfile.rdbuf()); + } + else data.rdbuf(std::cout.rdbuf()); // output is G4cout + return true; +} +// Force physics tables build +void HadrontherapyInteractionParameters::BeamOn() +{ + // first check if RunManager is above G4State_Idle + G4StateManager* mState = G4StateManager::GetStateManager(); + G4ApplicationState aState = mState -> GetCurrentState(); + if ( aState <= G4State_Idle && beamFlag == false) + { + // G4cout << "Run State " << mState -> GetStateString( aState ) << G4endl; + G4RunManager::GetRunManager() -> BeamOn(0); + beamFlag = true; + } + +} +// print a list of Nist elements and materials +void HadrontherapyInteractionParameters::ListOfNistMaterials(const G4String& vararg) +{ +/* + $G4INSTALL/source/materials/src/G4NistElementBuilder.cc + You can also construct a new material by the ConstructNewMaterial method: + see $G4INSTALL/source/materials/src/G4NistMaterialBuilder.cc +*/ + // Get simplest full list + if (vararg =="list") + { + const std::vector& vec = nistMat -> GetMaterialNames(); + for (size_t i=0; i ListMaterials(vararg); + } +} + + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyMaterial.cc b/examples/advanced/hadrontherapy/src/HadrontherapyMaterial.cc deleted file mode 100644 index b3c040590d..0000000000 --- a/examples/advanced/hadrontherapy/src/HadrontherapyMaterial.cc +++ /dev/null @@ -1,301 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyMaterial.cc; Last modified: G.A.P.Cirrone, March 2008; -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- -#include "globals.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "HadrontherapyMaterial.hh" -#include "G4NistManager.hh" - -HadrontherapyMaterial::HadrontherapyMaterial(): - matW(0), matAl(0), matSi(0), matTa(0), matCu(0), - vacuum(0), matplexiglass(0), brass(0), - kapton(0), matPb(0), titanium(0), matAir(0), - matH2O(0), soft(0), gold(0), bone(0), muscle(0) -{;} - -HadrontherapyMaterial::~HadrontherapyMaterial() -{ - delete muscle; - delete bone; - delete gold; - delete soft; - delete matH2O; - delete matAir; - delete titanium; - delete matPb; - delete kapton; - delete brass; - delete matplexiglass; - delete vacuum; - delete matCu; - delete matTa; - delete matSi; - delete matAl; - delete matW; -} - -void HadrontherapyMaterial::DefineMaterials() -{ - // Define required materials - - G4double z; // Atomic numebr - G4double a; // Atomic mass - G4double d; // Density - G4int nComponents;// Number of components - G4double fractionmass; // Fraction in mass of an element in a material - G4int nAtoms; // Number of atoms in a molecuule - - ///////////////////////////////////////////////////////////////////////////// - // MATERIA DEFINITION FOLLOWING THE NIST DATABASE - - // Pointer to the G4Nist manager - // for the material definition following - // the NIST database. - // It recommended to use this when - // the Standard models for electromagnetic physic - // are called - - G4NistManager* nistMaterialManager = G4NistManager::Instance(); - G4bool isotopes = false; - - // Material NIST definition - nistMaterialManager -> FindOrBuildMaterial("G4_AIR" , isotopes); - nistMaterialManager -> FindOrBuildMaterial("G4_WATER", isotopes); - nistMaterialManager -> FindOrBuildMaterial("G4_PMMA", isotopes); - nistMaterialManager -> FindOrBuildMaterial("G4_MYLAR", isotopes); - ///////////////////////////////////////////////////////////////////////////// - - // Elements - a = 1.01*g/mole; - G4Element* elH = new G4Element ("Hydrogen","H",z = 1.,a); - - a = 14.01*g/mole; - G4Element* elN = new G4Element("Nitrogen","N",z = 7.,a); - - a = 16.00*g/mole; - G4Element* elO = new G4Element("Oxygen","O",z = 8.,a); - - a = 12.011*g/mole; - G4Element* elC = new G4Element("Carbon","C",z = 6.,a); - - a = 22.99*g/mole; - G4Element* elNa = new G4Element("Sodium","Na",z = 11.,a); - - a = 24.305*g/mole; - G4Element* elMg = new G4Element("Magnesium","Mg",z = 12.,a); - - a = 30.974*g/mole; - G4Element* elP = new G4Element("Phosphorus","P",z = 15.,a); - - a = 32.06*g/mole; - G4Element* elS = new G4Element("Sulfur","S",z = 16.,a); - - a = 35.453*g/mole; - G4Element* elCl = new G4Element("Chlorine","Cl",z = 17.,a); - - a = 39.098*g/mole; - G4Element* elK = new G4Element("Potassium","K",z = 19.,a); - - a = 40.08*g/mole; - G4Element* elCa = new G4Element("Calcium","Ca",z = 20.,a); - - a = 65.38*g/mole; - G4Element* elZn = new G4Element("Zinc","Zn",z = 30.,a); - - a = 55.85*g/mole; - G4Element* elFe = new G4Element("Iron","Fe",z = 26.,a); - - a = 63.546*g/mole; - d = 8.90*g/cm3; - G4Element* elCu = new G4Element("Copper","Cu", z = 29., a); - - // Materials - - // Tungsten - z = 74.; - a = 183.84* g/mole; - d = 19.3*g/cm3; - matW = new G4Material("Tungsten", z, a, d); - - // Aluminum - z = 13.; - a = 26.98*g/mole; - d = 2.700*g/cm3; - matAl = new G4Material("MatAluminum",z, a, d); - - // Silicon - z = 14.; - a = 28.09*g/mole; - d = 2.330*g/cm3; - matSi = new G4Material("MatSilicon",z, a, d); - - // Tantalum - z = 73.; - a = 180.948*g/mole; - d = 16.6*g/cm3; - matTa = new G4Material("MatTantalum", z, a, d); - - // Copper - z = 29.; - a = 63.546*g/mole; - d = 8.90*g/cm3; - matCu = new G4Material("MatCopper", z, a, d); - - // Vacuum - G4double density = universe_mean_density; - G4double pressure = 3.e-18*pascal; - G4double temperature = 2.73*kelvin; - a = 1.01*g/mole; - z = 1; - vacuum = new G4Material("Galactic", z, a, - density,kStateGas,temperature,pressure); - - // Plexiglass - d = 1.18*g/cm3; - matplexiglass = new G4Material("PMMA",d,3); - matplexiglass -> AddElement(elH,0.08); - matplexiglass -> AddElement(elC,0.60); - matplexiglass -> AddElement(elO,0.32); - - // Brass - d = 8.40*g/cm3; - nComponents = 2; - G4Material* brass = new G4Material("Brass", d, nComponents); - brass -> AddElement(elZn, fractionmass = 30*perCent); - brass -> AddElement(elCu, fractionmass = 70*perCent); - - // Kapton - d = 1.43*g/cm3; - nComponents = 4; - G4Material* kapton = new G4Material("Kapton", d, nComponents); - kapton -> AddElement(elH, nAtoms = 10); - kapton -> AddElement(elO, nAtoms = 5); - kapton -> AddElement(elC, nAtoms = 22); - kapton -> AddElement(elN, nAtoms = 2); - - // Lead - a = 207.19*g/mole; - z = 82.; - d = 11.35*g/cm3; - matPb = new G4Material("Lead", z, a, d); - - // Titanium - z = 22.; - a = 47.88*g/mole; - d = 4.50*g/cm3; - titanium = new G4Material("titanium", z, a, d); - - // Air material - d = 1.290*mg/cm3; - nComponents = 2; - G4Material* matAir = new G4Material("Air", d, nComponents); - matAir -> AddElement(elN,0.7); - matAir -> AddElement(elO,0.3); - - // Water by "hand" - d = 1.000*g/cm3; - nComponents = 2; - matH2O = new G4Material("Water", d, nComponents); - matH2O -> AddElement(elH,2); - matH2O -> AddElement(elO,1); - matH2O -> GetIonisation()->SetMeanExcitationEnergy(75.0*eV); - matH2O -> SetChemicalFormula("H_2O"); - G4cout << "-----------> CHEMICAL FORMULA FOR WATER FIXED <----------"<< G4endl; - - - //soft tissue(http://www.nist.gov) - d = 1.0*g/cm3; - nComponents = 13; - soft = new G4Material("tissue",d, nComponents); - soft -> AddElement(elH,0.104472); - soft -> AddElement(elC,0.23219); - soft -> AddElement(elN,0.02488); - soft -> AddElement(elO,0.630238); - soft -> AddElement(elNa,0.00113); - soft -> AddElement(elMg,0.00013); - soft -> AddElement(elP,0.00133); - soft -> AddElement(elS,0.00199); - soft -> AddElement(elCl,0.00134); - soft -> AddElement(elK,0.00199); - soft -> AddElement(elCa,0.00023); - soft -> AddElement(elFe,0.00005); - soft -> AddElement(elZn,0.00003); - - // Gold - z = 79; - a = 196.97*g/mole; - d = 19.32*g/cm3; - gold = new G4Material("gold", z, a, d); - - // Compact bone - d = 1.85*g/cm3; - nComponents = 8; - bone = new G4Material("bone", d, nComponents); - bone -> AddElement(elH,0.063984); - bone -> AddElement(elC,0.278); - bone -> AddElement(elN,0.027); - bone -> AddElement(elO,0.410016); - bone -> AddElement(elMg,0.002); - bone -> AddElement(elP,0.07); - bone -> AddElement(elS,0.002); - bone -> AddElement(elCa,0.147); - - //muscle - nComponents = 9; - muscle = new G4Material("muscle", d, nComponents); - muscle -> AddElement(elH,0.101997); - muscle -> AddElement(elC,0.123); - muscle -> AddElement(elN,0.035); - muscle -> AddElement(elNa,0.0008); - muscle -> AddElement(elO,0.729); - muscle -> AddElement(elMg,0.0002); - muscle -> AddElement(elP,0.002); - muscle -> AddElement(elS,0.005); - muscle -> AddElement(elK,0.003); -} - -G4Material* HadrontherapyMaterial::GetMat(G4String material) -{ - G4Material* pttoMaterial = G4Material::GetMaterial(material); - return pttoMaterial; -} - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc b/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc index a517b623e9..1a0ee0e3d3 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyMatrix.cc @@ -23,58 +23,70 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// // $Id: HadrontherapyMatrix.cc; -// Last modified: G.A.P.Cirrone, May 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy// #include "HadrontherapyMatrix.hh" #include "HadrontherapyAnalysisManager.hh" #include "globals.hh" #include -HadrontherapyMatrix::HadrontherapyMatrix() +HadrontherapyMatrix* HadrontherapyMatrix::instance = NULL; +// Static method that only return a pointer to the matrix object +HadrontherapyMatrix* HadrontherapyMatrix::getInstance() +{ + return instance; +} +// This STATIC method delete (!) the old matrix and rewrite a new object returning a pointer to it +HadrontherapyMatrix* HadrontherapyMatrix::getInstance(G4int voxelX, G4int voxelY, G4int voxelZ) +{ + if (instance) delete instance; + instance = new HadrontherapyMatrix(voxelX, voxelY, voxelZ); + instance -> Initialize(); + return instance; +} + +HadrontherapyMatrix::HadrontherapyMatrix(G4int voxelX, G4int voxelY, G4int voxelZ): + matrix(0) { - // Number of the voxels of the phantom - numberVoxelX = 400; - numberVoxelY = 1; - numberVoxelZ = 1; - - // Create the matrix +// Number of the voxels of the phantom +// For Y = Z = 1 the phantom is divided in slices (and not in voxels) +// orthogonal to the beam axis + numberVoxelX = voxelX; + numberVoxelY = voxelY; + numberVoxelZ = voxelZ; + // Create the dose matrix matrix = new G4double[numberVoxelX*numberVoxelY*numberVoxelZ]; + if (matrix) G4cout << "Matrix: Memory space to store physical dose into " << + numberVoxelX*numberVoxelY*numberVoxelZ << + " voxels has been allocated " << G4endl; + else G4Exception("Can't allocate memory to store physical dose!"); } HadrontherapyMatrix::~HadrontherapyMatrix() { - delete[] matrix; + delete[] matrix; +} + +void HadrontherapyMatrix::flush() +{ + if(matrix) + for(int i=0; i FillEnergyDeposit(n, m, k, matrix[i]); analysis -> BraggPeak(n, matrix[i]); #endif } - } +} } } } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc b/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc index 794afd1b11..4e347faf72 100755 --- a/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyModulator.cc @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyModulator.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// $Id: HadrontherapyModulator.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "G4Material.hh" #include "G4Tubs.hh" @@ -50,13 +38,12 @@ #include "G4RotationMatrix.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" -#include "HadrontherapyMaterial.hh" #include "HadrontherapyModulator.hh" -#include "HadrontherapyMaterial.hh" #include "G4Transform3D.hh" #include "G4ios.hh" #include #include "G4RunManager.hh" +#include "G4NistManager.hh" HadrontherapyModulator::HadrontherapyModulator():physiMotherMod(0), solidMod0(0), logicMod0(0), physiMod0(0), @@ -140,37 +127,31 @@ HadrontherapyModulator::HadrontherapyModulator():physiMotherMod(0), G4double phi = 270. *deg; rm -> rotateY(phi); } - +///////////////////////////////////////////////////////////////////////////// HadrontherapyModulator::~HadrontherapyModulator() { delete rm; } - +///////////////////////////////////////////////////////////////////////////// void HadrontherapyModulator::BuildModulator(G4VPhysicalVolume* motherVolume) { + G4bool isotopes = false; + G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes); - - //Materials used for the modulator wheel - HadrontherapyMaterial* material = new HadrontherapyMaterial(); - - G4Material* Mod0Mater = material -> GetMat("Air"); - G4Material* ModMater = material -> GetMat("Air"); - delete material; - + G4Material* Mod0Mater = airNist; + G4Material* ModMater = airNist; + G4double innerRadiusOfTheTube = 2.5 *cm; G4double outerRadiusOfTheTube = 9.5 *cm; G4double hightOfTheTube = 0.03*cm; // Mother of the modulator wheel - G4ThreeVector positionMotherMod = G4ThreeVector(-1960.50 *mm, 30 *mm, 50 *mm); G4Box* solidMotherMod = new G4Box("MotherMod", 12 *cm, 12 *cm, 12 *cm); G4LogicalVolume * logicMotherMod = new G4LogicalVolume(solidMotherMod, Mod0Mater,"MotherMod",0,0,0); - - physiMotherMod = new G4PVPlacement(rm,positionMotherMod, "MotherMod", logicMotherMod, motherVolume, @@ -199,7 +180,6 @@ void HadrontherapyModulator::BuildModulator(G4VPhysicalVolume* motherVolume) logicMod0 = new G4LogicalVolume(solidMod0, Mod0Mater, "Mod0",0,0,0); - physiMod0 = new G4PVPlacement(G4Transform3D(rm2, positionMod0), logicMod0, "Mod0", @@ -212,7 +192,6 @@ void HadrontherapyModulator::BuildModulator(G4VPhysicalVolume* motherVolume) // First modulator sclice //---------------------------------------------------------- - G4double startAngleOfTheTube1 = 54.267*deg; G4double spanningAngleOfTheTube1 = 71.466*deg; diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyParameterMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyParameterMessenger.cc new file mode 100755 index 0000000000..06e57c6572 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HadrontherapyParameterMessenger.cc @@ -0,0 +1,85 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyInteractionParametersMessenger.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#include "HadrontherapyParameterMessenger.hh" +#include "HadrontherapyInteractionParameters.hh" + +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" + +HadrontherapyParameterMessenger::HadrontherapyParameterMessenger(HadrontherapyInteractionParameters* param) +:pParam(param) +{ + paramDir = new G4UIdirectory("/parameter/"); + paramDir -> SetGuidance("Commands to generate stopping power and range"); + + dedxCmd = new G4UIcmdWithAString("/parameter/getstopping",this); + dedxCmd->SetGuidance("Get mass stopping powers" + "\n[usage]: /parameter/getstopping Material [Emin] [Emax] [N] [Particle] [File]" + "\n Material:(string) Material name, like G4_H, G4_WATER,..., look at /parameter/nist" + "\n Emin Emax:(double) minimum and maximum kinetic energy (MeV)" + "\n N:(double) [number of points]" + "\n Particle:(string) Particle name, look at /particle/list" + "\n File:(string) Name for the output file." + "\nDefault values for parameters inside [] are respectively:" + "\n \"1 MeV\", \"Emin\", \"1\", \"proton\", \"stdout\""); + dedxCmd->SetParameterName("inputData",false); + dedxCmd->AvailableForStates(G4State_Idle); + + listCmd = new G4UIcmdWithAString("/parameter/nist",this); + listCmd -> SetGuidance("Print NIST elements/materials.\nParameters:" + "\n\t all: will print elements and compounds" + "\n\t simple: will print elements only" + "\n\t compound: will print compounds only" + "\n\t hep: will print hep compounds" + "\n\t list: will print a simple full list of all elements and compounds"); + listCmd -> SetParameterName("String",true); + listCmd -> SetDefaultValue("list"); + listCmd -> SetCandidates("all simple compound hep list"); + listCmd ->AvailableForStates(G4State_Idle); + //Available G4 States (G4State_PreInit, G4State_Init, G4State_Idle,G4State_GeomClosed, G4State_EventProc); +} +HadrontherapyParameterMessenger::~HadrontherapyParameterMessenger() +{ + delete paramDir; + delete dedxCmd; + delete listCmd; +} + +void HadrontherapyParameterMessenger::SetNewValue(G4UIcommand* command, G4String vararg) +{ + if (command == dedxCmd) + { + pParam -> GetStoppingTable(vararg); + } + else if (command == listCmd) + { + pParam -> ListOfNistMaterials(vararg); + } +} + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc b/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc index 47fa6e0df2..c9187f6dda 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyParticles.cc @@ -23,20 +23,9 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyParticles.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// $Id: HadrontherapyParticles.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + #include "HadrontherapyParticles.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTypes.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc index 9fbf265627..7f43393294 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsList.cc @@ -23,109 +23,135 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPhysicsList.cc -// Last modified: M.P. Russo Nov 2008; -// -// See more at: http://geant4infn.wikispaces.com/ -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a), M.P. Russo -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyPhysicsList.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#include "globals.hh" -#include "G4ProcessManager.hh" -#include "G4Region.hh" -#include "G4RegionStore.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4PhysListFactory.hh" -#include "G4VModularPhysicsList.hh" -#include "G4VPhysicsConstructor.hh" +// This class provides all the physic models that can be activated inside Hadrontherapy; +// Each model can be setted via macro commands; +// Inside Hadrontherapy the models can be activate with three different complementar methods: +// +// 1. Use of the *Packages*. +// Packages (that are contained inside the +// Geant4 distribution at $G4INSTALL/source/physics_lists/lists) provide a full set +// of models (both electromagnetic and hadronic). +// The User can use this method simply add the line /physic/addPackage +// in his/her macro file. No other action is required. +// For Hadrontherapy applications we suggest the use of the QGSP_BIC package +// for proton beams. The same can be used +// also for ligth ion beam. +// Example of use of package can be found in the packageQGSP_BIC.mac file. +// +// 2. Use of the *Physic Lists*. +// Physic lists are also already ready to use inside the Geant4 distribution +// ($G4INSTALL/source/physics_lists/builders). To use them the simple +// /physic/addPhysics command must be used in the macro. +// In Hadrontherapy we provide physics list to activate Electromagnetic, +// Hadronic elastic and Hadronic inelastic models. +// +// For Hadrontherapy we suggest the use of: +// +// /physic/addPhysic/emstandard_option3 (electromagnetic model) +// /physic/addPhysic/QElastic (hadronic elastic model) +// /physic/addPhysic/binary (hadronic inelastic models for proton and neutrons) +// /physic/addPhysic/binary_ion (hadronic inelastic models for ions) +// +// Example of the use of physics lists can be found in the macro files included in the +// 'macro' folder . +// +// 3. Use of a *local* physics. In this case the models are implemented in local files +// contained in the Hadrontherapy folder. The use of local physic is recommended +// to more expert Users. +// We provide as local, only the LocalStandardICRU73EmPhysic.cc (an Elecromagnetic +// implementation containing the new ICRU73 data table for ions stopping powers) +// and the LocalIonIonInelasticPhysic.cc (physic list to use for the ion-ion interaction +// case) +// The *local* physics can be activated with the same /physic/addPhysic command; +// +// While Packages approch must be used exclusively, Physics List and Local physics can +// be activated, if necessary, contemporaneously in the same simulation run. +// +// AT MOMENT, IF ACCURATE RESULTS ARE NEDED, WE STRONGLY RECOMMEND THE USE OF THE MACROS: +// proton_therapy.mac: use of the built-in Geant4 physics list for proton beams) +// ion_therapy.mac : use of mixed combination of native Geant4 physic lists +// and local physic for ion-ion enelastic processes) #include "HadrontherapyPhysicsList.hh" #include "HadrontherapyPhysicsListMessenger.hh" -#include "HadrontherapyParticles.hh" -#include "Decay.hh" -#include "EMPhotonStandard.hh" -#include "EMPhotonEPDL.hh" -#include "EMPhotonPenelope.hh" -#include "EMElectronStandard.hh" -#include "EMElectronEEDL.hh" -#include "EMElectronPenelope.hh" -#include "EMPositronStandard.hh" -#include "EMPositronPenelope.hh" -#include "EMMuonStandard.hh" -#include "EMHadronIonLowEICRU49.hh" -#include "EMHadronIonLowEZiegler1977.hh" -#include "EMHadronIonLowEZiegler1985.hh" -#include "EMHadronIonStandard.hh" -#include "HIProtonNeutronPrecompound.hh" -#include "HIProtonNeutronBertini.hh" -#include "HIProtonNeutronBinary.hh" -#include "HIProtonNeutronLEP.hh" -#include "HIProtonNeutronPrecompoundGEM.hh" -#include "HIProtonNeutronPrecompoundFermi.hh" -#include "HIProtonNeutronPrecompoundGEMFermi.hh" -#include "HIPionBertini.hh" -#include "HIPionLEP.hh" -#include "HIIonLEP.hh" -#include "HEHadronIonLElastic.hh" -#include "HEHadronIonBertiniElastic.hh" -#include "HEHadronIonQElastic.hh" -#include "HEHadronIonUElastic.hh" -#include "HRMuonMinusCapture.hh" +#include "HadrontherapyStepMax.hh" +#include "G4PhysListFactory.hh" +#include "G4VPhysicsConstructor.hh" + +// Local physic directly implemented in the Hadronthrapy directory +#include "LocalIonIonInelasticPhysic.hh" // Physic dedicated to the ion-ion inelastic processes +#include "LocalINCLIonIonInelasticPhysic.hh" // Physic dedicated to the ion-ion inelastic processes using INCL/ABLA + +// Physic lists (contained inside the Geant4 distribution) +#include "G4EmStandardPhysics_option3.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmPenelopePhysics.hh" +#include "G4DecayPhysics.hh" +#include "G4HadronElasticPhysics.hh" +#include "G4HadronDElasticPhysics.hh" +#include "G4HadronHElasticPhysics.hh" +#include "G4HadronQElasticPhysics.hh" +#include "G4HadronInelasticQBBC.hh" +#include "G4IonBinaryCascadePhysics.hh" +#include "G4Decay.hh" + +#include "G4LossTableManager.hh" +#include "G4UnitsTable.hh" +#include "G4ProcessManager.hh" + +#include "G4IonFluctuations.hh" +#include "G4IonParametrisedLossModel.hh" #include "G4EmProcessOptions.hh" +#include "G4RadioactiveDecayPhysics.hh" -HadrontherapyPhysicsList::HadrontherapyPhysicsList(): G4VModularPhysicsList(), - decayIsRegistered(false), - emElectronIsRegistered(false), - emPositronIsRegistered(false), - emPhotonIsRegistered(false), - emIonIsRegistered(false), - emMuonIsRegistered(false), - hadrElasticHadronIonIsRegistered(false), - hadrInelasticPionIsRegistered(false), - hadrInelasticIonIsRegistered(false), - hadrInelasticProtonNeutronIsRegistered(false), - hadrAtRestMuonIsRegistered(false) +///////////////////////////////////////////////////////////////////////////// +HadrontherapyPhysicsList::HadrontherapyPhysicsList() : G4VModularPhysicsList() { - // A default cut is applied to all volumes - // Moreover, in the HadrontherapyDetectorConstruction.cc a - // spevific cut can be applied to the region where energy is collected - defaultCutValue = 0.01 * mm; + G4LossTableManager::Instance(); + defaultCutValue = 1.*mm; + cutForGamma = defaultCutValue; + cutForElectron = defaultCutValue; + cutForPositron = defaultCutValue; - // Messenger: it is possible to activate physics processes and models interactively - messenger = new HadrontherapyPhysicsListMessenger(this); + helIsRegisted = false; + bicIsRegisted = false; + biciIsRegisted = false; + locIonIonInelasticIsRegistered = false; + radioactiveDecayIsRegisted = false; + + stepMaxProcess = 0; + + pMessenger = new HadrontherapyPhysicsListMessenger(this); SetVerboseLevel(1); - // Register all the particles involved in the experimental set-up - RegisterPhysics( new HadrontherapyParticles("particles") ); + // EM physics + emPhysicsList = new G4EmStandardPhysics_option3(1); + emName = G4String("emstandard_opt3"); + + // Deacy physics and all particles + decPhysicsList = new G4DecayPhysics(); } +///////////////////////////////////////////////////////////////////////////// HadrontherapyPhysicsList::~HadrontherapyPhysicsList() -{ - delete messenger; +{ + delete pMessenger; + delete emPhysicsList; + delete decPhysicsList; + for(size_t i=0; iGetPhysics(i); G4VPhysicsConstructor* tmp = const_cast (elem); while (elem !=0) @@ -136,693 +162,171 @@ void HadrontherapyPhysicsList::AddPackage(const G4String& name) } } - -void HadrontherapyPhysicsList::AddPhysicsList(const G4String& name) +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::ConstructParticle() { - // Options activated to improve accuracy and activated for the Standard EM models - // Usefull for a medical application - G4EmProcessOptions opt; - opt.SetStepFunction(0.2, 10*um); - opt.SetMinEnergy(0.1*keV); - opt.SetMaxEnergy(100.*GeV); - opt.SetDEDXBinning(360); - opt.SetLambdaBinning(360); - opt.SetLinearLossLimit(1.e-6); - - - G4cout << "Adding PhysicsList component " << name << G4endl; - // **************** - // *** A. DECAY *** - // **************** - - - if (name == "Decay") - - { - if (decayIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new Decay(name) ); - decayIsRegistered = true; - } - } - - - // *************************************** - // *** B. ELECTROMAGNETIC INTERACTIONS *** - // *************************************** - - - // *************** - // *** Photons *** - // *************** - - // *** Option I: Standard - - if (name == "EM-Photon-Standard") - { - if (emPhotonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- photon List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMPhotonStandard(name) ); - emPhotonIsRegistered = true; - } - } - - - // *** Option II: Low Energy based on the Livermore libraries - - if (name == "EM-Photon-EPDL") - { - if (emPhotonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- photon List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMPhotonEPDL(name) ); - emPhotonIsRegistered = true; - } - } - - - // *** Option III: Low Energy Penelope - - if (name == "EM-Photon-Penelope") - { - if (emPhotonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- photon List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMPhotonPenelope(name) ); - emPhotonIsRegistered = true; - } - } - - - // ***************** - // *** Electrons *** - // ***************** - - // *** Option I: Standard - - if (name == "EM-Electron-Standard") - { - if (emElectronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- electron List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMElectronStandard(name) ); - emElectronIsRegistered = true; - } - } - - - // *** Option II: Low Energy based on the Livermore libraries - - if (name == "EM-Electron-EEDL") - { - if (emElectronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- electron List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMElectronEEDL(name) ); - emElectronIsRegistered = true; - } - } - - - // *** Option III: Low Energy Penelope - - if (name == "EM-Electron-Penelope") - { - if (emElectronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- electron List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMElectronPenelope(name) ); - emElectronIsRegistered = true; - } - } - - - // ***************** - // *** Positrons *** - // ***************** - - // *** Option I: Standard - if (name == "EM-Positron-Standard") - { - if (emPositronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- positron List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMPositronStandard(name) ); - emPositronIsRegistered = true; - } - } - - - // *** Option II: Low Energy Penelope - - if (name == "EM-Positron-Penelope") - { - if (emPositronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- positron List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMPositronPenelope(name) ); - emPositronIsRegistered = true; - } - } - - - // ************************ - // *** Hadrons and Ions *** - // ************************ - - // *** Option I: Low Energy with ICRU49 stopping power parametrisation - - if (name == "EM-HadronIon-LowE") - { - if (emIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- proton List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMHadronIonLowEICRU49(name) ); - emIonIsRegistered = true; - } - } - - - // *** Option II: Low Energy with Ziegler 1977 stopping power parametrisation - - if (name == "EM-HadronIon-LowEZiegler1977") - { - if (emIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- proton List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMHadronIonLowEZiegler1977(name) ); - emIonIsRegistered = true; - } - } - - - // *** Option III: Low Energy with Ziegler 1985 stopping power parametrisation - - if (name == "EM-HadronIon-LowEZiegler1985") - { - if (emIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- proton List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMHadronIonLowEZiegler1985(name) ); - emIonIsRegistered = true; - } - } - - - // *** Option IV: Standard - - if (name == "EM-HadronIon-Standard") - { - if (emIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- ion List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMHadronIonStandard(name) ); - emIonIsRegistered = true; - } - } - - - // ************* - // *** Muons *** - // ************* - - // *** Option I: Standard - - if (name == "EM-Muon-Standard") - { - if (emMuonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new EMMuonStandard(name) ); - emMuonIsRegistered = true; - } - } - - - // ******************************** - // *** C. HADRONIC INTERACTIONS *** - // ******************************** - - - // ****************************** - // *** C.1. ELASTIC PROCESSES *** - // ****************************** - - - // ************************ - // *** Hadrons and Ions *** - // ************************ - - // *** Option I: GHEISHA like LEP model - - if (name == "HadronicEl-HadronIon-LElastic") - { - if (hadrElasticHadronIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- hadronic Elastic Scattering List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HEHadronIonLElastic(name) ); - hadrElasticHadronIonIsRegistered = true; - } - } - - - // *** Option II: Bertini model - - if (name == "HadronicEl-HadronIon-Bert") - { - if (hadrElasticHadronIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- hadronic Elastic Scattering List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HEHadronIonBertiniElastic(name) ); - hadrElasticHadronIonIsRegistered = true; - } - } - - - // *** Option III: Process G4QElastic - - if (name == "HadronicEl-HadronIon-QElastic") - { - if (hadrElasticHadronIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- hadronic Elastic Scattering List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HEHadronIonQElastic(name) ); - hadrElasticHadronIonIsRegistered = true; - } - } - - - // *** Option III: Process G4UHadronElasticProcess - - if (name == "HadronicEl-HadronIon-UElastic") - { - if (hadrElasticHadronIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- hadronic Elastic Scattering List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HEHadronIonUElastic(name) ); - hadrElasticHadronIonIsRegistered = true; - } - } - - - // ******************************** - // *** C.2. INELASTIC PROCESSES *** - // ******************************** - - - // ************* - // *** Pions *** - // ************* - - // *** Option I: Bertini model - - if (name == "HadronicInel-Pion-Bertini") - { - if (hadrInelasticPionIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIPionBertini(name) ); - hadrInelasticPionIsRegistered = true; - } - } - - - // *** Option II: GHEISHA like LEP model - - if (name == "HadronicInel-Pion-LEP") - { - if (hadrInelasticPionIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIPionLEP(name) ); - hadrInelasticPionIsRegistered = true; - } - } - - - // ************ - // *** Ions *** - // ************ - - // *** Option I: GHEISHA like LEP model - - if (name == "HadronicInel-Ion-LEP") - { - if (hadrInelasticIonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIIonLEP(name) ); - hadrInelasticIonIsRegistered = true; - } - } - - - // ************************* - // *** Protons, Neutrons *** - // ************************* - - // *** Option I: GHEISHA like LEP model - - if (name == "HadronicInel-ProtonNeutron-LEP") - { - if (hadrInelasticProtonNeutronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIProtonNeutronLEP(name) ); - hadrInelasticProtonNeutronIsRegistered = true; - } - } - - - // *** Option II: Bertini Cascade Model - - if (name == "HadronicInel-ProtonNeutron-Bert") - { - if (hadrInelasticProtonNeutronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIProtonNeutronBertini(name) ); - hadrInelasticProtonNeutronIsRegistered = true; - } - } - - - // *** Option III: Binary Cascade Model - - if (name == "HadronicInel-ProtonNeutron-Bin") - { - if (hadrInelasticProtonNeutronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIProtonNeutronBinary(name) ); - hadrInelasticProtonNeutronIsRegistered = true; - } - } - - - // *** Option IV: Precompound Model combined with Default Evaporation - - if (name == "HadronicInel-ProtonNeutron-Prec") - { - if (hadrInelasticProtonNeutronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIProtonNeutronPrecompound(name) ); - hadrInelasticProtonNeutronIsRegistered = true; - } - } - - - // *** Option V: Precompound Model combined with GEM Evaporation - - if (name == "HadronicInel-ProtonNeutron-PrecGEM") - { - if (hadrInelasticProtonNeutronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIProtonNeutronPrecompoundGEM(name) ); - hadrInelasticProtonNeutronIsRegistered = true; - } - } - - - // *** Option VI: Precompound Model combined with default Evaporation - // and Fermi Break-up model - - if (name == "HadronicInel-ProtonNeutron-PrecFermi") - { - if (hadrInelasticProtonNeutronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIProtonNeutronPrecompoundFermi(name) ); - hadrInelasticProtonNeutronIsRegistered = true; - } - } - - - // *** Option VII: Precompound Model combined with GEM Evaporation - // and Fermi Break-up model - - if (name == "HadronicInel-ProtonNeutron-PrecGEMFermi") - { - if (hadrInelasticProtonNeutronIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HIProtonNeutronPrecompoundGEMFermi(name) ); - hadrInelasticProtonNeutronIsRegistered = true; - } - } - - - // ****************************** - // *** C.3. AT-REST PROCESSES *** - // ****************************** - - - // ************** - // *** Muons- *** - // ************** - - // *** Option I: Muon Minus Capture at Rest - - if (name == "HadronicAtRest-MuonMinus-Capture") - { - if (hadrAtRestMuonIsRegistered) - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " cannot be registered ---- decay List already existing" - << G4endl; - } - else - { - G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name - << " is registered" << G4endl; - RegisterPhysics( new HRMuonMinusCapture(name) ); - hadrAtRestMuonIsRegistered = true; - } - } - + decPhysicsList->ConstructParticle(); } -void HadrontherapyPhysicsList::SetCuts() -{ - // Set the threshold of production equal to the defaultCutValue - // in the experimental set-up - G4VUserPhysicsList::SetCutsWithDefault(); - - G4double lowlimit=250*eV; - G4ProductionCutsTable::GetProductionCutsTable() ->SetEnergyRange(lowlimit, 100.*GeV); - // Definition of a smaller threshold of production in the phantom region - // where high accuracy is required in the energy deposit calculation +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::ConstructProcess() +{ + // transportation + // + AddTransportation(); - G4String regionName = "DetectorLog"; - G4Region* region = G4RegionStore::GetInstance()->GetRegion(regionName); - G4ProductionCuts* cuts = new G4ProductionCuts ; - G4double regionCut = 0.01*mm; - cuts -> SetProductionCut(regionCut,G4ProductionCuts::GetIndex("gamma")); - cuts -> SetProductionCut(regionCut,G4ProductionCuts::GetIndex("e-")); - cuts -> SetProductionCut(regionCut,G4ProductionCuts::GetIndex("e+")); - region -> SetProductionCuts(cuts); + // electromagnetic physics list + // + emPhysicsList->ConstructProcess(); + em_config.AddModels(); + + // decay physics list + // + decPhysicsList->ConstructProcess(); + + // hadronic physics lists + for(size_t i=0; iConstructProcess(); + } + + // step limitation (as a full process) + // + AddStepMax(); +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::AddPhysicsList(const G4String& name) +{ + + if (verboseLevel>1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + if (name == emName) return; + + ///////////////////////////////////////////////////////////////////////////// + // ELECTROMAGNETIC MODELS + ///////////////////////////////////////////////////////////////////////////// + + if (name == "standard_opt3") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option3(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option3" << G4endl; + + } else if (name == "LowE_Livermore") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmLivermorePhysics(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" << G4endl; + + } else if (name == "LowE_Penelope") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmPenelopePhysics(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" << G4endl; + + ///////////////////////////////////////////////////////////////////////////// + // HADRONIC MODELS + ///////////////////////////////////////////////////////////////////////////// + } else if (name == "elastic" && !helIsRegisted) { + G4cout << "THE FOLLOWING HADRONIC ELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronElasticPhysics()" << G4endl; + hadronPhys.push_back( new G4HadronElasticPhysics()); + helIsRegisted = true; + + } else if (name == "DElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronDElasticPhysics()); + helIsRegisted = true; + + } else if (name == "HElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronHElasticPhysics()); + helIsRegisted = true; + + } else if (name == "QElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronQElasticPhysics()); + helIsRegisted = true; + + } else if (name == "binary" && !bicIsRegisted) { + hadronPhys.push_back(new G4HadronInelasticQBBC()); + bicIsRegisted = true; + G4cout << "THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronInelasticQBBC()" << G4endl; + + } else if (name == "binary_ion" && !biciIsRegisted) { + hadronPhys.push_back(new G4IonBinaryCascadePhysics()); + biciIsRegisted = true; + + } else if (name == "local_ion_ion_inelastic" && !locIonIonInelasticIsRegistered) { + hadronPhys.push_back(new LocalIonIonInelasticPhysic()); + locIonIonInelasticIsRegistered = true; + + } else if (name == "local_incl_ion_ion_inelastic" && !locIonIonInelasticIsRegistered) { + hadronPhys.push_back(new LocalINCLIonIonInelasticPhysic()); + locIonIonInelasticIsRegistered = true; + + } else if (name == "radioactive_decay" && !radioactiveDecayIsRegisted ) { + hadronPhys.push_back(new G4RadioactiveDecayPhysics()); + radioactiveDecayIsRegisted = true; + + } else { + + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; + } +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::AddStepMax() +{ + // Step limitation seen as a process + stepMaxProcess = new HadrontherapyStepMax(); + + theParticleIterator->reset(); + while ((*theParticleIterator)()){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (stepMaxProcess->IsApplicable(*particle) && pmanager) + { + pmanager ->AddDiscreteProcess(stepMaxProcess); + } + } +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::SetCuts() +{ + + if (verboseLevel >0){ + G4cout << "PhysicsList::SetCuts:"; + G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; + } + + // set cut values for gamma at first and for e- second and next for e+, + // because some processes for e+/e- need cut values for gamma + SetCutValue(cutForGamma, "gamma"); + SetCutValue(cutForElectron, "e-"); + SetCutValue(cutForPositron, "e+"); if (verboseLevel>0) DumpCutValuesTable(); } +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::SetCutForGamma(G4double cut) +{ + cutForGamma = cut; + SetParticleCuts(cutForGamma, G4Gamma::Gamma()); +} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::SetCutForElectron(G4double cut) +{ + cutForElectron = cut; + SetParticleCuts(cutForElectron, G4Electron::Electron()); +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsList::SetCutForPositron(G4double cut) +{ + cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); +} diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc index 3748c84a1c..2d6dfc8e42 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPhysicsListMessenger.cc @@ -23,63 +23,101 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPhisicsListMessenger.cc; Nov 2008 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a), M.P. Russo -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyPhysicsListMessenger.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + #include "HadrontherapyPhysicsListMessenger.hh" + #include "HadrontherapyPhysicsList.hh" #include "G4UIdirectory.hh" -#include "G4UIcmdWithoutParameter.hh" -#include "G4UIcmdWithADouble.hh" #include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWithABool.hh" #include "G4UIcmdWithAString.hh" -HadrontherapyPhysicsListMessenger::HadrontherapyPhysicsListMessenger(HadrontherapyPhysicsList * physList) -:physicsList(physList) -{ - listDir = new G4UIdirectory("/physics/"); - // Building modular PhysicsList +///////////////////////////////////////////////////////////////////////////// +HadrontherapyPhysicsListMessenger::HadrontherapyPhysicsListMessenger(HadrontherapyPhysicsList* pPhys) +:pPhysicsList(pPhys) +{ + physDir = new G4UIdirectory("/physic/"); + physDir->SetGuidance("Commands to activate physics models and set cuts"); + + gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setGCut",this); + gammaCutCmd->SetGuidance("Set gamma cut."); + gammaCutCmd->SetParameterName("Gcut",false); + gammaCutCmd->SetUnitCategory("Length"); + gammaCutCmd->SetRange("Gcut>0.0"); + gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - physicsListCmd = new G4UIcmdWithAString("/physics/addPhysics",this); - physicsListCmd->SetGuidance("Add chunks of PhysicsList."); - physicsListCmd->SetParameterName("physList",false); - physicsListCmd->AvailableForStates(G4State_PreInit); + electCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setECut",this); + electCutCmd->SetGuidance("Set electron cut."); + electCutCmd->SetParameterName("Ecut",false); + electCutCmd->SetUnitCategory("Length"); + electCutCmd->SetRange("Ecut>0.0"); + electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + protoCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setPCut",this); + protoCutCmd->SetGuidance("Set positron cut."); + protoCutCmd->SetParameterName("Pcut",false); + protoCutCmd->SetUnitCategory("Length"); + protoCutCmd->SetRange("Pcut>0.0"); + protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - packageListCmd = new G4UIcmdWithAString("/physics/addPackage",this); - packageListCmd->SetGuidance("Add physics package."); - packageListCmd->SetParameterName("package",false); - packageListCmd->AvailableForStates(G4State_PreInit); + allCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setCuts",this); + allCutCmd->SetGuidance("Set cut for all."); + allCutCmd->SetParameterName("cut",false); + allCutCmd->SetUnitCategory("Length"); + allCutCmd->SetRange("cut>0.0"); + allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pListCmd = new G4UIcmdWithAString("/physic/addPhysics",this); + pListCmd->SetGuidance("Add physics list."); + pListCmd->SetParameterName("PList",false); + pListCmd->AvailableForStates(G4State_PreInit); + + packageListCmd = new G4UIcmdWithAString("/physic/addPackage",this); + packageListCmd->SetGuidance("Add physics package."); + packageListCmd->SetParameterName("package",false); + packageListCmd->AvailableForStates(G4State_PreInit); } +///////////////////////////////////////////////////////////////////////////// HadrontherapyPhysicsListMessenger::~HadrontherapyPhysicsListMessenger() { - delete physicsListCmd; - delete listDir; + delete gammaCutCmd; + delete electCutCmd; + delete protoCutCmd; + delete allCutCmd; + delete pListCmd; + delete physDir; delete packageListCmd; } -void HadrontherapyPhysicsListMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if (command == physicsListCmd) - { physicsList->AddPhysicsList(newValue);} - else if (command == packageListCmd) - { physicsList->AddPackage(newValue);} +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyPhysicsListMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if( command == gammaCutCmd ) + { pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} + + if( command == electCutCmd ) + { pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} + + if( command == protoCutCmd ) + { pPhysicsList->SetCutForPositron(protoCutCmd->GetNewDoubleValue(newValue));} + + if( command == allCutCmd ) + { + G4double cut = allCutCmd->GetNewDoubleValue(newValue); + pPhysicsList->SetCutForGamma(cut); + pPhysicsList->SetCutForElectron(cut); + pPhysicsList->SetCutForPositron(cut); + } + + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} + + + if( command == packageListCmd ) + { pPhysicsList->AddPackage(newValue);} + + } - - - - - - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorAction.cc index 44ea5ff399..19872fb23d 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorAction.cc @@ -23,24 +23,22 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: HadrontherapyPrimarygeneratorAction.cc; -// Last modified: G.A.P.Cirrone, May 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample +// HadrontherapyPrimarygeneratorAction.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy // ---------------------------------------------------------------------------- // GEANT 4 - Hadrontherapy example // ---------------------------------------------------------------------------- // Code developed by: // -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// G.A.P. Cirrone(a)*, F.Romano(a) // // (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// of the INFN, Catania, Italy // // * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// +// ------------------------------------------------------------------------------ + #include "HadrontherapyPrimaryGeneratorAction.hh" #include "HadrontherapyPrimaryGeneratorMessenger.hh" #include "G4Event.hh" @@ -48,6 +46,7 @@ #include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" #include "Randomize.hh" +#include "HadrontherapyAnalysisManager.hh" HadrontherapyPrimaryGeneratorAction::HadrontherapyPrimaryGeneratorAction() { @@ -78,13 +77,18 @@ void HadrontherapyPrimaryGeneratorAction::SetDefaultPrimaryParticle() particleGun -> SetParticleDefinition(particle); // Define the energy of primary particles: - // gaussian distribution with mean energy = 64.00 *MeV - // and sigma = 300.0 *keV - G4double defaultMeanKineticEnergy = 64.00 *MeV; + // gaussian distribution with mean energy = 62.0 *MeV + // and sigma = 400.0 *keV + G4double defaultMeanKineticEnergy = 62.0 *MeV; meanKineticEnergy = defaultMeanKineticEnergy; - G4double defaultsigmaEnergy = 300.0 *keV; + G4double defaultsigmaEnergy = 400.0 *keV; sigmaEnergy = defaultsigmaEnergy; + +#ifdef ANALYSIS_USE + // Write these values into the analysis if needed. Have to be written separately on change. + HadrontherapyAnalysisManager::getInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); +#endif // Define the parameters of the initial position: // the y, z coordinates have a gaussian distribution @@ -115,6 +119,11 @@ void HadrontherapyPrimaryGeneratorAction::SetDefaultPrimaryParticle() void HadrontherapyPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { +#ifdef ANALYSIS_USE + // Increment the event counter + HadrontherapyAnalysisManager::getInstance()->startNewEvent(); +#endif + // **************************************** // Set the beam angular apread // and spot size @@ -166,10 +175,23 @@ void HadrontherapyPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) } void HadrontherapyPrimaryGeneratorAction::SetmeanKineticEnergy (G4double val ) -{ meanKineticEnergy = val;} +{ + meanKineticEnergy = val; +#ifdef ANALYSIS_USE + // Update the beam-data in the analysis manager + HadrontherapyAnalysisManager::getInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); +#endif + +} void HadrontherapyPrimaryGeneratorAction::SetsigmaEnergy (G4double val ) -{ sigmaEnergy = val;} +{ + sigmaEnergy = val; +#ifdef ANALYSIS_USE + // Update the sigmaenergy in the metadata. + HadrontherapyAnalysisManager::getInstance()->setBeamMetaData(meanKineticEnergy, sigmaEnergy); +#endif +} void HadrontherapyPrimaryGeneratorAction::SetXposition (G4double val ) { X0 = val;} @@ -191,3 +213,6 @@ void HadrontherapyPrimaryGeneratorAction::SetsigmaMomentumY (G4double val ) void HadrontherapyPrimaryGeneratorAction::SetsigmaMomentumZ (G4double val ) { sigmaMomentumZ = val;} + +G4double HadrontherapyPrimaryGeneratorAction::GetmeanKineticEnergy(void) +{ return meanKineticEnergy;} diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc index 6cd1517d79..bf625b95fb 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPrimaryGeneratorMessenger.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyPrimaryGeneratorMessenger.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "HadrontherapyPrimaryGeneratorMessenger.hh" #include "HadrontherapyPrimaryGeneratorAction.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc index 8e7f61ca55..bbc865019e 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyRunAction.cc @@ -23,20 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyRunAction.cc,v 3.0, September 2004; -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// $Id: HadrontherapyRunAction.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "HadrontherapyRunAction.hh" #include "HadrontherapyEventAction.hh" diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyStepMax.cc b/examples/advanced/hadrontherapy/src/HadrontherapyStepMax.cc new file mode 100644 index 0000000000..bf540ce4c0 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HadrontherapyStepMax.cc @@ -0,0 +1,76 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// HadrontherapyStepMax.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#include "HadrontherapyStepMax.hh" +#include "HadrontherapyStepMaxMessenger.hh" + +///////////////////////////////////////////////////////////////////////////// +HadrontherapyStepMax::HadrontherapyStepMax(const G4String& processName) + : G4VDiscreteProcess(processName),MaxChargedStep(DBL_MAX) +{ + pMess = new HadrontherapyStepMaxMessenger(this); +} + +///////////////////////////////////////////////////////////////////////////// +HadrontherapyStepMax::~HadrontherapyStepMax() { delete pMess; } + +///////////////////////////////////////////////////////////////////////////// +G4bool HadrontherapyStepMax::IsApplicable(const G4ParticleDefinition& particle) +{ + return (particle.GetPDGCharge() != 0.); +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyStepMax::SetMaxStep(G4double step) {MaxChargedStep = step;} + +///////////////////////////////////////////////////////////////////////////// +G4double HadrontherapyStepMax::PostStepGetPhysicalInteractionLength(const G4Track& aTrack, + G4double, + G4ForceCondition* condition ) +{ + // condition is set to "Not Forced" + *condition = NotForced; + + G4double ProposedStep = DBL_MAX; + + if((MaxChargedStep > 0.) && + (aTrack.GetVolume() != 0) && + (aTrack.GetVolume()->GetName() == "DetectorPhys")) + ProposedStep = MaxChargedStep; + + return ProposedStep; +} + +///////////////////////////////////////////////////////////////////////////// +G4VParticleChange* HadrontherapyStepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) +{ + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; +} + diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraFileAcess.cc b/examples/advanced/hadrontherapy/src/HadrontherapyStepMaxMessenger.cc similarity index 60% rename from examples/advanced/Tiara/source/tiara/src/TiaraFileAcess.cc rename to examples/advanced/hadrontherapy/src/HadrontherapyStepMaxMessenger.cc index bedf047a22..07ecc27ac7 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraFileAcess.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyStepMaxMessenger.cc @@ -23,19 +23,34 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TiaraFileAcess.cc,v 1.4 2006/06/29 15:44:57 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ -// +// HadrontherapyStepMaxMessenger.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#include "TiaraFileAcess.hh" -#include +#include "HadrontherapyStepMaxMessenger.hh" +#include "HadrontherapyStepMax.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" - -void checkFileIsReadable(const G4String &fileName, - const G4String &caller) { - std::ifstream file(fileName); - if (! file) { - G4Exception("checkFile: couldn't open file: " + fileName + "\n called from: " + caller); - } - return; +///////////////////////////////////////////////////////////////////////////// +HadrontherapyStepMaxMessenger::HadrontherapyStepMaxMessenger(HadrontherapyStepMax* stepM) +:stepMax(stepM) +{ + StepMaxCmd = new G4UIcmdWithADoubleAndUnit("/Step/waterPhantomStepMax",this); + StepMaxCmd->SetGuidance("Set max allowed step length"); + StepMaxCmd->SetParameterName("mxStep",false); + StepMaxCmd->SetRange("mxStep>0."); + StepMaxCmd->SetUnitCategory("Length"); } + +///////////////////////////////////////////////////////////////////////////// +HadrontherapyStepMaxMessenger::~HadrontherapyStepMaxMessenger() +{ + delete StepMaxCmd; +} + +///////////////////////////////////////////////////////////////////////////// +void HadrontherapyStepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == StepMaxCmd) + { stepMax->SetMaxStep(StepMaxCmd->GetNewDoubleValue(newValue));} +} + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc b/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc index c7534739f6..c6734a606b 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapySteppingAction.cc @@ -23,24 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyProtonSteppingAction.cc; -// Last modified: G.A.P.Cirrone March 2008; -// -// See more at: http://geant4infn.wikispaces.com/HadrontherapyExample -// -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// HadrontherapyProtonSteppingAction.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "G4SteppingManager.hh" #include "G4TrackVector.hh" @@ -55,14 +39,12 @@ #include "G4ParticleDefinition.hh" #include "G4ParticleTypes.hh" -#ifdef G4ANALYSIS_USE #include "HadrontherapyAnalysisManager.hh" -#endif #include "HadrontherapyRunAction.hh" ///////////////////////////////////////////////////////////////////////////// -HadrontherapySteppingAction::HadrontherapySteppingAction( HadrontherapyRunAction* run) +HadrontherapySteppingAction::HadrontherapySteppingAction( HadrontherapyRunAction *run) { runAction = run; } @@ -75,8 +57,57 @@ HadrontherapySteppingAction::~HadrontherapySteppingAction() ///////////////////////////////////////////////////////////////////////////// void HadrontherapySteppingAction::UserSteppingAction(const G4Step* aStep) { - + if( aStep->GetTrack()->GetVolume()->GetName() == "NewDetectorPhys"){ +#ifdef ANALYSIS_USE + G4ParticleDefinition *def = aStep->GetTrack()->GetDefinition(); + G4double secondaryParticleKineticEnergy = aStep->GetTrack()->GetKineticEnergy(); + G4String particleType = def->GetParticleType(); // particle type = nucleus for d, t, He3, alpha, and heavier nuclei + G4String particleName = def->GetParticleName(); // e.g. for alpha: the name = "alpha" and type = "nucleus" + if(particleType == "nucleus") { + G4int A = def->GetBaryonNumber(); + G4double Z = def->GetPDGCharge(); + G4double posX = aStep->GetTrack()->GetPosition().x() / cm; + G4double posY = aStep->GetTrack()->GetPosition().y() / cm; + G4double posZ = aStep->GetTrack()->GetPosition().z() / cm; + G4double energy = secondaryParticleKineticEnergy / A / MeV; + + HadrontherapyAnalysisManager* analysisMgr = HadrontherapyAnalysisManager::getInstance(); + analysisMgr->fillFragmentTuple(A, Z, energy, posX, posY, posZ); + } else if(particleName == "proton") { // proton (hydrogen-1) is a special case + G4double posX = aStep->GetTrack()->GetPosition().x() / cm ; + G4double posY = aStep->GetTrack()->GetPosition().y() / cm ; + G4double posZ = aStep->GetTrack()->GetPosition().z() / cm ; + G4double energy = secondaryParticleKineticEnergy * MeV; // Hydrogen-1: A = 1, Z = 1 + HadrontherapyAnalysisManager::getInstance()->fillFragmentTuple(1, 1.0, energy, posX, posY, posZ); + } + + G4String secondaryParticleName = def -> GetParticleName(); + //G4cout <<"Particle: " << secondaryParticleName << G4endl; + //G4cout <<"Energy: " << secondaryParticleKineticEnergy << G4endl; + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); + //There is a bunch of stuff recorded with the energy 0, something should perhaps be done about this. + if(secondaryParticleName == "proton") { + analysis->hydrogenEnergy(secondaryParticleKineticEnergy / MeV); + } + if(secondaryParticleName == "deuteron") { + analysis->hydrogenEnergy((secondaryParticleKineticEnergy/2) / MeV); + } + if(secondaryParticleName == "triton") { + analysis->hydrogenEnergy((secondaryParticleKineticEnergy/3) / MeV); + } + if(secondaryParticleName == "alpha") { + analysis->heliumEnergy((secondaryParticleKineticEnergy/4) / MeV); + } + if(secondaryParticleName == "He3"){ + analysis->heliumEnergy((secondaryParticleKineticEnergy/3) / MeV); + } +#endif + + aStep->GetTrack()->SetTrackStatus(fKillTrackAndSecondaries); + } + // Electromagnetic and hadronic processes of primary particles in the phantom + //setting phantomPhys correctly will break something here fixme if ((aStep -> GetTrack() -> GetTrackID() == 1) && (aStep -> GetTrack() -> GetVolume() -> GetName() == "PhantomPhys") && (aStep -> GetPostStepPoint() -> GetProcessDefinedStep() != NULL)) @@ -102,7 +133,6 @@ void HadrontherapySteppingAction::UserSteppingAction(const G4Step* aStep) // Retrieve information about the secondaries originated in the phantom -#ifdef G4ANALYSIS_USE G4SteppingManager* steppingManager = fpSteppingManager; // check if it is alive @@ -115,11 +145,12 @@ void HadrontherapySteppingAction::UserSteppingAction(const G4Step* aStep) { G4String volumeName = (*fSecondary)[lp1] -> GetVolume() -> GetName(); - if (volumeName == "PhantomPhys") + if (volumeName == "phantomPhys") { +#ifdef ANALYSIS_USE G4String secondaryParticleName = (*fSecondary)[lp1]->GetDefinition() -> GetParticleName(); G4double secondaryParticleKineticEnergy = (*fSecondary)[lp1] -> GetKineticEnergy(); - + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); if (secondaryParticleName == "e-") @@ -147,9 +178,9 @@ void HadrontherapySteppingAction::UserSteppingAction(const G4Step* aStep) // total number of electrons in the orbitals are stored in a ntuple analysis -> genericIonInformation(a, z, electronOccupancy, secondaryParticleKineticEnergy/MeV); } +#endif } } -#endif } diff --git a/examples/advanced/hadrontherapy/src/IAEADetectorConstruction.cc b/examples/advanced/hadrontherapy/src/IAEADetectorConstruction.cc new file mode 100644 index 0000000000..d59bb82a48 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/IAEADetectorConstruction.cc @@ -0,0 +1,317 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// IAEADetectorConstruction.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#include "G4SDManager.hh" +#include "G4RunManager.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4ThreeVector.hh" +#include "G4PVPlacement.hh" +#include "globals.hh" +#include "G4Transform3D.hh" +#include "G4RotationMatrix.hh" +#include "G4Colour.hh" +#include "G4UserLimits.hh" +#include "G4VisAttributes.hh" +#include "G4NistManager.hh" +#include "HadrontherapyAnalysisManager.hh" +#include "HadrontherapyDetectorROGeometry.hh" +#include "IAEADetectorMessenger.hh" +#include "HadrontherapyDetectorSD.hh" +#include "IAEADetectorConstruction.hh" +#include "HadrontherapyModulator.hh" + +///////////////////////////////////////////////////////////////////////////// +IAEADetectorConstruction::IAEADetectorConstruction() + : detectorSD(0), detectorROGeometry(0), + passiveProtonBeamLine(0), modulator(0), + physicalTreatmentRoom(0), + phantomPhysicalVolume(0), + detectorLogicalVolume(0), + detectorPhysicalVolume(0) +{ + // Messenger to change parameters of the geometry + detectorMessenger = new IAEADetectorMessenger(this); + + // Detector sizes + detectorSizeX = 20.*cm; + detectorSizeY = 20.*cm; + detectorSizeZ = 20.*cm; + + // Number of the detector voxels + // This does notthing, since a primitive score is used + numberOfVoxelsAlongX = 400; + numberOfVoxelsAlongY = 1; + numberOfVoxelsAlongZ = 1; + + startDetectorThickness = 5.*cm; // approximation, exact value not given by Haettner + phantomCenter = startDetectorThickness + 64.*cm; + phantomDepth = 27.9 *cm; + plexiThickness = 0.2 *cm; + aluWindowThickness = 0.01 *cm; + endDetectorThickness = 3.7 *cm; + moveEndDetectorForward = 0 *cm; //if detector needs to be moved + endDetectorPosition = startDetectorThickness + 358 *cm + (endDetectorThickness / 2) - moveEndDetectorForward; + + noPhantom = false; + + } + +///////////////////////////////////////////////////////////////////////////// +IAEADetectorConstruction::~IAEADetectorConstruction() +{ + if (detectorROGeometry) delete detectorROGeometry; + delete detectorMessenger; +} + +///////////////////////////////////////////////////////////////////////////// +//void IAEADetectorConstruction::ChangeTheBeamLine(const G4String& name) +//if (name == emName) return; +//if (name == "ProtonPassiveBeamLine") +//{ +//ConstructPassiveProtonBeamLine(); +//} + +///////////////////////////////////////////////////////////////////////////// +G4VPhysicalVolume* IAEADetectorConstruction::Construct() +{ + + ConstructPassiveProtonBeamLine(); + ConstructDetector(); +#ifdef ANALYSIS_USE + //write the metadata for analysis + HadrontherapyAnalysisManager::getInstance()->setGeometryMetaData((endDetectorPosition - endDetectorThickness/2)/10, phantomDepth/10, phantomCenter/10); //FIXME! unit correction hardcoded +#endif + // Set the sensitive detector where the energy deposit is collected + ConstructSensitiveDetector(); + return physicalTreatmentRoom; +} + +///////////////////////////////////////////////////////////////////////////// +void IAEADetectorConstruction::ConstructPassiveProtonBeamLine() +{ + // ----------------------------- + // Treatment room - World volume + //------------------------------ + // Treatment room sizes + const G4double worldX = 400.0 *cm; + const G4double worldY = 200.0 *cm; //to fit, new bigger detector + const G4double worldZ = 200.0 *cm; + G4bool isotopes = false; + + G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes); + G4Box* treatmentRoom = new G4Box("TreatmentRoom",worldX,worldY,worldZ); + G4LogicalVolume* logicTreatmentRoom = new G4LogicalVolume(treatmentRoom, + airNist, + "logicTreatmentRoom", + 0,0,0); + physicalTreatmentRoom = new G4PVPlacement(0, + G4ThreeVector(), + "physicalTreatmentRoom", + logicTreatmentRoom, + 0,false,0); + + + // The treatment room is invisible in the Visualisation + logicTreatmentRoom -> SetVisAttributes (G4VisAttributes::Invisible); + + + + //---------------------------------------- + // Phantom: + // A box used to approximate tissues. Is surrounded by plexi-glas. + //---------------------------------------- + + G4Material* waterNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER", isotopes); + G4Material* plexiGlas = G4NistManager::Instance()->FindOrBuildMaterial("G4_PLEXIGLASS", isotopes); + //G4Box* phantom = new G4Box("Phantom",10 *cm, 20 *cm, 20 *cm); + //the below for integrated angular distribution plot + G4Box* phantom = new G4Box("Phantom",phantomDepth/2, 32 *cm, 32 *cm); //< E.haettner has 32x8, but simulation takes scattering symmetrically + G4Box* plexiSheet = new G4Box("phantomEdge",plexiThickness/2, 32 *cm, 32 *cm); + G4LogicalVolume* phantomLogicalVolume = new G4LogicalVolume(phantom, + waterNist, + "phantomLog", 0, 0, 0); + + G4LogicalVolume* phantomEdgeLogicalVolume = new G4LogicalVolume(plexiSheet, + plexiGlas, + "phantomEdgeLog", 0, 0, 0); + //5.5cm for veto and start detector, see fig 5.1 and 4.1 ref Haettner 2006 + if(!noPhantom){ + phantomPhysicalVolume = new G4PVPlacement(0,G4ThreeVector(phantomCenter, 0.*cm, 0.*cm), + "phantomPhys", + phantomLogicalVolume, + physicalTreatmentRoom, + false,0); + + phantomEdge1PhysicalVolume = new G4PVPlacement(0,G4ThreeVector(phantomCenter - phantomDepth/2 - plexiThickness/2, 0.*cm, 0.*cm), + "phantomEdgePhys", + phantomEdgeLogicalVolume, + physicalTreatmentRoom, + false,0); + phantomEdge2PhysicalVolume = new G4PVPlacement(0,G4ThreeVector(phantomCenter + phantomDepth/2 + plexiThickness/2, 0.*cm, 0.*cm), + "phantomEdgePhys", + phantomEdgeLogicalVolume, + physicalTreatmentRoom, + false,0); + } + //---------------------------------------- + // Beamwindow: + // The aluminium-window of the beam-source + //---------------------------------------- + G4Material* aluNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Al", isotopes); + G4Box* beamWindow = new G4Box("beamwindow",aluWindowThickness/2, 10 *cm, 10 *mm); + G4LogicalVolume* beamWindowLogicalVolume = new G4LogicalVolume(beamWindow, + aluNist, + "beamWindowLog", 0, 0, 0); + beamWindowPhysicalVolume = new G4PVPlacement(0,G4ThreeVector(1.*mm, 0.*mm, 0.*mm), + "beamPhys", + beamWindowLogicalVolume, + physicalTreatmentRoom, + false,0); //just ahead of beam that starts at origo + //---------------------------------------- + // NewDetector: + // A box used to simulate the end detector + //---------------------------------------- + //G4Material* NewDetectorMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes); + //G4Box* NewDetector = new G4Box("NewDetector",1 *cm, 20 *cm, 27.9 *cm); + + // Visualisation attributes of the patient + red = new G4VisAttributes(G4Colour(255/255., 0/255. ,0/255.)); + red -> SetVisibility(true); + red -> SetForceSolid(true); + //red -> SetForceWireframe(true); + phantomLogicalVolume -> SetVisAttributes(red); +} + +void IAEADetectorConstruction::setWaterThickness(G4double newWaterThickness){ + //This has to be run before the elements are constructed + //does not support multiple thicknesses per run. + if(newWaterThickness > 0){ + this->phantomDepth = newWaterThickness; + }else{ + this->noPhantom = true; + } +#ifdef ANALYSIS_USE + //update the geometry metadata + HadrontherapyAnalysisManager::getInstance()->setGeometryMetaData((this->endDetectorPosition - this->endDetectorThickness/2)/10, this->phantomDepth/10, this->phantomCenter/10); //FIXME! unit correction hardcoded +#endif + } + + +///////////////////////////////////////////////////////////////////////////// +void IAEADetectorConstruction::ConstructDetector() +{ + //----------- + // Braggcurve Detector + //----------- + //Is currently not used + + G4bool isotopes = false; + G4Material* waterNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER", isotopes); + G4Box* detector = new G4Box("Detector",detectorSizeX,detectorSizeY,detectorSizeZ); + + detectorLogicalVolume = new G4LogicalVolume(detector, + waterNist, + "DetectorLog", + 0,0,0); + + //G4double detectorXtranslation = -180.*mm; + G4double detectorXtranslation = -180.*cm; + detectorPhysicalVolume = new G4PVPlacement(0, + G4ThreeVector(detectorXtranslation, 0.0 *mm, 0.0 *mm), + "DetectorPhys", + detectorLogicalVolume, + phantomPhysicalVolume, + false,0); + + // Visualisation attributes of the phantom + skyBlue = new G4VisAttributes( G4Colour(135/255. , 206/255. , 235/255. )); + skyBlue -> SetVisibility(true); + skyBlue -> SetForceSolid(true); + + detectorLogicalVolume -> SetVisAttributes(skyBlue); + + //Visualization attributes for the beamwindow + + //----------- + // NewDetector (mwpc etc. type behind the phantom) + //----------- + G4Material* NewDetectorMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", false); + G4Box* NewDetector = new G4Box("NewDetector",endDetectorThickness/2,190.*cm,190.*cm); //huge detector, will be scaled in root + //For integrated angular distribution below + NewDetectorLogicalVolume = new G4LogicalVolume(NewDetector, + NewDetectorMaterial, + "NewDetectorLog", + 0,0,0); + NewDetectorPhysicalVolume = new G4PVPlacement(0, + G4ThreeVector(endDetectorPosition, 0.0 *cm, 0.0 *cm), + "NewDetectorPhys", + NewDetectorLogicalVolume, + physicalTreatmentRoom, + false,0); + + + // ************** + // Cut per Region + // ************** + + // A smaller cut is fixed in the phantom to calculate the energy deposit with the + // required accuracy + // G4Region* aRegion = new G4Region("DetectorLog"); + //detectorLogicalVolume -> SetRegion(aRegion); + //aRegion -> AddRootLogicalVolume(detectorLogicalVolume); +} +///////////////////////////////////////////////////////////////////////////// +void IAEADetectorConstruction::ConstructSensitiveDetector() +{ + // Sensitive Detector and ReadOut geometry definition + G4SDManager* sensitiveDetectorManager = G4SDManager::GetSDMpointer(); + + G4String sensitiveDetectorName = "Detector"; + if(!detectorSD) + { + // The sensitive detector is instantiated + detectorSD = new HadrontherapyDetectorSD(sensitiveDetectorName); + // The Read Out Geometry is instantiated + G4String ROGeometryName = "DetectorROGeometry"; + detectorROGeometry = new HadrontherapyDetectorROGeometry(ROGeometryName, + G4ThreeVector(20. *mm, // detector to world position! + 0. *mm, + 0. *mm), + phantomDepth/2, + detectorSizeY, + detectorSizeZ, + numberOfVoxelsAlongX, + numberOfVoxelsAlongY, + numberOfVoxelsAlongZ); + detectorROGeometry -> BuildROGeometry(); + detectorSD -> SetROgeometry(detectorROGeometry); + sensitiveDetectorManager -> AddNewDetector(detectorSD); + detectorLogicalVolume -> SetSensitiveDetector(detectorSD); + } +} diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc b/examples/advanced/hadrontherapy/src/IAEADetectorMessenger.cc similarity index 59% rename from examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc rename to examples/advanced/hadrontherapy/src/IAEADetectorMessenger.cc index 1480783843..b3fea6a05b 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc +++ b/examples/advanced/hadrontherapy/src/IAEADetectorMessenger.cc @@ -23,27 +23,37 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// File name: RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc -// Creation date: Sep 2005 -// Main author: Riccardo Capra -// -// Id: $Id: RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc,v 1.3 2006/06/29 16:09:07 gunter Exp $ -// Tag: $Name: geant4-09-02 $ -// +// $Id: HadrontherapyDetectorMessenger.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy -#ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHHOLECONSTRUCTOR_HH - #error "RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc cannot be included directly. Please use RadmonDetectorCarvedFlatVolumeWithHoleConstructor.hh" -#else /* RADMONDETECTORCARVEDFLATVOLUMEWITHHOLECONSTRUCTOR_HH */ - inline RadmonDetectorCarvedFlatVolumeWithHoleConstructor :: RadmonDetectorCarvedFlatVolumeWithHoleConstructor() - : - RadmonTDetectorLayerConstructor > >("CarvedFlatVolumeWithHole") - { - } +#include "IAEADetectorMessenger.hh" +#include "IAEADetectorConstruction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" +IAEADetectorMessenger::IAEADetectorMessenger(IAEADetectorConstruction* detector) + :IAEADetector(detector) + { + setIAEAWaterPhantomThicknessCmd = new G4UIcmdWithADoubleAndUnit("/iaea/waterPhantomThickness",this); + setIAEAWaterPhantomThicknessCmd -> SetGuidance("Set size of water phantom"); + setIAEAWaterPhantomThicknessCmd -> SetParameterName("Size",false); + setIAEAWaterPhantomThicknessCmd -> SetDefaultUnit("cm"); + setIAEAWaterPhantomThicknessCmd -> SetUnitCandidates("mm cm m"); + setIAEAWaterPhantomThicknessCmd -> AvailableForStates(G4State_PreInit, G4State_Idle); +} + +IAEADetectorMessenger::~IAEADetectorMessenger() +{ + delete setIAEAWaterPhantomThicknessCmd; +} + +void IAEADetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == setIAEAWaterPhantomThicknessCmd ){ + IAEADetector->setWaterThickness(setIAEAWaterPhantomThicknessCmd->GetNewDoubleValue(newValue)); + } + +} - inline RadmonDetectorCarvedFlatVolumeWithHoleConstructor :: ~RadmonDetectorCarvedFlatVolumeWithHoleConstructor() - { - } -#endif /* RADMONDETECTORCARVEDFLATVOLUMEWITHHOLECONSTRUCTOR_HH */ diff --git a/examples/advanced/hadrontherapy/src/IAEAScoreWriter.cc b/examples/advanced/hadrontherapy/src/IAEAScoreWriter.cc new file mode 100644 index 0000000000..29a189c9d8 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/IAEAScoreWriter.cc @@ -0,0 +1,121 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// IAEAScoreWriter.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#include "IAEAScoreWriter.hh" + +#include "G4MultiFunctionalDetector.hh" +#include "G4SDParticleFilter.hh" +#include "G4VPrimitiveScorer.hh" +#include "G4VScoringMesh.hh" + +#include "HadrontherapyAnalysisManager.hh" + +#include +#include + +IAEAScoreWriter::IAEAScoreWriter() + : G4VScoreWriter() { + ; +} + +IAEAScoreWriter::~IAEAScoreWriter() { + ; +} + +void IAEAScoreWriter::DumpQuantityToFiles(G4String & psName, G4String & option) { + // + if(verboseLevel > 0) { + G4cout << "User-defined DumpQuantityToFile() method is invoked." + << G4endl; + G4cout << "Will write energy deposits along phantom" + << G4endl; + } + + // change the option string into lowercase to the case-insensitive. + G4String opt = option; + std::transform(opt.begin(), opt.end(), opt.begin(), (int (*)(int))(tolower)); + + // confirm the option + if(opt.size() == 0) opt = "csv"; + + // retrieve the map + MeshScoreMap fSMap = fScoringMesh->GetScoreMap(); + + + MeshScoreMap::const_iterator msMapItr = fSMap.find(psName); + if(msMapItr == fSMap.end()) { + G4cerr << "ERROR : DumpToFile : Unknown quantity, \"" + << psName << "\"." << G4endl; + return; + } + std::map * score = msMapItr->second->GetMap(); + + // declare xy array + std::vector projy; + for(int y = 0; y < fNMeshSegments[1]; y++) projy.push_back(0.); + std::vector > projxy; + for(int x = 0; x < fNMeshSegments[0]; x++) projxy.push_back(projy); + // accumulate + // ofile << std::setprecision(16); // for double value with 8 bytes + for(int x = 0; x < fNMeshSegments[0]; x++) { + for(int y = 0; y < fNMeshSegments[1]; y++) { + for(int z = 0; z < fNMeshSegments[2]; z++) { + + G4int idx = GetIndex(x, y, z); + + std::map::iterator value = score->find(idx); + if(value != score->end()) projxy[x][y] += *(value->second); + + } // z + } // y + } // x + + // write quantity + +#ifdef ANALYSIS_USE // If we are using ROOT or AIDA analysis + HadrontherapyAnalysisManager* analysis = HadrontherapyAnalysisManager::getInstance(); +#endif + for(int x = 0; x < fNMeshSegments[0]; x++) { + for(int y = 0; y < fNMeshSegments[1]; y++) { +/* There is one unused mashdimension here, but for now I've decided to ignore it */ + + if(verboseLevel > 0) { + std::cout << x << "\t" << projxy[x][y] << G4endl; + } +#ifdef ANALYSIS_USE + analysis->BraggPeak(x, projxy[x][y]); +#endif + } // y + } // x + // ofile << std::setprecision(6); + + // close the file + //ofile.close(); + +} + diff --git a/examples/advanced/hadrontherapy/src/LocalINCLIonIonInelasticPhysic.cc b/examples/advanced/hadrontherapy/src/LocalINCLIonIonInelasticPhysic.cc new file mode 100644 index 0000000000..6e026ff326 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/LocalINCLIonIonInelasticPhysic.cc @@ -0,0 +1,194 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// LocalINCLIonIonInelasticPhysic.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// In this class the models for ion-ion interactions at intermediate energies (0 - 1 GeV per nucleon) +// can be activate. This class can be used alternatively to the "binary_ion" physics list +// +// The usefullness of this class is that you can explicitally see the total inelastic sections +// activated and the models called. Moreover you can choose to activate for ions (from deuteron +// to heavier nucleus) three different and exclusive models: the Binary Light Ion cascade, the QMD +// and The Wilson. + +// For hadrotherapy pouposes, where distributions of produced fragments is importante we strongly +// suggest to use Binary or QMD. The Binary model is the default and at moment, you can swith beetween models decommenting +// the line of code and recompiling + +#include "LocalINCLIonIonInelasticPhysic.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +// Total cross section for inelastic processes +#include "G4TripathiCrossSection.hh" +#include "G4TripathiLightCrossSection.hh" +#include "G4IonsShenCrossSection.hh" + +#include "G4DeuteronInelasticProcess.hh" +#include "G4TritonInelasticProcess.hh" +#include "G4AlphaInelasticProcess.hh" +#include "G4LEDeuteronInelastic.hh" +#include "G4LETritonInelastic.hh" +#include "G4LEAlphaInelastic.hh" +#include "G4BinaryLightIonReaction.hh" +#include "G4InclAblaLightIonInterface.hh" +#include "G4QMDReaction.hh" +#include "G4WilsonAbrasionModel.hh" +#include "G4IonInelasticProcess.hh" +#include "G4GeneralSpaceNNCrossSection.hh" + +///////////////////////////////////////////////////////////////////////////// +LocalINCLIonIonInelasticPhysic::LocalINCLIonIonInelasticPhysic(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout << G4endl + << "A local inelastic model is activated for all ions" + << G4endl; +} + +///////////////////////////////////////////////////////////////////////////// +LocalINCLIonIonInelasticPhysic::~LocalINCLIonIonInelasticPhysic() +{} + +///////////////////////////////////////////////////////////////////////////// +void LocalINCLIonIonInelasticPhysic::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + // **************************************************************** + // *** Ion-Ion models definition *** + // **************************************************************** + G4QMDReaction* JQMDmodel = new G4QMDReaction(); + JQMDmodel -> SetMinEnergy(0*MeV); + JQMDmodel -> SetMaxEnergy(10*GeV); + + G4BinaryLightIonReaction* lightBinary = new G4BinaryLightIonReaction(); + lightBinary -> SetMinEnergy(0*MeV); + lightBinary -> SetMaxEnergy(10*GeV); + + G4WilsonAbrasionModel* WilsonModel = new G4WilsonAbrasionModel(); + WilsonModel -> SetUseAblation(true); + WilsonModel -> SetMinEnergy(0*MeV); + WilsonModel -> SetMaxEnergy(10 *GeV); + +// G4InclAblaLightIonInterface* INCLIonModel = new G4InclAblaLightIonInterface(); + + G4TripathiCrossSection* TripatiCrossSections = new G4TripathiCrossSection; + G4TripathiCrossSection* TripatiLightCrossSections = new G4TripathiCrossSection; + G4IonsShenCrossSection* ShenCrossSections = new G4IonsShenCrossSection; + + // **************** + // *** Deuteron *** + // **************** + G4DeuteronInelasticProcess* deuteronInelasticProcess = new G4DeuteronInelasticProcess; + + deuteronInelasticProcess -> AddDataSet(ShenCrossSections); + deuteronInelasticProcess -> AddDataSet(TripatiCrossSections); + deuteronInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + //deuteronInelasticProcess -> RegisterMe(INCLIonModel); + //deuteronInelasticProcess -> RegisterMe(lightBinary); + deuteronInelasticProcess -> RegisterMe(JQMDmodel); + //deuteronInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4Deuteron::Deuteron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(deuteronInelasticProcess); + + // ************** + // *** Triton *** + // ************** + G4TritonInelasticProcess* tritonInelasticProcess = new G4TritonInelasticProcess; + + tritonInelasticProcess -> AddDataSet(ShenCrossSections); + tritonInelasticProcess -> AddDataSet(TripatiCrossSections); + tritonInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + //tritonInelasticProcess -> RegisterMe(INCLIonModel); + //tritonInelasticProcess -> RegisterMe(lightBinary); + tritonInelasticProcess -> RegisterMe(JQMDmodel); + //tritonInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4Triton::Triton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(tritonInelasticProcess); + + // ************* + // *** He3 *** + // ************* + /* + G4He3InelasticProcess* he3InelasticProcess = new G4He3InelasticProcess; + + he3InelasticProcess -> AddDataSet(ShenCrossSections); + he3InelasticProcess -> AddDataSet(TripatiCrossSections); + he3InelasticProcess -> AddDataSet(TripatiLightCrossSections); + + he3InelasticProcess -> RegisterMe(INCLIonModel); + + particle = G4He3::He3(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(he3InelasticProcess); + */ + // ************* + // *** Alpha *** + // ************* + G4AlphaInelasticProcess* alphaInelasticProcess = new G4AlphaInelasticProcess; + + alphaInelasticProcess -> AddDataSet(ShenCrossSections); + alphaInelasticProcess -> AddDataSet(TripatiCrossSections); + alphaInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + //alphaInelasticProcess -> RegisterMe(INCLIonModel); + //alphaInelasticProcess -> RegisterMe(lightBinary); + alphaInelasticProcess -> RegisterMe(JQMDmodel); + //alphaInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4Alpha::Alpha(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(alphaInelasticProcess); + + // ******************* + // *** Generic Ion *** + // ******************* + G4IonInelasticProcess* genericIonInelasticProcess = new G4IonInelasticProcess(); + + genericIonInelasticProcess -> AddDataSet(ShenCrossSections); + genericIonInelasticProcess -> AddDataSet(TripatiCrossSections); + genericIonInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + //genericIonInelasticProcess -> RegisterMe(lightBinary); + genericIonInelasticProcess -> RegisterMe(JQMDmodel); + //genericIonInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4GenericIon::GenericIon(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(genericIonInelasticProcess); +} + + + diff --git a/examples/advanced/hadrontherapy/src/LocalIonIonInelasticPhysic.cc b/examples/advanced/hadrontherapy/src/LocalIonIonInelasticPhysic.cc new file mode 100755 index 0000000000..22d5eeb649 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/LocalIonIonInelasticPhysic.cc @@ -0,0 +1,172 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// LocalIonIonInelasticPhysic.cc +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy +// +// In this class the models for ion-ion interactions at intermediate energies (0 - 1 GeV per nucleon) +// can be activate. This class can be used alternatively to the "binary_ion" physics list +// +// The usefullness of this class is that you can explicitally see the total inelastic sections +// activated and the models called. Moreover you can choose to activate for ions (from deuteron +// to heavier nucleus) three different and exclusive models: the Binary Light Ion cascade, the QMD +// and The Wilson. + +// For hadrotherapy pouposes, where distributions of produced fragments is importante we strongly +// suggest to use Binary or QMD. The Binary model is the default and at moment, you can swith beetween models decommenting +// the line of code and recompiling + +#include "LocalIonIonInelasticPhysic.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +// Total cross section for inelastic processes +#include "G4TripathiCrossSection.hh" +#include "G4TripathiLightCrossSection.hh" +#include "G4IonsShenCrossSection.hh" + +#include "G4DeuteronInelasticProcess.hh" +#include "G4TritonInelasticProcess.hh" +#include "G4AlphaInelasticProcess.hh" +#include "G4LEDeuteronInelastic.hh" +#include "G4LETritonInelastic.hh" +#include "G4LEAlphaInelastic.hh" +#include "G4BinaryLightIonReaction.hh" +#include "G4QMDReaction.hh" +#include "G4WilsonAbrasionModel.hh" +#include "G4IonInelasticProcess.hh" +#include "G4GeneralSpaceNNCrossSection.hh" + +///////////////////////////////////////////////////////////////////////////// +LocalIonIonInelasticPhysic::LocalIonIonInelasticPhysic(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout << G4endl + << "A local inelastic model is activated for all ions" + << G4endl; +} + +///////////////////////////////////////////////////////////////////////////// +LocalIonIonInelasticPhysic::~LocalIonIonInelasticPhysic() +{} + +///////////////////////////////////////////////////////////////////////////// +void LocalIonIonInelasticPhysic::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + // **************************************************************** + // *** Ion-Ion models definition *** + // **************************************************************** + G4QMDReaction* JQMDmodel = new G4QMDReaction(); + JQMDmodel -> SetMinEnergy(0*MeV); + JQMDmodel -> SetMaxEnergy(10*GeV); + + G4BinaryLightIonReaction* ligthBinary = new G4BinaryLightIonReaction(); + ligthBinary -> SetMinEnergy(0*MeV); + ligthBinary -> SetMaxEnergy(10*GeV); + + G4WilsonAbrasionModel* WilsonModel = new G4WilsonAbrasionModel(); + WilsonModel -> SetUseAblation(true); + WilsonModel -> SetMinEnergy(0*MeV); + WilsonModel -> SetMaxEnergy(10 *GeV); + + G4TripathiCrossSection* TripatiCrossSections = new G4TripathiCrossSection; + G4TripathiLightCrossSection* TripatiLightCrossSections = new G4TripathiLightCrossSection; + G4IonsShenCrossSection* ShenCrossSections = new G4IonsShenCrossSection; + + // **************** + // *** Deuteron *** + // **************** + G4DeuteronInelasticProcess* deuteronInelasticProcess = new G4DeuteronInelasticProcess; + + deuteronInelasticProcess -> AddDataSet(ShenCrossSections); + deuteronInelasticProcess -> AddDataSet(TripatiCrossSections); + deuteronInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + deuteronInelasticProcess -> RegisterMe(ligthBinary); + //deuteronInelasticProcess -> RegisterMe(JQMDmodel); + //deuteronInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4Deuteron::Deuteron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(deuteronInelasticProcess); + + // ************** + // *** Triton *** + // ************** + G4TritonInelasticProcess* tritonInelasticProcess = new G4TritonInelasticProcess; + + tritonInelasticProcess -> AddDataSet(ShenCrossSections); + tritonInelasticProcess -> AddDataSet(TripatiCrossSections); + tritonInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + tritonInelasticProcess -> RegisterMe(ligthBinary); + //tritonInelasticProcess -> RegisterMe(JQMDmodel); + //tritonInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4Triton::Triton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(tritonInelasticProcess); + + // ************* + // *** Alpha *** + // ************* + G4AlphaInelasticProcess* alphaInelasticProcess = new G4AlphaInelasticProcess; + + alphaInelasticProcess -> AddDataSet(ShenCrossSections); + alphaInelasticProcess -> AddDataSet(TripatiCrossSections); + alphaInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + alphaInelasticProcess -> RegisterMe(ligthBinary); + //alphaInelasticProcess -> RegisterMe(JQMDmodel); + //alphaIonInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4Alpha::Alpha(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(alphaInelasticProcess); + + // ******************* + // *** Generic Ion *** + // ******************* + G4IonInelasticProcess* genericIonInelasticProcess = new G4IonInelasticProcess(); + + genericIonInelasticProcess -> AddDataSet(ShenCrossSections); + genericIonInelasticProcess -> AddDataSet(TripatiCrossSections); + genericIonInelasticProcess -> AddDataSet(TripatiLightCrossSections); + + genericIonInelasticProcess -> RegisterMe(ligthBinary); + //genericIonInelasticProcess -> RegisterMe(JQMDmodel); + //genericIonInelasticProcess -> RegisterMe(WilsonModel); + + particle = G4GenericIon::GenericIon(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(genericIonInelasticProcess); +} + + + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyBeamLine.cc b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLine.cc similarity index 74% rename from examples/advanced/hadrontherapy/src/HadrontherapyBeamLine.cc rename to examples/advanced/hadrontherapy/src/PassiveProtonBeamLine.cc index a49ac352d4..772c938f19 100755 --- a/examples/advanced/hadrontherapy/src/HadrontherapyBeamLine.cc +++ b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLine.cc @@ -23,37 +23,28 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyBeamLine.cc; -// Last modified: G.A.P.Cirrone, May 2008; -// -// See more at: http://geant4infn.wikispaces.com/ -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- +// PassiveBeamLine.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy #include "G4Box.hh" #include "G4Tubs.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" -#include "HadrontherapyMaterial.hh" #include "globals.hh" +#include "G4RunManager.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" #include "G4RotationMatrix.hh" -#include "HadrontherapyBeamLine.hh" -#include "G4Material.hh" +#include "G4NistManager.hh" +#include "G4NistElementBuilder.hh" +#include "HadrontherapyDetectorConstruction.hh" +#include "HadrontherapyModulator.hh" +#include "PassiveProtonBeamLine.hh" +#include "PassiveProtonBeamLineMessenger.hh" -HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): +///////////////////////////////////////////////////////////////////////////// +PassiveProtonBeamLine::PassiveProtonBeamLine(): + modulator(0), physicalTreatmentRoom(0),hadrontherapyDetectorConstruction(0), physiBeamLineSupport(0), physiBeamLineCover(0), physiBeamLineCover2(0), firstScatteringFoil(0), physiFirstScatteringFoil(0), physiKaptonWindow(0), solidStopper(0), physiStopper(0), @@ -73,17 +64,79 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): physiSecondHoleNozzleSupport(0), solidFinalCollimator(0), physiFinalCollimator(0) +{ + // Messenger to change parameters of the passiveProtonBeamLine geometry + passiveMessenger = new PassiveProtonBeamLineMessenger(this); +} +///////////////////////////////////////////////////////////////////////////// +PassiveProtonBeamLine::~PassiveProtonBeamLine() +{ + delete passiveMessenger; + delete hadrontherapyDetectorConstruction; +} + +G4VPhysicalVolume* PassiveProtonBeamLine::Construct() +{ + // Sets default geometry and materials + SetDimensions(); + // Construct the whole Passive Beam Line + ConstructPassiveProtonBeamLine(); + + // HadrontherapyDetectorConstruction builds ONLY the phantom and the detector with its associated ROGeometry + hadrontherapyDetectorConstruction = new HadrontherapyDetectorConstruction(physicalTreatmentRoom); + + return physicalTreatmentRoom; +} + +void PassiveProtonBeamLine::SetDimensions() { // DEFAULTS used in the geometry reconstruction of the beam line // HERE THE USER CAN CHANGE THE GEOMETRY CHARACTERISTICS OF BEAM // LINE ELEMENTS, ALTERNATIVELY HE/SHE CAN USE THE MACRO FILE (IF A // MESSENGER IS PROVIDED) - G4Material* air = material -> GetMat("Air") ; - - // MOTHER VOLUME - mother = motherVolume; - material = new HadrontherapyMaterial(); + // + // DEFAULT MATERIAL ARE ALSO PROVIDED + // COLOURS ARE ALSO DEFINED + // ---------------------------------------------------------- + + // Set of coulors that can be used + white = new G4VisAttributes( G4Colour()); + white -> SetVisibility(true); + white -> SetForceSolid(true); + + blue = new G4VisAttributes(G4Colour(0. ,0. ,1.)); + blue -> SetVisibility(true); + blue -> SetForceSolid(true); + + gray = new G4VisAttributes( G4Colour(0.5, 0.5, 0.5 )); + gray-> SetVisibility(true); + gray-> SetForceSolid(true); + + red = new G4VisAttributes(G4Colour(1. ,0. ,0.)); + red-> SetVisibility(true); + red-> SetForceSolid(true); + + yellow = new G4VisAttributes(G4Colour(1., 1., 0. )); + yellow-> SetVisibility(true); + yellow-> SetForceSolid(true); + + green = new G4VisAttributes( G4Colour(25/255. , 255/255. , 25/255. )); + green -> SetVisibility(true); + green -> SetForceSolid(true); + + darkGreen = new G4VisAttributes( G4Colour(0/255. , 100/255. , 0/255. )); + darkGreen -> SetVisibility(true); + darkGreen -> SetForceSolid(true); + + darkOrange3 = new G4VisAttributes( G4Colour(205/255. , 102/255. , 000/255. )); + darkOrange3 -> SetVisibility(true); + darkOrange3 -> SetForceSolid(true); + + skyBlue = new G4VisAttributes( G4Colour(135/255. , 206/255. , 235/255. )); + skyBlue -> SetVisibility(true); + skyBlue -> SetForceSolid(true); + // VACUUM PIPE: first track of the beam line is inside vacuum; // The PIPE contains the FIRST SCATTERING FOIL and the KAPTON WINDOW @@ -146,7 +199,7 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): G4double defaultStopperYPosition = 0.*m; stopperYPosition = defaultStopperYPosition; - + G4double defaultStopperZPosition = 0.*m; stopperZPosition = defaultStopperZPosition; @@ -156,7 +209,6 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): // SECOND SCATTERING FOIL: it is another thin foil and provides the // final diffusion of the beam. It represents the third element of the scattering // system; - G4double defaultSecondScatteringFoilXSize = 0.0125 *mm; secondScatteringFoilXSize = defaultSecondScatteringFoilXSize; @@ -177,8 +229,9 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): // RANGE SHIFTER: is a slab of PMMA acting as energy degreader of // primary beam - - RSMat = air; + + //Default material of the range shifter + G4double defaultRangeShifterXSize = 5. *mm; rangeShifterXSize = defaultRangeShifterXSize; @@ -197,7 +250,6 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): G4double defaultRangeShifterZPosition = 0. *mm; rangeShifterZPosition = defaultRangeShifterZPosition; - // MOPI DETECTOR: two orthogonal microstrip gas detectors developed // by the INFN Section of Turin in collaboration with some // of the author of this example. It permits the @@ -205,7 +257,7 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): // integration of the collected charge for each strip. // Mother volume of MOPI - MOPIMotherVolumeMaterial = air; + G4double defaultMOPIMotherVolumeXSize = 12127.0 *um; MOPIMotherVolumeXSize = defaultMOPIMotherVolumeXSize; @@ -302,14 +354,14 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): G4double defaultMOPICathodeZPosition = 0.0 *mm; MOPICathodeZPosition = defaultMOPICathodeZPosition; - + // Second Air gap of MOPI G4double defaultMOPISecondAirGapXSize = 6000 *um; MOPISecondAirGapXSize = defaultMOPISecondAirGapXSize; - + G4double defaultMOPISecondAirGapYSize = 30 *cm; MOPISecondAirGapYSize = defaultMOPISecondAirGapYSize; - + G4double defaultMOPISecondAirGapZSize = 30 *cm; MOPISecondAirGapZSize = defaultMOPISecondAirGapZSize; @@ -368,59 +420,174 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): // of the beam G4double defaultinnerRadiusFinalCollimator = 7.5 *mm; innerRadiusFinalCollimator = defaultinnerRadiusFinalCollimator; + + // DEFAULT DEFINITION OF THE MATERIALS + // All elements and compound definition follows the NIST database + + // ELEMENTS + G4bool isotopes = false; + G4Material* aluminumNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Al", isotopes); + G4Material* tantalumNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Ta", isotopes); + G4Material* copperNistAsMaterial = G4NistManager::Instance()->FindOrBuildMaterial("G4_Cu", isotopes); + G4Element* zincNist = G4NistManager::Instance()->FindOrBuildElement("Zn"); + G4Element* copperNist = G4NistManager::Instance()->FindOrBuildElement("Cu"); + + // COMPOUND + G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes); + G4Material* kaptonNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_KAPTON", isotopes); + G4Material* galacticNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic", isotopes); + G4Material* PMMANist = G4NistManager::Instance()->FindOrBuildMaterial("G4_PLEXIGLASS", isotopes); + G4Material* mylarNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_MYLAR", isotopes); + + G4double d; // Density + G4int nComponents;// Number of components + G4double fractionmass; // Fraction in mass of an element in a material + + d = 8.40*g/cm3; + nComponents = 2; + G4Material* brass = new G4Material("Brass", d, nComponents); + brass -> AddElement(zincNist, fractionmass = 30 *perCent); + brass -> AddElement(copperNist, fractionmass = 70 *perCent); + + + // MATERIAL ASSIGNMENT + // Range shifter + rangeShifterMaterial = airNist; + + // Support of the beam line + beamLineSupportMaterial = aluminumNist; + + // Vacuum pipe + vacuumZoneMaterial = galacticNist; + + // Material of the fisrt scattering foil + firstScatteringFoilMaterial = tantalumNist; + + // Material of kapton window + kaptonWindowMaterial = kaptonNist; + + // Material of the stopper + stopperMaterial = brass; + + // Material of the second scattering foil + secondScatteringFoilMaterial = tantalumNist; + + // Materials of the collimators + firstCollimatorMaterial = PMMANist; + holeFirstCollimatorMaterial = airNist; + + // Box containing the modulator wheel + modulatorBoxMaterial = aluminumNist; + holeModulatorBoxMaterial = airNist; + + // Materials of the monitor chamber + layer1MonitorChamberMaterial = kaptonNist; + layer2MonitorChamberMaterial = copperNistAsMaterial; + layer3MonitorChamberMaterial = airNist; + layer4MonitorChamberMaterial = copperNistAsMaterial; + + // Mother volume of the MOPI detector + MOPIMotherVolumeMaterial = airNist; + MOPIFirstKaptonLayerMaterial = kaptonNist; + MOPIFirstAluminumLayerMaterial = aluminumNist; + MOPIFirstAirGapMaterial = airNist; + MOPICathodeMaterial = mylarNist; + MOPISecondAirGapMaterial = airNist; + MOPISecondAluminumLayerMaterial = aluminumNist; + MOPISecondKaptonLayerMaterial = kaptonNist; + + // material of the final nozzle + nozzleSupportMaterial = PMMANist; + holeNozzleSupportMaterial = brass; + seconHoleNozzleSupportMaterial = airNist; + + // Material of the final collimator + finalCollimatorMaterial = brass; +} + +void PassiveProtonBeamLine::ConstructPassiveProtonBeamLine() +{ + // ----------------------------- + // Treatment room - World volume + //------------------------------ + // Treatment room sizes + const G4double worldX = 400.0 *cm; + const G4double worldY = 400.0 *cm; + const G4double worldZ = 400.0 *cm; + G4bool isotopes = false; + + G4Material* airNist = G4NistManager::Instance()->FindOrBuildMaterial("G4_AIR", isotopes); + G4Box* treatmentRoom = new G4Box("TreatmentRoom",worldX,worldY,worldZ); + G4LogicalVolume* logicTreatmentRoom = new G4LogicalVolume(treatmentRoom, + airNist, + "logicTreatmentRoom", + 0,0,0); + physicalTreatmentRoom = new G4PVPlacement(0, + G4ThreeVector(), + "physicalTreatmentRoom", + logicTreatmentRoom, + 0,false,0); + + + // The treatment room is invisible in the Visualisation + logicTreatmentRoom -> SetVisAttributes (G4VisAttributes::Invisible); + + // Components of the Passive Proton Beam Line + HadrontherapyBeamLineSupport(); + HadrontherapyBeamScatteringFoils(); + HadrontherapyRangeShifter(); + HadrontherapyBeamCollimators(); + HadrontherapyBeamMonitoring(); + HadrontherapyMOPIDetector(); + HadrontherapyBeamNozzle(); + HadrontherapyBeamFinalCollimator(); + + // The following lines construc a typical modulator wheel inside the Passive Beam line. + // Please remember to set the nodulator material (default is air, i.e. no modulator!) + // in the HadrontherapyModulator.cc file + modulator = new HadrontherapyModulator(); + modulator -> BuildModulator(physicalTreatmentRoom); } ///////////////////////////////////////////////////////////////////////////// -HadrontherapyBeamLine::~HadrontherapyBeamLine() -{ - delete material; -} - -///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyBeamLineSupport() +void PassiveProtonBeamLine::HadrontherapyBeamLineSupport() { // ------------------// // BEAM LINE SUPPORT // //-------------------// - const G4double beamLineSupportXSize = 1.5*m; const G4double beamLineSupportYSize = 20.*mm; - const G4double beamLineSupportZSize = 600.*mm; + const G4double beamLineSupportZSize = 600.*mm; const G4double beamLineSupportXPosition = -1745.09 *mm; const G4double beamLineSupportYPosition = -230. *mm; const G4double beamLineSupportZPosition = 0.*mm; - G4Material* Al = material -> GetMat("MatAluminum"); - G4Box* beamLineSupport = new G4Box("BeamLineSupport", beamLineSupportXSize, beamLineSupportYSize, beamLineSupportZSize); G4LogicalVolume* logicBeamLineSupport = new G4LogicalVolume(beamLineSupport, - Al, + beamLineSupportMaterial, "BeamLineSupport"); physiBeamLineSupport = new G4PVPlacement(0, G4ThreeVector(beamLineSupportXPosition, beamLineSupportYPosition, beamLineSupportZPosition), "BeamLineSupport", logicBeamLineSupport, - mother, false, 0); + physicalTreatmentRoom, false, 0); // Visualisation attributes of the beam line support - G4VisAttributes* gray = new G4VisAttributes( G4Colour(0.5, 0.5, 0.5 )); - gray-> SetVisibility(true); - gray-> SetForceSolid(true); + logicBeamLineSupport -> SetVisAttributes(gray); //---------------------------------// // Beam line cover 1 (left panel) // //---------------------------------// - const G4double beamLineCoverXSize = 1.5*m; const G4double beamLineCoverYSize = 750.*mm; - const G4double beamLineCoverZSize = 10.*mm; + const G4double beamLineCoverZSize = 10.*mm; const G4double beamLineCoverXPosition = -1745.09 *mm; const G4double beamLineCoverYPosition = -980.*mm; @@ -431,42 +598,38 @@ void HadrontherapyBeamLine::HadrontherapyBeamLineSupport() beamLineCoverYSize, beamLineCoverZSize); - G4LogicalVolume* logicBeamLineCover = new G4LogicalVolume(beamLineCover, - Al, - "BeamLineCover"); + G4LogicalVolume* logicBeamLineCover = new G4LogicalVolume(beamLineCover, + beamLineSupportMaterial, + "BeamLineCover"); physiBeamLineCover = new G4PVPlacement(0, G4ThreeVector(beamLineCoverXPosition, beamLineCoverYPosition, beamLineCoverZPosition), "BeamLineCover", logicBeamLineCover, - mother, + physicalTreatmentRoom, false, 0); // ---------------------------------// // Beam line cover 2 (rigth panel) // // ---------------------------------// - // It has the same characteristic of beam line cover 1 but set in a different position physiBeamLineCover2 = new G4PVPlacement(0, G4ThreeVector(beamLineCoverXPosition, beamLineCoverYPosition, - beamLineCoverZPosition), "BeamLineCover2", logicBeamLineCover, - mother, + physicalTreatmentRoom, false, 0); - // Visualisation attributes of the beam line covers - G4VisAttributes* blue = new G4VisAttributes(G4Colour(0. ,0. ,1.)); - blue -> SetVisibility(true); - blue -> SetForceSolid(true); + logicBeamLineCover -> SetVisAttributes(blue); } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyBeamScatteringFoils() +void PassiveProtonBeamLine::HadrontherapyBeamScatteringFoils() { // ------------// // VACUUM PIPE // @@ -474,92 +637,71 @@ void HadrontherapyBeamLine::HadrontherapyBeamScatteringFoils() // // First track of the beam line is inside vacuum; // The PIPE contains the FIRST SCATTERING FOIL and the KAPTON WINDOW - - G4Material* vacuum = material -> GetMat("Galactic"); - G4Box* vacuumZone = new G4Box("VacuumZone", vacuumZoneXSize, vacuumZoneYSize, vacuumZoneZSize); - - G4LogicalVolume* logicVacuumZone = new G4LogicalVolume(vacuumZone, vacuum, "VacuumZone"); - + G4LogicalVolume* logicVacuumZone = new G4LogicalVolume(vacuumZone, vacuumZoneMaterial, "VacuumZone"); G4VPhysicalVolume* physiVacuumZone = new G4PVPlacement(0, G4ThreeVector(vacuumZoneXPosition, 0., 0.), - "VacuumZone", logicVacuumZone, mother, false, 0); - + "VacuumZone", logicVacuumZone, physicalTreatmentRoom, false, 0); // --------------------------// // THE FIRST SCATTERING FOIL // // --------------------------// // A thin foil performing a first scattering // of the original beam - - G4Material* Ta = material -> GetMat("MatTantalum"); - firstScatteringFoil = new G4Box("FirstScatteringFoil", firstScatteringFoilXSize, firstScatteringFoilYSize, firstScatteringFoilZSize); - G4LogicalVolume* logicFirstScatteringFoil = new G4LogicalVolume(firstScatteringFoil, Ta,"FirstScatteringFoil"); + G4LogicalVolume* logicFirstScatteringFoil = new G4LogicalVolume(firstScatteringFoil, + firstScatteringFoilMaterial, + "FirstScatteringFoil"); physiFirstScatteringFoil = new G4PVPlacement(0, G4ThreeVector(firstScatteringFoilXPosition, 0.,0.), "FirstScatteringFoil", logicFirstScatteringFoil, physiVacuumZone, false, 0); - - G4VisAttributes * blue = new G4VisAttributes(G4Colour(0. ,0. ,1.)); - blue -> SetVisibility(true); - blue -> SetForceSolid(true); - logicFirstScatteringFoil -> SetVisAttributes(blue); - + + logicFirstScatteringFoil -> SetVisAttributes(skyBlue); // -------------------// // THE KAPTON WINDOWS // //--------------------// //It prmits the passage of the beam from vacuum to air - - G4Material* kapton = material -> GetMat("Kapton") ; - G4Box* solidKaptonWindow = new G4Box("KaptonWindow", kaptonWindowXSize, kaptonWindowYSize, kaptonWindowZSize); - G4LogicalVolume* logicKaptonWindow = new G4LogicalVolume(solidKaptonWindow, kapton, "KaptonWindow"); + G4LogicalVolume* logicKaptonWindow = new G4LogicalVolume(solidKaptonWindow, + kaptonWindowMaterial, + "KaptonWindow"); physiKaptonWindow = new G4PVPlacement(0, G4ThreeVector(kaptonWindowXPosition, 0., 0.), "KaptonWindow", logicKaptonWindow, physiVacuumZone, false, 0); - G4VisAttributes * white = new G4VisAttributes( G4Colour()); - white -> SetVisibility(true); - white -> SetForceSolid(true); - logicKaptonWindow -> SetVisAttributes(white); - + logicKaptonWindow -> SetVisAttributes(darkOrange3); + // ------------// // THE STOPPER // //-------------// // Is a small cylinder able to stop the central component // of the beam (having a gaussian shape). It is connected to the SECON SCATTERING FOIL // and represent the second element of the scattering system - - G4double phi = 90. *deg; + G4double phi = 90. *deg; // Matrix definition for a 90 deg rotation with respect to Y axis - G4RotationMatrix rm; - rm.rotateY(phi); - - G4Material* brass = material -> GetMat("Brass") ; + G4RotationMatrix rm; + rm.rotateY(phi); solidStopper = new G4Tubs("Stopper", innerRadiusStopper,outerRadiusStopper,heightStopper, startAngleStopper,spanningAngleStopper); - G4LogicalVolume* logicStopper = new G4LogicalVolume(solidStopper, brass, "Stopper", 0, 0, 0); + G4LogicalVolume* logicStopper = new G4LogicalVolume(solidStopper, stopperMaterial, "Stopper", 0, 0, 0); physiStopper = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector(stopperXPosition, stopperYPosition, stopperZPosition)), - "Stopper", logicStopper, mother, false, 0); - - G4VisAttributes * red = new G4VisAttributes(G4Colour(1. ,0. ,0.)); - red-> SetVisibility(true); - red-> SetForceSolid(true); + "Stopper", logicStopper, physicalTreatmentRoom, false, 0); + logicStopper -> SetVisAttributes(red); - + // ---------------------------// // THE SECOND SCATTERING FOIL // // ---------------------------// @@ -572,60 +714,52 @@ void HadrontherapyBeamLine::HadrontherapyBeamScatteringFoils() secondScatteringFoilYSize, secondScatteringFoilZSize); - G4LogicalVolume* logicSecondScatteringFoil = new G4LogicalVolume(secondScatteringFoil, Ta, "SecondScatteringFoil"); + G4LogicalVolume* logicSecondScatteringFoil = new G4LogicalVolume(secondScatteringFoil, + secondScatteringFoilMaterial, + "SecondScatteringFoil"); physiSecondScatteringFoil = new G4PVPlacement(0, G4ThreeVector(secondScatteringFoilXPosition, secondScatteringFoilYPosition, secondScatteringFoilZPosition), "SeconScatteringFoil", logicSecondScatteringFoil, - mother, false, 0); + physicalTreatmentRoom, false, 0); - logicSecondScatteringFoil -> SetVisAttributes(blue); + logicSecondScatteringFoil -> SetVisAttributes(skyBlue); } - - ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyRangeShifter() +void PassiveProtonBeamLine::HadrontherapyRangeShifter() { - // ---------------------------- // // THE RANGE SHIFTER // // -----------------------------// // It is a slab of PMMA acting as energy degreader of // primary beam - solidRangeShifterBox = new G4Box("RangeShifterBox", rangeShifterXSize, rangeShifterYSize, rangeShifterZSize); logicRangeShifterBox = new G4LogicalVolume(solidRangeShifterBox, - RSMat, + rangeShifterMaterial, "RangeShifterBox"); - physiRangeShifterBox = new G4PVPlacement(0, G4ThreeVector(rangeShifterXPosition, 0., 0.), "RangeShifterBox", logicRangeShifterBox, - mother, + physicalTreatmentRoom, false, 0); - G4VisAttributes * yellow = new G4VisAttributes(G4Colour(1., 1., 0. )); - yellow-> SetVisibility(true); - yellow-> SetForceSolid(true); + logicRangeShifterBox -> SetVisAttributes(yellow); - } - ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyBeamCollimators() +void PassiveProtonBeamLine::HadrontherapyBeamCollimators() { // -----------------// // FIRST COLLIMATOR // // -----------------// // It is a slab of PMMA with an hole in its center - const G4double firstCollimatorXSize = 20.*mm; const G4double firstCollimatorYSize = 100.*mm; const G4double firstCollimatorZSize = 100.*mm; @@ -634,16 +768,13 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() const G4double firstCollimatorYPosition = 0.*mm; const G4double firstCollimatorZPosition = 0.*mm; - G4Material* PMMA = material -> GetMat("PMMA"); - G4Box* solidFirstCollimator = new G4Box("FirstCollimator", firstCollimatorXSize, firstCollimatorYSize, firstCollimatorZSize); - G4LogicalVolume* logicFirstCollimator = new G4LogicalVolume(solidFirstCollimator, - PMMA, + firstCollimatorMaterial, "FirstCollimator"); physiFirstCollimator = new G4PVPlacement(0, G4ThreeVector(firstCollimatorXPosition, @@ -651,20 +782,18 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() firstCollimatorZPosition), "FirstCollimator", logicFirstCollimator, - mother, + physicalTreatmentRoom, false, 0); // ----------------------------// // Hole of the first collimator// //-----------------------------// - G4double innerRadiusHoleFirstCollimator = 0.*mm; G4double outerRadiusHoleFirstCollimator = 15.*mm; G4double hightHoleFirstCollimator = 20.*mm; G4double startAngleHoleFirstCollimator = 0.*deg; G4double spanningAngleHoleFirstCollimator = 360.*deg; - G4Tubs* solidHoleFirstCollimator = new G4Tubs("HoleFirstCollimator", innerRadiusHoleFirstCollimator, outerRadiusHoleFirstCollimator, @@ -672,15 +801,13 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() startAngleHoleFirstCollimator, spanningAngleHoleFirstCollimator); - G4Material* Air = material -> GetMat("Air") ; - G4LogicalVolume* logicHoleFirstCollimator = new G4LogicalVolume(solidHoleFirstCollimator, - Air, + holeFirstCollimatorMaterial, "HoleFirstCollimator", 0, 0, 0); G4double phi = 90. *deg; // Matrix definition for a 90 deg rotation. Also used for other volumes - G4RotationMatrix rm; + G4RotationMatrix rm; rm.rotateY(phi); physiHoleFirstCollimator = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), @@ -693,7 +820,6 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() // SECOND COLLIMATOR // //-------------------// // It is a slab of PMMA with an hole in its center - const G4double secondCollimatorXPosition = -1608.00*mm; const G4double secondCollimatorYPosition = 0*mm; const G4double secondCollimatorZPosition = 0*mm; @@ -703,21 +829,20 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() secondCollimatorZPosition), "SecondCollimator", logicFirstCollimator, - mother, + physicalTreatmentRoom, false, 0); // ------------------------------// // Hole of the second collimator // // ------------------------------// - physiHoleSecondCollimator = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), "HoleSecondCollimator", logicHoleFirstCollimator, physiSecondCollimator, false, 0); - + // --------------------------------------// // FIRST SIDE OF THE MODULATOR BOX // // --------------------------------------// @@ -726,7 +851,7 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() // In this example only the entrance and exit // faces of the box are simulated. // Each face is an aluminum slab with an hole in its center - + const G4double firstCollimatorModulatorXSize = 10.*mm; const G4double firstCollimatorModulatorYSize = 200.*mm; const G4double firstCollimatorModulatorZSize = 200.*mm; @@ -735,22 +860,21 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() const G4double firstCollimatorModulatorYPosition = 0.*mm; const G4double firstCollimatorModulatorZPosition = 0.*mm; - G4Material* Al = material -> GetMat("MatAluminum"); - G4Box* solidFirstCollimatorModulatorBox = new G4Box("FirstCollimatorModulatorBox", firstCollimatorModulatorXSize, firstCollimatorModulatorYSize, firstCollimatorModulatorZSize); G4LogicalVolume* logicFirstCollimatorModulatorBox = new G4LogicalVolume(solidFirstCollimatorModulatorBox, - Al, "FirstCollimatorModulatorBox"); + modulatorBoxMaterial, + "FirstCollimatorModulatorBox"); physiFirstCollimatorModulatorBox = new G4PVPlacement(0, G4ThreeVector(firstCollimatorModulatorXPosition, firstCollimatorModulatorYPosition, firstCollimatorModulatorZPosition), "FirstCollimatorModulatorBox", logicFirstCollimatorModulatorBox, - mother, false, 0); + physicalTreatmentRoom, false, 0); // ----------------------------------------------------// // Hole of the first collimator of the modulator box // @@ -769,7 +893,8 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() spanningAngleHoleFirstCollimatorModulatorBox); G4LogicalVolume* logicHoleFirstCollimatorModulatorBox = new G4LogicalVolume(solidHoleFirstCollimatorModulatorBox, - Air, "HoleFirstCollimatorModulatorBox", + holeModulatorBoxMaterial, + "HoleFirstCollimatorModulatorBox", 0, 0, 0); physiHoleFirstCollimatorModulatorBox = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), @@ -777,8 +902,6 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() logicHoleFirstCollimatorModulatorBox, physiFirstCollimatorModulatorBox, false, 0); - - // --------------------------------------------------// // SECOND SIDE OF THE MODULATOR BOX // // --------------------------------------------------// @@ -790,7 +913,6 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() const G4double secondCollimatorModulatorYPosition = 0.*mm; const G4double secondCollimatorModulatorZPosition = 0.*mm; - G4Box* solidSecondCollimatorModulatorBox = new G4Box("SecondCollimatorModulatorBox", secondCollimatorModulatorXSize, @@ -798,20 +920,19 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() secondCollimatorModulatorZSize); G4LogicalVolume* logicSecondCollimatorModulatorBox = new G4LogicalVolume(solidSecondCollimatorModulatorBox, - Al, "SecondCollimatorModulatorBox"); + modulatorBoxMaterial, + "SecondCollimatorModulatorBox"); physiSecondCollimatorModulatorBox = new G4PVPlacement(0, G4ThreeVector(secondCollimatorModulatorXPosition, secondCollimatorModulatorYPosition, secondCollimatorModulatorZPosition), "SecondCollimatorModulatorBox", logicSecondCollimatorModulatorBox, - mother, false, 0); - - + physicalTreatmentRoom, false, 0); + // ----------------------------------------------// // Hole of the second collimator modulator box // // ----------------------------------------------// - const G4double innerRadiusHoleSecondCollimatorModulatorBox = 0.*mm; const G4double outerRadiusHoleSecondCollimatorModulatorBox = 31.*mm; const G4double hightHoleSecondCollimatorModulatorBox = 10.*mm; @@ -826,21 +947,14 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() spanningAngleHoleSecondCollimatorModulatorBox); G4LogicalVolume* logicHoleSecondCollimatorModulatorBox = new G4LogicalVolume(solidHoleSecondCollimatorModulatorBox, - Air, "HoleSecondCollimatorModulatorBox", + holeModulatorBoxMaterial, + "HoleSecondCollimatorModulatorBox", 0, 0, 0); physiHoleSecondCollimatorModulatorBox = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), "HoleSecondCollimatorModulatorBox", logicHoleSecondCollimatorModulatorBox, physiSecondCollimatorModulatorBox, false, 0); - - G4VisAttributes * blue = new G4VisAttributes( G4Colour(0. ,0. ,1.)); - blue -> SetVisibility(true); - blue -> SetForceSolid(true); - - G4VisAttributes * yellow = new G4VisAttributes(G4Colour(1., 1., 0. )); - yellow-> SetVisibility(true); - yellow-> SetForceSolid(true); logicFirstCollimator -> SetVisAttributes(yellow); logicFirstCollimatorModulatorBox -> SetVisAttributes(blue); @@ -848,10 +962,10 @@ void HadrontherapyBeamLine::HadrontherapyBeamCollimators() } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyBeamMonitoring() +void PassiveProtonBeamLine::HadrontherapyBeamMonitoring() { // ---------------------------- - // THE FIRST MONITOR CHAMBER + // THE FIRST MONITOR CHAMBER // ---------------------------- // A monitor chamber is a free-air ionisation chamber // able to measure do proton fluence during the treatment. @@ -860,46 +974,73 @@ void HadrontherapyBeamLine::HadrontherapyBeamMonitoring() // Each chamber consist of 9 mm of air in a box // that has two layers one of kapton and one // of copper - - G4Material* Kapton = material -> GetMat("Kapton") ; - G4Material* Cu = material -> GetMat("MatCopper"); - G4Material* Air = material -> GetMat("Air") ; - const G4double monitor1XSize = 4.525022*mm; const G4double monitor2XSize = 0.000011*mm; const G4double monitor3XSize = 4.5*mm; const G4double monitorYSize = 10.*cm; const G4double monitorZSize = 10.*cm; - const G4double monitor1XPosition = -1262.47498 *mm; const G4double monitor2XPosition = -4.500011*mm; const G4double monitor4XPosition = 4.500011*mm; - G4Box* solidFirstMonitorLayer1 = new G4Box("FirstMonitorLayer1", monitor1XSize, monitorYSize, monitorZSize); + G4Box* solidFirstMonitorLayer1 = new G4Box("FirstMonitorLayer1", + monitor1XSize, + monitorYSize, + monitorZSize); - G4LogicalVolume* logicFirstMonitorLayer1 = new G4LogicalVolume(solidFirstMonitorLayer1, Kapton, "FirstMonitorLayer1"); + G4LogicalVolume* logicFirstMonitorLayer1 = new G4LogicalVolume(solidFirstMonitorLayer1, + layer1MonitorChamberMaterial, + "FirstMonitorLayer1"); - physiFirstMonitorLayer1 = new G4PVPlacement(0,G4ThreeVector(monitor1XPosition,0.*cm,0.*cm), - "FirstMonitorLayer1", logicFirstMonitorLayer1, mother, false, 0); + physiFirstMonitorLayer1 = new G4PVPlacement(0, + G4ThreeVector(monitor1XPosition,0.*cm,0.*cm), + "FirstMonitorLayer1", + logicFirstMonitorLayer1, + physicalTreatmentRoom, + false, + 0); - G4Box* solidFirstMonitorLayer2 = new G4Box("FirstMonitorLayer2", monitor2XSize, monitorYSize, monitorZSize); + G4Box* solidFirstMonitorLayer2 = new G4Box("FirstMonitorLayer2", + monitor2XSize, + monitorYSize, + monitorZSize); - G4LogicalVolume* logicFirstMonitorLayer2 = new G4LogicalVolume(solidFirstMonitorLayer2, Cu, "FirstMonitorLayer2"); + G4LogicalVolume* logicFirstMonitorLayer2 = new G4LogicalVolume(solidFirstMonitorLayer2, + layer2MonitorChamberMaterial, + "FirstMonitorLayer2"); physiFirstMonitorLayer2 = new G4PVPlacement(0, G4ThreeVector(monitor2XPosition,0.*cm,0.*cm), - "FirstMonitorLayer2", logicFirstMonitorLayer2, physiFirstMonitorLayer1, - false, 0); + "FirstMonitorLayer2", + logicFirstMonitorLayer2, + physiFirstMonitorLayer1, + false, + 0); - G4Box* solidFirstMonitorLayer3 = new G4Box("FirstMonitorLayer3", monitor3XSize, monitorYSize, monitorZSize); + G4Box* solidFirstMonitorLayer3 = new G4Box("FirstMonitorLayer3", + monitor3XSize, + monitorYSize, + monitorZSize); - G4LogicalVolume* logicFirstMonitorLayer3 = new G4LogicalVolume(solidFirstMonitorLayer3, Air, "FirstMonitorLayer3"); + G4LogicalVolume* logicFirstMonitorLayer3 = new G4LogicalVolume(solidFirstMonitorLayer3, + layer3MonitorChamberMaterial, + "FirstMonitorLayer3"); - physiFirstMonitorLayer3 = new G4PVPlacement(0, G4ThreeVector(0.*mm,0.*cm,0.*cm), "MonitorLayer3", - logicFirstMonitorLayer3, physiFirstMonitorLayer1, false, 0); + physiFirstMonitorLayer3 = new G4PVPlacement(0, + G4ThreeVector(0.*mm,0.*cm,0.*cm), + "MonitorLayer3", + logicFirstMonitorLayer3, + physiFirstMonitorLayer1, + false, + 0); - G4Box* solidFirstMonitorLayer4 = new G4Box("FirstMonitorLayer4", monitor2XSize, monitorYSize, monitorZSize); + G4Box* solidFirstMonitorLayer4 = new G4Box("FirstMonitorLayer4", + monitor2XSize, + monitorYSize, + monitorZSize); - G4LogicalVolume* logicFirstMonitorLayer4 = new G4LogicalVolume(solidFirstMonitorLayer4, Cu, "FirstMonitorLayer4"); + G4LogicalVolume* logicFirstMonitorLayer4 = new G4LogicalVolume(solidFirstMonitorLayer4, + layer4MonitorChamberMaterial, + "FirstMonitorLayer4"); physiFirstMonitorLayer4 = new G4PVPlacement(0, G4ThreeVector(monitor4XPosition,0.*cm,0.*cm), "FirstMonitorLayer4", @@ -908,9 +1049,8 @@ void HadrontherapyBeamLine::HadrontherapyBeamMonitoring() // ----------------------------// // THE SECOND MONITOR CHAMBER // // ----------------------------// - physiSecondMonitorLayer1 = new G4PVPlacement(0, G4ThreeVector(-1131.42493 *mm,0.*cm,0.*cm), - "SecondMonitorLayer1", logicFirstMonitorLayer1,mother, false, 0); + "SecondMonitorLayer1", logicFirstMonitorLayer1,physicalTreatmentRoom, false, 0); physiSecondMonitorLayer2 = new G4PVPlacement(0, G4ThreeVector( monitor2XPosition,0.*cm,0.*cm), "SecondMonitorLayer2", logicFirstMonitorLayer2, physiSecondMonitorLayer1, false, 0); @@ -920,10 +1060,12 @@ void HadrontherapyBeamLine::HadrontherapyBeamMonitoring() physiSecondMonitorLayer4 = new G4PVPlacement(0, G4ThreeVector(monitor4XPosition,0.*cm,0.*cm), "SecondMonitorLayer4", logicFirstMonitorLayer4, physiSecondMonitorLayer1, false, 0); + + logicFirstMonitorLayer3 -> SetVisAttributes(white); + } - ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyMOPIDetector() +void PassiveProtonBeamLine::HadrontherapyMOPIDetector() { // --------------------------------// // THE MOPI DETECTOR // @@ -943,61 +1085,45 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() // 5 Second anode: 15 mu Al + 35 mu kapton // Color used in the graphical output - G4VisAttributes * yellow = new G4VisAttributes(G4Colour(1., 1., 0. )); - yellow-> SetVisibility(true); - yellow-> SetForceSolid(false); - - G4VisAttributes* blue = new G4VisAttributes(G4Colour(0. ,0. ,1.)); - blue -> SetVisibility(true); - blue -> SetForceSolid(true); - - G4VisAttributes * red = new G4VisAttributes(G4Colour(1. ,0. ,0.)); - red-> SetVisibility(true); - red-> SetForceSolid(true); - - G4VisAttributes * green= new G4VisAttributes( G4Colour(25/255. , 255/255. , 25/255. )); - green -> SetVisibility(true); - green -> SetForceSolid(true); - - // Materials used - G4Material* kapton = material -> GetMat("Kapton") ; - G4Material* Al = material -> GetMat("MatAluminum"); - G4Material* Air = material -> GetMat("Air") ; - G4Material* mylar = material ->GetMat("G4_MYLAR"); // Mother volume solidMOPIMotherVolume = new G4Box("MOPIMotherVolume", - MOPIMotherVolumeXSize/2, MOPIMotherVolumeYSize/2, MOPIMotherVolumeYSize/2); + MOPIMotherVolumeXSize/2, + MOPIMotherVolumeYSize/2, + MOPIMotherVolumeYSize/2); - logicMOPIMotherVolume = new G4LogicalVolume(solidMOPIMotherVolume, MOPIMotherVolumeMaterial, "MOPIMotherVolume"); - + logicMOPIMotherVolume = new G4LogicalVolume(solidMOPIMotherVolume, + MOPIMotherVolumeMaterial, + "MOPIMotherVolume"); physiMOPIMotherVolume = new G4PVPlacement(0, G4ThreeVector(MOPIMotherVolumeXPosition, MOPIMotherVolumeYPosition, MOPIMotherVolumeZPosition), "MOPIMotherVolume", - logicMOPIMotherVolume, mother, false, 0); - - - logicMOPIMotherVolume -> SetVisAttributes(blue); + logicMOPIMotherVolume, + physicalTreatmentRoom, + false, + 0); // First Kapton layer - solidMOPIFirstKaptonLayer = new G4Box("MOPIFirstKaptonLayer", MOPIFirstKaptonLayerXSize/2, MOPIFirstKaptonLayerYSize/2 , MOPIFirstKaptonLayerZSize/2); - logicMOPIFirstKaptonLayer = new G4LogicalVolume(solidMOPIFirstKaptonLayer, kapton, "MOPIFirstKaptonLayer"); + logicMOPIFirstKaptonLayer = new G4LogicalVolume(solidMOPIFirstKaptonLayer, + MOPIFirstKaptonLayerMaterial, + "MOPIFirstKaptonLayer"); physiMOPIFirstKaptonLayer = new G4PVPlacement(0, G4ThreeVector(MOPIFirstKaptonLayerXPosition, MOPIFirstKaptonLayerYPosition , MOPIFirstKaptonLayerZPosition), "MOPIFirstKaptonLayer", - logicMOPIFirstKaptonLayer, physiMOPIMotherVolume, false, 0); - - logicMOPIFirstKaptonLayer -> SetVisAttributes(green); + logicMOPIFirstKaptonLayer, + physiMOPIMotherVolume, + false, + 0); // First Aluminum layer solidMOPIFirstAluminumLayer = new G4Box("MOPIFirstAluminumLayer", @@ -1005,7 +1131,9 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() MOPIFirstAluminumLayerYSize/2 , MOPIFirstAluminumLayerZSize/2); - logicMOPIFirstAluminumLayer = new G4LogicalVolume(solidMOPIFirstAluminumLayer, Al, "MOPIFirstAluminumLayer"); + logicMOPIFirstAluminumLayer = new G4LogicalVolume(solidMOPIFirstAluminumLayer, + MOPIFirstAluminumLayerMaterial, + "MOPIFirstAluminumLayer"); physiMOPIFirstAluminumLayer = new G4PVPlacement(0, G4ThreeVector(MOPIFirstAluminumLayerXPosition, @@ -1014,15 +1142,15 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() "MOPIFirstAluminumLayer", logicMOPIFirstAluminumLayer, physiMOPIMotherVolume, false, 0); - logicMOPIFirstAluminumLayer -> SetVisAttributes(red); - // First Air GAP solidMOPIFirstAirGap = new G4Box("MOPIFirstAirGap", MOPIFirstAirGapXSize/2, MOPIFirstAirGapYSize/2, MOPIFirstAirGapZSize/2); - logicMOPIFirstAirGap = new G4LogicalVolume(solidMOPIFirstAirGap, Air, "MOPIFirstAirgap"); + logicMOPIFirstAirGap = new G4LogicalVolume(solidMOPIFirstAirGap, + MOPIFirstAirGapMaterial, + "MOPIFirstAirgap"); physiMOPIFirstAirGap = new G4PVPlacement(0, G4ThreeVector(MOPIFirstAirGapXPosition, @@ -1031,14 +1159,16 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() "MOPIFirstAirGap", logicMOPIFirstAirGap, physiMOPIMotherVolume, false, 0); - logicMOPIFirstAirGap -> SetVisAttributes(blue); - - // The Cathode (the two layers of Aluminum (1 micron each) are neglegted + // The Cathode solidMOPICathode = new G4Box("MOPICathode", - MOPICathodeXSize/2, MOPICathodeYSize/2 ,MOPICathodeZSize/2); + MOPICathodeXSize/2, + MOPICathodeYSize/2, + MOPICathodeZSize/2); - logicMOPICathode = new G4LogicalVolume(solidMOPICathode, mylar, "MOPICathode"); + logicMOPICathode = new G4LogicalVolume(solidMOPICathode, + MOPICathodeMaterial, + "MOPICathode"); physiMOPICathode = new G4PVPlacement(0, G4ThreeVector(MOPICathodeXPosition, @@ -1048,15 +1178,15 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() logicMOPICathode, physiMOPIMotherVolume, false, 0); - logicMOPICathode -> SetVisAttributes(red); - // Second Air GAP solidMOPISecondAirGap = new G4Box("MOPISecondAirGap", MOPISecondAirGapXSize/2, MOPISecondAirGapYSize/2, MOPISecondAirGapZSize/2); - logicMOPISecondAirGap = new G4LogicalVolume(solidMOPISecondAirGap, Air, "MOPISecondAirgap"); + logicMOPISecondAirGap = new G4LogicalVolume(solidMOPISecondAirGap, + MOPISecondAirGapMaterial, + "MOPISecondAirgap"); physiMOPISecondAirGap = new G4PVPlacement(0, G4ThreeVector(MOPISecondAirGapXPosition, @@ -1065,24 +1195,25 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() "MOPISecondAirGap", logicMOPISecondAirGap, physiMOPIMotherVolume, false, 0); - logicMOPISecondAirGap -> SetVisAttributes(blue); - // Second Aluminum layer solidMOPISecondAluminumLayer = new G4Box("MOPISecondAluminumLayer", MOPISecondAluminumLayerXSize/2, MOPISecondAluminumLayerYSize/2 , MOPISecondAluminumLayerZSize/2); - logicMOPISecondAluminumLayer = new G4LogicalVolume(solidMOPISecondAluminumLayer, Al, "MOPISecondAluminumLayer"); + logicMOPISecondAluminumLayer = new G4LogicalVolume(solidMOPISecondAluminumLayer, + MOPISecondAluminumLayerMaterial, + "MOPISecondAluminumLayer"); physiMOPISecondAluminumLayer = new G4PVPlacement(0, G4ThreeVector(MOPISecondAluminumLayerXPosition, MOPISecondAluminumLayerYPosition , MOPISecondAluminumLayerZPosition), "MOPISecondAluminumLayer", - logicMOPISecondAluminumLayer, physiMOPIMotherVolume, false, 0); - - logicMOPISecondAluminumLayer -> SetVisAttributes(red); + logicMOPISecondAluminumLayer, + physiMOPIMotherVolume, + false, + 0); // Second Kapton layer solidMOPISecondKaptonLayer = new G4Box("MOPISecondKaptonLayer", @@ -1091,8 +1222,8 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() MOPISecondKaptonLayerZSize/2); logicMOPISecondKaptonLayer = new G4LogicalVolume(solidMOPISecondKaptonLayer, - kapton, - "MOPISecondKaptonLayer"); + MOPIFirstKaptonLayerMaterial, + "MOPISecondKaptonLayer"); physiMOPISecondKaptonLayer = new G4PVPlacement(0, G4ThreeVector(MOPISecondKaptonLayerXPosition, @@ -1100,15 +1231,16 @@ void HadrontherapyBeamLine::HadrontherapyMOPIDetector() MOPISecondKaptonLayerZPosition), "MOPISecondKaptonLayer", logicMOPISecondKaptonLayer, - physiMOPIMotherVolume, false, 0); + physiMOPIMotherVolume, + false, + 0); + + logicMOPIFirstAirGap -> SetVisAttributes(darkGreen); + logicMOPISecondAirGap -> SetVisAttributes(darkGreen); - logicMOPISecondKaptonLayer -> SetVisAttributes(green); } - - - ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyBeamNozzle() +void PassiveProtonBeamLine::HadrontherapyBeamNozzle() { // ------------------------------// // THE FINAL TUBE AND COLLIMATOR // @@ -1118,38 +1250,41 @@ void HadrontherapyBeamLine::HadrontherapyBeamNozzle() // (to well collimate the proton beam) and a final collimator with 25 mm diameter // aperture (that provide the final trasversal shape of the beam) - // -------------------// - // PMMA SLAB // + // PMMA SUPPORT // // -------------------// - const G4double nozzleSupportXSize = 29.5 *mm; const G4double nozzleSupportYSize = 180. *mm; const G4double nozzleSupportZSize = 180. *mm; const G4double nozzleSupportXPosition = -397.50 *mm; - // Materials used - G4Material* PMMA = material -> GetMat("PMMA"); - G4Material* Brass = material -> GetMat("Brass") ; - G4Material* Air = material -> GetMat("Air") ; - G4double phi = 90. *deg; // Matrix definition for a 90 deg rotation. Also used for other volumes G4RotationMatrix rm; rm.rotateY(phi); - G4Box* solidNozzleSupport = new G4Box("NozzlSupport", nozzleSupportXSize, nozzleSupportYSize, nozzleSupportZSize); + G4Box* solidNozzleSupport = new G4Box("NozzlSupport", + nozzleSupportXSize, + nozzleSupportYSize, + nozzleSupportZSize); - G4LogicalVolume* logicNozzleSupport = new G4LogicalVolume(solidNozzleSupport, PMMA, "NozzleSupport"); + G4LogicalVolume* logicNozzleSupport = new G4LogicalVolume(solidNozzleSupport, + nozzleSupportMaterial, + "NozzleSupport"); physiNozzleSupport = new G4PVPlacement(0, G4ThreeVector(nozzleSupportXPosition,0., 0.), - "NozzleSupport", logicNozzleSupport, mother, false, 0); - + "NozzleSupport", + logicNozzleSupport, + physicalTreatmentRoom, + false, + 0); + + logicNozzleSupport -> SetVisAttributes(yellow); + // -------------------// // BRASS TUBE // // -------------------// - const G4double innerRadiusHoleNozzleSupport = 18.*mm; const G4double outerRadiusHoleNozzleSupport = 21.5 *mm; const G4double hightHoleNozzleSupport = 185.*mm; @@ -1166,18 +1301,19 @@ void HadrontherapyBeamLine::HadrontherapyBeamNozzle() spanningAngleHoleNozzleSupport); G4LogicalVolume* logicHoleNozzleSupport = new G4LogicalVolume(solidHoleNozzleSupport, - Brass, + holeNozzleSupportMaterial, "HoleNozzleSupport", 0, 0, 0); physiHoleNozzleSupport = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector(holeNozzleSupportXPosition, 0., 0.)), - "HoleNozzleSupport", logicHoleNozzleSupport, mother, false, 0); + "HoleNozzleSupport", logicHoleNozzleSupport, physicalTreatmentRoom, false, 0); + logicHoleNozzleSupport -> SetVisAttributes(darkOrange3); + //------------------------------------// // HOLE OF THE BRASS TUBE // //------------------------------------// - const G4double innerRadiusSecondHoleNozzleSupport = 0.*mm; const G4double outerRadiusSecondHoleNozzleSupport = 18.*mm; const G4double hightSecondHoleNozzleSupport = 29.5 *mm; @@ -1192,9 +1328,11 @@ void HadrontherapyBeamLine::HadrontherapyBeamNozzle() spanningAngleSecondHoleNozzleSupport); G4LogicalVolume* logicSecondHoleNozzleSupport = new G4LogicalVolume(solidSecondHoleNozzleSupport, - Air, - "SecondHoleNozzleSupport", - 0, 0, 0); + seconHoleNozzleSupportMaterial, + "SecondHoleNozzleSupport", + 0, + 0, + 0); physiSecondHoleNozzleSupport = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector()), "SecondHoleNozzleSupport", @@ -1203,110 +1341,120 @@ void HadrontherapyBeamLine::HadrontherapyBeamNozzle() false, 0); - G4VisAttributes * yellow = new G4VisAttributes( G4Colour(1., 1., 0. )); - yellow-> SetVisibility(true); - yellow-> SetForceSolid(true); - logicHoleNozzleSupport -> SetVisAttributes(yellow); + logicHoleNozzleSupport -> SetVisAttributes(darkOrange3); } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::HadrontherapyBeamFinalCollimator() +void PassiveProtonBeamLine::HadrontherapyBeamFinalCollimator() { // -----------------------// // FINAL COLLIMATOR // //------------------------// - const G4double outerRadiusFinalCollimator = 21.5*mm; const G4double hightFinalCollimator = 3.5*mm; const G4double startAngleFinalCollimator = 0.*deg; const G4double spanningAngleFinalCollimator = 360.*deg; const G4double finalCollimatorXPosition = -83.5 *mm; - + G4double phi = 90. *deg; // Matrix definition for a 90 deg rotation. Also used for other volumes - G4RotationMatrix rm; + G4RotationMatrix rm; rm.rotateY(phi); - G4Material* Brass = material -> GetMat("Brass"); - - solidFinalCollimator = new G4Tubs("FinalCollimator", innerRadiusFinalCollimator, + solidFinalCollimator = new G4Tubs("FinalCollimator", + innerRadiusFinalCollimator, outerRadiusFinalCollimator, hightFinalCollimator, startAngleFinalCollimator, spanningAngleFinalCollimator); G4LogicalVolume* logicFinalCollimator = new G4LogicalVolume(solidFinalCollimator, - Brass, "FinalCollimator", 0, 0, 0); + finalCollimatorMaterial, + "FinalCollimator", + 0, + 0, + 0); physiFinalCollimator = new G4PVPlacement(G4Transform3D(rm, G4ThreeVector(finalCollimatorXPosition,0.,0.)), - "FinalCollimator", logicFinalCollimator, mother, false, 0); + "FinalCollimator", logicFinalCollimator, physicalTreatmentRoom, false, 0); - G4VisAttributes * yellow2 = new G4VisAttributes( G4Colour(1., 1., 1. )); - yellow2-> SetVisibility(true); - yellow2-> SetForceSolid(true); - logicFinalCollimator -> SetVisAttributes(yellow2); + logicFinalCollimator -> SetVisAttributes(yellow); } - +/////////////////////////// MESSENGER /////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::SetRangeShifterXPosition(G4double value) +void PassiveProtonBeamLine::SetRangeShifterXPosition(G4double value) { physiRangeShifterBox -> SetTranslation(G4ThreeVector(value, 0., 0.)); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); G4cout << "The Range Shifter is translated to"<< value/mm <<"mm along the X axis" < SetXHalfLength(value) ; G4cout << "RangeShifter size X (mm): "<< ((solidRangeShifterBox -> GetXHalfLength())*2.)/mm << G4endl; + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::SetFirstScatteringFoilXSize(G4double value) +void PassiveProtonBeamLine::SetFirstScatteringFoilXSize(G4double value) { firstScatteringFoil -> SetXHalfLength(value); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); G4cout <<"The X size of the first scattering foil is (mm):"<< ((firstScatteringFoil -> GetXHalfLength())*2.)/mm << G4endl; } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::SetSecondScatteringFoilXSize(G4double value) +void PassiveProtonBeamLine::SetSecondScatteringFoilXSize(G4double value) { secondScatteringFoil -> SetXHalfLength(value); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); G4cout <<"The X size of the second scattering foil is (mm):"<< ((secondScatteringFoil -> GetXHalfLength())*2.)/mm << G4endl; } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::SetOuterRadiusStopper(G4double value) +void PassiveProtonBeamLine::SetOuterRadiusStopper(G4double value) { solidStopper -> SetOuterRadius(value); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); G4cout << "OuterRadius od the Stopper is (mm):" << solidStopper -> GetOuterRadius()/mm << G4endl; } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::SetInnerRadiusFinalCollimator(G4double value) +void PassiveProtonBeamLine::SetInnerRadiusFinalCollimator(G4double value) { solidFinalCollimator -> SetInnerRadius(value); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); G4cout<<"Inner Radius of the final collimator is (mm):" << solidFinalCollimator -> GetInnerRadius()/mm << G4endl; } ///////////////////////////////////////////////////////////////////////////// -void HadrontherapyBeamLine::SetRSMaterial(G4String materialChoice) +void PassiveProtonBeamLine::SetRSMaterial(G4String materialChoice) { G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); if (pttoMaterial) { - RSMat = pttoMaterial; + rangeShifterMaterial = pttoMaterial; logicRangeShifterBox -> SetMaterial(pttoMaterial); } } + +///////////////////////////////////////////////////////////////////////////// +void PassiveProtonBeamLine::SetModulatorAngle(G4double value) +{ + modulator -> SetModulatorAngle(value); + G4RunManager::GetRunManager() -> GeometryHasBeenModified(); +} +///////////////////////////////////////////////////////////////////////////// diff --git a/examples/advanced/hadrontherapy/src/PassiveProtonBeamLineMessenger.cc b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLineMessenger.cc new file mode 100755 index 0000000000..b1e9533474 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/PassiveProtonBeamLineMessenger.cc @@ -0,0 +1,179 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// passiveProtonBeamLineMessenger.cc; +// See more at: http://g4advancedexamples.lngs.infn.it/Examples/hadrontherapy + +#include "PassiveProtonBeamLineMessenger.hh" +#include "PassiveProtonBeamLine.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" + + + PassiveProtonBeamLineMessenger::PassiveProtonBeamLineMessenger(PassiveProtonBeamLine* beamLine) + :passiveProton(beamLine) + +{ + changeTheBeamLineDir = new G4UIdirectory("/ChangeBeamLine/"); + changeTheBeamLineDir -> SetGuidance("Command to change the transport beam line"); + + changeTheBeamLineNameCmd = new G4UIcmdWithAString("/ChangeBeamLine/beamLineName",this); + changeTheBeamLineNameCmd -> SetGuidance("Insert the name of the beam line you want simulate"); + changeTheBeamLineNameCmd -> SetParameterName("List",false); + changeTheBeamLineNameCmd -> AvailableForStates(G4State_PreInit); + + modulatorDir = new G4UIdirectory("/modulator/"); + modulatorDir -> SetGuidance("Command to rotate the modulator wheel"); + + beamLineDir = new G4UIdirectory("/beamLine/"); + beamLineDir -> SetGuidance("set specification of range shifter"); + + rangeShifterDir = new G4UIdirectory("/beamLine/RangeShifter/"); + rangeShifterDir -> SetGuidance("set specification of range shifter"); + + firstScatteringFoilDir = new G4UIdirectory("/beamLine/ScatteringFoil1/"); + firstScatteringFoilDir -> SetGuidance("set specification of first scattering foil"); + + secondScatteringFoilDir = new G4UIdirectory("/beamLine/ScatteringFoil2/"); + secondScatteringFoilDir -> SetGuidance("set specification of second scattering foil"); + + rangeStopperDir = new G4UIdirectory("/beamLine/Stopper/"); + rangeStopperDir -> SetGuidance("set specification of stopper"); + + finalCollimatorDir = new G4UIdirectory("/beamLine/FinalCollimator/"); + finalCollimatorDir -> SetGuidance("set specification of final collimator"); + + modulatorAngleCmd = new G4UIcmdWithADoubleAndUnit("/modulator/angle",this); + modulatorAngleCmd -> SetGuidance("Set Modulator Angle"); + modulatorAngleCmd -> SetParameterName("Size",false); + modulatorAngleCmd -> SetRange("Size>=0."); + modulatorAngleCmd -> SetUnitCategory("Angle"); + modulatorAngleCmd -> AvailableForStates(G4State_Idle); + + rangeShifterMatCmd = new G4UIcmdWithAString("/beamLine/RangeShifter/RSMat",this); + rangeShifterMatCmd -> SetGuidance("Set material of range shifter"); + rangeShifterMatCmd -> SetParameterName("choice",false); + rangeShifterMatCmd -> AvailableForStates(G4State_Idle); + + rangeShifterXSizeCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/RangeShifter/thickness",this); + rangeShifterXSizeCmd -> SetGuidance("Set half of the thickness of range shifter along X axis"); + rangeShifterXSizeCmd -> SetParameterName("Size",false); + rangeShifterXSizeCmd -> SetDefaultUnit("mm"); + rangeShifterXSizeCmd -> SetUnitCandidates("mm cm m"); + rangeShifterXSizeCmd -> AvailableForStates(G4State_Idle); + + rangeShifterXPositionCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/RangeShifter/position",this); + rangeShifterXPositionCmd -> SetGuidance("Set position of range shifter"); + rangeShifterXPositionCmd -> SetParameterName("Size",false); + rangeShifterXPositionCmd -> SetDefaultUnit("mm"); + rangeShifterXPositionCmd -> SetUnitCandidates("mm cm m"); + rangeShifterXPositionCmd -> AvailableForStates(G4State_Idle); + + firstScatteringFoilXSizeCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/ScatteringFoil1/thickness",this); + firstScatteringFoilXSizeCmd -> SetGuidance("Set half thickness of first scattering foil"); + firstScatteringFoilXSizeCmd -> SetParameterName("Size",false); + firstScatteringFoilXSizeCmd -> SetDefaultUnit("mm"); + firstScatteringFoilXSizeCmd -> SetUnitCandidates("mm cm m"); + firstScatteringFoilXSizeCmd -> AvailableForStates(G4State_Idle); + + secondScatteringFoilXSizeCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/ScatteringFoil2/thickness",this); + secondScatteringFoilXSizeCmd -> SetGuidance("Set half thickness of second scattering foil"); + secondScatteringFoilXSizeCmd -> SetParameterName("Size",false); + secondScatteringFoilXSizeCmd -> SetDefaultUnit("mm"); + secondScatteringFoilXSizeCmd -> SetUnitCandidates("mm cm m"); + secondScatteringFoilXSizeCmd -> AvailableForStates(G4State_Idle); + + outerRadiusStopperCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/Stopper/outRadius",this); + outerRadiusStopperCmd -> SetGuidance("Set size of outer radius"); + outerRadiusStopperCmd -> SetParameterName("Size",false); + outerRadiusStopperCmd -> SetDefaultUnit("mm"); + outerRadiusStopperCmd -> SetUnitCandidates("mm cm m"); + outerRadiusStopperCmd -> AvailableForStates(G4State_Idle); + + innerRadiusFinalCollimatorCmd = new G4UIcmdWithADoubleAndUnit("/beamLine/FinalCollimator/halfInnerRad",this); + innerRadiusFinalCollimatorCmd -> SetGuidance("Set size of inner radius ( max 21.5 mm)"); + innerRadiusFinalCollimatorCmd -> SetParameterName("Size",false); + innerRadiusFinalCollimatorCmd -> SetDefaultUnit("mm"); + innerRadiusFinalCollimatorCmd -> SetUnitCandidates("mm cm m"); + innerRadiusFinalCollimatorCmd -> AvailableForStates(G4State_Idle); +} + +PassiveProtonBeamLineMessenger::~PassiveProtonBeamLineMessenger() +{ + delete innerRadiusFinalCollimatorCmd; + delete outerRadiusStopperCmd; + delete secondScatteringFoilXSizeCmd; + delete firstScatteringFoilXSizeCmd; + delete rangeShifterXPositionCmd; + delete rangeShifterXSizeCmd; + delete rangeShifterMatCmd; + delete modulatorAngleCmd; + delete finalCollimatorDir; + delete rangeStopperDir; + delete secondScatteringFoilDir; + delete firstScatteringFoilDir; + delete rangeShifterDir; + delete beamLineDir; + delete modulatorDir; +} + + + + +void PassiveProtonBeamLineMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == modulatorAngleCmd ) + { passiveProton -> SetModulatorAngle + (modulatorAngleCmd -> GetNewDoubleValue(newValue));} + + else if( command == rangeShifterMatCmd ) + { passiveProton -> SetRSMaterial(newValue);} + + else if( command == rangeShifterXSizeCmd ) + { passiveProton -> SetRangeShifterXSize + (rangeShifterXSizeCmd -> GetNewDoubleValue(newValue));} + + else if( command == rangeShifterXPositionCmd ) + { passiveProton -> SetRangeShifterXPosition + (rangeShifterXPositionCmd -> GetNewDoubleValue(newValue));} + + else if( command == firstScatteringFoilXSizeCmd ) + { passiveProton -> SetFirstScatteringFoilXSize + (firstScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} + + else if( command == secondScatteringFoilXSizeCmd ) + { passiveProton -> SetSecondScatteringFoilXSize + (secondScatteringFoilXSizeCmd -> GetNewDoubleValue(newValue));} + + else if( command == outerRadiusStopperCmd ) + { passiveProton -> SetOuterRadiusStopper( + outerRadiusStopperCmd -> GetNewDoubleValue(newValue));} + + else if( command == innerRadiusFinalCollimatorCmd ) + { passiveProton -> SetInnerRadiusFinalCollimator + (innerRadiusFinalCollimatorCmd -> GetNewDoubleValue(newValue));} +} + diff --git a/examples/advanced/human_phantom/GNUmakefile b/examples/advanced/human_phantom/GNUmakefile index c5e0ede364..92373ec8a2 100644 --- a/examples/advanced/human_phantom/GNUmakefile +++ b/examples/advanced/human_phantom/GNUmakefile @@ -8,46 +8,10 @@ name := phantom G4TARGET := $(name) G4EXLIB := true -ifndef SCRAM_ARCH - SCRAM_ARCH := slc3_ia32_gcc323 -endif - ifndef G4INSTALL G4INSTALL = ../../.. endif -ifndef GDML_BASE -# GDML_BASE := /afs/cern.ch/sw/lcg/app/releases/GDML/pro - GDML_BASE := /local/GDML_2_8_0 -endif - -CPPFLAGS += \ - -I$(GDML_BASE)/include \ - -I$(XERCESCROOT)/include - -ifdef G4ANALYSIS_USE -CPPFLAGS += \ - `aida-config --include` -endif - -EXTRALIBS += \ - -L$(GDML_BASE)/$(SCRAM_ARCH)/lib \ - -lG4Processor \ - -lG4Subscribers \ - -lG4Processor \ - -lG4Evaluator\ - -lG4Writer \ - -L$(GDML_BASE)/$(SCRAM_ARCH)/lib \ - -lSaxana \ - -lProcesses \ - -lWriter \ - -L$(XERCESCROOT)/lib -lxerces-c - -ifdef G4ANALYSIS_USE -EXTRALIBS += \ - `aida-config --lib` -endif - .PHONY: all all: lib bin diff --git a/examples/advanced/human_phantom/History b/examples/advanced/human_phantom/History index d90d954296..3fb0f5370e 100644 --- a/examples/advanced/human_phantom/History +++ b/examples/advanced/human_phantom/History @@ -1,4 +1,4 @@ -$Id: History,v 1.19 2007/06/06 19:11:20 pia Exp $ +$Id: History,v 1.25 2009/04/06 06:24:37 cirrone Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,8 +18,22 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -06.06.2007 MGP human_phantom-V08-03-00 - Minor documentation fix +April 6, 2009, G.A.P.Cirrone, tag: human_phantom-V09-02-02 +- GNUmakefile updated + +February 20, 2009, G. Cosmo tag: human_phantom-V09-02-01 +- Corrected URL for standard location of schema in all GDML files. +- Use "OrganPos" and "OrganRot" as names for organ's transformations in + ORNL files, as implied by code. +- Fixed 'solids' tag in ORNLLeftLegBone.gdml files for male and female. + +February 19, 2009, G. Cosmo tag: human_phantom-V09-02-00 +- Migrated GDML read setup to use embedded GDML reader as in Geant4 9.2. +- Fixed compilation warnings. +- Updated README. + +June 6, 2007, M.G. Pia tag: human_phantom-V08-03-00 +- Minor documentation fix May 15, 2007, S. Guatelli tag: human_phantom-V08-02-02 - Left and Right Adrenals introduced diff --git a/examples/advanced/human_phantom/README b/examples/advanced/human_phantom/README index c8addee473..718b9a8d94 100644 --- a/examples/advanced/human_phantom/README +++ b/examples/advanced/human_phantom/README @@ -1,4 +1,4 @@ -qYY$Id: README,v 1.13 2007/06/06 19:11:20 pia Exp $ +$Id: README,v 1.14 2009/02/19 14:05:06 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -31,12 +31,6 @@ Note: this is a preliminary beta-version of the code; an improved version will be distributed in the next Geant4 public release, compliant with the design in a forthcoming publication, and subject to a design and code review. - -NOTE: At the moment this advanced example is executed correctly with geantino -particles as primary particles; it is not executed correctly with other primary particle types. -This is due to an internal Geant4 bug concerning ellipsoids. -For details look at the Geant4 Bug Report #914. This problem is taken under -care by the Geant4 Collaboration. -----> Geometry @@ -46,7 +40,8 @@ The creation of coherent models of the human phantom is handled through an Abstract Factory design pattern. The organs of the MIRD phantom are implemented in hard-code; the organs of -the ORNL phantom are handled through GDML (Geometry Description Markup Language, www.cern.ch/gdml). The materials of the MIRD model are defined in the +the ORNL phantom are handled through GDML (Geometry Description Markup Language, +www.cern.ch/gdml). The materials of the MIRD model are defined in the class G4HumanPhantomMaterial. The materials of the ORNL model are defined in the GDML files. @@ -115,34 +110,26 @@ adultMIXFemale.mac : example of MIRD human female phantom with -----> Setup -Example enviroment with the compiler gcc-3.2.3, on the Linux platform - A standard Geant4 example GNUmakefile is provided. The following environment variables need to be set: G4LEDATA : points to low energy data base set G4ANALYSIS_USE equal to 1 to activate the analysis -- Install the GDML package with Geant4 extensions and Xerces -. - See: http://cern.ch/gdml. - -- Set the environment variable GDML_BASE to point to the area where - GDML is installed. - -- Set the environment variable XERCESCROOT to point to the area where - Xerces is installed. - -- Add to the LD_LIBRARY_PATH the $XERCESCROOT/lib +- Requires the GDML module to be installed with Geant4: +. + Set G4LIB_BUILD_GDML to 1 + Set XERCESCROOT variable defining the path to the Xercec-C library + See also: http://cern.ch/gdml. - IMPORTANT!!!! Customize the '*.gdml' schema file in the directories -gdmlData/Female and gdmlData/Male, specifying in the top line the + gdmlData/Female and gdmlData/Male, specifying in the top line the right path where to retrieve the main GDML schema file. -- Analysis set-up: AIDA 3.2.1, PI 1.3.3 +- Analysis set-up: AIDA 3.2.1, and iAIDA Users can download the analysis tools from: http://aida.freehep.org/ - http://www.cern.ch/PI + http://iaida.dynalias.net/ - Compile and link to generate an executable: % gmake diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml index 381bbe559b..9915d70b83 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDArmBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml index 86ea947361..dea8576a20 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml index 0f1e2a740a..55007e8532 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDBreast.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml index 4d3da92fa3..9c73933528 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml index 513b824b3f..ba94500264 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDHeart.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml index 4fc0b5cc47..612e30dadc 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml index c1e49d1d59..9cd3ed964e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml index f6321c1cf6..859250d0d0 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLegs.gdml @@ -1,5 +1,5 @@ - + @@ -124,4 +124,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml index 5ac3e84521..5ba399b6f6 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLiver.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml index 53214a5745..beb7f435dd 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml index f6782973a1..a6f5fb9340 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml index 0db16d9f69..e969a16871 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml index 759602fd8b..d8e5218fce 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDOvary.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml index c0a68b1ec5..b045f686a4 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml index 6214cf32dd..017986e61e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml index 1a1ffdc146..bc7264cdbc 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml index d7ac68adb6..50527392d4 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml index fa4203ff1d..44158eb43c 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml index 5637e0396d..16c85a7309 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDThyroid.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml index ddab78fa2f..94e061c815 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDTrunk.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml index 2564ef29db..2f93dcf56e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml index 6b72c865c1..b18ee47d6f 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml index 79cfeeab0c..8523dabb2f 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml b/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml index e6fe80fede..9600a49f4a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/MIRDUterus.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml index ab924d4802..35fa4fffe5 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLArmBone.gdml @@ -1,14 +1,13 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml index ebc05a5c8e..2ee57c875f 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml index 71137489bc..9ca719f9d5 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml index 94e2d0ae6b..d1521d64e9 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLHeart.gdml @@ -1,13 +1,13 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml index 766ca7170c..8003b29b8b 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml @@ -1,6 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml index f8b75aa449..f6e5f082d5 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml index 385771b910..9f0644d3f3 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml index 9da7899fa1..758ca58c0a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml index d4bdff99fb..df2a130f3c 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml @@ -1,5 +1,5 @@ - + @@ -110,6 +110,7 @@ + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml index 98032c7a7b..4bc8dda29c 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml index e62a610b3b..a195b62132 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml index 200c179ff2..dc335f5f1d 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLegBone.gdml @@ -1,12 +1,12 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml index 45b6de356e..ae5ff528f6 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLiver.gdml @@ -1,13 +1,13 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml index 590ce4f682..1bd71a5607 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml index f95f8a4ae3..09de208605 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml index 28a613963e..e200d9d57d 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml index fe61107ac3..8b710db01e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml index c0bbb1157b..eb62112ef4 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml @@ -1,6 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml index b260503641..ee6c9b88cb 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml index e20f07e03c..f05a725361 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml index dc87c213ec..0a8810b982 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml index 4b91b8122c..e7b7f99e1e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml index b8736c5b7e..d7c1465d9f 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml index d5417ffed5..f941bc35bf 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml index fcad6f46d0..ebc7225bed 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml index 648344d016..492d99012a 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml index cae54c1eaf..c786f2c12b 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml index dfa1871905..69b1d4de99 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLThyroid.gdml @@ -1,5 +1,5 @@ - + @@ -9,8 +9,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml index ec6e97f465..5be8385d5b 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml index 33920d1ea4..735421798d 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml index 7cc327e48e..bef6d81c3b 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml index 47bf5156e9..95d5a95e30 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml index ef8ef4c977..69170c8718 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUterus.gdml @@ -1,11 +1,11 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml index 381bbe559b..9915d70b83 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml index 86ea947361..dea8576a20 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDHead.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDHead.gdml index 4d3da92fa3..9c73933528 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml index 513b824b3f..ba94500264 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDHeart.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml index 4fc0b5cc47..612e30dadc 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml index c1e49d1d59..9cd3ed964e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml index f6321c1cf6..859250d0d0 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLegs.gdml @@ -1,5 +1,5 @@ - + @@ -124,4 +124,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.gdml index 5ac3e84521..5ba399b6f6 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLiver.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml index 53214a5745..beb7f435dd 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml index f6782973a1..a6f5fb9340 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml index 0db16d9f69..e969a16871 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml index c0a68b1ec5..b045f686a4 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml index 6214cf32dd..017986e61e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml index 1a1ffdc146..bc7264cdbc 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml index d7ac68adb6..50527392d4 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml index fa4203ff1d..44158eb43c 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml index 5637e0396d..16c85a7309 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDThyroid.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml index ddab78fa2f..94e061c815 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDTrunk.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml index 2564ef29db..2f93dcf56e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml index 6b72c865c1..b18ee47d6f 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml index 79cfeeab0c..8523dabb2f 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml index ab924d4802..b9a331d6dc 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml @@ -1,14 +1,14 @@ +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd" > - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml index ebc05a5c8e..2ee57c875f 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml index 71137489bc..9ca719f9d5 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml index 94e2d0ae6b..d1521d64e9 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLHeart.gdml @@ -1,13 +1,13 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml index 9e70cea00e..37e5446d81 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLKidney.gdml @@ -1,13 +1,13 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml index 766ca7170c..7eb72f17b5 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml @@ -1,6 +1,6 @@ +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd" > diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml index 385771b910..9f0644d3f3 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml index 9da7899fa1..758ca58c0a 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml index d4bdff99fb..ee27ad148b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml @@ -1,5 +1,5 @@ - + @@ -110,6 +110,8 @@ + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml index 98032c7a7b..4bc8dda29c 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml index 200c179ff2..dc335f5f1d 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegBone.gdml @@ -1,12 +1,12 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml index 8d90476df7..eada3664bd 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLegs.gdml @@ -1,12 +1,12 @@ - + - - + + @@ -125,4 +125,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml index 45b6de356e..ae5ff528f6 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLiver.gdml @@ -1,13 +1,13 @@ - + - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml index 590ce4f682..1bd71a5607 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml index 05d96ae848..36e8553a43 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLung.gdml @@ -1,5 +1,5 @@ - + @@ -7,8 +7,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml index f95f8a4ae3..09de208605 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml index 28a613963e..e200d9d57d 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml index fe61107ac3..8b710db01e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml index c0bbb1157b..4e4cbbb2a6 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml @@ -1,6 +1,6 @@ +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd" > diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml index e20f07e03c..f05a725361 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml index dc87c213ec..0a8810b982 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml index 4b91b8122c..e7b7f99e1e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml index b8736c5b7e..d7c1465d9f 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml index fcad6f46d0..ebc7225bed 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml index 648344d016..492d99012a 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml index cae54c1eaf..c786f2c12b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml index dfa1871905..69b1d4de99 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLThyroid.gdml @@ -1,5 +1,5 @@ - + @@ -9,8 +9,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml index ec6e97f465..5be8385d5b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml @@ -1,5 +1,5 @@ - + @@ -119,4 +119,4 @@ - \ No newline at end of file + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml index 33920d1ea4..735421798d 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml index 7cc327e48e..bef6d81c3b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml index 47bf5156e9..95d5a95e30 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/include/G4MIRDBrain.hh b/examples/advanced/human_phantom/include/G4MIRDBrain.hh index 9c531630f2..c98b3ec33d 100644 --- a/examples/advanced/human_phantom/include/G4MIRDBrain.hh +++ b/examples/advanced/human_phantom/include/G4MIRDBrain.hh @@ -36,8 +36,6 @@ #include "G4VPhysicalVolume.hh" #include "G4VOrgan.hh" -//#include "Saxana/SAXProcessor.h" -///#include "Saxana/ProcessingConfigurator.h" class G4VPhysicalVolume; class G4LogicalVolume; @@ -50,9 +48,5 @@ public: ~G4MIRDBrain(); G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, const G4String&, G4bool, G4bool); - -private: - //AXProcessor sxp; - //ProcessingConfigurator config; }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDHead.hh b/examples/advanced/human_phantom/include/G4MIRDHead.hh index 7f417c8a07..fb640c9cac 100644 --- a/examples/advanced/human_phantom/include/G4MIRDHead.hh +++ b/examples/advanced/human_phantom/include/G4MIRDHead.hh @@ -36,8 +36,6 @@ #include "G4VPhysicalVolume.hh" #include "G4VOrgan.hh" -//##include "Saxana/SAXProcessor.h" -//#include "Saxana/ProcessingConfigurator.h" class G4VPhysicalVolume; class G4LogicalVolume; @@ -50,11 +48,9 @@ public: G4MIRDHead(); ~G4MIRDHead(); G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, const G4String&, - G4bool, G4bool); - + G4bool, G4bool); private: - // SAXProcessor sxp; - // ProcessingConfigurator config; - G4HumanPhantomMaterial* material; + + G4HumanPhantomMaterial* material; }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDPancreas.hh b/examples/advanced/human_phantom/include/G4MIRDPancreas.hh index 325a7d3fd9..c40f2a973a 100644 --- a/examples/advanced/human_phantom/include/G4MIRDPancreas.hh +++ b/examples/advanced/human_phantom/include/G4MIRDPancreas.hh @@ -36,8 +36,6 @@ #include "G4VPhysicalVolume.hh" #include "G4VOrgan.hh" -//#include "Saxana/SAXProcessor.h" -//#include "Saxana/ProcessingConfigurator.h" class G4VPhysicalVolume; class G4LogicalVolume; @@ -48,12 +46,7 @@ public: G4MIRDPancreas(); ~G4MIRDPancreas(); - G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, - const G4String&, G4bool, G4bool); - -private: - // SAXProcessor sxp; - // ProcessingConfigurator config; - + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDTestes.hh b/examples/advanced/human_phantom/include/G4MIRDTestes.hh index 35a2913f71..94ff096bb8 100644 --- a/examples/advanced/human_phantom/include/G4MIRDTestes.hh +++ b/examples/advanced/human_phantom/include/G4MIRDTestes.hh @@ -36,8 +36,7 @@ #include "G4VPhysicalVolume.hh" -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" +#include "G4GDMLParser.hh" class G4VPhysicalVolume; class G4LogicalVolume; @@ -51,8 +50,8 @@ public: G4VPhysicalVolume* ConstructTestes(G4VPhysicalVolume*, G4String, G4bool); private: - SAXProcessor sxp; - ProcessingConfigurator config; + + G4GDMLParser parser; }; #endif diff --git a/examples/advanced/human_phantom/include/G4ORNLFemaleBodyFactory.hh b/examples/advanced/human_phantom/include/G4ORNLFemaleBodyFactory.hh index 2063a07886..e8e3fe7617 100644 --- a/examples/advanced/human_phantom/include/G4ORNLFemaleBodyFactory.hh +++ b/examples/advanced/human_phantom/include/G4ORNLFemaleBodyFactory.hh @@ -37,9 +37,6 @@ #include "G4VBodyFactory.hh" #include "G4VPhysicalVolume.hh" -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - class G4VBodyFactory; class G4ORNLFemaleBodyFactory: public G4VBodyFactory { diff --git a/examples/advanced/human_phantom/src/G4MIRDHead.cc b/examples/advanced/human_phantom/src/G4MIRDHead.cc index 481e292f89..fa88e62acb 100644 --- a/examples/advanced/human_phantom/src/G4MIRDHead.cc +++ b/examples/advanced/human_phantom/src/G4MIRDHead.cc @@ -32,7 +32,6 @@ // design and code review. // #include "G4MIRDHead.hh" -//#include "G4Processor/GDMLProcessor.h" #include "globals.hh" #include "G4HumanPhantomMaterial.hh" #include "G4SDManager.hh" diff --git a/examples/advanced/human_phantom/src/G4MIRDHeart.cc b/examples/advanced/human_phantom/src/G4MIRDHeart.cc index c04acdeb15..7d43c62642 100644 --- a/examples/advanced/human_phantom/src/G4MIRDHeart.cc +++ b/examples/advanced/human_phantom/src/G4MIRDHeart.cc @@ -135,4 +135,5 @@ G4VPhysicalVolume* G4MIRDHeart::Construct(const G4String&,G4VPhysicalVolume*, return physHeart; */ + return 0; } diff --git a/examples/advanced/human_phantom/src/G4MIRDLiver.cc b/examples/advanced/human_phantom/src/G4MIRDLiver.cc index 7742ab894a..1ebefd355f 100644 --- a/examples/advanced/human_phantom/src/G4MIRDLiver.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLiver.cc @@ -47,17 +47,17 @@ #include "G4EllipticalTube.hh" #include "G4Box.hh" #include + G4MIRDLiver::G4MIRDLiver() { } G4MIRDLiver::~G4MIRDLiver() { - } G4VPhysicalVolume* G4MIRDLiver::Construct(const G4String&,G4VPhysicalVolume*, - const G4String&, G4bool, G4bool) + const G4String&, G4bool, G4bool) { G4cout << "MIRD Liver is not available yet !!!" << G4endl; @@ -144,4 +144,5 @@ G4VPhysicalVolume* G4MIRDLiver::Construct(const G4String&,G4VPhysicalVolume*, // G4cout << "Mass of Liver = " << LiverMass/gram << " g" << G4endl; // return physLiver; + return 0; } diff --git a/examples/advanced/human_phantom/src/G4MIRDSpleen.cc b/examples/advanced/human_phantom/src/G4MIRDSpleen.cc index 40255205a1..087dbac113 100644 --- a/examples/advanced/human_phantom/src/G4MIRDSpleen.cc +++ b/examples/advanced/human_phantom/src/G4MIRDSpleen.cc @@ -33,7 +33,6 @@ // #include "G4MIRDSpleen.hh" -#include "G4Processor/GDMLProcessor.h" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" diff --git a/examples/advanced/human_phantom/src/G4MIRDTestes.cc b/examples/advanced/human_phantom/src/G4MIRDTestes.cc index aaa6caac7e..c17db896ca 100644 --- a/examples/advanced/human_phantom/src/G4MIRDTestes.cc +++ b/examples/advanced/human_phantom/src/G4MIRDTestes.cc @@ -33,7 +33,6 @@ // #include "G4MIRDTestes.hh" -#include "G4Processor/GDMLProcessor.h" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" @@ -44,25 +43,19 @@ G4MIRDTestes::G4MIRDTestes() G4MIRDTestes::~G4MIRDTestes() { - sxp.Finalize(); } G4VPhysicalVolume* G4MIRDTestes::ConstructTestes(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) { // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/MIRDTestes.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); + parser.Read( "gdmlData/"+sex+"/MIRDTestes.gdml" ); - // Run GDML Processor - sxp.Run(); - + G4LogicalVolume* logicTestes = parser.GetVolume("TestesVolume"); - G4LogicalVolume* logicTestes = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("TestesVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("TestesPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("TestesRot"); + G4ThreeVector position = parser.GetPosition("TestesPos"); + G4ThreeVector rot = parser.GetRotation("TestesRot"); + G4RotationMatrix* rm = new G4RotationMatrix(); + rm->rotateX(rot.x()); rm->rotateY(rot.y()); rm->rotateZ(rot.z()); // Define rotation and position here! G4VPhysicalVolume* physTestes = new G4PVPlacement(rm,position, diff --git a/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc b/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc index 4e0f9eddc3..190977f389 100644 --- a/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc +++ b/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc @@ -34,19 +34,18 @@ // #include "G4ORNLFemaleBodyFactory.hh" #include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" +#include "G4GDMLParser.hh" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" #include "G4HumanPhantomColour.hh" + G4ORNLFemaleBodyFactory::G4ORNLFemaleBodyFactory() { - } G4ORNLFemaleBodyFactory::~G4ORNLFemaleBodyFactory() { - //sxp.Finalize(); } G4VPhysicalVolume* G4ORNLFemaleBodyFactory::CreateOrgan(const G4String& gdmlFile, G4VPhysicalVolume* motherVolume, @@ -54,28 +53,19 @@ G4VPhysicalVolume* G4ORNLFemaleBodyFactory::CreateOrgan(const G4String& gdmlFile G4bool sensitivity) { G4cout<< "ORNLBodyFactory: "<< "gdmlData/Female/ORNL"<< gdmlFile <<".gdml" << G4endl; - SAXProcessor sxp; - ProcessingConfigurator config; - // Initialize GDML Processor - sxp.Initialize(); - G4String name = "gdmlData/Female/ORNL"+ gdmlFile + ".gdml"; - config.SetURI(name); - G4cout << "config.SetURI(name);" << G4endl; - config.SetSetupName( "Default" ); - G4cout << "config.SetSetUpName;" << G4endl; - sxp.Configure( &config ); - G4cout << "sxp.Configure( &config );" << G4endl; - // Run GDML Processor - sxp.Run(); - G4cout << "sxp.Run();" << G4endl; + + G4GDMLParser parser; + G4String filename = "gdmlData/Female/ORNL"+ gdmlFile + ".gdml"; + parser.Read(filename); G4String logicalVolumeName = gdmlFile + "Volume"; - G4LogicalVolume* logicOrgan = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume(logicalVolumeName); + G4LogicalVolume* logicOrgan = parser.GetVolume(logicalVolumeName); + G4ThreeVector position = parser.GetPosition("OrganPos"); + G4ThreeVector rot = parser.GetRotation("OrganRot"); + G4RotationMatrix* rm = new G4RotationMatrix(); + rm->rotateX(rot.x()); rm->rotateY(rot.y()); rm->rotateZ(rot.z()); - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("OrganPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("OrganRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); + G4PhysicalVolumeStore::DeRegister(parser.GetWorldVolume()); // sxp.Finalize(); // Define rotation and position here! @@ -110,8 +100,7 @@ G4VPhysicalVolume* G4ORNLFemaleBodyFactory::CreateOrgan(const G4String& gdmlFile organVisAtt->SetForceSolid(visAttribute); logicOrgan->SetVisAttributes(organVisAtt); } - G4cout << "Organ created !!!!!! from " << name <GetLogicalVolume(logicalVolumeName); + G4cout<< "ORNLBodyFactory: "<< "gdmlData/Male/ORNL"<< gdmlFile <<".gdml" << G4endl; + G4GDMLParser parser; + G4String filename = "gdmlData/Male/ORNL"+ gdmlFile + ".gdml"; + parser.Read(filename); - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("OrganPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("OrganRot"); + G4String logicalVolumeName = gdmlFile + "Volume"; + G4LogicalVolume* logicOrgan = parser.GetVolume(logicalVolumeName); + G4ThreeVector position = parser.GetPosition("OrganPos"); + G4ThreeVector rot = parser.GetRotation("OrganRot"); + G4RotationMatrix* rm = new G4RotationMatrix(); + rm->rotateX(rot.x()); rm->rotateY(rot.y()); rm->rotateZ(rot.z()); + + G4PhysicalVolumeStore::DeRegister(parser.GetWorldVolume()); - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // sxp.Finalize(); // Define rotation and position here! G4VPhysicalVolume* physOrgan = new G4PVPlacement(rm,position, "physicalOrgan", @@ -101,10 +89,7 @@ G4VPhysicalVolume* G4ORNLMaleBodyFactory::CreateOrgan(const G4String& gdmlFile, organVisAtt->SetForceSolid(visAttribute); logicOrgan->SetVisAttributes(organVisAtt); - G4cout << "Organ created !!!!!! from " << name <SetUserInitialization(new LHEP); // LHEP - runManager->SetUserInitialization(new QGSP); // QGSP + // runManager->SetUserInitialization(new QGSP); // QGSP // runManager->SetUserInitialization(new QGSC); // QGSC + runManager->SetUserInitialization(new QGSP_BIC_EMY); // QGSP_BIC_EMY //***endLOOKHERE*** G4UIsession* session=0; diff --git a/examples/advanced/medical_linac/G4History.macro b/examples/advanced/medical_linac/G4History.macro deleted file mode 100644 index cc1e8d2b4a..0000000000 --- a/examples/advanced/medical_linac/G4History.macro +++ /dev/null @@ -1,176 +0,0 @@ -/run/verbose 2 -/run/initialize -/tracking/storeTrajectory 1 -/Phantom/dimension 15. cm -/Phantom/Nvoxels 150 -/Phantom/maxStep 0.2 mm -/PhantomSD/dimension 15. cm -/PhantomSD/Nvoxels 150 -/MLC/leaf_selection a1 -/MLC/position 0. cm -/MLC/leaf_selection a2 -/MLC/position 0. cm -/MLC/leaf_selection a3 -/MLC/position 0. cm -/MLC/leaf_selection a4 -/MLC/position 0. cm -/MLC/leaf_selection a5 -/MLC/position 0. cm -/MLC/leaf_selection a6 -/MLC/position 0. cm -/MLC/leaf_selection a7 -/MLC/position 0. cm -/MLC/leaf_selection a8 -/MLC/position 0. cm -/MLC/leaf_selection a9 -/MLC/position 0. cm -/MLC/leaf_selection a10 -/MLC/position 0. cm -/MLC/leaf_selection a11 -/MLC/position 0. cm -/MLC/leaf_selection a12 -/MLC/position 0. cm -/MLC/leaf_selection a13 -/MLC/position 0. cm -/MLC/leaf_selection a14 -/MLC/position 0. cm -/MLC/leaf_selection a15 -/MLC/position 0. cm -/MLC/leaf_selection a16 -/MLC/position 0. cm -/MLC/leaf_selection a17 -/MLC/position 2.4 cm -/MLC/leaf_selection a18 -/MLC/position 2.7 cm -/MLC/leaf_selection a19 -/MLC/position 3.5 cm -/MLC/leaf_selection a20 -/MLC/position 4.0 cm -/MLC/leaf_selection a21 -/MLC/position 4.6 cm -/MLC/leaf_selection a22 -/MLC/position 5.0 cm -/MLC/leaf_selection a23 -/MLC/position 5.8 cm -/MLC/leaf_selection a24 -/MLC/position 6.0 cm -/MLC/leaf_selection a25 -/MLC/position 5.6 cm -/MLC/leaf_selection a26 -/MLC/position 0. cm -/MLC/leaf_selection a27 -/MLC/position 0. cm -/MLC/leaf_selection a28 -/MLC/position 0. cm -/MLC/leaf_selection a29 -/MLC/position 0. cm -/MLC/leaf_selection a30 -/MLC/position 0. cm -/MLC/leaf_selection a31 -/MLC/position 0. cm -/MLC/leaf_selection a32 -/MLC/position 0. cm -/MLC/leaf_selection a33 -/MLC/position 0. cm -/MLC/leaf_selection a34 -/MLC/position 0. cm -/MLC/leaf_selection a35 -/MLC/position 0. cm -/MLC/leaf_selection a36 -/MLC/position 0. cm -/MLC/leaf_selection a37 -/MLC/position 0. cm -/MLC/leaf_selection a38 -/MLC/position 0. cm -/MLC/leaf_selection a39 -/MLC/position 0. cm -/MLC/leaf_selection a40 -/MLC/position 0. cm -/MLC/leaf_selection b1 -/MLC/position 0. cm -/MLC/leaf_selection b2 -/MLC/position 0. cm -/MLC/leaf_selection b3 -/MLC/position 0. cm -/MLC/leaf_selection b4 -/MLC/position 0. cm -/MLC/leaf_selection b5 -/MLC/position 0. cm -/MLC/leaf_selection b6 -/MLC/position 0. cm -/MLC/leaf_selection b7 -/MLC/position 0. cm -/MLC/leaf_selection b8 -/MLC/position 0. cm -/MLC/leaf_selection b9 -/MLC/position 0. cm -/MLC/leaf_selection b10 -/MLC/position 0. cm -/MLC/leaf_selection b11 -/MLC/position 0. cm -/MLC/leaf_selection b12 -/MLC/position 0. cm -/MLC/leaf_selection b13 -/MLC/position 0. cm -/MLC/leaf_selection b14 -/MLC/position 0. cm -/MLC/leaf_selection b15 -/MLC/position 0. cm -/MLC/leaf_selection b16 -/MLC/position 0. cm -/MLC/leaf_selection b17 -/MLC/position 2.3 cm -/MLC/leaf_selection b18 -/MLC/position 2.8 cm -/MLC/leaf_selection b19 -/MLC/position 3.5 cm -/MLC/leaf_selection b20 -/MLC/position 4.4 cm -/MLC/leaf_selection b21 -/MLC/position 4.7 cm -/MLC/leaf_selection b22 -/MLC/position 5.4 cm -/MLC/leaf_selection b23 -/MLC/position 5.7 cm -/MLC/leaf_selection b24 -/MLC/position 5.8 cm -/MLC/leaf_selection b25 -/MLC/position 5.4 cm -/MLC/leaf_selection b26 -/MLC/position 0. cm -/MLC/leaf_selection b27 -/MLC/position 0. cm -/MLC/leaf_selection b28 -/MLC/position 0. cm -/MLC/leaf_selection b29 -/MLC/position 0. cm -/MLC/leaf_selection b30 -/MLC/position 0. cm -/MLC/leaf_selection b31 -/MLC/position 0. cm -/MLC/leaf_selection b32 -/MLC/position 0. cm -/MLC/leaf_selection b33 -/MLC/position 0. cm -/MLC/leaf_selection b34 -/MLC/position 0. cm -/MLC/leaf_selection b35 -/MLC/position 0. cm -/MLC/leaf_selection b36 -/MLC/position 0. cm -/MLC/leaf_selection b37 -/MLC/position 0. cm -/MLC/leaf_selection b38 -/MLC/position 0. cm -/MLC/leaf_selection b39 -/MLC/position 0. cm -/MLC/leaf_selection b40 -/MLC/position 0. cm -/Jaws/X1/DistanceFromAxis -4.2 cm -/Jaws/X2/DistanceFromAxis 5.2 cm -/Jaws/Y1/DistanceFromAxis -6.6 cm -/Jaws/Y2/DistanceFromAxis 6.8 cm -/Jaws/update -/energy 6.0 MeV -/sourceType 0.127 MeV -/run/beamOn 10 diff --git a/examples/advanced/medical_linac/GNUmakefile b/examples/advanced/medical_linac/GNUmakefile index 6c05ea4eb5..58783fe447 100644 --- a/examples/advanced/medical_linac/GNUmakefile +++ b/examples/advanced/medical_linac/GNUmakefile @@ -1,11 +1,9 @@ -# -------------------------------------------------------------- -# $Id: GNUmakefile,v 1.2 2005/07/03 23:27:36 mpiergen Exp $ +# $Id: GNUmakefile,v 1.7 2009/11/17 12:55:01 cirrone Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- -name := MedLinac - +name := ml2 G4TARGET := $(name) G4EXLIB := true @@ -15,16 +13,5 @@ endif .PHONY: all all: lib bin + include $(G4INSTALL)/config/binmake.gmk - - -ifdef G4ANALYSIS_USE - CPPFLAGS += `aida-config --include` - LDFLAGS += `aida-config --lib` - LOADLIBS += `aida-config --lib` -endif - -ifdef G4STORE_DATA - CPPFLAGS += -DG4STORE_DATA -endif - diff --git a/examples/advanced/medical_linac/History b/examples/advanced/medical_linac/History index 69fa15ef18..38717fd69f 100644 --- a/examples/advanced/medical_linac/History +++ b/examples/advanced/medical_linac/History @@ -1,4 +1,4 @@ -$Id: History,v 1.19 2007/07/06 21:39:05 mpiergen Exp $ +$Id: History,v 1.27 2009/11/19 09:54:39 cirrone Exp $ ------------------------------------------------------------------- ========================================================= @@ -10,12 +10,35 @@ $Id: History,v 1.19 2007/07/06 21:39:05 mpiergen Exp $ This file should be used by G4 developers and category coordinators to briefly summarize all major modifications introduced in the code and keep track of all category-tags. -It DOES NOT substitute the CVS log-message one should put at every -committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +19.11.2009 C. Andenna, B. Caccia, G.A.P.Cirrone tag medical_linac-V09-02-05 + History corrected, changed the local environmental variables name + +18.11.2009 C. Andenna, B. Caccia, G.A.P.Cirrone tag medical_linac-V09-02-04 + updated of the include and src files, written the README_MedLinac2.txt. + +17.11.2009 C. Andenna, B. Caccia, G.A.P.Cirrone tag medical_linac-V09-02-03 + first realise of the new version of the medical linac + +18.09.2009 G.A.P.Cirrone, tag medical_linac-V09-02-02 + - Corrected a crash in the MedLinacHead.cc file class. + - Update of the physics models: deleted the old and not + more supported Lowenergy electromagnetic models and + added the possibility to activate the physics lists and the + Reference physics lists (or packages) directly + via macro command; + - Added the possibility to set cuts and max allowed step lenghts + via macro commands + +15.09.2009 G.A.P.Cirrone, tag medical_linac-V09-02-01 + GNUmakefile corrected + +06.04.2009 G.A.P.Cirrone, tag medical_linac-V09-02-00 + GNUmakefile updated + 06.07.2007 Michela Piergentili, tag medical_linac-V08-03-02 bug 880 fixed in Detector Construction diff --git a/examples/advanced/medical_linac/MedLinac.cc b/examples/advanced/medical_linac/MedLinac.cc deleted file mode 100644 index ab245b11b3..0000000000 --- a/examples/advanced/medical_linac/MedLinac.cc +++ /dev/null @@ -1,157 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: MedLinac.cc,v 1.12 2007/07/01 15:19:18 mpiergen Exp $ -// -// -------------------------------------------------------------- -// GEANT 4 - medical_linac -// -// Code developed by: M. Piergentili - -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4UImessenger.hh" -#include "Randomize.hh" - - -#include "MedLinacDetectorMessenger.hh" -#include "MedLinacDetectorConstruction.hh" -#include "MedLinacPhysicsList.hh" -#include "MedLinacPhantomSD.hh" -#include "MedLinacPhantomHit.hh" -#include "MedLinacPrimaryGeneratorAction.hh" -#include "MedLinacEventAction.hh" -#include "MedLinacRunAction.hh" -#include "MedLinacTrackingAction.hh" -#include "G4SDManager.hh" - - -#ifdef G4UI_USE_XM -#include "G4UIXm.hh" -#endif - -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - -int main(int argc ,char ** argv) -{ - -//choose the Random engine - CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); - G4int seed = 0; - CLHEP::HepRandom :: setTheSeed(seed); - - // Construct the default run manager - G4RunManager* runManager = new G4RunManager; - G4String sensitiveDetectorName = "Phantom"; - MedLinacDetectorConstruction* pDetectorConstruction = -MedLinacDetectorConstruction::GetInstance(sensitiveDetectorName); - - - // set mandatory initialization classes - runManager->SetUserInitialization(pDetectorConstruction); - runManager->SetUserInitialization(new MedLinacPhysicsList); - - -#ifdef G4VIS_USE - // Visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - - - // output environment variables: -#ifdef G4ANALYSIS_USE - G4cout << G4endl << G4endl << G4endl - << " User Environment " << G4endl - << " Using AIDA 3.0 analysis " << G4endl; -# else - G4cout << G4endl << G4endl << G4endl - << " User Environment " << G4endl - << " G4ANALYSIS_USE environment variable not set, NO ANALYSIS " - << G4endl; -#endif - - - - - G4UIsession* session = 0; - if (argc == 1) // Define UI session for interactive mode. - { - session = new G4UIterminal(); - } - - // set mandatory user action class - - runManager->SetUserAction(new MedLinacPrimaryGeneratorAction); - MedLinacEventAction *pMedLinacEventAction = new MedLinacEventAction(); - runManager->SetUserAction(pMedLinacEventAction); - - MedLinacRunAction *pRunAction = new MedLinacRunAction(); - - runManager->SetUserAction(pRunAction); - runManager->SetUserAction(new MedLinacTrackingAction); - - - // Initialize G4 kernel - //runManager->Initialize(); - - // get the pointer to the UI manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (session) // Define UI session for interactive mode. - { - G4cout<<" UI session starts ..."<< G4endl; - UI -> ApplyCommand("/control/execute macro.mac"); - session->SessionStart(); - delete session; - } - - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } - - - //job termination - -#ifdef G4VIS_USE - delete visManager; -#endif - - delete runManager; - - return 0; -} - - - diff --git a/examples/advanced/medical_linac/README b/examples/advanced/medical_linac/README deleted file mode 100644 index 6f5f673e9f..0000000000 --- a/examples/advanced/medical_linac/README +++ /dev/null @@ -1,213 +0,0 @@ -$Id: README,v 1.6 2005/11/27 13:13:59 mpiergen Exp $ -------------------------------------------------------------------- - - - ========================================================= - Geant4 - Medical Linac example - ========================================================= - - README - --------------------- - - ------------------------------------------------------------------------- -----> Introduction. - -Medical_Linac is an example of application of Geant4 in a medical physics -envinronment. It simulates energy deposit in a Phantom filled with water -for a typical linac used for intensity modulated radiation therapy. -The experimental set-up is very similar to one used in clinical practice. - ------------------------------------------------------------------------- -----> 1.Experimental set-up. - -The elements simulated are: - -1-The point source of electrons (the distribution of the electron energy - and the electron radial intensity was assumed Gaussian in shape) - (the beam is along the z axis) -2-The primary collimator -3-The target -4-The vacuum window -5-The flattening filter -6-The ion chamber -7-The mirror -8-The light field reticle -9-The secondary movable collimators (jaws) -10-The Multi Leaf Collimator -11-The phantom (filled with water) - -The objects (2) and (3) are in a box filled with vacuum. -The world volume is filled with air. -The distance between the upper surface of the target and the upper surface -of the phantom (SSD) is 100 cm. -The particles exiting from the target with an angle>25deg are killed. - ------------------------------------------------------------------------- -----> 2.Setting up the environment variables - -compiler = gcc-3.2.3 - -setenv G4SYSTEM Linux-g++ - -setenv G4INSTALL points to the installation directory of GEANT4; - -setenv G4LIB point to the compiled libraries of GEANT4; - -setenv G4WORKDIR points to the work directory; - -setenv CLHEP_BASE_DIR points to the installation directory of CHLEP; - -setenv G4LEDATA points to the low energy electromagnetic libraries - G4EMLOW2.3 - -setup for analysis: AIDA 3.2.1, PI 1.3.3 - -Users can download the analysis tools from: - -http://aida.freehep.org/ -http://www.cern.ch/PI - -#------------------------------------------ - - - Setup for Visualization - - IMPORTANT: be sure that your Geant4 installation has been done - with the proper visualization drivers; for details please see the - file geant4/source/visualization/README. - - To use the visualization drivers set the following variables in - your local environment: - - setenv G4VIS_USE_OPENGLX 1 # OpenGL visualization - setenv G4VIS_USE_DAWNFILE 1 # DAWN file - setenv G4VIS_USE_VRMLFILE 1 # VRML file - setenv G4VRMLFILE_VIEWER vrmlview # If installed - ------------------------------------------------------------------------- -----> 3.How to run the example. - -- batch mode: - -OpenGL visualization: - $G4WORDIR/bin/Linux-g++/MedLinac vis.mac - -or DAWN file: - $G4WORDIR/bin/Linux-g++/MedLinac dawnvis.mac - -or VRML file: - $G4WORDIR/bin/Linux-g++/MedLinac vrmlvis.mac - -or without visualization: - $G4WORDIR/bin/Linux-g++/MedLinac macro.mac - -- Interative mode: - 3) $G4WORDIR/bin/Linux-g++/MedLinac - --->possible different configurations for interactive mode: - -The user can select the cut of the physics processes: -/PhysicsList/cut 0.2 mm - -The user can select the dimension of the water phantom and the dimension of the phantom's voxels in the detector -construction: -/Phantom/dimension 15. cm -/Phantom/Nvoxels 150/Phantom/maxStep 0.2 mm - -and in the definition of the sensitive detector: -/PhantomSD/dimension 15. cm -/PhantomSD/Nvoxels 150 - -The user can select the max step defined in the detector construction: -/Phantom/maxStep 0.2 mm - - -The user can select the position of the secondary collimators (the jaws) -to obtain the desired field at isocenter: -idle>/Jaws/X1/DistanceFromAxis -20. cm -idle>/Jaws/X2/DistanceFromAxis 20. cm -idle>/Jaws/Y1/DistanceFromAxis -20. cm -idle>/Jaws/Y2/DistanceFromAxis 20. cm -idle>/Jaws/update - -The user can select the position of every single leaf of the Multi-Leaf Collimator, for example: -Idle> /MLC/leaf_selection a1 -Idle> /MLC/position 0. cm -Idle> /MLC/leaf_selection a2 -Idle> /MLC/position 0. cm -.. -.. -.. -Idle> /MLC/leaf_selection b39 -Idle> /MLC/position 0. cm -Idle> /MLC/leaf_selection b40 -Idle> /MLC/position 0. cm - -The distance selected represent the distance between the leaf tip and the beam axis projected at isocenter. - - - -The user can select the mean energy ad the standard deviation of the electrons: -idle>/energy 6.0 MeV -idle>/sourceType 0.127 MeV - -idle>/run/beamOn [NumberOfEvents] ...and then -idle>exit - ------------------------------------------------------------------------ -----> 4. The physics - -The electromagnetic physic uses the LowEnergy library, -specifically provided from GEANT4 to treat low energy processes. -The default cut in range value is 0.1 mm, a bigger cut is associated to the first collimator. - ------------------------------------------------------------------------- -----> 5. Simulation output - - The analysis part of Medical_Linac is based on the AIDA interfaces and their - implementation in Anaphe - The actual analysis produces some histograms; the histograms are saved at - the end of the run in the file "medlinac.hbk". - - It contains: - 1) 2Dhistogram with the distribution of energy in the phantom (plane xz) - 2) 1Dhistogram with the primary particle energy - - 3) 2Dhistogram with the distribution of energy )at a depth in the phantom - of 15 mm (ZThickness = 1. cm ) - - 4) 1Dhistogram with the distribution of energy along the z axis - (Y and X Thickness = 5. mm), from which the user can calculate the PDD - - 5) 1Dhistogram with the distribution of energy along the x axis - (Y and Z Thickness = 5. mm) at a depth in the phantom of 15 mm, - from which the user can calculate the flatness - - 6) 1Dhistogram with the distribution of energy along the x axis - (Y and Z Thickness = 5. mm) at a depth in the phantom of 50 mm, - from which the user can calculate the flatness - - 7) 1Dhistogram with the distribution of energy along the x axis - (Y and Z Thickness = 5. mm) at a depth in the phantom of 100 mm, - from which the user can calculate the flatness - - 8) 1Dhistogram with the distribution of energy along the x axis - (Y and Z Thickness = 5. mm) at a depth in the phantom of 200 mm, - from which the user can calculate the flatness - - Units: the energy deposit is in MeV; - x, y, z in mm for histograms - - To fill histograms from (4) to (8) I suggest you to select NumberOfEvents>500000 - - Please note that in a multiple run session, the last run always override the - hbook file. - - To use analisys remember to set G4ANALYSIS_USE. - --------------------------------------------------------------------------- - -for comments, advices, doubts and questions: Michela.Piergentili@ge.infn.it - -last modified: Michela Piergentili 24/11/2005 - - diff --git a/examples/advanced/medical_linac/README_MedLinac2.txt b/examples/advanced/medical_linac/README_MedLinac2.txt new file mode 100755 index 0000000000..9e8ec3baaf --- /dev/null +++ b/examples/advanced/medical_linac/README_MedLinac2.txt @@ -0,0 +1,109 @@ ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| MedLinac2 | ++ + +| README | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +The MedLinac2 advanced example (ML2) is a renewed version of the MedLinac advanced example developed by Michela Piergentili with the support of M.G.Pia and Franca Foppiano in 2004. + + +This application has been developed by the Geant4 users: +^Claudio Andenna,*Barbara Caccia with the support of Pablo Cirrone (LNS-INFN Catania, Italy). + +^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +*Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +Viale Regina Elena 299, 00161 Roma (Italy) +tel (39) 06 49902246 +fax (39) 06 49387075 + + +---> A brief description + +The example is based on a typical structure of a medical linear accelerator for Intensity Modulated Radiation Therapy (IMRT), such as Varian Clinac 2100 accelerator. +The user may choice a cubic phantom filled with water or a phantom filled with an equivalent lung-tissue with a inhomogeneity (a 6 cm sided PMMA cube) located in the centre of the phantom. +Two type of particle sources may be chosen, a random generator of electrons gun shooting the target or particles loaded from a phase space. +The program allows the generation of a plane phase space. However since the mother volume of this plane phase space is the accelerator volume it can be positioned only inside the accelerator main volume. + +----> 1.Experimental set-up. + +The elements simulated are: + +1-A source of electrons (the distribution of the electron energy and the electron radial intensity was assumed Gaussian in direction and energy). The beam direction is along the z axis. +2-A target +3-A primary collimator +4-A vacuum window +5-A flattening filter +6-A ion chamber +7-A mirror +8-A light field reticle +9-Secondary movable collimators (jaws) +10-A simple Multi Leaf Collimator +11-Phantom1 ("fullWater") filled with water (cube of 60 cm sided) +12-Phantom2 ("BoxInBox") filled with G4_ICRP lung tissue (cube of 30 cm sided) with a inhomogeneity (PMMA 6 cm sided cube) in the centre and a PLEXIGLASS slab 1 cm thick on the surface of the phantom. + +The distance between the target and the surface of the phantom (SSD) is 100 cm. + + +----> 2.Setting up the environment variables + +The program uses two environmental variables called "ML2FILEIN" and "ML2FILEOUT" for the input and output files respectively. +If these environmental variables are not set the program works on the current directory + +----> 3.How to run the example. + +The example runs with the ml2.mac macro file. +This file contains some setup information and in particular the name of other two macro files ("phan1.mac" and "acc1.mac") describing the chosen phantom and accelerator. + +Inside the ml2.mac file there is a flag "/OnlyVisio" that has to be set "true" to switch on the visualization mode calling the "vis.mac" file ("false" for the modality without visualization). + +The example needs as input data the macro file (like "ml2.mac") and a seed number. +The string the command +$G4WORKDIR/bin/Linux-g++/ml2 +is equivalent to +$G4WORKDIR/bin/Linux-g++/ml2 ml2.mac 1 +while the string +$G4WORKDIR/bin/Linux-g++/ml2 user_macro_file +is equivalent to +$G4WORKDIR/bin/Linux-g++/ml2 user_macro_file 1 + +----------------------------------------------------------------------- +----> 4. The physics + +The ML2Physicslist class allows the activation of all the physic models either using the physics lists +or the physics package lists. The standard electromagnetic option3 model is the default model. + +------------------------------------------------------------------------ +----> 5. Simulation output + +The output of the ML2 example is: + +1) A phase space file containing the data of the particles hitting the plane phase space. +The file contains: +a progressive number, position, direction, kinetic energy, PDGE code of the particle, PDGE code of the primary particle, progressive number of the primary particle generating the event in the phase space + + +2) An output file written in matlab format generated from an experimental data file (if provided). +The file contains: +position of the voxels and experimental dose values as given in the experimental data file, +cumulative dose, cumulative square dose, number of events in the voxels, cumulative dose normalized to the experimental data (if provided), cumulative square dose normalized to the experimental data (if provided) + +3) An output file containing the ROG results. +The file contains: +name of the physical volume, position, indexes of the voxel according to the voxelization of the ROG, cumulative dose, cumulative square dose, number of events in the voxel + + +Contacts + +If you have any questions or wish to notify of updates and/or modification +please contact: + +Barbara Caccia at barbara.caccia@iss.it + +Claudio Andenna at claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it + + +Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +Viale Regina Elena 299, 00161 Roma (Italy) +tel (39) 06 49902246 +fax (39) 06 49387075 + diff --git a/examples/advanced/medical_linac/acc1.mac b/examples/advanced/medical_linac/acc1.mac new file mode 100755 index 0000000000..74e0c0a5c5 --- /dev/null +++ b/examples/advanced/medical_linac/acc1.mac @@ -0,0 +1,29 @@ +/accelerator/idEnergy 6 +/accelerator/aperture1X -150 mm +/accelerator/aperture2X 150 mm +/accelerator/aperture1Y -150 mm +/accelerator/aperture2Y 150 mm +/accelerator/SSD 1000 mm + +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 +/accelerator/leavesA 300 + +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 +/accelerator/leavesB 400 + diff --git a/examples/advanced/medical_linac/dawnvis.mac b/examples/advanced/medical_linac/dawnvis.mac deleted file mode 100644 index 212794a6b6..0000000000 --- a/examples/advanced/medical_linac/dawnvis.mac +++ /dev/null @@ -1,199 +0,0 @@ -/PhysicsList/cut 0.2 mm -/control/verbose 1 -/control/saveHistory -/run/verbose 2 -/vis/scene/create -/vis/open DAWNFILE -/vis/viewer/flush -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 1.4 -/vis/scene/endOfEventAction accumulate -/vis/viewer/update - -/run/initialize -/tracking/storeTrajectory 1 - -/Phantom/dimension 15. cm -/Phantom/Nvoxels 150 -/Phantom/maxStep 0.2 mm - -/PhantomSD/dimension 15. cm -/PhantomSD/Nvoxels 150 - -# Multi Leaf - - -/MLC/leaf_selection a1 -/MLC/position 0. cm -/MLC/leaf_selection a2 -/MLC/position 0. cm -/MLC/leaf_selection a3 -/MLC/position 0. cm -/MLC/leaf_selection a4 -/MLC/position 0. cm -/MLC/leaf_selection a5 -/MLC/position 0. cm -/MLC/leaf_selection a6 -/MLC/position 0. cm -/MLC/leaf_selection a7 -/MLC/position 0. cm -/MLC/leaf_selection a8 -/MLC/position 0. cm -/MLC/leaf_selection a9 -/MLC/position 0. cm -/MLC/leaf_selection a10 -/MLC/position 0. cm -/MLC/leaf_selection a11 -/MLC/position 0. cm -/MLC/leaf_selection a12 -/MLC/position 0. cm -/MLC/leaf_selection a13 -/MLC/position 0. cm -/MLC/leaf_selection a14 -/MLC/position 0. cm -/MLC/leaf_selection a15 -/MLC/position 0. cm -/MLC/leaf_selection a16 -/MLC/position 0. cm -/MLC/leaf_selection a17 -/MLC/position 2.4 cm -/MLC/leaf_selection a18 -/MLC/position 2.7 cm -/MLC/leaf_selection a19 -/MLC/position 3.5 cm -/MLC/leaf_selection a20 -/MLC/position 4.0 cm -/MLC/leaf_selection a21 -/MLC/position 4.6 cm -/MLC/leaf_selection a22 -/MLC/position 5.0 cm -/MLC/leaf_selection a23 -/MLC/position 5.8 cm -/MLC/leaf_selection a24 -/MLC/position 6.0 cm -/MLC/leaf_selection a25 -/MLC/position 5.6 cm -/MLC/leaf_selection a26 -/MLC/position 0. cm -/MLC/leaf_selection a27 -/MLC/position 0. cm -/MLC/leaf_selection a28 -/MLC/position 0. cm -/MLC/leaf_selection a29 -/MLC/position 0. cm -/MLC/leaf_selection a30 -/MLC/position 0. cm -/MLC/leaf_selection a31 -/MLC/position 0. cm -/MLC/leaf_selection a32 -/MLC/position 0. cm -/MLC/leaf_selection a33 -/MLC/position 0. cm -/MLC/leaf_selection a34 -/MLC/position 0. cm -/MLC/leaf_selection a35 -/MLC/position 0. cm -/MLC/leaf_selection a36 -/MLC/position 0. cm -/MLC/leaf_selection a37 -/MLC/position 0. cm -/MLC/leaf_selection a38 -/MLC/position 0. cm -/MLC/leaf_selection a39 -/MLC/position 0. cm -/MLC/leaf_selection a40 -/MLC/position 0. cm - - -/MLC/leaf_selection b1 -/MLC/position 0. cm -/MLC/leaf_selection b2 -/MLC/position 0. cm -/MLC/leaf_selection b3 -/MLC/position 0. cm -/MLC/leaf_selection b4 -/MLC/position 0. cm -/MLC/leaf_selection b5 -/MLC/position 0. cm -/MLC/leaf_selection b6 -/MLC/position 0. cm -/MLC/leaf_selection b7 -/MLC/position 0. cm -/MLC/leaf_selection b8 -/MLC/position 0. cm -/MLC/leaf_selection b9 -/MLC/position 0. cm -/MLC/leaf_selection b10 -/MLC/position 0. cm -/MLC/leaf_selection b11 -/MLC/position 0. cm -/MLC/leaf_selection b12 -/MLC/position 0. cm -/MLC/leaf_selection b13 -/MLC/position 0. cm -/MLC/leaf_selection b14 -/MLC/position 0. cm -/MLC/leaf_selection b15 -/MLC/position 0. cm -/MLC/leaf_selection b16 -/MLC/position 0. cm -/MLC/leaf_selection b17 -/MLC/position 2.3 cm -/MLC/leaf_selection b18 -/MLC/position 2.8 cm -/MLC/leaf_selection b19 -/MLC/position 3.5 cm -/MLC/leaf_selection b20 -/MLC/position 4.4 cm -/MLC/leaf_selection b21 -/MLC/position 4.7 cm -/MLC/leaf_selection b22 -/MLC/position 5.4 cm -/MLC/leaf_selection b23 -/MLC/position 5.7 cm -/MLC/leaf_selection b24 -/MLC/position 5.8 cm -/MLC/leaf_selection b25 -/MLC/position 5.4 cm -/MLC/leaf_selection b26 -/MLC/position 0. cm -/MLC/leaf_selection b27 -/MLC/position 0. cm -/MLC/leaf_selection b28 -/MLC/position 0. cm -/MLC/leaf_selection b29 -/MLC/position 0. cm -/MLC/leaf_selection b30 -/MLC/position 0. cm -/MLC/leaf_selection b31 -/MLC/position 0. cm -/MLC/leaf_selection b32 -/MLC/position 0. cm -/MLC/leaf_selection b33 -/MLC/position 0. cm -/MLC/leaf_selection b34 -/MLC/position 0. cm -/MLC/leaf_selection b35 -/MLC/position 0. cm -/MLC/leaf_selection b36 -/MLC/position 0. cm -/MLC/leaf_selection b37 -/MLC/position 0. cm -/MLC/leaf_selection b38 -/MLC/position 0. cm -/MLC/leaf_selection b39 -/MLC/position 0. cm -/MLC/leaf_selection b40 -/MLC/position 0. cm - - - -/Jaws/X1/DistanceFromAxis -4.2 cm -/Jaws/X2/DistanceFromAxis 5.2 cm -/Jaws/Y1/DistanceFromAxis -6.6 cm -/Jaws/Y2/DistanceFromAxis 6.8 cm -/Jaws/update - -/energy 6.0 MeV -/sourceType 0.127 MeV -/run/beamOn 1000 diff --git a/examples/advanced/medical_linac/fileIn/VoxelsTest.txt b/examples/advanced/medical_linac/fileIn/VoxelsTest.txt new file mode 100755 index 0000000000..bf3495ac23 --- /dev/null +++ b/examples/advanced/medical_linac/fileIn/VoxelsTest.txt @@ -0,0 +1,608 @@ +6 MeV campo generico +Start +2 +1 301 1 +301 602 1 +x y z dx dy dz dose +(0, 0, -300) (5, 5 , 0.5) 0 +(0, 0, -299) (5, 5 , 0.5) 0 +(0, 0, -298) (5, 5 , 0.5) 0 +(0, 0, -297) (5, 5 , 0.5) 0 +(0, 0, -296) (5, 5 , 0.5) 0 +(0, 0, -295) (5, 5 , 0.5) 0 +(0, 0, -294) (5, 5 , 0.5) 0 +(0, 0, -293) (5, 5 , 0.5) 0 +(0, 0, -292) (5, 5 , 0.5) 0 +(0, 0, -291) (5, 5 , 0.5) 0 +(0, 0, -290) (5, 5 , 0.5) 0 +(0, 0, -289) (5, 5 , 0.5) 0 +(0, 0, -288) (5, 5 , 0.5) 0 +(0, 0, -287) (5, 5 , 0.5) 0 +(0, 0, -286) (5, 5 , 0.5) 0 +(0, 0, -285) (5, 5 , 0.5) 0 +(0, 0, -284) (5, 5 , 0.5) 0 +(0, 0, -283) (5, 5 , 0.5) 0 +(0, 0, -282) (5, 5 , 0.5) 0 +(0, 0, -281) (5, 5 , 0.5) 0 +(0, 0, -280) (5, 5 , 0.5) 0 +(0, 0, -279) (5, 5 , 0.5) 0 +(0, 0, -278) (5, 5 , 0.5) 0 +(0, 0, -277) (5, 5 , 0.5) 0 +(0, 0, -276) (5, 5 , 0.5) 0 +(0, 0, -275) (5, 5 , 0.5) 0 +(0, 0, -274) (5, 5 , 0.5) 0 +(0, 0, -273) (5, 5 , 0.5) 0 +(0, 0, -272) (5, 5 , 0.5) 0 +(0, 0, -271) (5, 5 , 0.5) 0 +(0, 0, -270) (5, 5 , 0.5) 0 +(0, 0, -269) (5, 5 , 0.5) 0 +(0, 0, -268) (5, 5 , 0.5) 0 +(0, 0, -267) (5, 5 , 0.5) 0 +(0, 0, -266) (5, 5 , 0.5) 0 +(0, 0, -265) (5, 5 , 0.5) 0 +(0, 0, -264) (5, 5 , 0.5) 0 +(0, 0, -263) (5, 5 , 0.5) 0 +(0, 0, -262) (5, 5 , 0.5) 0 +(0, 0, -261) (5, 5 , 0.5) 0 +(0, 0, -260) (5, 5 , 0.5) 0 +(0, 0, -259) (5, 5 , 0.5) 0 +(0, 0, -258) (5, 5 , 0.5) 0 +(0, 0, -257) (5, 5 , 0.5) 0 +(0, 0, -256) (5, 5 , 0.5) 0 +(0, 0, -255) (5, 5 , 0.5) 0 +(0, 0, -254) (5, 5 , 0.5) 0 +(0, 0, -253) (5, 5 , 0.5) 0 +(0, 0, -252) (5, 5 , 0.5) 0 +(0, 0, -251) (5, 5 , 0.5) 0 +(0, 0, -250) (5, 5 , 0.5) 0 +(0, 0, -249) (5, 5 , 0.5) 0 +(0, 0, -248) (5, 5 , 0.5) 0 +(0, 0, -247) (5, 5 , 0.5) 0 +(0, 0, -246) (5, 5 , 0.5) 0 +(0, 0, -245) (5, 5 , 0.5) 0 +(0, 0, -244) (5, 5 , 0.5) 0 +(0, 0, -243) (5, 5 , 0.5) 0 +(0, 0, -242) (5, 5 , 0.5) 0 +(0, 0, -241) (5, 5 , 0.5) 0 +(0, 0, -240) (5, 5 , 0.5) 0 +(0, 0, -239) (5, 5 , 0.5) 0 +(0, 0, -238) (5, 5 , 0.5) 0 +(0, 0, -237) (5, 5 , 0.5) 0 +(0, 0, -236) (5, 5 , 0.5) 0 +(0, 0, -235) (5, 5 , 0.5) 0 +(0, 0, -234) (5, 5 , 0.5) 0 +(0, 0, -233) (5, 5 , 0.5) 0 +(0, 0, -232) (5, 5 , 0.5) 0 +(0, 0, -231) (5, 5 , 0.5) 0 +(0, 0, -230) (5, 5 , 0.5) 0 +(0, 0, -229) (5, 5 , 0.5) 0 +(0, 0, -228) (5, 5 , 0.5) 0 +(0, 0, -227) (5, 5 , 0.5) 0 +(0, 0, -226) (5, 5 , 0.5) 0 +(0, 0, -225) (5, 5 , 0.5) 0 +(0, 0, -224) (5, 5 , 0.5) 0 +(0, 0, -223) (5, 5 , 0.5) 0 +(0, 0, -222) (5, 5 , 0.5) 0 +(0, 0, -221) (5, 5 , 0.5) 0 +(0, 0, -220) (5, 5 , 0.5) 0 +(0, 0, -219) (5, 5 , 0.5) 0 +(0, 0, -218) (5, 5 , 0.5) 0 +(0, 0, -217) (5, 5 , 0.5) 0 +(0, 0, -216) (5, 5 , 0.5) 0 +(0, 0, -215) (5, 5 , 0.5) 0 +(0, 0, -214) (5, 5 , 0.5) 0 +(0, 0, -213) (5, 5 , 0.5) 0 +(0, 0, -212) (5, 5 , 0.5) 0 +(0, 0, -211) (5, 5 , 0.5) 0 +(0, 0, -210) (5, 5 , 0.5) 0 +(0, 0, -209) (5, 5 , 0.5) 0 +(0, 0, -208) (5, 5 , 0.5) 0 +(0, 0, -207) (5, 5 , 0.5) 0 +(0, 0, -206) (5, 5 , 0.5) 0 +(0, 0, -205) (5, 5 , 0.5) 0 +(0, 0, -204) (5, 5 , 0.5) 0 +(0, 0, -203) (5, 5 , 0.5) 0 +(0, 0, -202) (5, 5 , 0.5) 0 +(0, 0, -201) (5, 5 , 0.5) 0 +(0, 0, -200) (5, 5 , 0.5) 0 +(0, 0, -199) (5, 5 , 0.5) 0 +(0, 0, -198) (5, 5 , 0.5) 0 +(0, 0, -197) (5, 5 , 0.5) 0 +(0, 0, -196) (5, 5 , 0.5) 0 +(0, 0, -195) (5, 5 , 0.5) 0 +(0, 0, -194) (5, 5 , 0.5) 0 +(0, 0, -193) (5, 5 , 0.5) 0 +(0, 0, -192) (5, 5 , 0.5) 0 +(0, 0, -191) (5, 5 , 0.5) 0 +(0, 0, -190) (5, 5 , 0.5) 0 +(0, 0, -189) (5, 5 , 0.5) 0 +(0, 0, -188) (5, 5 , 0.5) 0 +(0, 0, -187) (5, 5 , 0.5) 0 +(0, 0, -186) (5, 5 , 0.5) 0 +(0, 0, -185) (5, 5 , 0.5) 0 +(0, 0, -184) (5, 5 , 0.5) 0 +(0, 0, -183) (5, 5 , 0.5) 0 +(0, 0, -182) (5, 5 , 0.5) 0 +(0, 0, -181) (5, 5 , 0.5) 0 +(0, 0, -180) (5, 5 , 0.5) 0 +(0, 0, -179) (5, 5 , 0.5) 0 +(0, 0, -178) (5, 5 , 0.5) 0 +(0, 0, -177) (5, 5 , 0.5) 0 +(0, 0, -176) (5, 5 , 0.5) 0 +(0, 0, -175) (5, 5 , 0.5) 0 +(0, 0, -174) (5, 5 , 0.5) 0 +(0, 0, -173) (5, 5 , 0.5) 0 +(0, 0, -172) (5, 5 , 0.5) 0 +(0, 0, -171) (5, 5 , 0.5) 0 +(0, 0, -170) (5, 5 , 0.5) 0 +(0, 0, -169) (5, 5 , 0.5) 0 +(0, 0, -168) (5, 5 , 0.5) 0 +(0, 0, -167) (5, 5 , 0.5) 0 +(0, 0, -166) (5, 5 , 0.5) 0 +(0, 0, -165) (5, 5 , 0.5) 0 +(0, 0, -164) (5, 5 , 0.5) 0 +(0, 0, -163) (5, 5 , 0.5) 0 +(0, 0, -162) (5, 5 , 0.5) 0 +(0, 0, -161) (5, 5 , 0.5) 0 +(0, 0, -160) (5, 5 , 0.5) 0 +(0, 0, -159) (5, 5 , 0.5) 0 +(0, 0, -158) (5, 5 , 0.5) 0 +(0, 0, -157) (5, 5 , 0.5) 0 +(0, 0, -156) (5, 5 , 0.5) 0 +(0, 0, -155) (5, 5 , 0.5) 0 +(0, 0, -154) (5, 5 , 0.5) 0 +(0, 0, -153) (5, 5 , 0.5) 0 +(0, 0, -152) (5, 5 , 0.5) 0 +(0, 0, -151) (5, 5 , 0.5) 0 +(0, 0, -150) (5, 5 , 0.5) 0 +(0, 0, -149) (5, 5 , 0.5) 0 +(0, 0, -148) (5, 5 , 0.5) 0 +(0, 0, -147) (5, 5 , 0.5) 0 +(0, 0, -146) (5, 5 , 0.5) 0 +(0, 0, -145) (5, 5 , 0.5) 0 +(0, 0, -144) (5, 5 , 0.5) 0 +(0, 0, -143) (5, 5 , 0.5) 0 +(0, 0, -142) (5, 5 , 0.5) 0 +(0, 0, -141) (5, 5 , 0.5) 0 +(0, 0, -140) (5, 5 , 0.5) 0 +(0, 0, -139) (5, 5 , 0.5) 0 +(0, 0, -138) (5, 5 , 0.5) 0 +(0, 0, -137) (5, 5 , 0.5) 0 +(0, 0, -136) (5, 5 , 0.5) 0 +(0, 0, -135) (5, 5 , 0.5) 0 +(0, 0, -134) (5, 5 , 0.5) 0 +(0, 0, -133) (5, 5 , 0.5) 0 +(0, 0, -132) (5, 5 , 0.5) 0 +(0, 0, -131) (5, 5 , 0.5) 0 +(0, 0, -130) (5, 5 , 0.5) 0 +(0, 0, -129) (5, 5 , 0.5) 0 +(0, 0, -128) (5, 5 , 0.5) 0 +(0, 0, -127) (5, 5 , 0.5) 0 +(0, 0, -126) (5, 5 , 0.5) 0 +(0, 0, -125) (5, 5 , 0.5) 0 +(0, 0, -124) (5, 5 , 0.5) 0 +(0, 0, -123) (5, 5 , 0.5) 0 +(0, 0, -122) (5, 5 , 0.5) 0 +(0, 0, -121) (5, 5 , 0.5) 0 +(0, 0, -120) (5, 5 , 0.5) 0 +(0, 0, -119) (5, 5 , 0.5) 0 +(0, 0, -118) (5, 5 , 0.5) 0 +(0, 0, -117) (5, 5 , 0.5) 0 +(0, 0, -116) (5, 5 , 0.5) 0 +(0, 0, -115) (5, 5 , 0.5) 0 +(0, 0, -114) (5, 5 , 0.5) 0 +(0, 0, -113) (5, 5 , 0.5) 0 +(0, 0, -112) (5, 5 , 0.5) 0 +(0, 0, -111) (5, 5 , 0.5) 0 +(0, 0, -110) (5, 5 , 0.5) 0 +(0, 0, -109) (5, 5 , 0.5) 0 +(0, 0, -108) (5, 5 , 0.5) 0 +(0, 0, -107) (5, 5 , 0.5) 0 +(0, 0, -106) (5, 5 , 0.5) 0 +(0, 0, -105) (5, 5 , 0.5) 0 +(0, 0, -104) (5, 5 , 0.5) 0 +(0, 0, -103) (5, 5 , 0.5) 0 +(0, 0, -102) (5, 5 , 0.5) 0 +(0, 0, -101) (5, 5 , 0.5) 0 +(0, 0, -100) (5, 5 , 0.5) 0 +(0, 0, -99) (5, 5 , 0.5) 0 +(0, 0, -98) (5, 5 , 0.5) 0 +(0, 0, -97) (5, 5 , 0.5) 0 +(0, 0, -96) (5, 5 , 0.5) 0 +(0, 0, -95) (5, 5 , 0.5) 0 +(0, 0, -94) (5, 5 , 0.5) 0 +(0, 0, -93) (5, 5 , 0.5) 0 +(0, 0, -92) (5, 5 , 0.5) 0 +(0, 0, -91) (5, 5 , 0.5) 0 +(0, 0, -90) (5, 5 , 0.5) 0 +(0, 0, -89) (5, 5 , 0.5) 0 +(0, 0, -88) (5, 5 , 0.5) 0 +(0, 0, -87) (5, 5 , 0.5) 0 +(0, 0, -86) (5, 5 , 0.5) 0 +(0, 0, -85) (5, 5 , 0.5) 0 +(0, 0, -84) (5, 5 , 0.5) 0 +(0, 0, -83) (5, 5 , 0.5) 0 +(0, 0, -82) (5, 5 , 0.5) 0 +(0, 0, -81) (5, 5 , 0.5) 0 +(0, 0, -80) (5, 5 , 0.5) 0 +(0, 0, -79) (5, 5 , 0.5) 0 +(0, 0, -78) (5, 5 , 0.5) 0 +(0, 0, -77) (5, 5 , 0.5) 0 +(0, 0, -76) (5, 5 , 0.5) 0 +(0, 0, -75) (5, 5 , 0.5) 0 +(0, 0, -74) (5, 5 , 0.5) 0 +(0, 0, -73) (5, 5 , 0.5) 0 +(0, 0, -72) (5, 5 , 0.5) 0 +(0, 0, -71) (5, 5 , 0.5) 0 +(0, 0, -70) (5, 5 , 0.5) 0 +(0, 0, -69) (5, 5 , 0.5) 0 +(0, 0, -68) (5, 5 , 0.5) 0 +(0, 0, -67) (5, 5 , 0.5) 0 +(0, 0, -66) (5, 5 , 0.5) 0 +(0, 0, -65) (5, 5 , 0.5) 0 +(0, 0, -64) (5, 5 , 0.5) 0 +(0, 0, -63) (5, 5 , 0.5) 0 +(0, 0, -62) (5, 5 , 0.5) 0 +(0, 0, -61) (5, 5 , 0.5) 0 +(0, 0, -60) (5, 5 , 0.5) 0 +(0, 0, -59) (5, 5 , 0.5) 0 +(0, 0, -58) (5, 5 , 0.5) 0 +(0, 0, -57) (5, 5 , 0.5) 0 +(0, 0, -56) (5, 5 , 0.5) 0 +(0, 0, -55) (5, 5 , 0.5) 0 +(0, 0, -54) (5, 5 , 0.5) 0 +(0, 0, -53) (5, 5 , 0.5) 0 +(0, 0, -52) (5, 5 , 0.5) 0 +(0, 0, -51) (5, 5 , 0.5) 0 +(0, 0, -50) (5, 5 , 0.5) 0 +(0, 0, -49) (5, 5 , 0.5) 0 +(0, 0, -48) (5, 5 , 0.5) 0 +(0, 0, -47) (5, 5 , 0.5) 0 +(0, 0, -46) (5, 5 , 0.5) 0 +(0, 0, -45) (5, 5 , 0.5) 0 +(0, 0, -44) (5, 5 , 0.5) 0 +(0, 0, -43) (5, 5 , 0.5) 0 +(0, 0, -42) (5, 5 , 0.5) 0 +(0, 0, -41) (5, 5 , 0.5) 0 +(0, 0, -40) (5, 5 , 0.5) 0 +(0, 0, -39) (5, 5 , 0.5) 0 +(0, 0, -38) (5, 5 , 0.5) 0 +(0, 0, -37) (5, 5 , 0.5) 0 +(0, 0, -36) (5, 5 , 0.5) 0 +(0, 0, -35) (5, 5 , 0.5) 0 +(0, 0, -34) (5, 5 , 0.5) 0 +(0, 0, -33) (5, 5 , 0.5) 0 +(0, 0, -32) (5, 5 , 0.5) 0 +(0, 0, -31) (5, 5 , 0.5) 0 +(0, 0, -30) (5, 5 , 0.5) 0 +(0, 0, -29) (5, 5 , 0.5) 0 +(0, 0, -28) (5, 5 , 0.5) 0 +(0, 0, -27) (5, 5 , 0.5) 0 +(0, 0, -26) (5, 5 , 0.5) 0 +(0, 0, -25) (5, 5 , 0.5) 0 +(0, 0, -24) (5, 5 , 0.5) 0 +(0, 0, -23) (5, 5 , 0.5) 0 +(0, 0, -22) (5, 5 , 0.5) 0 +(0, 0, -21) (5, 5 , 0.5) 0 +(0, 0, -20) (5, 5 , 0.5) 0 +(0, 0, -19) (5, 5 , 0.5) 0 +(0, 0, -18) (5, 5 , 0.5) 0 +(0, 0, -17) (5, 5 , 0.5) 0 +(0, 0, -16) (5, 5 , 0.5) 0 +(0, 0, -15) (5, 5 , 0.5) 0 +(0, 0, -14) (5, 5 , 0.5) 0 +(0, 0, -13) (5, 5 , 0.5) 0 +(0, 0, -12) (5, 5 , 0.5) 0 +(0, 0, -11) (5, 5 , 0.5) 0 +(0, 0, -10) (5, 5 , 0.5) 0 +(0, 0, -9) (5, 5 , 0.5) 0 +(0, 0, -8) (5, 5 , 0.5) 0 +(0, 0, -7) (5, 5 , 0.5) 0 +(0, 0, -6) (5, 5 , 0.5) 0 +(0, 0, -5) (5, 5 , 0.5) 0 +(0, 0, -4) (5, 5 , 0.5) 0 +(0, 0, -3) (5, 5 , 0.5) 0 +(0, 0, -2) (5, 5 , 0.5) 0 +(0, 0, -1) (5, 5 , 0.5) 0 +(0, 0, 0) (5, 5 , 0.5) 0 +(-150, 0, -150) (1, 5 , 5) 0 +(-149, 0, -150) (1, 5 , 5) 0 +(-148, 0, -150) (1, 5 , 5) 0 +(-147, 0, -150) (1, 5 , 5) 0 +(-146, 0, -150) (1, 5 , 5) 0 +(-145, 0, -150) (1, 5 , 5) 0 +(-144, 0, -150) (1, 5 , 5) 0 +(-143, 0, -150) (1, 5 , 5) 0 +(-142, 0, -150) (1, 5 , 5) 0 +(-141, 0, -150) (1, 5 , 5) 0 +(-140, 0, -150) (1, 5 , 5) 0 +(-139, 0, -150) (1, 5 , 5) 0 +(-138, 0, -150) (1, 5 , 5) 0 +(-137, 0, -150) (1, 5 , 5) 0 +(-136, 0, -150) (1, 5 , 5) 0 +(-135, 0, -150) (1, 5 , 5) 0 +(-134, 0, -150) (1, 5 , 5) 0 +(-133, 0, -150) (1, 5 , 5) 0 +(-132, 0, -150) (1, 5 , 5) 0 +(-131, 0, -150) (1, 5 , 5) 0 +(-130, 0, -150) (1, 5 , 5) 0 +(-129, 0, -150) (1, 5 , 5) 0 +(-128, 0, -150) (1, 5 , 5) 0 +(-127, 0, -150) (1, 5 , 5) 0 +(-126, 0, -150) (1, 5 , 5) 0 +(-125, 0, -150) (1, 5 , 5) 0 +(-124, 0, -150) (1, 5 , 5) 0 +(-123, 0, -150) (1, 5 , 5) 0 +(-122, 0, -150) (1, 5 , 5) 0 +(-121, 0, -150) (1, 5 , 5) 0 +(-120, 0, -150) (1, 5 , 5) 0 +(-119, 0, -150) (1, 5 , 5) 0 +(-118, 0, -150) (1, 5 , 5) 0 +(-117, 0, -150) (1, 5 , 5) 0 +(-116, 0, -150) (1, 5 , 5) 0 +(-115, 0, -150) (1, 5 , 5) 0 +(-114, 0, -150) (1, 5 , 5) 0 +(-113, 0, -150) (1, 5 , 5) 0 +(-112, 0, -150) (1, 5 , 5) 0 +(-111, 0, -150) (1, 5 , 5) 0 +(-110, 0, -150) (1, 5 , 5) 0 +(-109, 0, -150) (1, 5 , 5) 0 +(-108, 0, -150) (1, 5 , 5) 0 +(-107, 0, -150) (1, 5 , 5) 0 +(-106, 0, -150) (1, 5 , 5) 0 +(-105, 0, -150) (1, 5 , 5) 0 +(-104, 0, -150) (1, 5 , 5) 0 +(-103, 0, -150) (1, 5 , 5) 0 +(-102, 0, -150) (1, 5 , 5) 0 +(-101, 0, -150) (1, 5 , 5) 0 +(-100, 0, -150) (1, 5 , 5) 0 +(-99, 0, -150) (1, 5 , 5) 0 +(-98, 0, -150) (1, 5 , 5) 0 +(-97, 0, -150) (1, 5 , 5) 0 +(-96, 0, -150) (1, 5 , 5) 0 +(-95, 0, -150) (1, 5 , 5) 0 +(-94, 0, -150) (1, 5 , 5) 0 +(-93, 0, -150) (1, 5 , 5) 0 +(-92, 0, -150) (1, 5 , 5) 0 +(-91, 0, -150) (1, 5 , 5) 0 +(-90, 0, -150) (1, 5 , 5) 0 +(-89, 0, -150) (1, 5 , 5) 0 +(-88, 0, -150) (1, 5 , 5) 0 +(-87, 0, -150) (1, 5 , 5) 0 +(-86, 0, -150) (1, 5 , 5) 0 +(-85, 0, -150) (1, 5 , 5) 0 +(-84, 0, -150) (1, 5 , 5) 0 +(-83, 0, -150) (1, 5 , 5) 0 +(-82, 0, -150) (1, 5 , 5) 0 +(-81, 0, -150) (1, 5 , 5) 0 +(-80, 0, -150) (1, 5 , 5) 0 +(-79, 0, -150) (1, 5 , 5) 0 +(-78, 0, -150) (1, 5 , 5) 0 +(-77, 0, -150) (1, 5 , 5) 0 +(-76, 0, -150) (1, 5 , 5) 0 +(-75, 0, -150) (1, 5 , 5) 0 +(-74, 0, -150) (1, 5 , 5) 0 +(-73, 0, -150) (1, 5 , 5) 0 +(-72, 0, -150) (1, 5 , 5) 0 +(-71, 0, -150) (1, 5 , 5) 0 +(-70, 0, -150) (1, 5 , 5) 0 +(-69, 0, -150) (1, 5 , 5) 0 +(-68, 0, -150) (1, 5 , 5) 0 +(-67, 0, -150) (1, 5 , 5) 0 +(-66, 0, -150) (1, 5 , 5) 0 +(-65, 0, -150) (1, 5 , 5) 0 +(-64, 0, -150) (1, 5 , 5) 0 +(-63, 0, -150) (1, 5 , 5) 0 +(-62, 0, -150) (1, 5 , 5) 0 +(-61, 0, -150) (1, 5 , 5) 0 +(-60, 0, -150) (1, 5 , 5) 0 +(-59, 0, -150) (1, 5 , 5) 0 +(-58, 0, -150) (1, 5 , 5) 0 +(-57, 0, -150) (1, 5 , 5) 0 +(-56, 0, -150) (1, 5 , 5) 0 +(-55, 0, -150) (1, 5 , 5) 0 +(-54, 0, -150) (1, 5 , 5) 0 +(-53, 0, -150) (1, 5 , 5) 0 +(-52, 0, -150) (1, 5 , 5) 0 +(-51, 0, -150) (1, 5 , 5) 0 +(-50, 0, -150) (1, 5 , 5) 0 +(-49, 0, -150) (1, 5 , 5) 0 +(-48, 0, -150) (1, 5 , 5) 0 +(-47, 0, -150) (1, 5 , 5) 0 +(-46, 0, -150) (1, 5 , 5) 0 +(-45, 0, -150) (1, 5 , 5) 0 +(-44, 0, -150) (1, 5 , 5) 0 +(-43, 0, -150) (1, 5 , 5) 0 +(-42, 0, -150) (1, 5 , 5) 0 +(-41, 0, -150) (1, 5 , 5) 0 +(-40, 0, -150) (1, 5 , 5) 0 +(-39, 0, -150) (1, 5 , 5) 0 +(-38, 0, -150) (1, 5 , 5) 0 +(-37, 0, -150) (1, 5 , 5) 0 +(-36, 0, -150) (1, 5 , 5) 0 +(-35, 0, -150) (1, 5 , 5) 0 +(-34, 0, -150) (1, 5 , 5) 0 +(-33, 0, -150) (1, 5 , 5) 0 +(-32, 0, -150) (1, 5 , 5) 0 +(-31, 0, -150) (1, 5 , 5) 0 +(-30, 0, -150) (1, 5 , 5) 0 +(-29, 0, -150) (1, 5 , 5) 0 +(-28, 0, -150) (1, 5 , 5) 0 +(-27, 0, -150) (1, 5 , 5) 0 +(-26, 0, -150) (1, 5 , 5) 0 +(-25, 0, -150) (1, 5 , 5) 0 +(-24, 0, -150) (1, 5 , 5) 0 +(-23, 0, -150) (1, 5 , 5) 0 +(-22, 0, -150) (1, 5 , 5) 0 +(-21, 0, -150) (1, 5 , 5) 0 +(-20, 0, -150) (1, 5 , 5) 0 +(-19, 0, -150) (1, 5 , 5) 0 +(-18, 0, -150) (1, 5 , 5) 0 +(-17, 0, -150) (1, 5 , 5) 0 +(-16, 0, -150) (1, 5 , 5) 0 +(-15, 0, -150) (1, 5 , 5) 0 +(-14, 0, -150) (1, 5 , 5) 0 +(-13, 0, -150) (1, 5 , 5) 0 +(-12, 0, -150) (1, 5 , 5) 0 +(-11, 0, -150) (1, 5 , 5) 0 +(-10, 0, -150) (1, 5 , 5) 0 +(-9, 0, -150) (1, 5 , 5) 0 +(-8, 0, -150) (1, 5 , 5) 0 +(-7, 0, -150) (1, 5 , 5) 0 +(-6, 0, -150) (1, 5 , 5) 0 +(-5, 0, -150) (1, 5 , 5) 0 +(-4, 0, -150) (1, 5 , 5) 0 +(-3, 0, -150) (1, 5 , 5) 0 +(-2, 0, -150) (1, 5 , 5) 0 +(-1, 0, -150) (1, 5 , 5) 0 +(0, 0, -150) (1, 5 , 5) 0 +(1, 0, -150) (1, 5 , 5) 0 +(2, 0, -150) (1, 5 , 5) 0 +(3, 0, -150) (1, 5 , 5) 0 +(4, 0, -150) (1, 5 , 5) 0 +(5, 0, -150) (1, 5 , 5) 0 +(6, 0, -150) (1, 5 , 5) 0 +(7, 0, -150) (1, 5 , 5) 0 +(8, 0, -150) (1, 5 , 5) 0 +(9, 0, -150) (1, 5 , 5) 0 +(10, 0, -150) (1, 5 , 5) 0 +(11, 0, -150) (1, 5 , 5) 0 +(12, 0, -150) (1, 5 , 5) 0 +(13, 0, -150) (1, 5 , 5) 0 +(14, 0, -150) (1, 5 , 5) 0 +(15, 0, -150) (1, 5 , 5) 0 +(16, 0, -150) (1, 5 , 5) 0 +(17, 0, -150) (1, 5 , 5) 0 +(18, 0, -150) (1, 5 , 5) 0 +(19, 0, -150) (1, 5 , 5) 0 +(20, 0, -150) (1, 5 , 5) 0 +(21, 0, -150) (1, 5 , 5) 0 +(22, 0, -150) (1, 5 , 5) 0 +(23, 0, -150) (1, 5 , 5) 0 +(24, 0, -150) (1, 5 , 5) 0 +(25, 0, -150) (1, 5 , 5) 0 +(26, 0, -150) (1, 5 , 5) 0 +(27, 0, -150) (1, 5 , 5) 0 +(28, 0, -150) (1, 5 , 5) 0 +(29, 0, -150) (1, 5 , 5) 0 +(30, 0, -150) (1, 5 , 5) 0 +(31, 0, -150) (1, 5 , 5) 0 +(32, 0, -150) (1, 5 , 5) 0 +(33, 0, -150) (1, 5 , 5) 0 +(34, 0, -150) (1, 5 , 5) 0 +(35, 0, -150) (1, 5 , 5) 0 +(36, 0, -150) (1, 5 , 5) 0 +(37, 0, -150) (1, 5 , 5) 0 +(38, 0, -150) (1, 5 , 5) 0 +(39, 0, -150) (1, 5 , 5) 0 +(40, 0, -150) (1, 5 , 5) 0 +(41, 0, -150) (1, 5 , 5) 0 +(42, 0, -150) (1, 5 , 5) 0 +(43, 0, -150) (1, 5 , 5) 0 +(44, 0, -150) (1, 5 , 5) 0 +(45, 0, -150) (1, 5 , 5) 0 +(46, 0, -150) (1, 5 , 5) 0 +(47, 0, -150) (1, 5 , 5) 0 +(48, 0, -150) (1, 5 , 5) 0 +(49, 0, -150) (1, 5 , 5) 0 +(50, 0, -150) (1, 5 , 5) 0 +(51, 0, -150) (1, 5 , 5) 0 +(52, 0, -150) (1, 5 , 5) 0 +(53, 0, -150) (1, 5 , 5) 0 +(54, 0, -150) (1, 5 , 5) 0 +(55, 0, -150) (1, 5 , 5) 0 +(56, 0, -150) (1, 5 , 5) 0 +(57, 0, -150) (1, 5 , 5) 0 +(58, 0, -150) (1, 5 , 5) 0 +(59, 0, -150) (1, 5 , 5) 0 +(60, 0, -150) (1, 5 , 5) 0 +(61, 0, -150) (1, 5 , 5) 0 +(62, 0, -150) (1, 5 , 5) 0 +(63, 0, -150) (1, 5 , 5) 0 +(64, 0, -150) (1, 5 , 5) 0 +(65, 0, -150) (1, 5 , 5) 0 +(66, 0, -150) (1, 5 , 5) 0 +(67, 0, -150) (1, 5 , 5) 0 +(68, 0, -150) (1, 5 , 5) 0 +(69, 0, -150) (1, 5 , 5) 0 +(70, 0, -150) (1, 5 , 5) 0 +(71, 0, -150) (1, 5 , 5) 0 +(72, 0, -150) (1, 5 , 5) 0 +(73, 0, -150) (1, 5 , 5) 0 +(74, 0, -150) (1, 5 , 5) 0 +(75, 0, -150) (1, 5 , 5) 0 +(76, 0, -150) (1, 5 , 5) 0 +(77, 0, -150) (1, 5 , 5) 0 +(78, 0, -150) (1, 5 , 5) 0 +(79, 0, -150) (1, 5 , 5) 0 +(80, 0, -150) (1, 5 , 5) 0 +(81, 0, -150) (1, 5 , 5) 0 +(82, 0, -150) (1, 5 , 5) 0 +(83, 0, -150) (1, 5 , 5) 0 +(84, 0, -150) (1, 5 , 5) 0 +(85, 0, -150) (1, 5 , 5) 0 +(86, 0, -150) (1, 5 , 5) 0 +(87, 0, -150) (1, 5 , 5) 0 +(88, 0, -150) (1, 5 , 5) 0 +(89, 0, -150) (1, 5 , 5) 0 +(90, 0, -150) (1, 5 , 5) 0 +(91, 0, -150) (1, 5 , 5) 0 +(92, 0, -150) (1, 5 , 5) 0 +(93, 0, -150) (1, 5 , 5) 0 +(94, 0, -150) (1, 5 , 5) 0 +(95, 0, -150) (1, 5 , 5) 0 +(96, 0, -150) (1, 5 , 5) 0 +(97, 0, -150) (1, 5 , 5) 0 +(98, 0, -150) (1, 5 , 5) 0 +(99, 0, -150) (1, 5 , 5) 0 +(100, 0, -150) (1, 5 , 5) 0 +(101, 0, -150) (1, 5 , 5) 0 +(102, 0, -150) (1, 5 , 5) 0 +(103, 0, -150) (1, 5 , 5) 0 +(104, 0, -150) (1, 5 , 5) 0 +(105, 0, -150) (1, 5 , 5) 0 +(106, 0, -150) (1, 5 , 5) 0 +(107, 0, -150) (1, 5 , 5) 0 +(108, 0, -150) (1, 5 , 5) 0 +(109, 0, -150) (1, 5 , 5) 0 +(110, 0, -150) (1, 5 , 5) 0 +(111, 0, -150) (1, 5 , 5) 0 +(112, 0, -150) (1, 5 , 5) 0 +(113, 0, -150) (1, 5 , 5) 0 +(114, 0, -150) (1, 5 , 5) 0 +(115, 0, -150) (1, 5 , 5) 0 +(116, 0, -150) (1, 5 , 5) 0 +(117, 0, -150) (1, 5 , 5) 0 +(118, 0, -150) (1, 5 , 5) 0 +(119, 0, -150) (1, 5 , 5) 0 +(120, 0, -150) (1, 5 , 5) 0 +(121, 0, -150) (1, 5 , 5) 0 +(122, 0, -150) (1, 5 , 5) 0 +(123, 0, -150) (1, 5 , 5) 0 +(124, 0, -150) (1, 5 , 5) 0 +(125, 0, -150) (1, 5 , 5) 0 +(126, 0, -150) (1, 5 , 5) 0 +(127, 0, -150) (1, 5 , 5) 0 +(128, 0, -150) (1, 5 , 5) 0 +(129, 0, -150) (1, 5 , 5) 0 +(130, 0, -150) (1, 5 , 5) 0 +(131, 0, -150) (1, 5 , 5) 0 +(132, 0, -150) (1, 5 , 5) 0 +(133, 0, -150) (1, 5 , 5) 0 +(134, 0, -150) (1, 5 , 5) 0 +(135, 0, -150) (1, 5 , 5) 0 +(136, 0, -150) (1, 5 , 5) 0 +(137, 0, -150) (1, 5 , 5) 0 +(138, 0, -150) (1, 5 , 5) 0 +(139, 0, -150) (1, 5 , 5) 0 +(140, 0, -150) (1, 5 , 5) 0 +(141, 0, -150) (1, 5 , 5) 0 +(142, 0, -150) (1, 5 , 5) 0 +(143, 0, -150) (1, 5 , 5) 0 +(144, 0, -150) (1, 5 , 5) 0 +(145, 0, -150) (1, 5 , 5) 0 +(146, 0, -150) (1, 5 , 5) 0 +(147, 0, -150) (1, 5 , 5) 0 +(148, 0, -150) (1, 5 , 5) 0 +(149, 0, -150) (1, 5 , 5) 0 +(150, 0, -150) (1, 5 , 5) 0 \ No newline at end of file diff --git a/examples/advanced/medical_linac/include/IG4Simulation.h b/examples/advanced/medical_linac/include/IG4Simulation.h deleted file mode 100644 index 23c12f4b04..0000000000 --- a/examples/advanced/medical_linac/include/IG4Simulation.h +++ /dev/null @@ -1,60 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -#ifndef IG4SIMULATION_H -#define IG4SIMULATION_H - -/* ========================================== - DIANE - Distributed Analysis Environment - Copyright (C) Jakub T. Moscicki, 2000-2003 - ------------------------------------------ - See $DIANE_TOP/LICENSE for details. - ========================================== -*/ - -# include - -namespace DIANE -{ - -class IG4Simulation -{ - -public: - - virtual void setSeed(int seed) = 0; - virtual bool initialize(int argc, char** argv) = 0; - virtual void executeMacro(std::string macroFileName) = 0; - virtual std::string getOutputFilename() = 0; - - virtual ~IG4Simulation() {} -}; -} - -extern "C" -DIANE::IG4Simulation* createG4Simulation(int); - -#endif - diff --git a/examples/advanced/medical_linac/include/ML2Acc1.hh b/examples/advanced/medical_linac/include/ML2Acc1.hh new file mode 100755 index 0000000000..f76ea2ddc0 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2Acc1.hh @@ -0,0 +1,103 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2Acc1H +#define CML2Acc1H + +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4Box.hh" +#include "G4Cons.hh" +#include "G4Tubs.hh" +#include "G4VisAttributes.hh" +#include "G4PVPlacement.hh" +#include "G4NistManager.hh" + +#include "G4BooleanSolid.hh" +#include "G4IntersectionSolid.hh" +#include "G4UnionSolid.hh" +#include "G4SubtractionSolid.hh" +#include "ML2SinputData.hh" +#include "G4ProductionCuts.hh" + +class CML2Acc1Messenger; +class CML2Acc1 +{ +public: + CML2Acc1(void); + ~CML2Acc1(void); + static CML2Acc1* GetInstance(void); + void Construct(G4VPhysicalVolume *PVWorld); + inline void setJaw1X(G4double val){this->jaw1XAperture=val;}; + inline void setJaw2X(G4double val){this->jaw2XAperture=val;}; + inline void setJaw1Y(G4double val){this->jaw1YAperture=val;}; + inline void setJaw2Y(G4double val){this->jaw2YAperture=val;}; + inline void setSSD(G4double val){this->SSD=val;}; + inline void setidEnergy(G4int val){this->idEnergy=val;}; + inline void setLeavesAx(G4double val){this->leavesA.push_back(val);}; + inline void setLeavesBx(G4double val){this->leavesB.push_back(val);}; + +private: + G4double jaw1XAperture, jaw2XAperture, jaw1YAperture, jaw2YAperture, SSD; + std::vector leavesA, leavesB; + G4int idEnergy; + CML2Acc1Messenger *acc1Messenger; + static CML2Acc1 * instance; + + G4Material * otherMaterials(const G4String materialName); + void SetJawAperture(G4int idJaw, G4ThreeVector ¢re, G4ThreeVector halfSize, G4double aperture, G4RotationMatrix *cRotation); + bool target(); + bool primaryCollimator(); + bool BeWindow(); + bool flatteningFilter(); + bool ionizationChamber(); + bool mirror(); + bool Jaw1X(); + bool Jaw2X(); + bool Jaw1Y(); + bool Jaw2Y(); + bool MLC(); + G4VPhysicalVolume *PVWorld; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/ML2Acc1Messenger.hh b/examples/advanced/medical_linac/include/ML2Acc1Messenger.hh new file mode 100755 index 0000000000..0a7ac66788 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2Acc1Messenger.hh @@ -0,0 +1,70 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2Acc1MessengerH +#define CML2Acc1MessengerH + + +#include "globals.hh" +#include "G4UImessenger.hh" + +class CML2Acc1; +class G4UImessenger; +class G4UIcmdWithAnInteger; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; + +class CML2Acc1Messenger : public G4UImessenger +{ +public: + CML2Acc1Messenger(CML2Acc1 *acc1); + ~CML2Acc1Messenger(void); + void SetNewValue(G4UIcommand* cmd, G4String newValue); +private: + CML2Acc1 *pAcc1; + + G4UIcmdWithAnInteger *idEnergy; + G4UIcmdWithADoubleAndUnit *aperture1X,*aperture2X, *aperture1Y, *aperture2Y, *SSD, *leavesA, *leavesB; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh b/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh new file mode 100755 index 0000000000..d08b866c4e --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2AcceleratorConstruction.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2AcceleratorConstructionH +#define CML2AcceleratorConstructionH + +#include "ML2SinputData.hh" +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4Box.hh" +#include "ML2Acc1.hh" + +class CML2Acc1; +class CML2AcceleratorConstructionMessenger; +class CML2AcceleratorConstruction +{ +public: + CML2AcceleratorConstruction(void); + ~CML2AcceleratorConstruction(void); + static CML2AcceleratorConstruction* GetInstance(void); + void Construct(G4VPhysicalVolume *PVWorld); + G4VPhysicalVolume *getPhysicalVolume(void){return this->PVAccWorld;}; + inline void setAcceleratorName(G4String val){this->AcceleratorName=val;}; + inline void setAcceleratorSpecficationsFileName(G4String val){this->AcceleratorSpecficationsFileName=val;}; + inline void setAcceleratorRotationX(G4double val){this->rotationX=val;}; + inline void setAcceleratorRotationY(G4double val){this->rotationY=val;}; + inline void setAcceleratorRotationZ(G4double val){this->rotationZ=val;}; +private: + void design(void); + CML2AcceleratorConstructionMessenger *acceleratorConstructionMessenger; + static CML2AcceleratorConstruction * instance; + G4String AcceleratorName, AcceleratorSpecficationsFileName; + + G4VPhysicalVolume *PVAccWorld; + G4RotationMatrix *rotation; + G4double rotationX, rotationY, rotationZ; + CML2Acc1 *accelerator1; +}; + + +#endif diff --git a/examples/advanced/medical_linac/include/MedLinacDetectorMessenger.hh b/examples/advanced/medical_linac/include/ML2AcceleratorConstructionMessenger.hh old mode 100644 new mode 100755 similarity index 59% rename from examples/advanced/medical_linac/include/MedLinacDetectorMessenger.hh rename to examples/advanced/medical_linac/include/ML2AcceleratorConstructionMessenger.hh index d8520bccd3..6aa81fa6b8 --- a/examples/advanced/medical_linac/include/MedLinacDetectorMessenger.hh +++ b/examples/advanced/medical_linac/include/ML2AcceleratorConstructionMessenger.hh @@ -23,55 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // -// $Id: MedLinacDetectorMessenger.hh,v 1.4 2006/06/29 16:03:37 gunter Exp $ +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // -// Code developed by: M. Piergentili +//*******************************************************// + + +#ifndef CML2AcceleratorConstructionMessengerH +#define CML2AcceleratorConstructionMessengerH -#ifndef MedLinacDetectorMessenger_h -#define MedLinacDetectorMessenger_h 1 #include "globals.hh" #include "G4UImessenger.hh" -class MedLinacDetectorConstruction; -class G4UIdirectory; -class G4UIcmdWithAString; +class CML2AcceleratorConstruction; +class G4UImessenger; class G4UIcmdWithAnInteger; +class G4UIcmdWithAString; class G4UIcmdWithADoubleAndUnit; -class G4UIcmdWithoutParameter; -//**************************************************************************** - -class MedLinacDetectorMessenger: public G4UImessenger +class CML2AcceleratorConstructionMessenger : public G4UImessenger { - public: - MedLinacDetectorMessenger(MedLinacDetectorConstruction*); - ~MedLinacDetectorMessenger(); - - void SetNewValue(G4UIcommand*, G4String); - - private: - MedLinacDetectorConstruction* MedLinacDetector; +public: + CML2AcceleratorConstructionMessenger(CML2AcceleratorConstruction *acceleratorConstructor); + ~CML2AcceleratorConstructionMessenger(void); + void SetNewValue(G4UIcommand* cmd, G4String newValue); +private: + CML2AcceleratorConstruction *pAcceleratorConstructor; - G4UIdirectory* MedLinacDir; - G4UIdirectory* X1Dir; - G4UIdirectory* X2Dir; - G4UIdirectory* Y1Dir; - G4UIdirectory* Y2Dir; - G4UIcmdWithADoubleAndUnit* JawX1PosCmd; - G4UIcmdWithADoubleAndUnit* JawX2PosCmd; - G4UIcmdWithADoubleAndUnit* JawY1PosCmd; - G4UIcmdWithADoubleAndUnit* JawY2PosCmd; - - G4UIcmdWithADoubleAndUnit* PhantomDimCmd; - G4UIcmdWithAnInteger* NVoxelsCmd; - G4UIcmdWithADoubleAndUnit* MaxStepCmd; - - G4UIcmdWithoutParameter* UpdateCmd; + G4UIcmdWithAString *AcceleratorName, *acceleratorSpecficationsFile; + G4UIcmdWithADoubleAndUnit *rotationX, *rotationY, *rotationZ; }; -//**************************************************************************** #endif diff --git a/examples/advanced/medical_linac/include/ML2CInputData.hh b/examples/advanced/medical_linac/include/ML2CInputData.hh new file mode 100755 index 0000000000..cb091c4c15 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2CInputData.hh @@ -0,0 +1,86 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2InputDataH +#define CML2InputDataH + +#include "G4UImessenger.hh" +#include "ML2MainMessenger.hh" + +class CML2MainMessenger; + +class CML2CInputData +{ +public: + CML2CInputData(void); + ~CML2CInputData(void); + + inline void setbOnlyVisio(G4bool val){this->bOnlyVisio=val;}; + inline void setPhaseSpaceCentre(G4ThreeVector val){this->inputData.generalData.centrePhaseSpace.set(val.getX(), val.getY(), val.getZ());}; + inline void setPhaseSpaceHalfSize(G4ThreeVector val){this->inputData.generalData.halfSizePhaseSpace.set(val.getX(), val.getY(), val.getZ());}; + inline void setbSavePhaseSPace(G4bool val){this->inputData.generalData.bSavePhaseSpace=val;}; + inline void setbStopAtPhaseSpace(G4bool val){this->inputData.generalData.bStopAtPhaseSpace=val;}; + inline void setPhaseSpaceOutFile(G4String val){this->inputData.generalData.PhaseSpaceOutFile=val;}; + + inline void setbSaveROG(G4bool val){this->inputData.generalData.bSaveROG=val;}; + inline void setROGOutFile(G4String val){this->inputData.generalData.ROGOutFile=val;}; + + inline void setMinNumberOfEvents(G4double val){this->inputData.generalData.minNumberOfEvents=val;}; + + inline void setBCompareExp(G4bool val){this->inputData.generalData.bCompareExp=val;}; + inline void setFileExperimentalData(G4String val){this->inputData.generalData.fileExperimentalData=val;}; + inline void setNBeams(G4int val){this->inputData.generalData.nBeam=val;}; + inline void setNMaxParticlesInRamPlanePhaseSpace(G4int val){this->inputData.generalData.nMaxParticlesInRamPlanePhaseSpace=val;}; + + inline void setSaving_in_Selected_Voxels_every_events(G4int val){this->inputData.generalData.saving_in_Selected_Voxels_every_events=val;}; + inline void setSaving_in_ROG_Voxels_every_events(G4int val){this->inputData.generalData.saving_in_ROG_Voxels_every_events=val;}; + inline void setMax_N_particles_in_PhSp_File(G4int val){this->inputData.generalData.max_N_particles_in_PhSp_File=val;}; + + G4bool bOnlyVisio; + SInputData inputData; +private: + CML2MainMessenger *ML2MainMessenger; +}; + + +#endif + diff --git a/examples/advanced/medical_linac/include/ML2Convergence.hh b/examples/advanced/medical_linac/include/ML2Convergence.hh new file mode 100755 index 0000000000..097de35f25 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2Convergence.hh @@ -0,0 +1,71 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2ConvergenceH +#define CML2ConvergenceH + +#include "G4Step.hh" + +#include "ML2SinputData.hh" +#include "ML2ExpVoxels.hh" + +class CML2Convergence +{ +public: + CML2Convergence(G4int seed, G4int saving_in_Selected_Voxels_every_events, G4String FileExperimentalData, G4bool bCompareExp, G4int minNumberOfEvents); + ~CML2Convergence(void); + void add(const G4Step* aStep); + G4bool runAgain(); +private: + G4bool convergenceCriteria(); + + std::vector voxels; + CML2ExpVoxels *ML2ExpVoxels; + + G4String fileExperimentalData; + + G4bool bCompareExp; + G4int minNumberOfEvents; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/MedLinacDummySD.hh b/examples/advanced/medical_linac/include/ML2DummySD.hh old mode 100644 new mode 100755 similarity index 66% rename from examples/advanced/medical_linac/include/MedLinacDummySD.hh rename to examples/advanced/medical_linac/include/ML2DummySD.hh index 06794a25a1..110ddc05fe --- a/examples/advanced/medical_linac/include/MedLinacDummySD.hh +++ b/examples/advanced/medical_linac/include/ML2DummySD.hh @@ -23,30 +23,36 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -// Dummy sensitive used only to flag sensitivity in cells of RO geometry. - -#ifndef MedLinacDummySD_h -#define MedLinacDummySD_h 1 +#ifndef CML2DummySDH +#define CML2DummySDH #include "G4VSensitiveDetector.hh" -class G4Step; +#include "G4TouchableHistory.hh" +#include "G4VTouchable.hh" -class MedLinacDummySD : public G4VSensitiveDetector +class CML2DummySD : public G4VSensitiveDetector { public: - MedLinacDummySD(); - ~MedLinacDummySD() {}; - - void Initialize(G4HCofThisEvent* ) {}; - G4bool ProcessHits(G4Step* ,G4TouchableHistory*) {return false;} - void EndOfEvent(G4HCofThisEvent*) {}; - void clear() {}; - void DrawAll() {}; - void PrintAll() {}; + CML2DummySD(G4String name=""); + ~CML2DummySD(void); + G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist); }; -MedLinacDummySD::MedLinacDummySD() : G4VSensitiveDetector("dummySD") -{} #endif diff --git a/examples/advanced/medical_linac/include/MedLinacEventAction.hh b/examples/advanced/medical_linac/include/ML2EventAction.hh old mode 100644 new mode 100755 similarity index 71% rename from examples/advanced/medical_linac/include/MedLinacEventAction.hh rename to examples/advanced/medical_linac/include/ML2EventAction.hh index 44b85c5268..e07ac3b6bd --- a/examples/advanced/medical_linac/include/MedLinacEventAction.hh +++ b/examples/advanced/medical_linac/include/ML2EventAction.hh @@ -23,40 +23,41 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: MedLinacEventAction.hh,v 1.5 2006/06/29 16:03:41 gunter Exp $ +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // -// Code developed by: M. Piergentili +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // - -#ifndef MedLinacEventAction_h -#define MedLinacEventAction_h 1 +//*******************************************************// + + +#ifndef CML2EventActionH +#define CML2EventActionH #include "G4UserEventAction.hh" #include "globals.hh" -//class G4Event; -//class MedLinacDetectorConstruction; -//class MedLinacAnalysisManager; - -//********************************************************************* - -class MedLinacEventAction : public G4UserEventAction +class CML2EventAction: public G4UserEventAction { - public: - MedLinacEventAction(); - ~MedLinacEventAction(); - +public: + CML2EventAction(void); + ~CML2EventAction(void); public: void BeginOfEventAction(const G4Event*); void EndOfEventAction(const G4Event*); private: G4String drawFlag; //Visualisation flag - }; +}; -//********************************************************************* #endif - - diff --git a/examples/advanced/hadrontherapy/include/EMElectronStandard.hh b/examples/advanced/medical_linac/include/ML2ExpVoxels.hh similarity index 51% rename from examples/advanced/hadrontherapy/include/EMElectronStandard.hh rename to examples/advanced/medical_linac/include/ML2ExpVoxels.hh index 80d7f6d93b..83b3ac731f 100755 --- a/examples/advanced/hadrontherapy/include/EMElectronStandard.hh +++ b/examples/advanced/medical_linac/include/ML2ExpVoxels.hh @@ -23,50 +23,57 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyDetectorElectronStandard.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// electrons -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4eIonisation -// and G4eBremsstrahlung +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -#ifndef EMELECTRONSTANDARD_HH -#define EMELECTRONSTANDARD_HH 1 -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" +#ifndef CML2ReadOutGeometryVoxelsH +#define CML2ReadOutGeometryVoxelsH -class EMElectronStandard : public G4VPhysicsConstructor +#include "G4ThreeVector.hh" +#include "ML2SinputData.hh" +#include "G4Step.hh" + +class CML2ExpVoxels { - public: - EMElectronStandard(const G4String& name = "Electron-Standard"); - virtual ~EMElectronStandard(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); +public: + CML2ExpVoxels(G4bool bHasExperimentalData, G4int saving_in_Selected_Voxels_every_events, G4int seed, G4String FileExperimentalData); + ~CML2ExpVoxels(void); + void add(G4ThreeVector pos, G4double depEnergy, G4double density); + + inline std::vector getVoxels(){return this->voxels;} + + G4int getMinNumberOfEvents(); + + G4bool loadData(); +private: + void saveHeader(G4String fullOutFileName); + void saveResults(G4String fullOutFileName, std::vector voxels); + void calculateNormalizedEd(std::vector &voxels); + std::vector voxels; + G4ThreeVector minZone, maxZone; + G4int nCurves; + G4int *startCurve, *stopCurve; + G4double *chi2Factor; + G4String headerText1, headerText2, fullFileIn, fullFileOut; + G4String seedName, loopName; + SGeneralData *generalData; + G4int nParticle; + G4int nTotalEvents, saving_in_Selected_Voxels_every_events; + G4bool bHasExperimentalData; }; #endif diff --git a/examples/advanced/radiation_monitor/Radmon.cc b/examples/advanced/medical_linac/include/ML2Main.hh old mode 100644 new mode 100755 similarity index 66% rename from examples/advanced/radiation_monitor/Radmon.cc rename to examples/advanced/medical_linac/include/ML2Main.hh index 96952d8283..05235f8427 --- a/examples/advanced/radiation_monitor/Radmon.cc +++ b/examples/advanced/medical_linac/include/ML2Main.hh @@ -23,46 +23,35 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // -// File name: Radmon.cc -// Creation date: Sep 2005 -// Main author: Riccardo Capra +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // -// Id: $Id: Radmon.cc,v 1.3 2006/06/29 16:06:29 gunter Exp $ -// Tag: $Name: geant4-09-02 $ -// -// Description: Application main file +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // +//*******************************************************// -// Include files -#include -#include + +#ifndef CG4MainH +#define CG4MainH + +#include "ML2SinputData.hh" +#include "G4RunManager.hh" #include -#include "RadmonApplicationOptions.hh" -#include "RadmonApplication.hh" +#include "G4UImessenger.hh" +#include "ML2MainMessenger.hh" +#include "ML2Convergence.hh" +#include "ML2CInputData.hh" +#include +#include - -// Main -int main(int argc, char * * argv) -{ - RadmonApplicationOptions options(argc, argv); - - if (!options.Valid()) - return EXIT_FAILURE; - - if (options.Help()) - { - options.DumpHelp(); - return EXIT_SUCCESS; - } - - RadmonApplication application(options); - - if (!application.Valid()) - return EXIT_FAILURE; - - G4cout << options.ApplicationName() << ": Application ended successfully." << G4endl; - - return EXIT_SUCCESS; -} +#endif diff --git a/examples/advanced/medical_linac/include/ML2MainMessenger.hh b/examples/advanced/medical_linac/include/ML2MainMessenger.hh new file mode 100755 index 0000000000..a5422fb09f --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2MainMessenger.hh @@ -0,0 +1,94 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2MainMessengerH +#define CML2MainMessengerH + +#include "ML2Main.hh" +#include "G4UImessenger.hh" +#include "G4UIcmdWithABool.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithADouble.hh" +#include "G4UIcmdWith3VectorAndUnit.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWith3Vector.hh" +#include "G4UIcmdWithAnInteger.hh" + +#include "ML2CInputData.hh" + + +class CML2Main; +class CML2CInputData; +class G4UIcmdWithADouble; +class G4UIcmdWithABool; +class G4UIcmdWithAString; +class G4UIcmdWith3VectorAndUnit; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWith3Vector; +class G4UIcmdWithAInteger; + +class CML2MainMessenger : public G4UImessenger +{ +public: + CML2MainMessenger(CML2CInputData *CInputData); + ~CML2MainMessenger(void); + void SetNewValueOLD(G4UIcommand* cmd, G4String newValue); + void SetNewValue(G4UIcommand* cmd, G4String newValue); + +private: + + CML2CInputData *CInputData; + CML2Main *ML2Main; + + G4UIcmdWith3VectorAndUnit *phaseSpaceCentre, *phaseSpaceHalfSize; + G4UIcmdWithAString *phaseSPaceOutFile, *ROGOutFile; + G4UIcmdWithABool *bSavePhaseSpace, *bStopAtPhaseSpace, *bSaveROG; + + G4UIcmdWithAnInteger *nBeam, *nMaxParticlesInRamPlanePhaseSpace, *minNumberOfEvents; + G4UIcmdWithABool *bCompareExp, *bOnlyVisio; + G4UIcmdWithAString * fileExperimentalData; + G4UIcmdWithAnInteger *saving_in_Selected_Voxels_every_events; + G4UIcmdWithAnInteger *saving_in_ROG_Voxels_every_events; + G4UIcmdWithAnInteger *max_N_particles_in_PhSp_File; +}; + +#endif diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldA.cc b/examples/advanced/medical_linac/include/ML2Ph_BoxInBox.hh old mode 100644 new mode 100755 similarity index 54% rename from examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldA.cc rename to examples/advanced/medical_linac/include/ML2Ph_BoxInBox.hh index 056f466046..78e7c62a9c --- a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldA.cc +++ b/examples/advanced/medical_linac/include/ML2Ph_BoxInBox.hh @@ -23,55 +23,57 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TiaraConcreteShieldA.cc,v 1.4 2006/06/29 15:44:42 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -#include "TiaraConcreteShieldA.hh" -#include "TiaraDimensions.hh" -#include "TiaraMaterials.hh" -#include "G4Tubs.hh" + +#ifndef CML2Ph_BoxInBoxH +#define CML2Ph_BoxInBoxH + +#include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" +#include "G4Box.hh" +#include "G4Tubs.hh" #include "G4VisAttributes.hh" +#include "G4PVPlacement.hh" +#include "G4NistManager.hh" +#include "G4SDManager.hh" +#include "ML2SDWithParticle.hh" +#include "ML2SDWithVoxels.hh" +#include "ML2ReadOutGeometry.hh" +#include "G4BooleanSolid.hh" +#include "G4SubtractionSolid.hh" +#include "G4ProductionCuts.hh" +#include "G4UserLimits.hh" -TiaraConcreteShieldA:: -TiaraConcreteShieldA(TiaraMaterials &mfac, - const TiaraDimensions &tiaraDimensions){ - G4double halfHight((tiaraDimensions.distTargetEndA - - tiaraDimensions.distTargetWall) / 2); - G4Tubs *concretAtub = new G4Tubs("concretAtub", - tiaraDimensions.radiusIronA, - tiaraDimensions.worldHalfWidth, - halfHight, - 0, - 360 * deg); - G4LogicalVolume *logConcreteA = - new G4LogicalVolume(concretAtub, - mfac.GetMaterial("concrete"), - "ConcreteA"); +class CML2Ph_BoxInBox +{ +public: + CML2Ph_BoxInBox(); + ~CML2Ph_BoxInBox(void); + bool Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG); + inline G4int getTotalNumberOfEvents(){return this->sensDet->getTotalNumberOfEvents();}; +private: + G4VPhysicalVolume *PVWorld; + CML2SDWithVoxels *sensDet; - G4VisAttributes* pConcreteAVis = new - G4VisAttributes(G4Colour(0.5, 0.5, 0.5)); - // pConcreteAVis->SetForceSolid(true); - logConcreteA->SetVisAttributes(pConcreteAVis); + G4ThreeVector centreBoxInside; + G4double halfBoxInside_Thickness; +}; +#endif - - TiaraPart tiaraPart; - tiaraPart.rot = 0; - tiaraPart.logVol = logConcreteA; - tiaraPart.pos.setX(0); - tiaraPart.pos.setY(0); - tiaraPart.pos.setZ(tiaraDimensions.targetPosZ + - tiaraDimensions.distTargetWall + halfHight); - fTiaraParts.push_back(tiaraPart); -} - -TiaraConcreteShieldA::~TiaraConcreteShieldA(){ -} - -TiaraParts TiaraConcreteShieldA::GetParts(){ - return fTiaraParts; -} diff --git a/examples/advanced/medical_linac/include/ML2Ph_BoxInBoxMessenger.hh b/examples/advanced/medical_linac/include/ML2Ph_BoxInBoxMessenger.hh new file mode 100755 index 0000000000..19f29dc86b --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2Ph_BoxInBoxMessenger.hh @@ -0,0 +1,67 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef ML2Ph_BoxInBoxMessengerH +#define ML2Ph_BoxInBoxMessengerH + + +#include "globals.hh" +#include "G4UImessenger.hh" + +class CML2Ph_BoxInBox; +class G4UImessenger; +class G4UIcmdWithAnInteger; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; + +class CML2Ph_BoxInBoxMessenger : public G4UImessenger +{ +public: + CML2Ph_BoxInBoxMessenger(CML2Ph_BoxInBox *Ph_BoxInBox); + ~CML2Ph_BoxInBoxMessenger(void); + void SetNewValue(G4UIcommand* cmd, G4String newValue); +private: + CML2Ph_BoxInBox *pPh_BoxInBox; +}; + +#endif + diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldA.cc b/examples/advanced/medical_linac/include/ML2Ph_FullWater.hh old mode 100644 new mode 100755 similarity index 57% rename from examples/advanced/Tiara/source/tiara/src/TiaraIronShieldA.cc rename to examples/advanced/medical_linac/include/ML2Ph_FullWater.hh index 935df76ef4..ec1cf2d8e0 --- a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldA.cc +++ b/examples/advanced/medical_linac/include/ML2Ph_FullWater.hh @@ -23,53 +23,53 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TiaraIronShieldA.cc,v 1.4 2006/06/29 15:45:06 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -#include "TiaraIronShieldA.hh" -#include "TiaraDimensions.hh" -#include "TiaraMaterials.hh" -#include "G4Tubs.hh" + +#ifndef CML2Ph_FullWaterH +#define CML2Ph_FullWaterH + +#include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "TiaraPart.hh" +#include "G4Box.hh" +#include "G4Tubs.hh" #include "G4VisAttributes.hh" +#include "G4PVPlacement.hh" +#include "G4NistManager.hh" + +#include "ML2SDWithParticle.hh" +#include "ML2SDWithVoxels.hh" +#include "ML2ReadOutGeometry.hh" + +#include "G4SDManager.hh" +#include "G4ProductionCuts.hh" -TiaraIronShieldA:: -TiaraIronShieldA(TiaraMaterials &mfac, - const TiaraDimensions &tiaraDimensions){ - G4double halfHight((tiaraDimensions.distTargetEndA - - tiaraDimensions.distTargetWall) / 2); - G4Tubs *ironAtub = new G4Tubs("ironAtub", - tiaraDimensions.pipeRadius, - tiaraDimensions.radiusIronA, - halfHight, - 0, - 360 * deg); - G4LogicalVolume *logIronA = - new G4LogicalVolume(ironAtub, - mfac.GetMaterial("iron"), - "IronA"); +class CML2Ph_FullWater +{ +public: + CML2Ph_FullWater(); + ~CML2Ph_FullWater(void); + bool Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG); + inline G4int getTotalNumberOfEvents(){return this->sensDet->getTotalNumberOfEvents();}; +private: + G4VPhysicalVolume *PVWorld; + CML2SDWithVoxels *sensDet; +}; - G4VisAttributes* pIronAVis = new - G4VisAttributes(G4Colour(0.0, 0.0, 1.0)); - // pIronAVis->SetForceSolid(true); - logIronA->SetVisAttributes(pIronAVis); - - TiaraPart tiaraPart; - tiaraPart.logVol = logIronA; - tiaraPart.pos.setX(0); - tiaraPart.pos.setY(0); - tiaraPart.pos.setZ(tiaraDimensions.targetPosZ + - tiaraDimensions.distTargetWall + halfHight); - fTiaraParts.push_back(tiaraPart); -} -TiaraIronShieldA::~TiaraIronShieldA(){ -} - -TiaraParts TiaraIronShieldA::GetParts(){ - return fTiaraParts; -} +#endif diff --git a/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh b/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh new file mode 100755 index 0000000000..49e66926c4 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2PhantomConstruction.hh @@ -0,0 +1,96 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2PhantomConstructionH +#define CML2PhantomConstructionH + +#include "globals.hh" +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4Box.hh" + +#include "ML2SinputData.hh" +#include "ML2Ph_FullWater.hh" +#include "ML2Ph_BoxInBox.hh" + +class CML2PhantomConstructionMessenger; +class CPh_HalfWaterAir; +class CPh_FullWater; +class CML2PhantomConstruction +{ +public: + CML2PhantomConstruction(void); + ~CML2PhantomConstruction(void); + static CML2PhantomConstruction* GetInstance(void); + void Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG); + inline G4int getTotalNumberOfEvents() + { + if (this->phantomName="fullWater") + {return this->Ph_fullWater->getTotalNumberOfEvents();} + else if (this->phantomName="BoxInBox") + {return this->Ph_BoxInBox->getTotalNumberOfEvents();} + return 0; + }; + inline void setPhantomName(G4String val){this->phantomName=val;}; + inline void setPhantom_nVoxelsX(G4int val){this->nVoxelsX=val;}; + inline void setPhantom_nVoxelsY(G4int val){this->nVoxelsY=val;}; + inline void setPhantom_nVoxelsZ(G4int val){this->nVoxelsZ=val;}; + inline void setPhantomSpecficationsFileName(G4String val){this->PhantomSpecficationsFileName=val;}; + inline void setPhantomRotationX(G4double val){this->rotationX=val;}; + inline void setPhantomRotationY(G4double val){this->rotationY=val;}; + inline void setPhantomRotationZ(G4double val){this->rotationZ=val;}; +private: + void design(void); + CML2PhantomConstructionMessenger *phantomContstructionMessenger; + static CML2PhantomConstruction * instance; + G4int nVoxelsX, nVoxelsY, nVoxelsZ; + G4String phantomName, PhantomSpecficationsFileName; + + G4RotationMatrix *rotation; + G4VPhysicalVolume *PVPhmWorld; + + G4double rotationX, rotationY, rotationZ; + CML2Ph_FullWater *Ph_fullWater; + CML2Ph_BoxInBox *Ph_BoxInBox; +}; +#endif + diff --git a/examples/advanced/medical_linac/include/ML2PhantomConstructionMessenger.hh b/examples/advanced/medical_linac/include/ML2PhantomConstructionMessenger.hh new file mode 100755 index 0000000000..c425238802 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2PhantomConstructionMessenger.hh @@ -0,0 +1,71 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2PhantomConstructionMessengerH +#define CML2PhantomConstructionMessengerH + + +#include "globals.hh" +#include "G4UImessenger.hh" + +class CML2PhantomConstruction; +class G4UImessenger; +class G4UIcmdWithAnInteger; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; + +class CML2PhantomConstructionMessenger : public G4UImessenger +{ +public: + CML2PhantomConstructionMessenger(CML2PhantomConstruction *phantomConstructor); + ~CML2PhantomConstructionMessenger(void); + void SetNewValue(G4UIcommand* cmd, G4String newValue); +private: + CML2PhantomConstruction *pPhantomConstructor; + + G4UIcmdWithAnInteger *Phantom_nVoxelsX, *Phantom_nVoxelsY, *Phantom_nVoxelsZ; + G4UIcmdWithAString *PhantomName, *PhantomSpecficationsFileName; + G4UIcmdWithADoubleAndUnit *rotationX, *rotationY, *rotationZ; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/ML2PhaseSpaces.hh b/examples/advanced/medical_linac/include/ML2PhaseSpaces.hh new file mode 100755 index 0000000000..356fe8ec58 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2PhaseSpaces.hh @@ -0,0 +1,75 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2PhaseSpacesH +#define CML2PhaseSpacesH + +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4Box.hh" +#include "G4VisAttributes.hh" +#include "G4PVPlacement.hh" +#include "G4NistManager.hh" + +#include "ML2SDWithParticle.hh" +#include "ML2SDWithVoxels.hh" +#include "G4SDManager.hh" +#include "ML2SinputData.hh" + +class CML2PhaseSpaces +{ +public: + CML2PhaseSpaces(); + ~CML2PhaseSpaces(void); + bool createPlane(G4VPhysicalVolume *PVWorld, G4String name, G4ThreeVector centre, G4ThreeVector halfSize); + bool createPlane(G4int idSD_Type, G4int max_N_particles_in_PhSp_File, G4int seed, G4int nMaxParticlesInRamPhaseSpace, G4VPhysicalVolume *PVWorld, G4String name, G4String PhaseSpaceOutFile, G4bool bSavePhaseSpace, G4bool bStopAtPhaseSpace, G4ThreeVector centre, G4ThreeVector halfSize, SPrimaryParticle *primaryParticleData); + G4int getCML2SensDetNParticle(){return this->sensDetParticle->getTotalNumberOfParticles();}; + inline CML2SDWithParticle* getCML2SensitiveDetectorParticle(){return this->sensDetParticle->getCML2SensitiveDetectorParticle();}; + inline bool getBContinueRun(){return this->sensDetParticle->getBContinueRun();}; + CML2SDWithParticle *sensDetParticle; +private: + CML2SDWithVoxels *sensDetVoxelized; + G4int nParticles; +}; + + +#endif diff --git a/examples/advanced/medical_linac/include/ML2PhysicsList.hh b/examples/advanced/medical_linac/include/ML2PhysicsList.hh new file mode 100755 index 0000000000..e46087ff71 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2PhysicsList.hh @@ -0,0 +1,98 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + +#ifndef ML2PhysicsList_h +#define ML2PhysicsList_h 1 + +#include "G4VModularPhysicsList.hh" +#include "G4EmConfigurator.hh" +#include "globals.hh" + +class G4VPhysicsConstructor; +class ML2StepMax; +class ML2PhysicsListMessenger; + +class ML2PhysicsList: public G4VModularPhysicsList +{ +public: + + ML2PhysicsList(); + virtual ~ML2PhysicsList(); + + void ConstructParticle(); + + void SetCuts(); + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForPositron(G4double); + + void AddPhysicsList(const G4String& name); + void ConstructProcess(); + + void AddStepMax(); + ML2StepMax* GetStepMaxProcess() {return stepMaxProcess;}; + void AddPackage(const G4String& name); + +private: + + G4EmConfigurator em_config; + + G4double cutForGamma; + G4double cutForElectron; + G4double cutForPositron; + + G4bool helIsRegisted; + G4bool bicIsRegisted; + G4bool biciIsRegisted; + G4bool locIonIonInelasticIsRegistered; + + G4String emName; + G4VPhysicsConstructor* emPhysicsList; + G4VPhysicsConstructor* decPhysicsList; + std::vector hadronPhys; + + ML2StepMax* stepMaxProcess; + + ML2PhysicsListMessenger* pMessenger; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/ML2PhysicsListMessenger.hh b/examples/advanced/medical_linac/include/ML2PhysicsListMessenger.hh new file mode 100644 index 0000000000..0aab7fef41 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2PhysicsListMessenger.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + +#ifndef ML2PhysicsListMessenger_h +#define ML2PhysicsListMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class ML2PhysicsList; +class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ML2PhysicsListMessenger: public G4UImessenger +{ + public: + + ML2PhysicsListMessenger(ML2PhysicsList* ); + ~ML2PhysicsListMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + + ML2PhysicsList* pPhysicsList; + + G4UIdirectory* physDir; + G4UIcmdWithADoubleAndUnit* gammaCutCmd; + G4UIcmdWithADoubleAndUnit* electCutCmd; + G4UIcmdWithADoubleAndUnit* protoCutCmd; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithAString* pListCmd; + G4UIcmdWithAString* packageListCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/advanced/medical_linac/include/ML2PrimaryGenerationAction.hh b/examples/advanced/medical_linac/include/ML2PrimaryGenerationAction.hh new file mode 100755 index 0000000000..d465e42b67 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2PrimaryGenerationAction.hh @@ -0,0 +1,124 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2PrimaryGenerationActionH +#define CML2PrimaryGenerationActionH + + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleGun.hh" +#include "G4Event.hh" +#include "G4Timer.hh" +#include "Randomize.hh" + +#include "G4ParticleDefinition.hh" +#include "ML2SinputData.hh" +#include "ML2SDWithParticle.hh" +#include "ML2SDWithVoxels.hh" + +class G4ParticleGun; +class G4ParticleDefinition; +class CML2PrimaryGenerationActionMessenger; + +class CML2PrimaryGenerationAction : public G4VUserPrimaryGeneratorAction +{ +public: + CML2PrimaryGenerationAction(SPrimaryParticle *primaryParticleData); + ~CML2PrimaryGenerationAction(void); + void design(); + void GeneratePrimaries(G4Event *anEvent); + inline void setNIdenticalParticles(G4int val){this->nIdenticalParticles=val;}; + inline void setNLoopsPhSpParticles(G4int val){this->nLoopsPhSpParticles=val;}; + inline void setNMaxParticlesInRamPhaseSpace(G4int val){this->nMaxParticlesInRamPhaseSpace=val;}; + + inline void setGunMeanEnergy(G4double val){this->GunMeanEnegy=val;}; + inline void setGunStdEnergy(G4double val){this->GunStdEnegy=val;}; + inline void setGunRadious(G4double val){this->GunRadious=val;}; + inline void setCalculatedPhaseSpaceFileIN(G4String val){this->calculatedPhaseSpaceFileIN=val;}; + inline void setSourceTypeName(G4String val) + { + this->sourceTypeName=val; + if (this->sourceTypeName=="randomTarget") + { + this->idParticleSource=id_randomTarget; + } + else if (this->sourceTypeName=="phaseSpace") + { + this->idParticleSource=id_phaseSpace; + } + }; + +private: + void setGunRandom(); + void setGunCalculatedPhaseSpace(); + void GenerateFromRandom(); + void GenerateFromCalculatedPhaseSpace(); + void fillParticlesContainer(); + bool itIsTheSameParticle(Sparticle *p1, Sparticle *p2); + + G4int nBeam, nIdenticalParticles, nLoopsPhSpParticles, idGunType, nMaxParticlesInRamPhaseSpace, idParticleSource; + G4double GunMeanEnegy, GunStdEnegy, GunRadious; + G4String calculatedPhaseSpaceFileIN; + + CML2PrimaryGenerationActionMessenger *PrimaryGenerationActionMessenger; + + + G4ThreeVector dir, pos; + G4double ek; + + G4Timer myTime; + G4double sinTheta, cosTheta, phi; + G4double ro, alfa; + G4ParticleGun *particleGun; + G4ParticleDefinition *gamma; + G4ParticleDefinition *electron; + G4ParticleDefinition *positron; + G4int nEventsPerRun; + SPrimaryParticle *primaryParticleData; + Sparticle *particles, *particle; + int nParticle, nPhSpParticles, nRandomParticles, idCurrentParticleSource; + Sparticle *firstFileParticle, *lastLoadedParticle; + G4String sourceTypeName; +}; + +#endif diff --git a/examples/advanced/medical_linac/include/ML2PrimaryGenerationActionMessenger.hh b/examples/advanced/medical_linac/include/ML2PrimaryGenerationActionMessenger.hh new file mode 100755 index 0000000000..70d190900d --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2PrimaryGenerationActionMessenger.hh @@ -0,0 +1,74 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef ML2PrimaryGenerationActionMessengerH +#define ML2PrimaryGenerationActionMessengerH + + +#include "globals.hh" +#include "G4UImessenger.hh" + +class CML2PrimaryGenerationAction; +class G4UImessenger; +class G4UIcmdWithAnInteger; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; + +class CML2PrimaryGenerationActionMessenger : public G4UImessenger +{ +public: + CML2PrimaryGenerationActionMessenger(CML2PrimaryGenerationAction *PML2PrimaryGenerationAction); + ~CML2PrimaryGenerationActionMessenger(void); + void SetNewValue(G4UIcommand* cmd, G4String newValue); + +private: + CML2PrimaryGenerationAction *pML2PrimaryGenerationAction; + + G4UIcmdWithAnInteger *nIdenticalParticles, *nLoopsPhSpParticles; + G4UIcmdWithAnInteger *nMaxParticlesInRamPhaseSpace; + G4UIcmdWithADoubleAndUnit *GunMeanEnegy, *GunStdEnegy, *GunRadious; + G4UIcmdWithAString *calculatedPhaseSpaceFileIN, *sourceTypeName; + G4UIcmdWithADoubleAndUnit *rotationX, *rotationY, *rotationZ; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/MedLinacPhantomROGeometry.hh b/examples/advanced/medical_linac/include/ML2ReadOutGeometry.hh old mode 100644 new mode 100755 similarity index 60% rename from examples/advanced/medical_linac/include/MedLinacPhantomROGeometry.hh rename to examples/advanced/medical_linac/include/ML2ReadOutGeometry.hh index c3120a01a4..7d7026f863 --- a/examples/advanced/medical_linac/include/MedLinacPhantomROGeometry.hh +++ b/examples/advanced/medical_linac/include/ML2ReadOutGeometry.hh @@ -23,39 +23,42 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: MedLinacPhantomROGeometry.hh,v 1.3 2006/06/29 16:03:53 gunter Exp $ +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // -// Code developed by: M. Piergentili +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // -//The phantom is devided in voxels. the dimension of the voxel is 1mm -// -#ifndef MedLinacPhantomROGeometry_h -#define MedLinacPhantomROGeometry_h +//*******************************************************// + + +#ifndef CML2ReadOutGeometryH +#define CML2ReadOutGeometryH #include "G4VReadOutGeometry.hh" -class MedLinacPhantomROGeometry : public G4VReadOutGeometry +class G4VPhysicalVolume; + +class CML2ReadOutGeometry : public G4VReadOutGeometry { public: - MedLinacPhantomROGeometry(G4String aString, - G4double phantomDim_x, - G4double phantomDim_y, - G4double phantomDim_z, - G4int numberOfVoxelsX, - G4int numberOfVoxelsY, - G4int numberOfVoxelsZ); - ~MedLinacPhantomROGeometry(); + CML2ReadOutGeometry(const G4RotationMatrix *m, G4ThreeVector *v); + ~CML2ReadOutGeometry(void); + void setBuildData(G4ThreeVector centre, G4ThreeVector halfSize, G4int NumberOfVoxelsAlongX, G4int NumberOfVoxelsAlongY, G4int NumberOfVoxelsAlongZ); + G4VPhysicalVolume* Build(); private: - G4VPhysicalVolume* Build(); - -private: - const G4double PhantomDimensionX; - const G4double PhantomDimensionY; - const G4double PhantomDimensionZ; - const G4int NumberOfVoxelsAlongX; - const G4int NumberOfVoxelsAlongY; - const G4int NumberOfVoxelsAlongZ; - G4VPhysicalVolume *ROPhantomYDivisionPhys; + G4VPhysicalVolume *ROPhyVol; + G4ThreeVector centre, halfSize; + G4int NumberOfVoxelsAlongX, NumberOfVoxelsAlongY, NumberOfVoxelsAlongZ; }; + #endif + diff --git a/examples/advanced/medical_linac/include/ML2SDWithParticle.hh b/examples/advanced/medical_linac/include/ML2SDWithParticle.hh new file mode 100755 index 0000000000..cbdbda9afb --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2SDWithParticle.hh @@ -0,0 +1,82 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2SensitiveDetectorParticleH +#define CML2SensitiveDetectorParticleH + +#include "G4VSensitiveDetector.hh" +#include "G4TouchableHistory.hh" +#include "G4VTouchable.hh" +#include "ML2SinputData.hh" + +class CML2ReadOutGeometryVoxels; + +class CML2SDWithParticle : public G4VSensitiveDetector +{ +public: + CML2SDWithParticle(); + CML2SDWithParticle(G4int idType, G4int max_N_particles_in_PhSp_File, G4int seed, G4int nMaxParticlesInRamPhaseSpace, G4String name, G4String PhaseSpaceOutFile, G4bool bSavePhaseSpace, G4bool bStopAtVolatilePhaseSpace, SPrimaryParticle *primaryParticleData); + ~CML2SDWithParticle(void); + G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist); +// inline void setbStopAtPhaseSpace(G4bool bStopAtPhaseSpace){this->bStopAtPhaseSpace=bStopAtPhaseSpace;}; + //inline void Initialize(G4HCofThisEvent *){}; + //inline void EndOfEvent(G4HCofThisEvent*){}; + G4int getTotalNumberOfParticles(){return this->nTotalParticles;}; + inline CML2SDWithParticle* getCML2SensitiveDetectorParticle(){return this;}; + inline Sparticle getParticle(int i){return this->particles[i];}; + inline void setActive(G4bool bActive){this->bActive=bActive;}; + inline bool getBContinueRun(){return this->bContinueRun;}; +private: + void saveDataParticles(G4int nParticle); + void saveHeaderParticles(); + + G4ThreeVector halfSize; + G4ThreeVector pos; + SPrimaryParticle *primaryParticleData; + Sparticle *particles; + G4String fullOutFileData; + G4int nTotalParticles, nParticle; + G4int idType, nMaxParticlesInRamPhaseSpace, max_N_particles_in_PhSp_File; + G4bool bStopAtPhaseSpace, bSavePhaseSpace, bActive, bContinueRun; +}; + +#endif diff --git a/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh b/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh new file mode 100755 index 0000000000..728a23a672 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2SDWithVoxels.hh @@ -0,0 +1,83 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CCML2SDWithVoxelsH +#define CCML2SDWithVoxelsH + +#include "G4VSensitiveDetector.hh" +#include "G4TouchableHistory.hh" +#include "G4VTouchable.hh" +#include "ML2SinputData.hh" + +class CML2ReadOutGeometryVoxels; + + +class CML2SDWithVoxels : public G4VSensitiveDetector +{ +public: + CML2SDWithVoxels(G4String name, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4ThreeVector halfSize, G4int NumberOfVoxelsAlongX, G4int NumberOfVoxelsAlongY, G4int NumberOfVoxelsAlongZ); + ~CML2SDWithVoxels(void); + G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist); + inline void Initialize(G4HCofThisEvent *){}; + inline void EndOfEvent(G4HCofThisEvent*){}; + G4int getTotalNumberOfEvents(){return this->nTotalEvents;}; + inline void setActive(G4bool bActive){this->bActive=bActive;}; + +private: + void saveDataInVoxels(); + void saveHeaderDataInVoxels(); + + G4ThreeVector halfSize; + G4ThreeVector pos; + G4double halfXVoxelDimensionX, halfXVoxelDimensionY, halfXVoxelDimensionZ; + G4int NumberOfVoxelsAlongX, NumberOfVoxelsAlongY, NumberOfVoxelsAlongZ; + Svoxel ***voxels; + G4String fullOutFileData; + G4int nTotalEvents, nParticle, nParticleValatile, saving_in_ROG_Voxels_every_events; + G4bool bActive, bSaveROG; + G4double voxelMass, density, voxelVolume; + +}; + + + +#endif diff --git a/examples/advanced/medical_linac/include/ML2SinputData.hh b/examples/advanced/medical_linac/include/ML2SinputData.hh new file mode 100755 index 0000000000..51062d62cd --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2SinputData.hh @@ -0,0 +1,107 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef inputDataH +#define inputDataH + +#include "globals.hh" +#include +#include "G4RotationMatrix.hh" + +enum idParticleSource +{ + id_randomTarget=1, + id_phaseSpace=2 +}; +enum idTypeOfSensitiveDetector +{ + idSD_ComponentROG=1, + idSD_PhaseSpace=2, + idSD_KillerPlane=3 +}; +struct SStartInputData +{ + G4String fileInputData; + G4int seed; +}; +struct SGeneralData +{ + G4String WorldName, fileExperimentalData, StartFileInputData; + G4int seed, nBeam, nMaxParticlesInRamPlanePhaseSpace; + G4bool bSaveROG, bCompareExp; + G4String PhaseSpaceOutFile, ROGOutFile; + + G4bool bSavePhaseSpace; + G4bool bStopAtPhaseSpace; + G4ThreeVector centrePhaseSpace, halfSizePhaseSpace; + + G4int minNumberOfEvents; + int saving_in_Selected_Voxels_every_events; + int saving_in_ROG_Voxels_every_events; + int max_N_particles_in_PhSp_File; +}; + +struct Sparticle +{ + G4ThreeVector pos, dir; + G4double kinEnergy; + G4int nPrimaryPart, primaryParticlePDGE, partPDGE, volumeId; + G4String volumeName; +}; +struct SPrimaryParticle +{ + G4int partPDGE, nPrimaryParticle; + G4int nParticlesInPhSp; +}; +struct SInputData +{ + SGeneralData generalData; + SPrimaryParticle primaryParticleData; +}; +struct Svoxel +{ + G4ThreeVector pos, halfSize; + G4double depEnergy, depEnergy2, expDose, depEnergyNorm, depEnergyNormError; + G4int nEvents; + G4String volumeName; +}; +#endif diff --git a/examples/advanced/medical_linac/include/ML2StepMax.hh b/examples/advanced/medical_linac/include/ML2StepMax.hh new file mode 100644 index 0000000000..4bba74c562 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2StepMax.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + +#ifndef ML2StepMax_h +#define ML2StepMax_h 1 + +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +#include "G4ParticleDefinition.hh" +#include "G4Step.hh" + +class ML2StepMaxMessenger; + +///////////////////////////////////////////////////////////////////////////// +class ML2StepMax : public G4VDiscreteProcess +{ + public: + + ML2StepMax(const G4String& processName ="UserStepMax"); + ~ML2StepMax(); + + G4bool IsApplicable(const G4ParticleDefinition&); + void SetMaxStep(G4double); + G4double GetMaxStep() {return MaxChargedStep;}; + + G4double PostStepGetPhysicalInteractionLength( const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); + + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + + G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*) + {return 0.;}; // it is not needed here ! + + private: + + G4double MaxChargedStep; + ML2StepMaxMessenger* pMess; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/ML2StepMaxMessenger.hh b/examples/advanced/medical_linac/include/ML2StepMaxMessenger.hh new file mode 100644 index 0000000000..3bc2bc5d29 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2StepMaxMessenger.hh @@ -0,0 +1,66 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef ML2StepMaxMessenger_h +#define ML2StepMaxMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +class ML2StepMax; +class G4UIcmdWithADoubleAndUnit; + +///////////////////////////////////////////////////////////////////////////// +class ML2StepMaxMessenger: public G4UImessenger +{ + public: + ML2StepMaxMessenger(ML2StepMax*); + ~ML2StepMaxMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + ML2StepMax* stepMax; + G4UIcmdWithADoubleAndUnit* StepMaxCmd; +}; + +#endif diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraIsotropicDirections.hh b/examples/advanced/medical_linac/include/ML2SteppingAction.hh old mode 100644 new mode 100755 similarity index 63% rename from examples/advanced/Tiara/source/tiara/include/TiaraIsotropicDirections.hh rename to examples/advanced/medical_linac/include/ML2SteppingAction.hh index b90028903a..ef15bed14b --- a/examples/advanced/Tiara/source/tiara/include/TiaraIsotropicDirections.hh +++ b/examples/advanced/medical_linac/include/ML2SteppingAction.hh @@ -23,38 +23,40 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TiaraIsotropicDirections.hh,v 1.4 2006/06/29 15:43:54 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // -// ---------------------------------------------------------------------- +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // -// Class TiaraIsotropicDirections +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // +//*******************************************************// -#ifndef TiaraIsotropicDirections_hh -#define TiaraIsotropicDirections_hh TiaraIsotropicDirections_hh -#include "TiaraVDirectionGenerator.hh" -#include "G4ThreeVector.hh" +#ifndef CML2SteppingActionH +#define CML2SteppingActionH -class TiaraDimensions; +#include "G4UserSteppingAction.hh" +#include "ML2Convergence.hh" -class TiaraIsotropicDirections : public TiaraVDirectionGenerator { +class CML2ReadOutGeometryVoxels; + +class CML2SteppingAction : public G4UserSteppingAction +{ public: - TiaraIsotropicDirections(G4double colWidth, - const TiaraDimensions &tiaraDimensions); - ~TiaraIsotropicDirections(); - TiaraIsotropicDirections(const TiaraIsotropicDirections& rhs); - - virtual G4ThreeVector GetDirection(); - virtual TiaraVDirectionGenerator *Clone() const; - - G4double MinimumCosine(G4double colWidth, - const TiaraDimensions &tiaraDimensions); - - TiaraIsotropicDirections& operator=(const TiaraIsotropicDirections& rhs); + CML2SteppingAction(CML2Convergence *convergence); + ~CML2SteppingAction(void); + void UserSteppingAction(const G4Step* aStep); private: - G4double fMinCos; + CML2Convergence *convergence; }; #endif + diff --git a/examples/advanced/medical_linac/include/ML2TrackingAction.hh b/examples/advanced/medical_linac/include/ML2TrackingAction.hh new file mode 100755 index 0000000000..723ffff54e --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2TrackingAction.hh @@ -0,0 +1,63 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2TrackingActionH +#define CML2TrackingActionH + +#include "globals.hh" +#include "G4UserTrackingAction.hh" + +class G4Navigator; +class G4Track; + +class CML2TrackingAction : public G4UserTrackingAction +{ +public: + CML2TrackingAction(void); + virtual ~CML2TrackingAction(void); + virtual void PreUserTrackingAction(const G4Track*); + +private: + G4Navigator* gNavigator; +}; + +#endif diff --git a/examples/advanced/medical_linac/include/ML2WorldConstruction.hh b/examples/advanced/medical_linac/include/ML2WorldConstruction.hh new file mode 100755 index 0000000000..5874dde864 --- /dev/null +++ b/examples/advanced/medical_linac/include/ML2WorldConstruction.hh @@ -0,0 +1,90 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#ifndef CML2WorldConstructionH +#define CML2WorldConstructionH + +#include "ML2SinputData.hh" + +#include "G4VUserDetectorConstruction.hh" +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4Box.hh" +#include "G4VisAttributes.hh" +#include "G4PVPlacement.hh" +#include "G4NistManager.hh" + +#include "ML2AcceleratorConstruction.hh" +#include "ML2PhantomConstruction.hh" +#include "ML2PhaseSpaces.hh" + + +class G4VPhysicalVolume; +class CML2PhantomConstruction; +class CML2AcceleratorConstruction; +class CML2PhaseSpaces; + +class CML2WorldConstruction : public G4VUserDetectorConstruction +{ +public: + CML2WorldConstruction(void); + ~CML2WorldConstruction(void); + G4VPhysicalVolume* Construct(); + void create(SInputData *inputData); + static CML2WorldConstruction* GetInstance(void); + G4int getNParticleBackScattered(){return this->backScatteredPlane->getCML2SensDetNParticle();}; + G4int getNParticlePhaseSpace(){return this->phaseSpace->getCML2SensDetNParticle();}; + inline G4int getTotalNumberOfEventsInPhantom(){return this->phantomEnv->getTotalNumberOfEvents();}; + inline bool getBContinueRun(){return this->phaseSpace->getBContinueRun();}; +private: + void checkVolumeOverlap(); + static CML2WorldConstruction * instance; + + CML2AcceleratorConstruction *acceleratorEnv; + CML2PhantomConstruction *phantomEnv; + G4VPhysicalVolume* PVWorld; + CML2PhaseSpaces *phaseSpace; + CML2PhaseSpaces *backScatteredPlane; +}; + +#endif + diff --git a/examples/advanced/medical_linac/include/MedLinacAnalysisManager.hh b/examples/advanced/medical_linac/include/MedLinacAnalysisManager.hh deleted file mode 100644 index cdb0abe245..0000000000 --- a/examples/advanced/medical_linac/include/MedLinacAnalysisManager.hh +++ /dev/null @@ -1,113 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacAnalysisManager.hh,v 1.6 2006/06/29 16:03:31 gunter Exp $ -// -// -// Code developed by: M. Piergentili -// -// the class Analysis creates and managed histograms -// -#ifdef G4ANALYSIS_USE -#ifndef G4PROCESSTESTANALYSIS_HH -#define G4PROCESSTESTANALYSIS_HH - -#include "globals.hh" -#include -#include "G4ThreeVector.hh" -#include "AIDA/IHistogram1D.h" -#include "AIDA/IHistogram2D.h" -#include "AIDA/IAnalysisFactory.h" - -namespace AIDA{ - class ITree; - class IHistogramFactory; - class IAnalysisFactory; - class ITreeFactory; -}; - -class MedLinacAnalysisManager -{ -private: - MedLinacAnalysisManager(); - -public: - - ~MedLinacAnalysisManager(); - static MedLinacAnalysisManager* getInstance(); - void book(); - void FillHistogram1WithEnergy(G4double,G4float); - void FillHistogram2WithEnergy(G4double,G4float); - void FillHistogram3WithEnergy(G4double,G4float); - void FillHistogram4WithEnergy(G4double,G4float); - void FillHistogram5WithEnergy(G4double,G4float); - void FillHistogram6WithEnergy(G4double,G4float); - void FillHistogram7WithEnergy(G4double,G4float); - void FillHistogram8WithEnergy(G4double,G4float); - void FillHistogram9WithEnergy(G4double,G4float); - void FillHistogram10WithEnergy(G4double,G4float); - void FillHistogram11WithEnergy(G4double,G4float); - void FillHistogram12WithEnergy(G4double,G4float); - void FillHistogram13WithEnergy(G4double,G4float); - void FillHistogram14WithEnergy(G4double,G4float); - void FillHistogram15WithEnergy(G4double,G4float); - void finish(); - -private: - - G4double xx,zz,yy; - G4float en; - G4double x,y,z; - static MedLinacAnalysisManager* instance; - -private: - - AIDA::IAnalysisFactory* aFact; - AIDA::ITree* theTree; - AIDA::IHistogramFactory *histFact; - AIDA::ITreeFactory *treeFact; - AIDA::IHistogram1D *h1; - AIDA::IHistogram1D *h2; - AIDA::IHistogram1D *h3; - AIDA::IHistogram1D *h4; - AIDA::IHistogram1D *h5; - AIDA::IHistogram1D *h6; - AIDA::IHistogram1D *h7; - AIDA::IHistogram1D *h8; - AIDA::IHistogram1D *h9; - AIDA::IHistogram1D *h10; - AIDA::IHistogram1D *h11; - AIDA::IHistogram1D *h12; - AIDA::IHistogram1D *h13; - AIDA::IHistogram1D *h14; - AIDA::IHistogram1D *h15; -}; - -#endif -#endif - - - diff --git a/examples/advanced/medical_linac/include/MedLinacDetectorConstruction.hh b/examples/advanced/medical_linac/include/MedLinacDetectorConstruction.hh deleted file mode 100644 index 017263edd2..0000000000 --- a/examples/advanced/medical_linac/include/MedLinacDetectorConstruction.hh +++ /dev/null @@ -1,161 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacDetectorConstruction.hh,v 1.7 2006/06/29 16:03:35 gunter Exp $ -// -// -// Code developed by: M. Piergentili -// -#ifndef MedLinacDetectorConstruction_H -#define MedLinacDetectorConstruction_H 1 -#include "MedLinacDetectorMessenger.hh" - -#include "G4VUserDetectorConstruction.hh" -#include "globals.hh" -#include "G4VisAttributes.hh" - -class G4LogicalVolume; -class G4VPhysicalVolume; -class G4Material; -class G4VPhysicalVolume; -class MedLinacDetectorMessenger; -class MedLinacVGeometryComponent; -class MedLinacPhantomSD; -class MedLinacPhantomROGeometry; -class MedLinacVoxelParameterisation; -class MedLinacDecorator; - -//#include "PhysicalConstants.hh" - -class MedLinacDetectorConstruction : public G4VUserDetectorConstruction -{ - public: - MedLinacDetectorConstruction(); - ~MedLinacDetectorConstruction(); - -public: - - void SetJawX1Pos_x (G4double); - void SetJawX2Pos_x (G4double); - void SetJawY1Pos_y (G4double); - void SetJawY2Pos_y (G4double); - void SetPhantomDim (G4double); - void SetNumberOfVoxels (G4int); - void SetMaxStep (G4double); - - G4VPhysicalVolume* Construct(); - - void UpdateGeometry(); - void ConstructVolume(); - void ConstructSensitiveDetector(); - //void SetPhantomMaterial(G4String); - - const G4int GetNumVoxelX() {return numberOfVoxelsAlongX;} - const G4int GetNumVoxelY() {return numberOfVoxelsAlongY;} - const G4int GetNumVoxelZ() {return numberOfVoxelsAlongZ;} - const G4double VoxelWidth_X(){return phantomDim_x/numberOfVoxelsAlongX;} - const G4double VoxelWidth_Y(){return phantomDim_y/numberOfVoxelsAlongY;} - const G4double VoxelWidth_Z(){return phantomDim_z/numberOfVoxelsAlongZ;} - void ComputeDimVoxel() {dimVoxel = phantomDim_x/numberOfVoxelsAlongX;} - - static MedLinacDetectorConstruction* GetInstance(G4String); - - - public: - - void PrintParameters(); - - G4double GetJawX1Pos_x() {return fieldX1;}; - G4double GetJawX2Pos_x() {return fieldX2;}; - G4double GetJawY1Pos_y() {return fieldY1;}; - G4double GetJawY2Pos_y() {return fieldY2;}; - G4double GetPhantomDim() {return phantomDim;}; - G4int GetNumberOfVoxels() {return numberOfVoxels;}; - G4double GetMaxStep() {return maxStep;}; - - private: - - G4double fieldX1; - G4double fieldX2; - G4double fieldY1; - G4double fieldY2; - G4double phantomDim; - G4int numberOfVoxels; - G4double maxStep; - - G4VPhysicalVolume* ConstructGeom(); - - MedLinacVGeometryComponent* pHead; - MedLinacDetectorMessenger* detectorMessenger; - MedLinacDecorator* decorator; - MedLinacDecorator* decorator1; - MedLinacDetectorConstruction(G4String); - - static MedLinacDetectorConstruction* instance; - - MedLinacPhantomSD* phantomSD;//pointer to sensitive detector - MedLinacPhantomROGeometry* phantomROGeometry;//pointer to ROGeometry - - G4double phantomDim_x; //Phantom XDimension - G4double phantomDim_y; //Phantom YDimension - G4double phantomDim_z; //Phantom ZDimension - - - G4int numberOfVoxelsAlongX; //Number of voxels along x axis - G4int numberOfVoxelsAlongY; //Number of voxels along y axis - G4int numberOfVoxelsAlongZ; //Number of voxels along z axis - G4String sensitiveDetectorName; - G4double dimVoxel; - // Logical volumes - // - G4LogicalVolume* experimentalHall_log; - G4LogicalVolume* vacuumBlock_log; - G4LogicalVolume* JawY1_log; - G4LogicalVolume* JawY2_log; - G4LogicalVolume* JawX1_log; - G4LogicalVolume* JawX2_log; - G4LogicalVolume* Phantom_log; - - // Physical volumes - // - G4VPhysicalVolume* experimentalHall_phys; - G4VPhysicalVolume* vacuumBlock_phys; - G4VPhysicalVolume* JawY1_phys; - G4VPhysicalVolume* JawY2_phys; - G4VPhysicalVolume* JawX1_phys; - G4VPhysicalVolume* JawX2_phys; - G4VPhysicalVolume* Phantom_phys; - //Vis - // - G4VisAttributes* simpleH2OVisAtt; - G4VisAttributes* simpleTungstenWVisAtt; - G4VisAttributes* simpleTungstenSVisAtt; - G4VisAttributes* simpleWorldVisAtt; - -}; - -#endif - diff --git a/examples/advanced/medical_linac/include/MedLinacHead.hh b/examples/advanced/medical_linac/include/MedLinacHead.hh deleted file mode 100644 index 86cd48a048..0000000000 --- a/examples/advanced/medical_linac/include/MedLinacHead.hh +++ /dev/null @@ -1,86 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacHead.hh,v 1.3 2006/06/29 16:03:43 gunter Exp $ -// -// Code developed by: M. Piergentili -// -// -#ifndef MedLinacHead_h -#define MedLinacHead_h 1 - -class MedLinacVGeometryComponent; -class G4VPhysicalVolume; -class G4LogicalVolume; -class G4Region; -class G4Material; -class G4VisAttributes; -class MedLinacHead: public MedLinacVGeometryComponent -{ -public: - MedLinacHead(); - ~MedLinacHead(); - void ConstructComponent(G4VPhysicalVolume*,G4VPhysicalVolume*); - void DestroyComponent(); - - private: - G4LogicalVolume* windowUp_log; - G4LogicalVolume* UpperCollimator_log; - G4LogicalVolume* collim_log; - G4LogicalVolume* tracker_log; - G4LogicalVolume* CylMinusCone_log; - G4LogicalVolume* windowLow_log; - G4LogicalVolume* Window_log; - G4LogicalVolume* SignalPlate_log; - G4LogicalVolume* Mirror_log; - G4LogicalVolume* reticle_log; - - G4VPhysicalVolume* windowUp_phys; - G4VPhysicalVolume* UpperCollimator_phys; - G4VPhysicalVolume* CylMinusCone_phys; - G4VPhysicalVolume* windowLow_phys; - G4VPhysicalVolume* Window1_phys; - G4VPhysicalVolume* SignalPlate1_phys; - G4VPhysicalVolume* SignalPlate2_phys; - G4VPhysicalVolume* Window2_phys; - G4VPhysicalVolume* SignalPlate3_phys; - G4VPhysicalVolume* SignalPlate4_phys; - G4VPhysicalVolume* Window3_phys; - G4VPhysicalVolume* Mirror_phys; - G4VPhysicalVolume* reticle_phys; - - G4Region* aLowerCollRegion; - G4Region* aUpperCollRegion; - - - G4VisAttributes* simpleTungstenWVisAtt; - G4VisAttributes* simpleTungstenSVisAtt; - G4VisAttributes* simpleCopperSVisAtt; - G4VisAttributes* simpleMylarVisAtt; - G4VisAttributes* simpleKaptonVisAtt; - G4VisAttributes* simpleWorldVisAtt; -}; -#endif diff --git a/examples/advanced/medical_linac/include/MedLinacMLCDecorator.hh b/examples/advanced/medical_linac/include/MedLinacMLCDecorator.hh deleted file mode 100644 index 698f139119..0000000000 --- a/examples/advanced/medical_linac/include/MedLinacMLCDecorator.hh +++ /dev/null @@ -1,169 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacMLCDecorator.hh,v 1.3 2006/06/29 16:03:45 gunter Exp $ -// -// Code developed by: M. Piergentili -// -// - - -#ifndef MedLinacMLCDecorator_h -#define MedLinacMLCDecorator_h 1 - -#include "globals.hh" -#include "MedLinacDecorator.hh" -#include "MedLinacVGeometryComponent.hh" -#include "MedLinacMLCMessenger.hh" - -class G4VPhysicalVolume; -class G4Box; -class G4LogicalVolume; -class G4Material; -class G4VisAttributes; -class MedLinacVGeometryComponent; -class MedLinacDecorator; -class MedLinacMLCMessenger; - -class MedLinacMLCDecorator: public MedLinacDecorator -{ -public: - MedLinacMLCDecorator(MedLinacVGeometryComponent*); - ~MedLinacMLCDecorator(); - void ConstructComponent(G4VPhysicalVolume*,G4VPhysicalVolume*); - void DestroyComponent(); - - void SetLeafName (G4String); - void SetPos_y (G4double); - -private: - void ConstructMultiLeafCollimator(G4VPhysicalVolume*,G4VPhysicalVolume*); - - G4LogicalVolume* leafLog; - G4VPhysicalVolume* leafAPhys; - G4VPhysicalVolume* leafBPhys; - - G4VisAttributes* simpleTungstenSVisAtt; - - public: - - void PrintParametersMLC(); - - G4String GetLeafName() {return leaf_name;}; - G4double GetPos_y() {return pos;}; - - - - private: - G4String leaf_name; - G4double pos; - - G4double a1y; - G4double a2y; - G4double a3y; - G4double a4y; - G4double a5y; - G4double a6y; - G4double a7y; - G4double a8y; - G4double a9y; - G4double a10y; - G4double a11y; - G4double a12y; - G4double a13y; - G4double a14y; - G4double a15y; - G4double a16y; - G4double a17y; - G4double a18y; - G4double a19y; - G4double a20y; - G4double a21y; - G4double a22y; - G4double a23y; - G4double a24y; - G4double a25y; - G4double a26y; - G4double a27y; - G4double a28y; - G4double a29y; - G4double a30y; - G4double a31y; - G4double a32y; - G4double a33y; - G4double a34y; - G4double a35y; - G4double a36y; - G4double a37y; - G4double a38y; - G4double a39y; - G4double a40y; - - G4double b1y; - G4double b2y; - G4double b3y; - G4double b4y; - G4double b5y; - G4double b6y; - G4double b7y; - G4double b8y; - G4double b9y; - G4double b10y; - G4double b11y; - G4double b12y; - G4double b13y; - G4double b14y; - G4double b15y; - G4double b16y; - G4double b17y; - G4double b18y; - G4double b19y; - G4double b20y; - G4double b21y; - G4double b22y; - G4double b23y; - G4double b24y; - G4double b25y; - G4double b26y; - G4double b27y; - G4double b28y; - G4double b29y; - G4double b30y; - G4double b31y; - G4double b32y; - G4double b33y; - G4double b34y; - G4double b35y; - G4double b36y; - G4double b37y; - G4double b38y; - G4double b39y; - G4double b40y; - - MedLinacMLCMessenger* MLCMessenger; -}; -#endif - diff --git a/examples/advanced/medical_linac/include/MedLinacPhantomHit.hh b/examples/advanced/medical_linac/include/MedLinacPhantomHit.hh deleted file mode 100644 index c6a36b90d1..0000000000 --- a/examples/advanced/medical_linac/include/MedLinacPhantomHit.hh +++ /dev/null @@ -1,126 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: MedLinacPhantomHit.hh,v 1.3 2006/06/29 16:03:49 gunter Exp $ -// -// -// Code developed by: M. Piergentili -// It manages the hits and the enrgy deposit in the phantom associated with -// each hit ... - -#ifndef MedLinacPhantomHit_h -#define MedLinacPhantomHit_h 1 - -#include "G4VHit.hh" -#include "G4THitsCollection.hh" -#include "G4Allocator.hh" -#include "G4ThreeVector.hh" -#include "G4LogicalVolume.hh" -#include "G4Transform3D.hh" -#include "G4RotationMatrix.hh" - -class MedLinacPhantomHit : public G4VHit -{ -public: - MedLinacPhantomHit(G4LogicalVolume* ,G4int ,G4int ,G4int ); - ~MedLinacPhantomHit(); - MedLinacPhantomHit(const MedLinacPhantomHit &right); - const MedLinacPhantomHit& operator = (const MedLinacPhantomHit &right); - int operator == (const MedLinacPhantomHit &right) const; - - inline void *operator new(size_t); - inline void operator delete(void *aHit); - - void Draw(); - void Print(); - -private: - const G4LogicalVolume* logicalVolume;// Logical volume where the hit happened - G4int xHitPosition; // Hit x coordinate - G4int zHitPosition; // Hit z coordinate - G4int yHitPosition; // Hit y coordinate - G4ThreeVector hitPosition; //position of the hit - G4RotationMatrix rotation; // rotation of the logical volume - G4double energyDeposit; // energy deposit associated with the hit - -public: - //... - // Set Hit position - inline void SetCellID(G4int XID,G4int YID,G4int ZID) - {xHitPosition = XID; zHitPosition = ZID; yHitPosition = YID; } - - inline G4int GetXID() // Get hit x coordinate - {return xHitPosition;} - - inline G4int GetZID() // Get hit z coordinate - {return zHitPosition;} - - inline G4int GetYID() // Get hit y coordinate - {return yHitPosition;} - - inline void SetEdep(G4double edep) //Set hit energy deposit - {energyDeposit = edep;} - - inline void AddEdep(G4double edep) // Add energy deposit - {energyDeposit += edep;} - - inline G4double GetEdep() // Get energy deposit - {return energyDeposit;} - - inline void SetPos(G4ThreeVector xyz) // Set hit position - {hitPosition = xyz;} - - inline G4ThreeVector GetPos() // Get hit position - {return hitPosition;} - - inline void SetRot(G4RotationMatrix rmat) //set rotation - {rotation = rmat;} - - inline G4RotationMatrix GetRot() //get rotation - {return rotation;} - - //... - // It returns the logical volume where the hit happened - inline const G4LogicalVolume * GetLogicalVolume() - {return logicalVolume;} -}; - -typedef G4THitsCollection MedLinacPhantomHitsCollection; -extern G4Allocator MedLinacPhantomHitAllocator; - -inline void* MedLinacPhantomHit::operator new(size_t) -{ - void *aHit; - aHit = (void *) MedLinacPhantomHitAllocator.MallocSingle(); - return aHit; -} - -inline void MedLinacPhantomHit::operator delete(void *aHit) -{ - MedLinacPhantomHitAllocator.FreeSingle((MedLinacPhantomHit*) aHit); -} -#endif - - diff --git a/examples/advanced/medical_linac/include/MedLinacTargetAndFilterDecorator.hh b/examples/advanced/medical_linac/include/MedLinacTargetAndFilterDecorator.hh deleted file mode 100644 index 8bed2f6782..0000000000 --- a/examples/advanced/medical_linac/include/MedLinacTargetAndFilterDecorator.hh +++ /dev/null @@ -1,113 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacTargetAndFilterDecorator.hh,v 1.3 2006/06/29 16:04:07 gunter Exp $ -// -// Code developed by: M. Piergentili -// -// - - -#ifndef MedLinacTargetAndFilterDecorator_h -#define MedLinacTargetAndFilterDecorator_h 1 - -#include "MedLinacDecorator.hh" -#include "MedLinacVGeometryComponent.hh" -class G4VPhysicalVolume; -class G4Box; -class G4LogicalVolume; -class G4Material; -class G4VisAttributes; -class MedLinacVGeometryComponent; -class MedLinacDecorator; - -class MedLinacTargetAndFilterDecorator: public MedLinacDecorator -{ -public: - MedLinacTargetAndFilterDecorator(MedLinacVGeometryComponent*); - ~MedLinacTargetAndFilterDecorator(); - void ConstructComponent(G4VPhysicalVolume*,G4VPhysicalVolume*); - void DestroyComponent(); - -private: - void ConstructTargetAndFilter(G4VPhysicalVolume*,G4VPhysicalVolume*); - G4LogicalVolume* targetA_log; - G4LogicalVolume* targetB_log; - G4LogicalVolume* layer1_log; - G4LogicalVolume* layer2_log; - G4LogicalVolume* layer3_log; - G4LogicalVolume* layer4_log; - G4LogicalVolume* layer5_log; - G4LogicalVolume* layer6_log; - G4LogicalVolume* layer7_log; - G4LogicalVolume* layer8_log; - G4LogicalVolume* layer9_log; - G4LogicalVolume* layer10_log; - G4LogicalVolume* layer11_log; - G4LogicalVolume* layer12_log; - G4LogicalVolume* layer13_log; - G4LogicalVolume* layer14_log; - G4LogicalVolume* layer15_log; - G4LogicalVolume* layer16_log; - G4LogicalVolume* layer17_log; - G4LogicalVolume* layer18_log; - G4LogicalVolume* layer19_log; - G4LogicalVolume* layer20A_log; - G4LogicalVolume* cone20_log; - G4LogicalVolume* layer20_log; - G4LogicalVolume* layer21_log; - - G4VPhysicalVolume* targetA_phys; - G4VPhysicalVolume* targetB_phys; - G4VPhysicalVolume* layer1_phys; - G4VPhysicalVolume* layer2_phys; - G4VPhysicalVolume* layer3_phys; - G4VPhysicalVolume* layer4_phys; - G4VPhysicalVolume* layer5_phys; - G4VPhysicalVolume* layer6_phys; - G4VPhysicalVolume* layer7_phys; - G4VPhysicalVolume* layer8_phys; - G4VPhysicalVolume* layer9_phys; - G4VPhysicalVolume* layer10_phys; - G4VPhysicalVolume* layer11_phys; - G4VPhysicalVolume* layer12_phys; - G4VPhysicalVolume* layer13_phys; - G4VPhysicalVolume* layer14_phys; - G4VPhysicalVolume* layer15_phys; - G4VPhysicalVolume* layer16_phys; - G4VPhysicalVolume* layer17_phys; - G4VPhysicalVolume* layer18_phys; - G4VPhysicalVolume* layer19_phys; - G4VPhysicalVolume* layer20_phys; - G4VPhysicalVolume* layer21_phys; - - - G4VisAttributes* simpleTungstenSVisAtt; - G4VisAttributes* simpleCopperSVisAtt; - G4VisAttributes* simpleWorldVisAtt; - //MedLinacVGeometryComponent* component; -}; -#endif diff --git a/examples/advanced/medical_linac/macro.mac b/examples/advanced/medical_linac/macro.mac deleted file mode 100644 index cf55adff84..0000000000 --- a/examples/advanced/medical_linac/macro.mac +++ /dev/null @@ -1,196 +0,0 @@ - -/PhysicsList/cut 0.2 mm -/control/verbose 1 -/control/saveHistory -/run/verbose 2 - -/run/initialize -/tracking/storeTrajectory 1 - -/Phantom/dimension 15. cm -/Phantom/Nvoxels 150 -/Phantom/maxStep 0.2 mm - -/PhantomSD/dimension 15. cm -/PhantomSD/Nvoxels 150 - -#/run/initialize -#/tracking/storeTrajectory 1 - -# Multi Leaf - - -/MLC/leaf_selection a1 -/MLC/position 0. cm -/MLC/leaf_selection a2 -/MLC/position 0. cm -/MLC/leaf_selection a3 -/MLC/position 0. cm -/MLC/leaf_selection a4 -/MLC/position 0. cm -/MLC/leaf_selection a5 -/MLC/position 0. cm -/MLC/leaf_selection a6 -/MLC/position 0. cm -/MLC/leaf_selection a7 -/MLC/position 0. cm -/MLC/leaf_selection a8 -/MLC/position 0. cm -/MLC/leaf_selection a9 -/MLC/position 0. cm -/MLC/leaf_selection a10 -/MLC/position 0. cm -/MLC/leaf_selection a11 -/MLC/position 0. cm -/MLC/leaf_selection a12 -/MLC/position 0. cm -/MLC/leaf_selection a13 -/MLC/position 0. cm -/MLC/leaf_selection a14 -/MLC/position 0. cm -/MLC/leaf_selection a15 -/MLC/position 0. cm -/MLC/leaf_selection a16 -/MLC/position 0. cm -/MLC/leaf_selection a17 -/MLC/position 2.4 cm -/MLC/leaf_selection a18 -/MLC/position 2.7 cm -/MLC/leaf_selection a19 -/MLC/position 3.5 cm -/MLC/leaf_selection a20 -/MLC/position 4.0 cm -/MLC/leaf_selection a21 -/MLC/position 4.6 cm -/MLC/leaf_selection a22 -/MLC/position 5.0 cm -/MLC/leaf_selection a23 -/MLC/position 5.8 cm -/MLC/leaf_selection a24 -/MLC/position 6.0 cm -/MLC/leaf_selection a25 -/MLC/position 5.6 cm -/MLC/leaf_selection a26 -/MLC/position 0. cm -/MLC/leaf_selection a27 -/MLC/position 0. cm -/MLC/leaf_selection a28 -/MLC/position 0. cm -/MLC/leaf_selection a29 -/MLC/position 0. cm -/MLC/leaf_selection a30 -/MLC/position 0. cm -/MLC/leaf_selection a31 -/MLC/position 0. cm -/MLC/leaf_selection a32 -/MLC/position 0. cm -/MLC/leaf_selection a33 -/MLC/position 0. cm -/MLC/leaf_selection a34 -/MLC/position 0. cm -/MLC/leaf_selection a35 -/MLC/position 0. cm -/MLC/leaf_selection a36 -/MLC/position 0. cm -/MLC/leaf_selection a37 -/MLC/position 0. cm -/MLC/leaf_selection a38 -/MLC/position 0. cm -/MLC/leaf_selection a39 -/MLC/position 0. cm -/MLC/leaf_selection a40 -/MLC/position 0. cm - - -/MLC/leaf_selection b1 -/MLC/position 0. cm -/MLC/leaf_selection b2 -/MLC/position 0. cm -/MLC/leaf_selection b3 -/MLC/position 0. cm -/MLC/leaf_selection b4 -/MLC/position 0. cm -/MLC/leaf_selection b5 -/MLC/position 0. cm -/MLC/leaf_selection b6 -/MLC/position 0. cm -/MLC/leaf_selection b7 -/MLC/position 0. cm -/MLC/leaf_selection b8 -/MLC/position 0. cm -/MLC/leaf_selection b9 -/MLC/position 0. cm -/MLC/leaf_selection b10 -/MLC/position 0. cm -/MLC/leaf_selection b11 -/MLC/position 0. cm -/MLC/leaf_selection b12 -/MLC/position 0. cm -/MLC/leaf_selection b13 -/MLC/position 0. cm -/MLC/leaf_selection b14 -/MLC/position 0. cm -/MLC/leaf_selection b15 -/MLC/position 0. cm -/MLC/leaf_selection b16 -/MLC/position 0. cm -/MLC/leaf_selection b17 -/MLC/position 2.3 cm -/MLC/leaf_selection b18 -/MLC/position 2.8 cm -/MLC/leaf_selection b19 -/MLC/position 3.5 cm -/MLC/leaf_selection b20 -/MLC/position 4.4 cm -/MLC/leaf_selection b21 -/MLC/position 4.7 cm -/MLC/leaf_selection b22 -/MLC/position 5.4 cm -/MLC/leaf_selection b23 -/MLC/position 5.7 cm -/MLC/leaf_selection b24 -/MLC/position 5.8 cm -/MLC/leaf_selection b25 -/MLC/position 5.4 cm -/MLC/leaf_selection b26 -/MLC/position 0. cm -/MLC/leaf_selection b27 -/MLC/position 0. cm -/MLC/leaf_selection b28 -/MLC/position 0. cm -/MLC/leaf_selection b29 -/MLC/position 0. cm -/MLC/leaf_selection b30 -/MLC/position 0. cm -/MLC/leaf_selection b31 -/MLC/position 0. cm -/MLC/leaf_selection b32 -/MLC/position 0. cm -/MLC/leaf_selection b33 -/MLC/position 0. cm -/MLC/leaf_selection b34 -/MLC/position 0. cm -/MLC/leaf_selection b35 -/MLC/position 0. cm -/MLC/leaf_selection b36 -/MLC/position 0. cm -/MLC/leaf_selection b37 -/MLC/position 0. cm -/MLC/leaf_selection b38 -/MLC/position 0. cm -/MLC/leaf_selection b39 -/MLC/position 0. cm -/MLC/leaf_selection b40 -/MLC/position 0. cm - - - -/Jaws/X1/DistanceFromAxis -4.2 cm -/Jaws/X2/DistanceFromAxis 5.2 cm -/Jaws/Y1/DistanceFromAxis -6.6 cm -/Jaws/Y2/DistanceFromAxis 6.8 cm -/Jaws/update - -/energy 6.0 MeV -/sourceType 0.127 MeV -/run/beamOn 10 diff --git a/examples/advanced/medical_linac/ml2.cc b/examples/advanced/medical_linac/ml2.cc new file mode 100755 index 0000000000..761a0ebf10 --- /dev/null +++ b/examples/advanced/medical_linac/ml2.cc @@ -0,0 +1,184 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + + +#include "ML2Main.hh" + +#include "ML2PrimaryGenerationAction.hh" +#include "ML2WorldConstruction.hh" +#include "ML2PhysicsList.hh" +#include "ML2SteppingAction.hh" +#include "ML2EventAction.hh" +#include "ML2TrackingAction.hh" + +#include "G4UImanager.hh" +#include "G4Timer.hh" + + +#include "G4UIterminal.hh" +#ifdef G4UI_USE_XM + #include "G4UIXm.hh" +#endif +#ifdef G4VIS_USE + #include "G4VisExecutive.hh" +#endif + + + +void visio() +{ + G4UIsession *session=0; + session=new G4UIterminal(); + #ifdef G4VIS_USE + G4VisManager * visManager=new G4VisExecutive; + visManager->Initialize(); + #endif + G4UImanager *UI=G4UImanager::GetUIpointer(); + if (session) + { + UI->ApplyCommand("/control/execute vis.mac"); + session->SessionStart(); + delete session; + } + +#ifdef G4VIS_USE + delete visManager; +#endif +} + + +int main(int argc, char* argv[]) +{ + CML2CInputData *myInputData; + myInputData=new CML2CInputData(); + if (argc==1) + { + myInputData->inputData.generalData.seed=1; + myInputData->inputData.generalData.StartFileInputData="ml2.mac"; + } + if (argc==2) + { + myInputData->inputData.generalData.seed=1; + myInputData->inputData.generalData.StartFileInputData=(G4String)argv[1]; + } + if (argc==3) + { + sscanf(argv[2],"%d", &myInputData->inputData.generalData.seed); + myInputData->inputData.generalData.StartFileInputData=(G4String)argv[1]; + } + + G4RunManager *runManager=new G4RunManager(); + ML2PhysicsList *physics=new ML2PhysicsList(); + runManager->SetUserInitialization(physics); + CML2MainMessenger *ML2MainMessenger; + ML2MainMessenger=new CML2MainMessenger(myInputData); + + CML2WorldConstruction *myWorld=CML2WorldConstruction::GetInstance(); + + CML2PrimaryGenerationAction *gun; + gun = new CML2PrimaryGenerationAction(&myInputData->inputData.primaryParticleData); + + G4UImanager* UI = G4UImanager::GetUIpointer(); + G4String command = "/control/execute "; + UI->ApplyCommand(command+myInputData->inputData.generalData.StartFileInputData); +// initialize the primary generator according to the choosen particle source + gun->design(); + + CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); + CLHEP::HepRandom :: setTheSeed(myInputData->inputData.generalData.seed); + + myWorld->create(&myInputData->inputData); + + runManager->SetUserInitialization(myWorld); + + + runManager->SetUserAction(gun); + +// instantiate the convergence control class and assign it to myStepAction + CML2Convergence *convergence=new CML2Convergence(myInputData->inputData.generalData.seed, myInputData->inputData.generalData.saving_in_Selected_Voxels_every_events, myInputData->inputData.generalData.fileExperimentalData, myInputData->inputData.generalData.bCompareExp, myInputData->inputData.generalData.minNumberOfEvents); + CML2SteppingAction *myStepAction=new CML2SteppingAction(convergence); + runManager->SetUserAction(myStepAction); + + CML2EventAction *ML2EventAction = new CML2EventAction(); + runManager->SetUserAction(ML2EventAction); + + runManager->SetUserAction(new CML2TrackingAction); + + runManager->Initialize(); + + int nLoop=0; + G4Timer MyTime, MyTimeStop; + G4double loopElapsedTime; + + G4bool bAgain=true; + if (myInputData->bOnlyVisio) + { + visio(); + } + else + { + MyTimeStop.Start(); + while (bAgain) + { + std::cout<<"*********************************************"<<'\n'; + std::cout << "loop n. "<<++nLoop<<'\n'; + MyTime.Start(); + std::cout << "Launched "<< myInputData->inputData.generalData.nBeam <<" random primary particles" << '\n'; + + runManager->BeamOn(myInputData->inputData.generalData.nBeam); + + MyTime.Stop(); + loopElapsedTime=MyTime.GetUserElapsed(); + std::cout << "loop elapsed time [s] : "<< loopElapsedTime << '\n'; + std::cout <<'\n'; +// check if the run have to be reapeted + bAgain=convergence->runAgain(); + } + } + //job termination + delete myInputData; +// delete G4MainMessenger; + delete myWorld; +// delete runManager; + return 0; +} + diff --git a/examples/advanced/medical_linac/ml2.mac b/examples/advanced/medical_linac/ml2.mac new file mode 100755 index 0000000000..513582751b --- /dev/null +++ b/examples/advanced/medical_linac/ml2.mac @@ -0,0 +1,57 @@ +/OnlyVisio true # switch the visualization mode + + +/convergence/bCompareExp true # if compare the data with an experiemntal file data +/convergence/fileExperimentalData VoxelsTest.txt # name of the experimental file +/convergence/minNumberOfEvents 13 # minimum number of events in each experimental voxel + +/general/centrePhaseSpace 0 0 215 mm # position of the centre of the plane phase space +/general/halfSizePhaseSpace 150 150 1 mm # half size of the plane phase space + +/general/bSavePhaseSpace true # true if to save the phase space +/general/bStopAtPhaseSpace false # true if to kill the particle at the phase space +/general/bSaveROG true # true if save the ROG volume +/general/ROGOutFile ROG_Out # file name of the ROG volume +/general/PhaseSpaceOutFile PhSp_Out # file name of the phase space +/general/nBeam 100000 # number of events to run +/general/nMaxParticlesInRamPlanePhaseSpace 100 # maximum particle number stored in RAM before saving - for phase space +/general/saving_in_Selected_Voxels_every_events 1000 # maximum particle number stored before saving - for experiemntal data comparison +/general/saving_in_ROG_Voxels_every_events 10000 # maximum particle number stored before saving - for ROG +/general/max_N_particles_in_PhSp_File 10000 # maximum particle number stored in the phase space file + +/primaryParticleData/nMaxParticlesInRamPhaseSpace 1000 # maximum particle number loaded from the phase space file each time +/primaryParticleData/nIdenticalParticles 1 # number of identical particles generated in the primary generator +/primaryParticleData/GunMeanEnegy 6 MeV # mean energy of the primary particles +/primaryParticleData/GunStdEnegy 0.127 MeV # std energy of the primary particles +/primaryParticleData/GunRadious 0.5 mm # radious primary particles beam +/primaryParticleData/sourceTypeName randomTarget # type of particle generator source +/primaryParticleData/calculatedPhaseSpaceFileIN PhSp10.txt # file name of the phase space file to be used as particle generator + +/phantom/PhantomName fullWater # phantom name to select among those implemented +/phantom/PhantomSpecficationsFileName phan1.mac # macro file name containing specific setup data for the phantom chosen + +/accelerator/AcceleratorName acc1 # accelerator name to select among those implemented +/accelerator/AcceleratorSpecficationsFileName acc1.mac # macro file name containing specific setup data for the accelerator chosen + + +#/physic/addPhysics standard_opt3 # Standard Electromagnetic models +/physic/addPhysics LowE_Livermore # Lowenergy-Livermore Electromagnetic models +#/physic/addPackage QGSP_BIC # use of the Package Physic lists + +#################### INFO ###################################### + +# All possible choices + +# Particle sources +# randomTarget // random from target +# phaseSpace // from phase space + +# Accelerators +# acc1 // non real accelearator but working +# + +# Phantoms +# fullWater // water box +# BoxInBox // box in a box with a layer of PMMA at the exposed surface + + diff --git a/examples/advanced/medical_linac/phan1.mac b/examples/advanced/medical_linac/phan1.mac new file mode 100755 index 0000000000..eb82bd2454 --- /dev/null +++ b/examples/advanced/medical_linac/phan1.mac @@ -0,0 +1,6 @@ +/phantom/Phantom_nVoxelsX 100 +/phantom/Phantom_nVoxelsY 100 +/phantom/Phantom_nVoxelsZ 100 +/phantom/rotationX 0 +/phantom/rotationY 0 +/phantom/rotationZ 0 \ No newline at end of file diff --git a/examples/advanced/medical_linac/src/ML2Acc1.cc b/examples/advanced/medical_linac/src/ML2Acc1.cc new file mode 100755 index 0000000000..ae5d57964d --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2Acc1.cc @@ -0,0 +1,850 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2Acc1.hh" +#include "ML2Acc1Messenger.hh" + +CML2Acc1::CML2Acc1() +{ + this->acc1Messenger=new CML2Acc1Messenger(this); +} + +CML2Acc1::~CML2Acc1(void) +{ +} +CML2Acc1* CML2Acc1::instance = 0; + +CML2Acc1* CML2Acc1::GetInstance(void) +{ + if (instance == 0) + { + instance = new CML2Acc1(); + } + return instance; +} + +G4Material * CML2Acc1::otherMaterials(const G4String materialName) +{ + G4Material * material=0; + G4double A, Z, d; + G4String name; + + // code taken and modified from G4MIRDRightLung.cc of the human_phantom advanced example written by S. Guatelli and M. G. Pia + // start + // General elements + + A = 12.011*g/mole; + G4Element* elC = new G4Element("Carbon","C",Z = 6.,A); + + A = 30.974*g/mole; + G4Element* elP = new G4Element("Phosphorus","P",Z = 15.,A); + + A = 32.064*g/mole; + G4Element* elS = new G4Element("Sulfur","S",Z = 16.,A); + + A = 55.85*g/mole; + G4Element* elFe = new G4Element("Iron","Fe",Z = 26.,A); + + A = 51.9961*g/mole; + G4Element* elCr = new G4Element("Cromium","Cr", Z = 24.,A); + + A = 54.94*g/mole; + G4Element* elMn = new G4Element("Manganese","Mn", Z = 25.,A); + + A = 58.69*g/mole; + G4Element* elNi = new G4Element("Nickel","Ni", Z = 28.,A); + + A = 28.09*g/mole; + G4Element* elSi = new G4Element("Silicon","Si", Z = 14.,A); + + A = 183.84*g/mole; + G4Element* elW = new G4Element("Tungsten","W", Z = 74.,A); + + if (materialName=="steel1") + { + d = 7.76 *g/cm3; + G4Material* steel1 = new G4Material("steel1", d,4); + steel1 -> AddElement(elFe, 0.935); + steel1 -> AddElement(elS,0.01); + steel1 -> AddElement(elMn,0.05); + steel1 -> AddElement(elC,0.005); + material=steel1; + } + else if (materialName=="steel2") + { + d = 8.19*g/cm3; + G4Material* steel2 = new G4Material("steel2", d,5); + steel2 -> AddElement(elFe, 0.759); + steel2 -> AddElement(elNi, 0.11); + steel2 -> AddElement(elSi,0.01); + steel2 -> AddElement(elCr,0.12); + steel2 -> AddElement(elP,0.001); + material=steel2; + } + else if (materialName=="steel3") + { + d = 8.19*g/cm3; + G4Material* steel3 = new G4Material("steel3", d,5); + steel3 -> AddElement(elFe, 0.69); + steel3 -> AddElement(elNi, 0.1); + steel3 -> AddElement(elSi,0.01); + steel3 -> AddElement(elCr,0.18); + steel3 -> AddElement(elMn,0.02); + material=steel3; + } + else if (materialName=="EZcut") + { + d = 7.9*g/cm3; + G4Material* EZcut20 = new G4Material("EZcut", d,2); + EZcut20 -> AddElement(elFe, 0.98); + EZcut20 -> AddElement(elMn,0.02); + material=EZcut20; + } + else if (materialName=="W") + { + d = 15*g/cm3; + G4Material* W = new G4Material("W", d,1); + W -> AddElement(elW, 1.); + material=W; + } + return material; +} +void CML2Acc1::Construct(G4VPhysicalVolume *PVWorld) +{ + this->PVWorld=PVWorld; + this->target(); + this->BeWindow(); + this->ionizationChamber(); + this->flatteningFilter(); + this->mirror(); + this->primaryCollimator(); + this->MLC(); + this->Jaw1X(); + this->Jaw2X(); + this->Jaw1Y(); + this->Jaw2Y(); +} +bool CML2Acc1::target() +{ + switch (this->idEnergy) + { + case 6: + // materials // changed to call the NIST class materials + + G4Material* Cu = G4NistManager::Instance()->FindOrBuildMaterial("G4_Cu"); + G4Material* W = G4NistManager::Instance()->FindOrBuildMaterial("G4_W"); + + // colors + + G4Colour cyan (0.0, 1.0, 1.0); + G4Colour magenta (1.0, 0.0, 1.0); + + // volumes + // beam line along z axis +//------------------------target 6MV------------------------ + G4double targetADim_x = 0.6*cm; + G4double targetADim_y = 0.6*cm; + G4double targetADim_z = 0.04445*cm; + G4Box* targetA_box = new G4Box("targetA_box",targetADim_x,targetADim_y,targetADim_z); + G4LogicalVolume *targetA_log = new G4LogicalVolume(targetA_box,W,"targetA_log",0,0,0); + G4double targetAPos_x = 0.0*m; + G4double targetAPos_y = 0.0*m; + G4double targetAPos_z = 0.20055*cm; + G4VPhysicalVolume *targetA_phys=0; + targetA_phys = new G4PVPlacement(0, + G4ThreeVector(targetAPos_x,targetAPos_y,targetAPos_z), + "targetA",targetA_log,this->PVWorld,false,0); + + G4double targetBDim_x = 0.6*cm; + G4double targetBDim_y = 0.6*cm; + G4double targetBDim_z = 0.07874*cm; + G4Box* targetB_box = new G4Box("targetB_box",targetBDim_x,targetBDim_y,targetBDim_z); + G4LogicalVolume *targetB_log = new G4LogicalVolume(targetB_box,Cu,"targetB_log",0,0,0); + G4double targetBPos_x = 0.0*m; + G4double targetBPos_y = 0.0*m; + G4double targetBPos_z = 0.07736*cm; + G4VPhysicalVolume *targetB_phys=0; + targetB_phys = new G4PVPlacement(0, + G4ThreeVector(targetBPos_x,targetBPos_y,targetBPos_z), + "targetB",targetB_log,this->PVWorld,false,0); + + + // *********** REGIONS for CUTS + + G4Region *regVol; + regVol= new G4Region("targetR"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.1*cm); + regVol->SetProductionCuts(cuts); + + targetA_log->SetRegion(regVol); + regVol->AddRootLogicalVolume(targetA_log); + targetB_log->SetRegion(regVol); + regVol->AddRootLogicalVolume(targetB_log); + + // Visualization attributes + + G4VisAttributes* simpleWSVisAtt, *simpleCuSVisAtt; + simpleWSVisAtt= new G4VisAttributes(magenta); + simpleWSVisAtt->SetVisibility(true); + simpleWSVisAtt->SetForceSolid(true); + simpleCuSVisAtt= new G4VisAttributes(cyan); + simpleCuSVisAtt->SetVisibility(true); + simpleCuSVisAtt->SetForceSolid(true); + targetA_log->SetVisAttributes(simpleWSVisAtt); + targetB_log->SetVisAttributes(simpleCuSVisAtt); + + return true; + break; + } + return false; +} +bool CML2Acc1::primaryCollimator() +{ + + // materials + + G4Material* Vacuum = G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Material* W = G4NistManager::Instance()->FindOrBuildMaterial("G4_W"); + + // colors + + G4Colour magenta (1.0, 0.0, 1.0); + + //---------rotation matrix first collimator -------- + + G4RotationMatrix* rotateMatrix=new G4RotationMatrix(); + rotateMatrix->rotateX(180.0*deg); + + //-------------------- the first collimator upper---------------- + + + G4double innerRadiusOfTheTubeEx = 1.0*cm; + G4double outerRadiusOfTheTubeEx = 8.*cm; + G4double hightOfTheTubeEx = 3.0*cm; + G4double startAngleOfTheTubeEx = 0.*deg; + G4double spanningAngleOfTheTubeEx = 360.*deg; + G4Tubs* UpperCollimator = new G4Tubs("UpperCollimator",innerRadiusOfTheTubeEx, + outerRadiusOfTheTubeEx,hightOfTheTubeEx, + startAngleOfTheTubeEx,spanningAngleOfTheTubeEx); + G4LogicalVolume *UpperCollimator_log = new G4LogicalVolume(UpperCollimator,W,"UpperCollimator_log",0,0,0); + + G4double UpperCollimatorPosX = 0.*cm; + G4double UpperCollimatorPosY = 0.*cm; + G4double UpperCollimatorPosZ = -1.*cm; + G4VPhysicalVolume *UpperCollimator_phys=0; + UpperCollimator_phys = new G4PVPlacement(0, + G4ThreeVector(UpperCollimatorPosX,UpperCollimatorPosY, + UpperCollimatorPosZ),"UpperCollimator", + UpperCollimator_log,this->PVWorld,false,0); + + + //-------------------- the first collimator lower---------------- + + G4double pRmin1 = 0.*cm; + + G4double pRmax1 = 0.5*cm; + G4double pRmin2 = 0.*cm; + G4double pRmax2 = 1.7658592*cm; + G4double hightOfTheCone =3.2*cm; + G4double startAngleOfTheCone = 0.*deg; + G4double spanningAngleOfTheCone = 360.*deg; + + G4Cons* collim_cone = new G4Cons("collim_cone",pRmin1,pRmax1,pRmin2, + pRmax2,hightOfTheCone,startAngleOfTheCone, + spanningAngleOfTheCone); + G4LogicalVolume *collim_log = new G4LogicalVolume(collim_cone,Vacuum,"collim_log",0,0,0); + + + G4double innerRadiusOfTheTube = 0.*cm; + G4double outerRadiusOfTheTube = 8.*cm; + G4double hightOfTheTube = 3.1*cm; + G4double startAngleOfTheTube = 0.*deg; + G4double spanningAngleOfTheTube = 360.*deg; + G4Tubs* tracker_tube = new G4Tubs("tracker_tube",innerRadiusOfTheTube, + outerRadiusOfTheTube,hightOfTheTube, + startAngleOfTheTube,spanningAngleOfTheTube); + G4LogicalVolume *tracker_log = 0; + tracker_log = new G4LogicalVolume(tracker_tube,W,"tracker_log",0,0,0); + + + G4SubtractionSolid* CylMinusCone = new G4SubtractionSolid("Cyl-Cone", + tracker_tube,collim_cone); + G4LogicalVolume *CylMinusCone_log = new G4LogicalVolume(CylMinusCone,W,"CylminusCone_log",0,0,0); + G4double CminusCPos_x = 0.*cm; + G4double CminusCPos_y = 0.*cm; + G4double CminusCPos_z = +6.2*cm; + G4VPhysicalVolume *CylMinusCone_phys =0; + CylMinusCone_phys = new G4PVPlacement(rotateMatrix, + G4ThreeVector(CminusCPos_x,CminusCPos_y,CminusCPos_z), + "CylMinusCone",CylMinusCone_log,this->PVWorld,false,0); + +//--------- Visualization attributes ------------------------------- + G4VisAttributes* simpleTungstenWVisAtt= new G4VisAttributes(magenta); + simpleTungstenWVisAtt->SetVisibility(true); + simpleTungstenWVisAtt->SetForceSolid(true); + collim_log->SetVisAttributes(simpleTungstenWVisAtt); + + + CylMinusCone_log->SetVisAttributes(simpleTungstenWVisAtt); + UpperCollimator_log->SetVisAttributes(simpleTungstenWVisAtt); + + // *********** REGIONS for CUTS + + G4Region *regVol; + regVol= new G4Region("PrymCollR"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.1*cm); + regVol->SetProductionCuts(cuts); + + collim_log->SetRegion(regVol); + regVol->AddRootLogicalVolume(collim_log); + + CylMinusCone_log->SetRegion(regVol); + regVol->AddRootLogicalVolume(CylMinusCone_log); + + UpperCollimator_log->SetRegion(regVol); + regVol->AddRootLogicalVolume(UpperCollimator_log); + + return true; +} +bool CML2Acc1::BeWindow() +{ + bool bCreated=false; + G4Material *Be=G4NistManager::Instance()->FindOrBuildMaterial("G4_Be"); + G4Region *regVol; + G4VisAttributes* simpleAlSVisAtt; + // Region for cuts + regVol= new G4Region("BeWindow"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.1*cm); + regVol->SetProductionCuts(cuts); + + G4Tubs* BeWTube = new G4Tubs("BeWindowTube", 0., 36.*mm, 0.2*mm, 0.*deg, 360.*deg); + G4LogicalVolume *BeWTubeLV = new G4LogicalVolume(BeWTube, Be, "BeWTubeLV", 0, 0, 0); + G4VPhysicalVolume *BeWTubePV=0; + BeWTubePV=new G4PVPlacement(0, G4ThreeVector(0.,0.,100.*mm), "BeWTubePV", BeWTubeLV, this->PVWorld, false, 0); + + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Yellow()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + BeWTubeLV->SetVisAttributes(simpleAlSVisAtt); + BeWTubeLV->SetRegion(regVol); + regVol->AddRootLogicalVolume(BeWTubeLV); + + bCreated=true; + return true; +} +bool CML2Acc1::flatteningFilter() +{ + switch (this->idEnergy) + { + case 6: + G4double z0, h0; + G4ThreeVector centre, halSize; + G4Material *Cu=G4NistManager::Instance()->FindOrBuildMaterial("G4_Cu"); + // Region for cuts + G4Region *regVol; + regVol= new G4Region("flatfilterR"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.5*cm); + regVol->SetProductionCuts(cuts); + + G4VisAttributes* simpleAlSVisAtt; + + // one + z0=150.0*mm; + h0=5.0/2.*cm; + centre.set(0.,0.,z0); + G4Cons *FFL1A_1Cone = new G4Cons("FFL1A_1", 0.*cm, 0.3*cm, 0.*cm, 5.*cm, h0, 0.*deg, 360.*deg); + G4LogicalVolume *FFL1A_1LV = new G4LogicalVolume(FFL1A_1Cone, Cu, "FFL1A_1LV", 0, 0, 0); + G4VPhysicalVolume *FFL1A_1PV=0; + FFL1A_1PV=new G4PVPlacement(0, centre, "FFL1A_1PV", FFL1A_1LV, this->PVWorld, false, 0); + + // two + z0+=h0; + h0=0.081/2.*cm; + z0+=h0; + centre.setZ(z0); + z0+=h0; + G4Tubs *FFL2_1Tube = new G4Tubs("FFL6_1", 0.*cm, 2.5*cm, h0, 0.*deg, 360.*deg); + G4LogicalVolume *FFL2_1LV = new G4LogicalVolume(FFL2_1Tube, Cu, "FFL2_1LV", 0, 0, 0); + G4VPhysicalVolume *FFL2_1PV=0; + FFL2_1PV=new G4PVPlacement(0, centre, "FFL2_1PV", FFL2_1LV, this->PVWorld, false, 0); + + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Red()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + FFL1A_1LV->SetVisAttributes(simpleAlSVisAtt); + FFL2_1LV->SetVisAttributes(simpleAlSVisAtt); + + FFL1A_1LV->SetRegion(regVol); + FFL2_1LV->SetRegion(regVol); + + regVol->AddRootLogicalVolume(FFL1A_1LV); + regVol->AddRootLogicalVolume(FFL2_1LV); + return true; + break; + } + return false; +} +bool CML2Acc1::ionizationChamber() +{ + bool bCreated=false; + + G4Material *material=G4NistManager::Instance()->FindOrBuildMaterial("G4_KAPTON"); + G4VisAttributes* simpleAlSVisAtt; + // Region for cuts + G4Region *regVol; + regVol= new G4Region("ionizationChamber"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.1*cm); + regVol->SetProductionCuts(cuts); + + G4Tubs* ICTubeW = new G4Tubs("ionizationChamberTube", 0., 2.*2.54*10.*mm, 0.016*25.4*mm, 0.*deg, 360.*deg); + G4Tubs* ICTubeP = new G4Tubs("ionizationChamberTube", 0., 2.*2.54*10.*mm, 0.010*25.4*mm, 0.*deg, 360.*deg); + + G4ThreeVector centre; + // W1 + centre.set(0.,0.,177.*mm); + G4LogicalVolume *PCUTubeW1LV = new G4LogicalVolume(ICTubeW, material, "ionizationChamberTubeW1LV", 0, 0, 0); + G4VPhysicalVolume *PCUtubeW1PV=0; + PCUtubeW1PV=new G4PVPlacement(0, centre, "ionizationChamberTubeW1PV", PCUTubeW1LV, this->PVWorld, false, 0); + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Blue()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + PCUTubeW1LV->SetVisAttributes(simpleAlSVisAtt); + PCUTubeW1LV->SetRegion(regVol); + regVol->AddRootLogicalVolume(PCUTubeW1LV); + + // P1 + centre.set(0.,0.,178.*mm); + G4LogicalVolume *PCUTubeP1LV = new G4LogicalVolume(ICTubeP, material, "ionizationChamberTubeP1LV", 0, 0, 0); + G4VPhysicalVolume *PCUtubeP1PV=0; + PCUtubeP1PV=new G4PVPlacement(0, centre, "ionizationChamberTubeP1PV", PCUTubeP1LV, this->PVWorld, false, 0); + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Yellow()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + PCUTubeP1LV->SetVisAttributes(simpleAlSVisAtt); + PCUTubeP1LV->SetRegion(regVol); + regVol->AddRootLogicalVolume(PCUTubeP1LV); + + // W2 + centre.set(0.,0.,179.*mm); + G4LogicalVolume *PCUTubeW2LV = new G4LogicalVolume(ICTubeW, material, "ionizationChamberTubeW2LV", 0, 0, 0); + G4VPhysicalVolume *PCUtubeW2PV=0; + PCUtubeW2PV=new G4PVPlacement(0, centre, "ionizationChamberTubeW2PV", PCUTubeW2LV, this->PVWorld, false, 0); + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Blue()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + PCUTubeW2LV->SetVisAttributes(simpleAlSVisAtt); + PCUTubeW2LV->SetRegion(regVol); + regVol->AddRootLogicalVolume(PCUTubeW2LV); + + // P2 + centre.set(0.,0.,180.*mm); + G4LogicalVolume *PCUTubeP2LV = new G4LogicalVolume(ICTubeP, material, "ionizationChamberTubeP2LV", 0, 0, 0); + G4VPhysicalVolume *PCUtubeP2PV=0; + PCUtubeP2PV=new G4PVPlacement(0, centre, "ionizationChamberTubeP2PV", PCUTubeP2LV, this->PVWorld, false, 0); + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Yellow()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + PCUTubeP2LV->SetVisAttributes(simpleAlSVisAtt); + PCUTubeP2LV->SetRegion(regVol); + regVol->AddRootLogicalVolume(PCUTubeP2LV); + + // W3 + centre.set(0.,0.,181.*mm); + G4LogicalVolume *PCUTubeW3LV = new G4LogicalVolume(ICTubeW, material, "ionizationChamberTubeW3LV", 0, 0, 0); + G4VPhysicalVolume *PCUtubeW3PV=0; + PCUtubeW3PV=new G4PVPlacement(0, centre, "ionizationChamberTubeW3PV", PCUTubeW3LV, this->PVWorld, false, 0); + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Blue()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + PCUTubeW3LV->SetVisAttributes(simpleAlSVisAtt); + PCUTubeW3LV->SetRegion(regVol); + regVol->AddRootLogicalVolume(PCUTubeW3LV); + + // P3 + centre.set(0.,0.,182.*mm); + G4LogicalVolume *PCUTubeP3LV = new G4LogicalVolume(ICTubeP, material, "ionizationChamberTubeP3LV", 0, 0, 0); + G4VPhysicalVolume *PCUtubeP3PV=0; + PCUtubeP3PV=new G4PVPlacement(0, centre, "ionizationChamberTubeP3PV", PCUTubeP3LV, this->PVWorld, false, 0); + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Yellow()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + PCUTubeP3LV->SetVisAttributes(simpleAlSVisAtt); + PCUTubeP3LV->SetRegion(regVol); + regVol->AddRootLogicalVolume(PCUTubeP3LV); + + bCreated=true; + return true; +} +bool CML2Acc1::mirror() +{ + bool bCreated=false; + G4Material *MYLAR=G4NistManager::Instance()->FindOrBuildMaterial("G4_MYLAR"); + G4VisAttributes* simpleAlSVisAtt; + // Region for cuts + G4Region *regVol; + regVol= new G4Region("Mirror"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.1*cm); + regVol->SetProductionCuts(cuts); + + G4Tubs* MirrorTube = new G4Tubs("MirrorTube", 0., 63.*mm, .5*mm, 0.*deg, 360.*deg); + G4LogicalVolume *MirrorTubeLV = new G4LogicalVolume(MirrorTube, MYLAR, "MirrorTubeLV", 0, 0, 0); + G4RotationMatrix *cRotation=new G4RotationMatrix(); + cRotation->rotateY(12.0*deg); + G4VPhysicalVolume *MirrorTubePV=0; + MirrorTubePV=new G4PVPlacement(cRotation, G4ThreeVector(0., 0., 195.*mm), "MirrorTubePV", MirrorTubeLV,this->PVWorld, false, 0); + + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Green()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + MirrorTubeLV->SetVisAttributes(simpleAlSVisAtt); + MirrorTubeLV->SetRegion(regVol); + regVol->AddRootLogicalVolume(MirrorTubeLV); + bCreated=true; + return true; +} + +void CML2Acc1::SetJawAperture(G4int idJaw, G4ThreeVector ¢re, G4ThreeVector halfSize, G4double aperture, G4RotationMatrix *cRotation) +{ + using namespace std; + G4double theta, x, y, z, dx, dy, dz, beta, R, top; + x=centre.getX(); + y=centre.getY(); + z=centre.getZ(); + top=z-78./2.; + theta=fabs(atan(aperture/this->SSD)); + dx=halfSize.getX(); + dy=halfSize.getY(); + dz=halfSize.getZ(); + + G4double p1x, p1y, p2x, p2y, dist; + + switch (idJaw) + { + case 1: //idJaw1XV2100: + centre.set(z*sin(theta)+dx*cos(theta), y, z*cos(theta)-dx*sin(theta)); + beta=fabs(atan(dx/dz)); + R=std::sqrt(dx*dx+dz*dz); + p1x=centre.getX()-R*sin(theta+beta); + p1y=centre.getZ()-R*cos(theta+beta); + p2x=centre.getX()+R*sin(theta-beta); + p2y=centre.getZ()+R*cos(theta-beta); + dist=std::sqrt((p1x-p2x)*(p1x-p2x)+(p1y-p2y)*(p1y-p2y)); + + cRotation->rotateY(-theta); + halfSize.set(fabs(dx*cos(theta)+dz*sin(theta)), fabs(dy), fabs(dz*cos(theta)+dx*sin(theta))); + break; + case 2: //idJaw2XV2100: + centre.set(-(z*sin(theta)+dx*cos(theta)), y, z*cos(theta)-dx*sin(theta)); + beta=fabs(atan(dx/dz)); + R=std::sqrt(dx*dx+dz*dz); + p1x=centre.getX()+R*sin(theta+beta); + p1y=centre.getZ()-R*cos(theta+beta); + p2x=centre.getX()-R*sin(theta-beta); + p2y=centre.getZ()+R*cos(theta-beta); + dist=std::sqrt((p1x-p2x)*(p1x-p2x)+(p1y-p2y)*(p1y-p2y)); + + cRotation->rotateY(theta); + halfSize.set(fabs(dx*cos(theta)+dz*sin(theta)), fabs(dy), fabs(dz*cos(theta)+dx*sin(theta))); + break; + case 3: //idJaw1YV2100: + centre.set(x, z*sin(theta)+dy*cos(theta), z*cos(theta)-dy*sin(theta)); + beta=fabs(atan(dy/dz)); + R=std::sqrt(dy*dy+dz*dz); + p1x=centre.getY()-R*sin(theta+beta); + p1y=centre.getZ()-R*cos(theta+beta); + p2x=centre.getY()+R*sin(theta-beta); + p2y=centre.getZ()+R*cos(theta-beta); + + cRotation->rotateX(theta); + halfSize.set(fabs(dx), fabs(dy*cos(theta)+dz*sin(theta)), fabs(dz*cos(theta)+dy*sin(theta))); + break; + case 4: //idJaw2YV2100: + centre.set(x, -(z*sin(theta)+dy*cos(theta)), z*cos(theta)-dy*sin(theta)); + beta=fabs(atan(dy/dz)); + R=std::sqrt(dy*dy+dz*dz); + p1x=centre.getY()+R*sin(theta+beta); + p1y=centre.getZ()-R*cos(theta+beta); + p2x=centre.getY()-R*sin(theta-beta); + p2y=centre.getZ()+R*cos(theta-beta); + dist=std::sqrt((p1x-p2x)*(p1x-p2x)+(p1y-p2y)*(p1y-p2y)); + + cRotation->rotateX(-theta); + halfSize.set(fabs(dx), fabs(dy*cos(theta)+dz*sin(theta)), fabs(dz*cos(theta)+dy*sin(theta))); + break; + } +} + + + +bool CML2Acc1::Jaw1X() +{ + bool bCreated=false; + G4Material *steel1=this->otherMaterials("steel1"); + G4String name="Jaws1X"; + G4Box *box; + G4LogicalVolume *logVol; + G4VPhysicalVolume *phVol; + G4VisAttributes* simpleAlSVisAtt; + + G4ThreeVector centre, halfSize; + G4RotationMatrix *cRotation=new G4RotationMatrix(); + centre.set(0.,0.,(320.+80./2.)*mm); + halfSize.set(45.*mm, 93.*mm, 78./2.*mm); + box = new G4Box(name+"Box", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + logVol = new G4LogicalVolume(box, steel1, name+"LV", 0, 0, 0); + this->SetJawAperture(1, centre, halfSize, this->jaw1XAperture, cRotation); + phVol= new G4PVPlacement(cRotation, centre, name+"PV", logVol, this->PVWorld, false, 0); + + // Region for cuts + G4Region *regVol; + regVol= new G4Region(name+"R"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(2.*cm); + regVol->SetProductionCuts(cuts); + logVol->SetRegion(regVol); + regVol->AddRootLogicalVolume(logVol); + + // Visibility + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Blue()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + logVol->SetVisAttributes(simpleAlSVisAtt); + + bCreated=true; + return bCreated; +} +bool CML2Acc1::Jaw2X() +{ + bool bCreated=false; + G4Material *steel1=this->otherMaterials("steel1"); + G4String name="Jaws2X"; + G4Box *box; + G4LogicalVolume *logVol; + G4VPhysicalVolume *phVol; + G4VisAttributes* simpleAlSVisAtt; + + G4ThreeVector centre, halfSize; + G4RotationMatrix *cRotation=new G4RotationMatrix(); + centre.set(0.,0.,(320.+80./2.)*mm); + halfSize.set(45.*mm, 93.*mm, 78./2.*mm); + box = new G4Box(name+"Box", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + logVol = new G4LogicalVolume(box, steel1, name+"LV", 0, 0, 0); + this->SetJawAperture(2, centre, halfSize, this->jaw2XAperture, cRotation); + phVol= new G4PVPlacement(cRotation, centre, name+"PV", logVol, this->PVWorld, false, 0); + + // Region for cuts + G4Region *regVol; + regVol= new G4Region(name+"R"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(2.*cm); + regVol->SetProductionCuts(cuts); + logVol->SetRegion(regVol); + regVol->AddRootLogicalVolume(logVol); + + // Visibility + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Cyan()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + logVol->SetVisAttributes(simpleAlSVisAtt); + + bCreated=true; + return bCreated; +} +bool CML2Acc1::Jaw1Y() +{ + bool bCreated=false; + G4Material *steel1=this->otherMaterials("steel1"); + G4String name="Jaws1Y"; + G4Box *box; + G4LogicalVolume *logVol; + G4VPhysicalVolume *phVol; + G4VisAttributes* simpleAlSVisAtt; + + G4ThreeVector centre, halfSize; + G4RotationMatrix *cRotation=new G4RotationMatrix(); + centre.set(0.,0.,(230.+80./2.)*mm); + halfSize.set(93.*mm, 35.*mm, 78./2.*mm); + box = new G4Box(name+"Box", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + logVol = new G4LogicalVolume(box, steel1, name+"LV", 0, 0, 0); + this->SetJawAperture(3, centre, halfSize, this->jaw1YAperture, cRotation); + phVol= new G4PVPlacement(cRotation, centre, name+"PV", logVol, this->PVWorld, false, 0); + + // Region for cuts + G4Region *regVol; + regVol= new G4Region(name+"R"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(2.*cm); + regVol->SetProductionCuts(cuts); + logVol->SetRegion(regVol); + regVol->AddRootLogicalVolume(logVol); + + // Visibility + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Red()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + logVol->SetVisAttributes(simpleAlSVisAtt); + + bCreated=true; + return bCreated; +} +bool CML2Acc1::Jaw2Y() +{ + bool bCreated=false; + G4Material *steel1=this->otherMaterials("steel1"); + G4String name="Jaws2Y"; + G4Box *box; + G4LogicalVolume *logVol; + G4VPhysicalVolume *phVol; + G4VisAttributes* simpleAlSVisAtt; + + G4ThreeVector centre, halfSize; + G4RotationMatrix *cRotation=new G4RotationMatrix(); + centre.set(0.,0.,(230.+80./2.)*mm); + halfSize.set(93.*mm, 35.*mm, 78./2.*mm); + box = new G4Box(name+"Box", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + logVol = new G4LogicalVolume(box, steel1, name+"LV", 0, 0, 0); + this->SetJawAperture(4, centre, halfSize, this->jaw2YAperture, cRotation); + phVol= new G4PVPlacement(cRotation, centre, name+"PV", logVol, this->PVWorld, false, 0); + + // Region for cuts + + G4Region *regVol; + regVol= new G4Region(name+"R"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(2.*cm); + regVol->SetProductionCuts(cuts); + logVol->SetRegion(regVol); + regVol->AddRootLogicalVolume(logVol); + + // Visibility + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Magenta()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + logVol->SetVisAttributes(simpleAlSVisAtt); + + bCreated=true; + return bCreated; +} +bool CML2Acc1::MLC() +{ + bool bCreated=false; + // material + G4Material *Fe=G4NistManager::Instance()->FindOrBuildMaterial("G4_Fe"); + G4VisAttributes* simpleAlSVisAtt; + // Region for cuts + G4Region *regVol; + regVol= new G4Region("MLCR"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(1.0*cm); + regVol->SetProductionCuts(cuts); + + G4ThreeVector boxSize; + + G4ThreeVector centreStart; + centreStart.set(0.,0.,(330.+600.)/2.*mm); + + boxSize.set(6./2.*mm, 180./2.*mm, 50./2.*mm); + + // single leaf + G4Box* boxLeaf =new G4Box("LeafBox", boxSize.getX(), boxSize.getY(), boxSize.getZ()); + + G4LogicalVolume *leafLVA = new G4LogicalVolume(boxLeaf, Fe, "leafSolidALV", 0, 0, 0); + G4LogicalVolume *leafLVB = new G4LogicalVolume(boxLeaf, Fe, "leafSolidBLV", 0, 0, 0); + + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Cyan()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + leafLVA->SetVisAttributes(simpleAlSVisAtt); + leafLVA->SetRegion(regVol); + regVol->AddRootLogicalVolume(leafLVA); + + simpleAlSVisAtt= new G4VisAttributes(G4Colour::Green()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + leafLVB->SetVisAttributes(simpleAlSVisAtt); + leafLVB->SetRegion(regVol); + regVol->AddRootLogicalVolume(leafLVB); + + int i; + G4String PVname; + G4VPhysicalVolume *leafPhys; + int j=0; + + G4ThreeVector centre; + int nhalfLeaves=(int)(this->leavesA.size()/2.); + centre= centreStart + G4ThreeVector(-nhalfLeaves*boxSize.getX(), 0.,0.); + for (i=0;i<(int)this->leavesA.size(); i++) + { + G4String s; + char appo[10]; + sprintf(appo,"%d",i); + s=appo; + PVname="leafA"+s; + centre.setX(centre.getX()+boxSize.getX()*2.); + centre.setY(-boxSize.getY()-this->leavesA[i]); + leafPhys=new G4PVPlacement(0, centre, PVname, leafLVA, this->PVWorld, false, i); + j++; + } + nhalfLeaves=(int)(this->leavesB.size()/2.); + centre=centreStart+G4ThreeVector(-nhalfLeaves*boxSize.getX(), 0.,0.); + for (i=0;i<(int)this->leavesB.size(); i++) + { + G4String s; + char appo[10]; + sprintf(appo,"%d",i); + s=appo; + PVname="leafB"+s; + centre.setX(centre.getX()+boxSize.getX()*2.); + centre.setY(+boxSize.getY()+this->leavesB[i]); + leafPhys=new G4PVPlacement(0, centre, PVname, leafLVB, this->PVWorld, false, i); + j++; + } + bCreated=true; + return bCreated; +} + diff --git a/examples/advanced/medical_linac/src/ML2Acc1Messenger.cc b/examples/advanced/medical_linac/src/ML2Acc1Messenger.cc new file mode 100755 index 0000000000..24c3c302aa --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2Acc1Messenger.cc @@ -0,0 +1,136 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2Acc1Messenger.hh" +#include "ML2Acc1.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + +CML2Acc1Messenger::CML2Acc1Messenger(CML2Acc1 *acc1) : pAcc1(acc1) +{ + this->idEnergy=new G4UIcmdWithAnInteger("/accelerator/idEnergy",this); + this->idEnergy->SetDefaultValue(6); + + this->leavesA=new G4UIcmdWithADoubleAndUnit("/accelerator/leavesA", this); + this->leavesA->SetDefaultUnit("mm"); + this->leavesA->SetDefaultValue(300.); + + this->leavesB=new G4UIcmdWithADoubleAndUnit("/accelerator/leavesB", this); + this->leavesB->SetDefaultUnit("mm"); + this->leavesB->SetDefaultValue(300.); + + this->aperture1X=new G4UIcmdWithADoubleAndUnit("/accelerator/aperture1X", this); + this->aperture1X->SetDefaultUnit("mm"); + this->aperture1X->SetDefaultValue(100.); + + this->aperture1Y=new G4UIcmdWithADoubleAndUnit("/accelerator/aperture1Y", this); + this->aperture1Y->SetDefaultUnit("mm"); + this->aperture1Y->SetDefaultValue(100.); + + this->aperture2X=new G4UIcmdWithADoubleAndUnit("/accelerator/aperture2X", this); + this->aperture2X->SetDefaultUnit("mm"); + this->aperture2X->SetDefaultValue(-100.); + + this->aperture2Y=new G4UIcmdWithADoubleAndUnit("/accelerator/aperture2Y", this); + this->aperture2Y->SetDefaultUnit("mm"); + this->aperture2Y->SetDefaultValue(-100.); + + this->SSD=new G4UIcmdWithADoubleAndUnit("/accelerator/SSD", this); + this->SSD->SetDefaultUnit("mm"); + this->SSD->SetDefaultValue(1000.); + +} + +CML2Acc1Messenger::~CML2Acc1Messenger(void) +{ + delete idEnergy; + delete aperture1X; + delete aperture2X; + delete aperture1Y; + delete aperture2Y; + delete SSD; + delete leavesA; + delete leavesB; +} +void CML2Acc1Messenger::SetNewValue(G4UIcommand* cmd, G4String newValue) +{ + if (cmd==this->aperture1X) + { + this->aperture1X->GetNewUnitValue(newValue); + this->pAcc1->setJaw1X(this->aperture1X->GetNewDoubleValue(newValue)); + } + + if (cmd==this->aperture1Y) + { + this->aperture1Y->GetNewUnitValue(newValue); + this->pAcc1->setJaw1Y(this->aperture1Y->GetNewDoubleValue(newValue)); + } + + if (cmd==this->aperture2X) + { + this->aperture2X->GetNewUnitValue(newValue); + this->pAcc1->setJaw2X(this->aperture2X->GetNewDoubleValue(newValue)); + } + if (cmd==this->aperture2Y) + { + this->aperture2Y->GetNewUnitValue(newValue); + this->pAcc1->setJaw2Y(this->aperture2Y->GetNewDoubleValue(newValue)); + } + + if (cmd==this->SSD) + { + this->SSD->GetNewUnitValue(newValue); + this->pAcc1->setSSD(this->SSD->GetNewDoubleValue(newValue)); + } + + if (cmd==this->leavesA) + {this->pAcc1->setLeavesAx(this->leavesA->GetNewDoubleValue(newValue));} + + if (cmd==this->leavesB) + {this->pAcc1->setLeavesBx(this->leavesA->GetNewDoubleValue(newValue));} + + + if (cmd==this->idEnergy) + {this->pAcc1->setidEnergy(this->idEnergy->GetNewIntValue(newValue));} + +} diff --git a/examples/advanced/medical_linac/src/ML2AcceleratorConstruction.cc b/examples/advanced/medical_linac/src/ML2AcceleratorConstruction.cc new file mode 100755 index 0000000000..1faeb79676 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2AcceleratorConstruction.cc @@ -0,0 +1,106 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2AcceleratorConstruction.hh" +#include "ML2AcceleratorConstructionMessenger.hh" +#include "G4UImanager.hh" + + +CML2AcceleratorConstruction::CML2AcceleratorConstruction(void) +{ + this->acceleratorConstructionMessenger=new CML2AcceleratorConstructionMessenger(this); +} + +CML2AcceleratorConstruction::~CML2AcceleratorConstruction(void) +{ + delete this->PVAccWorld; +} +CML2AcceleratorConstruction* CML2AcceleratorConstruction::instance = 0; + +CML2AcceleratorConstruction* CML2AcceleratorConstruction::GetInstance(void) +{ + if (instance == 0) + { + instance = new CML2AcceleratorConstruction(); + } + return instance; +} +void CML2AcceleratorConstruction::design(void) +{ +// switch between two different phantoms according to the main macro selection (actually only one accelerator is available + + if (this->AcceleratorName=="acc1") + {this->accelerator1=CML2Acc1::GetInstance();} + +// read the messenger data related to the accelerator selected + G4UImanager* UI = G4UImanager::GetUIpointer(); + G4String command = "/control/execute "; + UI->ApplyCommand(command+this->AcceleratorSpecficationsFileName); +} + +void CML2AcceleratorConstruction::Construct(G4VPhysicalVolume *PVWorld) +{ +// a call to select the right accelerator + this->design(); +// create the accelerator-world box + G4Material *Vacuum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4ThreeVector halfSize, centre; + centre.set(0.*mm, 0.*mm, -1300.*mm); + halfSize.set(800.*mm, 800.*mm, 1000.*mm); + G4Box *accWorldB = new G4Box("accWorldG", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + G4LogicalVolume *accWorldLV = new G4LogicalVolume(accWorldB, Vacuum, "accWorldL", 0, 0, 0); + G4VisAttributes* simpleAlSVisAtt= new G4VisAttributes(G4Colour::White()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceWireframe(true); + accWorldLV->SetVisAttributes(simpleAlSVisAtt); + + G4RotationMatrix *rotation=new G4RotationMatrix(); + centre=*rotation*centre; + centre.setY(-centre.getY()); + + this->PVAccWorld= new G4PVPlacement(rotation, centre, "acceleratorBox", accWorldLV, PVWorld, false, 0); + +// create the actual accelerator + if (this->AcceleratorName=="acc1") + {this->accelerator1->Construct(PVAccWorld);} +} + diff --git a/examples/advanced/medical_linac/src/ML2AcceleratorConstructionMessenger.cc b/examples/advanced/medical_linac/src/ML2AcceleratorConstructionMessenger.cc new file mode 100755 index 0000000000..5b8b2a1b4a --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2AcceleratorConstructionMessenger.cc @@ -0,0 +1,95 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2AcceleratorConstructionMessenger.hh" +#include "ML2AcceleratorConstruction.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + +CML2AcceleratorConstructionMessenger::CML2AcceleratorConstructionMessenger(CML2AcceleratorConstruction *acceleratorConstructor) : pAcceleratorConstructor (acceleratorConstructor) +{ + this->AcceleratorName=new G4UIcmdWithAString("/accelerator/AcceleratorName",this); + this->AcceleratorName->SetDefaultValue("nome del mio acceleratore"); + + this->acceleratorSpecficationsFile=new G4UIcmdWithAString("/accelerator/AcceleratorSpecficationsFileName",this); + this->acceleratorSpecficationsFile->SetDefaultValue(""); + + this->rotationX=new G4UIcmdWithADoubleAndUnit("/accelerator/rotationX", this); + this->rotationX->SetDefaultUnit("deg"); + this->rotationX->SetDefaultValue(0); + + this->rotationY=new G4UIcmdWithADoubleAndUnit("/accelerator/rotationY", this); + this->rotationY->SetDefaultUnit("deg"); + this->rotationY->SetDefaultValue(0); + + this->rotationZ=new G4UIcmdWithADoubleAndUnit("/accelerator/rotationZ", this); + this->rotationZ->SetDefaultUnit("deg"); + this->rotationZ->SetDefaultValue(0); +} + +CML2AcceleratorConstructionMessenger::~CML2AcceleratorConstructionMessenger(void) +{ + delete AcceleratorName; + delete rotationX; + delete rotationY; + delete rotationZ; + delete acceleratorSpecficationsFile; +} +void CML2AcceleratorConstructionMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) +{ + + if (cmd==this->AcceleratorName) + {this->pAcceleratorConstructor->setAcceleratorName(newValue);} + + if (cmd==this->acceleratorSpecficationsFile) + {this->pAcceleratorConstructor->setAcceleratorSpecficationsFileName(newValue);} + + if (cmd==this->rotationX) + {this->pAcceleratorConstructor->setAcceleratorRotationX(this->rotationX->GetNewDoubleValue(newValue));} + + if (cmd==this->rotationY) + {this->pAcceleratorConstructor->setAcceleratorRotationY(this->rotationY->GetNewDoubleValue(newValue));} + + if (cmd==this->rotationZ) + {this->pAcceleratorConstructor->setAcceleratorRotationZ(this->rotationZ->GetNewDoubleValue(newValue));} +} diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedEnergy.cc b/examples/advanced/medical_linac/src/ML2CInputData.cc old mode 100644 new mode 100755 similarity index 66% rename from examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedEnergy.cc rename to examples/advanced/medical_linac/src/ML2CInputData.cc index 247c5436bd..586aab51b4 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedEnergy.cc +++ b/examples/advanced/medical_linac/src/ML2CInputData.cc @@ -23,35 +23,33 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // -// File name: RadmonGeneratorFixedEnergy.cc -// Creation date: Oct 2005 -// Main author: Riccardo Capra +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // -// Id: $Id: RadmonGeneratorFixedEnergy.cc,v 1.3 2006/06/29 16:16:19 gunter Exp $ -// Tag: $Name: geant4-09-02 $ +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // +//*******************************************************// -// Include files -#include "RadmonGeneratorFixedEnergy.hh" -#include "G4ParticleGun.hh" -void RadmonGeneratorFixedEnergy :: ConvolveParticleGun(G4ParticleGun & gun) +#include "ML2CInputData.hh" + +CML2CInputData::CML2CInputData(void) { - G4double energy(GetAttributeAsMeasure("Energy", "Energy", -1.)); - - if (energy<0) - { - G4cout << "RadmonGeneratorFixedEnergy::ConvolveParticleGun: \"Energy\" not defined." << G4endl; - return; - } - - gun.SetParticleEnergy(gun.GetParticleEnergy()+energy); + this->bOnlyVisio=false; + +// instantiate the messenger for the general and convergence data + this->ML2MainMessenger=new CML2MainMessenger(this); } - - -RadmonVGeneratorWithLabel * RadmonGeneratorFixedEnergy :: New(void) const +CML2CInputData::~CML2CInputData(void) { - return new RadmonGeneratorFixedEnergy; } diff --git a/examples/advanced/medical_linac/src/ML2Convergence.cc b/examples/advanced/medical_linac/src/ML2Convergence.cc new file mode 100755 index 0000000000..19b98baf59 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2Convergence.cc @@ -0,0 +1,102 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2Convergence.hh" + +CML2Convergence::CML2Convergence(G4int seed, G4int saving_in_Selected_Voxels_every_events, G4String FileExperimentalData, G4bool bCompareExp, G4int minNumberOfEvents) +:ML2ExpVoxels(0) +{ + this->bCompareExp=bCompareExp; + this->fileExperimentalData=FileExperimentalData; + +// if the flag compareExp if true and the experimental data is given create the class CML2ExpVoxels + if (this->bCompareExp && this->fileExperimentalData!="") + { + this->ML2ExpVoxels=new CML2ExpVoxels(this->bCompareExp, saving_in_Selected_Voxels_every_events, seed, FileExperimentalData); + if (!this->ML2ExpVoxels->loadData()) + { + this->ML2ExpVoxels=0; + } + } + this->minNumberOfEvents=minNumberOfEvents; +} + +CML2Convergence::~CML2Convergence(void) +{ + if (this->ML2ExpVoxels!=0) + {delete this->ML2ExpVoxels;} + +} +void CML2Convergence::add(const G4Step* aStep) +{ +// accumulate events in the CML2ExpVoxels class (if created) + if (this->ML2ExpVoxels!=0) + { + G4double energyDep=aStep->GetTotalEnergyDeposit(); + if (energyDep>0.) + { + G4double density=aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetMaterial()->GetDensity(); + this->ML2ExpVoxels->add(aStep->GetPreStepPoint()->GetPosition(), energyDep, density); + } + } +} +G4bool CML2Convergence::runAgain() +{ + G4bool bAgain=true; + if (this->ML2ExpVoxels!=0) + { + bAgain=!this->convergenceCriteria(); + return bAgain; + } + return bAgain; +} +G4bool CML2Convergence::convergenceCriteria() +{ + if (this->bCompareExp) + { + if (this->ML2ExpVoxels->getMinNumberOfEvents() > this->minNumberOfEvents) + {return false;} + else + {return true;} + } + return false; +} diff --git a/examples/advanced/radiation_monitor/sensitivity/src/RadmonHitsManager.cc b/examples/advanced/medical_linac/src/ML2DummySD.cc old mode 100644 new mode 100755 similarity index 67% rename from examples/advanced/radiation_monitor/sensitivity/src/RadmonHitsManager.cc rename to examples/advanced/medical_linac/src/ML2DummySD.cc index 86e6d1422c..4f0ce003f1 --- a/examples/advanced/radiation_monitor/sensitivity/src/RadmonHitsManager.cc +++ b/examples/advanced/medical_linac/src/ML2DummySD.cc @@ -23,42 +23,31 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // -// File name: RadmonHitsManager.cc -// Creation date: Nov 2005 -// Main author: Riccardo Capra +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // -// Id: $Id: RadmonHitsManager.cc,v 1.3 2006/06/29 16:20:32 gunter Exp $ -// Tag: $Name: geant4-09-02 $ +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // +//*******************************************************// -// Include files -#include "RadmonHitsManager.hh" -#include "RadmonHit.hh" - RadmonHitsManager :: RadmonHitsManager() -: - idCounter(0), - allocator(new Allocator) +#include "ML2DummySD.hh" + +CML2DummySD::CML2DummySD(G4String name) : G4VSensitiveDetector(name) { } - - - - -G4int RadmonHitsManager :: ReserveIdByLabel(const G4String & label) +CML2DummySD::~CML2DummySD(void) { - const IdLabels::const_iterator i(idLabels.find(label)); - - if (i!=idLabels.end()) - return i->second; - - G4int id(idCounter); - idCounter++; - - idLabels[label]=id; - return id; } - -RadmonHitsManager * RadmonHitsManager :: instance(0); +G4bool CML2DummySD::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist) +{return true;} diff --git a/examples/advanced/medical_linac/src/MedLinacEventAction.cc b/examples/advanced/medical_linac/src/ML2EventAction.cc old mode 100644 new mode 100755 similarity index 67% rename from examples/advanced/medical_linac/src/MedLinacEventAction.cc rename to examples/advanced/medical_linac/src/ML2EventAction.cc index ec2452eccc..2643e14410 --- a/examples/advanced/medical_linac/src/MedLinacEventAction.cc +++ b/examples/advanced/medical_linac/src/ML2EventAction.cc @@ -23,16 +23,25 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: MedLinacEventAction.cc,v 1.5 2006/06/29 16:04:23 gunter Exp $ +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // -// Code developed by: M. Piergentili +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac // - -#include "MedLinacEventAction.hh" -#include "MedLinacPhantomHit.hh" -#include "MedLinacPhantomSD.hh" -#include "MedLinacDetectorConstruction.hh" +//*******************************************************// + + +#include "ML2EventAction.hh" + #include "G4Event.hh" #include "G4EventManager.hh" #include "G4HCofThisEvent.hh" @@ -44,29 +53,23 @@ #include "G4UImanager.hh" #include "G4ios.hh" -#ifdef G4ANALYSIS_USE -#include"MedLinacAnalysisManager.hh" -#endif - - // Retrieve information about the energy deposit in the phantom ... - -MedLinacEventAction::MedLinacEventAction() : +CML2EventAction::CML2EventAction() : drawFlag("all" ) { } -MedLinacEventAction::~MedLinacEventAction() +CML2EventAction::~CML2EventAction() { } -void MedLinacEventAction::BeginOfEventAction(const G4Event*) +void CML2EventAction::BeginOfEventAction(const G4Event*) { } -void MedLinacEventAction::EndOfEventAction(const G4Event* evt) +void CML2EventAction::EndOfEventAction(const G4Event* evt) { // extract the trajectories and draw them ... @@ -78,17 +81,15 @@ void MedLinacEventAction::EndOfEventAction(const G4Event* evt) for (G4int i=0; iGetTrajectoryContainer()))[i]); - if(drawFlag == "all") trj->DrawTrajectory(50); - else if((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(50); - else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.)) - trj->DrawTrajectory(50); - } + G4Trajectory* trj = (G4Trajectory*) + ((*(evt->GetTrajectoryContainer()))[i]); + if(drawFlag == "all") trj->DrawTrajectory(50); + else if((drawFlag == "charged")&&(trj->GetCharge() != 0.)) + trj->DrawTrajectory(50); + else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.)) + trj->DrawTrajectory(50); + + + } } } - - - - diff --git a/examples/advanced/medical_linac/src/ML2ExpVoxels.cc b/examples/advanced/medical_linac/src/ML2ExpVoxels.cc new file mode 100755 index 0000000000..f1ae273ad8 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2ExpVoxels.cc @@ -0,0 +1,292 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2ExpVoxels.hh" + +#include + +CML2ExpVoxels::CML2ExpVoxels(G4bool bHasExperimentalData, G4int saving_in_Selected_Voxels_every_events, G4int seed, G4String FileExperimentalData):startCurve(0), stopCurve(0),chi2Factor(0) +{ + char a[10]; + sprintf(a,"%d", seed); + this->seedName=(G4String)a; + this->saving_in_Selected_Voxels_every_events=saving_in_Selected_Voxels_every_events; + + this->fullFileOut="EXP_seed_"+this->seedName+".m"; +#ifdef ML2FILEOUT +// full path of the output data + char *MyDir=new char[1000]; + MyDir=getenv("ML2FILEOUT"); + G4String myDir=(G4String) MyDir; + this->fullFileOut=myDir+"/EXP_seed_"+this->seedName+".m"; +#endif + + this->fullFileIn=FileExperimentalData; +#ifdef ML2FILEIN +// full path of the experimental data + MyDir=getenv("ML2FILEIN"); + myDir=(G4String) MyDir; + this->fullFileIn=myDir+"/"+FileExperimentalData; +#endif + + this->nParticle=this->nTotalEvents=0; + +// define the extremes of global-volume containing all experimental voxels + G4double extr=100000000000.; + this->minZone.set(extr, extr, extr); + this->maxZone.set(-extr, -extr, -extr); + this->bHasExperimentalData=bHasExperimentalData; +} + +CML2ExpVoxels::~CML2ExpVoxels(void) +{ + delete [] this->startCurve; + delete [] this->stopCurve; + delete [] this->chi2Factor; + delete this->startCurve; + delete this->stopCurve; + delete this->chi2Factor; +} +G4bool CML2ExpVoxels::loadData(void) +{ + this->bHasExperimentalData=true; + std::ifstream in; + + Svoxel voxel; + G4ThreeVector pos, halfSize; + G4double expDose; + + in.open(this->fullFileIn, std::ios::in); + if (in !=0) + { + G4String appo; + char a[1000]; + in.getline(a,1000,'\n'); this->headerText1=(G4String)a; + in.getline(a,1000,'\n'); + in >> this->nCurves; + this->startCurve=new G4int[this->nCurves]; + this->stopCurve=new G4int[this->nCurves]; + this->chi2Factor=new G4double[this->nCurves]; + for (int i=0; i< this->nCurves; i++) + { + this->chi2Factor[i]=0.; + in >> this->startCurve[i]; + in >> this->stopCurve[i]; + in >> this->chi2Factor[i]; + } + in.getline(a,1000,'\n'); + in.getline(a,1000,'\n'); this->headerText2=(G4String)a; + + while (!in.eof()) + { + in >> pos; + in >> halfSize; + if (this->bHasExperimentalData) + { + in >> expDose; + voxel.expDose=expDose/100.*(joule/kg); // input data in cGy + } + else + { + voxel.expDose=0.; + } + voxel.pos=pos; + voxel.halfSize=halfSize; + voxel.depEnergy=0.; + voxel.depEnergy2=0.; + voxel.nEvents=0; + voxel.depEnergyNorm=0.; + voxel.depEnergyNormError=0.; + this->voxels.push_back(voxel); + +// calculate the actual extremes of the global-volume containing all the experimental data + if (this->minZone.getX()>pos.getX()-halfSize.getX()) + {this->minZone.setX(pos.getX()-halfSize.getX());} + if (this->maxZone.getX()maxZone.setX(pos.getX()+halfSize.getX());} + + if (this->minZone.getY()>pos.getY()-halfSize.getY()) + {this->minZone.setY(pos.getY()-halfSize.getY());} + if (this->maxZone.getY()maxZone.setY(pos.getY()+halfSize.getY());} + + if (this->minZone.getZ()>pos.getZ()-halfSize.getZ()) + {this->minZone.setZ(pos.getZ()-halfSize.getZ());} + if (this->maxZone.getZ()maxZone.setZ(pos.getZ()+halfSize.getZ());} + + } + } + else + { + std::cout << "ERROR I can't find the experimental data file" << G4endl; + return false; + } + in.close(); + return true; +} +void CML2ExpVoxels::add(G4ThreeVector pos, G4double depEnergy, G4double density) +{ + G4ThreeVector minPos, maxPos; + G4bool newEvent=false; + G4double voxelMass, dose; + +// check if the event is inside the global-volume + if (this->minZone.getX()<= pos.getX() && pos.getX()maxZone.getX() && + this->minZone.getY()<= pos.getY() && pos.getY()maxZone.getY() && + this->minZone.getZ()<= pos.getZ() && pos.getZ()maxZone.getZ()) + { +// look for the voxel containing the event + for (int i=0; i<(int)this->voxels.size(); i++) + { + minPos=this->voxels[i].pos-this->voxels[i].halfSize; + maxPos=this->voxels[i].pos+this->voxels[i].halfSize; + if (minPos.getX()<= pos.getX() && pos.getX()voxels[i].halfSize.getX(); + a2=this->voxels[i].halfSize.getY(); + a3=this->voxels[i].halfSize.getZ(); + + voxelMass=density*this->voxels[i].halfSize.getX()*this->voxels[i].halfSize.getY()*this->voxels[i].halfSize.getZ(); +// calculate the dose + dose=depEnergy/voxelMass; + this->voxels[i].nEvents++; + this->voxels[i].depEnergy+=dose; + this->voxels[i].depEnergy2+=dose*dose; + newEvent=true; + } + } + if (newEvent) + { +// save data + this->nTotalEvents++; + if (this->nTotalEvents%this->saving_in_Selected_Voxels_every_events==0 && this->nTotalEvents>0) + { + this->saveResults(this->fullFileOut, this->voxels); + } + } + } +} + +G4int CML2ExpVoxels::getMinNumberOfEvents() +{ + int n=10000000; + for (int i=this->startCurve[0];istopCurve[this->nCurves];i++) + { + if (n>voxels[i].nEvents){n = voxels[i].nEvents;} + } + return n; +} +void CML2ExpVoxels::saveHeader(G4String fullOutFileName) +{ + std::ofstream out; + out.open(fullOutFileName, std::ios::out); + out <<"% "<< this->headerText1 << G4endl; + out <<"n"<< this->seedName<<"="<< this->nCurves<<";" << G4endl; + out <<"fh"<< this->seedName<<"=["<< G4endl; + for (int i=0; i< this->nCurves; i++) + { + out << this->startCurve[i] << '\t'; + out << this->stopCurve[i] << '\t'; + out << this->chi2Factor[i]<< G4endl; + } + out << "];"< voxels) +{ + this->calculateNormalizedEd(voxels); + this->saveHeader(fullOutFileName); + std::ofstream out; + out.open(fullOutFileName, std::ios::app); + out <<"d"<< this->seedName<<"=["<< G4endl; + for (int i=0; i<(int)voxels.size(); i++) + { + out < &voxels) +{ + int i,j; + G4double cs, cc; + int n; + G4double d2, dd; + G4double v, appoo; + for (j=0;jnCurves;j++) + { + cs=cc=0.; + for (i=this->startCurve[j];istopCurve[j];i++) + { + cs+=voxels[i].depEnergy*voxels[i].expDose; + cc+=voxels[i].depEnergy*voxels[i].depEnergy; + } + if (cc>0.) + { + this->chi2Factor[j]=cs/cc; + } + for (i=this->startCurve[j];istopCurve[j];i++) + { + dd=voxels[i].depEnergy*voxels[i].depEnergy; + d2=voxels[i].depEnergy2; + n=voxels[i].nEvents; + voxels[i].depEnergyNorm=chi2Factor[j]*voxels[i].depEnergy; + appoo=chi2Factor[j]; + appoo=voxels[i].depEnergy; + appoo=voxels[i].depEnergyNorm; + v=n*d2-dd; + if (v<0.){v=0;} + if (n>1){voxels[i].depEnergyNormError=this->chi2Factor[j]*std::sqrt(v/(n-1));} + if (n==1){voxels[i].depEnergyNormError=voxels[i].depEnergyNorm;} + } + } +} + + diff --git a/examples/advanced/medical_linac/src/ML2MainMessenger.cc b/examples/advanced/medical_linac/src/ML2MainMessenger.cc new file mode 100755 index 0000000000..4091fc6b03 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2MainMessenger.cc @@ -0,0 +1,169 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2MainMessenger.hh" + + +CML2MainMessenger::CML2MainMessenger(CML2CInputData *CInputData) +{ + this->CInputData=CInputData; + this->phaseSpaceCentre=new G4UIcmdWith3VectorAndUnit("/general/centrePhaseSpace", this); + this->phaseSpaceCentre->SetDefaultUnit("mm"); + this->phaseSpaceCentre->SetDefaultValue(G4ThreeVector(0.,0.,470.)); + + this->phaseSpaceHalfSize=new G4UIcmdWith3VectorAndUnit("/general/halfSizePhaseSpace", this); + this->phaseSpaceHalfSize->SetDefaultUnit("mm"); + this->phaseSpaceHalfSize->SetDefaultValue(G4ThreeVector(100.,100.,1.)); + + this->bSavePhaseSpace=new G4UIcmdWithABool("/general/bSavePhaseSpace",this); + this->bSavePhaseSpace->SetDefaultValue(false); + + this->bStopAtPhaseSpace=new G4UIcmdWithABool("/general/bStopAtPhaseSpace",this); + this->bStopAtPhaseSpace->SetDefaultValue(false); + + this->bSaveROG=new G4UIcmdWithABool("/general/bSaveROG",this); + this->bSaveROG->SetDefaultValue(false); + + this->bOnlyVisio=new G4UIcmdWithABool("/OnlyVisio",this); + this->bOnlyVisio->SetDefaultValue(false); + + this->ROGOutFile=new G4UIcmdWithAString("/general/ROGOutFile",this); + this->ROGOutFile->SetDefaultValue(""); + + this->phaseSPaceOutFile=new G4UIcmdWithAString("/general/PhaseSpaceOutFile",this); + this->phaseSPaceOutFile->SetDefaultValue(""); + + + this->minNumberOfEvents=new G4UIcmdWithAnInteger("/convergence/minNumberOfEvents", this); + this->minNumberOfEvents->SetDefaultValue(10); + + this->bCompareExp=new G4UIcmdWithABool("/convergence/bCompareExp",this); + this->bCompareExp->SetDefaultValue(false); + + this->fileExperimentalData=new G4UIcmdWithAString("/convergence/fileExperimentalData",this); + this->fileExperimentalData->SetDefaultValue(""); + + this->nBeam=new G4UIcmdWithAnInteger("/general/nBeam",this); + this->nBeam->SetDefaultValue(0); + + this->nMaxParticlesInRamPlanePhaseSpace=new G4UIcmdWithAnInteger("/general/nMaxParticlesInRamPlanePhaseSpace",this); + this->nMaxParticlesInRamPlanePhaseSpace->SetDefaultValue(0); + + this->saving_in_Selected_Voxels_every_events=new G4UIcmdWithAnInteger("/general/saving_in_Selected_Voxels_every_events",this); + this->saving_in_Selected_Voxels_every_events->SetDefaultValue(1000); + + this->saving_in_ROG_Voxels_every_events=new G4UIcmdWithAnInteger("/general/saving_in_ROG_Voxels_every_events",this); + this->saving_in_ROG_Voxels_every_events->SetDefaultValue(1000); + + this->max_N_particles_in_PhSp_File=new G4UIcmdWithAnInteger("/general/max_N_particles_in_PhSp_File",this); + this->max_N_particles_in_PhSp_File->SetDefaultValue(1000); +} + +CML2MainMessenger::~CML2MainMessenger(void) +{ + delete saving_in_Selected_Voxels_every_events; + delete saving_in_ROG_Voxels_every_events; + delete max_N_particles_in_PhSp_File; + delete phaseSpaceCentre; + delete phaseSpaceHalfSize; + delete phaseSPaceOutFile; + delete ROGOutFile; + delete bSavePhaseSpace; + delete bStopAtPhaseSpace; + delete bSaveROG; + + delete nBeam; + delete nMaxParticlesInRamPlanePhaseSpace; + + delete minNumberOfEvents; + delete bCompareExp; + delete bOnlyVisio; + delete fileExperimentalData; +} + +void CML2MainMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) +{ + if (cmd==this->nBeam) + {this->CInputData->setNBeams(this->nBeam->GetNewIntValue(newValue));} + + if (cmd==this->nMaxParticlesInRamPlanePhaseSpace) + {this->CInputData->setNMaxParticlesInRamPlanePhaseSpace(this->nMaxParticlesInRamPlanePhaseSpace->GetNewIntValue(newValue));} + + if (cmd==this->saving_in_Selected_Voxels_every_events) + {this->CInputData->setSaving_in_Selected_Voxels_every_events(this->saving_in_Selected_Voxels_every_events->GetNewIntValue(newValue));} + + if (cmd==this->saving_in_ROG_Voxels_every_events) + {this->CInputData->setSaving_in_ROG_Voxels_every_events(this->saving_in_ROG_Voxels_every_events->GetNewIntValue(newValue));} + + if (cmd==this->max_N_particles_in_PhSp_File) + {this->CInputData->setMax_N_particles_in_PhSp_File(this->max_N_particles_in_PhSp_File->GetNewIntValue(newValue));} + + if (cmd==this->phaseSpaceCentre) + {this->CInputData->setPhaseSpaceCentre(this->phaseSpaceCentre->GetNew3VectorRawValue(newValue));} + + if (cmd==this->phaseSpaceHalfSize) + { + this->CInputData->setPhaseSpaceHalfSize(this->phaseSpaceHalfSize->GetNew3VectorRawValue(newValue)); + } + + if (cmd==this->bOnlyVisio) + {this->CInputData->setbOnlyVisio(this->bOnlyVisio->GetNewBoolValue(newValue));} + if (cmd==this->bSavePhaseSpace) + {this->CInputData->setbSavePhaseSPace(this->bSavePhaseSpace->GetNewBoolValue(newValue));} + if (cmd==this->bSaveROG) + {this->CInputData->setbSaveROG(this->bSaveROG->GetNewBoolValue(newValue));} + if (cmd==this->bStopAtPhaseSpace) + {this->CInputData->setbStopAtPhaseSpace(this->bStopAtPhaseSpace->GetNewBoolValue(newValue));} + if (cmd==this->phaseSPaceOutFile) + {this->CInputData->setPhaseSpaceOutFile(newValue);} + if (cmd==this->ROGOutFile) + {this->CInputData->setROGOutFile(newValue);} + if (cmd==this->minNumberOfEvents) + {this->CInputData->setMinNumberOfEvents(this->minNumberOfEvents->GetNewIntValue(newValue));} + if (cmd==this->bCompareExp) + {this->CInputData->setBCompareExp(this->bCompareExp->GetNewBoolValue(newValue));} + if (cmd==this->fileExperimentalData) + {this->CInputData->setFileExperimentalData(newValue);} +} + + + diff --git a/examples/advanced/medical_linac/src/ML2Ph_BoxInBox.cc b/examples/advanced/medical_linac/src/ML2Ph_BoxInBox.cc new file mode 100755 index 0000000000..35d19803d9 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2Ph_BoxInBox.cc @@ -0,0 +1,181 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2Ph_BoxInBox.hh" + +CML2Ph_BoxInBox::CML2Ph_BoxInBox() +{ +} + +CML2Ph_BoxInBox::~CML2Ph_BoxInBox(void) +{ +} +bool CML2Ph_BoxInBox::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG) +{ + this->PVWorld=PVWorld; + +// phantom size and position + G4ThreeVector halfSize, centre; + halfSize.set(150.*mm,150.*mm,150.*mm); + centre.set(0.*mm,0.*mm,-150.*mm); + + G4double A, Z; + A = 1.01*g/mole; + G4Element* elH = new G4Element ("Hydrogen","H",Z = 1.,A); + + A = 12.011*g/mole; + G4Element* elC = new G4Element("Carbon","C",Z = 6.,A); + + A = 16.00*g/mole; + G4Element* elO = new G4Element("Oxygen","O",Z = 8.,A); + + G4double d= 1.18*g/cm3; + G4int natoms, ncomponents; + G4Material* PMMA = new G4Material("Polimetilmetacrilato",d,ncomponents=3); + PMMA->AddElement(elC, natoms=5); + PMMA->AddElement(elH, natoms=8); + PMMA->AddElement(elO, natoms=2); + + d= 0.1*g/cm3; + G4Material* lightWater = new G4Material("lightWater",d,ncomponents=2); + lightWater->AddElement(elH, natoms=2); + lightWater->AddElement(elO, natoms=1); + + + +// BOX INSIDE + G4Material *boxInSideMaterial; + + boxInSideMaterial=PMMA; + std::cout <<"boxInSideMaterial name "<GetName() <<" density "<< boxInSideMaterial->GetDensity()/(g/cm3) <<" g/cm3"<< G4endl; + + this->centreBoxInside.set(0,0,-50); + this->halfBoxInside_Thickness=3.*cm; + + G4Box *boxInSide=new G4Box("BoxInSide", halfBoxInside_Thickness, halfBoxInside_Thickness, halfBoxInside_Thickness); + G4LogicalVolume *boxInSideLV=new G4LogicalVolume(boxInSide, boxInSideMaterial, "boxInSideLV"); + G4VPhysicalVolume *boxInSidePV = 0; + boxInSidePV = new G4PVPlacement(0, centre+centreBoxInside,"BoxInsidePV", boxInSideLV,this->PVWorld,false,0,0); + +// layer PMMA + G4Material *layerMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_PLEXIGLASS"); // changable + G4double halfPMMA_Z_Thickness=0.5*cm; + G4Box *layer=new G4Box("layer", halfSize.getX(), halfSize.getY(), halfPMMA_Z_Thickness); + G4LogicalVolume *layerLV = new G4LogicalVolume(layer, layerMaterial, "layerLV"); + G4VPhysicalVolume *layerPV = 0; + layerPV = new G4PVPlacement(0, centre+G4ThreeVector(0,0,-halfSize.getZ()+halfPMMA_Z_Thickness),"layerPV", layerLV,this->PVWorld,false,0,0); + + std::cout <<"layerMaterial name "<GetName() <<" density " << layerMaterial->GetDensity()/(g/cm3) <<" g/cm3"<< G4endl; + +// BOX OUTSIDE + G4Material *boxOutSideMaterial=G4NistManager::Instance()->FindOrBuildMaterial("G4_LUNG_ICRP"); // changable + boxOutSideMaterial=lightWater; + G4double halfBoxOutSide_Thickness=halfSize.getZ()-halfPMMA_Z_Thickness; + G4Box *boxOutSide=new G4Box("BoxOutSide", halfSize.getX(), halfSize.getY(), halfBoxOutSide_Thickness); + + // boolean logic subtraction between outside box and inside box + + G4SubtractionSolid* OutMinusInBox = new G4SubtractionSolid("OutMinusInBox", boxOutSide, boxInSide, 0, centreBoxInside-G4ThreeVector(0,0,5)); + G4LogicalVolume *OutMinusInBoxLV = new G4LogicalVolume(OutMinusInBox, boxOutSideMaterial,"OutMinusInBoxLV",0,0,0); + G4VPhysicalVolume *OutMinusInBoxPV = 0; + OutMinusInBoxPV = new G4PVPlacement(0, centre+G4ThreeVector(0,0,-halfSize.getZ()+2*halfPMMA_Z_Thickness+halfBoxOutSide_Thickness), + "OutMinusInBoxPV",OutMinusInBoxLV,this->PVWorld,false,0); + + std::cout <<"boxOutSideMaterial name "<GetName() <<" density "<GetDensity()/(g/cm3) <<" g/cm3"<< G4endl; + + // Region for cuts + G4Region *regVol= new G4Region("BoxInBoxR"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.01*mm); + regVol->SetProductionCuts(cuts); + + + OutMinusInBoxLV->SetRegion(regVol); + regVol->AddRootLogicalVolume(OutMinusInBoxLV); + OutMinusInBoxLV->SetUserLimits(new G4UserLimits(0.01*mm)); + + layerLV->SetRegion(regVol); + regVol->AddRootLogicalVolume(layerLV); + layerLV->SetUserLimits(new G4UserLimits(0.01*mm)); + + boxInSideLV->SetRegion(regVol); + regVol->AddRootLogicalVolume(boxInSideLV); + boxInSideLV->SetUserLimits(new G4UserLimits(0.01*mm)); + + // Visibility + G4VisAttributes* simple_PMMA_VisAttWalls= new G4VisAttributes(G4Colour::Gray()); + G4VisAttributes* simple_InBox_VisAttWalls= new G4VisAttributes(G4Colour::Red()); + G4VisAttributes* simple_OutBox_VisAttWalls= new G4VisAttributes(G4Colour::Blue()); + + simple_OutBox_VisAttWalls->SetVisibility(true); + simple_OutBox_VisAttWalls->SetForceWireframe(true); + simple_OutBox_VisAttWalls->SetForceAuxEdgeVisible(true); + simple_OutBox_VisAttWalls->SetLineWidth(2.); +// simple_OutBox_VisAttWalls->SetForceSolid(true); + + simple_PMMA_VisAttWalls->SetVisibility(true); + simple_PMMA_VisAttWalls->SetForceSolid(true); + + simple_InBox_VisAttWalls->SetVisibility(true); + simple_InBox_VisAttWalls->SetForceSolid(true); + + + OutMinusInBoxLV->SetVisAttributes(simple_OutBox_VisAttWalls); + boxInSideLV->SetVisAttributes(simple_InBox_VisAttWalls); + layerLV->SetVisAttributes(simple_PMMA_VisAttWalls); + + // Sensitive detector + this->sensDet=new CML2SDWithVoxels("BoxInBoxPhantom", saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG, halfSize, 100, 100, 100); + G4SDManager *SDManager=G4SDManager::GetSDMpointer(); + SDManager->AddNewDetector(this->sensDet); + + // Read Out Geometry + CML2ReadOutGeometry *ROG = new CML2ReadOutGeometry(this->PVWorld->GetFrameRotation(), &this->PVWorld->GetFrameTranslation()); + ROG->setBuildData(centre, halfSize, 100, 100, 100); + ROG->BuildROGeometry(); + this->sensDet->SetROgeometry(ROG); + OutMinusInBoxLV->SetSensitiveDetector(this->sensDet); + layerLV->SetSensitiveDetector(this->sensDet); + boxInSideLV->SetSensitiveDetector(this->sensDet); + + return true; +} diff --git a/examples/extended/optical/LXe/src/LXeOpPhysMessenger.cc b/examples/advanced/medical_linac/src/ML2Ph_BoxInBoxMessenger.cc old mode 100644 new mode 100755 similarity index 64% rename from examples/extended/optical/LXe/src/LXeOpPhysMessenger.cc rename to examples/advanced/medical_linac/src/ML2Ph_BoxInBoxMessenger.cc index f4a628f144..6632dbb8c0 --- a/examples/extended/optical/LXe/src/LXeOpPhysMessenger.cc +++ b/examples/advanced/medical_linac/src/ML2Ph_BoxInBoxMessenger.cc @@ -23,38 +23,37 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#include "LXeOpPhysMessenger.hh" -#include "LXeOpticalPhysics.hh" +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWith3VectorAndUnit.hh" + +#include "ML2Ph_BoxInBoxMessenger.hh" +#include "ML2Ph_BoxInBox.hh" +#include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" -#include "G4UIcommand.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithABool.hh" -#include "G4UIcmdWithADouble.hh" -#include "G4Scintillation.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" -//_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -LXeOpPhysMessenger::LXeOpPhysMessenger(LXeOpticalPhysics* LXeOpPhys) -:OpPhys(LXeOpPhys) +CML2Ph_BoxInBoxMessenger::CML2Ph_BoxInBoxMessenger(CML2Ph_BoxInBox *Ph_BoxInBox) : pPh_BoxInBox(Ph_BoxInBox) { - yieldCmd = new G4UIcmdWithADouble("/LXe/detector/scintYieldFactor",this); - yieldCmd->SetGuidance("Sets the yield factor for scintillation in all volumes"); } -//_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -LXeOpPhysMessenger::~LXeOpPhysMessenger() +CML2Ph_BoxInBoxMessenger::~CML2Ph_BoxInBoxMessenger(void) { - delete yieldCmd; } - -//_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -void LXeOpPhysMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if (command == yieldCmd){ - OpPhys->SetScintYieldFactor(yieldCmd->GetNewDoubleValue(newValue)); - } -} - - +// void CML2Ph_BoxInBoxMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) +// { +// +// } diff --git a/examples/advanced/medical_linac/src/ML2Ph_FullWater.cc b/examples/advanced/medical_linac/src/ML2Ph_FullWater.cc new file mode 100755 index 0000000000..4b902bc72e --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2Ph_FullWater.cc @@ -0,0 +1,95 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2Ph_FullWater.hh" + +CML2Ph_FullWater::CML2Ph_FullWater() +{} + +CML2Ph_FullWater::~CML2Ph_FullWater(void) +{ +} +bool CML2Ph_FullWater::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG) +{ + this->PVWorld=PVWorld; + + bool bCreated=false; + G4ThreeVector halfSize; + halfSize.set(300.*mm,300.*mm,300.*mm); + G4Material *WATER=G4NistManager::Instance()->FindOrBuildMaterial("G4_WATER"); + G4Box *fullWaterPhantomBox = new G4Box("fullWaterPhantomBox", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + G4LogicalVolume *fullWaterPhantomLV = new G4LogicalVolume(fullWaterPhantomBox, WATER, "fullWaterPhantomLV", 0, 0, 0); + G4VPhysicalVolume *fullWaterPhantomPV=0; + fullWaterPhantomPV = new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), "fullWaterPhantomPV", fullWaterPhantomLV, this->PVWorld, false, 0); + + // Region for cuts + G4Region *regVol= new G4Region("fullWaterPhantomR"); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(0.1*mm); + regVol->SetProductionCuts(cuts); + + fullWaterPhantomLV->SetRegion(regVol); + regVol->AddRootLogicalVolume(fullWaterPhantomLV); + + // Visibility + G4VisAttributes* simpleAlSVisAtt= new G4VisAttributes(G4Colour::Red()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceSolid(true); + fullWaterPhantomLV->SetVisAttributes(simpleAlSVisAtt); + + // Sensitive detector + this->sensDet=new CML2SDWithVoxels("Water phantom", saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG, halfSize, 100, 100, 100); + G4SDManager *SDManager=G4SDManager::GetSDMpointer(); + SDManager->AddNewDetector(this->sensDet); + + // Read Out Geometry + CML2ReadOutGeometry *ROG = new CML2ReadOutGeometry(this->PVWorld->GetFrameRotation(), &this->PVWorld->GetFrameTranslation()); + ROG->setBuildData(G4ThreeVector(0.,0.,0.), halfSize, 100, 100, 100); + ROG->BuildROGeometry(); + this->sensDet->SetROgeometry(ROG); + fullWaterPhantomLV->SetSensitiveDetector(this->sensDet); + + bCreated=true; + return bCreated; +} + + diff --git a/examples/advanced/medical_linac/src/ML2PhantomConstruction.cc b/examples/advanced/medical_linac/src/ML2PhantomConstruction.cc new file mode 100755 index 0000000000..ad45091d83 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2PhantomConstruction.cc @@ -0,0 +1,121 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2PhantomConstruction.hh" +#include "ML2PhantomConstructionMessenger.hh" +#include "G4UImanager.hh" + +CML2PhantomConstruction::CML2PhantomConstruction(void) +{ + this->phantomContstructionMessenger=new CML2PhantomConstructionMessenger(this); +} + +CML2PhantomConstruction::~CML2PhantomConstruction(void) +{ + if (this->phantomName=="fullWater") + { + delete Ph_fullWater; + } + else if (this->phantomName=="BoxInBox") + { + delete Ph_BoxInBox; + } +} + +CML2PhantomConstruction* CML2PhantomConstruction::instance = 0; + +CML2PhantomConstruction* CML2PhantomConstruction::GetInstance(void) +{ + if (instance == 0) + { + instance = new CML2PhantomConstruction(); + + } + return instance; +} +void CML2PhantomConstruction::design(void) +{ +// switch between two different phantoms according to the main macro selection + if (this->phantomName=="fullWater") + { + this->Ph_fullWater=new CML2Ph_FullWater(); + } + else if (this->phantomName=="BoxInBox") + { + this->Ph_BoxInBox=new CML2Ph_BoxInBox(); + } + +// read the messenger data related to the phantom selected + G4UImanager* UI = G4UImanager::GetUIpointer(); + G4String command = "/control/execute "; + UI->ApplyCommand(command+this->PhantomSpecficationsFileName); // DEVE LEGGERE TUTTI I MESSENGER DELLE MACRO STRUTTURE +} +void CML2PhantomConstruction::Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG) +{ +// a call to select the right phantom + this->design(); +// create the phantom-world box + G4Material *Vacuum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4ThreeVector halfSize, centre; + centre.set(0.*mm, 0.*mm, 0.*mm); + halfSize.set(300.*mm, 300*mm, 300*mm); + G4Box *phmWorldB = new G4Box("phmWorldG", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + G4LogicalVolume *phmWorldLV = new G4LogicalVolume(phmWorldB, Vacuum, "phmWorldL", 0, 0, 0); + G4VisAttributes* simpleAlSVisAtt= new G4VisAttributes(G4Colour::White()); + simpleAlSVisAtt->SetVisibility(true); + simpleAlSVisAtt->SetForceWireframe(true); + phmWorldLV->SetVisAttributes(simpleAlSVisAtt); + + G4RotationMatrix *rotation=new G4RotationMatrix(); + this->PVPhmWorld= new G4PVPlacement(rotation, centre, "phmWorldPV", phmWorldLV, PVWorld, false, 0); + +// create the actual phantom + if (this->phantomName=="fullWater") + { + this->Ph_fullWater->Construct(this->PVPhmWorld, saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG); + } + else if (this->phantomName=="BoxInBox") + { + this->Ph_BoxInBox->Construct(this->PVPhmWorld, saving_in_ROG_Voxels_every_events, seed, ROGOutFile, bSaveROG); + } +} + diff --git a/examples/advanced/medical_linac/src/ML2PhantomConstructionMessenger.cc b/examples/advanced/medical_linac/src/ML2PhantomConstructionMessenger.cc new file mode 100755 index 0000000000..9a90f9c08b --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2PhantomConstructionMessenger.cc @@ -0,0 +1,116 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2PhantomConstructionMessenger.hh" +#include "ML2PhantomConstruction.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + + +CML2PhantomConstructionMessenger::CML2PhantomConstructionMessenger(CML2PhantomConstruction *phantomConstructor) : pPhantomConstructor (phantomConstructor) +{ + this->PhantomName=new G4UIcmdWithAString("/phantom/PhantomName",this); + this->PhantomName->SetDefaultValue("myPhantom"); + + this->PhantomSpecficationsFileName=new G4UIcmdWithAString("/phantom/PhantomSpecficationsFileName",this); + this->PhantomSpecficationsFileName->SetDefaultValue("myPhantom"); + + this->Phantom_nVoxelsX=new G4UIcmdWithAnInteger("/phantom/Phantom_nVoxelsX",this); + this->Phantom_nVoxelsX->SetDefaultValue(100); + + this->Phantom_nVoxelsY=new G4UIcmdWithAnInteger("/phantom/Phantom_nVoxelsY",this); + this->Phantom_nVoxelsY->SetDefaultValue(100); + + this->Phantom_nVoxelsZ=new G4UIcmdWithAnInteger("/phantom/Phantom_nVoxelsZ",this); + this->Phantom_nVoxelsZ->SetDefaultValue(100); + + this->rotationX=new G4UIcmdWithADoubleAndUnit("/phantom/rotationX", this); + this->rotationX->SetDefaultUnit("deg"); + this->rotationX->SetDefaultValue(0); + + this->rotationY=new G4UIcmdWithADoubleAndUnit("/phantom/rotationY", this); + this->rotationY->SetDefaultUnit("deg"); + this->rotationY->SetDefaultValue(0); + + this->rotationZ=new G4UIcmdWithADoubleAndUnit("/phantom/rotationZ", this); + this->rotationZ->SetDefaultUnit("deg"); + this->rotationZ->SetDefaultValue(0); +} + +CML2PhantomConstructionMessenger::~CML2PhantomConstructionMessenger(void) +{ + delete PhantomName; + delete Phantom_nVoxelsZ; + delete Phantom_nVoxelsZ; + delete Phantom_nVoxelsZ; + delete rotationX; + delete rotationY; + delete rotationZ; +} +void CML2PhantomConstructionMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) +{ + if (cmd==this->Phantom_nVoxelsX) + {this->pPhantomConstructor->setPhantom_nVoxelsX(this->Phantom_nVoxelsX->GetNewIntValue(newValue));} + + if (cmd==this->Phantom_nVoxelsY) + {this->pPhantomConstructor->setPhantom_nVoxelsY(this->Phantom_nVoxelsY->GetNewIntValue(newValue));} + + if (cmd==this->Phantom_nVoxelsZ) + {this->pPhantomConstructor->setPhantom_nVoxelsZ(this->Phantom_nVoxelsZ->GetNewIntValue(newValue));} + + if (cmd==this->PhantomName) + {this->pPhantomConstructor->setPhantomName(newValue);} + + if (cmd==this->PhantomSpecficationsFileName) + {this->pPhantomConstructor->setPhantomSpecficationsFileName(newValue);} + + if (cmd==this->rotationX) + {this->pPhantomConstructor->setPhantomRotationX(this->rotationX->GetNewDoubleValue(newValue));} + + if (cmd==this->rotationY) + {this->pPhantomConstructor->setPhantomRotationY(this->rotationY->GetNewDoubleValue(newValue));} + + if (cmd==this->rotationZ) + {this->pPhantomConstructor->setPhantomRotationZ(this->rotationZ->GetNewDoubleValue(newValue));} +} + diff --git a/examples/advanced/medical_linac/src/ML2PhaseSpaces.cc b/examples/advanced/medical_linac/src/ML2PhaseSpaces.cc new file mode 100755 index 0000000000..b60129c7fb --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2PhaseSpaces.cc @@ -0,0 +1,102 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2PhaseSpaces.hh" +#include "ML2ReadOutGeometry.hh" + +CML2PhaseSpaces::CML2PhaseSpaces():sensDetParticle(0), sensDetVoxelized(0) +{} + +CML2PhaseSpaces::~CML2PhaseSpaces(void) +{} + +bool CML2PhaseSpaces::createPlane(G4VPhysicalVolume *PVWorld, G4String name, G4ThreeVector centre, G4ThreeVector halfSize) +{ + // constructor for killer plane + bool bCreated=false; + G4Material *Vacum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Box *box; + G4LogicalVolume *logVol; + G4VPhysicalVolume *phVol; + box = new G4Box("KBox", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + logVol = new G4LogicalVolume(box, Vacum, name+"KLV", 0, 0, 0); + phVol= new G4PVPlacement(0, centre, name+"KPV", logVol, PVWorld, false, 0); + + G4VisAttributes* simplePhSpVisAtt= new G4VisAttributes(G4Colour::Yellow()); + simplePhSpVisAtt->SetVisibility(true); + simplePhSpVisAtt->SetForceSolid(true); + logVol->SetVisAttributes(simplePhSpVisAtt); + + + this->sensDetParticle=new CML2SDWithParticle(); + G4SDManager *SDManager=G4SDManager::GetSDMpointer(); + SDManager->AddNewDetector(this->sensDetParticle); + logVol->SetSensitiveDetector(this->sensDetParticle); + bCreated=true; + return bCreated; +} + +bool CML2PhaseSpaces::createPlane(G4int idSD_Type, G4int max_N_particles_in_PhSp_File, G4int seed, G4int nMaxParticlesInRamPhaseSpace, G4VPhysicalVolume *PVWorld, G4String name, G4String PhaseSpaceOutFile, G4bool bSavePhaseSpace, G4bool bStopAtPhaseSpace, G4ThreeVector centre, G4ThreeVector halfSize, SPrimaryParticle *primaryParticleData) +{ + // constructor for phase space plane + bool bCreated=false; + G4Material *Vacum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Box *box; + G4LogicalVolume *logVol; + G4VPhysicalVolume *phVol; + box = new G4Box(name+"Box", halfSize.getX(), halfSize.getY(), halfSize.getZ()); + logVol = new G4LogicalVolume(box, Vacum, name+"LV", 0, 0, 0); + phVol= new G4PVPlacement(0, centre, name+"PV", logVol, PVWorld, false, 0); + + G4VisAttributes* simplePhSpVisAtt= new G4VisAttributes(G4Colour::Yellow()); + simplePhSpVisAtt->SetVisibility(true); + simplePhSpVisAtt->SetForceSolid(true); + logVol->SetVisAttributes(simplePhSpVisAtt); + + this->sensDetParticle=new CML2SDWithParticle(idSD_Type, max_N_particles_in_PhSp_File, seed, nMaxParticlesInRamPhaseSpace, name, PhaseSpaceOutFile, bSavePhaseSpace, bStopAtPhaseSpace, primaryParticleData); + G4SDManager *SDManager=G4SDManager::GetSDMpointer(); + SDManager->AddNewDetector(this->sensDetParticle); + logVol->SetSensitiveDetector(this->sensDetParticle); + bCreated=true; + return bCreated; +} + diff --git a/examples/advanced/medical_linac/src/ML2PhysicsList.cc b/examples/advanced/medical_linac/src/ML2PhysicsList.cc new file mode 100755 index 0000000000..7f5331553d --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2PhysicsList.cc @@ -0,0 +1,316 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// +// +// This class provides all the physic models that can be activated inside ML2; +// Each model can be setted via macro commands; +// Inside ML2 the models can be activate with three different complementar methods: +// +// 1. Use of the *Packages*. +// Packages (that are contained inside the +// Geant4 distribution at $G4INSTALL/source/physics_lists/lists) provide a full set +// of models (both electromagnetic and hadronic). +// The User can use this method simply add the line /physic/addPackage +// in his/her macro file. No other action is required. +// For ML2 applications we suggest the use of the QGSP_BIC package +// for proton beams. The same can be used +// also for ligth ion beam. +// +// +// 2. Use of the *Physic Lists*. +// Physic lists are also already ready to use inside the Geant4 distribution +// ($G4INSTALL/source/physics_lists/builders). To use them the simple +// /physic/addPhysics command must be used in the macro. +// In ML2 we provide physics list to activate Electromagnetic, +// Hadronic elastic and Hadronic inelastic models. +// +// For ML2 we suggest the use of: +// +// /physic/addPhysic/emstandard_option3 (electromagnetic model) +// /physic/addPhysic/QElastic (hadronic elastic model) +// /physic/addPhysic/binary (hadronic inelastic models for proton and neutrons) +// /physic/addPhysic/binary_ion (hadronic inelastic models for ions) +// +// Example of the use of physics lists can be found in the macro files +// + + +#include "ML2PhysicsList.hh" +#include "ML2PhysicsListMessenger.hh" +#include "ML2StepMax.hh" +#include "G4PhysListFactory.hh" +#include "G4VPhysicsConstructor.hh" + +// Physic lists (contained inside the Geant4 distribution) +#include "G4EmStandardPhysics_option3.hh" +#include "G4EmLivermorePhysics.hh" +#include "G4EmPenelopePhysics.hh" +#include "G4DecayPhysics.hh" +#include "G4HadronElasticPhysics.hh" +#include "G4HadronDElasticPhysics.hh" +#include "G4HadronHElasticPhysics.hh" +#include "G4HadronQElasticPhysics.hh" +#include "G4HadronInelasticQBBC.hh" +#include "G4IonBinaryCascadePhysics.hh" +#include "G4Decay.hh" + +#include "G4LossTableManager.hh" +#include "G4UnitsTable.hh" +#include "G4ProcessManager.hh" + +#include "G4IonFluctuations.hh" +#include "G4IonParametrisedLossModel.hh" +#include "G4EmProcessOptions.hh" + +///////////////////////////////////////////////////////////////////////////// +ML2PhysicsList::ML2PhysicsList() : G4VModularPhysicsList() +{ + G4LossTableManager::Instance(); + defaultCutValue = 1.*mm; + cutForGamma = defaultCutValue; + cutForElectron = defaultCutValue; + cutForPositron = defaultCutValue; + + helIsRegisted = false; + bicIsRegisted = false; + biciIsRegisted = false; + locIonIonInelasticIsRegistered = false; + + stepMaxProcess = 0; + + pMessenger = new ML2PhysicsListMessenger(this); + + SetVerboseLevel(1); + + // EM physics + emPhysicsList = new G4EmStandardPhysics_option3(1); + emName = G4String("emstandard_opt3"); + +// emPhysicsList = new G4EmLivermorePhysics(); +// emName = G4String("LowE_Livermore"); + + // Deacy physics and all particles + decPhysicsList = new G4DecayPhysics(); +} + +///////////////////////////////////////////////////////////////////////////// +ML2PhysicsList::~ML2PhysicsList() +{ + delete pMessenger; + delete emPhysicsList; + delete decPhysicsList; + for(size_t i=0; iGetPhysics(i); + G4VPhysicsConstructor* tmp = const_cast (elem); + while (elem !=0) + { + RegisterPhysics(tmp); + elem= phys->GetPhysics(++i) ; + tmp = const_cast (elem); + } + G4cout << "THE FOLLOWING PHYSICS PACKEGE LIST HAS BEEN ACTIVATED: "<ConstructParticle(); +} + +///////////////////////////////////////////////////////////////////////////// +void ML2PhysicsList::ConstructProcess() +{ + // transportation + // + AddTransportation(); + + // electromagnetic physics list + // + emPhysicsList->ConstructProcess(); + em_config.AddModels(); + + // decay physics list + // + decPhysicsList->ConstructProcess(); + + // hadronic physics lists + for(size_t i=0; iConstructProcess(); + } + + // step limitation (as a full process) + // + AddStepMax(); +} + +///////////////////////////////////////////////////////////////////////////// +void ML2PhysicsList::AddPhysicsList(const G4String& name) +{ + + if (verboseLevel>1) { + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + if (name == emName) return; + + ///////////////////////////////////////////////////////////////////////////// + // ELECTROMAGNETIC MODELS + ///////////////////////////////////////////////////////////////////////////// + + if (name == "standard_opt3") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option3(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmStandardPhysics_option3" << G4endl; + + } else if (name == "LowE_Livermore") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmLivermorePhysics(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" << G4endl; + + } else if (name == "LowE_Penelope") { + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmPenelopePhysics(); + G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: G4EmLivermorePhysics" << G4endl; + + ///////////////////////////////////////////////////////////////////////////// + // HADRONIC MODELS + ///////////////////////////////////////////////////////////////////////////// + } else if (name == "elastic" && !helIsRegisted) { + G4cout << "THE FOLLOWING HADRONIC ELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronElasticPhysics()" << G4endl; + hadronPhys.push_back( new G4HadronElasticPhysics()); + helIsRegisted = true; + + } else if (name == "DElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronDElasticPhysics()); + helIsRegisted = true; + + } else if (name == "HElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronHElasticPhysics()); + helIsRegisted = true; + + } else if (name == "QElastic" && !helIsRegisted) { + hadronPhys.push_back( new G4HadronQElasticPhysics()); + helIsRegisted = true; + + } else if (name == "binary" && !bicIsRegisted) { + hadronPhys.push_back(new G4HadronInelasticQBBC()); + bicIsRegisted = true; + G4cout << "THE FOLLOWING HADRONIC INELASTIC PHYSICS LIST HAS BEEN ACTIVATED: G4HadronInelasticQBBC()" << G4endl; + + } else if (name == "binary_ion" && !biciIsRegisted) { + hadronPhys.push_back(new G4IonBinaryCascadePhysics()); + biciIsRegisted = true; + + } else { + + G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; + } +} + +///////////////////////////////////////////////////////////////////////////// +void ML2PhysicsList::AddStepMax() +{ + // Step limitation seen as a process + stepMaxProcess = new ML2StepMax(); + + theParticleIterator->reset(); + while ((*theParticleIterator)()){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (stepMaxProcess->IsApplicable(*particle) && pmanager) + { + pmanager ->AddDiscreteProcess(stepMaxProcess); + } + } +} + +///////////////////////////////////////////////////////////////////////////// +void ML2PhysicsList::SetCuts() +{ + + if (verboseLevel >0){ + G4cout << "PhysicsList::SetCuts:"; + G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; + } + + // set cut values for gamma at first and for e- second and next for e+, + // because some processes for e+/e- need cut values for gamma + SetCutValue(cutForGamma, "gamma"); + SetCutValue(cutForElectron, "e-"); + SetCutValue(cutForPositron, "e+"); + + if (verboseLevel>0) DumpCutValuesTable(); +} + +///////////////////////////////////////////////////////////////////////////// +void ML2PhysicsList::SetCutForGamma(G4double cut) +{ + cutForGamma = cut; + SetParticleCuts(cutForGamma, G4Gamma::Gamma()); +} + +///////////////////////////////////////////////////////////////////////////// +void ML2PhysicsList::SetCutForElectron(G4double cut) +{ + cutForElectron = cut; + SetParticleCuts(cutForElectron, G4Electron::Electron()); +} + +///////////////////////////////////////////////////////////////////////////// +void ML2PhysicsList::SetCutForPositron(G4double cut) +{ + cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); +} + + diff --git a/examples/advanced/medical_linac/src/ML2PhysicsListMessenger.cc b/examples/advanced/medical_linac/src/ML2PhysicsListMessenger.cc new file mode 100644 index 0000000000..4bf39dace1 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2PhysicsListMessenger.cc @@ -0,0 +1,136 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// + + +#include "ML2PhysicsListMessenger.hh" + +#include "ML2PhysicsList.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" + +///////////////////////////////////////////////////////////////////////////// +ML2PhysicsListMessenger::ML2PhysicsListMessenger(ML2PhysicsList* pPhys) +:pPhysicsList(pPhys) +{ + physDir = new G4UIdirectory("/physic/"); + physDir->SetGuidance("Commands to activate physics models and set cuts"); + + gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setGCut",this); + gammaCutCmd->SetGuidance("Set gamma cut."); + gammaCutCmd->SetParameterName("Gcut",false); + gammaCutCmd->SetUnitCategory("Length"); + gammaCutCmd->SetRange("Gcut>0.0"); + gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + electCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setECut",this); + electCutCmd->SetGuidance("Set electron cut."); + electCutCmd->SetParameterName("Ecut",false); + electCutCmd->SetUnitCategory("Length"); + electCutCmd->SetRange("Ecut>0.0"); + electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + protoCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setPCut",this); + protoCutCmd->SetGuidance("Set positron cut."); + protoCutCmd->SetParameterName("Pcut",false); + protoCutCmd->SetUnitCategory("Length"); + protoCutCmd->SetRange("Pcut>0.0"); + protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + allCutCmd = new G4UIcmdWithADoubleAndUnit("/physic/setCuts",this); + allCutCmd->SetGuidance("Set cut for all."); + allCutCmd->SetParameterName("cut",false); + allCutCmd->SetUnitCategory("Length"); + allCutCmd->SetRange("cut>0.0"); + allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pListCmd = new G4UIcmdWithAString("/physic/addPhysics",this); + pListCmd->SetGuidance("Add physics list."); + pListCmd->SetParameterName("PList",false); + pListCmd->AvailableForStates(G4State_PreInit); + + packageListCmd = new G4UIcmdWithAString("/physic/addPackage",this); + packageListCmd->SetGuidance("Add physics package."); + packageListCmd->SetParameterName("package",false); + packageListCmd->AvailableForStates(G4State_PreInit); +} + +///////////////////////////////////////////////////////////////////////////// +ML2PhysicsListMessenger::~ML2PhysicsListMessenger() +{ + delete gammaCutCmd; + delete electCutCmd; + delete protoCutCmd; + delete allCutCmd; + delete pListCmd; + delete physDir; + delete packageListCmd; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ML2PhysicsListMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if( command == gammaCutCmd ) + { pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} + + if( command == electCutCmd ) + { pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} + + if( command == protoCutCmd ) + { pPhysicsList->SetCutForPositron(protoCutCmd->GetNewDoubleValue(newValue));} + + if( command == allCutCmd ) + { + G4double cut = allCutCmd->GetNewDoubleValue(newValue); + pPhysicsList->SetCutForGamma(cut); + pPhysicsList->SetCutForElectron(cut); + pPhysicsList->SetCutForPositron(cut); + } + + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} + + if( command == packageListCmd ) + { pPhysicsList->AddPackage(newValue);} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/advanced/medical_linac/src/ML2PrimaryGenerationAction.cc b/examples/advanced/medical_linac/src/ML2PrimaryGenerationAction.cc new file mode 100755 index 0000000000..b27b5c963f --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2PrimaryGenerationAction.cc @@ -0,0 +1,267 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2PrimaryGenerationAction.hh" +#include "ML2PrimaryGenerationActionMessenger.hh" + +using namespace CLHEP; + +CML2PrimaryGenerationAction::CML2PrimaryGenerationAction(SPrimaryParticle *primaryParticleData) +:particleGun(0),gamma(0),electron(0),positron(0),primaryParticleData(0),particles(0),firstFileParticle(0),lastLoadedParticle(0) +{ + this->PrimaryGenerationActionMessenger=new CML2PrimaryGenerationActionMessenger(this); + this->particle=new Sparticle; + this->firstFileParticle=new Sparticle; + this->lastLoadedParticle=new Sparticle; + this->nParticle=this->nPhSpParticles=this->nRandomParticles=0; + + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + + this->gamma=particleTable->FindParticle("gamma"); + this->electron=particleTable->FindParticle("e-"); + this->positron=particleTable->FindParticle("e+"); + this->particleGun=new G4ParticleGun(); + + this->primaryParticleData=primaryParticleData; + this->primaryParticleData->nPrimaryParticle=0; + this->primaryParticleData->partPDGE=0; +} +void CML2PrimaryGenerationAction::design() +{ + this->calculatedPhaseSpaceFileIN=this->calculatedPhaseSpaceFileIN; +#ifdef ML2FILEIN + char *MyDirIn=new char[1000]; + MyDirIn=getenv("ML2FILEIN"); + G4String myDirIn=(G4String) MyDirIn; + this->calculatedPhaseSpaceFileIN=myDirIn+"/"+this->calculatedPhaseSpaceFileIN; +#endif + +// std::cout <<"this->calculatedPhaseSpaceFileIN " << this->calculatedPhaseSpaceFileIN<< G4endl; + switch (this->idParticleSource) + { + case id_randomTarget: + this->setGunRandom(); + break; + case id_phaseSpace: + this->setGunCalculatedPhaseSpace(); + break; + } +} +void CML2PrimaryGenerationAction::setGunRandom() +{ + this->particleGun->SetParticleDefinition(this->electron); + this->particleGun->SetNumberOfParticles(1); + this->idCurrentParticleSource=this->idParticleSource; +} +void CML2PrimaryGenerationAction::setGunCalculatedPhaseSpace() +{ + this->particles=new Sparticle[this->nMaxParticlesInRamPhaseSpace]; + this->particleGun->SetNumberOfParticles(this->nIdenticalParticles); + this->idCurrentParticleSource=this->idParticleSource; +} + +CML2PrimaryGenerationAction::~CML2PrimaryGenerationAction(void) +{ + delete this->particleGun; + delete [] this->particles; + delete this->particles; +} +void CML2PrimaryGenerationAction::GeneratePrimaries(G4Event *anEvent) +{ + switch (this->idCurrentParticleSource) + { + case id_randomTarget: + this->GenerateFromRandom(); + break; + case id_phaseSpace: + this->GenerateFromCalculatedPhaseSpace(); + break; + } + + +// std::cout <<"this->pos " <pos << '\t' <<"this->dir " <dir << '\t'<<"this->ek " << this->ek<< G4endl; + + + this->primaryParticleData->partPDGE=this->particleGun->GetParticleDefinition()->GetPDGEncoding(); + this->primaryParticleData->nPrimaryParticle++; + + this->particleGun->SetParticleEnergy(this->ek*MeV); + this->particleGun->SetParticlePosition(this->pos*mm); + this->particleGun->SetParticleMomentumDirection((G4ParticleMomentum)this->dir); + this->particleGun->GeneratePrimaryVertex(anEvent); +} +void CML2PrimaryGenerationAction::GenerateFromRandom() +{ + this->sinTheta=RandGauss::shoot(0., 0.003); + this->cosTheta=std::sqrt(1 - this->sinTheta*this->sinTheta); + this->phi=twopi*G4UniformRand(); + this->dir.set(this->sinTheta*std::cos(this->phi), this->sinTheta*std::sin(this->phi), this->cosTheta); + + this->ro=G4UniformRand()*this->GunRadious; + this->alfa=G4UniformRand()*twopi; + + this->pos.setX(this->ro*std::sin(this->alfa)); + this->pos.setY(this->ro*std::cos(this->alfa)); + this->pos.setZ(-1305.*mm); + + this->ek=RandGauss::shoot(this->GunMeanEnegy, this->GunStdEnegy); + this->nRandomParticles++; +} +void CML2PrimaryGenerationAction::GenerateFromCalculatedPhaseSpace() +{ + static bool bFirstTime=true; + if (bFirstTime) + {bFirstTime=false;this->fillParticlesContainer();} + if (nParticle==this->nMaxParticlesInRamPhaseSpace) + { + this->fillParticlesContainer(); + this->nParticle=0; + } + + this->pos=this->particles[this->nParticle].pos; + this->dir=this->particles[this->nParticle].dir; + this->ek=this->particles[this->nParticle].kinEnergy; + switch (this->particles[this->nParticle].partPDGE) + { + case -11: + this->particleGun->SetParticleDefinition(this->positron); + break; + case 11: + this->particleGun->SetParticleDefinition(this->electron); + break; + case 22: + this->particleGun->SetParticleDefinition(this->gamma); + break; + } + this->nPhSpParticles++; + this->nParticle++; +} + +void CML2PrimaryGenerationAction::fillParticlesContainer() +{ + static int currentFilePosition=0; + static int currentFileSize=0; + int startDataFilePosition; + std::ifstream in; + in.open(this->calculatedPhaseSpaceFileIN, std::ios::in); + static bool bFirstTime=true; + if (bFirstTime) + { + in.seekg(-1,std::ios::end); + currentFileSize=in.tellg(); + in.seekg(0,std::ios::beg); + } + + char a[1000]; + in.getline(a,1000,'\n'); + in.getline(a,1000,'\n'); + startDataFilePosition=in.tellg(); + if (currentFilePosition>0) + {in.seekg(currentFilePosition, std::ios::beg);} + int i; + G4double x,y,z; + G4int d; + G4String s; + + static bool checkFileRewind=false; + for (i=0;inMaxParticlesInRamPhaseSpace;i++) + { + in >> d; + in >> x; in >>y; in >> z; + this->particles[i].pos.set(x,y,z); + in >> x; in >>y; in >> z; + this->particles[i].dir.set(x,y,z); + in >> x; + this->particles[i].kinEnergy=x; + in >> d; + this->particles[i].partPDGE=d; + in >> d; in >> d; + if (in.tellg() >= currentFileSize-2) + { + in.seekg(startDataFilePosition, std::ios::beg); + checkFileRewind=true; + in >> d; + in >> x; in >>y; in >> z; + this->particles[i].pos.set(x,y,z); + in >> x; in >>y; in >> z; + this->particles[i].dir.set(x,y,z); + in >> x; + this->particles[i].kinEnergy=x; + in >> d; + this->particles[i].partPDGE=d; + in >> d; in >> d; + } + if (checkFileRewind) + { + checkFileRewind=false; + } + if (i==0 && bFirstTime) + { + this->firstFileParticle->pos=this->particles[i].pos; + this->firstFileParticle->dir=this->particles[i].dir; + this->firstFileParticle->kinEnergy=this->particles[i].kinEnergy; + this->firstFileParticle->nPrimaryPart=this->particles[i].nPrimaryPart; + this->firstFileParticle->partPDGE=this->particles[i].partPDGE; + this->firstFileParticle->primaryParticlePDGE=this->particles[i].primaryParticlePDGE; + } + } + currentFilePosition=in.tellg(); + if (currentFilePosition>=currentFileSize) + {currentFilePosition=startDataFilePosition;} + in.close(); + if (bFirstTime) + { + bFirstTime=false; + } +} +bool CML2PrimaryGenerationAction::itIsTheSameParticle(Sparticle *p1, Sparticle *p2) +{ + if (p1->nPrimaryPart==p2->nPrimaryPart && + p1->kinEnergy==p2->kinEnergy && + p1->dir==p2->dir && + p1->pos==p2->pos && + p1->partPDGE==p2->partPDGE && + p1->primaryParticlePDGE==p2->primaryParticlePDGE) + {return true;} + return false; +} + diff --git a/examples/advanced/medical_linac/src/ML2PrimaryGenerationActionMessenger.cc b/examples/advanced/medical_linac/src/ML2PrimaryGenerationActionMessenger.cc new file mode 100755 index 0000000000..7cde9e7301 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2PrimaryGenerationActionMessenger.cc @@ -0,0 +1,127 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2PrimaryGenerationActionMessenger.hh" +#include "ML2PrimaryGenerationAction.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + +CML2PrimaryGenerationActionMessenger::CML2PrimaryGenerationActionMessenger(CML2PrimaryGenerationAction *PML2PrimaryGenerationAction) : pML2PrimaryGenerationAction(PML2PrimaryGenerationAction) +{ + this->nIdenticalParticles=new G4UIcmdWithAnInteger("/primaryParticleData/nIdenticalParticles",this); + this->nIdenticalParticles->SetDefaultValue(1); + + this->calculatedPhaseSpaceFileIN=new G4UIcmdWithAString("/primaryParticleData/calculatedPhaseSpaceFileIN",this); + this->calculatedPhaseSpaceFileIN->SetDefaultValue(""); + + this->sourceTypeName=new G4UIcmdWithAString("/primaryParticleData/sourceTypeName",this); + this->sourceTypeName->SetDefaultValue(""); + + this->nMaxParticlesInRamPhaseSpace=new G4UIcmdWithAnInteger("/primaryParticleData/nMaxParticlesInRamPhaseSpace",this); + this->nMaxParticlesInRamPhaseSpace->SetDefaultValue(10000); + + this->nLoopsPhSpParticles=new G4UIcmdWithAnInteger("/primaryParticleData/nLoopsPhSpParticles",this); + this->nLoopsPhSpParticles->SetDefaultValue(1); + + this->GunMeanEnegy=new G4UIcmdWithADoubleAndUnit("/primaryParticleData/GunMeanEnegy", this); + this->GunMeanEnegy->SetDefaultUnit("MeV"); + this->GunMeanEnegy->SetDefaultValue(6.); + + this->GunStdEnegy=new G4UIcmdWithADoubleAndUnit("/primaryParticleData/GunStdEnegy", this); + this->GunStdEnegy->SetDefaultUnit("MeV"); + this->GunStdEnegy->SetDefaultValue(0.127); + + this->GunRadious=new G4UIcmdWithADoubleAndUnit("/primaryParticleData/GunRadious", this); + this->GunRadious->SetDefaultUnit("mm"); + this->GunRadious->SetDefaultValue(10.); +} + +CML2PrimaryGenerationActionMessenger::~CML2PrimaryGenerationActionMessenger(void) +{ + delete nIdenticalParticles; + delete nLoopsPhSpParticles; + delete nMaxParticlesInRamPhaseSpace; + delete GunMeanEnegy; + delete GunStdEnegy; + delete GunRadious; + delete calculatedPhaseSpaceFileIN; + delete sourceTypeName; +} +void CML2PrimaryGenerationActionMessenger::SetNewValue(G4UIcommand* cmd, G4String newValue) +{ + if (cmd==this->GunMeanEnegy) + { + this->GunMeanEnegy->GetNewUnitValue(newValue); + this->pML2PrimaryGenerationAction->setGunMeanEnergy(this->GunMeanEnegy->GetNewDoubleValue(newValue)); + } + + if (cmd==this->GunStdEnegy) + { + this->GunStdEnegy->GetNewUnitValue(newValue); + this->pML2PrimaryGenerationAction->setGunStdEnergy(this->GunStdEnegy->GetNewDoubleValue(newValue)); + } + + if (cmd==this->GunRadious) + { + this->GunRadious->GetNewUnitValue(newValue); + this->pML2PrimaryGenerationAction->setGunRadious(this->GunRadious->GetNewDoubleValue(newValue)); + } + + + if (cmd==this->nMaxParticlesInRamPhaseSpace) + { + this->pML2PrimaryGenerationAction->setNMaxParticlesInRamPhaseSpace(this->nMaxParticlesInRamPhaseSpace->GetNewIntValue(newValue)); + } + + + if (cmd==this->nIdenticalParticles) + {this->pML2PrimaryGenerationAction->setNIdenticalParticles(this->nIdenticalParticles->GetNewIntValue(newValue));} + + if (cmd==this->calculatedPhaseSpaceFileIN) + {this->pML2PrimaryGenerationAction->setCalculatedPhaseSpaceFileIN(newValue);} + + if (cmd==this->sourceTypeName) + {this->pML2PrimaryGenerationAction->setSourceTypeName(newValue);} + + +} diff --git a/examples/advanced/medical_linac/src/ML2ReadOutGeometry.cc b/examples/advanced/medical_linac/src/ML2ReadOutGeometry.cc new file mode 100755 index 0000000000..d77f08bfec --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2ReadOutGeometry.cc @@ -0,0 +1,161 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2ReadOutGeometry.hh" + +#include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4Box.hh" +#include "G4PVPlacement.hh" +#include "G4NistManager.hh" +#include "ML2DummySD.hh" +#include "G4PVReplica.hh" + +CML2ReadOutGeometry::CML2ReadOutGeometry(const G4RotationMatrix *m, G4ThreeVector *v):ROPhyVol(0) +{ + // Build the world volume + G4RotationMatrix *ml=new G4RotationMatrix; + *ml=*m; + G4Material *Vacuum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4ThreeVector halfSizeWorld, centre; + centre.set(0.*mm, 0.*mm, 0.*mm); centre+=*v; + halfSizeWorld.set(3000.*mm, 3000*mm, 3000*mm); + G4Box *ROphmWorldB = new G4Box("ROphmWorldG", halfSizeWorld.getX(), halfSizeWorld.getY(), halfSizeWorld.getZ()); + G4LogicalVolume *ROphmWorldLV = new G4LogicalVolume(ROphmWorldB, Vacuum, "ROphmWorldL", 0, 0, 0); + this->ROPhyVol= new G4PVPlacement(ml, centre, "ROphmWorldPV", ROphmWorldLV, 0, false, 0); +} + +CML2ReadOutGeometry::~CML2ReadOutGeometry(void) +{ + delete this->ROPhyVol; +} +void CML2ReadOutGeometry::setBuildData(G4ThreeVector centre, G4ThreeVector halfSize, G4int NumberOfVoxelsAlongX, G4int NumberOfVoxelsAlongY, G4int NumberOfVoxelsAlongZ) +{ + this->centre=centre; + this->halfSize=halfSize; + this->NumberOfVoxelsAlongX=NumberOfVoxelsAlongX; + this->NumberOfVoxelsAlongY=NumberOfVoxelsAlongY; + this->NumberOfVoxelsAlongZ=NumberOfVoxelsAlongZ; +} +G4VPhysicalVolume* CML2ReadOutGeometry::Build() +{ + // Build RO Zone + G4Material *Vacuum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Box *ROBox = new G4Box("ROBox", this->halfSize.getX(), this->halfSize.getY(), this->halfSize.getZ()); + G4LogicalVolume *ROLV = new G4LogicalVolume(ROBox, Vacuum, "ROLV", 0, 0, 0); + G4VPhysicalVolume *ROPV = new G4PVPlacement(0, this->centre, "ROPV", ROLV, this->ROPhyVol, false, 0); + + // ROGeomtry: Voxel division + + G4double halfXVoxelDimensionX, halfXVoxelDimensionY, halfXVoxelDimensionZ; + + halfXVoxelDimensionX=this->halfSize.getX()/this->NumberOfVoxelsAlongX; + halfXVoxelDimensionY=this->halfSize.getY()/this->NumberOfVoxelsAlongY; + halfXVoxelDimensionZ=this->halfSize.getZ()/this->NumberOfVoxelsAlongZ; + + G4double voxelXThicknessX = 2*halfXVoxelDimensionX; + G4double voxelXThicknessY = 2*halfXVoxelDimensionY; + G4double voxelXThicknessZ = 2*halfXVoxelDimensionZ; + + + // X division first... slice along X axis + G4Box *ROPhantomXDivision = new G4Box("ROPhantomXDivision", + halfXVoxelDimensionX, + this->halfSize.getY(), + this->halfSize.getZ()); + + G4LogicalVolume *ROPhantomXDivisionLog = new G4LogicalVolume(ROPhantomXDivision, + Vacuum, + "ROPhantomXDivisionLog", + 0,0,0); + + G4VPhysicalVolume *ROPhantomXDivisionPhys = new G4PVReplica("ROPhantomXDivisionPhys", + ROPhantomXDivisionLog, + ROPV, + kXAxis, + NumberOfVoxelsAlongX, + voxelXThicknessX, + -this->halfSize.getX()); + // ...then Z division + + G4Box *ROPhantomZDivision = new G4Box("ROPhantomZDivision", + halfXVoxelDimensionX, + this->halfSize.getY(), + halfXVoxelDimensionZ); + + G4LogicalVolume *ROPhantomZDivisionLog = new G4LogicalVolume(ROPhantomZDivision, + Vacuum, + "ROPhantomZDivisionLog", + 0,0,0); + + G4VPhysicalVolume *ROPhantomZDivisionPhys = new G4PVReplica("ROPhantomZDivisionPhys", + ROPhantomZDivisionLog, + ROPhantomXDivisionPhys, + kZAxis, + this->NumberOfVoxelsAlongZ, + voxelXThicknessZ, + -this->halfSize.getZ()); + // ...then Y division + + G4Box *ROPhantomYDivision = new G4Box("ROPhantomYDivision", + halfXVoxelDimensionX, + halfXVoxelDimensionY, + halfXVoxelDimensionZ); + + G4LogicalVolume *ROPhantomYDivisionLog = new G4LogicalVolume(ROPhantomYDivision, + Vacuum, + "ROPhantomYDivisionLog", + 0,0,0); + G4VPhysicalVolume *ROPhantomYDivisionPhys = 0; + ROPhantomYDivisionPhys = new G4PVReplica("ROPhantomYDivisionPhys", + ROPhantomYDivisionLog, + ROPhantomZDivisionPhys, + kYAxis, + this->NumberOfVoxelsAlongY, + voxelXThicknessY, + -this->halfSize.getY()); + + // Sensitive detector doesn't matter which logical volume is used + G4VSensitiveDetector *sensDet=new CML2DummySD("Dummy ROG phantom"); + ROPhantomYDivisionLog->SetSensitiveDetector(sensDet); + return ROPhyVol; +} diff --git a/examples/advanced/medical_linac/src/ML2SDWithParticle.cc b/examples/advanced/medical_linac/src/ML2SDWithParticle.cc new file mode 100755 index 0000000000..7daf4565cf --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2SDWithParticle.cc @@ -0,0 +1,184 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2SDWithParticle.hh" +#include "ML2ExpVoxels.hh" + +CML2SDWithParticle::CML2SDWithParticle() +: G4VSensitiveDetector("killer_plane"),particles(0) +{ + this->idType=idSD_KillerPlane; + this->bStopAtPhaseSpace=true; + this->nTotalParticles=0; + this->bActive=true; +} +CML2SDWithParticle::CML2SDWithParticle(G4int idType, G4int max_N_particles_in_PhSp_File, G4int seed, G4int nMaxParticlesInRamPhaseSpace, G4String name, G4String PhaseSpaceOutFile, G4bool bSavePhaseSpace, G4bool bStopAtPhaseSpace, SPrimaryParticle *primaryParticleData) +: G4VSensitiveDetector(name),particles(0) +{ + this->max_N_particles_in_PhSp_File=max_N_particles_in_PhSp_File; + this->nMaxParticlesInRamPhaseSpace = nMaxParticlesInRamPhaseSpace; + this->idType=idType; + this->primaryParticleData=primaryParticleData; + this->bActive=true; + this->nParticle=0; + this->nTotalParticles=0; + this->bSavePhaseSpace=bSavePhaseSpace; + this->bStopAtPhaseSpace=bStopAtPhaseSpace; + if (this->bSavePhaseSpace) + {this->particles=new Sparticle[nMaxParticlesInRamPhaseSpace];} + this->bContinueRun=true; + G4String seedName; + char a[10]; + sprintf(a,"%d", seed); + seedName=(G4String)a; + + this->fullOutFileData=PhaseSpaceOutFile+"_"+seedName+".txt"; +#ifdef ML2FILEOUT + this->fullOutFileData=PhaseSpaceOutFile+"_"+seedName+".txt"; + char *MyDirOut=new char[1000]; + MyDirOut=getenv("ML2FILEOUT"); + G4String myDirOut=(G4String) MyDirOut; + this->fullOutFileData=myDirOut+"/"+PhaseSpaceOutFile+"_"+seedName+".txt"; +#endif + +} +CML2SDWithParticle::~CML2SDWithParticle() +{ + if (this->bSavePhaseSpace) + { + delete [] this->particles; + delete this->particles; + } +} +void CML2SDWithParticle::saveHeaderParticles() +{ + std::ofstream out; + out.open(this->fullOutFileData, std::ios::out); + out << "Sensitive Detector-Particles"<fullOutFileData, std::ios::app); + static G4int nTotalParticles=0; + for (int i=0; i< nParticle; i++) + { + out << nTotalParticles++ << '\t'; + out << this->particles[i].volumeName << '\t'; + out << this->particles[i].pos.getX()/mm << '\t'; + out << this->particles[i].pos.getY()/mm << '\t'; + out << this->particles[i].pos.getZ()/mm << '\t'; + out << this->particles[i].dir.getX() << '\t'; + out << this->particles[i].dir.getY() << '\t'; + out << this->particles[i].dir.getZ() << '\t'; + out << this->particles[i].kinEnergy/MeV << '\t'; + out << this->particles[i].partPDGE<< '\t'; + out << this->particles[i].primaryParticlePDGE<< '\t'; + out << this->particles[i].nPrimaryPart<< G4endl; + } + out.close(); +} + +G4bool CML2SDWithParticle::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist) +{ + if (this->bActive) + { + G4double energyKin= aStep->GetTrack()->GetKineticEnergy(); + static bool bFirstTime=true; + if (this->idType==idSD_KillerPlane) + { + this->nTotalParticles++; + aStep->GetTrack()->SetTrackStatus(fStopAndKill); + } + else + { + if (energyKin>0.) + { + this->particles[this->nParticle].volumeName=""; + this->particles[this->nParticle].pos=aStep->GetPreStepPoint()->GetPosition(); + this->particles[this->nParticle].dir=aStep->GetPreStepPoint()->GetMomentumDirection(); + this->particles[this->nParticle].kinEnergy=energyKin; + this->particles[this->nParticle].partPDGE=aStep->GetTrack()->GetDefinition()->GetPDGEncoding(); + this->particles[this->nParticle].primaryParticlePDGE=this->primaryParticleData->partPDGE; + this->particles[this->nParticle].nPrimaryPart=this->primaryParticleData->nPrimaryParticle; + this->nParticle++; + this->nTotalParticles++; + this->primaryParticleData->nParticlesInPhSp++; + if (this->nTotalParticles==this->max_N_particles_in_PhSp_File) + { + this->bContinueRun=false; + this->bSavePhaseSpace=false; + if (bFirstTime) + { + bFirstTime=false; + this->saveHeaderParticles(); + } + this->saveDataParticles(this->nParticle); + this->nParticle=0; + } + if (this->nParticle==this->nMaxParticlesInRamPhaseSpace) + { + if (this->bSavePhaseSpace) + { + if (bFirstTime) + { + bFirstTime=false; + this->saveHeaderParticles(); + } + this->saveDataParticles(this->nParticle); + } + if (this->nTotalParticles>=max_N_particles_in_PhSp_File) + { + this->bSavePhaseSpace=false; + } + this->nParticle=0; + } + } + if (this->bStopAtPhaseSpace) + {aStep->GetTrack()->SetTrackStatus(fStopAndKill);} + } + } + return true; +} + diff --git a/examples/advanced/medical_linac/src/ML2SDWithVoxels.cc b/examples/advanced/medical_linac/src/ML2SDWithVoxels.cc new file mode 100755 index 0000000000..920bbf8a97 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2SDWithVoxels.cc @@ -0,0 +1,188 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2SDWithVoxels.hh" +#include "ML2ExpVoxels.hh" + + +// ************************************************************************************* + +CML2SDWithVoxels::CML2SDWithVoxels(G4String name, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4ThreeVector halfSize, G4int NumberOfVoxelsAlongX, G4int NumberOfVoxelsAlongY, G4int NumberOfVoxelsAlongZ) +: G4VSensitiveDetector(name),voxels(0) +{ + this->saving_in_ROG_Voxels_every_events=saving_in_ROG_Voxels_every_events; + this->bSaveROG=bSaveROG; + this->bActive=true; + this->nParticle=0; + this->nParticleValatile=0; + this->nTotalEvents=0; + this->density=1.; + this->voxelVolume=0.; + this->voxelMass=0.; + G4String seedName; + char a[10]; + sprintf(a,"%d", seed); + seedName=(G4String)a; + + + this->fullOutFileData=ROGOutFile+"_"+seedName+".txt"; +#ifdef ML2FILEOUT + char *MyDirOut=new char[1000]; + MyDirOut=getenv("ML2FILEOUT"); + G4String myDirOut=(G4String) MyDirOut; + this->fullOutFileData=myDirOut+"/"+ROGOutFile+"_"+seedName+".txt"; +#endif + + if(this->bSaveROG) + { + this->halfSize=halfSize; + this->NumberOfVoxelsAlongX=NumberOfVoxelsAlongX; + this->NumberOfVoxelsAlongY=NumberOfVoxelsAlongY; + this->NumberOfVoxelsAlongZ=NumberOfVoxelsAlongZ; + this->halfXVoxelDimensionX=this->halfSize.getX()/this->NumberOfVoxelsAlongX; + this->halfXVoxelDimensionY=this->halfSize.getY()/this->NumberOfVoxelsAlongY; + this->halfXVoxelDimensionZ=this->halfSize.getZ()/this->NumberOfVoxelsAlongZ; + + this->voxelVolume=this->halfXVoxelDimensionX*this->halfXVoxelDimensionY*this->halfXVoxelDimensionZ; + + this->voxels=new Svoxel**[this->NumberOfVoxelsAlongX]; + for (int ix=0; ix< this->NumberOfVoxelsAlongX; ix++) + { + this->voxels[ix]=new Svoxel*[this->NumberOfVoxelsAlongY]; + for (int iy=0; iy< this->NumberOfVoxelsAlongY; iy++) + { + this->voxels[ix][iy]=new Svoxel[this->NumberOfVoxelsAlongZ]; + for (int iz=0; iz< this->NumberOfVoxelsAlongZ; iz++) + { + this->voxels[ix][iy][iz].volumeName="noData"; + this->voxels[ix][iy][iz].depEnergy=0.; + this->voxels[ix][iy][iz].depEnergy2=0.; + this->voxels[ix][iy][iz].depEnergyNorm=0.; + this->voxels[ix][iy][iz].depEnergyNormError=0.; + this->voxels[ix][iy][iz].expDose=0.; + this->voxels[ix][iy][iz].halfSize.set(this->halfXVoxelDimensionX, this->halfXVoxelDimensionY, this->halfXVoxelDimensionZ); + this->voxels[ix][iy][iz].pos.set(2.*(ix)*this->halfXVoxelDimensionX -this->halfSize.getX()+this->halfXVoxelDimensionX, + 2.*(iy)*this->halfXVoxelDimensionY -this->halfSize.getY()+this->halfXVoxelDimensionY, + 2.*(iz)*this->halfXVoxelDimensionZ -this->halfSize.getZ()+this->halfXVoxelDimensionZ); + this->voxels[ix][iy][iz].nEvents=0; + } + } + } + } +} + +CML2SDWithVoxels::~CML2SDWithVoxels() +{ + if(this->bSaveROG) + { + delete [] this->voxels; + delete this->voxels; + } +} +G4bool CML2SDWithVoxels::ProcessHits(G4Step *aStep, G4TouchableHistory *ROHist) +{ + + if (this->bActive) + { + G4double energyDep = aStep->GetTotalEnergyDeposit(); + if (this->bSaveROG && energyDep>0.) + { + G4int ix, iy, iz; + + ix=ROHist->GetReplicaNumber(2); + iy=ROHist->GetReplicaNumber(0); + iz=ROHist->GetReplicaNumber(1); + + this->density=aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetMaterial()->GetDensity(); + this->voxelMass=this->voxelVolume*this->density; + energyDep/=this->voxelMass; + this->voxels[ix][iy][iz].volumeName=aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName(); + this->voxels[ix][iy][iz].depEnergy+=energyDep; + this->voxels[ix][iy][iz].depEnergy2+=energyDep*energyDep; + this->voxels[ix][iy][iz].nEvents++; + this->nTotalEvents++; + if (this->nTotalEvents%this->saving_in_ROG_Voxels_every_events==0 && this->nTotalEvents>0) + { + this->saveDataInVoxels(); + } + } + } + return true; +} + +void CML2SDWithVoxels::saveHeaderDataInVoxels() +{ + std::ofstream out; + out.open(this->fullOutFileData, std::ios::out); + out << "Sensitive Detector-Voxels. Total number of events: "<nTotalEvents<saveHeaderDataInVoxels(); + std::ofstream out; + out.open(this->fullOutFileData, std::ios::app); + for (int ix=0; ix< this->NumberOfVoxelsAlongX; ix++) + { + for (int iy=0; iy< this->NumberOfVoxelsAlongY; iy++) + { + for (int iz=0; iz< this->NumberOfVoxelsAlongZ; iz++) + { + if (this->voxels[ix][iy][iz].nEvents>0) + { + out << this->voxels[ix][iy][iz].volumeName << '\t'; + out << this->voxels[ix][iy][iz].pos.getX()/mm << '\t'; + out << this->voxels[ix][iy][iz].pos.getY()/mm << '\t'; + out << this->voxels[ix][iy][iz].pos.getZ()/mm << '\t'; + out << ix << '\t'; + out << iy << '\t'; + out << iz << '\t'; + out << this->voxels[ix][iy][iz].depEnergy/(joule/kg) << '\t'; + out << this->voxels[ix][iy][iz].depEnergy2/((joule/kg)*(joule/kg)) << '\t'; + out << this->voxels[ix][iy][iz].nEvents << G4endl; + } + } + } + } + out.close(); +} diff --git a/examples/advanced/medical_linac/src/ML2StepMax.cc b/examples/advanced/medical_linac/src/ML2StepMax.cc new file mode 100644 index 0000000000..7010505ae3 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2StepMax.cc @@ -0,0 +1,103 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + +// See more at: http://workgroup.lngs.infn.it/geant4lns/ +// +// ---------------------------------------------------------------------------- +// GEANT 4 - ML2 example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)* +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- +#include "ML2StepMax.hh" +#include "ML2StepMaxMessenger.hh" + +///////////////////////////////////////////////////////////////////////////// +ML2StepMax::ML2StepMax(const G4String& processName) + : G4VDiscreteProcess(processName),MaxChargedStep(DBL_MAX) +{ + pMess = new ML2StepMaxMessenger(this); +} + +///////////////////////////////////////////////////////////////////////////// +ML2StepMax::~ML2StepMax() { delete pMess; } + +///////////////////////////////////////////////////////////////////////////// +G4bool ML2StepMax::IsApplicable(const G4ParticleDefinition& particle) +{ + return (particle.GetPDGCharge() != 0.); +} + +///////////////////////////////////////////////////////////////////////////// +void ML2StepMax::SetMaxStep(G4double step) {MaxChargedStep = step;} + +///////////////////////////////////////////////////////////////////////////// +G4double ML2StepMax::PostStepGetPhysicalInteractionLength(const G4Track& aTrack, + G4double, + G4ForceCondition* condition ) +{ + // condition is set to "Not Forced" + *condition = NotForced; + + G4double ProposedStep = DBL_MAX; + + if((MaxChargedStep > 0.) && + (aTrack.GetVolume() != 0) && + (aTrack.GetVolume()->GetName() == "DetectorPhys")) + ProposedStep = MaxChargedStep; + + return ProposedStep; +} + +///////////////////////////////////////////////////////////////////////////// +G4VParticleChange* ML2StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&) +{ + // do nothing + aParticleChange.Initialize(aTrack); + return &aParticleChange; +} + diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemUnion.cc b/examples/advanced/medical_linac/src/ML2StepMaxMessenger.cc similarity index 52% rename from examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemUnion.cc rename to examples/advanced/medical_linac/src/ML2StepMaxMessenger.cc index b424c9c6b6..65a52d97d3 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemUnion.cc +++ b/examples/advanced/medical_linac/src/ML2StepMaxMessenger.cc @@ -23,20 +23,49 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// ML2StepMaxMessenger.cc // -// File name: RadmonDetectorLayerVolumeItemUnion.cc -// Creation date: Sep 2005 -// Main author: Riccardo Capra +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // -// Id: $Id: RadmonDetectorLayerVolumeItemUnion.cc,v 1.3 2006/06/29 16:13:55 gunter Exp $ -// Tag: $Name: geant4-09-02 $ +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -// Include files -#include "RadmonDetectorLayerVolumeItemUnion.hh" -#include "G4UnionSolid.hh" +#include "ML2StepMaxMessenger.hh" +#include "ML2StepMax.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" -G4VSolid * RadmonDetectorLayerVolumeItemUnion :: Operate(G4VSolid * left, G4VSolid * right, G4RotationMatrix * relativeRotation, const G4ThreeVector & relativePosition) -{ - return new G4UnionSolid(left->GetName()+" + "+right->GetName(), left, right, relativeRotation, relativePosition); +///////////////////////////////////////////////////////////////////////////// +ML2StepMaxMessenger::ML2StepMaxMessenger(ML2StepMax* stepM) +:stepMax(stepM) +{ + StepMaxCmd = new G4UIcmdWithADoubleAndUnit("/Step/waterPhantomStepMax",this); + StepMaxCmd->SetGuidance("Set max allowed step length"); + StepMaxCmd->SetParameterName("mxStep",false); + StepMaxCmd->SetRange("mxStep>0."); + StepMaxCmd->SetUnitCategory("Length"); } + +///////////////////////////////////////////////////////////////////////////// +ML2StepMaxMessenger::~ML2StepMaxMessenger() +{ + delete StepMaxCmd; +} + +///////////////////////////////////////////////////////////////////////////// +void ML2StepMaxMessenger::SetNewValue(G4UIcommand* command, G4String newValue) +{ + if (command == StepMaxCmd) + { stepMax->SetMaxStep(StepMaxCmd->GetNewDoubleValue(newValue));} +} + diff --git a/examples/advanced/medical_linac/include/MedLinacPhantomSD.hh b/examples/advanced/medical_linac/src/ML2SteppingAction.cc old mode 100644 new mode 100755 similarity index 63% rename from examples/advanced/medical_linac/include/MedLinacPhantomSD.hh rename to examples/advanced/medical_linac/src/ML2SteppingAction.cc index a01eaa8c72..0f534c3def --- a/examples/advanced/medical_linac/include/MedLinacPhantomSD.hh +++ b/examples/advanced/medical_linac/src/ML2SteppingAction.cc @@ -23,49 +23,40 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -//// $Id: MedLinacPhantomSD.hh,v 1.7 2006/06/29 16:03:55 gunter Exp $ +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) // +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 // +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -// Code developed by: M. Piergentili -// -#ifndef MedLinacPhantomSD_h -#define MedLinacPhantomSD_h 1 +#include "ML2SteppingAction.hh" +#include "globals.hh" +#include "G4Step.hh" #include "G4VSensitiveDetector.hh" -#include "MedLinacPhantomHit.hh" -class MedLinacPhantomMessenger; +#include "G4TouchableHistory.hh" -class G4Step; -class G4HCofThisEvent; -class G4TouchableHistory; +#include "G4VReadOutGeometry.hh" -class MedLinacPhantomSD : public G4VSensitiveDetector +CML2SteppingAction::CML2SteppingAction(CML2Convergence *convergence) { -public: - MedLinacPhantomSD(G4String name); - ~MedLinacPhantomSD(); - - - void SetPhantomDimension (G4double); - void SetNumberOfPhantomVoxels (G4int); - - void Initialize(G4HCofThisEvent*); - G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist); - void EndOfEvent(G4HCofThisEvent*HCE); - void clear(); - void DrawAll(); - void PrintAll(); - -public: - G4double GetPhantomDimension() {return phantomDimension;}; - G4int GetNumberOfPhantomVoxels() {return numberOfPhantomVoxels;}; - - private: - G4double phantomDimension; - G4int numberOfPhantomVoxels; - MedLinacPhantomMessenger* phantomMessenger; -}; -#endif + this->convergence=convergence; +} +CML2SteppingAction::~CML2SteppingAction(void) +{} +void CML2SteppingAction::UserSteppingAction(const G4Step* aStep) +{ + this->convergence->add(aStep); +} diff --git a/examples/advanced/medical_linac/src/MedLinacTrackingAction.cc b/examples/advanced/medical_linac/src/ML2TrackingAction.cc old mode 100644 new mode 100755 similarity index 53% rename from examples/advanced/medical_linac/src/MedLinacTrackingAction.cc rename to examples/advanced/medical_linac/src/ML2TrackingAction.cc index ea829c13b6..f74a229c63 --- a/examples/advanced/medical_linac/src/MedLinacTrackingAction.cc +++ b/examples/advanced/medical_linac/src/ML2TrackingAction.cc @@ -23,14 +23,28 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// -#include "MedLinacTrackingAction.hh" +#include "ML2TrackingAction.hh" + #include "G4TrackingManager.hh" #include "G4Track.hh" -#include "MedLinacDetectorConstruction.hh" -#include "MedLinacTargetAndFilterDecorator.hh" #include "G4TrackStatus.hh" #include "G4VPhysicalVolume.hh" #include "G4Navigator.hh" @@ -38,37 +52,47 @@ #include "G4ParticleDefinition.hh" #include "G4ParticleTypes.hh" -void MedLinacTrackingAction::PreUserTrackingAction(const G4Track* aTrack) + +void CML2TrackingAction::PreUserTrackingAction(const G4Track* aTrack) { - // global geometry navigator - gNavigator = G4TransportationManager::GetTransportationManager() - ->GetNavigatorForTracking(); - + //gNavigator = G4TransportationManager::GetTransportationManager() + // ->GetNavigatorForTracking(); // Create trajectory only for primaries // check if particle is gamma - G4ParticleDefinition* particleType = aTrack->GetDefinition(); - G4ThreeVector direction = aTrack->GetMomentumDirection(); - G4double theta = std::acos(std::abs(direction.z())); + //G4ParticleDefinition* particleType = aTrack->GetDefinition(); + //G4ThreeVector direction = aTrack->GetMomentumDirection(); + //G4double theta = std::acos(std::abs(direction.z())); + if(aTrack->GetParentID()!=0) + { + this->fpTrackingManager->SetStoreTrajectory(true); + } - //if(aTrack->GetParentID()==0) - //fpTrackingManager->SetStoreTrajectory(true); +// if(particleType==G4Gamma::GammaDefinition()) { +// if(theta>=20.*deg){ +// // check if particle is in target +// G4ThreeVector pos = aTrack->GetPosition(); +// G4ThreeVector *ptr = NULL; +// G4VPhysicalVolume *theVolume; +// theVolume = gNavigator->LocateGlobalPointAndSetup(pos,ptr,false); +// if(theVolume->GetName() == "targetA"||theVolume->GetName() == "targetB") { +// +// fpTrackingManager->SetStoreTrajectory(false); } +// } +//} +// else +// {fpTrackingManager->SetStoreTrajectory(true);} +} - if(particleType==G4Gamma::GammaDefinition()) { - if(theta>=20.*deg){ - // check if particle is in target - G4ThreeVector pos = aTrack->GetPosition(); - G4ThreeVector *ptr = NULL; - G4VPhysicalVolume *theVolume; - theVolume = gNavigator->LocateGlobalPointAndSetup(pos,ptr,false); - if(theVolume->GetName() == "targetA"||theVolume->GetName() == "targetB") { - - fpTrackingManager->SetStoreTrajectory(false); } - } + +CML2TrackingAction::~CML2TrackingAction(void) +{ } - else - {fpTrackingManager->SetStoreTrajectory(true);} + +CML2TrackingAction::CML2TrackingAction(void) +{ } + diff --git a/examples/advanced/medical_linac/src/ML2WorldConstruction.cc b/examples/advanced/medical_linac/src/ML2WorldConstruction.cc new file mode 100755 index 0000000000..0b09183ad2 --- /dev/null +++ b/examples/advanced/medical_linac/src/ML2WorldConstruction.cc @@ -0,0 +1,132 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// The code was written by : +// ^Claudio Andenna claudio.andenna@iss.infn.it, claudio.andenna@ispesl.it +// *Barbara Caccia barbara.caccia@iss.it +// with the support of Pablo Cirrone (LNS, INFN Catania Italy) +// +// ^ISPESL and INFN Roma, gruppo collegato Sanità, Italy +// *Istituto Superiore di Sanità and INFN Roma, gruppo collegato Sanità, Italy +// Viale Regina Elena 299, 00161 Roma (Italy) +// tel (39) 06 49902246 +// fax (39) 06 49387075 +// +// more information: +// http://g4advancedexamples.lngs.infn.it/Examples/medical-linac +// +//*******************************************************// + + +#include "ML2WorldConstruction.hh" +#include "ML2PhantomConstruction.hh" +#include "ML2AcceleratorConstruction.hh" + +CML2WorldConstruction::CML2WorldConstruction():acceleratorEnv(0),phantomEnv(0),PVWorld(0),phaseSpace(0),backScatteredPlane(0) +{ + this->phantomEnv=CML2PhantomConstruction::GetInstance(); + this->acceleratorEnv=CML2AcceleratorConstruction::GetInstance(); +} + +CML2WorldConstruction::~CML2WorldConstruction(void) +{ + delete this->PVWorld; + delete this->phantomEnv; + delete this->acceleratorEnv; + delete this->phaseSpace; +} + +CML2WorldConstruction* CML2WorldConstruction::instance = 0; + +CML2WorldConstruction* CML2WorldConstruction::GetInstance() +{ + if (instance == 0) + { + instance = new CML2WorldConstruction(); + } + return instance; +} + +G4VPhysicalVolume* CML2WorldConstruction::Construct() +{ + return this->PVWorld; +} +void CML2WorldConstruction::create(SInputData *inputData) +{ +// create the world box + G4double halfSize=3000.*mm; + G4Material *Vacuum=G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic"); + G4Box *worldB = new G4Box("worldG", halfSize, halfSize, halfSize); + G4LogicalVolume *worldLV = new G4LogicalVolume(worldB, Vacuum, "worldL", 0, 0, 0); + G4VisAttributes* simpleWorldVisAtt= new G4VisAttributes(G4Colour::Black()); + simpleWorldVisAtt->SetVisibility(false); + simpleWorldVisAtt->SetForceSolid(false); + worldLV->SetVisAttributes(simpleWorldVisAtt); + this->PVWorld= new G4PVPlacement(0, G4ThreeVector(0.,0.,0.), "worldPV", worldLV, 0, false, 0); + +// create the accelerator-world box + this->acceleratorEnv->Construct(this->PVWorld); + +// create the phantom-world box + this->phantomEnv->Construct(this->PVWorld, inputData->generalData.saving_in_ROG_Voxels_every_events, inputData->generalData.seed, inputData->generalData.ROGOutFile, inputData->generalData.bSaveROG); + +// if the bSavePhaseSpace flag is true create a phase plane + if (inputData->generalData.bSavePhaseSpace) + { + this->phaseSpace=new CML2PhaseSpaces(); + this->phaseSpace->createPlane(idSD_PhaseSpace, inputData->generalData.max_N_particles_in_PhSp_File, inputData->generalData.seed, inputData->generalData.nMaxParticlesInRamPlanePhaseSpace, this->acceleratorEnv->getPhysicalVolume(), "PhSp", inputData->generalData.PhaseSpaceOutFile, inputData->generalData.bSavePhaseSpace, inputData->generalData.bStopAtPhaseSpace, inputData->generalData.centrePhaseSpace, inputData->generalData.halfSizePhaseSpace,&inputData->primaryParticleData); + } + +// create a killer plane to destroy the particles back scattered from the target + this->backScatteredPlane=new CML2PhaseSpaces(); + this->backScatteredPlane->createPlane(this->acceleratorEnv->getPhysicalVolume(), "killerPlane", G4ThreeVector(0, 0, -50*mm), G4ThreeVector(100*mm, 100*mm, 1*mm)); + +// fast check of the physical volumes overlap + this->checkVolumeOverlap(); +} +void CML2WorldConstruction::checkVolumeOverlap() +{ +// loop inside all the daughters volumes + bool bCheckOverlap=false; + int nWorld; + nWorld=(int) this->PVWorld->GetLogicalVolume()->GetNoDaughters(); + + int nSubWorlds, nSubWorlds2; + for (int i=0; i<(int) this->PVWorld->GetLogicalVolume()->GetNoDaughters(); i++) + { + bCheckOverlap=this->PVWorld->GetLogicalVolume()->GetDaughter(i)->CheckOverlaps(); + nSubWorlds=(int) this->PVWorld->GetLogicalVolume()->GetDaughter(i)->GetLogicalVolume()->GetNoDaughters(); + for (int j=0; jPVWorld->GetLogicalVolume()->GetDaughter(i)->GetLogicalVolume()->GetDaughter(j)->CheckOverlaps(); + nSubWorlds2=(int) this->PVWorld->GetLogicalVolume()->GetDaughter(i)->GetLogicalVolume()->GetDaughter(j)->GetLogicalVolume()->GetNoDaughters(); + for (int k=0; kPVWorld->GetLogicalVolume()->GetDaughter(i)->GetLogicalVolume()->GetDaughter(j)->GetLogicalVolume()->GetDaughter(k)->CheckOverlaps(); + } + } + } +} + diff --git a/examples/advanced/medical_linac/src/MedLinacAnalysisManager.cc b/examples/advanced/medical_linac/src/MedLinacAnalysisManager.cc deleted file mode 100644 index 49251200d6..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacAnalysisManager.cc +++ /dev/null @@ -1,288 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// ******************************************************************** -// $Id: MedLinacAnalysisManager.cc,v 1.9 2006/06/29 16:04:15 gunter Exp $ -// -// -// Code developed by: M. Piergentili -// -// -#ifdef G4ANALYSIS_USE -#include -#include -#include "MedLinacAnalysisManager.hh" - -#include "G4ios.hh" - -#include "AIDA/IHistogram1D.h" -#include "AIDA/IHistogram2D.h" - -#include "AIDA/IManagedObject.h" -#include "AIDA/IAnalysisFactory.h" -#include "AIDA/IHistogramFactory.h" -#include "AIDA/ITupleFactory.h" -#include "AIDA/ITreeFactory.h" -#include "AIDA/ITree.h" -#include "AIDA/ITuple.h" - -MedLinacAnalysisManager* MedLinacAnalysisManager::instance = 0; - -MedLinacAnalysisManager::MedLinacAnalysisManager(): - aFact(0), theTree(0), histFact(0),h1(0),h2(0),h3(0), - h4(0),h5(0),h6(0),h7(0),h8(0),h9(0),h10(0), - h11(0),h12(0),h13(0),h14(0),h15(0) - -{ - //build up the factories - aFact = AIDA_createAnalysisFactory(); - - AIDA::ITreeFactory *treeFact = aFact->createTreeFactory(); - - //parameters for the TreeFactory - - std::string fileName = "MedLinacDiane.xml"; - theTree = treeFact->create(fileName,"xml",false, true,"uncompress"); - - delete treeFact; - - histFact = aFact->createHistogramFactory( *theTree ); - -} -MedLinacAnalysisManager::~MedLinacAnalysisManager() -{ - delete histFact; - histFact = 0; - - delete theTree; - histFact = 0; - - delete aFact; - aFact = 0; -} - -MedLinacAnalysisManager* MedLinacAnalysisManager::getInstance() -{ - if (instance == 0) instance = new MedLinacAnalysisManager; - return instance; -} - -void MedLinacAnalysisManager::book() -{ - //creating an other 1D histogram ... - h1 = histFact->createHistogram1D("14010","PDD5", //histoID,histo name - 60,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h2 = histFact->createHistogram1D("14020","Flatness build-up5", //histoID,histo name - 60,-150.0,150.0); //bins' number, zmin, zmax - - //creating an other 1D histogram ... - h3 = histFact->createHistogram1D("14030","Flatness 50mm 5", //histoID,histo name - 60,-150.0,150.0); //bins' number, zmin, zmax - - //creating an other 1D histogram ... - h4 = histFact->createHistogram1D("14040","Flatness 100mm 5", //histoID,histo name - 60,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h5 = histFact->createHistogram1D("14050","Flatness 200mm 5", //histoID,histo name - 60,-150.0,150.0); //bins' number, zmin, zmax - - //creating an other 1D histogram ... - h6 = histFact->createHistogram1D("14060","PDD 2", //histoID,histo name - 150,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h7 = histFact->createHistogram1D("14070","Flatness build-up 2",//histoID,histo name - 150,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h8 = histFact->createHistogram1D("14080","Flatness 50mm 2", //histoID,histo name - 150,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h9 = histFact->createHistogram1D("14090","Flatness 100mm 2", //histoID,histo name - 150,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h10 = histFact->createHistogram1D("14100","Flatness 200mm 2", //histoID,histo name - 150,-150.0,150.0); //bins' number, zmin, zmax - - - //creating an other 1D histogram ... - h11 = histFact->createHistogram1D("14101","PDD 1", //histoID,histo name - 300,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h12 = histFact->createHistogram1D("14102","Flatness build-up 1",//histoID,histo name - 300,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h13 = histFact->createHistogram1D("14103","Flatness 50mm 1", //histoID,histo name - 300,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h14 = histFact->createHistogram1D("14104","Flatness 100mm 1", //histoID,histo name - 300,-150.0,150.0); //bins' number, zmin, zmax - //creating an other 1D histogram ... - h15 = histFact->createHistogram1D("14105","Flatness 200mm 1", //histoID,histo name - 300,-150.0,150.0); //bins' number, zmin, zmax - - -} - -void MedLinacAnalysisManager::FillHistogram1WithEnergy(G4double z, - G4float energyDeposit) -{ - //G4cout << " fill HISTO1-------------"<fill(z,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram2WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO2-------------"<fill(x,energyDeposit); -} -void MedLinacAnalysisManager::FillHistogram3WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO3-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram4WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO4-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram5WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO5-------------"<fill(x,energyDeposit); -} - - -void MedLinacAnalysisManager::FillHistogram6WithEnergy(G4double z, - G4float energyDeposit) -{ - //G4cout << " fill HISTO6-------------"<fill(z,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram7WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO7-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram8WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO8-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram9WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO9-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram10WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO10-------------"<fill(x,energyDeposit); -} - - -void MedLinacAnalysisManager::FillHistogram11WithEnergy(G4double z, - G4float energyDeposit) -{ - //G4cout << " fill HISTO11-------------"<fill(z,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram12WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO12-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram13WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO13-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram14WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO14-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::FillHistogram15WithEnergy(G4double x, - G4float energyDeposit) -{ - //G4cout << " fill HISTO15-------------"<fill(x,energyDeposit); -} - -void MedLinacAnalysisManager::finish() -{ - // write all histograms to file ... - theTree->commit(); - - // close (will again commit) ... - theTree->close(); -} -#endif - - - - - - - - - - - diff --git a/examples/advanced/medical_linac/src/MedLinacDetectorConstruction.cc b/examples/advanced/medical_linac/src/MedLinacDetectorConstruction.cc deleted file mode 100644 index f6d7345b5b..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacDetectorConstruction.cc +++ /dev/null @@ -1,533 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacDetectorConstruction.cc,v 1.12 2007/07/06 21:39:05 mpiergen Exp $ -// -// Code developed by: M. Piergentili -// -// -//------------------------------ beam line along z axis--------------------- - -#include "MedLinacDetectorMessenger.hh" -#include "MedLinacDetectorConstruction.hh" -#include "MedLinacPhantomROGeometry.hh" -#include "MedLinacPhantomSD.hh" -#include "MedLinacVGeometryComponent.hh" -#include "MedLinacHead.hh" -#include "MedLinacDecorator.hh" -#include "MedLinacTargetAndFilterDecorator.hh" -#include "MedLinacMLCDecorator.hh" -#include "G4CSGSolid.hh" -#include "G4RotationMatrix.hh" -#include "G4Transform3D.hh" -#include "G4Material.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4MaterialTable.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4Box.hh" -#include "G4Cons.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4PVParameterised.hh" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4RunManager.hh" -#include "Randomize.hh" -#include "G4TransportationManager.hh" -#include "G4UserLimits.hh" -#include "G4GeometryManager.hh" -#include "G4BooleanSolid.hh" -#include "G4SubtractionSolid.hh" -#include "G4VSolid.hh" -#include "G4Region.hh" - -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" -#include "G4RegionStore.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4ios.hh" - -MedLinacDetectorConstruction::MedLinacDetectorConstruction(G4String SDName) - : phantomSD(0),phantomROGeometry(0), - experimentalHall_log(0),vacuumBlock_log(0), - JawY1_log(0),JawY2_log(0), - JawX1_log(0),JawX2_log(0), - Phantom_log(0), - experimentalHall_phys(0),vacuumBlock_phys(0), - JawY1_phys(0), JawY2_phys(0), - JawX1_phys(0), JawX2_phys(0), - Phantom_phys(0) -{ - phantomDim = 15.*cm; - //PhantomDimensionX = PhantomDim_x; - //PhantomDimensionY = PhantomDim_y; - //PhantomDimensionZ = PhantomDim_z; - - //numberOfVoxelsAlongX=150; - //numberOfVoxelsAlongY=150; - //numberOfVoxelsAlongZ=150; - - numberOfVoxelsAlongX=0; - numberOfVoxelsAlongY=0; - numberOfVoxelsAlongZ=0; - maxStep = 0; - - sensitiveDetectorName = SDName; - - // default parameter values - - fieldX1 = -2.5*cm; - fieldX2 = 2.5*cm; - fieldY1 = -2.5*cm; - fieldY2 = 2.5*cm; - - - detectorMessenger = new MedLinacDetectorMessenger(this); - pHead = new MedLinacHead(); - decorator = new MedLinacTargetAndFilterDecorator(pHead); - decorator1 = new MedLinacMLCDecorator(pHead); - ComputeDimVoxel(); - - - } - -MedLinacDetectorConstruction* MedLinacDetectorConstruction::instance = 0; - -MedLinacDetectorConstruction* MedLinacDetectorConstruction::GetInstance(G4String SDName) -{ - if (instance == 0) - { - instance = new MedLinacDetectorConstruction(SDName); - - } - return instance; -} - -MedLinacDetectorConstruction::~MedLinacDetectorConstruction() -{ - delete detectorMessenger; - delete pHead; - delete decorator; - delete decorator1; - } - -G4VPhysicalVolume* MedLinacDetectorConstruction::Construct() -{ - return ConstructGeom(); -} - -G4VPhysicalVolume* MedLinacDetectorConstruction::ConstructGeom () -{ - // Cleanup old geometry - - G4GeometryManager::GetInstance()->OpenGeometry(); - G4PhysicalVolumeStore::GetInstance()->Clean(); - G4LogicalVolumeStore::GetInstance()->Clean(); - G4SolidStore::GetInstance()->Clean(); - - // materials - - G4double a; // atomic mass - G4double z; // atomic number - G4double density; - G4int ncomponents; - G4int natoms; - G4String name; - G4String symbol; - G4double fractionmass; - G4double massOfMole; - G4double pressure; - G4double temperature; - - a = 14.00674*g/mole; - G4Element* elN = new G4Element(name="Nitrogen" ,symbol="N", z=7., a); - - a = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen",symbol="O", z=8., a); - - a = 1.00794*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H", z=1., a); - - density = 1.290*mg/cm3; - G4Material* Air = new G4Material(name="Air",density, ncomponents=2); - Air->AddElement(elN, fractionmass=70*perCent); - Air->AddElement(elO, fractionmass=30*perCent); - - density = 1.000*g/cm3; - G4Material* H2O = new G4Material(name="Water",density, ncomponents=2); - H2O->AddElement(elH, natoms=2); - H2O->AddElement(elO, natoms=1); - H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV); - - //density = 19.3*g/cm3; - density = 18.*g/cm3; - a = 183.85*g/mole; - G4Material* W = new G4Material(name="Tungsten" , z=74., a, density); - - massOfMole = 1.008*g/mole; - density = 1.e-25*g/cm3; - temperature = 2.73*kelvin; - pressure = 3.e-18*pascal; - G4Material* Vacuum = new G4Material("interGalactic", z=1.,massOfMole, - density, kStateGas,temperature, pressure); - - //------------------------------ beam line along z axis------------------ - - //---------jaws position-------- - - //----1Y------------------------ - - G4double thetaY1 = std::atan(-fieldY1/(100.*cm));// in rad - G4double JawY1Pos_y = -((3.9*cm+28.*cm)*std::sin(thetaY1)+5.*cm*std::cos(thetaY1)); - G4double JawY1Pos_z =115.*cm-((3.9*cm+28.*cm)*std::cos(thetaY1))+5.*cm*std::sin(thetaY1); - //----2Y------------------------- - G4double thetaY2 = std::atan(fieldY2/(100.*cm)); // in rad - G4double JawY2Pos_y = (3.9*cm+28.*cm)*std::sin(thetaY2)+5.*cm*std::cos(thetaY2); - G4double JawY2Pos_z = 115.*cm-(3.9*cm+28.*cm)*std::cos(thetaY2)+5.*cm*std::sin(thetaY2); - //----1X------------------------- - G4double thetaX1 = std::atan(-fieldX1/(100.*cm)); - G4double JawX1Pos_x = -((36.7*cm+3.9*cm)*std::sin(thetaX1)+5.*cm*std::cos(thetaX1)); - G4double JawX1Pos_z =115.*cm-(36.7*cm+3.9*cm)*std::cos(thetaX1)+5.*cm*std::sin(thetaX1); - //----2X------------------------- - G4double thetaX2 = std::atan(fieldX2/(100.*cm)); - G4double JawX2Pos_x = (36.7*cm+3.9*cm)*std::sin(thetaX2)+5.*cm*std::cos(thetaX2); - G4double JawX2Pos_z = 115.*cm-(36.7*cm+3.9*cm)*std::cos(thetaX2)+5.*cm*std::sin(thetaX2); - //---------rotation jaw1Y-------- - - G4RotationMatrix* rotatejaw1Y=new G4RotationMatrix(); - rotatejaw1Y->rotateX(thetaY1); - -//---------rotation jaw2Y-------- - - G4RotationMatrix* rotatejaw2Y=new G4RotationMatrix(); - rotatejaw2Y->rotateX(-thetaY2); - - //---------rotation jaw1X-------- - - G4RotationMatrix* rotatejaw1X=new G4RotationMatrix(); - rotatejaw1X->rotateY(-thetaX1); - - //---------rotation jaw2X-------- - - G4RotationMatrix* rotatejaw2X=new G4RotationMatrix(); - rotatejaw2X->rotateY(thetaX2); - - //---------------colors---------- - - G4Colour white (1.0, 1.0, 1.0); - G4Colour magenta (1.0, 0.0, 1.0); - G4Colour lblue (0.20, .50, .85); - - //------------------------------------------------------ volumes - - //------------------------------ experimental hall (world volume) - //------------------------------ beam line along z axis-------SSD=100cm-------------- - -//------------------------------ experimental hall (world volume) - G4double expHall_x = 3.0*m; - G4double expHall_y = 3.0*m; - G4double expHall_z = 3.0*m; - G4Box* experimentalHall_box - = new G4Box("expHall_box",expHall_x,expHall_y,expHall_z); - experimentalHall_log = new G4LogicalVolume(experimentalHall_box, - Air,"expHall_log",0,0,0); - experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(), - "expHall",experimentalHall_log,0,false,0); - - - - //------------------------vacuum box------------------------ - - G4double vacudim_x = 9.*cm; - G4double vacudim_y = 9.*cm; - G4double vacudim_z = 8.755*cm; - G4Box* vacuumBlock_box = new G4Box("vacuumBlock_box",vacudim_x, - vacudim_y,vacudim_z); - vacuumBlock_log = new G4LogicalVolume(vacuumBlock_box, - Vacuum,"vacuumBlock_log",0,0,0); - G4double vacublockPos_x = 0.0*m; - G4double vacublockPos_y = 0.0*m; - G4double vacublockPos_z = 114.755*cm; - vacuumBlock_phys = new G4PVPlacement(0, - G4ThreeVector(vacublockPos_x,vacublockPos_y,vacublockPos_z), - "vacuBlock",vacuumBlock_log,experimentalHall_phys,false,0); - - - //----------------Jaw Y1 collimator--------------- - - G4double JawY1Dim_x = 10.0*cm; - G4double JawY1Dim_y = 5.0*cm; - G4double JawY1Dim_z = 3.9*cm; - G4Box* JawY1 = new G4Box("JawY1",JawY1Dim_x, - JawY1Dim_y,JawY1Dim_z); - JawY1_log = new G4LogicalVolume(JawY1, - W,"JawY1_log",0,0,0); - - - - G4double JawY1Pos_x = 0.0*cm; - //G4double JawY1Pos_y = fieldY1; - //G4double JawY1Pos_z = 68.1*cm; - JawY1_phys = new G4PVPlacement(rotatejaw1Y, - G4ThreeVector(JawY1Pos_x,JawY1Pos_y,JawY1Pos_z), - "JawY1",JawY1_log,experimentalHall_phys,false,0); - - //----------------Jaw Y2 collimator--------------- - - G4double JawY2Dim_x = 10.0*cm; - G4double JawY2Dim_y = 5.0*cm; - G4double JawY2Dim_z = 3.9*cm; - G4Box* JawY2 = new G4Box("JawY2",JawY2Dim_x, - JawY2Dim_y,JawY2Dim_z); - JawY2_log = new G4LogicalVolume(JawY2, - W,"JawY1_log",0,0,0); - G4double JawY2Pos_x = 0.0*cm; - //G4double JawY2Pos_y = fieldY2; - //G4double JawY2Pos_z = 68.1*cm; - JawY2_phys = new G4PVPlacement(rotatejaw2Y, - G4ThreeVector(JawY2Pos_x,JawY2Pos_y,JawY2Pos_z), - "JawY2",JawY2_log,experimentalHall_phys,false,0); - - - //----------------Jaw X1 collimator--------------- - - G4double JawX1Dim_x = 5.0*cm; - G4double JawX1Dim_y = 10.0*cm; - G4double JawX1Dim_z = 3.9*cm; - G4Box* JawX1 = new G4Box("JawX1",JawX1Dim_x, - JawX1Dim_y,JawX1Dim_z); - JawX1_log = new G4LogicalVolume(JawX1, - W,"JawX1_log",0,0,0); - //G4cout <<"_________________DetectorConstruction fieldX1 "<< fieldX1/cm << G4endl; - - //G4double JawX1Pos_x = fieldX1; - G4double JawX1Pos_y = 0.0*cm; - //G4double JawX1Pos_z = 54.2*cm; - JawX1_phys = new G4PVPlacement(rotatejaw1X, - G4ThreeVector(JawX1Pos_x,JawX1Pos_y,JawX1Pos_z), - "JawX1",JawX1_log,experimentalHall_phys,false,0); - - //----------------Jaw X2 collimator--------------- - - G4double JawX2Dim_x = 5.0*cm; - G4double JawX2Dim_y = 10.0*cm; - G4double JawX2Dim_z = 3.9*cm; - G4Box* JawX2 = new G4Box("JawX2",JawX2Dim_x, - JawX2Dim_y,JawX2Dim_z); - JawX2_log = new G4LogicalVolume(JawX2, - W,"JawX1_log",0,0,0); - //G4double JawX2Pos_x = fieldX2; - G4double JawX2Pos_y = 0.0*cm; - //G4double JawX2Pos_z = 54.2*cm; - JawX2_phys = new G4PVPlacement(rotatejaw2X, - G4ThreeVector(JawX2Pos_x,JawX2Pos_y,JawX2Pos_z), - "JawX2",JawX2_log,experimentalHall_phys,false,0); - - //----------------Phantom--------- - //phantomDim_x = 15.*cm; - //phantomDim_y = 15.*cm; - //phantomDim_z = 15.*cm; - phantomDim_x = phantomDim; - phantomDim_y = phantomDim; - phantomDim_z = phantomDim; - - G4Box* Phantom = new G4Box("Phantom",phantomDim_x, - phantomDim_y,phantomDim_z); - Phantom_log = new G4LogicalVolume(Phantom, - H2O,"Phantom_log",0,0,0); - G4double PhantomPos_x = 0.0*m; - G4double PhantomPos_y = 0.0*m; - G4double PhantomPos_z = 0.0*cm; - Phantom_phys = new G4PVPlacement(0, - G4ThreeVector(PhantomPos_x,PhantomPos_y,PhantomPos_z), - "Phantom_phys",Phantom_log,experimentalHall_phys,false,0); - - numberOfVoxelsAlongX=numberOfVoxels; - numberOfVoxelsAlongY=numberOfVoxels; - numberOfVoxelsAlongZ=numberOfVoxels; - - PrintParameters(); - -//--------- Visualization attributes ------------------------------- - - - - G4VisAttributes* simpleH2OVisAtt= new G4VisAttributes(lblue); - simpleH2OVisAtt->SetVisibility(true); - simpleH2OVisAtt->SetForceSolid(true); - Phantom_log->SetVisAttributes(simpleH2OVisAtt); - - G4VisAttributes* simpleVacuumWVisAtt= new G4VisAttributes(white); - simpleVacuumWVisAtt->SetVisibility(true); - simpleVacuumWVisAtt->SetForceWireframe(true); - vacuumBlock_log->SetVisAttributes(simpleVacuumWVisAtt); - - G4VisAttributes* simpleTungstenSVisAtt= new G4VisAttributes(magenta); - simpleTungstenSVisAtt->SetVisibility(true); - simpleTungstenSVisAtt->SetForceSolid(true); - JawY1_log->SetVisAttributes(simpleTungstenSVisAtt); - JawY2_log->SetVisAttributes(simpleTungstenSVisAtt); - JawX1_log->SetVisAttributes(simpleTungstenSVisAtt); - JawX2_log->SetVisAttributes(simpleTungstenSVisAtt); - - - G4VisAttributes* simpleWorldVisAtt= new G4VisAttributes(white); - simpleWorldVisAtt->SetVisibility(false); - experimentalHall_log ->SetVisAttributes(simpleWorldVisAtt); - - //if you want not to see phantom, jaws e vacuum ...: - - //Phantom_log->SetVisAttributes(simpleWorldVisAtt); - //JawY1_log->SetVisAttributes(simpleWorldVisAtt); - //JawY2_log->SetVisAttributes(simpleWorldVisAtt); - //JawX1_log->SetVisAttributes(simpleWorldVisAtt); - //JawX2_log->SetVisAttributes(simpleWorldVisAtt); - //vacuumBlock_log->SetVisAttributes(simpleWorldVisAtt); - - // Sets a max Step length in the detector - //G4double maxStep = 0.2*mm; - Phantom_log->SetUserLimits(new G4UserLimits(maxStep)); - - ConstructVolume(); - - ConstructSensitiveDetector(); - - //G4cout <<"????????????????????numberOfVoxels "<< numberOfVoxels <DefineWorldVolume(ConstructGeom()); -} - - - -void MedLinacDetectorConstruction::ConstructVolume() -{ - pHead ->ConstructComponent(experimentalHall_phys,vacuumBlock_phys); - decorator ->ConstructComponent( experimentalHall_phys,vacuumBlock_phys); - decorator1 ->ConstructComponent( experimentalHall_phys,vacuumBlock_phys); - - } - -void MedLinacDetectorConstruction::ConstructSensitiveDetector() -// Sensitive Detector and ReadOut geometry definition -{ - - G4SDManager* pSDManager = G4SDManager::GetSDMpointer(); - - if(!phantomSD) - { - phantomSD = new MedLinacPhantomSD (sensitiveDetectorName); - - pSDManager->AddNewDetector(phantomSD); - } - - G4String ROGeometryName = "PhantomROGeometry"; - phantomROGeometry = new MedLinacPhantomROGeometry (ROGeometryName, phantomDim_x,phantomDim_y,phantomDim_z, - numberOfVoxelsAlongX,numberOfVoxelsAlongY,numberOfVoxelsAlongZ); - - phantomROGeometry->BuildROGeometry(); - phantomSD->SetROgeometry(phantomROGeometry); - - Phantom_log->SetSensitiveDetector(phantomSD); -} diff --git a/examples/advanced/medical_linac/src/MedLinacDetectorMessenger.cc b/examples/advanced/medical_linac/src/MedLinacDetectorMessenger.cc deleted file mode 100644 index a43b357ace..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacDetectorMessenger.cc +++ /dev/null @@ -1,169 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacDetectorMessenger.cc,v 1.5 2006/06/29 16:04:21 gunter Exp $ -// -// Code developed by: M. Piergentili - -#include "MedLinacDetectorMessenger.hh" -#include "MedLinacDetectorConstruction.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWithoutParameter.hh" - -//********************************************************************* - -MedLinacDetectorMessenger::MedLinacDetectorMessenger( - MedLinacDetectorConstruction* MedLinacDet) - :MedLinacDetector(MedLinacDet) -{ - - G4cout <<"==================DetectorMessenger "<SetGuidance("jaws position"); - - MedLinacDir = new G4UIdirectory("/Phantom/"); - MedLinacDir->SetGuidance("phantom parameters"); - - - X1Dir = new G4UIdirectory("/Jaws/X1/"); - X2Dir = new G4UIdirectory("/Jaws/X2/"); - Y1Dir = new G4UIdirectory("/Jaws/Y1/"); - Y2Dir = new G4UIdirectory("/Jaws/Y2/"); - - - JawX1PosCmd = new G4UIcmdWithADoubleAndUnit("/Jaws/X1/DistanceFromAxis",this); - JawX1PosCmd->SetGuidance("Set jawsx1 position (negative)"); - JawX1PosCmd->SetParameterName("JawsX1Pos_x",false); - JawX1PosCmd->SetRange("JawsX1Pos_x<=0. && JawsX1Pos_x>-1000."); - JawX1PosCmd->SetDefaultUnit( "cm" ); - JawX1PosCmd->SetUnitCategory("Length"); - JawX1PosCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - JawX2PosCmd = new G4UIcmdWithADoubleAndUnit("/Jaws/X2/DistanceFromAxis",this); - JawX2PosCmd->SetGuidance("Set jawsx2 position (positive)"); - JawX2PosCmd->SetParameterName("JawsX2Pos_x",false); - JawX2PosCmd->SetRange("JawsX2Pos_x>=0. && JawsX2Pos_x<1000."); - JawX2PosCmd->SetDefaultUnit( "cm" ); - JawX2PosCmd->SetUnitCategory("Length"); - JawX2PosCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - JawY1PosCmd = new G4UIcmdWithADoubleAndUnit("/Jaws/Y1/DistanceFromAxis",this); - JawY1PosCmd->SetGuidance("Set jawsy1 position (negative)"); - JawY1PosCmd->SetParameterName("JawsY1Pos_y",false); - JawY1PosCmd->SetRange("JawsY1Pos_y<=0. && JawsY1Pos_y>-1000."); - JawY1PosCmd->SetDefaultUnit( "cm" ); - JawY1PosCmd->SetUnitCategory("Length"); - JawY1PosCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - JawY2PosCmd = new G4UIcmdWithADoubleAndUnit("/Jaws/Y2/DistanceFromAxis",this); - JawY2PosCmd->SetGuidance("Set jawsy2 position (positive)"); - JawY2PosCmd->SetParameterName("JawsY2Pos_y",false); - JawY2PosCmd->SetRange("JawsY2Pos_y>=0. && JawsY2Pos_y<1000."); - JawY2PosCmd->SetDefaultUnit( "cm" ); - JawY2PosCmd->SetUnitCategory("Length"); - JawY2PosCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - PhantomDimCmd = new G4UIcmdWithADoubleAndUnit("/Phantom/dimension",this); - PhantomDimCmd->SetGuidance("Set phantom dimension (cm)"); - PhantomDimCmd->SetParameterName("phantomDim",false); - PhantomDimCmd->SetDefaultUnit( "cm" ); - PhantomDimCmd->SetUnitCategory("Length"); - PhantomDimCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - NVoxelsCmd = new G4UIcmdWithAnInteger("/Phantom/Nvoxels",this); - NVoxelsCmd->SetGuidance("Set number of voxels along one axis"); - NVoxelsCmd->SetParameterName("numberOfVoxels",false); - NVoxelsCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - MaxStepCmd = new G4UIcmdWithADoubleAndUnit("/Phantom/maxStep",this); - MaxStepCmd->SetGuidance("Set max step in the phantom (mm)"); - MaxStepCmd->SetParameterName("maxStep",false); - MaxStepCmd->SetDefaultUnit( "mm" ); - MaxStepCmd->SetUnitCategory("Length"); - MaxStepCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - UpdateCmd = new G4UIcmdWithoutParameter("/Jaws/update",this); - UpdateCmd->SetGuidance("Update geometry."); - UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); - UpdateCmd->SetGuidance("if you changed geometrical value(s)."); - UpdateCmd->AvailableForStates(G4State_Idle); - - -} - -//**************************************************************************** -MedLinacDetectorMessenger::~MedLinacDetectorMessenger() -{ - delete JawX1PosCmd; - delete JawX2PosCmd; - delete JawY1PosCmd; - delete JawY2PosCmd; - delete PhantomDimCmd; - delete NVoxelsCmd; - delete MaxStepCmd; - delete UpdateCmd; - - delete MedLinacDir; - - delete X1Dir; - delete X2Dir; - delete Y1Dir; - delete Y2Dir; -} - -//**************************************************************************** - -void MedLinacDetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == JawX1PosCmd ) - { MedLinacDetector->SetJawX1Pos_x(JawX1PosCmd->GetNewDoubleValue(newValue));} - - if( command == JawX2PosCmd ) - { MedLinacDetector->SetJawX2Pos_x(JawX2PosCmd->GetNewDoubleValue(newValue));} - - if( command == JawY1PosCmd ) - { MedLinacDetector->SetJawY1Pos_y(JawY1PosCmd->GetNewDoubleValue(newValue));} - - if( command == JawY2PosCmd ) - { MedLinacDetector->SetJawY2Pos_y(JawY2PosCmd->GetNewDoubleValue(newValue));} - - if( command == PhantomDimCmd ) - { MedLinacDetector->SetPhantomDim(PhantomDimCmd->GetNewDoubleValue(newValue));} - - if( command == NVoxelsCmd ) - { MedLinacDetector->SetNumberOfVoxels(NVoxelsCmd->GetNewIntValue(newValue)); } - - if( command == MaxStepCmd ) - { MedLinacDetector->SetMaxStep(MaxStepCmd->GetNewDoubleValue(newValue));} - - if( command == UpdateCmd ) - { MedLinacDetector->UpdateGeometry(); } - -} -//**************************************************************************** diff --git a/examples/advanced/medical_linac/src/MedLinacHead.cc b/examples/advanced/medical_linac/src/MedLinacHead.cc deleted file mode 100644 index aa37206baa..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacHead.cc +++ /dev/null @@ -1,519 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacHead.cc,v 1.3 2006/06/29 16:04:25 gunter Exp $ -// -// Code developed by: M. Piergentili -// -// -//------------------------------ beam line along z axis--------------------- - -#include "MedLinacDetectorMessenger.hh" -#include "MedLinacDetectorConstruction.hh" -#include "MedLinacPhantomROGeometry.hh" -#include "MedLinacPhantomSD.hh" -#include "MedLinacVGeometryComponent.hh" -#include "MedLinacHead.hh" - -#include "G4CSGSolid.hh" -#include "G4RotationMatrix.hh" -#include "G4Transform3D.hh" -#include "G4Material.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4MaterialTable.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4Box.hh" -#include "G4Cons.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4PVParameterised.hh" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4RunManager.hh" -#include "Randomize.hh" -#include "G4TransportationManager.hh" -#include "G4UserLimits.hh" -#include "G4GeometryManager.hh" -#include "G4BooleanSolid.hh" -#include "G4SubtractionSolid.hh" -#include "G4VSolid.hh" -#include "G4Region.hh" - -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" -#include "G4RegionStore.hh" - -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -#include "G4ios.hh" - -MedLinacHead::MedLinacHead() - : windowUp_log(0), UpperCollimator_log(0), - collim_log(0), tracker_log(0), - CylMinusCone_log(0),windowLow_log(0), - Window_log(0),SignalPlate_log(0), - Mirror_log(0),reticle_log(0), - windowUp_phys(0), UpperCollimator_phys(0), - CylMinusCone_phys(0), windowLow_phys(0), - Window1_phys(0), SignalPlate1_phys(0), - SignalPlate2_phys(0), Window2_phys(0), - SignalPlate3_phys(0), SignalPlate4_phys(0), - Window3_phys(0),Mirror_phys(0), - reticle_phys(0), aLowerCollRegion(0),aUpperCollRegion(0) - -{ - aLowerCollRegion = new G4Region("PrimaryCollimatorLow"); - aUpperCollRegion = new G4Region("PrimaryCollimatorUp"); -} - -MedLinacHead::~MedLinacHead() -{;} - - -void MedLinacHead::ConstructComponent(G4VPhysicalVolume* world,G4VPhysicalVolume* vacuumBlock) -{ - - - //G4GeometryManager::GetInstance()->OpenGeometry(); - //G4PhysicalVolumeStore::GetInstance()->Clean(); - //G4LogicalVolumeStore::GetInstance()->Clean(); - //G4SolidStore::GetInstance()->Clean(); - //G4RegionStore::GetInstance()->Clean(); // -> Segmentation fault (core dumped) - - - // materials - - G4double a; // atomic mass - G4double z; // atomic number - G4double density; - G4int ncomponents; - //G4int natoms; - G4String name; - G4String symbol; - G4double fractionmass; - G4double massOfMole; - G4double temperature; - G4double pressure; - - - //a = 207.19*g/mole; - //density = 11.35*g/cm3; - //G4Material* Pb = new G4Material(name="Lead", z=82., a, density); - - a = 14.00674*g/mole; - G4Element* elN = new G4Element(name="Nitrogen" ,symbol="N", z=7., a); - - a = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen",symbol="O", z=8., a); - - a = 1.00794*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H", z=1., a); - - a = 12.011*g/mole; - G4Element* elC = new G4Element(name="Carbon",symbol="C", z=6. , a ); - - density = 1.290*mg/cm3; - G4Material* Air = new G4Material(name="Air",density, ncomponents=2); - Air->AddElement(elN, fractionmass=70*perCent); - Air->AddElement(elO, fractionmass=30*perCent); - - //density = 2.702*g/cm3; - //a = 26.981539*g/mole; - //G4Material* Al = new G4Material(name="Aluminium", z=13., a, density); - - //density = 8.960*g/cm3; - //a = 63.55*g/mole; - //G4Material* Cu = new G4Material(name="Copper" , z=29., a, density); - - //a = 47.88*g/mole; - //density = 4.50*g/cm3; - //Titanium = new G4Material("titanium" ,z = 22.,a,density); - - //density = 19.3*g/cm3; - density = 18.*g/cm3; - a = 183.85*g/mole; - G4Material* W = new G4Material(name="Tungsten" , z=74., a, density); - - density = 1.848*g/cm3; - a = 9.012182*g/mole; - G4Material* Be = new G4Material(name="Beryllium" , z=4., a, density); - - - density = 1.39*g/cm3; - G4Material* Mylar = new G4Material(name="Mylar",density , ncomponents=3, kStateUndefined, 273.15*kelvin, 1.0*atmosphere ); - Mylar->AddElement( elH, 4 ); - Mylar->AddElement( elC, 5 ); - Mylar->AddElement( elO, 2 ); - - density = 1.42*g/cm3; - G4Material* Kapton = new G4Material(name="Kapton",density , ncomponents=4); - Kapton->AddElement( elH, 02.6362 *perCent); - Kapton->AddElement( elC, 69.1133 *perCent); - Kapton->AddElement( elN, 07.3270 *perCent); - Kapton->AddElement( elO, 20.9235 *perCent); - - - massOfMole = 1.008*g/mole; - density = 1.e-25*g/cm3; - temperature = 2.73*kelvin; - pressure = 3.e-18*pascal; - G4Material* Vacuum = new G4Material("interGalactic", z=1.,massOfMole, - density, kStateGas,temperature, pressure); - - - - //------------------------------ beam line along z axis-------SSD=100cm----------- - - //---------rotation matrix first collimator and filter-------- - - G4RotationMatrix* rotateMatrix=new G4RotationMatrix(); - rotateMatrix->rotateX(180.0*deg); - - //---------rotation Mirror-------- - - G4RotationMatrix* rotateMirror=new G4RotationMatrix(); - rotateMirror->rotateY(35.0*deg); - - //---------------colors---------- - - //G4Colour white (1.0, 1.0, 1.0); - G4Colour grey (0.5, 0.5, 0.5); - //G4Colour lgrey (.75, .75, .75); - G4Colour red (1.0, 0.0, 0.0); - //G4Colour blue (0.0, 0.0, 1.0); - G4Colour cyan (0.0, 1.0, 1.0); - G4Colour magenta (1.0, 0.0, 1.0); - G4Colour yellow (1.0, 1.0, 0.0); - //G4Colour lblue (0.20, .50, .85); - - //------------------------------------------------------ volumes - - //------------------------------ experimental hall (world volume) - //------------------------------ beam line along z axis--------------------- - //--------------------window upper------------------- - - G4double windowUpDim_x = 4.*cm; - G4double windowUpDim_y = 4.*cm; - G4double windowUpDim_z = 0.0125*cm; - G4Box* windowUp_box = new G4Box("windowUp_box",windowUpDim_x,windowUpDim_y,windowUpDim_z); - windowUp_log = new G4LogicalVolume(windowUp_box,Be,"windowUp_log",0,0,0); - G4double windowUpPos_x = 0.0*m; - G4double windowUpPos_y = 0.0*m; - G4double windowUpPos_z = 123.5225*cm; - windowUp_phys = new G4PVPlacement(0, - G4ThreeVector(windowUpPos_x,windowUpPos_y,windowUpPos_z), - "windowUp",windowUp_log,world,false,0); - - - //-------------------- the first collimator upper---------------- - - - G4double innerRadiusOfTheTubeEx = 1.0*cm; - G4double outerRadiusOfTheTubeEx = 8.*cm; - G4double hightOfTheTubeEx = 4.0*cm; - G4double startAngleOfTheTubeEx = 0.*deg; - G4double spanningAngleOfTheTubeEx = 360.*deg; - G4Tubs* UpperCollimator = new G4Tubs("UpperCollimator",innerRadiusOfTheTubeEx, - outerRadiusOfTheTubeEx,hightOfTheTubeEx, - startAngleOfTheTubeEx,spanningAngleOfTheTubeEx); - UpperCollimator_log = new G4LogicalVolume(UpperCollimator,W,"UpperCollimator_log",0,0,0); - - G4double UpperCollimatorPosX = 0.*cm; - G4double UpperCollimatorPosY = 0.*cm; - G4double UpperCollimatorPosZ = 2.645*cm; - - UpperCollimator_phys = new G4PVPlacement(0, - G4ThreeVector(UpperCollimatorPosX,UpperCollimatorPosY, - UpperCollimatorPosZ),"UpperCollimator", - UpperCollimator_log,vacuumBlock,false,0); - //-------------------- the first collimator lower---------------- - - G4double pRmin1 = 0.*cm; - //G4double pRmax1 = 0.3352897*cm; - G4double pRmax1 = 0.5*cm; - G4double pRmin2 = 0.*cm; - G4double pRmax2 = 1.7658592*cm; - G4double hightOfTheCone =3.2*cm; - G4double startAngleOfTheCone = 0.*deg; - G4double spanningAngleOfTheCone = 360.*deg; - - G4Cons* collim_cone = new G4Cons("collim_cone",pRmin1,pRmax1,pRmin2, - pRmax2,hightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - collim_log = new G4LogicalVolume(collim_cone,Vacuum,"collim_log",0,0,0); - - - G4double innerRadiusOfTheTube = 0.*cm; - G4double outerRadiusOfTheTube = 8.*cm; - G4double hightOfTheTube = 3.1*cm; - G4double startAngleOfTheTube = 0.*deg; - G4double spanningAngleOfTheTube = 360.*deg; - G4Tubs* tracker_tube = new G4Tubs("tracker_tube",innerRadiusOfTheTube, - outerRadiusOfTheTube,hightOfTheTube, - startAngleOfTheTube,spanningAngleOfTheTube); - tracker_log = new G4LogicalVolume(tracker_tube,W,"tracker_log",0,0,0); - - - G4SubtractionSolid* CylMinusCone = new G4SubtractionSolid("Cyl-Cone", - tracker_tube,collim_cone); - CylMinusCone_log = new G4LogicalVolume(CylMinusCone,W,"CylminusCone_log",0,0,0); - G4double CminusCPos_x = 0.*cm; - G4double CminusCPos_y = 0.*cm; - G4double CminusCPos_z = -4.455*cm; - CylMinusCone_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(CminusCPos_x,CminusCPos_y,CminusCPos_z), - "CylMinusCone",CylMinusCone_log,vacuumBlock,false,0); - - - //delete collim_log; - //delete tracker_log; - //------------------window lower------------------- - - - G4double windowLowDim_x = 4.*cm; - G4double windowLowDim_y = 4.*cm; - G4double windowLowDim_z = 0.0127*cm; - G4Box* windowLow_box = new G4Box("windowLow_box",windowLowDim_x,windowLowDim_y,windowLowDim_z); - - windowLow_log = new G4LogicalVolume(windowLow_box,Be,"windowLow_log",0,0,0); - - G4double windowLowPos_x = 0.0*m; - G4double windowLowPos_y = 0.0*m; - G4double windowLowPos_z = 105.9873*cm; - - windowLow_phys = new G4PVPlacement(0, - G4ThreeVector(windowLowPos_x,windowLowPos_y,windowLowPos_z), - "windowLow",windowLow_log,world,false,0); - - - //---------------Ion chamber------------------------ - - G4double innerRadiusOfTheIonChamber = 0.*cm; - G4double outerRadiusOfTheIonChamber = 4.7625*cm; - G4double hightOfTheWindows = 0.0127*cm; - G4double hightOfTheSignalPlates = 0.00254*cm; - G4double startAngleOfTheIonChamber = 0.*deg; - G4double spanningAngleOfTheIonChamber = 360.*deg; - G4double IonChamberPos_x = 0.0*cm; - G4double IonChamberPos_y = 0.0*cm; - - - G4Tubs* Window = new G4Tubs("Window",innerRadiusOfTheIonChamber, - outerRadiusOfTheIonChamber,hightOfTheWindows, - startAngleOfTheIonChamber,spanningAngleOfTheIonChamber); - - Window_log = new G4LogicalVolume(Window,Kapton,"Window_log",0,0,0); - - - G4Tubs* SignalPlate = new G4Tubs("SignalPlate",innerRadiusOfTheIonChamber, - outerRadiusOfTheIonChamber,hightOfTheSignalPlates, - startAngleOfTheIonChamber,spanningAngleOfTheIonChamber); - - SignalPlate_log = new G4LogicalVolume(SignalPlate ,Kapton,"SignalPlate_log",0,0,0); - - //-----Ion chamber----window 1--------------------- - - G4double Window1Pos_z = 100.165*cm; - Window1_phys = new G4PVPlacement(0, - G4ThreeVector(IonChamberPos_x,IonChamberPos_y,Window1Pos_z), - "Window",Window_log,world,false,0); - - //------Ion chamber---Signal Plate 1--------------------- - - G4double SignalPlate1Pos_z = 99.927*cm; - SignalPlate1_phys = new G4PVPlacement(0, - G4ThreeVector(IonChamberPos_x,IonChamberPos_y,SignalPlate1Pos_z), - "SignalPlate",SignalPlate_log,world,false,0); - - //------Ion chamber---Signal Plate 2--------------------- - - G4double SignalPlate2Pos_z = 99.688*cm; - SignalPlate2_phys = new G4PVPlacement(0, - G4ThreeVector(IonChamberPos_x,IonChamberPos_y,SignalPlate2Pos_z), - "SignalPlate",SignalPlate_log,world,false,0); - - //------Ion chamber---window 2--------------------- - - G4double Window2Pos_z = 99.45*cm; - Window2_phys = new G4PVPlacement(0, - G4ThreeVector(IonChamberPos_x,IonChamberPos_y,Window2Pos_z), - "Window",Window_log,world,false,0); - - //------Ion chamber---Signal Plate 3--------------------- - - G4double SignalPlate3Pos_z = 99.212*cm; - SignalPlate3_phys = new G4PVPlacement(0, - G4ThreeVector(IonChamberPos_x,IonChamberPos_y,SignalPlate3Pos_z), - "SignalPlate",SignalPlate_log,world,false,0); - - //------Ion chamber---Signal Plate 4--------------------- - - G4double SignalPlate4Pos_z = 98.973*cm; - SignalPlate4_phys = new G4PVPlacement(0, - G4ThreeVector(IonChamberPos_x,IonChamberPos_y,SignalPlate4Pos_z), - "SignalPlate",SignalPlate_log,world,false,0); - - //------Ion chamber---window 3--------------------- - - G4double Window3Pos_z = 98.735*cm; - Window3_phys = new G4PVPlacement(0, - G4ThreeVector(IonChamberPos_x,IonChamberPos_y,Window3Pos_z), - "Window",Window_log,world,false,0); - - - //----------------Mirror--------------------------- - - G4double innerRadiusOfTheMirror = 0.*cm; - G4double outerRadiusOfTheMirror = 6.*cm; - G4double hightOfTheMirror = 0.00254*cm; - G4double startAngleOfTheMirror = 0.*deg; - G4double spanningAngleOfTheMirror = 360.*deg; - G4Tubs* Mirror = new G4Tubs("Mirror",innerRadiusOfTheMirror, - outerRadiusOfTheMirror,hightOfTheMirror, - startAngleOfTheMirror,spanningAngleOfTheMirror); - - Mirror_log = new G4LogicalVolume(Mirror,Mylar,"Mirror_log",0,0,0); - G4double MirrorPos_x = 0.0*cm; - G4double MirrorPos_y = 0.0*cm; - G4double MirrorPos_z = 93.0*cm; - Mirror_phys = new G4PVPlacement(rotateMirror, - G4ThreeVector(MirrorPos_x,MirrorPos_y,MirrorPos_z), - "Mirror",Mirror_log,world,false,0); - - //----------------Light Field Reticle - - G4double reticleDim_x = 15.0*cm; - G4double reticleDim_y = 15.0*cm; - G4double reticleDim_z = 0.00508*cm; - G4Box* reticle = new G4Box("reticle",reticleDim_x, - reticleDim_y,reticleDim_z); - reticle_log = new G4LogicalVolume(reticle, - Mylar,"reticle_log",0,0,0); - - G4double reticlePos_x = 0.0*cm; - G4double reticlePos_y = 0.0*cm; - G4double reticlePos_z = 65.5*cm; - reticle_phys = new G4PVPlacement(0, - G4ThreeVector(reticlePos_x,reticlePos_y,reticlePos_z), - "reticle",reticle_log,world,false,0); - - // Cuts by Regions - - - //G4String regName[] = {"PrimaryCollimatorUp","PrimaryCollimatorLow"}; - //G4Region* aUpperCollRegion = new G4Region(regName[0]); - //G4Region* aLowerCollRegion = new G4Region(regName[1]); - //UpperCollimator_log->SetRegion(aUpperCollRegion); - //CylMinusCone_log->SetRegion(aLowerCollRegion); - //aUpperCollRegion->AddRootLogicalVolume(UpperCollimator_log); - //aLowerCollRegion->AddRootLogicalVolume(CylMinusCone_log); - - //G4String regName = "PrimaryCollimatorLow"; - //G4Region* aLowerCollRegion = new G4Region(regName); - CylMinusCone_log->SetRegion(aLowerCollRegion); - aLowerCollRegion->AddRootLogicalVolume(CylMinusCone_log); - - //G4String regName1 = "PrimaryCollimatorUp"; - //G4Region* aUpperCollRegion = new G4Region(regName1); - UpperCollimator_log->SetRegion(aUpperCollRegion); - aUpperCollRegion->AddRootLogicalVolume(UpperCollimator_log); - -//--------- Visualization attributes ------------------------------- - - G4VisAttributes* simpleTungstenWVisAtt= new G4VisAttributes(magenta); - simpleTungstenWVisAtt->SetVisibility(true); - simpleTungstenWVisAtt->SetForceWireframe(true); - collim_log->SetVisAttributes(simpleTungstenWVisAtt); - CylMinusCone_log->SetVisAttributes(simpleTungstenWVisAtt); - UpperCollimator_log->SetVisAttributes(simpleTungstenWVisAtt); - - G4VisAttributes* simpleCopperSVisAtt= new G4VisAttributes(cyan); - simpleCopperSVisAtt->SetVisibility(true); - simpleCopperSVisAtt->SetForceSolid(true); - - G4VisAttributes* simpleBerylliumSVisAtt= new G4VisAttributes(red); - simpleBerylliumSVisAtt->SetVisibility(true); - simpleBerylliumSVisAtt->SetForceSolid(true); - windowUp_log->SetVisAttributes(simpleBerylliumSVisAtt); - windowLow_log->SetVisAttributes(simpleBerylliumSVisAtt); - - G4VisAttributes* simpleMylarVisAtt= new G4VisAttributes(grey); - simpleMylarVisAtt->SetVisibility(true); - simpleMylarVisAtt->SetForceSolid(true); - Mirror_log->SetVisAttributes(simpleBerylliumSVisAtt); - reticle_log->SetVisAttributes(simpleMylarVisAtt); - - - G4VisAttributes* simpleKaptonVisAtt= new G4VisAttributes(yellow); - simpleKaptonVisAtt->SetVisibility(true); - simpleKaptonVisAtt->SetForceSolid(true); - Window_log->SetVisAttributes(simpleKaptonVisAtt); - SignalPlate_log->SetVisAttributes(simpleKaptonVisAtt); - - //if you want not to see mirror ...: - - //G4VisAttributes* simpleWorldVisAtt= new G4VisAttributes(white); - //simpleWorldVisAtt->SetVisibility(false); - //Mirror_log->SetVisAttributes(simpleWorldVisAtt); - //CylMinusCone_log->SetVisAttributes(simpleWorldVisAtt); - //UpperCollimator_log->SetVisAttributes(simpleWorldVisAtt); - //windowUp_log->SetVisAttributes(simpleWorldVisAtt); - //windowLow_log->SetVisAttributes(simpleWorldVisAtt); - //Window_log->SetVisAttributes(simpleWorldVisAtt); - //SignalPlate_log->SetVisAttributes(simpleWorldVisAtt); - //reticle_log->SetVisAttributes(simpleWorldVisAtt); - - //layer1_log->SetVisAttributes(simpleWorldVisAtt); - //layer2_log->SetVisAttributes(simpleWorldVisAtt); - //layer3_log->SetVisAttributes(simpleWorldVisAtt); - //layer4_log->SetVisAttributes(simpleWorldVisAtt); - //layer5_log->SetVisAttributes(simpleWorldVisAtt); - //layer6_log->SetVisAttributes(simpleWorldVisAtt); - //layer7_log->SetVisAttributes(simpleWorldVisAtt); - //layer8_log->SetVisAttributes(simpleWorldVisAtt); - //layer9_log->SetVisAttributes(simpleWorldVisAtt); - //layer10_log->SetVisAttributes(simpleWorldVisAtt); - //layer11_log->SetVisAttributes(simpleWorldVisAtt); - //layer12_log->SetVisAttributes(simpleWorldVisAtt); - //layer13_log->SetVisAttributes(simpleWorldVisAtt); - //layer14_log->SetVisAttributes(simpleWorldVisAtt); - //layer15_log->SetVisAttributes(simpleWorldVisAtt); - //layer16_log->SetVisAttributes(simpleWorldVisAtt); - //layer17_log->SetVisAttributes(simpleWorldVisAtt); - //layer18_log->SetVisAttributes(simpleWorldVisAtt); - //layer19_log->SetVisAttributes(simpleWorldVisAtt); - //layer21_log->SetVisAttributes(simpleWorldVisAtt); - -} - -void MedLinacHead::DestroyComponent() -{;} diff --git a/examples/advanced/medical_linac/src/MedLinacMLCDecorator.cc b/examples/advanced/medical_linac/src/MedLinacMLCDecorator.cc deleted file mode 100644 index d4ebfbca89..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacMLCDecorator.cc +++ /dev/null @@ -1,666 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacMLCDecorator.cc,v 1.3 2006/06/29 16:04:27 gunter Exp $ -// -// Code developed by: M. Piergentili -// -// -#include "MedLinacVGeometryComponent.hh" -#include "G4Material.hh" -#include "MedLinacMLCDecorator.hh" -#include "MedLinacDecorator.hh" -#include "MedLinacMLCMessenger.hh" - -#include "globals.hh" -#include "G4LogicalVolume.hh" -#include "G4RotationMatrix.hh" -#include "G4Transform3D.hh" -#include "G4VPhysicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4Material.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4MaterialTable.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4Box.hh" -#include "G4Cons.hh" -#include "G4Tubs.hh" -#include "G4ThreeVector.hh" -#include "G4VisAttributes.hh" -#include "G4GeometryManager.hh" -#include "G4BooleanSolid.hh" -#include "G4SubtractionSolid.hh" -#include "G4UnionSolid.hh" -#include "G4VSolid.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" -#include "G4Colour.hh" - -#include "G4ios.hh" -MedLinacMLCDecorator::MedLinacMLCDecorator(MedLinacVGeometryComponent* comp) - : MedLinacDecorator(comp), - leafLog(0), - leafAPhys(0), leafBPhys(0) -{ - - // default parameter values - - a1y = 40.*cm; - a2y = 40.*cm; - a3y = 40.*cm; - a4y = 40.*cm; - a5y = 40.*cm; - a6y = 40.*cm; - a7y = 40.*cm; - a8y = 40.*cm; - a9y = 40.*cm; - a10y = 40.*cm; - a11y = 40.*cm; - a12y = 40.*cm; - a13y = 40.*cm; - a14y = 40.*cm; - a15y = 40.*cm; - a16y = 40.*cm; - a17y = 40.*cm; - a18y = 40.*cm; - a19y = 40.*cm; - a20y = 40.*cm; - a21y = 40.*cm; - a22y = 40.*cm; - a23y = 40.*cm; - a24y = 40.*cm; - a25y = 40.*cm; - a26y = 40.*cm; - a27y = 40.*cm; - a28y = 40.*cm; - a29y = 40.*cm; - a30y = 40.*cm; - a31y = 40.*cm; - a32y = 40.*cm; - a33y = 40.*cm; - a34y = 40.*cm; - a35y = 40.*cm; - a36y = 40.*cm; - a37y = 40.*cm; - a38y = 40.*cm; - a39y = 40.*cm; - a40y = 40.*cm; - - b1y = 40.*cm; - b2y = 40.*cm; - b3y = 40.*cm; - b4y = 40.*cm; - b5y = 40.*cm; - b6y = 40.*cm; - b7y = 40.*cm; - b8y = 40.*cm; - b9y = 40.*cm; - b10y = 40.*cm; - b11y = 40.*cm; - b12y = 40.*cm; - b13y = 40.*cm; - b14y = 40.*cm; - b15y = 40.*cm; - b16y = 40.*cm; - b17y = 40.*cm; - b18y = 40.*cm; - b19y = 40.*cm; - b20y = 40.*cm; - b21y = 40.*cm; - b22y = 40.*cm; - b23y = 40.*cm; - b24y = 40.*cm; - b25y = 40.*cm; - b26y = 40.*cm; - b27y = 40.*cm; - b28y = 40.*cm; - b29y = 40.*cm; - b30y = 40.*cm; - b31y = 40.*cm; - b32y = 40.*cm; - b33y = 40.*cm; - b34y = 40.*cm; - b35y = 40.*cm; - b36y = 40.*cm; - b37y = 40.*cm; - b38y = 40.*cm; - b39y = 40.*cm; - b40y = 40.*cm; - - MLCMessenger = new MedLinacMLCMessenger(this); -} -MedLinacMLCDecorator::~MedLinacMLCDecorator() -{ - delete MLCMessenger; - ; -} -void MedLinacMLCDecorator::ConstructComponent(G4VPhysicalVolume* world, G4VPhysicalVolume* vacuumBlock) -{ - MedLinacDecorator::ConstructComponent(world,vacuumBlock); - ConstructMultiLeafCollimator(world,vacuumBlock); -} - -void MedLinacMLCDecorator::DestroyComponent() -{ - ; -} -void MedLinacMLCDecorator::ConstructMultiLeafCollimator(G4VPhysicalVolume* world, G4VPhysicalVolume*) -{ - - // materials - - G4double a; // atomic mass - G4double z; // atomic number - G4double density; - G4String name; - - density = 18.*g/cm3; - a = 183.85*g/mole; - G4Material* W = new G4Material(name="Tungsten" , z=74., a, density); - - // colors - G4Colour cyan (0.0, 1.0, 1.0); - - //---------rotation matrix leaf end-------- - - G4RotationMatrix* rotateLeaf=new G4RotationMatrix(); - rotateLeaf->rotateY(90.0*deg); - - //---------rotation matrix leaves B-------- - - G4RotationMatrix* rotateLeavesB=new G4RotationMatrix(); - rotateLeavesB->rotateX(180.0*deg); - - // volumes - // beam line along z axis -//---------------------- - - // single leaf - - G4double preLeafDim_x = 2.715*mm; - G4double preLeafDim_y = 64.72066*mm; - G4double preLeafDim_z = 29.3*mm; - G4Box* preLeaf_box = new G4Box("preLeaf_box",preLeafDim_x,preLeafDim_y,preLeafDim_z); - - G4double preLeafPos_x = 0.0*m; - G4double preLeafPos_y = 0.0*m; - G4double preLeafPos_z = -50.*cm; - G4DisplacedSolid* disPreLeaf = new G4DisplacedSolid("disPreLeaf",preLeaf_box,0, - G4ThreeVector(preLeafPos_x,preLeafPos_y,preLeafPos_z)); - - G4double innerRadiusOfTheLeafEnd = 0.01*mm; - G4double outerRadiusOfTheLeafEnd = 80.*mm; - G4double hightOfTheLeafEnd = 2.715*mm; - G4double startAngleOfTheLeafEnd = 0.*deg; - G4double spanningAngleOfTheLeafEnd = 180.*deg; - G4Tubs* aLeafEnd = new G4Tubs("aLeafEnd",innerRadiusOfTheLeafEnd, - outerRadiusOfTheLeafEnd,hightOfTheLeafEnd, - startAngleOfTheLeafEnd,spanningAngleOfTheLeafEnd); - - G4double gapDim_x = 90.00*mm; - G4double gapDim_y = 74.18*mm; - G4double gapDim_z = 3.0*mm; - G4Box* gap = new G4Box("gap",gapDim_x,gapDim_y,gapDim_z); - - G4SubtractionSolid* leafEnd = new G4SubtractionSolid("leafEnd",aLeafEnd,gap); - - G4double leafEndPosX = 0.*cm; - G4double leafEndPosY = -9.4413249*mm; - G4double leafEndPosZ = -50.0*cm; - - G4DisplacedSolid* disLeafEnd = new G4DisplacedSolid("disLeafEnd",leafEnd,rotateLeaf, - G4ThreeVector(leafEndPosX,leafEndPosY,leafEndPosZ)) ; - - G4UnionSolid* fullLeaf = new G4UnionSolid("fullLeaf", disPreLeaf, disLeafEnd); - - - //++++++++++++++++++++++++++++ - - G4double cutADim_x = 0.20*mm; - G4double cutADim_y = 68.0*mm; - G4double cutADim_z = 15.925*mm; - G4Box* cutA = new G4Box("cutA",cutADim_x,cutADim_y,cutADim_z); - - G4double cutAPosX = -2.515*mm; - G4double cutAPosY = 3.0*mm; - G4double cutAPosZ = -48.6625*cm; - G4DisplacedSolid* disCutA = new G4DisplacedSolid("disCutA",cutA,0, - G4ThreeVector(cutAPosX,cutAPosY,cutAPosZ)) ; - - G4SubtractionSolid* nearlyLeaf = new G4SubtractionSolid("nearlyLeaf",fullLeaf,disCutA); - //++++++++++++++++++++++++++++ - G4double cutBDim_x = 0.1625*mm; - G4double cutBDim_y = 68.0*mm; - G4double cutBDim_z = 14.415*mm; - G4Box* cutB = new G4Box("cutB",cutBDim_x,cutBDim_y,cutBDim_z); - - G4double cutBPosX = 2.5525*mm; - G4double cutBPosY = 3.0*mm; - G4double cutBPosZ = -51.4885*cm; - G4DisplacedSolid* disCutB = new G4DisplacedSolid("disCutB",cutB,0, - G4ThreeVector(cutBPosX,cutBPosY,cutBPosZ)) ; - - G4SubtractionSolid* leaf = new G4SubtractionSolid("leaf",nearlyLeaf,disCutB); - - //++++++++++++++++++++++++++++ - - - - leafLog = new G4LogicalVolume(leaf,W,"leafLog",0,0,0); - - G4double leafAPosX[41]; - G4double leafAPosY[41]; - G4double leafAPosYF[41]; - - leafAPosX[0]= -111.335 *mm; - - leafAPosY[0]= 40.*cm; - leafAPosY[1]= a1y; - leafAPosY[2]= a2y; - leafAPosY[3]= a3y; - leafAPosY[4]= a4y; - leafAPosY[5]= a5y; - leafAPosY[6]= a6y; - leafAPosY[7]= a7y; - leafAPosY[8]= a8y; - leafAPosY[9]= a9y; - leafAPosY[10]= a10y; - leafAPosY[11]= a11y; - leafAPosY[12]= a12y; - leafAPosY[13]= a13y; - leafAPosY[14]= a14y; - leafAPosY[15]= a15y; - leafAPosY[16]= a16y; - leafAPosY[17]= a17y; - leafAPosY[18]= a18y; - leafAPosY[19]= a19y; - leafAPosY[20]= a20y; - leafAPosY[21]= a21y; - leafAPosY[22]= a22y; - leafAPosY[23]= a23y; - leafAPosY[24]= a24y; - leafAPosY[25]= a25y; - leafAPosY[26]= a26y; - leafAPosY[27]= a27y; - leafAPosY[28]= a28y; - leafAPosY[29]= a29y; - leafAPosY[30]= a30y; - leafAPosY[31]= a31y; - leafAPosY[32]= a32y; - leafAPosY[33]= a33y; - leafAPosY[34]= a34y; - leafAPosY[35]= a35y; - leafAPosY[36]= a36y; - leafAPosY[37]= a37y; - leafAPosY[38]= a38y; - leafAPosY[39]= a39y; - leafAPosY[40]= a40y; - - - G4int CopyNbA = 0; - - for ( G4int i=1; i <= 40 ; i++ ) - { - leafAPosYF[i] = -(((leafAPosY[i]*(100.-47.25))/100.)+70.5587*mm); - - G4double leafAPosZ = 97.25 *cm; - leafAPosX[i]=leafAPosX[i-1]+5.431 *mm; - leafAPhys = new G4PVPlacement(0,G4ThreeVector(leafAPosX[i],leafAPosYF[i],leafAPosZ), - "leafA",leafLog,world,false,CopyNbA); - CopyNbA = CopyNbA+1; - } - - G4double leafBPosX[41]; - G4double leafBPosY[41]; - G4double leafBPosYF[41]; - - G4double leafBPosZ = -2.75 *cm; - leafBPosX[0]= -111.335*mm; - G4int CopyNbB = 0; - - - leafBPosY[0]= 40.*cm; - leafBPosY[1]= b1y; - leafBPosY[2]= b2y; - leafBPosY[3]= b3y; - leafBPosY[4]= b4y; - leafBPosY[5]= b5y; - leafBPosY[6]= b6y; - leafBPosY[7]= b7y; - leafBPosY[8]= b8y; - leafBPosY[9]= b9y; - leafBPosY[10]= b10y; - leafBPosY[11]= b11y; - leafBPosY[12]= b12y; - leafBPosY[13]= b13y; - leafBPosY[14]= b14y; - leafBPosY[15]= b15y; - leafBPosY[16]= b16y; - leafBPosY[17]= b17y; - leafBPosY[18]= b18y; - leafBPosY[19]= b19y; - leafBPosY[20]= b20y; - leafBPosY[21]= b21y; - leafBPosY[22]= b22y; - leafBPosY[23]= b23y; - leafBPosY[24]= b24y; - leafBPosY[25]= b25y; - leafBPosY[26]= b26y; - leafBPosY[27]= b27y; - leafBPosY[28]= b28y; - leafBPosY[29]= b29y; - leafBPosY[30]= b30y; - leafBPosY[31]= b31y; - leafBPosY[32]= b32y; - leafBPosY[33]= b33y; - leafBPosY[34]= b34y; - leafBPosY[35]= b35y; - leafBPosY[36]= b36y; - leafBPosY[37]= b37y; - leafBPosY[38]= b38y; - leafBPosY[39]= b39y; - leafBPosY[40]= b40y; - - - for ( G4int i=1; i <= 40 ; i++ ) - { - leafBPosYF[i] = (((leafBPosY[i]*(100.-47.25))/100.)+70.5587*mm); - leafBPosX[i]=leafBPosX[i-1]+5.431 *mm; - leafBPhys = new G4PVPlacement(rotateLeavesB, - G4ThreeVector(leafBPosX[i],leafBPosYF[i],leafBPosZ), - "leafB",leafLog,world,false,CopyNbB); - CopyNbB = CopyNbB+1; - } - - - PrintParametersMLC(); - - // Visualization attributes - - G4VisAttributes* simpleTungstenSVisAtt= new G4VisAttributes(cyan); - simpleTungstenSVisAtt->SetVisibility(true); - simpleTungstenSVisAtt->SetForceSolid(true); - leafLog->SetVisAttributes(simpleTungstenSVisAtt); - - } -void MedLinacMLCDecorator::PrintParametersMLC() -{ - G4cout <<"leaf A1 position "<< a1y/cm << " cm "<SetGuidance("A1 position"); - - - leafNameCmd = new G4UIcmdWithAString("/MLC/leaf_selection",this); - leafNameCmd->SetGuidance("Select the leaf "); - leafNameCmd->SetParameterName("leafName",false); - leafNameCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - - positionCmd = new G4UIcmdWithADoubleAndUnit("/MLC/position",this); - positionCmd->SetGuidance("Set position "); - positionCmd->SetParameterName("Pos_y",false); - positionCmd->SetRange("Pos_y>=0. && Pos_y<15.0"); - positionCmd->SetDefaultUnit( "cm" ); - positionCmd->SetUnitCategory("Length"); - positionCmd->AvailableForStates(G4State_PreInit,G4State_Idle); -} -//**************************************************************************** -MedLinacMLCMessenger::~MedLinacMLCMessenger() -{ - delete leafNameCmd; - delete positionCmd; - delete MedLinacMLCDir; - -} -//**************************************************************************** -void MedLinacMLCMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == leafNameCmd ) - MedLinacMLCDeco->SetLeafName(newValue); - if( command == positionCmd ) - MedLinacMLCDeco->SetPos_y(positionCmd->GetNewDoubleValue(newValue)); - } - - -//**************************************************************************** diff --git a/examples/advanced/medical_linac/src/MedLinacPhantomHit.cc b/examples/advanced/medical_linac/src/MedLinacPhantomHit.cc deleted file mode 100644 index f351d5dc3b..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacPhantomHit.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: MedLinacPhantomHit.cc,v 1.5 2006/06/29 16:04:31 gunter Exp $ -// -// -// Code developed by: M. Piergentili - -// -#include "MedLinacPhantomHit.hh" -#include "G4ios.hh" -#include "G4VVisManager.hh" -#include "G4Colour.hh" -#include "G4VisAttributes.hh" -#include "G4LogicalVolume.hh" - -G4Allocator MedLinacPhantomHitAllocator; - -MedLinacPhantomHit::MedLinacPhantomHit(G4LogicalVolume* logVol,G4int XID,G4int YID,G4int ZID) - :logicalVolume(logVol),xHitPosition(XID),zHitPosition(ZID),yHitPosition(YID) -{ - energyDeposit = 0; - - //G4cout << "Hit generated1" << G4endl; - -} - -MedLinacPhantomHit::~MedLinacPhantomHit() -{ -} - -MedLinacPhantomHit::MedLinacPhantomHit(const MedLinacPhantomHit &right) - : G4VHit() -{ - xHitPosition = right.xHitPosition; - zHitPosition = right.zHitPosition; - yHitPosition = right.yHitPosition; - energyDeposit = right.energyDeposit; - //G4cout << "=====energyDeposit in ImrtPhantomHit1 e'" << energyDeposit << G4endl; - hitPosition = right.hitPosition; - rotation = right.rotation; - logicalVolume = right.logicalVolume; - - //G4cout << "Hit generated2" << G4endl; - -} - -const MedLinacPhantomHit& MedLinacPhantomHit::operator=(const MedLinacPhantomHit &right) -{ - xHitPosition = right.xHitPosition; - zHitPosition = right.zHitPosition; - yHitPosition = right.yHitPosition; - energyDeposit = right.energyDeposit; - hitPosition = right.hitPosition; - rotation = right.rotation; - logicalVolume = right.logicalVolume; - //G4cout << " EnergyDep in PhantomHit2 e' "<<" " << energyDeposit <SetGuidance("phantom parameters in sensitive detector"); - - PhantomDimCmd = new G4UIcmdWithADoubleAndUnit("/PhantomSD/dimension",this); - PhantomDimCmd->SetGuidance("Set phantom dimension (cm)"); - PhantomDimCmd->SetParameterName("phantomDim",false); - PhantomDimCmd->SetDefaultUnit( "cm" ); - PhantomDimCmd->SetUnitCategory("Length"); - PhantomDimCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - NVoxelsCmd = new G4UIcmdWithAnInteger("/PhantomSD/Nvoxels",this); - NVoxelsCmd->SetGuidance("Set number of voxels along one axis"); - NVoxelsCmd->SetParameterName("numberOfVoxels",false); - NVoxelsCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - -} - -//**************************************************************************** -MedLinacPhantomMessenger::~MedLinacPhantomMessenger() -{ - delete PhantomDimCmd; - delete NVoxelsCmd; - - delete MedLinacDir; - -} - -//**************************************************************************** - -void MedLinacPhantomMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - - if( command == PhantomDimCmd ) - { MedLinacP->SetPhantomDimension(PhantomDimCmd->GetNewDoubleValue(newValue));} - - if( command == NVoxelsCmd ) - { MedLinacP->SetNumberOfPhantomVoxels(NVoxelsCmd->GetNewIntValue(newValue)); } - -} -//**************************************************************************** diff --git a/examples/advanced/medical_linac/src/MedLinacPhantomROGeometry.cc b/examples/advanced/medical_linac/src/MedLinacPhantomROGeometry.cc deleted file mode 100644 index cf1db31f9c..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacPhantomROGeometry.cc +++ /dev/null @@ -1,196 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: MedLinacPhantomROGeometry.cc,v 1.5 2006/06/29 16:04:35 gunter Exp $ -// -// -// Code developed by: M. Piergentili -// -#include "MedLinacPhantomROGeometry.hh" -#include "MedLinacDummySD.hh" - -#include "G4LogicalVolume.hh" -#include "G4VPhysicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4PVReplica.hh" -#include "G4SDManager.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4SubtractionSolid.hh" -#include "G4ThreeVector.hh" -#include "G4Material.hh" - -MedLinacPhantomROGeometry::MedLinacPhantomROGeometry(G4String aString, - G4double phantomDim_x, - G4double phantomDim_y, - G4double phantomDim_z, - G4int numberOfVoxelsX, - G4int numberOfVoxelsY, - G4int numberOfVoxelsZ): - G4VReadOutGeometry(aString), - PhantomDimensionX(phantomDim_x), - PhantomDimensionY(phantomDim_y), - PhantomDimensionZ(phantomDim_z), - NumberOfVoxelsAlongX(numberOfVoxelsX), - NumberOfVoxelsAlongY(numberOfVoxelsY), - NumberOfVoxelsAlongZ(numberOfVoxelsZ) -{} -MedLinacPhantomROGeometry::~MedLinacPhantomROGeometry() -{ -} - -G4VPhysicalVolume* MedLinacPhantomROGeometry::Build() -{ - - G4cout << " MedLinacPhantomROGeometry::Build()-----------------------" << G4endl; - - //G4Material* dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3); - G4double a; // atomic mass - G4double z; // atomic number - G4int natoms; - G4String name; - G4String symbol; - a = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen",symbol="O", z=8., a); - - a = 1.00794*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H", z=1., a); - - G4double density; - G4int ncomponents; - density = 1.000*g/cm3; - G4Material* H2O = new G4Material(name="Water",density, ncomponents=2); - H2O->AddElement(elH, natoms=2); - H2O->AddElement(elO, natoms=1); - - G4double expHall_x = 3.0*m; - G4double expHall_y = 3.0*m; - G4double expHall_z = 3.0*m; - - // variables for division ... - G4double halfXVoxelDimensionX = PhantomDimensionX/NumberOfVoxelsAlongX; - G4double halfXVoxelDimensionZ = PhantomDimensionZ; - G4double voxelXThickness = 2*halfXVoxelDimensionX; - - - // world volume of ROGeometry ... - G4Box *ROWorld = new G4Box("ROWorld", - expHall_x, - expHall_y, - expHall_z); - - G4LogicalVolume *ROWorldLog = new G4LogicalVolume(ROWorld, - H2O, - "ROWorldLog", - 0,0,0); - - G4VPhysicalVolume *ROWorldPhys = new G4PVPlacement(0, - G4ThreeVector(), - "ROWorldPhys", - ROWorldLog, - 0,false,0); - - // phantom ROGeometry ... - G4Box *ROPhantom = new G4Box("ROPhantom", - PhantomDimensionX, - PhantomDimensionY, - PhantomDimensionZ); - - G4LogicalVolume *ROPhantomLog = new G4LogicalVolume(ROPhantom, - H2O, - "ROPhantomLog", - 0,0,0); - - G4VPhysicalVolume *ROPhantomPhys = new G4PVPlacement(0, - G4ThreeVector(), - "PhantomPhys", - ROPhantomLog, - ROWorldPhys, - false,0); - - // ROGeomtry: Voxel division - - // X division first... - G4Box *ROPhantomXDivision = new G4Box("ROPhantomXDivision", - halfXVoxelDimensionX, - halfXVoxelDimensionZ, - halfXVoxelDimensionZ); - - G4LogicalVolume *ROPhantomXDivisionLog = new G4LogicalVolume(ROPhantomXDivision, - H2O, - "ROPhantomXDivisionLog", - 0,0,0); - - G4VPhysicalVolume *ROPhantomXDivisionPhys = new G4PVReplica("ROPhantomXDivisionPhys", - ROPhantomXDivisionLog, - ROPhantomPhys, - kXAxis, - NumberOfVoxelsAlongX, - voxelXThickness); - // ...then Z division - - G4Box *ROPhantomZDivision = new G4Box("ROPhantomZDivision", - halfXVoxelDimensionX, - halfXVoxelDimensionZ, - halfXVoxelDimensionX); - - G4LogicalVolume *ROPhantomZDivisionLog = new G4LogicalVolume(ROPhantomZDivision, - H2O, - "ROPhantomZDivisionLog", - 0,0,0); - - G4VPhysicalVolume *ROPhantomZDivisionPhys = new G4PVReplica("ROPhantomZDivisionPhys", - ROPhantomZDivisionLog, - ROPhantomXDivisionPhys, - kZAxis, - NumberOfVoxelsAlongZ, - voxelXThickness); - // ...then Y division - - G4Box *ROPhantomYDivision = new G4Box("ROPhantomYDivision", - halfXVoxelDimensionX, - halfXVoxelDimensionX, - halfXVoxelDimensionX); - - G4LogicalVolume *ROPhantomYDivisionLog = new G4LogicalVolume(ROPhantomYDivision, - H2O, - "ROPhantomYDivisionLog", - 0,0,0); - - ROPhantomYDivisionPhys = new G4PVReplica("ROPhantomYDivisionPhys", - ROPhantomYDivisionLog, - ROPhantomZDivisionPhys, - kYAxis, - NumberOfVoxelsAlongZ, - voxelXThickness); - - MedLinacDummySD *dummySD = new MedLinacDummySD; - ROPhantomYDivisionLog->SetSensitiveDetector(dummySD); - - return ROWorldPhys; -} - - - diff --git a/examples/advanced/medical_linac/src/MedLinacPhantomSD.cc b/examples/advanced/medical_linac/src/MedLinacPhantomSD.cc deleted file mode 100644 index c10264365b..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacPhantomSD.cc +++ /dev/null @@ -1,258 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -//// $Id: MedLinacPhantomSD.cc,v 1.7 2006/06/29 16:04:37 gunter Exp $ -// -// -// Code developed by: M. Piergentili - -// -// -#include "MedLinacPhantomSD.hh" -#include "MedLinacPhantomMessenger.hh" -#include "MedLinacPhantomHit.hh" -#include "MedLinacAnalysisManager.hh" -#include "MedLinacPhantomMessenger.hh" -#include "MedLinacDetectorConstruction.hh" -#include "G4Track.hh" -#include "G4LogicalVolume.hh" -#include "G4VPhysicalVolume.hh" -#include "G4Step.hh" -#include "G4VTouchable.hh" -#include "G4TouchableHistory.hh" -#include "G4SDManager.hh" -#include "G4ParticleDefinition.hh" - -//.... - -MedLinacPhantomSD::MedLinacPhantomSD(G4String name):G4VSensitiveDetector(name) -{ - phantomMessenger = new MedLinacPhantomMessenger(this); -} - -MedLinacPhantomSD::~MedLinacPhantomSD() -{ - delete phantomMessenger; -} - -void MedLinacPhantomSD::Initialize(G4HCofThisEvent*) -{ -} - -void MedLinacPhantomSD::SetPhantomDimension (G4double val) -{ - phantomDimension = val; - //G4cout <<"2==============================phantomDim "<< phantomDimension/mm<<"mm"<GetPreStepPoint()->GetPhysicalVolume()->GetName() != "Phantom_phys") - return false; - - G4double energyDep = aStep->GetTotalEnergyDeposit(); - if(energyDep == 0.) - return false; - - // Read Voxel indexes: i is the x index, k is the z index - G4int k = ROhist->GetReplicaNumber(1); - G4int i = ROhist->GetReplicaNumber(2); - G4int j = ROhist->GetReplicaNumber(); - - //G4int numberOfVoxelZ = 150; - //G4double voxelWidthZ = 2. *mm; - G4int numberOfVoxelZ = numberOfPhantomVoxels; - G4double voxelWidthZ = phantomDimension/numberOfVoxelZ; - //G4cout <<"########## phantomDimension "<< phantomDimension/mm<<"mm"<= -2.5*mm) - { - if(x<=2.5*mm){if (x>= -2.5*mm) - {analysis->FillHistogram1WithEnergy(z,energyDep/MeV);} - } - } - } - } -//***** flatness along x ***** Depth=build-up (15 mm)************************* - if(energyDep != 0) - { - if (z<=137.5*mm){if (z>= 132.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram2WithEnergy(x,energyDep/MeV);} - } - } - } - } - -//***** flatness along x ***** Depth=50mm 5********************************* - if(energyDep != 0) - { - if (z<=102.5*mm){if (z>= 97.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram3WithEnergy(x,energyDep/MeV);} - }}}} - -//***** flatness along x ***** Depth=100 mm******************************** - if(energyDep != 0) - { - if (z<=52.5*mm){if (z>= 47.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram4WithEnergy(x,energyDep/MeV);} - }}}} -//***** flatness along x ***** Depth=200 mm******************************** - if(energyDep != 0) - { - if (z<=-47.5*mm){if (z>= -52.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram5WithEnergy(x,energyDep/MeV);} - }}}} -//**** PDD in isocenter (Y and X Thickness = 5. mm) *********** - if(energyDep != 0) - { - if (y<=2.5*mm){if (y>= -2.5*mm) - { - if(x<=2.5*mm){if (x>= -2.5*mm) - {analysis->FillHistogram6WithEnergy(z,energyDep/MeV);} - }}}} - -//***** flatness along x ***** Depth=build-up (15 mm)************************* - if(energyDep != 0) - { - if (z<=137.5*mm){if (z>= 132.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram7WithEnergy(x,energyDep/MeV);} - }}}} -//***** flatness along x ***** Depth=50mm********************************* - if(energyDep != 0) - { - if (z<=102.5*mm){if (z>= 97.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram8WithEnergy(x,energyDep/MeV);} - }}}} -//***** flatness along x ***** Depth=100 mm******************************** - if(energyDep != 0) - { - if (z<=52.5*mm){if (z>= 47.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram9WithEnergy(x,energyDep/MeV);} - }}}} -//***** flatness along x ***** Depth=200 mm******************************** - if(energyDep != 0) - { - if (z<=-47.5*mm){if (z>= -52.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram10WithEnergy(x,energyDep/MeV);} - } - } - } - } - -//**** PDD in isocenter (Y and X Thickness = 5. mm) *********** - if(energyDep != 0) - { - if (y<=2.5*mm){if (y>= -2.5*mm) - { - if(x<=2.5*mm){if (x>= -2.5*mm) - {analysis->FillHistogram11WithEnergy(z,energyDep/MeV);} - } - } - } - } -//***** flatness along x ***** Depth=build-up (15 mm)************************* - if(energyDep != 0) - { - if (z<=137.5*mm){if (z>= 132.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram12WithEnergy(x,energyDep/MeV);} - } - } - } - } -//***** flatness along x ***** Depth=50mm 5********************************* - if(energyDep != 0) - { - if (z<=102.5*mm){if (z>= 97.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram13WithEnergy(x,energyDep/MeV);} - }}}} -//***** flatness along x ***** Depth=100 mm******************************** - if(energyDep != 0) - { - if (z<=52.5*mm){if (z>= 47.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram14WithEnergy(x,energyDep/MeV);} - }}}} -//***** flatness along x ***** Depth=200 mm******************************** - if(energyDep != 0) - { - if (z<=-47.5*mm){if (z>= -52.5*mm) - { if (y<=2.5*mm){if (y>= -2.5*mm) - {analysis->FillHistogram15WithEnergy(x,energyDep/MeV);} - }}}} - -#endif - } -return true; -} - -void MedLinacPhantomSD::EndOfEvent(G4HCofThisEvent*) -{ -} - -void MedLinacPhantomSD::clear() -{ -} - -void MedLinacPhantomSD::DrawAll() -{ -} - -void MedLinacPhantomSD::PrintAll() -{ -} - diff --git a/examples/advanced/medical_linac/src/MedLinacPhysicsList.cc b/examples/advanced/medical_linac/src/MedLinacPhysicsList.cc deleted file mode 100644 index b099c128af..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacPhysicsList.cc +++ /dev/null @@ -1,246 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: MedLinacPhysicsList.cc,v 1.6 2007/07/01 15:19:18 mpiergen Exp $ -// -// -// Code developed by: M. Piergentili -// -#include "globals.hh" -#include "MedLinacPhysicsList.hh" -#include "MedLinacPhysicsListMessenger.hh" - -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4Material.hh" -#include "G4ios.hh" -#include -#include "G4UnitsTable.hh" -#include "G4Region.hh" -#include "G4RegionStore.hh" -#include "G4ProductionCuts.hh" -#include "G4ProductionCutsTable.hh" -#include "G4StepLimiter.hh" -MedLinacPhysicsList::MedLinacPhysicsList(): G4VUserPhysicsList() -{ - physicsListMessenger = new MedLinacPhysicsListMessenger(this); - //defaultCutValue = defaultCut; - //cutForGamma = defaultCutValue; - //cutForElectron = defaultCutValue; - //cutForPositron = defaultCutValue; - SetVerboseLevel(6); -} - -MedLinacPhysicsList::~MedLinacPhysicsList() -{;} - -void MedLinacPhysicsList::ConstructParticle() -{ - // In this method, static member functions should be called - // for all particles which you want to use. - // This ensures that objects of these particle types will be - // created in the program. - - ConstructBosons(); - ConstructLeptons(); -} -void MedLinacPhysicsList::ConstructBosons() -{ - // gamma - G4Gamma::GammaDefinition(); -} - -void MedLinacPhysicsList::ConstructLeptons() -{ - // leptons - // e+/- - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); -} - -void MedLinacPhysicsList::ConstructProcess() -{ - // Define transportation process - - AddTransportation(); - ConstructEM(); -} - -//--------------------------------------------------------------------- - -//#include "G4ComptonScattering.hh" -//#include "G4GammaConversion.hh" -//#include "G4PhotoElectricEffect.hh" - -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" -#include "G4LowEnergyRayleigh.hh" - -//#include "G4PenelopePhotoElectric.hh" -//#include "G4PenelopeCompton.hh" -//#include "G4PenelopeGammaConversion.hh" -//#include "G4PenelopeRayleigh.hh" - -#include "G4MultipleScattering.hh" - -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" - -//#include "G4PenelopeIonisation.hh" -//#include "G4PenelopeBremsstrahlung.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - - -//--------------------------------------------------------------------- - -void MedLinacPhysicsList::ConstructEM() -{ - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - // gamma - - lowePhot = new G4LowEnergyPhotoElectric("LowEnPhotoElec"); - pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh); - pmanager->AddDiscreteProcess(lowePhot); - pmanager->AddDiscreteProcess(new G4LowEnergyCompton); - pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion); - pmanager -> AddProcess(new G4StepLimiter(), -1, -1, 3); - - //pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); - //pmanager->AddDiscreteProcess(new G4ComptonScattering); - //pmanager->AddDiscreteProcess(new G4GammaConversion); - - //pmanager->AddDiscreteProcess(new G4PenelopePhotoElectric); - //pmanager->AddDiscreteProcess(new G4PenelopeCompton); - //pmanager->AddDiscreteProcess(new G4PenelopeGammaConversion); - //pmanager->AddDiscreteProcess(new G4PenelopeRayleigh); - - - } else if (particleName == "e-") { - //electron - - loweIon = new G4LowEnergyIonisation("LowEnergyIoni"); - loweBrem = new G4LowEnergyBremsstrahlung("LowEnBrem"); - - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); - pmanager->AddProcess(loweIon, -1, 2,2); - pmanager->AddProcess(loweBrem, -1,-1,3); - pmanager -> AddProcess(new G4StepLimiter(), -1, -1, 3); - - //pmanager->AddProcess(new G4PenelopeIonisation, -1, 2,2); - //pmanager->AddProcess(new G4PenelopeBremsstrahlung, -1,-1,3); - - //pmanager->AddProcess(new G4eIonisation, -1, 2,2); - //pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - - } else if (particleName == "e+") { - //positron - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); - pmanager -> AddProcess(new G4StepLimiter(), -1, -1, 3); - } - } -} - - -//--------------------------------------------------------------------- - -void MedLinacPhysicsList::SetCuts() -{ - // uppress error messages even in case e/gamma/proton do not exist - G4int temp = GetVerboseLevel(); - SetVerboseLevel(6); - - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - defaultCutValue = defaultCut; - //G4cout <<"--------------------default cut "<< defaultCutValue/mm << " mm " <GetRegion(regName[i]); - //G4ProductionCuts* cuts = new G4ProductionCuts; - //cuts->SetProductionCut(cutValue[i]); - //reg->SetProductionCuts(cuts); - //} - - - G4String regName = "PrimaryCollimatorLow"; - G4double cutValue = 8.*cm; - G4Region* reg = G4RegionStore::GetInstance()->GetRegion(regName); - G4ProductionCuts* cuts = new G4ProductionCuts; - cuts->SetProductionCut(cutValue); - reg->SetProductionCuts(cuts); - - G4String regName1 = "PrimaryCollimatorUp"; - G4double cutValue1 = 8.*cm; - G4Region* reg1 = G4RegionStore::GetInstance()->GetRegion(regName1); - G4ProductionCuts* cuts1 = new G4ProductionCuts; - cuts1->SetProductionCut(cutValue1); - reg1->SetProductionCuts(cuts1); - - - - if (verboseLevel >0){ - G4cout << "MedLinac::SetCuts: default cut length : " - << G4BestUnit(defaultCutValue,"Length") << G4endl; - } - - -} - - - -void MedLinacPhysicsList::SetCut (G4double val) -{ - defaultCut = val; -} diff --git a/examples/advanced/medical_linac/src/MedLinacPhysicsListMessenger.cc b/examples/advanced/medical_linac/src/MedLinacPhysicsListMessenger.cc deleted file mode 100644 index d0a811ffce..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacPhysicsListMessenger.cc +++ /dev/null @@ -1,89 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacPhysicsListMessenger.cc,v 1.2 2006/06/29 16:04:41 gunter Exp $ -// -// Code developed by: M. Piergentili - -#include "MedLinacPhysicsListMessenger.hh" - -#include "MedLinacPhysicsList.hh" -#include "G4UIdirectory.hh" -#include "G4UIcmdWithAString.hh" -#include "G4UIcmdWithAnInteger.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" -#include "G4UIcmdWithoutParameter.hh" - -//********************************************************************* - -MedLinacPhysicsListMessenger::MedLinacPhysicsListMessenger( - MedLinacPhysicsList* MedLinacCut) -:pMedLinacPhysicsList(MedLinacCut) -{ - - G4cout <<"==================PhysicsListMessenger "<SetGuidance("physics parameters"); - - CutCmd = new G4UIcmdWithADoubleAndUnit("/PhysicsList/cut",this); - CutCmd->SetGuidance("Set cut length (mm)"); - CutCmd->SetParameterName("defaultCut",false); - CutCmd->SetDefaultUnit( "mm" ); - CutCmd->SetUnitCategory("Length"); - CutCmd->AvailableForStates(G4State_PreInit); - - //UpdateCmd = new G4UIcmdWithoutParameter("/Jaws/update",this); - //UpdateCmd->SetGuidance("Update geometry."); - //UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); - //UpdateCmd->SetGuidance("if you changed geometrical value(s)."); - //UpdateCmd->AvailableForStates(G4State_Idle); - - -} - -//**************************************************************************** -MedLinacPhysicsListMessenger::~MedLinacPhysicsListMessenger() -{ - - delete CutCmd; - //delete UpdateCmd; - - delete PhysicsDir; -} - -//**************************************************************************** - -void MedLinacPhysicsListMessenger::SetNewValue(G4UIcommand* command,G4String newValue) -{ - if( command == CutCmd ) - { pMedLinacPhysicsList->SetCut(CutCmd->GetNewDoubleValue(newValue));} - - //if( command == UpdateCmd ) - // { MedLinacDetector->UpdateGeometry(); } - -} - -//**************************************************************************** diff --git a/examples/advanced/medical_linac/src/MedLinacPrimaryGeneratorAction.cc b/examples/advanced/medical_linac/src/MedLinacPrimaryGeneratorAction.cc deleted file mode 100644 index abf5d7abe8..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacPrimaryGeneratorAction.cc +++ /dev/null @@ -1,118 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: MedLinacPrimaryGeneratorAction.cc,v 1.8 2006/06/29 16:04:43 gunter Exp $ -// -// -// Code developed by: M. Piergentili -// -#include "MedLinacPrimaryGeneratorAction.hh" -#include "MedLinacPrimaryGeneratorMessenger.hh" - -#ifdef G4ANALYSIS_USE -#include "MedLinacAnalysisManager.hh" -#endif -#include "MedLinacDetectorConstruction.hh" -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4RunManager.hh" -#include "G4UImanager.hh" -#include "G4IonTable.hh" - -MedLinacPrimaryGeneratorAction::MedLinacPrimaryGeneratorAction() - :pEnergy(99.0*MeV),sigma(12.7*MeV) -{ - G4int n_particle = 1; - particleGun = new G4ParticleGun(n_particle); - -//create a messenger for this class - gunMessenger = new MedLinacPrimaryGeneratorMessenger(this); - - // default particle kinematic - - G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4String particleName; - - particleGun->SetParticleDefinition(particleTable->FindParticle(particleName="e-")); - particleGun->SetParticleEnergy(pEnergy); - - //********************************************************************** - //********************************************************************** - particleGun->SetParticlePosition(G4ThreeVector(0.0*cm, 0.0*cm, 123.0*cm)); - //particleGun->SetParticlePosition(G4ThreeVector(0.0*cm, 0.0*cm, 160.09855*cm)); - //********************************************************************** - //********************************************************************** - -} - -MedLinacPrimaryGeneratorAction::~MedLinacPrimaryGeneratorAction() -{ - delete particleGun; - delete gunMessenger; -} - -void MedLinacPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) -{ - G4double energy; - - //#ifdef G4ANALYSIS_USE - //MedLinacAnalysisManager* analysis = MedLinacAnalysisManager::getInstance(); - //#endif - - //BeamLine - //G4ThreeVector v(0.0,0.0,-1.0); - //particleGun->SetParticleMomentumDirection(v); - - - //uniform distribution in solid angle (-1SetParticleMomentumDirection(G4ThreeVector(ux,uy,uz)); - - energy=pEnergy; - energy = CLHEP::RandGauss::shoot(pEnergy,sigma); - particleGun->SetParticleEnergy(energy); - - //G4cout <<"the energy of the primaries is " << energy <<" "<<"MeV"<< G4endl; - //G4cout <<"the sigma of the energy is " << sigma <<" "<<"MeV"<< G4endl; - - particleGun->GeneratePrimaryVertex(anEvent); -} - - - diff --git a/examples/advanced/medical_linac/src/MedLinacTargetAndFilterDecorator.cc b/examples/advanced/medical_linac/src/MedLinacTargetAndFilterDecorator.cc deleted file mode 100644 index 976384da2a..0000000000 --- a/examples/advanced/medical_linac/src/MedLinacTargetAndFilterDecorator.cc +++ /dev/null @@ -1,518 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: MedLinacTargetAndFilterDecorator.cc,v 1.3 2006/06/29 16:04:49 gunter Exp $ -// -// Code developed by: M. Piergentili -// -// -#include "MedLinacVGeometryComponent.hh" -#include "G4Material.hh" -#include "MedLinacTargetAndFilterDecorator.hh" -#include "MedLinacDecorator.hh" - -#include "globals.hh" -#include "G4LogicalVolume.hh" -#include "G4RotationMatrix.hh" -#include "G4Transform3D.hh" -#include "G4VPhysicalVolume.hh" -#include "G4PVPlacement.hh" -#include "G4Material.hh" -#include "G4MaterialPropertiesTable.hh" -#include "G4MaterialTable.hh" -#include "G4MaterialPropertyVector.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4Box.hh" -#include "G4Cons.hh" -#include "G4Tubs.hh" -#include "G4ThreeVector.hh" -#include "G4VisAttributes.hh" -#include "G4GeometryManager.hh" -#include "G4BooleanSolid.hh" -#include "G4SubtractionSolid.hh" -#include "G4VSolid.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4LogicalVolumeStore.hh" -#include "G4SolidStore.hh" -#include "G4Colour.hh" - -#include "G4ios.hh" -MedLinacTargetAndFilterDecorator::MedLinacTargetAndFilterDecorator(MedLinacVGeometryComponent* comp) - : MedLinacDecorator(comp) -{ - -} -MedLinacTargetAndFilterDecorator::~MedLinacTargetAndFilterDecorator() -{ - ; -} -void MedLinacTargetAndFilterDecorator::ConstructComponent(G4VPhysicalVolume* world, G4VPhysicalVolume* vacuumBlock) -{ - MedLinacDecorator::ConstructComponent(world,vacuumBlock); - ConstructTargetAndFilter(world,vacuumBlock); -} - -void MedLinacTargetAndFilterDecorator::DestroyComponent() -{ - ; -} -void MedLinacTargetAndFilterDecorator::ConstructTargetAndFilter(G4VPhysicalVolume* world, G4VPhysicalVolume* vacuumBlock) -{ - - // materials - - G4double a; // atomic mass - G4double z; // atomic number - G4double density; - //G4int natoms; - G4String symbol; - G4String name; - G4double fractionmass; - G4int ncomponents; - - a = 14.00674*g/mole; - G4Element* elN = new G4Element(name="Nitrogen" ,symbol="N", z=7., a); - - a = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen",symbol="O", z=8., a); - - - density = 8.960*g/cm3; - a = 63.55*g/mole; - G4Material* Cu = new G4Material(name="Copper" , z=29., a, density); - - density = 18.*g/cm3; - a = 183.85*g/mole; - G4Material* W = new G4Material(name="Tungsten" , z=74., a, density) -; - density = 1.290*mg/cm3; - G4Material* Air = new G4Material(name="Air",density, ncomponents=2); - Air->AddElement(elN, fractionmass=70*perCent); - Air->AddElement(elO, fractionmass=30*perCent); - - // colors - - G4Colour cyan (0.0, 1.0, 1.0); - G4Colour magenta (1.0, 0.0, 1.0); - - //---------rotation matrix first collimator and filter-------- - - G4RotationMatrix* rotateMatrix=new G4RotationMatrix(); - rotateMatrix->rotateX(180.0*deg); - - - // volumes - // beam line along z axis -//------------------------target 6MV------------------------ - //G4double targetADim_x = 0.3576*cm; - //G4double targetADim_y = 0.3576*cm; - G4double targetADim_x = 0.6*cm; - G4double targetADim_y = 0.6*cm; - G4double targetADim_z = 0.04445*cm; - G4Box* targetA_box = new G4Box("targetA_box",targetADim_x,targetADim_y,targetADim_z); - targetA_log = new G4LogicalVolume(targetA_box,W,"targetA_log",0,0,0); - G4double targetAPos_x = 0.0*m; - G4double targetAPos_y = 0.0*m; - G4double targetAPos_z = 0.20055*cm; - targetA_phys = new G4PVPlacement(0, - G4ThreeVector(targetAPos_x,targetAPos_y,targetAPos_z), - "targetA",targetA_log,vacuumBlock,false,0); - - //G4double targetBDim_x = 0.3576*cm; - //G4double targetBDim_y = 0.3576*cm; - G4double targetBDim_x = 0.6*cm; - G4double targetBDim_y = 0.6*cm; - G4double targetBDim_z = 0.07874*cm; - G4Box* targetB_box = new G4Box("targetB_box",targetBDim_x,targetBDim_y,targetBDim_z); - targetB_log = new G4LogicalVolume(targetB_box,Cu,"targetB_log",0,0,0); - G4double targetBPos_x = 0.0*m; - G4double targetBPos_y = 0.0*m; - G4double targetBPos_z = 0.07736*cm; - targetB_phys = new G4PVPlacement(0, - G4ThreeVector(targetBPos_x,targetBPos_y,targetBPos_z), - "targetB",targetB_log,vacuumBlock,false,0); - - //--------------Flattening Filter--------------- - G4double layerRmin1 = 0.*cm; - G4double layerRmin2 = 0.*cm; - G4double layerPos_x = 0.0*m; - G4double layerPos_y = 0.0*m; - - //-----------layer1----------------------------- - G4double layer1Rmax1 = 0.00000001*cm; - G4double layer1Rmax2 = 0.025*cm; - G4double layer1HightOfTheCone = 0.006*cm; - G4double startAngleOfTheCone = 0.*deg; - G4double spanningAngleOfTheCone = 360.*deg; - G4Cons* layer1 = new G4Cons("layer1",layerRmin1,layer1Rmax1,layerRmin2, - layer1Rmax2,layer1HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer1_log = new G4LogicalVolume(layer1,Cu,"layer1_log",0,0,0); - - G4double layer1Pos_z = 103.301*cm; - layer1_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer1Pos_z), - "layer1",layer1_log,world,false,0); - - //-----------layer2----------------------------- - G4double layer2Rmax1 = 0.025*cm; - G4double layer2Rmax2 = 0.050*cm; - G4double layer2HightOfTheCone = 0.0065*cm; - G4Cons* layer2 = new G4Cons("layer2",layerRmin1,layer2Rmax1,layerRmin2, - layer2Rmax2,layer2HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer2_log = new G4LogicalVolume(layer2,Cu,"layer2_log",0,0,0); - - G4double layer2Pos_z = 103.2885*cm; - layer2_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer2Pos_z), - "layer2",layer2_log,world,false,0); - //-----------layer3----------------------------- - G4double layer3Rmax1 = 0.050*cm; - G4double layer3Rmax2 = 0.075*cm; - G4double layer3HightOfTheCone = 0.0075*cm; - G4Cons* layer3 = new G4Cons("layer3",layerRmin1,layer3Rmax1,layerRmin2, - layer3Rmax2,layer3HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer3_log = new G4LogicalVolume(layer3,Cu,"layer3_log",0,0,0); - - G4double layer3Pos_z = 103.2745*cm; - layer3_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer3Pos_z), - "layer3",layer3_log,world,false,0); - - //-----------layer4----------------------------- - G4double layer4Rmax1 = 0.075*cm; - G4double layer4Rmax2 = 0.100*cm; - G4double layer4HightOfTheCone = 0.009*cm; - G4Cons* layer4 = new G4Cons("layer4",layerRmin1,layer4Rmax1,layerRmin2, - layer4Rmax2,layer4HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer4_log = new G4LogicalVolume(layer4,Cu,"layer4_log",0,0,0); - - G4double layer4Pos_z = 103.258*cm; - layer4_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer4Pos_z), - "layer4",layer4_log,world,false,0); - //-----------layer5----------------------------- - G4double layer5Rmax1 = 0.100*cm; - G4double layer5Rmax2 = 0.150*cm; - G4double layer5HightOfTheCone = 0.022*cm; - G4Cons* layer5 = new G4Cons("layer5",layerRmin1,layer5Rmax1,layerRmin2, - layer5Rmax2,layer5HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer5_log = new G4LogicalVolume(layer5,Cu,"layer5_log",0,0,0); - - G4double layer5Pos_z = 103.227*cm; - layer5_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer5Pos_z), - "layer5",layer5_log,world,false,0); - - //-----------layer6----------------------------- - G4double layer6Rmax1 = 0.150*cm; - G4double layer6Rmax2 = 0.200*cm; - G4double layer6HightOfTheCone = 0.024*cm; - G4Cons* layer6 = new G4Cons("layer6",layerRmin1,layer6Rmax1,layerRmin2, - layer6Rmax2,layer6HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer6_log = new G4LogicalVolume(layer6,Cu,"layer6_log",0,0,0); - - G4double layer6Pos_z = 103.181*cm; - layer6_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer6Pos_z), - "layer6",layer6_log,world,false,0); - - //-----------layer7----------------------------- - G4double layer7Rmax1 = 0.200*cm; - G4double layer7Rmax2 = 0.250*cm; - G4double layer7HightOfTheCone = 0.023*cm; - G4Cons* layer7 = new G4Cons("layer7",layerRmin1,layer7Rmax1,layerRmin2, - layer7Rmax2,layer7HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer7_log = new G4LogicalVolume(layer7,Cu,"layer7_log",0,0,0); - - G4double layer7Pos_z = 103.134*cm; - layer7_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer7Pos_z), - "layer7",layer7_log,world,false,0); - - //-----------layer8----------------------------- - G4double layer8Rmax1 = 0.250*cm; - G4double layer8Rmax2 = 0.300*cm; - G4double layer8HightOfTheCone = 0.023*cm; - G4Cons* layer8 = new G4Cons("layer8",layerRmin1,layer8Rmax1,layerRmin2, - layer8Rmax2,layer8HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer8_log = new G4LogicalVolume(layer8,Cu,"layer8_log",0,0,0); - - G4double layer8Pos_z = 103.088*cm; - layer8_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer8Pos_z), - "layer8",layer8_log,world,false,0); - - //-----------layer9----------------------------- - G4double layer9Rmax1 = 0.300*cm; - G4double layer9Rmax2 = 0.350*cm; - G4double layer9HightOfTheCone = 0.0225*cm; - G4Cons* layer9 = new G4Cons("layer9",layerRmin1,layer9Rmax1,layerRmin2, - layer9Rmax2,layer9HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer9_log = new G4LogicalVolume(layer9,Cu,"layer9_log",0,0,0); - - G4double layer9Pos_z = 103.0425*cm; - layer9_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer9Pos_z), - "layer9",layer9_log,world,false,0); - - //-----------layer10----------------------------- - G4double layer10Rmax1 = 0.350*cm; - G4double layer10Rmax2 = 0.400*cm; - G4double layer10HightOfTheCone = 0.022*cm; - G4Cons* layer10 = new G4Cons("layer10",layerRmin1,layer10Rmax1,layerRmin2, - layer10Rmax2,layer10HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer10_log = new G4LogicalVolume(layer10,Cu,"layer10_log",0,0,0); - - G4double layer10Pos_z = 102.998*cm; - layer10_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer10Pos_z), - "layer10",layer10_log,world,false,0); - //-----------layer11----------------------------- - G4double layer11Rmax1 = 0.400*cm; - G4double layer11Rmax2 = 0.500*cm; - G4double layer11HightOfTheCone = 0.0425*cm; - G4Cons* layer11 = new G4Cons("layer11",layerRmin1,layer11Rmax1,layerRmin2, - layer11Rmax2,layer11HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer11_log = new G4LogicalVolume(layer11,Cu,"layer11_log",0,0,0); - - G4double layer11Pos_z = 102.9335*cm; - layer11_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer11Pos_z), - "layer11",layer11_log,world,false,0); - - //-----------layer12----------------------------- - G4double layer12Rmax1 = 0.500*cm; - G4double layer12Rmax2 = 0.600*cm; - G4double layer12HightOfTheCone = 0.0395*cm; - G4Cons* layer12 = new G4Cons("layer12",layerRmin1,layer12Rmax1,layerRmin2, - layer12Rmax2,layer12HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer12_log = new G4LogicalVolume(layer12,Cu,"layer12_log",0,0,0); - - G4double layer12Pos_z = 102.8515*cm; - layer12_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer12Pos_z), - "layer12",layer12_log,world,false,0); - - //-----------layer13----------------------------- - G4double layer13Rmax1 = 0.600*cm; - G4double layer13Rmax2 = 0.700*cm; - G4double layer13HightOfTheCone = 0.038*cm; - G4Cons* layer13 = new G4Cons("layer13",layerRmin1,layer13Rmax1,layerRmin2, - layer13Rmax2,layer13HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer13_log = new G4LogicalVolume(layer13,Cu,"layer13_log",0,0,0); - - G4double layer13Pos_z = 102.774*cm; - layer13_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer13Pos_z), - "layer13",layer13_log,world,false,0); - //-----------layer14----------------------------- - G4double layer14Rmax1 = 0.700*cm; - G4double layer14Rmax2 = 0.800*cm; - G4double layer14HightOfTheCone = 0.0335*cm; - G4Cons* layer14 = new G4Cons("layer14",layerRmin1,layer14Rmax1,layerRmin2, - layer14Rmax2,layer14HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer14_log = new G4LogicalVolume(layer14,Cu,"layer14_log",0,0,0); - - G4double layer14Pos_z = 102.7025*cm; - layer14_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer14Pos_z), - "layer14",layer14_log,world,false,0); - - //-----------layer15----------------------------- - G4double layer15Rmax1 = 0.800*cm; - G4double layer15Rmax2 = 0.900*cm; - G4double layer15HightOfTheCone = 0.0325*cm; - G4Cons* layer15 = new G4Cons("layer15",layerRmin1,layer15Rmax1,layerRmin2, - layer15Rmax2,layer15HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer15_log = new G4LogicalVolume(layer15,Cu,"layer15_log",0,0,0); - - G4double layer15Pos_z = 102.6365*cm; - layer15_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer15Pos_z), - "layer15",layer15_log,world,false,0); - //-----------layer16----------------------------- - G4double layer16Rmax1 = 0.900*cm; - G4double layer16Rmax2 = 1.000*cm; - G4double layer16HightOfTheCone = 0.028*cm; - G4Cons* layer16 = new G4Cons("layer16",layerRmin1,layer16Rmax1,layerRmin2, - layer16Rmax2,layer16HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer16_log = new G4LogicalVolume(layer16,Cu,"layer16_log",0,0,0); - - G4double layer16Pos_z = 102.576*cm; - layer16_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer16Pos_z), - "layer16",layer16_log,world,false,0); - - //-----------layer17----------------------------- - G4double layer17Rmax1 = 1.000*cm; - G4double layer17Rmax2 = 1.100*cm; - G4double layer17HightOfTheCone = 0.0275*cm; - G4Cons* layer17 = new G4Cons("layer17",layerRmin1,layer17Rmax1,layerRmin2, - layer17Rmax2,layer17HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer17_log = new G4LogicalVolume(layer17,Cu,"layer17_log",0,0,0); - - G4double layer17Pos_z = 102.5205*cm; - layer17_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer17Pos_z), - "layer17",layer17_log,world,false,0); - - //-----------layer18----------------------------- - G4double layer18Rmax1 = 1.100*cm; - G4double layer18Rmax2 = 1.205*cm; - G4double layer18HightOfTheCone = 0.019*cm; - G4Cons* layer18 = new G4Cons("layer18",layerRmin1,layer18Rmax1,layerRmin2, - layer18Rmax2,layer18HightOfTheCone,startAngleOfTheCone, - spanningAngleOfTheCone); - - layer18_log = new G4LogicalVolume(layer18,Cu,"layer18_log",0,0,0); - - G4double layer18Pos_z = 102.474*cm; - layer18_phys = new G4PVPlacement(rotateMatrix, - G4ThreeVector(layerPos_x,layerPos_y,layer18Pos_z), - "layer18",layer18_log,world,false,0); - //-----------layer19----------------------------- - G4double innerRadiusOfTheLayer19 = 0.0*cm; - G4double outerRadiusOfTheLayer19 = 1.325*cm; - G4double hightOfTheLayer19 = 0.040*cm; - G4double startAngleOfTheLayer19 = 0.*deg; - G4double spanningAngleOfTheLayer19 = 360.*deg; - G4Tubs* layer19 = new G4Tubs("layer19",innerRadiusOfTheLayer19, - outerRadiusOfTheLayer19,hightOfTheLayer19, - startAngleOfTheLayer19,spanningAngleOfTheLayer19); - layer19_log = new G4LogicalVolume(layer19,Cu,"layer19_log",0,0,0); - - G4double layer19PosX = 0.*cm; - G4double layer19PosY = 0.*cm; - G4double layer19PosZ = 102.415*cm; - - layer19_phys = new G4PVPlacement(0, - G4ThreeVector(layer19PosX,layer19PosY, - layer19PosZ),"layer19", - layer19_log,world,false,0); - //-----------layer20----------------------------- - G4double innerRadiusOfTheLayer20A = 1.300*cm; - G4double outerRadiusOfTheLayer20A = 1.325*cm; - G4double hightOfTheLayer20A = 0.0225*cm; - G4double startAngleOfTheLayer20A = 0.*deg; - G4double spanningAngleOfTheLayer20A = 360.*deg; - G4Tubs* layer20A = new G4Tubs("layer20A",innerRadiusOfTheLayer20A, - outerRadiusOfTheLayer20A,hightOfTheLayer20A, - startAngleOfTheLayer20A,spanningAngleOfTheLayer20A); - layer20A_log = new G4LogicalVolume(layer20A,Cu,"layer20A_log",0,0,0); - -//ho dovuto aumentare di 0.001 cm le dim cone20Rmax2 cone20Rmax1 per far funzionare il G4SubtractionSolid - - G4double cone20Rmin1 = 0.*cm; - G4double cone20Rmax1 = 1.326*cm; - G4double cone20Rmin2 = 0.*cm; - G4double cone20Rmax2 = 1.301*cm; - G4double hightOfThecone20 =0.0225*cm; - G4double startAngleOfThecone20 = 0.*deg; - G4double spanningAngleOfThecone20 = 360.*deg; - - G4Cons* cone20 = new G4Cons("cone20",cone20Rmin1,cone20Rmax1,cone20Rmin2, - cone20Rmax2,hightOfThecone20,startAngleOfThecone20, - spanningAngleOfThecone20); - cone20_log = new G4LogicalVolume(cone20,Air,"cone20_log",0,0,0); - - G4SubtractionSolid* layer20 = new G4SubtractionSolid("layer20",layer20A,cone20); - layer20_log = new G4LogicalVolume(layer20,Cu,"layer20_log",0,0,0); - - G4double layer20PosX = 0.*cm; - G4double layer20PosY = 0.*cm; - G4double layer20PosZ = 102.4775*cm; - layer20_phys = new G4PVPlacement(0, - G4ThreeVector(layer20PosX,layer20PosY, - layer20PosZ),"layer20", - layer20_log,world,false,0); - - //-----------layer21----------------------------- - G4double innerRadiusOfTheLayer21 = 1.325*cm; - G4double outerRadiusOfTheLayer21 = 1.500*cm; - G4double hightOfTheLayer21 = 0.0625*cm; - G4double startAngleOfTheLayer21 = 0.*deg; - G4double spanningAngleOfTheLayer21 = 360.*deg; - G4Tubs* layer21 = new G4Tubs("layer21",innerRadiusOfTheLayer21, - outerRadiusOfTheLayer21,hightOfTheLayer21, - startAngleOfTheLayer21,spanningAngleOfTheLayer21); - layer21_log = new G4LogicalVolume(layer21,Cu,"layer21_log",0,0,0); - - G4double layer21PosX = 0.*cm; - G4double layer21PosY = 0.*cm; - G4double layer21PosZ = 102.4375*cm; - - layer21_phys = new G4PVPlacement(0, - G4ThreeVector(layer21PosX,layer21PosY, - layer21PosZ),"layer19", - layer21_log,world,false,0); - - // Visualization attributes - - G4VisAttributes* simpleCopperSVisAtt= new G4VisAttributes(cyan); - simpleCopperSVisAtt->SetVisibility(true); - simpleCopperSVisAtt->SetForceSolid(true); - targetB_log->SetVisAttributes(simpleCopperSVisAtt); - - G4VisAttributes* simpleTungstenSVisAtt= new G4VisAttributes(magenta); - simpleTungstenSVisAtt->SetVisibility(true); - simpleTungstenSVisAtt->SetForceSolid(true); - targetA_log->SetVisAttributes(simpleTungstenSVisAtt); -} diff --git a/examples/advanced/medical_linac/vis.mac b/examples/advanced/medical_linac/vis.mac index d64b754fcf..6aa9b9eee0 100644 --- a/examples/advanced/medical_linac/vis.mac +++ b/examples/advanced/medical_linac/vis.mac @@ -1,210 +1,61 @@ -/PhysicsList/cut 0.2 mm -/control/verbose 2 -/control/saveHistory -/run/verbose 2 -/run/initialize - /vis/scene/create /vis/open OGLIX -#/vis/drawVolume -/vis/viewer/update -/vis/viewer/set/viewpointThetaPhi 70 20 deg + +/vis/drawVolume + +#/vis/scene/add/volume + +/vis/viewer/set/viewpointThetaPhi 45 45 deg /vis/viewer/zoom 1 - /vis/viewer/flush -# -# draw scene/ -# -# -# for drawing the tracks +/vis/scene/add/trajectories +/vis/scene/endOfEventAction accumulate 100 -/run/initialize +/run/beamOn 100 -/tracking/storeTrajectory 1 -/vis/scene/endOfEventAction accumulate - -/Phantom/dimension 15. cm -/Phantom/Nvoxels 150 -/Phantom/maxStep 0.2 mm - -/PhantomSD/dimension 15. cm -/PhantomSD/Nvoxels 150 - -# Multi Leaf - -/MLC/leaf_selection a1 -/MLC/position 0. cm -/MLC/leaf_selection a2 -/MLC/position 0. cm -/MLC/leaf_selection a3 -/MLC/position 0. cm -/MLC/leaf_selection a4 -/MLC/position 0. cm -/MLC/leaf_selection a5 -/MLC/position 0. cm -/MLC/leaf_selection a6 -/MLC/position 0. cm -/MLC/leaf_selection a7 -/MLC/position 0. cm -/MLC/leaf_selection a8 -/MLC/position 0. cm -/MLC/leaf_selection a9 -/MLC/position 0. cm -/MLC/leaf_selection a10 -/MLC/position 0. cm -/MLC/leaf_selection a11 -/MLC/position 0. cm -/MLC/leaf_selection a12 -/MLC/position 0. cm -/MLC/leaf_selection a13 -/MLC/position 0. cm -/MLC/leaf_selection a14 -/MLC/position 0. cm -/MLC/leaf_selection a15 -/MLC/position 0. cm -/MLC/leaf_selection a16 -/MLC/position 0. cm -/MLC/leaf_selection a17 -/MLC/position 2.4 cm -/MLC/leaf_selection a18 -/MLC/position 2.7 cm -/MLC/leaf_selection a19 -/MLC/position 3.5 cm -/MLC/leaf_selection a20 -/MLC/position 4.0 cm -/MLC/leaf_selection a21 -/MLC/position 4.6 cm -/MLC/leaf_selection a22 -/MLC/position 5.0 cm -/MLC/leaf_selection a23 -/MLC/position 5.8 cm -/MLC/leaf_selection a24 -/MLC/position 6.0 cm -/MLC/leaf_selection a25 -/MLC/position 5.6 cm -/MLC/leaf_selection a26 -/MLC/position 0. cm -/MLC/leaf_selection a27 -/MLC/position 0. cm -/MLC/leaf_selection a28 -/MLC/position 0. cm -/MLC/leaf_selection a29 -/MLC/position 0. cm -/MLC/leaf_selection a30 -/MLC/position 0. cm -/MLC/leaf_selection a31 -/MLC/position 0. cm -/MLC/leaf_selection a32 -/MLC/position 0. cm -/MLC/leaf_selection a33 -/MLC/position 0. cm -/MLC/leaf_selection a34 -/MLC/position 0. cm -/MLC/leaf_selection a35 -/MLC/position 0. cm -/MLC/leaf_selection a36 -/MLC/position 0. cm -/MLC/leaf_selection a37 -/MLC/position 0. cm -/MLC/leaf_selection a38 -/MLC/position 0. cm -/MLC/leaf_selection a39 -/MLC/position 0. cm -/MLC/leaf_selection a40 -/MLC/position 0. cm - - -/MLC/leaf_selection b1 -/MLC/position 0. cm -/MLC/leaf_selection b2 -/MLC/position 0. cm -/MLC/leaf_selection b3 -/MLC/position 0. cm -/MLC/leaf_selection b4 -/MLC/position 0. cm -/MLC/leaf_selection b5 -/MLC/position 0. cm -/MLC/leaf_selection b6 -/MLC/position 0. cm -/MLC/leaf_selection b7 -/MLC/position 0. cm -/MLC/leaf_selection b8 -/MLC/position 0. cm -/MLC/leaf_selection b9 -/MLC/position 0. cm -/MLC/leaf_selection b10 -/MLC/position 0. cm -/MLC/leaf_selection b11 -/MLC/position 0. cm -/MLC/leaf_selection b12 -/MLC/position 0. cm -/MLC/leaf_selection b13 -/MLC/position 0. cm -/MLC/leaf_selection b14 -/MLC/position 0. cm -/MLC/leaf_selection b15 -/MLC/position 0. cm -/MLC/leaf_selection b16 -/MLC/position 0. cm -/MLC/leaf_selection b17 -/MLC/position 2.3 cm -/MLC/leaf_selection b18 -/MLC/position 2.8 cm -/MLC/leaf_selection b19 -/MLC/position 3.5 cm -/MLC/leaf_selection b20 -/MLC/position 4.4 cm -/MLC/leaf_selection b21 -/MLC/position 4.7 cm -/MLC/leaf_selection b22 -/MLC/position 5.4 cm -/MLC/leaf_selection b23 -/MLC/position 5.7 cm -/MLC/leaf_selection b24 -/MLC/position 5.8 cm -/MLC/leaf_selection b25 -/MLC/position 5.4 cm -/MLC/leaf_selection b26 -/MLC/position 0. cm -/MLC/leaf_selection b27 -/MLC/position 0. cm -/MLC/leaf_selection b28 -/MLC/position 0. cm -/MLC/leaf_selection b29 -/MLC/position 0. cm -/MLC/leaf_selection b30 -/MLC/position 0. cm -/MLC/leaf_selection b31 -/MLC/position 0. cm -/MLC/leaf_selection b32 -/MLC/position 0. cm -/MLC/leaf_selection b33 -/MLC/position 0. cm -/MLC/leaf_selection b34 -/MLC/position 0. cm -/MLC/leaf_selection b35 -/MLC/position 0. cm -/MLC/leaf_selection b36 -/MLC/position 0. cm -/MLC/leaf_selection b37 -/MLC/position 0. cm -/MLC/leaf_selection b38 -/MLC/position 0. cm -/MLC/leaf_selection b39 -/MLC/position 0. cm -/MLC/leaf_selection b40 -/MLC/position 0. cm - -/Jaws/X1/DistanceFromAxis -4.2 cm -/Jaws/X2/DistanceFromAxis 5.2 cm -/Jaws/Y1/DistanceFromAxis -6.6 cm -/Jaws/Y2/DistanceFromAxis 6.8 cm - -/Jaws/update - -/energy 6.0 MeV -/sourceType 0.127 MeV -/vis/viewer/update -/run/beamOn 10 +# acceleratorBox +# targetA +# targetB +# BeWTubePV +# ionizationChamberTubeW1PV +# ionizationChamberTubeP1PV +# ionizationChamberTubeW2PV +# ionizationChamberTubeP2PV +# ionizationChamberTubeW3PV +# ionizationChamberTubeP3PV +# FFL1A_1PV +# FFL2_1PV +# MirrorTubePV +# UpperCollimator +# CylMinusCone +# leafA0 +# leafA1 +# leafA2 +# leafA3 +# leafA4 +# leafA5 +# leafA6 +# leafA7 +# leafA8 +# leafA9 +# leafB0 +# leafB1 +# leafB2 +# leafB3 +# leafB4 +# leafB5 +# leafB6 +# leafB7 +# leafB8 +# leafB9 +# Jaws1XPV +# Jaws2XPV +# Jaws1YPV +# Jaws2YPV +# killerPlaneKPV +# phmWorldPV +# BoxInsidePV +# boxPMMAPV +# OutMinusInBoxPV diff --git a/examples/advanced/medical_linac/vrmlvis.mac b/examples/advanced/medical_linac/vrmlvis.mac deleted file mode 100644 index cd7c303bb1..0000000000 --- a/examples/advanced/medical_linac/vrmlvis.mac +++ /dev/null @@ -1,199 +0,0 @@ -/PhysicsList/cut 0.2 mm -/control/verbose 1 -/control/saveHistory -/run/verbose 2 -/vis/scene/create -/vis/open VRML2FILE -/vis/viewer/flush -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 1.4 -/vis/scene/endOfEventAction accumulate -/vis/viewer/update - -/run/initialize -/tracking/storeTrajectory 1 - -/Phantom/dimension 15. cm -/Phantom/Nvoxels 150 -/Phantom/maxStep 0.2 mm - -/PhantomSD/dimension 15. cm -/PhantomSD/Nvoxels 150 - -# Multi Leaf - - -/MLC/leaf_selection a1 -/MLC/position 0. cm -/MLC/leaf_selection a2 -/MLC/position 0. cm -/MLC/leaf_selection a3 -/MLC/position 0. cm -/MLC/leaf_selection a4 -/MLC/position 0. cm -/MLC/leaf_selection a5 -/MLC/position 0. cm -/MLC/leaf_selection a6 -/MLC/position 0. cm -/MLC/leaf_selection a7 -/MLC/position 0. cm -/MLC/leaf_selection a8 -/MLC/position 0. cm -/MLC/leaf_selection a9 -/MLC/position 0. cm -/MLC/leaf_selection a10 -/MLC/position 0. cm -/MLC/leaf_selection a11 -/MLC/position 0. cm -/MLC/leaf_selection a12 -/MLC/position 0. cm -/MLC/leaf_selection a13 -/MLC/position 0. cm -/MLC/leaf_selection a14 -/MLC/position 0. cm -/MLC/leaf_selection a15 -/MLC/position 0. cm -/MLC/leaf_selection a16 -/MLC/position 0. cm -/MLC/leaf_selection a17 -/MLC/position 2.4 cm -/MLC/leaf_selection a18 -/MLC/position 2.7 cm -/MLC/leaf_selection a19 -/MLC/position 3.5 cm -/MLC/leaf_selection a20 -/MLC/position 4.0 cm -/MLC/leaf_selection a21 -/MLC/position 4.6 cm -/MLC/leaf_selection a22 -/MLC/position 5.0 cm -/MLC/leaf_selection a23 -/MLC/position 5.8 cm -/MLC/leaf_selection a24 -/MLC/position 6.0 cm -/MLC/leaf_selection a25 -/MLC/position 5.6 cm -/MLC/leaf_selection a26 -/MLC/position 0. cm -/MLC/leaf_selection a27 -/MLC/position 0. cm -/MLC/leaf_selection a28 -/MLC/position 0. cm -/MLC/leaf_selection a29 -/MLC/position 0. cm -/MLC/leaf_selection a30 -/MLC/position 0. cm -/MLC/leaf_selection a31 -/MLC/position 0. cm -/MLC/leaf_selection a32 -/MLC/position 0. cm -/MLC/leaf_selection a33 -/MLC/position 0. cm -/MLC/leaf_selection a34 -/MLC/position 0. cm -/MLC/leaf_selection a35 -/MLC/position 0. cm -/MLC/leaf_selection a36 -/MLC/position 0. cm -/MLC/leaf_selection a37 -/MLC/position 0. cm -/MLC/leaf_selection a38 -/MLC/position 0. cm -/MLC/leaf_selection a39 -/MLC/position 0. cm -/MLC/leaf_selection a40 -/MLC/position 0. cm - - -/MLC/leaf_selection b1 -/MLC/position 0. cm -/MLC/leaf_selection b2 -/MLC/position 0. cm -/MLC/leaf_selection b3 -/MLC/position 0. cm -/MLC/leaf_selection b4 -/MLC/position 0. cm -/MLC/leaf_selection b5 -/MLC/position 0. cm -/MLC/leaf_selection b6 -/MLC/position 0. cm -/MLC/leaf_selection b7 -/MLC/position 0. cm -/MLC/leaf_selection b8 -/MLC/position 0. cm -/MLC/leaf_selection b9 -/MLC/position 0. cm -/MLC/leaf_selection b10 -/MLC/position 0. cm -/MLC/leaf_selection b11 -/MLC/position 0. cm -/MLC/leaf_selection b12 -/MLC/position 0. cm -/MLC/leaf_selection b13 -/MLC/position 0. cm -/MLC/leaf_selection b14 -/MLC/position 0. cm -/MLC/leaf_selection b15 -/MLC/position 0. cm -/MLC/leaf_selection b16 -/MLC/position 0. cm -/MLC/leaf_selection b17 -/MLC/position 2.3 cm -/MLC/leaf_selection b18 -/MLC/position 2.8 cm -/MLC/leaf_selection b19 -/MLC/position 3.5 cm -/MLC/leaf_selection b20 -/MLC/position 4.4 cm -/MLC/leaf_selection b21 -/MLC/position 4.7 cm -/MLC/leaf_selection b22 -/MLC/position 5.4 cm -/MLC/leaf_selection b23 -/MLC/position 5.7 cm -/MLC/leaf_selection b24 -/MLC/position 5.8 cm -/MLC/leaf_selection b25 -/MLC/position 5.4 cm -/MLC/leaf_selection b26 -/MLC/position 0. cm -/MLC/leaf_selection b27 -/MLC/position 0. cm -/MLC/leaf_selection b28 -/MLC/position 0. cm -/MLC/leaf_selection b29 -/MLC/position 0. cm -/MLC/leaf_selection b30 -/MLC/position 0. cm -/MLC/leaf_selection b31 -/MLC/position 0. cm -/MLC/leaf_selection b32 -/MLC/position 0. cm -/MLC/leaf_selection b33 -/MLC/position 0. cm -/MLC/leaf_selection b34 -/MLC/position 0. cm -/MLC/leaf_selection b35 -/MLC/position 0. cm -/MLC/leaf_selection b36 -/MLC/position 0. cm -/MLC/leaf_selection b37 -/MLC/position 0. cm -/MLC/leaf_selection b38 -/MLC/position 0. cm -/MLC/leaf_selection b39 -/MLC/position 0. cm -/MLC/leaf_selection b40 -/MLC/position 0. cm - - - -/Jaws/X1/DistanceFromAxis -4.2 cm -/Jaws/X2/DistanceFromAxis 5.2 cm -/Jaws/Y1/DistanceFromAxis -6.6 cm -/Jaws/Y2/DistanceFromAxis 6.8 cm -/Jaws/update - -/energy 6.0 MeV -/sourceType 0.127 MeV -/run/beamOn 1000 diff --git a/examples/advanced/microbeam/History b/examples/advanced/microbeam/History index 1c07f85596..336e7b141b 100644 --- a/examples/advanced/microbeam/History +++ b/examples/advanced/microbeam/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.19 2008/10/23 11:12:12 sincerti Exp $ +$Id: History,v 1.21 2009/04/30 10:23:57 sincerti Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,14 @@ $Id: History,v 1.19 2008/10/23 11:12:12 sincerti Exp $ Package History file -------------------- +30 April 2009 - S. Incerti - tag microbeam-V09-02-01 +- Updated Physics list to migrated Livermore processes +- Corrected plot.C +- Corrected switching field value + +26 February 2009 - G.Folger - tag microbeam-V09-02-00 +- Correct MicrobeamEMField.cc to use logical &&, not bit & in if(). + 23 October 2008 - tag microbeam-V09-01-03 - Corrected typos in zero field region in MicrobeamEMField.cc diff --git a/examples/advanced/microbeam/microbeam.out b/examples/advanced/microbeam/microbeam.out index ee3fe73f0d..473f7e705c 100644 --- a/examples/advanced/microbeam/microbeam.out +++ b/examples/advanced/microbeam/microbeam.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -19,6 +23,7 @@ Current available graphics systems are: RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -128,272 +133,176 @@ Registered filter factories: MicrobeamPhysicsList::SetCuts:CutLength : 10 nm -msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 +phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete -AugerTransitionTable complete + LivermorePhElectric : Emin= 0 eV Emax= 100 GeV + PhotoElectric : Emin= 100 GeV Emax= 10 TeV -IONI: Total cross sections from EEDL database. - Gamma energy sampled from a parametrised formula. - Implementation of the continuous dE/dx part. - At present it can be used for electrons in the energy range [250eV,100GeV]. - The process must work with G4LowEnergyBremsstrahlung. +compt: for gamma SubType= 13 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + LivermoreCompton : Emin= 0 eV Emax= 100 GeV + Klein-Nishina : Emin= 100 GeV Emax= 10 TeV -LowEnBrem: Total cross sections from EEDL database. - Gamma energy sampled from a parameterised formula. - Implementation of the continuous dE/dx part. - At present it can be used for electrons in the energy range [250eV,100GeV]. - The process must work with G4LowEnergyIonisation. +conv: for gamma SubType= 14 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + LivermoreConversion : Emin= 0 eV Emax= 100 GeV + Bethe-Heitler : Emin= 100 GeV Emax= 10 TeV + +Rayl: for gamma SubType= 11 + Lambda tables from 100 eV to 10 TeV in 200 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + LivermoreRayleigh : Emin= 0 eV Emax= 100 GeV + +msc: for e- SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 2, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV + +eIoni: for e- SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + LowEnergyIoni : Emin= 0 eV Emax= 100 GeV + MollerBhabha : Emin= 100 GeV Emax= 10 TeV + +eBrem: for e- SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + LPM flag: 1 for E > 1 GeV + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + LowEnBrem : Emin= 0 eV Emax= 100 GeV + eBremRel : Emin= 100 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV - -msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV - -hLowEIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - Delta ray energy sampled from differential Xsection. - PhysicsTables from 10 eV to 0.1 TeV in 360 bins. - Electronic stopping power model is ICRU_R49He - from 1 keV to 2.5 MeV . - - Parametrisation model for antiprotons is ICRU_R49p - from 25 keV to 2 MeV . - Parametrization of the Barkas effect is switched on. - Nuclear stopping power model is ICRU_R49 + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, skin= 3 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV + +ionIoni: for GenericIon SubType= 2 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 0.02, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + ParamICRU73 : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) ============================================================================================ -hLowEIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - Delta ray energy sampled from differential Xsection. - PhysicsTables from 10 eV to 0.1 TeV in 360 bins. - Electronic stopping power model is ICRU_R49p - from 1 keV to 2 MeV . - - Parametrisation model for antiprotons is ICRU_R49He - from 25 keV to 2 MeV . - Parametrization of the Barkas effect is switched on. - Nuclear stopping power model is ICRU_R49 - -msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 - ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV - ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Vacuum - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Pl - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No Material : Butane - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 3 used in the geometry : Yes recalculation needed : No Material : Laiton - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 4 used in the geometry : Yes recalculation needed : No Material : Si3N4 - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 5 used in the geometry : Yes recalculation needed : No Material : Air - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 6 used in the geometry : Yes recalculation needed : No Material : Polyprop - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 7 used in the geometry : Yes recalculation needed : No Material : H2O - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 8 used in the geometry : Yes recalculation needed : No Material : Cytoplasm1 - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 9 used in the geometry : Yes recalculation needed : No Material : Nucleus1 - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 10 used in the geometry : Yes recalculation needed : No Material : Nucleus2 - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 11 used in the geometry : Yes recalculation needed : No Material : Cytoplasm2 - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 12 used in the geometry : Yes recalculation needed : No Material : SiO2 - Range cuts : gamma 10 nm e- 10 nm e+ 10 nm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 10 nm e- 10 nm e+ 10 nm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -412,46 +321,43 @@ WARNING: G4VisManager::IsValidView(): Attempt to draw when no graphics system drawing code is executed only if G4VVisManager::GetConcreteInstance() is non-zero. -> Event # 2 generated - ===> Sorry, the incident alpha particle has missed the targeted cell ! + ===> The incident alpha particle has reached the targeted cell : + -----> total absorbed dose within Nucleus is (Gy) = 0.35642141103745 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.06113151460886 -> Event # 3 generated ===> Sorry, the incident alpha particle has missed the targeted cell ! -> Event # 4 generated - ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.41476425528526 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.0074367276392877 + ===> Sorry, the incident alpha particle has missed the targeted cell ! -> Event # 5 generated - ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.64402061700821 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.014025576412678 + ===> Sorry, the incident alpha particle has missed the targeted cell ! -> Event # 6 generated ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.34616070985794 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.055149801075459 + -----> total absorbed dose within Nucleus is (Gy) = 0.37929552793503 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.073292337357998 -> Event # 7 generated - ===> Sorry, the incident alpha particle has missed the targeted cell ! + ===> The incident alpha particle has reached the targeted cell : + -----> total absorbed dose within Nucleus is (Gy) = 0.44333383440971 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.088046304881573 -> Event # 8 generated ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.3083418905735 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.093122653663158 + -----> total absorbed dose within Nucleus is (Gy) = 0.31207606196404 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.077978290617466 -> Event # 9 generated - ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.6314080953598 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.029831433668733 + ===> Sorry, the incident alpha particle has missed the targeted cell ! -> Event # 10 generated - ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.30018749833107 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.096404448151588 + ===> Sorry, the incident alpha particle has missed the targeted cell ! ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. --> Total number of particles detected by the gas detector : 6 +-> Total number of particles detected by the gas detector : 4 -Graphics systems deleted. +Idle> Graphics systems deleted. Visualization Manager deleting... + diff --git a/examples/advanced/microbeam/plot.C b/examples/advanced/microbeam/plot.C index 682c8c8271..057f1376f8 100755 --- a/examples/advanced/microbeam/plot.C +++ b/examples/advanced/microbeam/plot.C @@ -1,5 +1,5 @@ // ------------------------------------------------------------------- -// $Id: plot.C,v 1.4 2006/06/01 22:25:19 sincerti Exp $ +// $Id: plot.C,v 1.5 2009/04/30 10:23:57 sincerti Exp $ // ------------------------------------------------------------------- // // ********************************************************************* @@ -116,6 +116,7 @@ c1.cd(9); h2->SetTitle("dE/dx at cell entrance"); h2->SetFillColor(4); h2->SetLineColor(4); + h2->Fit("gaus"); gaus->SetLineColor(6); h2->Fit("gaus"); diff --git a/examples/advanced/microbeam/src/MicrobeamEMField.cc b/examples/advanced/microbeam/src/MicrobeamEMField.cc index f20aa618e0..706a1f8165 100755 --- a/examples/advanced/microbeam/src/MicrobeamEMField.cc +++ b/examples/advanced/microbeam/src/MicrobeamEMField.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamEMField.cc,v 1.7 2008/10/23 11:12:12 sincerti Exp $ +// $Id: MicrobeamEMField.cc,v 1.9 2009/04/30 10:23:57 sincerti Exp $ // ------------------------------------------------------------------- #include "MicrobeamEMField.hh" @@ -57,8 +57,9 @@ void MicrobeamEMField::GetFieldValue(const double point[4], double *Bfield ) con // AIFIRA SWITCHING MAGNET // *********************** - // MAGNETIC FIELD VALUE FOR 3 MeV ALPHAS - G4double switchingField = 0.0589768635 * tesla ; + // MAGNETIC FIELD VALUE FOR 3 MeV ALPHAS + // G4double switchingField = 0.0589768635 * tesla ; + G4double switchingField = 0.0590201 * tesla ; // BEAM START G4double beamStart = -10*m; @@ -180,7 +181,7 @@ if ( // QUADRUPOLE CENTER COORDINATES G4double xoprime, zoprime; -if (z>=-1400*mm & z <-200*mm) +if (z>=-1400*mm && z <-200*mm) { Bx=0; By=0; Bz=0; diff --git a/examples/advanced/microbeam/src/MicrobeamPhysicsList.cc b/examples/advanced/microbeam/src/MicrobeamPhysicsList.cc index 3672c72c68..bdc1f3389b 100755 --- a/examples/advanced/microbeam/src/MicrobeamPhysicsList.cc +++ b/examples/advanced/microbeam/src/MicrobeamPhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: MicrobeamPhysicsList.cc,v 1.7 2008/08/20 11:08:29 sincerti Exp $ +// $Id: MicrobeamPhysicsList.cc,v 1.8 2009/04/30 10:23:57 sincerti Exp $ // ------------------------------------------------------------------- #include "G4ParticleDefinition.hh" @@ -106,25 +106,59 @@ void MicrobeamPhysicsList::ConstructProcess() ConstructGeneral(); } -#include "G4MultipleScattering.hh" +// *** Processes and models + +// gamma + +#include "G4PhotoElectricEffect.hh" +#include "G4LivermorePhotoElectricModel.hh" + +#include "G4ComptonScattering.hh" +#include "G4LivermoreComptonModel.hh" + +#include "G4GammaConversion.hh" +#include "G4LivermoreGammaConversionModel.hh" + +#include "G4RayleighScattering.hh" +#include "G4LivermoreRayleighModel.hh" + +// e- + +#include "G4eMultipleScattering.hh" +#include "G4UniversalFluctuation.hh" + #include "G4eIonisation.hh" +#include "G4LivermoreIonisationModel.hh" + #include "G4eBremsstrahlung.hh" +#include "G4LivermoreBremsstrahlungModel.hh" + +// e+ + #include "G4eplusAnnihilation.hh" +// mu + #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" #include "G4MuPairProduction.hh" -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" -#include "G4LowEnergyRayleigh.hh" +// hadrons -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" - -#include "G4hLowEnergyIonisation.hh" #include "G4hMultipleScattering.hh" +#include "G4MscStepLimitType.hh" + +#include "G4hBremsstrahlung.hh" +#include "G4hPairProduction.hh" + +#include "G4hIonisation.hh" +#include "G4ionIonisation.hh" +#include "G4IonParametrisedLossModel.hh" + +// + +#include "G4LossTableManager.hh" +#include "G4EmProcessOptions.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -142,72 +176,91 @@ void MicrobeamPhysicsList::ConstructEM() if (particleName == "gamma") { - pmanager->AddDiscreteProcess(new G4LowEnergyCompton); + G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); + G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel = new G4LivermorePhotoElectricModel(); + thePhotoElectricEffect->AddEmModel(0, theLivermorePhotoElectricModel); + pmanager->AddDiscreteProcess(thePhotoElectricEffect); - G4LowEnergyPhotoElectric * LePeprocess = new G4LowEnergyPhotoElectric(); - LePeprocess->ActivateAuger(true); - LePeprocess->SetCutForLowEnSecPhotons(0.250 * keV); - LePeprocess->SetCutForLowEnSecElectrons(0.250 * keV); - pmanager->AddDiscreteProcess(LePeprocess); - - pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion()); - - pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh()); + G4ComptonScattering* theComptonScattering = new G4ComptonScattering(); + G4LivermoreComptonModel* theLivermoreComptonModel = new G4LivermoreComptonModel(); + theComptonScattering->AddEmModel(0, theLivermoreComptonModel); + pmanager->AddDiscreteProcess(theComptonScattering); + + G4GammaConversion* theGammaConversion = new G4GammaConversion(); + G4LivermoreGammaConversionModel* theLivermoreGammaConversionModel = new G4LivermoreGammaConversionModel(); + theGammaConversion->AddEmModel(0, theLivermoreGammaConversionModel); + pmanager->AddDiscreteProcess(theGammaConversion); + + G4RayleighScattering* theRayleigh = new G4RayleighScattering(); + G4LivermoreRayleighModel* theRayleighModel = new G4LivermoreRayleighModel(); + theRayleigh->AddEmModel(0, theRayleighModel); + pmanager->AddDiscreteProcess(theRayleigh); pmanager->AddProcess(new G4StepLimiter(), -1, -1, 5); - } else if (particleName == "e-") { - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc, -1, 1, 1); - G4LowEnergyIonisation * LeIoprocess = new G4LowEnergyIonisation("IONI"); - LeIoprocess->ActivateAuger(true); - LeIoprocess->SetCutForLowEnSecPhotons(0.1*keV); - LeIoprocess->SetCutForLowEnSecElectrons(0.1*keV); - pmanager->AddProcess(LeIoprocess, -1, 2, 2); - - G4LowEnergyBremsstrahlung * LeBrprocess = new G4LowEnergyBremsstrahlung(); - pmanager->AddProcess(LeBrprocess, -1, -1, 3); + // Ionisation + G4eIonisation* eIoni = new G4eIonisation(); + eIoni->AddEmModel(0, new G4LivermoreIonisationModel(), new G4UniversalFluctuation() ); + eIoni->SetStepFunction(0.2, 100*um); // + pmanager->AddProcess(eIoni, -1, 2, 2); + + // Bremsstrahlung + G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); + eBrem->AddEmModel(0, new G4LivermoreBremsstrahlungModel()); + pmanager->AddProcess(eBrem, -1,-3, 3); pmanager->AddProcess(new G4StepLimiter(), -1, -1, 4); } else if (particleName == "e+") { - pmanager->AddProcess(new G4MultipleScattering,-1, 1, 1); + // Identical to G4EmStandardPhysics_option3 + + G4eMultipleScattering* msc = new G4eMultipleScattering(); + msc->SetStepLimitType(fUseDistanceToBoundary); + pmanager->AddProcess(msc, -1, 1, 1); + + G4eIonisation* eIoni = new G4eIonisation(); + eIoni->SetStepFunction(0.2, 100*um); + pmanager->AddProcess(eIoni, -1, 2, 2); - pmanager->AddProcess(new G4eIonisation, -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-3, 3); - pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); - - pmanager->AddProcess(new G4eplusAnnihilation, 0, -1, 4); + pmanager->AddProcess(new G4eplusAnnihilation,0,-1, 4); pmanager->AddProcess(new G4StepLimiter(), -1, -1, 5); - } else if( particleName == "mu+" || - particleName == "mu-" ) { + } else if (particleName == "GenericIon") { - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - - //pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hMultipleScattering(),-1, 1, 1); - - G4hLowEnergyIonisation* hLowEnergyIonisation = new G4hLowEnergyIonisation(); - pmanager->AddProcess(hLowEnergyIonisation,-1, 2, 2); + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); - hLowEnergyIonisation->SetElectronicStoppingPowerModel(particle,"ICRU_R49He"); - hLowEnergyIonisation->SetNuclearStoppingOn(); - hLowEnergyIonisation->SetNuclearStoppingPowerModel("ICRU_R49"); - hLowEnergyIonisation->SetFluorescence(true); - hLowEnergyIonisation->ActivateAugerElectronProduction(true); + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetEmModel(new G4IonParametrisedLossModel()); + ionIoni->SetStepFunction(0.1, 20*um); + pmanager->AddProcess(ionIoni, -1, 2, 2); pmanager->AddProcess(new G4StepLimiter(), -1, -1, 3); + } else if (particleName == "alpha" || + particleName == "He3" ) { + + // Identical to G4EmStandardPhysics_option3 + + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + + G4ionIonisation* ionIoni = new G4ionIonisation(); + ionIoni->SetStepFunction(0.1, 20*um); + pmanager->AddProcess(ionIoni, -1, 2, 2); + + pmanager->AddProcess(new G4StepLimiter(), -1, -1, 3); } -//end + // } } diff --git a/examples/advanced/microdosimetry/History b/examples/advanced/microdosimetry/History index c110572c4d..95a3c7594a 100644 --- a/examples/advanced/microdosimetry/History +++ b/examples/advanced/microdosimetry/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.8 2008/06/27 20:33:05 sincerti Exp $ +$Id: History,v 1.12 2009/08/14 16:49:36 sincerti Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,22 @@ $Id: History,v 1.8 2008/06/27 20:33:05 sincerti Exp $ Package History file -------------------- +15 August 2009 - S. Incerti - microdosimetry-V09-02-04 +- fixed type in GenericIonDefinition in PhysicsList.cc + (to be used with emlowen-V09-02-50 and above) + +13 August 2009 - S. Incerti - microdosimetry-V09-02-03 +- replaced H2O material by NIST G4_WATER + (to be used with emlowen-V09-02-50 and above) + +10 August 2009 - S. Incerti - microdosimetry-V09-02-02 +- added GenericIon definition to PhysicsList (required by rules of G4VUserPhysicsList) + +29 April 2009 - S. Incerti - microdosimetry-V09-02-01 +- modified PhysicsList for migrated Geant4-DNA processes +- modified SteppingAction accordingly +- updated README + 27 June 2008 - S. Incerti - microdosimetry-V09-01-04 - modified PhysicsList.cc and SteppingAction.cc to take into account new G4CrossSectionElasticScreenedRutherfordLE and HE classes diff --git a/examples/advanced/microdosimetry/README b/examples/advanced/microdosimetry/README index b1cb2da60e..e01544131a 100644 --- a/examples/advanced/microdosimetry/README +++ b/examples/advanced/microdosimetry/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: README,v 1.5 2008/06/11 11:56:16 sincerti Exp $ +$Id: README,v 1.6 2009/04/29 14:17:03 sincerti Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,12 +16,10 @@ a. Centre d'Etudes Nucleaires de Bordeaux-Gradignan (CENBG), IN2P3 / CNRS / Bordeaux 1 University, 33175 Gradignan, France * e-mail:incerti@cenbg.in2p3.fr -Last modified by S. Incerti, 27/02/2007 - ---->0. INTRODUCTION. The microdosimetry example simulates the track of a 10 keV Helium+ (positive -charge is +e) particle in liquid water using only G4DNA processes. +charge is +e) particle in liquid water using only Geant4-DNA processes. ---->1. GEOMETRY SET-UP. @@ -84,20 +82,11 @@ To get visualization, make sure to uncomment the /vis/... lines in the macro. ---->4. PHYSICS -This example shows how to use the Geant4 DNA processes AND how to affect them a +This example shows how to use the Geant4-DNA processes AND how to affect them a name. Look at the PhyscisList.cc file. -Note that the G4CrossSectionElasticScreenedRutherford.cc is put in the src -directory with an increased (10 eV instead of 7 eV) lower limit of the model energy range to -avoid an energy region where electrons do not lose any energy and may undergo -elastic scattering without limit. - -Same remark for the G4CrossSectionExcitationEmfietzoglou.cc file whre the lower -limit has been set to 10 eV instead of 7.4 eV. - - ---->5. SIMULATION OUTPUT AND RESULT ANALYZIS This example does not need any external analysis package. @@ -112,6 +101,7 @@ file plot.C; to do so : * be sure to be in the microdosimetry directory * launch ROOT by typing root * under your ROOT session, type in : .X plot.C to execute the macro file +* alternatively you can type directly under your session : root plot.C The naming scheme on the displayed ROOT plots is as follows (see SteppingAction.cc): @@ -124,15 +114,25 @@ alpha+ : 5 helium : 6 -processes: -ElasticBrennerZaider : 11 -ElasticScreenedRutherford : 12 -ExcitationBorn : 13 -ExcitationEmfietzoglou : 14 -ExcitationMillerGreen : 15 -IonisationBorn : 16 -IonisationRudd : 17 -ChargeDecrease : 18 -ChargeIncrease : 19 +e-_G4DNAElastic : 11 +e-_G4DNAExcitation : 12 +e-_G4DNAIonisation : 13 +proton_G4DNAExcitation : 14 +proton_G4DNAIonisation : 15 +proton_G4DNAChargeDecrease : 16 +hydrogen_G4DNAIonisation : 17 +hydrogen_G4DNAChargeIncrease : 18 +alpha_G4DNAExcitation : 19 +alpha_G4DNAIonisation : 20 +alpha_G4DNAChargeDecrease : 21 +alpha+_G4DNAExcitation : 22 +alpha+_G4DNAIonisation : 23 +alpha+_G4DNAChargeDecrease : 24 +alpha+_G4DNAChargeIncrease : 25 +helium_G4DNAExcitation : 26 +helium_G4DNAIonisation : 27 +helium_G4DNAChargeIncrease : 28 + --------------------------------------------------------------------------- diff --git a/examples/advanced/microdosimetry/include/DetectorConstruction.hh b/examples/advanced/microdosimetry/include/DetectorConstruction.hh index e083bc1367..398767b630 100755 --- a/examples/advanced/microdosimetry/include/DetectorConstruction.hh +++ b/examples/advanced/microdosimetry/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: DetectorConstruction.hh,v 1.1 2008/06/04 12:58:24 sincerti Exp $ +// $Id: DetectorConstruction.hh,v 1.2 2009/08/13 11:41:04 sincerti Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -38,7 +38,7 @@ #include "G4Box.hh" #include "G4Sphere.hh" #include "G4Material.hh" - +#include "G4NistManager.hh" #include "G4PVPlacement.hh" #include "G4UserLimits.hh" #include "G4VisAttributes.hh" diff --git a/examples/advanced/microdosimetry/microdosimetry.out b/examples/advanced/microdosimetry/microdosimetry.out new file mode 100644 index 0000000000..a88cfe5a60 --- /dev/null +++ b/examples/advanced/microdosimetry/microdosimetry.out @@ -0,0 +1,162 @@ + + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + +************************************************************* + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) + Copyright : Geant4 Collaboration + Reference : NIM A 506 (2003), 250-303 + WWW : http://cern.ch/geant4 +************************************************************* + +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully registered the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + G4HepRep (HepRepXML) + G4HepRepFile (HepRepFile) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) + OpenGLImmediateX (OGLIX) + OpenGLStoredX (OGLSX) + +Registering model factories... + +You have successfully registered the following model factories. +Registered model factories: + generic + drawByCharge + drawByParticleID + drawByOriginVolume + drawByAttribute + +Registered filter factories: + chargeFilter + particleFilter + originVolumeFilter + attributeFilter + +PhysicsList::SetCuts:CutLength : 1 nm + +e-_G4DNAElastic: for e- SubType= 51 + Total cross sections computed from DNAChampionElasticModel model + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNAChampionElasticModel : Emin= 0 eV Emax= 10 MeV + +e-_G4DNAExcitation: for e- SubType= 51 + Total cross sections computed from DNAEmfietzoglouExcitationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNAEmfietzoglouExcitationModel : Emin= 0 eV Emax= 10 MeV + +e-_G4DNAIonisation: for e- SubType= 51 + Total cross sections computed from DNABornIonisationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNABornIonisationModel : Emin= 0 eV Emax= 1 MeV + +proton_G4DNAExcitation: for proton SubType= 51 + Total cross sections computed from DNAMillerGreenExcitationModel and DNABornExcitationModel models + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 500 keV +DNABornExcitationModel : Emin= 500 keV Emax= 10 MeV + +proton_G4DNAIonisation: for proton SubType= 51 + Total cross sections computed from DNARuddIonisationModel and DNABornIonisationModel models + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNARuddIonisationModel : Emin= 0 eV Emax= 500 keV +DNABornIonisationModel : Emin= 500 keV Emax= 10 MeV + +proton_G4DNAChargeDecrease: for proton SubType= 51 + Total cross sections computed from DNADingfelderChargeDecreaseModel model + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 10 MeV + +alpha_G4DNAExcitation: for alpha SubType= 51 + Total cross sections computed from DNAMillerGreenExcitationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 10 MeV + +alpha_G4DNAIonisation: for alpha SubType= 51 + Total cross sections computed from DNARuddIonisationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNARuddIonisationModel : Emin= 0 eV Emax= 10 MeV + +alpha_G4DNAChargeDecrease: for alpha SubType= 51 + Total cross sections computed from DNADingfelderChargeDecreaseModel model + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 10 MeV + +alpha+_G4DNAExcitation: for alpha+ SubType= 51 + Total cross sections computed from DNAMillerGreenExcitationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 10 MeV + +alpha+_G4DNAIonisation: for alpha+ SubType= 51 + Total cross sections computed from DNARuddIonisationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNARuddIonisationModel : Emin= 0 eV Emax= 10 MeV + +alpha+_G4DNAChargeDecrease: for alpha+ SubType= 51 + Total cross sections computed from DNADingfelderChargeDecreaseModel model + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNADingfelderChargeDecreaseModel : Emin= 0 eV Emax= 10 MeV + +alpha+_G4DNAChargeIncrease: for alpha+ SubType= 51 + Total cross sections computed from DNADingfelderChargeIncreaseModel model + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 10 MeV + +helium_G4DNAExcitation: for helium SubType= 51 + Total cross sections computed from DNAMillerGreenExcitationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNAMillerGreenExcitationModel : Emin= 0 eV Emax= 10 MeV + +helium_G4DNAIonisation: for helium SubType= 51 + Total cross sections computed from DNARuddIonisationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNARuddIonisationModel : Emin= 0 eV Emax= 10 MeV + +helium_G4DNAChargeIncrease: for helium SubType= 51 + Total cross sections computed from DNADingfelderChargeIncreaseModel model + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 10 MeV + +hydrogen_G4DNAIonisation: for hydrogen SubType= 51 + Total cross sections computed from DNARuddIonisationModel + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNARuddIonisationModel : Emin= 0 eV Emax= 100 MeV + +hydrogen_G4DNAChargeIncrease: for hydrogen SubType= 51 + Total cross sections computed from DNADingfelderChargeIncreaseModel model + ===== EM models for the G4Region DefaultRegionForTheWorld ====== +DNADingfelderChargeIncreaseModel : Emin= 0 eV Emax= 10 MeV + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : G4_WATER + Range cuts : gamma 1 nm e- 1 nm e+ 1 nm proton 1 nm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0.1 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + +G4VisManager: Using G4TrajectoryDrawByCharge as default trajectory model. +See commands in /vis/modeling/trajectories/ for other options. +Trajectory drawing configuration will be based on imode value of 50 +WARNING: G4VisManager::IsValidView(): Attempt to draw when no graphics system + has been instantiated. Use "/vis/open" or "/vis/sceneHandler/create". + Alternatively, to avoid this message, suppress instantiation of vis + manager (G4VisExecutive), possibly by setting G4VIS_NONE, and ensure + drawing code is executed only if G4VVisManager::GetConcreteInstance() + is non-zero. +Graphics systems deleted. +Visualization Manager deleting... + diff --git a/examples/advanced/microdosimetry/plot.C b/examples/advanced/microdosimetry/plot.C index 41df1c6b68..8e10cf3326 100755 --- a/examples/advanced/microdosimetry/plot.C +++ b/examples/advanced/microdosimetry/plot.C @@ -1,5 +1,5 @@ // ------------------------------------------------------------------- -// $Id: plot.C,v 1.2 2008/06/11 11:56:16 sincerti Exp $ +// $Id: plot.C,v 1.3 2009/04/29 14:17:03 sincerti Exp $ // ------------------------------------------------------------------- // // ********************************************************************* @@ -37,13 +37,15 @@ c1.cd(1); gStyle->SetOptStat(000000); ntuple->Draw("process",""); ntuple->SetFillColor(2); - ntuple->Draw("process","process==13||process==14||process==15","same"); + ntuple->Draw("process","process==12||process==14||process==19||process==22||process==26","same"); ntuple->SetFillColor(3); - ntuple->Draw("process","process==11||process==12","same"); + ntuple->Draw("process","process==11","same"); ntuple->SetFillColor(4); - ntuple->Draw("process","process==16||process==17","same"); + ntuple->Draw("process","process==13||process==15||process==17||process==20||process==23||process==27","same"); ntuple->SetFillColor(5); - ntuple->Draw("process","process==18||process==19","same"); + ntuple->Draw("process","process==16||process==21||process==24","same"); + ntuple->SetFillColor(6); + ntuple->Draw("process","process==18||process==25||process==28","same"); gPad->SetLogy(); htemp->GetXaxis()->SetLabelSize(0.025); @@ -55,19 +57,23 @@ c1.cd(1); htemp->GetYaxis()->SetTitleOffset(1.4); htemp->GetXaxis()->SetTitle("Process"); htemp->GetYaxis()->SetTitle(""); - htemp->SetTitle("G4DNA Processes"); + htemp->SetTitle("Geant4-DNA Processes"); c1.cd(2); ntuple->SetMarkerColor(1); ntuple->Draw("x:y:z/1000",""); + ntuple->SetMarkerColor(2); - ntuple->Draw("x:y:z/1000","process==13||process==14||process==15","same"); + ntuple->Draw("x:y:z/1000","process==12||process==14||process==19||process==22||process==26","same"); ntuple->SetMarkerColor(3); - ntuple->Draw("x:y:z/1000","process==11||process==12","same"); + ntuple->Draw("x:y:z/1000","process==11","same"); + ntuple->SetMarkerColor(4); - ntuple->Draw("x:y:z/1000","process==16||process==17","same"); + ntuple->Draw("x:y:z/1000","process==13||process==15||process==17||process==20||process==23||process==27","same"); ntuple->SetMarkerColor(5); - ntuple->Draw("x:y:z/1000","process==18||process==19","same"); + ntuple->Draw("x:y:z/1000","process==16||process==21||process==24","same"); + ntuple->SetMarkerColor(6); + ntuple->Draw("x:y:z/1000","process==18||process==25||process==28","same"); htemp->GetXaxis()->SetLabelSize(0.025); htemp->GetYaxis()->SetLabelSize(0.025); @@ -82,4 +88,5 @@ c1.cd(2); htemp->GetYaxis()->SetTitle("x (nanometer)"); htemp->GetZaxis()->SetTitle("y (nanometer)"); htemp->SetTitle("Track Structure in liquid water"); + } diff --git a/examples/advanced/microdosimetry/src/DetectorConstruction.cc b/examples/advanced/microdosimetry/src/DetectorConstruction.cc index f2d02059c9..101e47931d 100755 --- a/examples/advanced/microdosimetry/src/DetectorConstruction.cc +++ b/examples/advanced/microdosimetry/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: DetectorConstruction.cc,v 1.2 2008/12/18 12:56:20 gunter Exp $ +// $Id: DetectorConstruction.cc,v 1.3 2009/08/13 11:41:04 sincerti Exp $ // ------------------------------------------------------------------- #include "DetectorConstruction.hh" @@ -53,21 +53,11 @@ G4VPhysicalVolume* DetectorConstruction::Construct() void DetectorConstruction::DefineMaterials() { - G4String name, symbol; - G4double density; - - G4int ncomponents, natoms; - - // Elements - G4Element* H = new G4Element ("Hydrogen", "H", 1. , 1.01*g/mole); - G4Element* O = new G4Element ("Oxygen" , "O", 8. , 16.00*g/mole); - - // Water - density = 1.000*g/cm3; - G4Material* H2O = new G4Material(name="H2O" , density, ncomponents=2); - H2O->AddElement(H, natoms=2); - H2O->AddElement(O, natoms=1); - + + // Water is defined from NIST material database + G4NistManager * man = G4NistManager::Instance(); + G4Material * H2O = man->FindOrBuildMaterial("G4_WATER"); + // Default materials in setup. waterMaterial = H2O; diff --git a/examples/advanced/microdosimetry/src/PhysicsList.cc b/examples/advanced/microdosimetry/src/PhysicsList.cc index c586521ccc..6c211534b8 100755 --- a/examples/advanced/microdosimetry/src/PhysicsList.cc +++ b/examples/advanced/microdosimetry/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: PhysicsList.cc,v 1.3 2008/06/27 20:33:05 sincerti Exp $ +// $Id: PhysicsList.cc,v 1.6 2009/08/14 16:49:36 sincerti Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -89,6 +89,7 @@ void PhysicsList::ConstructBarions() // baryons G4Proton::ProtonDefinition(); G4AntiProton::AntiProtonDefinition(); + G4GenericIon::GenericIonDefinition(); // Geant4 DNA new particles G4DNAGenericIonsManager * genericIonsManager; @@ -110,83 +111,26 @@ void PhysicsList::ConstructProcess() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -#include "G4MultipleScattering.hh" -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" +// Geant4-DNA MODELS -#include "G4LowEnergyPhotoElectric.hh" -#include "G4LowEnergyCompton.hh" -#include "G4LowEnergyGammaConversion.hh" -#include "G4LowEnergyRayleigh.hh" +#include "G4DNAElastic.hh" +#include "G4DNAChampionElasticModel.hh" +#include "G4DNAScreenedRutherfordElasticModel.hh" -#include "G4LowEnergyIonisation.hh" -#include "G4LowEnergyBremsstrahlung.hh" +#include "G4DNAExcitation.hh" +#include "G4DNAEmfietzoglouExcitationModel.hh" +#include "G4DNAMillerGreenExcitationModel.hh" +#include "G4DNABornExcitationModel.hh" -#include "G4hLowEnergyIonisation.hh" -#include "G4StepLimiter.hh" +#include "G4DNAIonisation.hh" +#include "G4DNABornIonisationModel.hh" +#include "G4DNARuddIonisationModel.hh" -// Geant4 DNA header files - -#include "G4DNAGenericIonsManager.hh" -#include "G4FinalStateProduct.hh" -#include "G4DNAProcess.hh" - -#include "G4CrossSectionExcitationEmfietzoglou.hh" -#include "G4FinalStateExcitationEmfietzoglou.hh" - -#include "G4CrossSectionElasticScreenedRutherfordLE.hh" -#include "G4CrossSectionElasticScreenedRutherfordHE.hh" -#include "G4FinalStateElasticScreenedRutherford.hh" -#include "G4FinalStateElasticBrennerZaider.hh" - -#include "G4CrossSectionExcitationBorn.hh" -#include "G4FinalStateExcitationBorn.hh" - -#include "G4CrossSectionIonisationBorn.hh" -#include "G4FinalStateIonisationBorn.hh" - -#include "G4CrossSectionIonisationRudd.hh" -#include "G4FinalStateIonisationRudd.hh" - -#include "G4CrossSectionExcitationMillerGreen.hh" -#include "G4FinalStateExcitationMillerGreen.hh" - -#include "G4CrossSectionChargeDecrease.hh" -#include "G4FinalStateChargeDecrease.hh" - -#include "G4CrossSectionChargeIncrease.hh" -#include "G4FinalStateChargeIncrease.hh" - -// Processes definition - -typedef G4DNAProcess - ElasticScreenedRutherfordHE; - -typedef G4DNAProcess - ElasticScreenedRutherfordLE; - -typedef G4DNAProcess - ExcitationEmfietzoglou; - -typedef G4DNAProcess - ExcitationBorn; - -typedef G4DNAProcess - IonisationBorn; - -typedef G4DNAProcess - IonisationRudd; - -typedef G4DNAProcess - ExcitationMillerGreen; - -typedef G4DNAProcess - ChargeDecrease; - -typedef G4DNAProcess - ChargeIncrease; +#include "G4DNAChargeDecrease.hh" +#include "G4DNADingfelderChargeDecreaseModel.hh" +#include "G4DNAChargeIncrease.hh" +#include "G4DNADingfelderChargeIncreaseModel.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -203,39 +147,49 @@ void PhysicsList::ConstructEM() // DNA processes per particle type - if (particleName == "e-") { - pmanager->AddDiscreteProcess(new ExcitationEmfietzoglou("ExcitationEmfietzoglou")); - pmanager->AddDiscreteProcess(new ElasticScreenedRutherfordLE("ElasticScreenedRutherfordLE")); - pmanager->AddDiscreteProcess(new ElasticScreenedRutherfordHE("ElasticScreenedRutherfordHE")); - pmanager->AddDiscreteProcess(new IonisationBorn("IonisationBorn")); + if (particleName == "e-") { + G4DNAElastic* theDNAElasticProcess = new G4DNAElastic("e-_G4DNAElastic"); + theDNAElasticProcess->SetModel(new G4DNAChampionElasticModel()); + // or alternative model + // theDNAElasticProcess->SetModel(new G4DNAScreenedRutherfordElasticModel()); + pmanager->AddDiscreteProcess(theDNAElasticProcess); + + pmanager->AddDiscreteProcess(new G4DNAExcitation("e-_G4DNAExcitation")); + pmanager->AddDiscreteProcess(new G4DNAIonisation("e-_G4DNAIonisation")); + } else if ( particleName == "proton" ) { - pmanager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); - pmanager->AddDiscreteProcess(new ExcitationBorn("ExcitationBorn")); - pmanager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); - pmanager->AddDiscreteProcess(new IonisationBorn("IonisationBorn")); - pmanager->AddDiscreteProcess(new ChargeDecrease("ChargeDecrease")); + + pmanager->AddDiscreteProcess(new G4DNAExcitation("proton_G4DNAExcitation")); + pmanager->AddDiscreteProcess(new G4DNAIonisation("proton_G4DNAIonisation")); + pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("proton_G4DNAChargeDecrease")); } else if ( particleName == "hydrogen" ) { - pmanager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); - pmanager->AddDiscreteProcess(new ChargeIncrease("ChargeIncrease")); + + pmanager->AddDiscreteProcess(new G4DNAIonisation("hydrogen_G4DNAIonisation")); + pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("hydrogen_G4DNAChargeIncrease")); } else if ( particleName == "alpha" ) { - pmanager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); - pmanager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); - pmanager->AddDiscreteProcess(new ChargeDecrease("ChargeDecrease")); - + + pmanager->AddDiscreteProcess(new G4DNAExcitation("alpha_G4DNAExcitation")); + pmanager->AddDiscreteProcess(new G4DNAIonisation("alpha_G4DNAIonisation")); + pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("alpha_G4DNAChargeDecrease")); + } else if ( particleName == "alpha+" ) { - pmanager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); - pmanager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); - pmanager->AddDiscreteProcess(new ChargeDecrease("ChargeDecrease")); - pmanager->AddDiscreteProcess(new ChargeIncrease("ChargeIncrease")); - + + pmanager->AddDiscreteProcess(new G4DNAExcitation("alpha+_G4DNAExcitation")); + pmanager->AddDiscreteProcess(new G4DNAIonisation("alpha+_G4DNAIonisation")); + pmanager->AddDiscreteProcess(new G4DNAChargeDecrease("alpha+_G4DNAChargeDecrease")); + pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("alpha+_G4DNAChargeIncrease")); + } else if ( particleName == "helium" ) { - pmanager->AddDiscreteProcess(new ExcitationMillerGreen("ExcitationMillerGreen")); - pmanager->AddDiscreteProcess(new IonisationRudd("IonisationRudd")); - pmanager->AddDiscreteProcess(new ChargeIncrease("ChargeIncrease")); + + pmanager->AddDiscreteProcess(new G4DNAExcitation("helium_G4DNAExcitation")); + pmanager->AddDiscreteProcess(new G4DNAIonisation("helium_G4DNAIonisation")); + pmanager->AddDiscreteProcess(new G4DNAChargeIncrease("helium_G4DNAChargeIncrease")); + } + } // Loop on particles } diff --git a/examples/advanced/microdosimetry/src/SteppingAction.cc b/examples/advanced/microdosimetry/src/SteppingAction.cc index 48f37726cf..f8debf5d33 100755 --- a/examples/advanced/microdosimetry/src/SteppingAction.cc +++ b/examples/advanced/microdosimetry/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: SteppingAction.cc,v 1.2 2008/06/27 20:33:05 sincerti Exp $ +// $Id: SteppingAction.cc,v 1.3 2009/04/29 14:17:03 sincerti Exp $ // ------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -63,15 +63,24 @@ void SteppingAction::UserSteppingAction(const G4Step* s) if (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleName() == "alpha+") flagParticle = 5; if (s->GetTrack()->GetDynamicParticle()->GetDefinition() ->GetParticleName() == "helium") flagParticle = 6; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="ElasticScreenedRutherfordLE") flagProcess =11; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="ElasticScreenedRutherfordHE") flagProcess =12; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="ExcitationBorn") flagProcess =13; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="ExcitationEmfietzoglou") flagProcess =14; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="ExcitationMillerGreen") flagProcess =15; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="IonisationBorn") flagProcess =16; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="IonisationRudd") flagProcess =17; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="ChargeDecrease") flagProcess =18; - if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="ChargeIncrease") flagProcess =19; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="e-_G4DNAElastic") flagProcess =11; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="e-_G4DNAExcitation") flagProcess =12; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="e-_G4DNAIonisation") flagProcess =13; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="proton_G4DNAExcitation") flagProcess =14; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="proton_G4DNAIonisation") flagProcess =15; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="proton_G4DNAChargeDecrease") flagProcess =16; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="hydrogen_G4DNAIonisation") flagProcess =17; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="hydrogen_G4DNAChargeIncrease") flagProcess =18; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha_G4DNAExcitation") flagProcess =19; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha_G4DNAIonisation") flagProcess =20; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha_G4DNAChargeDecrease") flagProcess =21; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAExcitation") flagProcess =22; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAIonisation") flagProcess =23; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAChargeDecrease") flagProcess =24; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="alpha+_G4DNAChargeIncrease") flagProcess =25; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="helium_G4DNAExcitation") flagProcess =26; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="helium_G4DNAIonisation") flagProcess =27; + if (s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()=="helium_G4DNAChargeIncrease") flagProcess =28; if ( s->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName()!="initStep" diff --git a/examples/advanced/nanobeam/History b/examples/advanced/nanobeam/History index fb0b1f88f4..bc13b294d6 100644 --- a/examples/advanced/nanobeam/History +++ b/examples/advanced/nanobeam/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.4 2008/06/21 19:28:03 sincerti Exp $ +$Id: History,v 1.6 2009/03/02 16:49:14 gunter Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,12 @@ $Id: History,v 1.4 2008/06/21 19:28:03 sincerti Exp $ Package History file -------------------- +2-March 2009 - tag nanobeam-V09-02-01 - G.Folger +- correct for gcc4.3/slc5 warning + +26 February 2009 - tag nanobeam-V09-02-00 - G.Folger +- Correct TabulatedField3D.cc to use logical AND (&&) in few if() + 21 June 2008 - tag nanobeam-V09-01-11 - S. Incerti - several tags to try to resolve conflict with system testing diff --git a/examples/advanced/nanobeam/nanobeam.out b/examples/advanced/nanobeam/nanobeam.out index 66f1607eb3..9ebb2af2de 100644 --- a/examples/advanced/nanobeam/nanobeam.out +++ b/examples/advanced/nanobeam/nanobeam.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -19,6 +23,18 @@ ### NIST DataBase for Materials is used + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + PhysicsList::SetCuts:CutLength : 1 um ********************** **** CONFIGURATION *** @@ -33,89 +49,89 @@ PhysicsList::SetCuts:CutLength : 1 um phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.022 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Vacuum - Range cuts : gamma 1 um e- 1 um e+ 1 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 um e- 1 um e+ 1 um proton 1 um + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 eV Region(s) which use this couple : DefaultRegionForTheWorld @@ -217,3 +233,37 @@ Index : 0 used in the geometry : Yes recalculation needed : No -> Event= 32: X0(mm)= 0 X0(mm) = 0 Z0(m) = -8.87 THETA(mrad)= 0.09 PHI(mrad)= 0.09 E0(MeV)= 3.0003 =>IMAGE : X(microns)=1.7196770328417 Y(microns)=0.11880586487665 THETA(mrad)=5.8315814398783 PHI(mrad)=9.124902487762 + +===> NANOBEAM LINE INTRINSIC ABERRATION COEFFICIENTS (units of micrometer and mrad) : + += + -0.094690809344595 + += + -2071.1947571668 + += + 3270.7592243022 + += + 379.92859202148 + += + 64.763648771585 + += + -0.04083707092393 + += + -377.55010879544 + += + 243.05589696122 + += + 158.26722168363 + += + 101.40562696063 + + diff --git a/examples/advanced/nanobeam/src/TabulatedField3D.cc b/examples/advanced/nanobeam/src/TabulatedField3D.cc index 1c791f27d1..b8d5422009 100755 --- a/examples/advanced/nanobeam/src/TabulatedField3D.cc +++ b/examples/advanced/nanobeam/src/TabulatedField3D.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: TabulatedField3D.cc,v 1.2 2008/01/25 20:49:24 sincerti Exp $ +// $Id: TabulatedField3D.cc,v 1.4 2009/03/02 16:47:52 gunter Exp $ // ------------------------------------------------------------------- #include "TabulatedField3D.hh" @@ -289,12 +289,12 @@ if (model==1) G4double y = point[1]; G4double z = point[2]; - if (z>=-3770*mm & z<=-3670*mm) G0 = (gradient1/coef)* tesla/m; - if (z>=-3630*mm & z<=-3530*mm) G0 = (gradient2/coef)* tesla/m; + if (z>=-3770*mm && z<=-3670*mm) G0 = (gradient1/coef)* tesla/m; + if (z>=-3630*mm && z<=-3530*mm) G0 = (gradient2/coef)* tesla/m; - if (z>=-380*mm & z<=-280*mm) G0 = (gradient3/coef)* tesla/m; - if (z>=-240*mm & z<=-140*mm) G0 = (gradient4/coef)* tesla/m; - if (z>=-100*mm & z<=0*mm) G0 = (-gradient3/coef)* tesla/m; + if (z>=-380*mm && z<=-280*mm) G0 = (gradient3/coef)* tesla/m; + if (z>=-240*mm && z<=-140*mm) G0 = (gradient4/coef)* tesla/m; + if (z>=-100*mm && z<=0*mm) G0 = (-gradient3/coef)* tesla/m; Bx = y*G0; By = x*G0; @@ -344,7 +344,7 @@ if (model==3) double y = point[1]; double z = point[2]; - if ( z>=-3900*mm & z<-3470*mm || z>=-490*mm & z<100*mm ) + if ( (z>=-3900*mm && z<-3470*mm) || (z>=-490*mm && z<100*mm) ) { G4double Bx=0; G4double By=0; diff --git a/examples/advanced/purging_magnet/GNUmakefile b/examples/advanced/purging_magnet/GNUmakefile index 396eb5e7ee..2fb21bf30f 100644 --- a/examples/advanced/purging_magnet/GNUmakefile +++ b/examples/advanced/purging_magnet/GNUmakefile @@ -1,5 +1,5 @@ # -------------------------------------------------------------- -# $Id: GNUmakefile,v 1.1 2003/12/09 14:12:53 sussi Exp $ +# $Id: GNUmakefile,v 1.2 2009/03/06 09:28:28 gbarrand Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -18,9 +18,3 @@ all: lib bin include $(G4INSTALL)/config/binmake.gmk -ifdef G4ANALYSIS_USE - CPPFLAGS += `aida-config --include` - LDFLAGS += `aida-config --lib` - LOADLIBS += `aida-config --lib` -endif - diff --git a/examples/advanced/purging_magnet/History b/examples/advanced/purging_magnet/History index 2f89e74c2b..ffbaa3ee01 100644 --- a/examples/advanced/purging_magnet/History +++ b/examples/advanced/purging_magnet/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.8 2005/12/07 14:35:12 guatelli Exp $ +$Id: History,v 1.10 2009/04/08 10:23:31 cirrone Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,9 @@ $Id: History,v 1.8 2005/12/07 14:35:12 guatelli Exp $ Category History file --------------------- +06.04.2009 G.A.P.Cirrone (purtag-V09-02-00) +- GNUmakefile updated + 07.12.2005 Susanna Guatelli (purtag-V07-01-00) - The example compiles with CLHEP 2.0.2.2 - The method SetCutForOthers() is deleted because obsolete diff --git a/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh b/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh index a44d348bc5..457b7d7567 100644 --- a/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh +++ b/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh @@ -32,8 +32,8 @@ // * * // ************************************ // -// $Id: PurgMagAnalysisManager.hh,v 1.3 2006/06/29 16:05:49 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PurgMagAnalysisManager.hh,v 1.4 2009/04/08 10:23:31 cirrone Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #ifdef G4ANALYSIS_USE @@ -55,7 +55,7 @@ namespace AIDA class ITupleFactory; class ITuple; class ITreeFactory; -}; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class PurgMagAnalysisManager diff --git a/examples/advanced/radiation_monitor/.startup.mac b/examples/advanced/radiation_monitor/.startup.mac deleted file mode 100644 index 289b5c202a..0000000000 --- a/examples/advanced/radiation_monitor/.startup.mac +++ /dev/null @@ -1,8 +0,0 @@ -/control/execute macros/DefaultOptions.mac -/control/execute macros/DefaultPhysics.mac -/run/initialize -/control/execute macros/DefaultBeam.mac -/control/execute macros/DefaultMaterials.mac -#/control/execute macros/DefaultView.mac -/control/execute macros/DefaultGeometry.mac -/control/execute macros/DefaultAnalysis.mac diff --git a/examples/advanced/radiation_monitor/GNUmakefile b/examples/advanced/radiation_monitor/GNUmakefile deleted file mode 100644 index 89f95325d3..0000000000 --- a/examples/advanced/radiation_monitor/GNUmakefile +++ /dev/null @@ -1,52 +0,0 @@ -# $Id: GNUmakefile,v 1.6 2005/11/24 02:34:48 capra Exp $ -# -------------------------------------------------------------- -# GNUmakefile for examples with internal subpackages -# R. Capra, 09 Sep 2005 -# -------------------------------------------------------------- - -name := Radmon -G4TARGET := $(name) -G4EXLIB := true -SUBDIRS := userActions generalPurpose materials sensitivity detector physics generator - -ifdef G4ANALYSIS_USE - SUBDIRS += analysis -endif - -SUBDIRS += application - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -.PHONY: all bin makesub clean cleansub -all: makesub lib bin - -include $(G4INSTALL)/config/binmake.gmk - -ifdef G4ANALYSIS_USE - CPPFLAGS += `aida-config --include` - CPPFLAGS += -DG4ANALYSIS_USE - LDFLAGS += `aida-config --lib` - LOADLIBS += `aida-config --lib` -endif - -CPPFLAGS += -I./detector/include \ - -I./generalPurpose/include \ - -I./application/include - -makesub: - @for dir in $(SUBDIRS); do ( \ - echo Entering $$dir ... ; \ - cd $$dir; \ - $(MAKE) obj );\ - done - -clean:: cleansub - -cleansub: - @for dir in $(SUBDIRS); do ( \ - echo Entering $$dir ...; \ - cd $$dir; \ - $(MAKE) clean );\ - done diff --git a/examples/advanced/radiation_monitor/History b/examples/advanced/radiation_monitor/History deleted file mode 100644 index 7e77134431..0000000000 --- a/examples/advanced/radiation_monitor/History +++ /dev/null @@ -1,153 +0,0 @@ -$Id: History,v 1.16 2005/12/06 19:39:09 capra Exp $ -------------------------------------------------------------------- - - ========================================================= - Geant4 - an Object-Oriented Toolkit for Simulation in HEP - ========================================================= - - Category History file - --------------------- -This file should be used by G4 developers and category coordinators to -briefly summarize all major modifications introduced in the code and keep -track of all category-tags. -It DOES NOT substitute the CVS log-message one should put at every committal -in the CVS repository ! - - ---------------------------------------------------------- - * Reverse chronological order (last date on top), please * - ---------------------------------------------------------- - -06 Dec 2005 - radmon-V07-01-14 - R. Capra - Documentation extended README - file now covers all the aspects of the application - in great details. Small changes in RadmonApplication - and RadmonApplicationAnalysisSetup so that when - G4ANALYSIS_USE is not set, code builds without - analysis. RadmonPhysicsList changed in order to - manage particles changes present from tag - geant4-08-00-cand01. Stepping action added in order - to manage these changes. Errors present in - RadmonPhysicsHadronsBertini, RadmonPhysicsDecay, - RadmonPhysicsICRUIonization corrected. The error - present in RadmonPhysicsHadronsBertini caused the - application crash. The error present in - RadmonPhysicsDecay, RadmonPhysicsICRUIonization - caused a not true warning message appear. - -25 Nov 2005 - radmon-V07-01-13 - R. Capra - Introduced step limitations and - secondary production thresholds. Geometry materials - corrected. - - Code tested against materials overlapping - - Small corrections in RadmonPhysicsInoisationICRU and - RadmonPhysicsDecay - -25 Nov 2005 - radmon-V07-01-12 - R. Capra - Analysis framework completed - hadronic physics implemented. First analysis module - implemented. - -24 Nov 2005 - radmon-V07-01-11 - R. Capra - Development of the analysis - code. Framwork partially completed. Sensitive - detectors not linked to Geometry yet. - RadmonAnalysis methods have a dummy implementation. - Introduced changes are: - - Analysis code (partial) - - Tracks display - - Event/Run number dump - - Small corrections (grammar, comments) - - RadmonPhysicsList::OnLayoutChange behaviur changed - (better performances) - - Macros updated according to current developments - Code builds and runs. Analysis stuff still not - completely working. - -07 Nov 2005 - radmon-V07-01-10 - R. Capra - Development of the physics list - code. Framework completed and working. Insertion of - modular physics list in progress. Current physics - models are: - - Electron: EEDL, Standard - - Photon: EPDL, Standard - - Positron: Standard - - Muon+/-: Standard - - Tau+/-: Standard - - Neutron: Binary Cascade - - Decay for all short living particles - - Nuclear reactions of photons and e+/- on nuclei - - Small corrections to some primary generator - algorithms - Default macros for beam and physics defined - - Code builds, test in progress - -07 Nov 2005 - radmon-V07-01-09 - R. Capra - Development of the physics list - code: - - RadmonPhysicsDummyPhysicsList class removed - - Code builds, but not tested yet. Physics list still - to be implemented - -25 Oct 2005 - radmon-V07-01-08 - R. Capra - Development of the particle - generator according to the design: - - - Minor changes in the detector package. - - RadmonApplication has been splietted into classes - for management purposes and in order to improve - the compilation time and dependencies. - - Completely new generator package with a design - similar to the detector one. - - Code builds. Primary generator code not tested yet. - -24 Oct 2005 - radmon-V07-01-07 - R. Capra - Design iteration: classes: - - - RadmonVDetectorLayoutObserver - - RadmonVDetectorLayoutSubject - - RadmonDetectorLayoutEntityWithAttributes - - has been moved in generalPurpose package without the - Detector suffix. They will be used for the primary - generator too. - -30 Sep 2005 - radmon-V07-01-06 - R. Capra - Implementation according to the - design. The layer with pads needed for detectors - layout has been now implemented. - Macros to generate the real packaging geometry has - been provided. - -27 Sep 2005 - radmon-V07-01-05 - R. Capra - Implementation according to the - design. All the packaging layers are now - implemented. Trasparency support (alpha channel) - has been provided. - -21 Sep 2005 - radmon-V07-01-04 - R. Capra - Implementation according to the - design almost completed. Following functionality - added: - - Alpha channel support for attributes - - Carved geometry decorator - - Hole geometry decorator - -19 Sep 2005 - radmon-V07-01-03 - R. Capra - Implementation according to the - design in progress. Following functionality added: - - Materials creation through a messenger - - Geometry creation and update - - First Geometry constructor object created (Simple - box) - - Macros directory created - -14 Sep 2005 - radmon-V07-01-02 - R. Capra - Implementation according to the - design in progress. RadmonDetectorMessenger completed - and tested. Needs still some work on detector - construction and materials. The code runs. Creation - of the physics subpackage. This tag is only for - backup purposes - -12 Sep 2005 - radmon-V07-01-01 - R. Capra - Implementation according to the - design in progress. RadmonDetectorLayout completed - Needs still some work Messenger and detector - construction and materials . The code does not run - but should build. This tag is only for backup - purposes - -09 Sep 2005 - radmon-V07-01-00 - R. Capra - Internal subdirectories created - and GNUmakefile(s). Implementation according to the - design in progress. The code does not builds. - This tag is only for backup purposes diff --git a/examples/advanced/radiation_monitor/README b/examples/advanced/radiation_monitor/README deleted file mode 100644 index 66c2972467..0000000000 --- a/examples/advanced/radiation_monitor/README +++ /dev/null @@ -1,1360 +0,0 @@ - - ========================================================= - Geant4 - Radiation monitor example - ========================================================= - - README - --------------------- - -0. INTRODUCTION - -The Radiation monitor example derives from a Geant4 application whose scope -is to study of the effects of a chip carrier on silicon radiation monitoring -devices used in the LHC environment. Further details are available at the - - http://www.ge.infn.it/~geant4/hep/radmon - -website. - - - -1. HOW TO BUILD - -Run gmake from the - - $G4INSTALL/examples/advanced/radiation_monitor - -directory. The executable - - $G4WORKDIR/bin/Radmon - -will be built. - - If you set the environment variable G4VIS_USE, the geant4 visualisation -module will be build. - - If you set the environment variable G4ANALYSIS_USE, the analysis will be -built. Analysis module is based on AIDA 3.2.1 and was tested with PI 1.3.5. -Probably analysis will run also on previous AIDA versions, but it is no -garateed - - - -2. COMMAND LINE SYNTAX - -Run - - $G4WORKDIR/bin/Radmon -h - -for command line help. The following output will be printed out -_____________________________________________________________________________ - -Usage: Radmon [-h|-H|-?] [-b] [-v] [] - --h -H -? Usage help --b Force non-interactive mode --v Verbose output - Name of the macro to be run - -If ".startup.mac" is present, it will be run before anything else. -_____________________________________________________________________________ - --v options adds some extra messages during initialization phase. -At the end of initialization, .startup.mac file is run (if present) and then - is run (if specified on the command line). After having run these -two files, if -b option is omitted, the interactive session starts. - - - -3. USER INTERFACE - -Geometry, Materials, Physics, Beam type, Sensible volumes, Quantities to be -stored for the analysis are all defined interactively (or in macro files) -through the user interface. This allows a high level of flexibility in the -setup definition, without need to rebuild the code. Gemetry types, Physics -list, Beam types, Quantities to be stored for the analysis are all -modularired using abstract classes. If current modules satisfy your -requirements, you will not need to add code, but only to modify macro files -or insert commands interactively through command line. - -3.1 RADMON PROPRETARY UI COMMANDS - -The introduced user interface commands are: - -/radmon/application/EnableRunsDump -/radmon/application/DisableRunsDump -/radmon/application/DumpEventsEvery -/radmon/application/DisableEventsDump -/radmon/application/EnableTracksVisualisation -/radmon/application/DisableTracksVisualisation -/radmon/detectorFactory/Dump -/radmon/detector/EnableEnvironment -/radmon/detector/DisableEnvironment -/radmon/detector/SetEnvironmentType -/radmon/detector/SetEnvironmentAttribute -/radmon/detector/ClearEnvironmentAttribute -/radmon/detector/CreateMultilayer -/radmon/detector/RemoveMultilayer -/radmon/detector/SetMultilayerWidth -/radmon/detector/SetMultilayerHeight -/radmon/detector/AppendLayerToMultilayer -/radmon/detector/RemoveLayerFromMultilayer -/radmon/detector/RemoveAllLayersFromMultilayer -/radmon/detector/SetLayerThickness -/radmon/detector/SetLayerType -/radmon/detector/SetLayerAttribute -/radmon/detector/ClearLayerAttribute -/radmon/detector/CreatePlacement -/radmon/detector/RemovePlacement -/radmon/detector/SetPlacementPosition -/radmon/detector/SetPlacementRotation -/radmon/detector/SetRelativePlacementPosition -/radmon/detector/SetRelativePlacementRotation -/radmon/detector/DumpLayout -/radmon/detector/Load -/radmon/detector/Save -/radmon/materials/CreateElement -/radmon/materials/CreateMaterial -/radmon/materials/AddComponentByAtoms -/radmon/materials/AddComponentByFraction -/radmon/materials/SetMaterialColor -/radmon/materials/SetMaterialTrasparency -/radmon/materials/SetMaterialVisibility -/radmon/materials/SetMaterialStyle -/radmon/materials/Dump -/radmon/materials/Insert -/radmon/materials/Save -/radmon/subPhysicsListFactory/Dump -/radmon/physics/AddPhysicsList -/radmon/physics/RemovePhysicsList -/radmon/physics/SetPhysicsListAttribute -/radmon/physics/ClearPhysicsListAttribute -/radmon/physics/DumpLayout -/radmon/physics/Load -/radmon/physics/Save -/radmon/generatorsFactory/Dump -/radmon/generator/InsertSource -/radmon/generator/SetRelativeSourceIntensity -/radmon/generator/RemoveSource -/radmon/generator/AppendSourceAlgorithm -/radmon/generator/SetSourceAlgorithmType -/radmon/generator/RemoveSourceAlgorithm -/radmon/generator/SetSourceAlgorithmAttribute -/radmon/generator/ClearSourceAlgorithmAttribute -/radmon/generator/Load -/radmon/generator/Save -/radmon/generator/DumpLayout -/radmon/dataAnalysisFactory/Dump -/radmon/analysis/SetOutputFileName -/radmon/analysis/SetOutputFileFormat -/radmon/analysis/CreateSensitiveDetector -/radmon/analysis/SetSensitiveDetectorType -/radmon/analysis/RemoveSensitiveDetector -/radmon/analysis/CreateSensitiveDetectorType -/radmon/analysis/RemoveSensitiveDetectorType -/radmon/analysis/AppendDataAnalysisToSensitiveDetectorType -/radmon/analysis/SetDataAnalysisType -/radmon/analysis/RemoveDataAnalysis -/radmon/analysis/SetDataAnalysisAttribute -/radmon/analysis/ClearDataAnalysisAttribute -/radmon/analysis/DumpLayout -/radmon/analysis/Load -/radmon/analysis/Save - - Details of the commands will be given in each specific section. - - A common feature to all the code is the presence of 'attributes'. Each -module of geometry, physics, beam type, analysis can have specific -parameters that define its behaviour. These parameters are set through -'attributes'. Next sections will document for each implemented module, the required and optional -attributes, their meaning and their format. - - Everything in the Radmon application is case sensitive. - - - -4. APPLICATION - -Application commands sets the behaviour of helper user actions: - -Command: /radmon/application/EnableRunsDump -Parameters: [none] -Description: Enables the print out of the run number at the begin of the run - -Command: /radmon/application/DisableRunsDump -Parameters [none] -Description: Disables the print out of the run number - -Command: /radmon/application/DumpEventsEvery -Parameters [integer] -Description: Enables the print out of the event number at the beginning of - the event (1 out of events) - -Command: /radmon/application/DisableEventsDump -Parameters [none] -Description: Disables the print out of the event number - -Command: /radmon/application/EnableTracksVisualisation -Parameters [none] -Description: Enables the display of the tracks at the end of the run -Requires: G4VIS_USE environment variable at build time -See also: /vis/scene/endOfEventAction [Geant4 built-in UI command] - -Command: /radmon/application/DisableTracksVisualisation -Parameters [none] -Description: Disables the display of the tracks -Requires: G4VIS_USE environment variable at build time - - - -5. GEOMETRY - -Geometry is completely built interactively. Two concepts are available: - - - Environment - - Multi-layers - -5.1 ENVIRONMENT - -Defines the geometry in which "multi-layers" will be placed. The environment -defines the world volume and eventually other volumes that are not -"multi-layers" volumes. For example the "TestBeam" environment type -(currently not implemented) will define all the geometries of the test beam -except from the tested chips+packagings. - -Command: /radmon/detector/DisableEnvironment -Parameters: [none] -Description: Disables the usage of specific environments. The world volume - will be a sphere of RADMON_VACUUM (vacuum) large enough to contain - all the placed multi-layers - -Command: /radmon/detector/EnableEnvironment -Parameters: [none] -Description: Enables the usage of a specific environment. The enviroment is - defined through the next commands - -Command: /radmon/detector/SetEnvironmentType -Parameters: [string] -Description: Fix the environment type to the type . For a list of - available strings use /radmon/detectorFactory/Dump command -See also: /radmon/detectorFactory/Dump (Chapter 5.3) - -Command: /radmon/detector/SetEnvironmentAttribute -Parameters: [string], [string] -Description: Configure the selected environment type setting the attribute - to the value . Each environment type has its own - attributes. Attributes are detailed in Chapter 5.4 - -Command: /radmon/detector/ClearEnvironmentAttribute -Parameters: [string] -Description: Removes the attribute from the environment - configuration. - -5.2 MULTILAYERS - -Multilayers are wafer made up of different layers. Several multilayers can -be defined. A instance of a multilayer is called placed multilayer. A placed -multilayer has a position and a rotation relative to the world volume. More -placed multilayers can be instanced for each multilayer type. - -5.2.1 MULTILAYERS - -Command: /radmon/detector/CreateMultilayer -Parameters: [string] -Description: Creates a multilayer with name - -Command: /radmon/detector/RemoveMultilayer -Parameters: [string] -Description: If defined and without placed instances, removes the multilayer - named . If the multilayer has placed instances. You will - have to remove the placed instances with - /radmon/detector/RemovePlacement command. -See Also: /radmon/detector/RemovePlacement (Chapter 5.2.2) - -Command: /radmon/detector/SetMultilayerWidth -Parameters: [string], [length] -Description: Defines the multilayer width. the second argument is a space - separated string with a real number and a unit of length - -Command: /radmon/detector/SetMultilayerHeight -Parameters: [string], [length] -Description: Defines the multilayer height - -Command: /radmon/detector/AppendLayerToMultilayer -Parameters: [string], + + + + + + @@ -63,7 +65,7 @@ - + @@ -80,7 +82,7 @@ x4="10.0" alpha2="30.0"/> - + diff --git a/examples/extended/persistency/gdml/G02/History b/examples/extended/persistency/gdml/G02/History index 1bd6b01f69..d422639d5a 100644 --- a/examples/extended/persistency/gdml/G02/History +++ b/examples/extended/persistency/gdml/G02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2008/12/04 08:24:07 gcosmo Exp $ +$Id: History,v 1.6 2009/04/24 15:47:37 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +April 24th, 2009 Gabriele Cosmo - G02-V09-02-02 +- Added missing inclusion of headers after cleanup. + +February 5th, 2009 Gabriele Cosmo - G02-V09-02-01 +- Guarded usage of G4UITCSH with G4UI_USE_TCSH flag, to allow for compilation + on Windows. +- Added visualization properties for world volume in DetectorConstruction to + avoid run-time warning. + +January 23rd, 2009 Gabriele Cosmo - G02-V09-02-00 +- Corrected loading of default geometry with assembly, resolving some + overlaps introduced by mistake. + December 4th, 2008 Gabriele Cosmo - G02-V09-01-02 - Updated GDML file sample to point to new GDML schema location. diff --git a/examples/extended/persistency/gdml/G02/geotest.cc b/examples/extended/persistency/gdml/G02/geotest.cc index 463b2d3128..7f4e9581f8 100644 --- a/examples/extended/persistency/gdml/G02/geotest.cc +++ b/examples/extended/persistency/gdml/G02/geotest.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: geotest.cc,v 1.1 2008/08/27 10:30:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: geotest.cc,v 1.2 2009/02/04 15:54:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------- @@ -76,30 +76,39 @@ int main(int argc, char** argv) visManager->Initialize(); - // run initialisation macro + // Open a UI session: will stay there until the user types "exit" + // + G4UIsession* session = 0; - if ( argc==1 ) // Define UI session for interactive mode. + if ( argc==1 ) // Automatically run default macro for writing... { - // Open a tcsh session: will stay there until the user types "exit" - G4UIsession* session = new G4UIterminal(new G4UItcsh); +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif G4UImanager* UI = G4UImanager::GetUIpointer(); + UI->ApplyCommand("/control/execute vis.mac"); session->SessionStart(); - delete session; } - else // Batch mode + else // Provides macro in input { +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif G4String command = "/control/execute "; G4String fileName = argv[1]; - G4UIsession* session = new G4UIterminal(new G4UItcsh); G4UImanager* UI = G4UImanager::GetUIpointer(); UI->ApplyCommand(command+fileName); session->SessionStart(); - delete session; } + delete session; delete visManager; // Job termination diff --git a/examples/extended/persistency/gdml/G02/src/DetectorConstruction.cc b/examples/extended/persistency/gdml/G02/src/DetectorConstruction.cc index 3a49f6b791..a42eb97ed5 100644 --- a/examples/extended/persistency/gdml/G02/src/DetectorConstruction.cc +++ b/examples/extended/persistency/gdml/G02/src/DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: DetectorConstruction.cc,v 1.4 2008/12/18 12:57:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.cc,v 1.8 2009/04/24 15:47:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Class DetectorConstruction implementation // @@ -47,6 +47,7 @@ // #include "G4LogicalVolume.hh" #include "G4VPhysicalVolume.hh" +#include "G4PVParameterised.hh" #include "G4PVPlacement.hh" #include "G4Box.hh" #include "G4Tubs.hh" @@ -116,6 +117,12 @@ G4VPhysicalVolume* DetectorConstruction::Construct() { // **** LOOK HERE*** FOR READING GDML FILES // + + // ACTIVATING OVERLAP CHECK when read volumes are placed. + // Can take long time in case of complex geometries + // + // parser.SetOverlapCheck(true); + parser.Read(fReadFile); // READING GDML FILES OPTION: 2nd Boolean argument "Validate". @@ -211,6 +218,12 @@ G4VPhysicalVolume* DetectorConstruction::Construct() new G4PVPlacement(0, G4ThreeVector(10.0,0.0,0.0), LogicalVolST, "StepPhys", experimentalHallLV, false, 0); } + + // Set Visualization attributes to world + // + G4VisAttributes* BoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + fWorldPhysVol->GetLogicalVolume()->SetVisAttributes(BoxVisAtt); + return fWorldPhysVol; } @@ -473,7 +486,8 @@ G4LogicalVolume* DetectorConstruction::ConstructAssembly() new G4ReflectedSolid("Refll_Big", BigTube, transform); G4LogicalVolume * ReflBigLV = new G4LogicalVolume(ReflBig, Xenon, "ReflBigAl"); - + new G4PVPlacement(0, G4ThreeVector(0.,0.0,0.0), ReflBigLV, + "AlPhysBigTube", SmallBoxLV, false, 0); // // LOOK HERE FOR ASSEMBLY // @@ -481,7 +495,6 @@ G4LogicalVolume* DetectorConstruction::ConstructAssembly() // create Assembly of Boxes and Tubs // G4AssemblyVolume* assembly = new G4AssemblyVolume(); - G4AssemblyVolume* assemblyDaug = new G4AssemblyVolume(); G4RotationMatrix* rot = new G4RotationMatrix(); G4ThreeVector posBig(-bigPlace, 0, 0); G4ThreeVector posBig0(bigPlace/4, 0, 0); @@ -496,15 +509,7 @@ G4LogicalVolume* DetectorConstruction::ConstructAssembly() // Add to Assembly the Small Box // assembly->AddPlacedVolume(SmallBoxLV, posMed, rot); - - // Add to AssemblyDaug BigTub - // - assemblyDaug->AddPlacedVolume(ReflBigLV, position, rot); - - // Add AssemblyDaug to the Assembly - // - assembly->AddPlacedAssembly(assemblyDaug, posMed, rot); - + // Place the Assembly // assembly->MakeImprint(BigBoxLV, posBig0, rot, 0); diff --git a/examples/extended/persistency/gdml/G02/test.gdml b/examples/extended/persistency/gdml/G02/test.gdml index 87d228e85b..252db7c117 100644 --- a/examples/extended/persistency/gdml/G02/test.gdml +++ b/examples/extended/persistency/gdml/G02/test.gdml @@ -4,258 +4,248 @@ - + - + - + - + - + - - + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - + + + - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + - - - + + + + + + + - - - + + + + + + + + + + + - + - - + + - - + + - - + + - - + + - - + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - + diff --git a/examples/extended/persistency/gdml/G03/GNUmakefile b/examples/extended/persistency/gdml/G03/GNUmakefile index 704257e3be..9f8a5517c2 100644 --- a/examples/extended/persistency/gdml/G03/GNUmakefile +++ b/examples/extended/persistency/gdml/G03/GNUmakefile @@ -1,9 +1,9 @@ -# $Id: GNUmakefile,v 1.1 2008/11/20 15:41:53 gcosmo Exp $ +# $Id: GNUmakefile,v 1.2 2009/04/15 13:26:26 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- -name := read_ext +name := gdml_ext G4TARGET := $(name) G4EXLIB := true diff --git a/examples/extended/persistency/gdml/G03/History b/examples/extended/persistency/gdml/G03/History index 130ca7ddb8..6a20c4b4ac 100644 --- a/examples/extended/persistency/gdml/G03/History +++ b/examples/extended/persistency/gdml/G03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.2 2008/12/04 08:27:02 gcosmo Exp $ +$Id: History,v 1.4 2009/04/24 15:54:39 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,15 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +April 24th, 2009 Gabriele Cosmo - G03-V09-02-01 +- Added missing inclusion of headers after cleanup. + +April 15th, 2009 Gabriele Cosmo - G03-V09-02-00 +- Extended example to show also capability to write extended schema; + Added custom writer class. Requires the related developments in the kernel + GDML library plugin. +- Renamed translation unit for main to "gdml_ext.cc". + December 4th, 2008 Gabriele Cosmo - G03-V09-01-01 - Updated GDML schema file sample to point to new GDML schema location. diff --git a/examples/extended/persistency/gdml/G03/README b/examples/extended/persistency/gdml/G03/README index a81cdcb1c6..14659dc31e 100644 --- a/examples/extended/persistency/gdml/G03/README +++ b/examples/extended/persistency/gdml/G03/README @@ -1,11 +1,12 @@ -$Id: README,v 1.1 2008/11/20 15:41:53 gcosmo Exp $ +$Id: README,v 1.2 2009/04/15 13:26:26 gcosmo Exp $ ------------------------------------------------------------------- - Example of use GDML extension and associated reader - ----------------------------------------------------------- + Example of definition of a GDML extension with associated reader and writer + --------------------------------------------------------------------------- In this directory you can find an example showing how to extend the GDML - schema and plug-in a custom reader to the system for handling the extension. + schema and plug-in a custom reader and writer to the system for handling + the extension. For more information, please, refer to the GDML Documentation. The Geometry is a Simple Box to which it is assigned a color as @@ -31,6 +32,8 @@ $Id: README,v 1.1 2008/11/20 15:41:53 gcosmo Exp $ - Compile and link to generate the executable: % gmake - - Execute the application: - % read_ext [macro-file.mac] + - Execute the application for reading and visualizing the setup: + % gdml_ext read_ext.mac + - Execute the application for also writing the setup: + % gdml_ext [write_ext.mac] diff --git a/examples/extended/persistency/gdml/G03/read_ext.cc b/examples/extended/persistency/gdml/G03/gdml_ext.cc similarity index 97% rename from examples/extended/persistency/gdml/G03/read_ext.cc rename to examples/extended/persistency/gdml/G03/gdml_ext.cc index e56324b0df..09c4280356 100644 --- a/examples/extended/persistency/gdml/G03/read_ext.cc +++ b/examples/extended/persistency/gdml/G03/gdml_ext.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: read_ext.cc,v 1.1 2008/11/20 15:41:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: gdml_ext.cc,v 1.1 2009/04/15 13:26:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/persistency/gdml/G03/include/ColorReader.hh b/examples/extended/persistency/gdml/G03/include/ColorReader.hh index 3bf4ba59ba..9d76924bc5 100644 --- a/examples/extended/persistency/gdml/G03/include/ColorReader.hh +++ b/examples/extended/persistency/gdml/G03/include/ColorReader.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ColorReader.hh,v 1.1 2008/11/20 15:41:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ColorReader.hh,v 1.3 2009/04/24 15:54:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class ColorReader @@ -39,11 +39,16 @@ #include #include "G4GDMLReadStructure.hh" +class G4VisAttributes; + class ColorReader : public G4GDMLReadStructure { public: + ColorReader(); + ~ColorReader(); + void ExtensionRead(const xercesc::DOMElement* const element); void ColorRead(const xercesc::DOMElement* const element); diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraTally.hh b/examples/extended/persistency/gdml/G03/include/ColorWriter.hh similarity index 68% rename from examples/advanced/Tiara/source/tiara/include/TiaraTally.hh rename to examples/extended/persistency/gdml/G03/include/ColorWriter.hh index 919ce33b11..addcd09436 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraTally.hh +++ b/examples/extended/persistency/gdml/G03/include/ColorWriter.hh @@ -23,42 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TiaraTally.hh,v 1.5 2006/06/29 15:44:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ // -// ---------------------------------------------------------------------- +// $Id: ColorWriter.hh,v 1.2 2009/04/24 15:54:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // -// Class TiaraTally // +// class ColorWriter +// +// Custom writer for handling "color" tags extensions in GDML. +// ------------------------------------------------------------------------- + +#ifndef ColorWriter_H +#define ColorWriter_H 1 -#ifndef TiaraTally_hh -#define TiaraTally_hh TiaraTally_hh -#include "TiaraMeasure.hh" #include -#include +#include "G4GDMLWriteStructure.hh" +class G4LogicalVolume; +class G4VisAttributes; -typedef std::map > TiaraTallyData; +class ColorWriter : public G4GDMLWriteStructure +{ -class TiaraTally{ -public: - TiaraTally(); - ~TiaraTally(); - - void setBinEdges(const std::vector & binEdges); - void fill(G4double x, G4double w); - void EndOfEventAction(); - TiaraMeasure measure(G4int i); - std::vector binEdges(); - G4int size(); + public: -private: - std::vector fBinEdges; - G4double fLowestEdge; - TiaraTallyData fMapHighEdgeToMeasure; - - + ColorWriter(); + ~ColorWriter(); + void AddExtension(xercesc::DOMElement* volumeElement, + const G4LogicalVolume* const vol); + void ExtensionWrite(xercesc::DOMElement* element); + void ColorWrite(xercesc::DOMElement* volumeElement, + const G4VisAttributes* const att); + + G4bool BookAttribute(const G4VisAttributes* const att); + + private: + + std::vector attribs; }; #endif diff --git a/examples/extended/persistency/gdml/G03/include/DetectorConstruction.hh b/examples/extended/persistency/gdml/G03/include/DetectorConstruction.hh index 7cec3df8fe..6fec41a722 100644 --- a/examples/extended/persistency/gdml/G03/include/DetectorConstruction.hh +++ b/examples/extended/persistency/gdml/G03/include/DetectorConstruction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: DetectorConstruction.hh,v 1.1 2008/11/20 15:41:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.hh,v 1.2 2009/04/15 13:26:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Class DetectorConstruction // @@ -36,15 +36,11 @@ #ifndef DetectorConstruction_H #define DetectorConstruction_H 1 - -#include "G4VUserDetectorConstruction.hh" - -#include "G4Material.hh" - #include "globals.hh" - +#include "G4VUserDetectorConstruction.hh" #include "G4GDMLParser.hh" +class G4Material; class DetectorMessenger; // ---------------------------------------------------------------------------- @@ -66,9 +62,10 @@ class DetectorConstruction : public G4VUserDetectorConstruction // void ListOfMaterials(); - // Reading GDML + // Reading/writing GDML // - void SetReadFile( const G4String& File ); + void SetReadFile( const G4String& fname ); + void SetWriteFile( const G4String& fname ); private: @@ -81,14 +78,19 @@ class DetectorConstruction : public G4VUserDetectorConstruction // G4GDMLReadStructure* reader; + // Extended writer + // + G4GDMLWriteStructure* writer; + // GDMLparser // G4GDMLParser* parser; - // Reading Settings + // Read/write Settings // - G4String fReadFile; - + G4String fReadFile, fWriteFile; + G4bool writingChoice; + // Detector Messenger // DetectorMessenger* detectorMessenger; diff --git a/examples/extended/persistency/gdml/G03/include/DetectorMessenger.hh b/examples/extended/persistency/gdml/G03/include/DetectorMessenger.hh index 949224d181..416b5ad95f 100644 --- a/examples/extended/persistency/gdml/G03/include/DetectorMessenger.hh +++ b/examples/extended/persistency/gdml/G03/include/DetectorMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: DetectorMessenger.hh,v 1.1 2008/11/20 15:41:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.hh,v 1.2 2009/04/15 13:26:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Class DetectorMessenger // @@ -57,9 +57,9 @@ class DetectorMessenger: public G4UImessenger private: - DetectorConstruction* theDetector; - G4UIdirectory* theDetectorDir; - G4UIcmdWithAString* theReadCommand; + DetectorConstruction *theDetector; + G4UIdirectory *theDetectorDir; + G4UIcmdWithAString *theReadCommand, *theWriteCommand; }; // ---------------------------------------------------------------------------- diff --git a/examples/extended/persistency/gdml/G03/read_ext.mac b/examples/extended/persistency/gdml/G03/read_ext.mac index 3c47736b8d..6bc70faf84 100644 --- a/examples/extended/persistency/gdml/G03/read_ext.mac +++ b/examples/extended/persistency/gdml/G03/read_ext.mac @@ -6,7 +6,7 @@ /vis/scene/create # reading extended GDML Geometry from file -/mydet/readFile colour_extension.gdml +/mydet/readFile color_extension.gdml /run/initialize # Create a scene handler for a specific graphics system diff --git a/examples/extended/persistency/gdml/G03/src/ColorReader.cc b/examples/extended/persistency/gdml/G03/src/ColorReader.cc index 37fd84ef94..e01a5ec3f2 100644 --- a/examples/extended/persistency/gdml/G03/src/ColorReader.cc +++ b/examples/extended/persistency/gdml/G03/src/ColorReader.cc @@ -23,13 +23,28 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: ColorReader.cc,v 1.2 2008/11/20 16:29:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ColorReader.cc,v 1.4 2009/04/24 15:54:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // -------------------------------------------------------------------- #include "ColorReader.hh" +#include "G4LogicalVolume.hh" +#include "G4VisAttributes.hh" + +ColorReader::ColorReader() + : G4GDMLReadStructure() +{ +} + +ColorReader::~ColorReader() +{ + std::map::iterator pos; + for (pos=attribs.begin(); pos!=attribs.end(); pos++) + { delete pos->second; } +} + void ColorReader::ExtensionRead(const xercesc::DOMElement* const extElement) { G4cout << "G4GDML: Reading GDML extension..." << G4endl; diff --git a/examples/extended/persistency/gdml/G03/src/ColorWriter.cc b/examples/extended/persistency/gdml/G03/src/ColorWriter.cc new file mode 100644 index 0000000000..417209f263 --- /dev/null +++ b/examples/extended/persistency/gdml/G03/src/ColorWriter.cc @@ -0,0 +1,101 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: ColorWriter.cc,v 1.2 2009/04/24 15:54:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// -------------------------------------------------------------------- + +#include "ColorWriter.hh" + +#include "G4LogicalVolume.hh" +#include "G4VisAttributes.hh" + +ColorWriter::ColorWriter() + : G4GDMLWriteStructure() +{ +} + +ColorWriter::~ColorWriter() +{ +} + +void ColorWriter::AddExtension(xercesc::DOMElement* volumeElement, + const G4LogicalVolume* const vol) +{ + const G4VisAttributes* vis = vol->GetVisAttributes(); + if (vis) { ColorWrite(volumeElement, vis); } +} + +void ColorWriter::ExtensionWrite(xercesc::DOMElement* element) +{ + G4cout << "G4GDML: Writing GDML extension..." << G4endl; + + // Mandatory calls the -first- time an extension is created + // + extElement = NewElement("extension"); + element->appendChild(extElement); +} + +void ColorWriter::ColorWrite(xercesc::DOMElement* volumeElement, + const G4VisAttributes* const att) +{ + G4bool book = BookAttribute(att); + G4Color color = att->GetColor(); + + const G4String& name = GenerateName("test_color", att); + G4double r=color.GetRed(), g=color.GetGreen(), + b=color.GetBlue(), a=color.GetAlpha(); + + if (book) + { + xercesc::DOMElement* colElement = NewElement("color"); + colElement->setAttributeNode(NewAttribute("name",name)); + colElement->setAttributeNode(NewAttribute("R",r)); + colElement->setAttributeNode(NewAttribute("G",g)); + colElement->setAttributeNode(NewAttribute("B",b)); + colElement->setAttributeNode(NewAttribute("A",a)); + extElement->appendChild(colElement); + } + + xercesc::DOMElement* colorrefElement = NewElement("colorref"); + colorrefElement->setAttributeNode(NewAttribute("ref",name)); + volumeElement->appendChild(colorrefElement); + + G4cout << "Written color attribute (R,G,B,A) is: " + << r << ", " << g << ", " << b << ", " << a << " !" << G4endl; +} + +G4bool ColorWriter::BookAttribute(const G4VisAttributes* const ref) +{ + G4bool booking = true; + std::vector::const_iterator pos = + std::find(attribs.begin(), attribs.end(), ref); + + if (pos != attribs.end()) { booking = false; } + else { attribs.push_back(ref); } + + return booking; +} diff --git a/examples/extended/persistency/gdml/G03/src/DetectorConstruction.cc b/examples/extended/persistency/gdml/G03/src/DetectorConstruction.cc index 40703d3dfe..c08eeedd84 100644 --- a/examples/extended/persistency/gdml/G03/src/DetectorConstruction.cc +++ b/examples/extended/persistency/gdml/G03/src/DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: DetectorConstruction.cc,v 1.2 2008/12/18 12:57:12 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorConstruction.cc,v 1.3 2009/04/15 13:26:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Class DetectorConstruction implementation // @@ -43,10 +43,14 @@ // #include "DetectorMessenger.hh" -// Color extension include +// Color extension include for reading // #include "ColorReader.hh" +// Color extension include for writing +// +#include "ColorWriter.hh" + // ---------------------------------------------------------------------------- // // Constructor @@ -54,12 +58,15 @@ DetectorConstruction::DetectorConstruction() : Air(0), Aluminum(0), Pb(0), Xenon(0) { - fReadFile ="color_extension.gdml"; + fReadFile = "color_extension.gdml"; + fWriteFile = "color_extension_test.gdml"; + writingChoice = 1; detectorMessenger = new DetectorMessenger( this ); reader = new ColorReader; - parser = new G4GDMLParser(reader); + writer = new ColorWriter; + parser = new G4GDMLParser(reader, writer); } // ---------------------------------------------------------------------------- @@ -70,6 +77,7 @@ DetectorConstruction::~DetectorConstruction() { delete detectorMessenger; delete reader; + delete writer; delete parser; } @@ -91,11 +99,17 @@ G4VPhysicalVolume* DetectorConstruction::Construct() // Prints the material information // G4cout << *(G4Material::GetMaterialTable() ) << G4endl; - + // Giving World Physical Volume from GDML Parser // fWorldPhysVol = parser->GetWorldVolume(); + if(writingChoice!=0) + { + parser->Write(fWriteFile, fWorldPhysVol, true, + "./SimpleExtensionSchema/SimpleExtension.xsd"); + } + return fWorldPhysVol; } @@ -160,7 +174,18 @@ void DetectorConstruction::ListOfMaterials() // // SetReadFile // -void DetectorConstruction::SetReadFile( const G4String& File ) +void DetectorConstruction::SetReadFile( const G4String& fname ) { - fReadFile=File; + fReadFile=fname; + writingChoice=0; +} + +// ---------------------------------------------------------------------------- +// +// SetWriteFile +// +void DetectorConstruction::SetWriteFile( const G4String& fname ) +{ + fWriteFile=fname; + writingChoice=1; } diff --git a/examples/extended/persistency/gdml/G03/src/DetectorMessenger.cc b/examples/extended/persistency/gdml/G03/src/DetectorMessenger.cc index 0b8c3572c3..f39d5595e4 100644 --- a/examples/extended/persistency/gdml/G03/src/DetectorMessenger.cc +++ b/examples/extended/persistency/gdml/G03/src/DetectorMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: DetectorMessenger.cc,v 1.2 2008/12/18 12:57:14 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: DetectorMessenger.cc,v 1.3 2009/04/15 13:26:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Class DetectorMessenger implementation // @@ -51,6 +51,12 @@ DetectorMessenger::DetectorMessenger( DetectorConstruction* myDet ) theReadCommand ->SetParameterName("FileRead", false); theReadCommand ->SetDefaultValue("color_extension.gdml"); theReadCommand ->AvailableForStates(G4State_PreInit); + + theWriteCommand = new G4UIcmdWithAString("/mydet/writeFile", this); + theWriteCommand ->SetGuidance("WRITE GDML file with given name"); + theWriteCommand ->SetParameterName("FileWrite", false); + theWriteCommand ->SetDefaultValue("color_extension_test.gdml"); + theWriteCommand ->AvailableForStates(G4State_PreInit); } // ---------------------------------------------------------------------------- @@ -58,6 +64,7 @@ DetectorMessenger::DetectorMessenger( DetectorConstruction* myDet ) DetectorMessenger::~DetectorMessenger() { delete theReadCommand; + delete theWriteCommand; delete theDetectorDir; } @@ -67,6 +74,10 @@ void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { if ( command == theReadCommand ) { - theDetector->SetReadFile(newValue ); + theDetector->SetReadFile(newValue); + } + if ( command == theWriteCommand ) + { + theDetector->SetWriteFile(newValue); } } diff --git a/examples/extended/persistency/gdml/G03/write_ext.mac b/examples/extended/persistency/gdml/G03/write_ext.mac new file mode 100644 index 0000000000..3ba6799c50 --- /dev/null +++ b/examples/extended/persistency/gdml/G03/write_ext.mac @@ -0,0 +1,39 @@ +################################################### +# Visualization of detector geometry and events +################################################### + +# create empty scene +/vis/scene/create + +# reading extended GDML Geometry from file +/mydet/writeFile color_extension_test.gdml +/run/initialize + +# Create a scene handler for a specific graphics system +/vis/open OGLIX + +# draw scene +/vis/viewer/zoom 1.5 +#/vis/viewer/set/viewpointThetaPhi 45 45 deg +#/vis/viewer/set/viewpointThetaPhi 90 -25 deg +#/vis/viewer/flush +/vis/drawVolume + +#if you want to see trajectories and hits points +/vis/scene/add/trajectories +/vis/modeling/trajectories/create/drawByCharge +/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true +/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 5 + +# (if you prefer not refreshing each event, uncomment next line) + /vis/scene/endOfEventAction accumulate + +#hard coded position and direction for gun +/gun/position 0 0 -0.1 mm +/gun/direction 1 0 0 + +#if you want make a run with particle +#/tracking/verbose 1 +/run/beamOn 10 +# + diff --git a/examples/extended/polarisation/Pol01/History b/examples/extended/polarisation/Pol01/History index b8435b6941..03f99a98b7 100644 --- a/examples/extended/polarisation/Pol01/History +++ b/examples/extended/polarisation/Pol01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.8 2008/06/11 17:24:26 schaelic Exp $ +$Id: History,v 1.9 2009/11/21 16:27:40 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,8 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +20-11-09 V.Ivanchenko (expol01-V09-02-00) +- Update msc processes according to 9.3 scheme 11-06-08 A.Schaelicke (expol01-V09-01-00) - removed obsolete aida-setup in GNUmakefile diff --git a/examples/extended/polarisation/Pol01/pol01.out b/examples/extended/polarisation/Pol01/pol01.out index 0a9046d1cd..db15f409d7 100644 --- a/examples/extended/polarisation/Pol01/pol01.out +++ b/examples/extended/polarisation/Pol01/pol01.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -22,6 +26,7 @@ userDetector->Construct() start. World is registered to the default region. physicsList->Construct() start. physicsList->Construct() start. +physicsList->CheckParticleList() start. physicsList->setCut() start. # /polarization/manager/verbose 1 @@ -46,7 +51,7 @@ pol-phot: for gamma SubType= 12 Total cross sections from Sandia parametrisation. Sampling according Polarized-PhotoElectric model ===== EM models for the G4Region DefaultRegionForTheWorld ====== -Polarized-PhotoElectric : Emin= 0 eV Emax= 100 TeV +Polarized-PhotoElectric : Emin= 0 eV Emax= 10 TeV pol-compt: for gamma SubType= 13 Lambda tables from 100 eV to 100 GeV in 90 bins, spline: 1 @@ -63,10 +68,10 @@ pol-conv: for gamma SubType= 14 polConv : Emin= 0 eV Emax= 100 GeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV pol-eIoni: for e- SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 120 bins @@ -77,10 +82,10 @@ pol-eIoni: for e- SubType= 2 PolarizedMollerBhabha : Emin= 0 eV Emax= 100 TeV pol-eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PolBrem : Emin= 0 eV Emax= 100 TeV + PolBrem : Emin= 0 eV Emax= 10 TeV pol-eIoni: for e+ SubType= 2 dE/dx and range tables from 100 eV to 100 TeV in 120 bins @@ -91,10 +96,10 @@ pol-eIoni: for e+ SubType= 2 PolarizedMollerBhabha : Emin= 0 eV Emax= 100 TeV pol-eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PolBrem : Emin= 0 eV Emax= 100 TeV + PolBrem : Emin= 0 eV Emax= 10 TeV pol-annihil: for e+ SubType= 5 Lambda tables from 100 eV to 100 TeV in 120 bins, spline: 1 @@ -113,21 +118,21 @@ Region -- appears in world volume Root logical volume(s) : World Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : G4_Galactic G4_Fe - Production cuts : gamma 100 um e- 100 um e+ 100 um + Production cuts : gamma 100 um e- 100 um e+ 100 um proton 0 fm ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : G4_Galactic - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton -1 MeV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : G4_Fe - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 6.25836 keV e- 234.109 keV e+ 228.416 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 0 fm + Energy thresholds : gamma 6.28375 keV e- 235.116 keV e+ 228.88 keV proton -1 MeV Region(s) which use this couple : DefaultRegionForTheWorld @@ -147,39 +152,39 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=0.36s Real=0.36s Sys=0s + User=0.23s Real=0.23s Sys=0s The run consists of 10000 gamma of 10 MeV through 1.75 mm of G4_Fe (density: 7.874 g/cm3 ) --------- Ranlux engine status --------- Initial seed = 9876 - float_seed_table[] = 0.811133 0.670786 0.419067 0.31915 0.637175 0.314616 0.255555 0.941604 0.869501 0.40014 0.576243 0.459917 0.406934 0.398763 0.759094 0.125266 0.325534 0.0675368 0.0205697 0.514129 0.216193 0.204895 0.0710009 0.690242 - i_lag = 2, j_lag = 12 - carry = 0, count24 = 1 + float_seed_table[] = 0.327186 0.406724 0.440079 0.769111 0.803129 0.366524 0.0286527 0.0578583 0.622567 0.140711 0.992686 0.361992 0.837692 0.198571 0.710228 0.679671 0.88341 0.910976 0.584298 0.661074 0.244239 0.0382392 0.626088 0.336393 + i_lag = 10, j_lag = 20 + carry = 5.96046e-08, count24 = 14 luxury = 3 nskip = 199 ---------------------------------------- Process calls frequency ---> - Transportation = 31070 - pol-compt = 253 - msc = 3246 - pol-eBrem = 314 - pol-conv = 189 - pol-eIoni = 538 - pol-phot = 145 - pol-annihil = 65 + Transportation = 31248 + pol-compt = 283 + pol-eBrem = 383 + msc = 2968 + pol-conv = 201 + pol-phot = 174 + pol-eIoni = 584 + pol-annihil = 60 Gamma: -Mean Number per Event :1.01 -Mean Energy :9.5971 MeV +- 1.8649 MeV -Mean Polarization :-0.96592 +- 0.17829 +Mean Number per Event :1.0115 +Mean Energy :9.5556 MeV +- 1.9431 MeV +Mean Polarization :-0.96279 +- 0.18598 Electron: -Mean Number per Event :0.031 -Mean Energy :5.3462 MeV +- 2.4873 MeV -Mean Polarization :-0.74389 +- 0.27751 +Mean Number per Event :0.0363 +Mean Energy :4.9456 MeV +- 2.608 MeV +Mean Polarization :-0.702 +- 0.30913 Positron: -Mean Number per Event :0.0125 -Mean Energy :4.3364 MeV +- 1.9514 MeV -Mean Polarization :-0.63862 +- 0.29018 +Mean Number per Event :0.0146 +Mean Energy :4.1287 MeV +- 2.1373 MeV +Mean Polarization :-0.59393 +- 0.3522 # UserDetectorConstruction deleted. UserPhysicsList deleted. @@ -192,3 +197,4 @@ Units table cleared. StateManager deleted. RunManagerKernel is deleted. RunManager is deleting. + diff --git a/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc b/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc index a073bfa18e..56228525dc 100644 --- a/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc +++ b/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmPolarized.cc,v 1.2 2007/11/01 17:34:53 schaelic Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmPolarized.cc,v 1.3 2009/11/21 16:27:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -38,7 +38,7 @@ #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -82,13 +82,13 @@ void PhysListEmPolarized::ConstructProcess() } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4MultipleScattering, -1,1,1); - pmanager->AddProcess(new G4ePolarizedIonisation, -1,2,2); + pmanager->AddProcess(new G4eMultipleScattering, -1,1,1); + pmanager->AddProcess(new G4ePolarizedIonisation, -1,2,2); pmanager->AddProcess(new G4ePolarizedBremsstrahlung, -1,3,3); } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1); pmanager->AddProcess(new G4ePolarizedIonisation, -1, 2,2); pmanager->AddProcess(new G4ePolarizedBremsstrahlung, -1, 3,3); pmanager->AddProcess(new G4eplusPolarizedAnnihilation, 0,-1,4); @@ -104,13 +104,13 @@ void PhysListEmPolarized::ConstructProcess() pmanager->AddDiscreteProcess(new G4GammaConversion); } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1); pmanager->AddProcess(new G4eIonisation, -1, 2,2); pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1); pmanager->AddProcess(new G4eIonisation, -1, 2,2); pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); diff --git a/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc b/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc index 3684a2cfe4..b8faf6efe4 100644 --- a/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc +++ b/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandard.cc,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: PhysListEmStandard.cc,v 1.3 2009/11/21 16:27:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,7 +37,9 @@ #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -81,13 +83,13 @@ void PhysListEmStandard::ConstructProcess() } else if (particleName == "e-") { //electron - pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4eMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3); } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4eMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); @@ -95,7 +97,7 @@ void PhysListEmStandard::ConstructProcess() } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4MuMultipleScattering, -1, 1,1); pmanager->AddProcess(new G4MuIonisation, -1, 2,2); pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3); pmanager->AddProcess(new G4MuPairProduction, -1, 4,4); @@ -103,15 +105,15 @@ void PhysListEmStandard::ConstructProcess() } else if( particleName == "alpha" || particleName == "He3" || particleName == "GenericIon" ) { - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4ionIonisation, -1, 2,2); + pmanager->AddProcess(new G4hMultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4ionIonisation, -1, 2,2); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering, -1,1,1); - pmanager->AddProcess(new G4hIonisation, -1,2,2); + pmanager->AddProcess(new G4hMultipleScattering, -1,1,1); + pmanager->AddProcess(new G4hIonisation, -1,2,2); } } } diff --git a/examples/extended/radioactivedecay/exrdm/History b/examples/extended/radioactivedecay/exrdm/History index 4f74fee3d6..c047ee52a7 100644 --- a/examples/extended/radioactivedecay/exrdm/History +++ b/examples/extended/radioactivedecay/exrdm/History @@ -1,4 +1,4 @@ -$Id: History,v 1.26 2008/12/05 09:57:30 flei Exp $ +$Id: History,v 1.27 2009/09/22 16:50:06 gunter Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,11 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +22/09/2009 G.Folger (exrdm-V09-02-00) +- remove trivial compilation warning when compiled without G4ANALYSIS_USE in + src/src/exrdmHisto.cc + 05/12/2008 F.Lei (exrdm-V09-01-04) - exrdmAnalysisManager.cc, exrdmSteppingAction.cc - better G4ANALYSIS_USE and G4ANALYSIS_USE_ROOT logic diff --git a/examples/extended/radioactivedecay/exrdm/exrdm.out b/examples/extended/radioactivedecay/exrdm/exrdm.out index 49e5d0fc1d..a9c77649b0 100644 --- a/examples/extended/radioactivedecay/exrdm/exrdm.out +++ b/examples/extended/radioactivedecay/exrdm/exrdm.out @@ -1,35 +1,53 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version $Name: geant4-09-02 $ (27-July-2004) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* +New histogram will be booked: #10 The target has been changed to 3 cm of Lead - -phot: Total cross sections from Sandia parametrisation. -Thank you for using G4BinaryCascade. -/fred/geant4/g4/data/G4NDL -Thank you for using G4BinaryCascade. -Thank you for using G4BinaryCascade. +NeutronHP: /Elastic/ file for Z = 8, A = 18 is not found and NeutronHP will use /afs/cern.ch/sw/geant4/releases/share/data/G4NDL3.13/Elastic///CrossSection/8_17_Oxygen +NeutronHP: /Capture file for Z = 8, A = 18 is not found and NeutronHP will use /afs/cern.ch/sw/geant4/releases/share/data/G4NDL3.13/Capture//CrossSection/8_17_Oxygen +NeutronHP: /Elastic file for Z = 8, A = 18 is not found and NeutronHP will use /afs/cern.ch/sw/geant4/releases/share/data/G4NDL3.13/Elastic//CrossSection/8_17_Oxygen +NeutronHP: /Inelastic file for Z = 8, A = 18 is not found and NeutronHP will use /afs/cern.ch/sw/geant4/releases/share/data/G4NDL3.13/Inelastic//CrossSection/8_17_Oxygen +/afs/cern.ch/sw/geant4/releases/share/data/G4NDL3.13 +NeutronHP: /Capture/ file for Z = 8, A = 18 is not found and NeutronHP will use /afs/cern.ch/sw/geant4/releases/share/data/G4NDL3.13/Capture///CrossSection/8_17_Oxygen +### exrdmPhysicsList::ConstructProcess is done world cuts are set Target cuts are set Detector cuts are set -G4VRangeToEnergyConverter::ConvertCutToKineticEnergy for gamma -The cut in range [500 (mm)] is too big for material idx=5 -The cut in energy is set1.79769e+305GeV +============================================================================================ + HADRONIC PROCESSES SUMMARY (verbose level 1) -compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. - Scattered gamma energy according Klein-Nishina. - PhysicsTables from 1 keV to 100 GeV in 80 bins. + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 +AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiNeutronInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 -conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. - e+e- energies according Bethe-Heitler - PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 -msc: Model variant of multiple scattering for e- - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary algorithm is active with facrange= 0.199 + Hadronic Processes for + ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 -eIoni: tables are built for e- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1 - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. + Hadronic Processes for + PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 + TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 -eBrem: tables are built for e- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 -eIoni: tables are built for e+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1 - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 -eBrem: tables are built for e+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + LambdaInelastic Models: G4LELambdaInelastic: Emin(GeV)= 0 Emax(GeV)= 25 + G4HELambdaInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 -annihil: Total cross section from Heilter formula(annihilation into 2 photons). - gamma energies sampled according Heitler - PhysicsTables from 10 keV to 10 TeV in 100 bins. + Hadronic Processes for + muMinusCaptureAtRest -msc: Model variant of multiple scattering for proton - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary algorithm is active with facrange= 0.199 + Hadronic Processes for + hElastic Models: NeutronHPElastic: Emin(GeV)= 0 Emax(GeV)= 0.02 + G4HadronElastic: Emin(GeV)= 0.0195 Emax(GeV)= 100000 + NeutronInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LENeutronInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Binary Cascade: Emin(GeV)= 0.0199 Emax(GeV)= 9.9 + NeutronHPInelastic: Emin(GeV)= 0 Emax(GeV)= 0.02 + nCapture Models: G4LCapture: Emin(GeV)= 0.0199 Emax(GeV)= 20000 + NeutronHPCapture: Emin(GeV)= 0 Emax(GeV)= 0.02 + nFission Models: G4LFission: Emin(GeV)= 0.0199 Emax(GeV)= 20000 + NeutronHPFission: Emin(GeV)= 0 Emax(GeV)= 0.02 -hIoni: tables are built for proton - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below, Integral mode 1 + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + PionPlusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionPlusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 -msc: Model variant of multiple scattering for mu+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary algorithm is active with facrange= 0.199 + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEPionMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 -MuIoni: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV - -MuBrems: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model - -MuPairProd: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model -### All dEdx and Range tables are built ##### - -MuIoni: tables are built for mu- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV - -msc: Model variant of multiple scattering for pi- - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary algorithm is active with facrange= 0.199 + Hadronic Processes for + hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 + ProtonInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 + G4LEProtonInelastic: Emin(GeV)= 9.5 Emax(GeV)= 25 + Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 9.9 +============================================================================================ ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Air - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 0 fm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 0 eV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 2.24888 MeV e- 437.915 MeV e+ 396.844 MeV + Range cuts : gamma 10 cm e- 10 cm e+ 10 cm proton 10 cm + Energy thresholds : gamma 2.10237 MeV e- 430.674 MeV e+ 408.132 MeV proton 10 MeV Region(s) which use this couple : Target Index : 2 used in the geometry : Yes recalculation needed : No Material : Germanium - Range cuts : gamma 50 cm e- 50 cm e+ 50 cm - Energy thresholds : gamma 2.88022e+295 J e- 1.91846 GeV e+ 1.73853 GeV + Range cuts : gamma 50 cm e- 50 cm e+ 50 cm proton 50 cm + Energy thresholds : gamma 10 GeV e- 1.83883 GeV e+ 1.74258 GeV proton 50 MeV Region(s) which use this couple : Detector ==================================================================== -### Histo books 7 histograms -Loaded linked in JVM. -Looking for already loaded JVMs... -None found. -Using CLASSPATH. -classpathOption: -Djava.class.path=/fred/flei/AIDAJNI-3.2.2/lib/freehep-aidajni.jar:/fred/flei/JAIDA-3.2.2/lib/optimizers.jar:/fred/flei/JAIDA-3.2.2/lib/openide-lookup.jar:/fred/flei/JAIDA-3.2.2/lib/jel.jar:/fred/flei/JAIDA-3.2.2/lib/jas-plotter.jar:/fred/flei/JAIDA-3.2.2/lib/freehep-hep.jar:/fred/flei/JAIDA-3.2.2/lib/freehep-base.jar:/fred/flei/JAIDA-3.2.2/lib/bcel.jar:/fred/flei/JAIDA-3.2.2/lib/aida-dev.jar:/fred/flei/JAIDA-3.2.2/lib/aida.jar: -Starting JVM...JVM Created. -Tree store : exrdm-proton.aida -Creating Ntuple: Emitted Particles -Creating Ntuple: RadioIsotopes -Creating Ntuple: Energy Depositions +exrdmAnalysisManager: Histograms are booked and the run has been started ### Run : 0 -G4AugerData for Element no. 7 are loaded -G4AugerData for Element no. 8 are loaded -G4AugerData for Element no. 13 are loaded -G4AugerData for Element no. 14 are loaded -G4AugerData for Element no. 32 are loaded -G4AugerData for Element no. 53 are loaded -G4AugerData for Element no. 55 are loaded -G4AugerData for Element no. 82 are loaded -AugerTransitionTable complete -Closing the tree... -Histograms and Ntuples are saved -### Histo books 7 histograms -Loaded linked in JVM. -Looking for already loaded JVMs... -Number of jvm's returned: 1Using already loaded JVM. -Tree store : exrdm-f24.aida -Creating Ntuple: Emitted Particles -Creating Ntuple: RadioIsotopes -Creating Ntuple: Energy Depositions -Closing the tree... -Histograms and Ntuples are saved Graphics systems deleted. Visualization Manager deleting... + diff --git a/examples/extended/radioactivedecay/exrdm/src/exrdmHisto.cc b/examples/extended/radioactivedecay/exrdm/src/exrdmHisto.cc index 00c054ee79..91643d5a56 100644 --- a/examples/extended/radioactivedecay/exrdm/src/exrdmHisto.cc +++ b/examples/extended/radioactivedecay/exrdm/src/exrdmHisto.cc @@ -313,7 +313,12 @@ void exrdmHisto::scaleHisto(G4int i, G4double x) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void exrdmHisto::addTuple(const G4String& w1, const G4String& w2, const G4String& w3) +#ifdef G4ANALYSIS_USE +void exrdmHisto::addTuple(const G4String& w1, const G4String& w2, const G4String& w3 ) +#else +void exrdmHisto::addTuple(const G4String& w1, const G4String& w2, const G4String& ) +#endif + { //G4cout << w1 << " " << w2 << " " << w3 << G4endl; nTuple++; diff --git a/examples/novice/N01/exampleN01.cc b/examples/novice/N01/exampleN01.cc index 89b6b10f14..96771a6f92 100644 --- a/examples/novice/N01/exampleN01.cc +++ b/examples/novice/N01/exampleN01.cc @@ -25,7 +25,7 @@ // // // $Id: exampleN01.cc,v 1.6 2006/06/29 17:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// GEANT4 tag $Name: geant4-09-02-patch-01 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N01/exampleN01.out b/examples/novice/N01/exampleN01.out index 0564cc2c9c..482b022591 100644 --- a/examples/novice/N01/exampleN01.out +++ b/examples/novice/N01/exampleN01.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -11,22 +15,22 @@ Index : 0 used in the geometry : Yes recalculation needed : No Material : ArgonGas - Range cuts : gamma 0 fm e- 0 fm e+ 0 fm - Energy thresholds : gamma -1 MeV e- -1 MeV e+ -1 MeV + Range cuts : gamma 0 fm e- 0 fm e+ 0 fm proton 0 fm + Energy thresholds : gamma -1 MeV e- -1 MeV e+ -1 MeV proton -1 MeV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Aluminum - Range cuts : gamma 0 fm e- 0 fm e+ 0 fm - Energy thresholds : gamma -1 MeV e- -1 MeV e+ -1 MeV + Range cuts : gamma 0 fm e- 0 fm e+ 0 fm proton 0 fm + Energy thresholds : gamma -1 MeV e- -1 MeV e+ -1 MeV proton -1 MeV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 0 fm e- 0 fm e+ 0 fm - Energy thresholds : gamma -1 MeV e- -1 MeV e+ -1 MeV + Range cuts : gamma 0 fm e- 0 fm e+ 0 fm proton 0 fm + Energy thresholds : gamma -1 MeV e- -1 MeV e+ -1 MeV proton -1 MeV Region(s) which use this couple : DefaultRegionForTheWorld @@ -38,7 +42,6 @@ Start Run processing. ===================================== 1 primaries are passed from G4EventTransformer. !!!!!!! Now start processing an event !!!!!!! -### pop requested out of 1 stacked tracks. ********************************************************************************************************* * G4Track Information: Particle = geantino, Track ID = 1, Parent ID = 0 @@ -90,9 +93,6 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu 42 2e+03 0 0 1e+03 0 90 4e+03 expHall Transportation 43 3e+03 0 0 1e+03 0 1e+03 5e+03 OutOfWorld Transportation Track (trackID 1, parentID 0) is processed with stopping code 2 -### pop requested out of 0 stacked tracks. -### 0 waiting tracks are re-classified to - 0 urgent tracks and 0 waiting tracks. NULL returned from G4StackManager. Terminate current event processing. ===================================== @@ -100,7 +100,6 @@ Terminate current event processing. ===================================== 1 primaries are passed from G4EventTransformer. !!!!!!! Now start processing an event !!!!!!! -### pop requested out of 1 stacked tracks. ********************************************************************************************************* * G4Track Information: Particle = geantino, Track ID = 1, Parent ID = 0 @@ -152,9 +151,6 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu 42 2e+03 400 0 1e+03 0 90.4 4.02e+03 expHall Transportation 43 3e+03 500 0 1e+03 0 1e+03 5.02e+03 OutOfWorld Transportation Track (trackID 1, parentID 0) is processed with stopping code 2 -### pop requested out of 0 stacked tracks. -### 0 waiting tracks are re-classified to - 0 urgent tracks and 0 waiting tracks. NULL returned from G4StackManager. Terminate current event processing. ===================================== @@ -162,7 +158,6 @@ Terminate current event processing. ===================================== 1 primaries are passed from G4EventTransformer. !!!!!!! Now start processing an event !!!!!!! -### pop requested out of 1 stacked tracks. ********************************************************************************************************* * G4Track Information: Particle = geantino, Track ID = 1, Parent ID = 0 @@ -214,13 +209,14 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu 42 2e+03 0 400 1e+03 0 90.4 4.02e+03 expHall Transportation 43 3e+03 0 500 1e+03 0 1e+03 5.02e+03 OutOfWorld Transportation Track (trackID 1, parentID 0) is processed with stopping code 2 -### pop requested out of 0 stacked tracks. -### 0 waiting tracks are re-classified to - 0 urgent tracks and 0 waiting tracks. NULL returned from G4StackManager. Terminate current event processing. Run terminated. Run Summary Number of events processed : 3 - User=0.01s Real=0.01s Sys=0s + User=0.01s Real=0s Sys=0s G4 kernel has come to Quit state. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Maximum number of tracks in the urgent stack : 1 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + diff --git a/examples/novice/N02/History b/examples/novice/N02/History index 9c0efdd33a..88ac627d26 100644 --- a/examples/novice/N02/History +++ b/examples/novice/N02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.60 2008/10/31 08:35:52 maire Exp $ +$Id: History,v 1.62 2009/11/15 14:27:30 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,16 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +15-11-09 mma (exampleN02-V09-02-01) +- Use G4MuMultipleScattering for muons +- Separate alpha from GenericIon + +30 October 2009 John Allison (exampleN02-V09-02-00) +- Introduced G4UIExecutive. + +17-12-08 mma +- vis.mac : /vis/scene/add/trajectories smooth + 31-10-08 mma (exampleN02-V09-01-04) - Use G4hMultipleScattering for muons and protons diff --git a/examples/novice/N02/exampleN02.cc b/examples/novice/N02/exampleN02.cc index bd8d9fd713..674304a23d 100644 --- a/examples/novice/N02/exampleN02.cc +++ b/examples/novice/N02/exampleN02.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN02.cc,v 1.15 2008/05/07 09:52:59 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleN02.cc,v 1.16 2009/10/30 14:59:59 allison Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,13 +41,15 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) @@ -87,35 +89,31 @@ int main(int argc,char** argv) // runManager->Initialize(); +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + // Get the pointer to the User Interface manager // - G4UImanager * UI = G4UImanager::GetUIpointer(); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); if (argc!=1) // batch mode { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command+fileName); } - - else // interactive mode : define visualization and UI terminal + else // interactive mode : define UI session { +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); #ifdef G4VIS_USE - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); + UImanager->ApplyCommand("/control/execute vis.mac"); #endif -#ifdef G4VIS_USE - UI->ApplyCommand("/control/execute vis.mac"); + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; #ifdef G4VIS_USE delete visManager; diff --git a/examples/novice/N02/exampleN02.out b/examples/novice/N02/exampleN02.out index c0b0075863..47730d654f 100644 --- a/examples/novice/N02/exampleN02.out +++ b/examples/novice/N02/exampleN02.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -27,232 +31,265 @@ Computed tolerance = 5.82e-08 mm Target is 5 cm of Lead There are 5 chambers in the tracker region. The chambers are 200 mm of XenonGas The distance between chamber is 80 cm +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully registered the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + G4HepRep (HepRepXML) + G4HepRepFile (HepRepFile) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) + OpenGLImmediateX (OGLIX) + OpenGLStoredX (OGLSX) + +Registering model factories... + +You have successfully registered the following model factories. +Registered model factories: + generic + drawByCharge + drawByParticleID + drawByOriginVolume + drawByAttribute + +Registered filter factories: + chargeFilter + particleFilter + originVolumeFilter + attributeFilter + phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.022 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni2 : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Air - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 990 eV e- 16.8647 keV e+ 16.8647 keV + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm + Energy thresholds : gamma 990 eV e- 17.6927 keV e+ 17.1942 keV proton 1 MeV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 282.478 keV e- 15.0137 MeV e+ 13.9447 MeV + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm + Energy thresholds : gamma 283.792 keV e- 15.3667 MeV e+ 13.9869 MeV proton 1 MeV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No Material : XenonGas - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 2.47072 keV e- 40.2614 keV e+ 39.2823 keV + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm + Energy thresholds : gamma 2.50257 keV e- 40.6965 keV e+ 39.8843 keV proton 1 MeV Region(s) which use this couple : DefaultRegionForTheWorld @@ -266,2138 +303,1871 @@ Index : 2 used in the geometry : Yes recalculation needed : No Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm -2.91 m 200 MeV 0 eV 0 fm 0 fm World initStep - 1 -125 um -4.93 um -2.81 m 200 MeV 20.4 keV 10 cm 10 cm World eIoni - 2 -746 um -51.6 um -2.45 m 200 MeV 95.5 keV 36 cm 46 cm World Transportation - 3 -759 um -54.1 um -2.45 m 147 MeV 3.61 MeV 682 um 46.1 cm Target eBrem - 4 -769 um -41.2 um -2.45 m 145 MeV 900 keV 584 um 46.1 cm Target eBrem - 5 -766 um -31 um -2.45 m 133 MeV 371 keV 260 um 46.2 cm Target eBrem - 6 -789 um -29.7 um -2.45 m 105 MeV 830 keV 456 um 46.2 cm Target eBrem - 7 -997 um -27.2 um -2.45 m 84.9 MeV 2.7 MeV 1.9 mm 46.4 cm Target eBrem - 8 -1.09 mm -190 um -2.44 m 70.5 MeV 2.2 MeV 1.5 mm 46.5 cm Target eBrem - 9 -1.14 mm -181 um -2.44 m 44.9 MeV 1.22 MeV 762 um 46.6 cm Target eBrem - 10 -1.15 mm -189 um -2.44 m 35.6 MeV 191 keV 171 um 46.6 cm Target eBrem - 11 -1.23 mm -130 um -2.44 m 30.7 MeV 2.89 MeV 1.27 mm 46.8 cm Target eBrem - 12 -1.58 mm 141 um -2.44 m 20.8 MeV 1.72 MeV 1.58 mm 46.9 cm Target eBrem - 13 -2.12 mm 1.1 mm -2.44 m 15.1 MeV 2.27 MeV 1.88 mm 47.1 cm Target eBrem - 14 -2.51 mm 984 um -2.44 m 13.6 MeV 1.21 MeV 846 um 47.2 cm Target eBrem - 15 -2.68 mm 1.02 mm -2.44 m 9.4 MeV 1.7 MeV 673 um 47.3 cm Target eBrem - 16 -1.23 mm 104 um -2.44 m 6.16 MeV 2.6 MeV 2.46 mm 47.5 cm Target eBrem - 17 -503 um 292 um -2.44 m 4.04 MeV 951 keV 906 um 47.6 cm Target eBrem - 18 560 um 232 um -2.44 m 1.31 MeV 2.73 MeV 2 mm 47.8 cm Target eIoni - 19 575 um 195 um -2.44 m 0 eV 1.31 MeV 1 mm 47.9 cm Target eIoni - 20 575 um 195 um -2.44 m 0 eV 0 eV 0 fm 47.9 cm Target annihil + 1 -136 um -5.36 um -2.8 m 200 MeV 20.6 keV 10.5 cm 10.5 cm World eIoni + 2 -764 um -52.4 um -2.45 m 200 MeV 86.8 keV 35.5 cm 46 cm World Transportation + 3 -753 um -45.1 um -2.45 m 198 MeV 1.8 MeV 682 um 46.1 cm Target eBrem + 4 -726 um -44.5 um -2.45 m 196 MeV 995 keV 788 um 46.1 cm Target eBrem + 5 -724 um -42.1 um -2.45 m 160 MeV 112 keV 118 um 46.2 cm Target eBrem + 6 -720 um -38.7 um -2.45 m 153 MeV 396 keV 237 um 46.2 cm Target eBrem + 7 -618 um -37.7 um -2.45 m 147 MeV 3.23 MeV 2.23 mm 46.4 cm Target eBrem + 8 -593 um -21.2 um -2.45 m 120 MeV 718 keV 602 um 46.5 cm Target eBrem + 9 -575 um 4.65 um -2.44 m 118 MeV 786 keV 591 um 46.5 cm Target eBrem + 10 -558 um -2.03 um -2.44 m 105 MeV 178 keV 144 um 46.5 cm Target eBrem + 11 -551 um -4.2 um -2.44 m 84.4 MeV 59.9 keV 56 um 46.5 cm Target eBrem + 12 -383 um -118 um -2.44 m 74.2 MeV 1.66 MeV 1.28 mm 46.7 cm Target eBrem + 13 -319 um -96.6 um -2.44 m 73.3 MeV 603 keV 527 um 46.7 cm Target eBrem + 14 -284 um -93.1 um -2.44 m 65.2 MeV 1.06 MeV 397 um 46.8 cm Target eBrem + 15 -204 um -101 um -2.44 m 63.2 MeV 1.31 MeV 1.24 mm 46.9 cm Target eBrem + 16 -196 um -114 um -2.44 m 55.8 MeV 189 keV 174 um 46.9 cm Target eBrem + 17 -1.4 mm -889 um -2.43 m 43.8 MeV 9.86 MeV 6.88 mm 47.6 cm Target eBrem + 18 -1.65 mm -1.17 mm -2.43 m 39.6 MeV 2.27 MeV 2.01 mm 47.8 cm Target eBrem + 19 -1.65 mm -1.17 mm -2.43 m 37.1 MeV 11.8 keV 13.2 um 47.8 cm Target eBrem + 20 -1.63 mm -1.3 mm -2.43 m 18.6 MeV 917 keV 772 um 47.9 cm Target eBrem + 21 -1.34 mm -1.72 mm -2.43 m 12.8 MeV 1.55 MeV 979 um 48 cm Target eBrem + 22 -1.42 mm -3.92 mm -2.43 m 6.13 MeV 6.66 MeV 3.05 mm 48.3 cm Target eBrem + 23 -2.57 mm -3.8 mm -2.43 m 3.65 MeV 2.48 MeV 2.39 mm 48.5 cm Target eIoni + 24 -2.78 mm -3.34 mm -2.43 m 1.5 MeV 2.14 MeV 1.91 mm 48.7 cm Target eIoni + 25 -2.66 mm -3.41 mm -2.43 m 330 keV 1.17 MeV 1.15 mm 48.8 cm Target eIoni + 26 -2.66 mm -3.42 mm -2.43 m 0 eV 330 keV 168 um 48.8 cm Target eIoni + 27 -2.66 mm -3.42 mm -2.43 m 0 eV 0 eV 0 fm 48.8 cm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 575 um 195 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.56 mm 2.56 mm -2.44 m 283 keV 0 eV 3.63 mm 3.63 mm Target compt - 2 -1.93 mm 2.47 mm -2.44 m 0 eV 88 keV 421 um 4.05 mm Target phot + 0 -2.66 mm -3.42 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.84 mm -2.97 mm -2.43 m 502 keV 0 eV 2.28 mm 2.28 mm Target compt + 2 -1.01 cm -1.66 mm -2.43 m 0 eV 88 keV 5.46 mm 7.73 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 19 +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 23 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.93 mm 2.47 mm -2.44 m 195 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.94 mm 2.46 mm -2.44 m 0 eV 195 keV 79.3 um 79.3 um Target eIoni + 0 -1.01 cm -1.66 mm -2.43 m 414 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.01 cm -1.65 mm -2.43 m 0 eV 414 keV 235 um 235 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 19 +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 23 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.56 mm 2.56 mm -2.44 m 228 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.56 mm 2.56 mm -2.44 m 0 eV 228 keV 99.8 um 99.8 um Target eIoni + 0 -4.84 mm -2.97 mm -2.43 m 8.74 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.84 mm -2.97 mm -2.43 m 0 eV 8.74 keV 573 nm 573 nm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 575 um 195 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 7.64 mm -7.62 mm -2.44 m 0 eV 88 keV 1.2 cm 1.2 cm Target phot + 0 -2.66 mm -3.42 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 689 um -4.12 mm -2.43 m 0 eV 88 keV 3.49 mm 3.49 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 18 +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 22 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.64 mm -7.62 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 7.63 mm -7.64 mm -2.44 m 0 eV 423 keV 243 um 243 um Target eIoni + 0 689 um -4.12 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 703 um -4.13 mm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -503 um 292 um -2.44 m 1.17 MeV 0 eV 0 fm 0 fm Target initStep - 1 7.16 mm 1.31 cm -2.43 m 442 keV 0 eV 1.53 cm 1.53 cm Target compt - 2 7.19 mm 1.31 cm -2.43 m 326 keV 0 eV 22.9 um 1.53 cm Target compt - 3 7.34 mm 1.32 cm -2.43 m 0 eV 88 keV 197 um 1.55 cm Target phot + 0 -1.34 mm -1.72 mm -2.43 m 4.26 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.66 mm -1.48 cm -2.4 m 4.26 MeV 0 eV 3.36 cm 3.36 cm Target Transportation + 2 23.5 cm -1.03 m 0 fm 4.26 MeV 0 eV 2.62 m 2.65 m Tracker Transportation + 3 25.3 cm -1.1 m 17.9 cm 4.26 MeV 0 eV 19.5 cm 2.84 m Chamber Transportation + 4 31.3 cm -1.37 m 80 cm 4.26 MeV 0 eV 67.7 cm 3.52 m Tracker Transportation + 5 33.2 cm -1.45 m 1 m 4.26 MeV 0 eV 21.8 cm 3.74 m Chamber Transportation + 6 39.1 cm -1.7 m 1.6 m 4.26 MeV 0 eV 65.4 cm 4.39 m Tracker Transportation + 7 41 cm -1.79 m 1.8 m 4.26 MeV 0 eV 21.8 cm 4.61 m Chamber Transportation + 8 46.9 cm -2.04 m 2.4 m 4.26 MeV 0 eV 65.4 cm 5.27 m Tracker Transportation + 9 51.8 cm -2.26 m 2.91 m 4.26 MeV 0 eV 55.6 cm 5.82 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 17 +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.34 mm 1.32 cm -2.43 m 238 keV 0 eV 0 fm 0 fm Target initStep - 1 7.34 mm 1.32 cm -2.43 m 0 eV 238 keV 107 um 107 um Target eIoni + 0 -1.63 mm -1.3 mm -2.43 m 17.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 -664 um -3.44 mm -2.42 m 0 eV 0 eV 7.22 mm 7.22 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 17 +* G4Track Information: Particle = e+, Track ID = 28, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.19 mm 1.31 cm -2.43 m 116 keV 0 eV 0 fm 0 fm Target initStep - 1 7.19 mm 1.31 cm -2.43 m 0 eV 116 keV 35.1 um 35.1 um Target eIoni + 0 -664 um -3.44 mm -2.42 m 6.89 MeV 0 eV 0 fm 0 fm Target initStep + 1 -698 um -3.52 mm -2.42 m 4.61 MeV 276 keV 304 um 304 um Target eBrem + 2 -1.34 mm -3.13 mm -2.42 m 2.77 MeV 1.84 MeV 2.12 mm 2.42 mm Target eIoni + 3 -1.35 mm -2.48 mm -2.42 m 437 keV 1.52 MeV 1.33 mm 3.75 mm Target eBrem + 4 -1.37 mm -2.47 mm -2.42 m 0 eV 437 keV 251 um 4.01 mm Target eIoni + 5 -1.37 mm -2.47 mm -2.42 m 0 eV 0 eV 0 fm 4.01 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 17 +* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 28 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.16 mm 1.31 cm -2.43 m 727 keV 0 eV 0 fm 0 fm Target initStep - 1 7.17 mm 1.31 cm -2.43 m 0 eV 727 keV 496 um 496 um Target eIoni + 0 -1.37 mm -2.47 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.56 mm -1.22 cm -2.42 m 201 keV 0 eV 9.77 mm 9.77 mm Target compt + 2 -960 um -1.16 cm -2.42 m 0 eV 88 keV 1e+03 um 1.08 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 32 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.23 mm 104 um -2.44 m 637 keV 0 eV 0 fm 0 fm Target initStep - 1 -708 um 427 um -2.44 m 210 keV 0 eV 618 um 618 um Target compt - 2 -1.23 mm 498 um -2.44 m 0 eV 88 keV 706 um 1.32 mm Target phot + 0 -960 um -1.16 cm -2.42 m 113 keV 0 eV 0 fm 0 fm Target initStep + 1 -959 um -1.16 cm -2.42 m 0 eV 113 keV 33.4 um 33.4 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 16 +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 32 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.23 mm 498 um -2.44 m 122 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.24 mm 497 um -2.44 m 0 eV 122 keV 38 um 38 um Target eIoni + 0 -1.56 mm -1.22 cm -2.42 m 310 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.56 mm -1.22 cm -2.42 m 0 eV 310 keV 157 um 157 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 16 +* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 28 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -708 um 427 um -2.44 m 427 keV 0 eV 0 fm 0 fm Target initStep - 1 -693 um 433 um -2.44 m 0 eV 427 keV 246 um 246 um Target eIoni + 0 -1.37 mm -2.47 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.35 mm -1.69 mm -2.42 m 0 eV 88 keV 780 um 780 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 31 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.68 mm 1.02 mm -2.44 m 2.46 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.39 mm -6.42 mm -2.42 m 0 eV 0 eV 1.79 cm 1.79 cm Target conv + 0 -1.35 mm -1.69 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.36 mm -1.68 mm -2.42 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 29, Parent ID = 15 +* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 28 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.39 mm -6.42 mm -2.42 m 581 keV 0 eV 0 fm 0 fm Target initStep - 1 1.47 mm -6.45 mm -2.42 m 345 keV 235 keV 214 um 214 um Target eBrem - 2 1.48 mm -6.43 mm -2.42 m 0 eV 345 keV 180 um 394 um Target eIoni - 3 1.48 mm -6.43 mm -2.42 m 0 eV 0 eV 0 fm 394 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 29 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.48 mm -6.43 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.55 mm -6.3 mm -2.42 m 171 keV 0 eV 224 um 224 um Target compt - 2 1.48 mm -6.48 mm -2.42 m 0 eV 88 keV 259 um 482 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 31 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.48 mm -6.48 mm -2.42 m 83.1 keV 0 eV 0 fm 0 fm Target initStep - 1 1.48 mm -6.48 mm -2.42 m 0 eV 83.1 keV 20.4 um 20.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 31 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.55 mm -6.3 mm -2.42 m 340 keV 0 eV 0 fm 0 fm Target initStep - 1 1.55 mm -6.29 mm -2.42 m 0 eV 340 keV 179 um 179 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 29 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.48 mm -6.43 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.11 mm -1.89 cm -2.44 m 249 keV 0 eV 2.07 cm 2.07 cm Target compt - 2 -5.09 mm -1.88 cm -2.44 m 245 keV 0 eV 180 um 2.09 cm Target compt - 3 -4.9 mm -1.84 cm -2.44 m 0 eV 88 keV 524 um 2.14 cm Target phot + 0 -1.35 mm -2.48 mm -2.42 m 806 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.3 mm -3.26 mm -2.42 m 0 eV 88 keV 1.23 mm 1.23 mm Target phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 36, Parent ID = 30 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.9 mm -1.84 cm -2.44 m 157 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.9 mm -1.84 cm -2.44 m 0 eV 157 keV 56.4 um 56.4 um Target eIoni + 0 -2.3 mm -3.26 mm -2.42 m 718 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.33 mm -3.28 mm -2.42 m 0 eV 718 keV 486 um 486 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 30 +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 28 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.09 mm -1.88 cm -2.44 m 4.51 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.09 mm -1.88 cm -2.44 m 0 eV 4.51 keV 224 nm 224 nm Target eIoni + 0 -698 um -3.52 mm -2.42 m 2 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.05 cm -2.18 cm -2.4 m 2 MeV 0 eV 3.21 cm 3.21 cm Target Transportation + 2 -1.28 m -2.4 m 78.8 cm 2 MeV 0 eV 4.18 m 4.21 m Tracker Transportation + 3 -1.56 m -2.91 m 1.47 m 2 MeV 0 eV 89.6 cm 5.1 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 30 +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.11 mm -1.89 cm -2.44 m 262 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.11 mm -1.89 cm -2.44 m 0 eV 262 keV 123 um 123 um Target eIoni + 0 -664 um -3.44 mm -2.42 m 9.66 MeV 0 eV 0 fm 0 fm Target initStep + 1 -686 um -3.42 mm -2.42 m 8.54 MeV 813 keV 571 um 571 um Target eBrem + 2 -578 um -3.62 mm -2.42 m 3.86 MeV 1.06 MeV 443 um 1.01 mm Target eBrem + 3 -976 um -3.35 mm -2.42 m 2.63 MeV 1.23 MeV 1.24 mm 2.26 mm Target eBrem + 4 -526 um -3.39 mm -2.42 m 755 keV 1.88 MeV 1.63 mm 3.89 mm Target eIoni + 5 -517 um -3.42 mm -2.42 m 0 eV 755 keV 517 um 4.41 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 15 +* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 27 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.39 mm -6.42 mm -2.42 m 859 keV 0 eV 0 fm 0 fm Target initStep - 1 1.4 mm -6.44 mm -2.42 m 0 eV 859 keV 607 um 607 um Target eIoni + 0 -578 um -3.62 mm -2.42 m 3.62 MeV 0 eV 0 fm 0 fm Target initStep + 1 -610 um -3.84 mm -2.42 m 483 keV 0 eV 477 um 477 um Target compt + 2 2.5 mm -1.03 cm -2.43 m 0 eV 88 keV 7.57 mm 8.05 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 38 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.51 mm 984 um -2.44 m 312 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.3 mm 716 um -2.44 m 0 eV 88 keV 3.41 mm 3.41 mm Target phot + 0 2.5 mm -1.03 cm -2.43 m 395 keV 0 eV 0 fm 0 fm Target initStep + 1 2.51 mm -1.03 cm -2.43 m 0 eV 395 keV 221 um 221 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 14 +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 38 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.3 mm 716 um -2.44 m 224 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.31 mm 713 um -2.44 m 0 eV 224 keV 97.4 um 97.4 um Target eIoni + 0 -610 um -3.84 mm -2.42 m 3.14 MeV 0 eV 0 fm 0 fm Target initStep + 1 -297 um -4.06 mm -2.42 m 1.86 MeV 895 keV 722 um 722 um Target eBrem + 2 -198 um -3.97 mm -2.42 m 0 eV 1.86 MeV 1.34 mm 2.06 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 41, Parent ID = 39 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.12 mm 1.1 mm -2.44 m 3.45 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.3 cm 3.84 mm -2.41 m 463 keV 0 eV 3.17 cm 3.17 cm Target compt - 2 -1.88 cm -7.04 mm -2.41 m 380 keV 0 eV 1.24 cm 4.4 cm Target compt - 3 -2.04 cm -7.94 mm -2.41 m 265 keV 0 eV 1.99 mm 4.6 cm Target compt - 4 -2.04 cm -8.06 mm -2.41 m 216 keV 0 eV 269 um 4.63 cm Target compt - 5 -2.04 cm -8.08 mm -2.41 m 0 eV 88 keV 31.5 um 4.63 cm Target phot + 0 -297 um -4.06 mm -2.42 m 384 keV 0 eV 0 fm 0 fm Target initStep + 1 1.24 mm -2.99 mm -2.42 m 0 eV 88 keV 2.15 mm 2.15 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 13 +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 41 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 cm -8.08 mm -2.41 m 128 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.04 cm -8.08 mm -2.41 m 0 eV 128 keV 40.9 um 40.9 um Target eIoni + 0 1.24 mm -2.99 mm -2.42 m 296 keV 0 eV 0 fm 0 fm Target initStep + 1 1.24 mm -2.99 mm -2.42 m 0 eV 296 keV 146 um 146 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 13 +* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 27 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 cm -8.06 mm -2.41 m 49.4 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.04 cm -8.06 mm -2.41 m 0 eV 49.4 keV 8.78 um 8.78 um Target eIoni + 0 -686 um -3.42 mm -2.42 m 300 keV 0 eV 0 fm 0 fm Target initStep + 1 -845 um -4.72 mm -2.42 m 0 eV 88 keV 2.52 mm 2.52 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 13 +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 37 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 cm -7.94 mm -2.41 m 115 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.04 cm -7.94 mm -2.41 m 0 eV 115 keV 34.3 um 34.3 um Target eIoni + 0 -845 um -4.72 mm -2.42 m 212 keV 0 eV 0 fm 0 fm Target initStep + 1 -844 um -4.72 mm -2.42 m 0 eV 212 keV 89.7 um 89.7 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 13 +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.88 cm -7.04 mm -2.41 m 83.5 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.88 cm -7.04 mm -2.41 m 0 eV 83.5 keV 20.6 um 20.6 um Target eIoni + 0 -1.65 mm -1.17 mm -2.43 m 2.48 MeV 0 eV 0 fm 0 fm Target initStep + 1 388 um -3.45 mm -2.4 m 2.48 MeV 0 eV 3.26 cm 3.26 cm Target Transportation + 2 5.08 cm -5.96 cm -1.6 m 2.48 MeV 0 eV 80.4 cm 83.6 cm Tracker Transportation + 3 6.34 cm -7.37 cm -1.4 m 2.48 MeV 0 eV 20.1 cm 1.04 m Chamber Transportation + 4 10.1 cm -11.6 cm -80 cm 2.48 MeV 0 eV 60.3 cm 1.64 m Tracker Transportation + 5 11.4 cm -13 cm -60 cm 2.48 MeV 0 eV 20.1 cm 1.84 m Chamber Transportation + 6 15.2 cm -17.2 cm 0 fm 2.48 MeV 0 eV 60.3 cm 2.44 m Tracker Transportation + 7 16.4 cm -18.6 cm 20 cm 2.48 MeV 0 eV 20.1 cm 2.64 m Chamber Transportation + 8 20.2 cm -22.8 cm 80 cm 2.48 MeV 0 eV 60.3 cm 3.25 m Tracker Transportation + 9 21.5 cm -24.2 cm 1 m 2.48 MeV 0 eV 20.1 cm 3.45 m Chamber Transportation + 10 25.2 cm -28.4 cm 1.6 m 2.48 MeV 0 eV 60.3 cm 4.05 m Tracker Transportation + 11 26.5 cm -29.8 cm 1.8 m 2.48 MeV 0 eV 20.1 cm 4.25 m Chamber Transportation + 12 30.3 cm -34.1 cm 2.4 m 2.48 MeV 0 eV 60.3 cm 4.85 m Tracker Transportation + 13 33.5 cm -37.6 cm 2.91 m 2.48 MeV 0 eV 51.2 cm 5.37 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 13 +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 cm 3.84 mm -2.41 m 2.99 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.3 cm 3.4 mm -2.41 m 1.22 MeV 1.39 MeV 1.27 mm 1.27 mm Target eBrem - 2 -1.31 cm 3.38 mm -2.41 m 0 eV 1.22 MeV 919 um 2.19 mm Target eIoni + 0 -1.65 mm -1.17 mm -2.43 m 1.93 MeV 0 eV 0 fm 0 fm Target initStep + 1 -694 um -1.71 mm -2.42 m 1.44 MeV 0 eV 1.18 cm 1.18 cm Target compt + 2 -1.06 mm -2.4 mm -2.42 m 1.2 MeV 0 eV 1.91 mm 1.37 cm Target compt + 3 -29.6 um -4.27 mm -2.4 m 1.2 MeV 0 eV 1.91 cm 3.28 cm Target Transportation + 4 4.36 cm -8.31 cm -1.6 m 1.2 MeV 0 eV 80.5 cm 83.8 cm Tracker Transportation + 5 5.45 cm -10.3 cm -1.4 m 1.2 MeV 0 eV 20.1 cm 1.04 m Chamber Transportation + 6 8.72 cm -16.2 cm -80 cm 1.2 MeV 0 eV 60.4 cm 1.64 m Tracker Transportation + 7 9.81 cm -18.2 cm -60 cm 1.2 MeV 0 eV 20.1 cm 1.84 m Chamber Transportation + 8 13.1 cm -24.1 cm 0 fm 1.2 MeV 0 eV 60.4 cm 2.45 m Tracker Transportation + 9 14.2 cm -26 cm 20 cm 1.2 MeV 0 eV 20.1 cm 2.65 m Chamber Transportation + 10 17.5 cm -32 cm 80 cm 1.2 MeV 0 eV 60.4 cm 3.25 m Tracker Transportation + 11 18.5 cm -33.9 cm 1 m 1.2 MeV 0 eV 20.1 cm 3.45 m Chamber Transportation + 12 21.8 cm -39.8 cm 1.6 m 1.2 MeV 0 eV 60.4 cm 4.06 m Tracker Transportation + 13 22.9 cm -41.8 cm 1.8 m 1.2 MeV 0 eV 20.1 cm 4.26 m Chamber Transportation + 14 26.2 cm -47.7 cm 2.4 m 1.2 MeV 0 eV 60.4 cm 4.86 m Tracker Transportation + 15 29 cm -52.7 cm 2.91 m 1.2 MeV 0 eV 51.3 cm 5.38 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 43, Parent ID = 38 +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 18 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 cm 3.4 mm -2.41 m 373 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.51 cm 2.83 mm -2.41 m 206 keV 0 eV 2.25 mm 2.25 mm Target compt - 2 -1.57 cm 7.18 mm -2.41 m 0 eV 88 keV 4.4 mm 6.65 mm Target phot + 0 -1.06 mm -2.4 mm -2.42 m 233 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.07 mm -2.4 mm -2.42 m 0 eV 233 keV 103 um 103 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 43 +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 18 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.57 cm 7.18 mm -2.41 m 118 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.57 cm 7.18 mm -2.41 m 0 eV 118 keV 35.9 um 35.9 um Target eIoni + 0 -694 um -1.71 mm -2.42 m 495 keV 0 eV 0 fm 0 fm Target initStep + 1 -635 um -1.71 mm -2.42 m 88.5 keV 406 keV 241 um 241 um Target eBrem + 2 -635 um -1.71 mm -2.42 m 0 eV 88.5 keV 22.6 um 263 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 43 +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.51 cm 2.83 mm -2.41 m 167 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.51 cm 2.83 mm -2.41 m 0 eV 167 keV 62.3 um 62.3 um Target eIoni + 0 -1.4 mm -889 um -2.43 m 2.15 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.38 mm -943 um -2.43 m 0 eV 0 eV 1.31 mm 1.31 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 +* G4Track Information: Particle = e+, Track ID = 47, Parent ID = 17 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.58 mm 141 um -2.44 m 8.16 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.74 mm 972 um -2.44 m 0 eV 0 eV 2.76 mm 2.76 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 47, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.74 mm 972 um -2.44 m 2.37 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.32 mm 1.06 mm -2.44 m 637 keV 1.73 MeV 1.56 mm 1.56 mm Target eIoni - 2 -3.31 mm 1.1 mm -2.44 m 0 eV 637 keV 420 um 1.98 mm Target eIoni - 3 -3.31 mm 1.1 mm -2.44 m 0 eV 0 eV 0 fm 1.98 mm Target annihil + 0 -1.38 mm -943 um -2.43 m 575 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.36 mm -948 um -2.43 m 0 eV 575 keV 366 um 366 um Target eIoni + 2 -1.36 mm -948 um -2.43 m 0 eV 0 eV 0 fm 366 um Target annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 49, Parent ID = 47 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.31 mm 1.1 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.22 mm 1.7 mm -2.44 m 0 eV 88 keV 826 um 826 um Target phot + 0 -1.36 mm -948 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.61 mm -2.04 mm -2.43 m 186 keV 0 eV 3.09 mm 3.09 mm Target compt + 2 -3.54 mm -2.02 mm -2.43 m 0 eV 88 keV 74 um 3.16 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.54 mm -2.02 mm -2.43 m 97.7 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.54 mm -2.02 mm -2.43 m 0 eV 97.7 keV 26.6 um 26.6 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 50, Parent ID = 49 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.22 mm 1.7 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.22 mm 1.71 mm -2.44 m 0 eV 423 keV 243 um 243 um Target eIoni + 0 -3.61 mm -2.04 mm -2.43 m 325 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.62 mm -2.05 mm -2.43 m 0 eV 325 keV 168 um 168 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 47 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.31 mm 1.1 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.28 mm -1.11 cm -2.45 m 511 keV 0 eV 1.68 cm 1.68 cm Target Transportation - 2 -8.4 cm -50 cm -2.91 m 511 keV 0 eV 67.6 cm 69.3 cm OutOfWorld Transportation + 0 -1.36 mm -948 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.05 mm 1.68 mm -2.43 m 0 eV 88 keV 7.41 mm 7.41 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 48 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.74 mm 972 um -2.44 m 4.77 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.6 mm 706 um -2.44 m 2.59 MeV 2.18 MeV 1.75 mm 1.75 mm Target eBrem - 2 -2.59 mm 435 um -2.44 m 968 keV 1.63 MeV 1.62 mm 3.37 mm Target eIoni - 3 -2.64 mm 462 um -2.44 m 363 keV 605 keV 467 um 3.84 mm Target eBrem - 4 -2.64 mm 475 um -2.44 m 0 eV 363 keV 196 um 4.04 mm Target eIoni + 0 4.05 mm 1.68 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 4.04 mm 1.7 mm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 17 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.38 mm -943 um -2.43 m 550 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.39 mm -941 um -2.43 m 0 eV 550 keV 345 um 345 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -196 um -114 um -2.44 m 7.28 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.95 mm -4.79 mm -2.4 m 7.28 MeV 0 eV 4.13 cm 4.13 cm Target Transportation + 2 4.38 cm -9.6 cm -1.6 m 7.28 MeV 0 eV 80.6 cm 84.8 cm Tracker Transportation + 3 5.43 cm -11.9 cm -1.4 m 7.28 MeV 0 eV 20.2 cm 1.05 m Chamber Transportation + 4 8.57 cm -18.7 cm -80 cm 7.28 MeV 0 eV 60.5 cm 1.65 m Tracker Transportation + 5 9.62 cm -21 cm -60 cm 7.28 MeV 0 eV 20.2 cm 1.86 m Chamber Transportation + 6 12.8 cm -27.8 cm 0 fm 7.28 MeV 0 eV 60.5 cm 2.46 m Tracker Transportation + 7 13.8 cm -30.1 cm 20 cm 7.28 MeV 0 eV 20.2 cm 2.66 m Chamber Transportation + 8 16.9 cm -37 cm 80 cm 7.28 MeV 0 eV 60.5 cm 3.27 m Tracker Transportation + 9 18 cm -39.2 cm 1 m 7.28 MeV 0 eV 20.2 cm 3.47 m Chamber Transportation + 10 21.1 cm -46.1 cm 1.6 m 7.28 MeV 0 eV 60.5 cm 4.07 m Tracker Transportation + 11 22.2 cm -48.4 cm 1.8 m 7.28 MeV 0 eV 20.2 cm 4.27 m Chamber Transportation + 12 25.3 cm -55.2 cm 2.4 m 7.28 MeV 0 eV 60.5 cm 4.88 m Tracker Transportation + 13 28 cm -61 cm 2.91 m 7.28 MeV 0 eV 51.4 cm 5.39 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -204 um -101 um -2.44 m 672 keV 0 eV 0 fm 0 fm Target initStep + 1 -116 um -391 um -2.44 m 0 eV 88 keV 3.71 mm 3.71 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -116 um -391 um -2.44 m 584 keV 0 eV 0 fm 0 fm Target initStep + 1 -117 um -367 um -2.44 m 0 eV 584 keV 373 um 373 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -284 um -93.1 um -2.44 m 7.03 MeV 0 eV 0 fm 0 fm Target initStep + 1 -33 um 510 um -2.43 m 0 eV 0 eV 7.81 mm 7.81 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 55, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -33 um 510 um -2.43 m 2.91 MeV 0 eV 0 fm 0 fm Target initStep + 1 -532 um 882 um -2.43 m 1.01 MeV 1.9 MeV 1.73 mm 1.73 mm Target eIoni + 2 -574 um 843 um -2.43 m 0 eV 1.01 MeV 746 um 2.47 mm Target eIoni + 3 -574 um 843 um -2.43 m 0 eV 0 eV 0 fm 2.47 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 55 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -574 um 843 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.8 mm -2.1 mm -2.43 m 0 eV 88 keV 5.2 mm 5.2 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.8 mm -2.1 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.79 mm -2.09 mm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 55 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -574 um 843 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.18 mm 5.17 mm -2.44 m 0 eV 88 keV 7.66 mm 7.66 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 56 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.18 mm 5.17 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 4.19 mm 5.18 mm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -33 um 510 um -2.43 m 3.09 MeV 0 eV 0 fm 0 fm Target initStep + 1 -629 um 581 um -2.43 m 1.4 MeV 1.69 MeV 1.76 mm 1.76 mm Target eIoni + 2 -638 um 673 um -2.43 m 0 eV 1.4 MeV 1.06 mm 2.83 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -319 um -96.6 um -2.44 m 327 keV 0 eV 0 fm 0 fm Target initStep + 1 123 um 4.29 um -2.44 m 0 eV 88 keV 3.33 mm 3.33 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 123 um 4.29 um -2.44 m 239 keV 0 eV 0 fm 0 fm Target initStep + 1 120 um -400 nm -2.44 m 0 eV 239 keV 107 um 107 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -383 um -118 um -2.44 m 8.46 MeV 0 eV 0 fm 0 fm Target initStep + 1 541 um -114 um -2.43 m 0 eV 0 eV 9.1 mm 9.1 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 62, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 541 um -114 um -2.43 m 407 keV 0 eV 0 fm 0 fm Target initStep + 1 548 um -116 um -2.43 m 0 eV 407 keV 227 um 227 um Target eIoni + 2 548 um -116 um -2.43 m 0 eV 0 eV 0 fm 227 um Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 62 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 548 um -116 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.75 mm 1.69 mm -2.43 m 0 eV 88 keV 4.84 mm 4.84 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 64 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.75 mm 1.69 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.75 mm 1.7 mm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 62 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 548 um -116 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 3.55 mm -2.48 mm -2.44 m 0 eV 88 keV 6.35 mm 6.35 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 63 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.55 mm -2.48 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 3.56 mm -2.48 mm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 541 um -114 um -2.43 m 7.03 MeV 0 eV 0 fm 0 fm Target initStep + 1 679 um -264 um -2.43 m 5.88 MeV 756 keV 484 um 484 um Target eBrem + 2 1.79 mm -1.02 mm -2.43 m 3.09 MeV 2.79 MeV 2.34 mm 2.82 mm Target eIoni + 3 1.85 mm -886 um -2.43 m 1.91 MeV 219 keV 195 um 3.02 mm Target eBrem + 4 2.16 mm -764 um -2.43 m 353 keV 1.56 MeV 1.37 mm 4.38 mm Target eIoni + 5 2.16 mm -761 um -2.43 m 0 eV 353 keV 188 um 4.57 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 61 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.85 mm -886 um -2.43 m 964 keV 0 eV 0 fm 0 fm Target initStep + 1 2.33 mm -243 um -2.43 m 446 keV 0 eV 929 um 929 um Target compt + 2 226 um 1.17 mm -2.44 m 382 keV 0 eV 4.23 mm 5.16 mm Target compt + 3 38.5 um 1.03 mm -2.44 m 0 eV 88 keV 562 um 5.72 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 38.5 um 1.03 mm -2.44 m 294 keV 0 eV 0 fm 0 fm Target initStep + 1 33.3 um 1.02 mm -2.44 m 0 eV 294 keV 145 um 145 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 226 um 1.17 mm -2.44 m 63.9 keV 0 eV 0 fm 0 fm Target initStep + 1 225 um 1.17 mm -2.44 m 0 eV 63.9 keV 13.3 um 13.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.33 mm -243 um -2.43 m 518 keV 0 eV 0 fm 0 fm Target initStep + 1 2.35 mm -231 um -2.43 m 0 eV 518 keV 318 um 318 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 61 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 679 um -264 um -2.43 m 393 keV 0 eV 0 fm 0 fm Target initStep + 1 777 um -559 um -2.43 m 0 eV 88 keV 511 um 511 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 67 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 777 um -559 um -2.43 m 305 keV 0 eV 0 fm 0 fm Target initStep + 1 786 um -560 um -2.43 m 0 eV 305 keV 153 um 153 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.23 mm -130 um -2.44 m 2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.37 mm -40.8 um -2.44 m 1.63 MeV 0 eV 387 um 387 um Target compt - 2 -1.6 cm -4.72 mm -2.4 m 1.63 MeV 0 eV 4.48 cm 4.52 cm Target Transportation - 3 -57 cm -18.2 cm -80 cm 1.63 MeV 0 eV 1.7 m 1.75 m Tracker Transportation - 4 -64 cm -20.5 cm -60 cm 1.63 MeV 0 eV 21.3 cm 1.96 m Chamber Transportation - 5 -84.8 cm -27.1 cm 0 fm 1.63 MeV 0 eV 63.8 cm 2.6 m Tracker Transportation - 6 -91.7 cm -29.3 cm 20 cm 1.63 MeV 0 eV 21.3 cm 2.81 m Chamber Transportation - 7 -1.12 m -36 cm 80 cm 1.63 MeV 0 eV 63.8 cm 3.45 m Tracker Transportation - 8 -1.19 m -38.2 cm 1 m 1.63 MeV 0 eV 21.3 cm 3.66 m Chamber Transportation - 9 -1.4 m -44.9 cm 1.6 m 1.63 MeV 0 eV 63.8 cm 4.3 m Tracker Transportation - 10 -1.47 m -47.1 cm 1.8 m 1.63 MeV 0 eV 21.3 cm 4.51 m Chamber Transportation - 11 -1.68 m -53.8 cm 2.4 m 1.63 MeV 0 eV 63.8 cm 5.15 m Tracker Transportation - 12 -1.86 m -59.4 cm 2.91 m 1.63 MeV 0 eV 54.3 cm 5.7 m OutOfWorld Transportation + 0 -551 um -4.2 um -2.44 m 20.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 239 um -237 um -2.44 m 0 eV 0 eV 6.01 mm 6.01 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 11 +* G4Track Information: Particle = e+, Track ID = 74, Parent ID = 11 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 mm -40.8 um -2.44 m 375 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.38 mm -28.9 um -2.44 m 0 eV 375 keV 206 um 206 um Target eIoni + 0 239 um -237 um -2.44 m 17.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -85 um -814 um -2.44 m 13 MeV 3.73 MeV 2.11 mm 2.11 mm Target eBrem + 2 -154 um -817 um -2.44 m 11.8 MeV 108 keV 100 um 2.21 mm Target eBrem + 3 -253 um -798 um -2.44 m 10.2 MeV 288 keV 226 um 2.43 mm Target eBrem + 4 -540 um -872 um -2.44 m 2.45 MeV 545 keV 419 um 2.85 mm Target eBrem + 5 -854 um -371 um -2.44 m 1.01 MeV 1.44 MeV 1.59 mm 4.44 mm Target eIoni + 6 -885 um -378 um -2.44 m 0 eV 1.01 MeV 746 um 5.19 mm Target eIoni + 7 -885 um -378 um -2.44 m 0 eV 0 eV 0 fm 5.19 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -885 um -378 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 5.71 mm 125 um -2.44 m 0 eV 88 keV 7.53 mm 7.53 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 80 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 5.71 mm 125 um -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 5.72 mm 134 um -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -885 um -378 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.43 cm -1.4 mm -2.43 m 0 eV 88 keV 1.54 cm 1.54 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 79 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.43 cm -1.4 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.43 cm -1.41 mm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -540 um -872 um -2.44 m 7.21 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.26 cm 122 um -2.42 m 0 eV 88 keV 1.73 cm 1.73 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 78 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.26 cm 122 um -2.42 m 7.12 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.27 cm 191 um -2.42 m 6.33 MeV 237 keV 216 um 216 um Target eBrem + 2 -1.33 cm 140 um -2.42 m 4.77 MeV 1.18 MeV 997 um 1.21 mm Target eBrem + 3 -1.34 cm 118 um -2.42 m 4.19 MeV 146 keV 138 um 1.35 mm Target eBrem + 4 -1.3 cm 170 um -2.42 m 1.5 MeV 2.24 MeV 1.39 mm 2.74 mm Target eBrem + 5 -1.3 cm 351 um -2.42 m 210 keV 1.29 MeV 1.14 mm 3.88 mm Target eIoni + 6 -1.3 cm 352 um -2.42 m 0 eV 210 keV 88 um 3.96 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.3 cm 170 um -2.42 m 445 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.37 cm -396 um -2.42 m 0 eV 88 keV 2.68 mm 2.68 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 87 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.37 cm -396 um -2.42 m 357 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.37 cm -394 um -2.42 m 0 eV 357 keV 192 um 192 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.34 cm 118 um -2.42 m 434 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.34 cm 251 um -2.42 m 0 eV 88 keV 904 um 904 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 86 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.34 cm 251 um -2.42 m 346 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.34 cm 260 um -2.42 m 0 eV 346 keV 183 um 183 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.33 cm 140 um -2.42 m 387 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.52 cm 551 um -2.42 m 0 eV 88 keV 3.5 mm 3.5 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 85 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.52 cm 551 um -2.42 m 299 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.52 cm 549 um -2.42 m 0 eV 299 keV 148 um 148 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.27 cm 191 um -2.42 m 554 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.17 cm 5.13 mm -2.42 m 0 eV 88 keV 1.03 cm 1.03 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.17 cm 5.13 mm -2.42 m 466 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.17 cm 5.13 mm -2.42 m 0 eV 466 keV 277 um 277 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -253 um -798 um -2.44 m 1.34 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.43 mm -688 um -2.43 m 0 eV 88 keV 2 mm 2 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 77 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.43 mm -688 um -2.43 m 1.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.5 mm -661 um -2.43 m 0 eV 1.25 MeV 942 um 942 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -154 um -817 um -2.44 m 1.03 MeV 0 eV 0 fm 0 fm Target initStep + 1 -6.6 mm -990 um -2.43 m 566 keV 0 eV 1.18 cm 1.18 cm Target compt + 2 -5.14 mm 1.91 mm -2.42 m 0 eV 88 keV 6.43 mm 1.83 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.14 mm 1.91 mm -2.42 m 478 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.14 mm 1.92 mm -2.42 m 0 eV 478 keV 287 um 287 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.6 mm -990 um -2.43 m 465 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.62 mm -996 um -2.43 m 0 eV 465 keV 276 um 276 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -85 um -814 um -2.44 m 395 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.84 mm -31.9 um -2.43 m 0 eV 88 keV 9.96 mm 9.96 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.84 mm -31.9 um -2.43 m 307 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.84 mm -32.3 um -2.43 m 0 eV 307 keV 155 um 155 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 239 um -237 um -2.44 m 2.74 MeV 0 eV 0 fm 0 fm Target initStep + 1 -118 um 69.2 um -2.44 m 1.14 MeV 1.6 MeV 1.67 mm 1.67 mm Target eIoni + 2 -170 um 34.3 um -2.44 m 0 eV 1.14 MeV 842 um 2.51 mm Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 mm -189 um -2.44 m 9.14 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.78 mm -651 um -2.44 m 0 eV 0 eV 5.74 mm 5.74 mm Target conv + 0 -558 um -2.03 um -2.44 m 12.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 746 um -514 um -2.44 m 0 eV 0 eV 8.98 mm 8.98 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 53, Parent ID = 10 +* G4Track Information: Particle = e+, Track ID = 97, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.78 mm -651 um -2.44 m 4.57 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.15 mm 275 um -2.44 m 336 keV 2.79 MeV 2.03 mm 2.03 mm Target eBrem - 2 -1.15 mm 280 um -2.44 m 0 eV 336 keV 173 um 2.2 mm Target eIoni - 3 -1.15 mm 280 um -2.44 m 0 eV 0 eV 0 fm 2.2 mm Target annihil + 0 746 um -514 um -2.44 m 7.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 873 um -796 um -2.43 m 1.1 MeV 1.5 MeV 1.04 mm 1.04 mm Target eBrem + 2 892 um -859 um -2.43 m 0 eV 1.1 MeV 825 um 1.86 mm Target eIoni + 3 892 um -859 um -2.43 m 0 eV 0 eV 0 fm 1.86 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 53 +* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 97 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 mm 280 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 2.79 mm -787 um -2.44 m 0 eV 88 keV 6.78 mm 6.78 mm Target phot + 0 892 um -859 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.14 mm 305 um -2.44 m 432 keV 0 eV 2.51 mm 2.51 mm Target compt + 2 -2.57 mm 2.68 mm -2.44 m 162 keV 0 eV 2.77 mm 5.28 mm Target compt + 3 -2.32 mm 2.13 mm -2.44 m 0 eV 88 keV 620 um 5.9 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 56 +* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 100 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.79 mm -787 um -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 2.8 mm -793 um -2.44 m 0 eV 423 keV 243 um 243 um Target eIoni + 0 -2.32 mm 2.13 mm -2.44 m 74.2 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.32 mm 2.13 mm -2.44 m 0 eV 74.2 keV 17 um 17 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 53 +* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 100 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 mm 280 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.76 mm 446 um -2.44 m 0 eV 88 keV 1.06 mm 1.06 mm Target phot + 0 -2.57 mm 2.68 mm -2.44 m 270 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.58 mm 2.68 mm -2.44 m 0 eV 270 keV 128 um 128 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 55 +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 100 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.76 mm 446 um -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.77 mm 444 um -2.44 m 0 eV 423 keV 243 um 243 um Target eIoni + 0 -1.14 mm 305 um -2.44 m 79.3 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.14 mm 304 um -2.44 m 0 eV 79.3 keV 19 um 19 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 53 +* G4Track Information: Particle = gamma, Track ID = 99, Parent ID = 97 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 mm 275 um -2.44 m 1.45 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.99 mm 3.74 mm -2.45 m 1.45 MeV 0 eV 1.3 cm 1.3 cm Target Transportation - 2 -3.31 cm 13.1 cm -2.91 m 1.45 MeV 0 eV 47.8 cm 49.1 cm OutOfWorld Transportation + 0 892 um -859 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 9.37 mm -5.72 mm -2.43 m 432 keV 0 eV 1.05 cm 1.05 cm Target compt + 2 9.83 mm -6.79 mm -2.43 m 0 eV 88 keV 1.42 mm 1.19 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 10 +* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 99 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.78 mm -651 um -2.44 m 3.55 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.16 mm -360 um -2.44 m 972 keV 1.61 MeV 1.43 mm 1.43 mm Target eBrem - 2 -2.15 mm -349 um -2.44 m 0 eV 972 keV 705 um 2.13 mm Target eIoni + 0 9.83 mm -6.79 mm -2.43 m 344 keV 0 eV 0 fm 0 fm Target initStep + 1 9.84 mm -6.79 mm -2.43 m 0 eV 344 keV 182 um 182 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 52 +* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 99 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.16 mm -360 um -2.44 m 965 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.04 mm -340 um -2.44 m 303 keV 0 eV 226 um 226 um Target compt - 2 -803 um 1.12 mm -2.44 m 0 eV 88 keV 2.36 mm 2.58 mm Target phot + 0 9.37 mm -5.72 mm -2.43 m 78.8 keV 0 eV 0 fm 0 fm Target initStep + 1 9.37 mm -5.72 mm -2.43 m 0 eV 78.8 keV 18.8 um 18.8 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 59 +* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 97 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -803 um 1.12 mm -2.44 m 215 keV 0 eV 0 fm 0 fm Target initStep - 1 -798 um 1.13 mm -2.44 m 0 eV 215 keV 91.7 um 91.7 um Target eIoni + 0 873 um -796 um -2.43 m 4.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.49 cm -2.15 cm -2.42 m 0 eV 0 eV 2.95 cm 2.95 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 59 +* G4Track Information: Particle = e+, Track ID = 107, Parent ID = 98 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 mm -340 um -2.44 m 662 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.03 mm -343 um -2.44 m 0 eV 662 keV 440 um 440 um Target eIoni + 0 -1.49 cm -2.15 cm -2.42 m 1.98 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.46 cm -2.18 cm -2.42 m 231 keV 1.34 MeV 747 um 747 um Target eBrem + 2 -1.46 cm -2.18 cm -2.42 m 0 eV 231 keV 98 um 845 um Target eIoni + 3 -1.46 cm -2.18 cm -2.42 m 0 eV 0 eV 0 fm 845 um Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 107 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.14 mm -181 um -2.44 m 24.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.93 mm -229 um -2.44 m 0 eV 0 eV 6.52 mm 6.52 mm Target conv + 0 -1.46 cm -2.18 cm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.47 cm -2.05 cm -2.42 m 191 keV 0 eV 2.41 mm 2.41 mm Target compt + 2 -1.49 cm -2.05 cm -2.42 m 147 keV 0 eV 386 um 2.8 mm Target compt + 3 -1.48 cm -2.04 cm -2.42 m 0 eV 88 keV 184 um 2.98 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 63, Parent ID = 9 +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 110 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.93 mm -229 um -2.44 m 15 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.4 mm 334 um -2.44 m 11.5 MeV 2.85 MeV 2.35 mm 2.35 mm Target eBrem - 2 -2.12 mm -170 um -2.43 m 0 eV 2.51 MeV 1.9 mm 4.25 mm Target annihil + 0 -1.48 cm -2.04 cm -2.42 m 59.3 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.48 cm -2.04 cm -2.42 m 0 eV 59.3 keV 11.8 um 11.8 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 66, Parent ID = 63 +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 110 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.12 mm -170 um -2.43 m 8.87 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.27 mm -3.74 mm -2.43 m 0 eV 0 eV 7.05 mm 7.05 mm Target conv + 0 -1.49 cm -2.05 cm -2.42 m 43.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.49 cm -2.05 cm -2.42 m 0 eV 43.6 keV 7.16 um 7.16 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 68, Parent ID = 66 +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 110 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.27 mm -3.74 mm -2.43 m 1.28 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.19 mm -3.8 mm -2.43 m 460 keV 461 keV 479 um 479 um Target eBrem - 2 -1.18 mm -3.78 mm -2.43 m 0 eV 460 keV 271 um 750 um Target eIoni - 3 -1.18 mm -3.78 mm -2.43 m 0 eV 0 eV 0 fm 750 um Target annihil + 0 -1.47 cm -2.05 cm -2.42 m 320 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.47 cm -2.05 cm -2.42 m 0 eV 320 keV 164 um 164 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 71, Parent ID = 68 +* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 107 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.18 mm -3.78 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.12 mm -3.62 mm -2.42 m 241 keV 0 eV 5 mm 5 mm Target compt - 2 -4.33 mm -3.59 mm -2.42 m 0 eV 88 keV 291 um 5.29 mm Target phot + 0 -1.46 cm -2.18 cm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.44 cm -2.5 cm -2.42 m 511 keV 0 eV 5.78 mm 5.78 mm Target Transportation + 2 -1.39 cm -3.55 cm -2.4 m 511 keV 0 eV 1.92 cm 2.49 cm World Transportation + 3 10.8 cm -2.4 m 1.22 m 511 keV 0 eV 4.32 m 4.35 m Tracker Transportation + 4 13.5 cm -2.91 m 2 m 511 keV 0 eV 93.2 cm 5.28 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 71 +* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 107 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.33 mm -3.59 mm -2.42 m 153 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.33 mm -3.59 mm -2.42 m 0 eV 153 keV 54.5 um 54.5 um Target eIoni + 0 -1.46 cm -2.18 cm -2.42 m 410 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.52 cm -2.27 cm -2.42 m 0 eV 88 keV 2.88 mm 2.88 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 71 +* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 108 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.12 mm -3.62 mm -2.42 m 270 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.12 mm -3.62 mm -2.42 m 0 eV 270 keV 128 um 128 um Target eIoni + 0 -1.52 cm -2.27 cm -2.42 m 322 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.52 cm -2.27 cm -2.42 m 0 eV 322 keV 165 um 165 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 68 +* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 98 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.18 mm -3.78 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 9.85 mm -4.38 mm -2.44 m 431 keV 0 eV 1.87 cm 1.87 cm Target compt - 2 2.04 cm -1.24 cm -2.45 m 431 keV 0 eV 1.51 cm 3.38 cm Target Transportation - 3 69.3 cm -52.8 cm -2.91 m 431 keV 0 eV 96.4 cm 99.8 cm OutOfWorld Transportation + 0 -1.49 cm -2.15 cm -2.42 m 1.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.49 cm -2.16 cm -2.42 m 1.35 MeV 12.3 keV 15 um 15 um Target eBrem + 2 -1.49 cm -2.16 cm -2.42 m 0 eV 1.35 MeV 1.02 mm 1.04 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 70 +* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 106 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.85 mm -4.38 mm -2.44 m 80.4 keV 0 eV 0 fm 0 fm Target initStep - 1 9.85 mm -4.38 mm -2.44 m 0 eV 80.4 keV 19.4 um 19.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.19 mm -3.8 mm -2.43 m 362 keV 0 eV 0 fm 0 fm Target initStep - 1 -715 um -2.78 mm -2.43 m 0 eV 88 keV 1.13 mm 1.13 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 69 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -715 um -2.78 mm -2.43 m 274 keV 0 eV 0 fm 0 fm Target initStep - 1 -710 um -2.78 mm -2.43 m 0 eV 274 keV 131 um 131 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 66 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.27 mm -3.74 mm -2.43 m 6.56 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.55 mm -4.08 mm -2.43 m 4.92 MeV 1.26 MeV 657 um 657 um Target eBrem - 2 -1.79 mm -3.92 mm -2.43 m 3.91 MeV 544 keV 387 um 1.04 mm Target eBrem - 3 -1.5 mm -3.7 mm -2.43 m 2.38 MeV 921 keV 717 um 1.76 mm Target eBrem - 4 -1.08 mm -3.8 mm -2.43 m 608 keV 1.77 MeV 1.55 mm 3.31 mm Target eIoni - 5 -1.08 mm -3.83 mm -2.43 m 0 eV 608 keV 394 um 3.71 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 67 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.5 mm -3.7 mm -2.43 m 607 keV 0 eV 0 fm 0 fm Target initStep - 1 -175 um -2.06 mm -2.43 m 321 keV 0 eV 2.12 mm 2.12 mm Target compt - 2 -448 um -1.64 mm -2.43 m 171 keV 0 eV 567 um 2.68 mm Target compt - 3 -623 um -1.7 mm -2.43 m 0 eV 88 keV 613 um 3.3 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 78 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -623 um -1.7 mm -2.43 m 82.9 keV 0 eV 0 fm 0 fm Target initStep - 1 -625 um -1.7 mm -2.43 m 0 eV 82.9 keV 20.4 um 20.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 78 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -448 um -1.64 mm -2.43 m 150 keV 0 eV 0 fm 0 fm Target initStep - 1 -449 um -1.64 mm -2.43 m 0 eV 150 keV 52.6 um 52.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 78 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -175 um -2.06 mm -2.43 m 287 keV 0 eV 0 fm 0 fm Target initStep - 1 -167 um -2.05 mm -2.43 m 0 eV 287 keV 140 um 140 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 67 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.79 mm -3.92 mm -2.43 m 465 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.47 mm 74.6 um -2.43 m 452 keV 0 eV 5.43 mm 5.43 mm Target compt - 2 -3.81 mm 460 um -2.43 m 0 eV 88 keV 689 um 6.12 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 77 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.81 mm 460 um -2.43 m 364 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.81 mm 460 um -2.43 m 0 eV 364 keV 197 um 197 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 77 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.47 mm 74.6 um -2.43 m 13.4 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.47 mm 74.7 um -2.43 m 0 eV 13.4 keV 1.09 um 1.09 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 67 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.55 mm -4.08 mm -2.43 m 386 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.02 mm -4.06 mm -2.43 m 0 eV 88 keV 532 um 532 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.02 mm -4.06 mm -2.43 m 298 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.02 mm -4.06 mm -2.43 m 0 eV 298 keV 148 um 148 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 65, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.12 mm -170 um -2.43 m 1.17 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.5 cm -6.58 mm -2.42 m 1.17 MeV 0 eV 2.96 cm 2.96 cm Target Transportation - 2 9.12 cm -2.22 cm -2.4 m 1.17 MeV 0 eV 7.21 cm 10.2 cm World Transportation - 3 2.4 m -56.8 cm -1.56 m 1.17 MeV 0 eV 2.52 m 2.62 m Tracker Transportation - 4 2.91 m -68.9 cm -1.37 m 1.17 MeV 0 eV 55.6 cm 3.17 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.4 mm 334 um -2.44 m 604 keV 0 eV 0 fm 0 fm Target initStep - 1 -392 um -5.22 mm -2.43 m 216 keV 0 eV 8.68 mm 8.68 mm Target compt - 2 79.7 um -5.42 mm -2.43 m 0 eV 88 keV 1.14 mm 9.82 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 79.7 um -5.42 mm -2.43 m 128 keV 0 eV 0 fm 0 fm Target initStep - 1 82.3 um -5.42 mm -2.43 m 0 eV 128 keV 41.2 um 41.2 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 64 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -392 um -5.22 mm -2.43 m 387 keV 0 eV 0 fm 0 fm Target initStep - 1 -392 um -5.22 mm -2.43 m 0 eV 387 keV 215 um 215 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.93 mm -229 um -2.44 m 8.42 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.93 mm -231 um -2.44 m 8.08 MeV 26 keV 24.8 um 24.8 um Target eBrem - 2 -3.39 mm 185 um -2.44 m 4.22 MeV 3.86 MeV 2.71 mm 2.73 mm Target eIoni - 3 -3.23 mm 559 um -2.44 m 1.72 MeV 561 keV 491 um 3.22 mm Target eBrem - 4 -3.27 mm 796 um -2.44 m 304 keV 1.41 MeV 1.27 mm 4.49 mm Target eIoni - 5 -3.26 mm 791 um -2.44 m 0 eV 304 keV 153 um 4.64 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 62 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.23 mm 559 um -2.44 m 1.94 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.13 mm 8.8 mm -2.44 m 1.72 MeV 0 eV 9.16 mm 9.16 mm Target compt - 2 -1.1 mm 1.49 cm -2.44 m 791 keV 0 eV 6.26 mm 1.54 cm Target compt - 3 -814 um 1.68 cm -2.44 m 444 keV 0 eV 3.75 mm 1.92 cm Target compt - 4 1.28 mm 1.82 cm -2.44 m 0 eV 88 keV 2.56 mm 2.17 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 88 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.28 mm 1.82 cm -2.44 m 356 keV 0 eV 0 fm 0 fm Target initStep - 1 1.29 mm 1.82 cm -2.44 m 0 eV 356 keV 192 um 192 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 88 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -814 um 1.68 cm -2.44 m 347 keV 0 eV 0 fm 0 fm Target initStep - 1 -820 um 1.68 cm -2.44 m 0 eV 347 keV 184 um 184 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 88 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.1 mm 1.49 cm -2.44 m 927 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.1 mm 1.49 cm -2.44 m 0 eV 927 keV 666 um 666 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 88 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.13 mm 8.8 mm -2.44 m 222 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.14 mm 8.8 mm -2.44 m 0 eV 222 keV 96.2 um 96.2 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 62 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.93 mm -231 um -2.44 m 311 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.16 mm -380 um -2.44 m 0 eV 88 keV 1.97 mm 1.97 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 87 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.16 mm -380 um -2.44 m 223 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.16 mm -384 um -2.44 m 0 eV 223 keV 96.6 um 96.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.09 mm -190 um -2.44 m 12.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.87 mm -933 um -2.43 m 5.63 MeV 0 eV 1.97 cm 1.97 cm Target compt - 2 -2.42 mm -1.49 mm -2.42 m 0 eV 0 eV 2.65 mm 2.23 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 96, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.42 mm -1.49 mm -2.42 m 867 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.41 mm -1.51 mm -2.42 m 0 eV 867 keV 621 um 621 um Target eIoni - 2 -2.41 mm -1.51 mm -2.42 m 0 eV 0 eV 0 fm 621 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 96 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.41 mm -1.51 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.72 mm -5.04 um -2.42 m 0 eV 88 keV 2.05 mm 2.05 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 98 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.72 mm -5.04 um -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.71 mm -1.16 um -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 96 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.41 mm -1.51 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.31 mm -2 mm -2.42 m 172 keV 0 eV 668 um 668 um Target compt - 2 -2.31 mm -1.98 mm -2.42 m 0 eV 88 keV 18.4 um 686 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 97 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.31 mm -1.98 mm -2.42 m 83.6 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.31 mm -1.98 mm -2.42 m 0 eV 83.6 keV 20.6 um 20.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 97 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.31 mm -2 mm -2.42 m 339 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.31 mm -2.01 mm -2.42 m 0 eV 339 keV 179 um 179 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.42 mm -1.49 mm -2.42 m 3.74 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.87 mm -1.89 mm -2.42 m 1.95 MeV 1.38 MeV 1.26 mm 1.26 mm Target eBrem - 2 -1.75 mm -1.94 mm -2.42 m 671 keV 1.28 MeV 1.11 mm 2.37 mm Target eBrem - 3 -1.77 mm -1.92 mm -2.42 m 0 eV 671 keV 448 um 2.82 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 102, Parent ID = 95 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.87 mm -1.89 mm -2.42 m 412 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.88 mm -5.07 mm -2.42 m 377 keV 0 eV 3.83 mm 3.83 mm Target compt - 2 -2.79 mm -6.03 mm -2.42 m 203 keV 0 eV 989 um 4.82 mm Target compt - 3 -2.31 mm -5.62 mm -2.43 m 0 eV 88 keV 1.05 mm 5.87 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 102 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.31 mm -5.62 mm -2.43 m 115 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.3 mm -5.62 mm -2.43 m 0 eV 115 keV 34.3 um 34.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 102 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.79 mm -6.03 mm -2.42 m 174 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.79 mm -6.03 mm -2.42 m 0 eV 174 keV 66.4 um 66.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 102 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.88 mm -5.07 mm -2.42 m 34.9 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.88 mm -5.07 mm -2.42 m 0 eV 34.9 keV 4.98 um 4.98 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.87 mm -933 um -2.43 m 6.54 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.88 mm -934 um -2.43 m 5.36 MeV 42.1 keV 39.3 um 39.3 um Target eBrem - 2 -2.91 mm -909 um -2.42 m 4.05 MeV 242 keV 183 um 222 um Target eBrem - 3 -2.43 mm -519 um -2.42 m 1.24 MeV 2.81 MeV 1.45 mm 1.67 mm Target eBrem - 4 -2.4 mm -463 um -2.42 m 0 eV 1.24 MeV 939 um 2.61 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 107, Parent ID = 94 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.91 mm -909 um -2.42 m 1.06 MeV 0 eV 0 fm 0 fm Target initStep - 1 -4.82 mm 3.02 mm -2.42 m 500 keV 0 eV 6.39 mm 6.39 mm Target compt - 2 -4.94 mm 4.43 mm -2.42 m 401 keV 0 eV 1.46 mm 7.85 mm Target compt - 3 -2.16 mm 1.08 cm -2.42 m 0 eV 88 keV 7.27 mm 1.51 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 107 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.16 mm 1.08 cm -2.42 m 313 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.15 mm 1.08 cm -2.42 m 0 eV 313 keV 159 um 159 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 107 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.94 mm 4.43 mm -2.42 m 99.2 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.94 mm 4.44 mm -2.42 m 0 eV 99.2 keV 27.4 um 27.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 107 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.82 mm 3.02 mm -2.42 m 562 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.83 mm 3.02 mm -2.42 m 0 eV 562 keV 356 um 356 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 94 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.88 mm -934 um -2.43 m 1.15 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.34 cm -5.24 mm -2.4 m 1.15 MeV 0 eV 2.75 cm 2.75 cm Target Transportation - 2 -1.02 m -41.8 cm -0.455 fm 1.15 MeV 0 eV 2.64 m 2.66 m Tracker Transportation - 3 -1.1 m -45.2 cm 19.5 cm 1.15 MeV 0 eV 21.4 cm 2.88 m Chamber Transportation - 4 -1.36 m -55.6 cm 80 cm 1.15 MeV 0 eV 66.5 cm 3.54 m Tracker Transportation - 5 -1.44 m -59 cm 1 m 1.15 MeV 0 eV 22 cm 3.76 m Chamber Transportation - 6 -1.69 m -69.4 cm 1.6 m 1.15 MeV 0 eV 65.9 cm 4.42 m Tracker Transportation - 7 -1.78 m -72.8 cm 1.8 m 1.15 MeV 0 eV 22 cm 4.64 m Chamber Transportation - 8 -2.03 m -83.1 cm 2.4 m 1.15 MeV 0 eV 65.9 cm 5.3 m Tracker Transportation - 9 -2.25 m -91.9 cm 2.91 m 1.15 MeV 0 eV 56 cm 5.86 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -997 um -27.2 um -2.45 m 17.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.47 mm -352 um -2.44 m 0 eV 0 eV 9.66 mm 9.66 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 112, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.47 mm -352 um -2.44 m 3.63 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.61 mm -1.11 mm -2.44 m 1.91 MeV 1.43 MeV 1.46 mm 1.46 mm Target eBrem - 2 -2 mm -1.25 mm -2.44 m 380 keV 1.53 MeV 1.38 mm 2.84 mm Target eIoni - 3 -2.03 mm -1.27 mm -2.44 m 0 eV 206 keV 166 um 3.01 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 112 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.03 mm -1.27 mm -2.44 m 826 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.42 mm -1.06 cm -2.44 m 458 keV 0 eV 9.77 mm 9.77 mm Target compt - 2 -2.24 mm -1.73 cm -2.43 m 0 eV 88 keV 9.14 mm 1.89 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 115 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.24 mm -1.73 cm -2.43 m 370 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.24 mm -1.73 cm -2.43 m 0 eV 370 keV 202 um 202 um Target eIoni + 0 -1.49 cm -2.16 cm -2.42 m 340 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.54 cm -2.2 cm -2.42 m 0 eV 88 keV 928 um 928 um Target phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 116, Parent ID = 115 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.42 mm -1.06 cm -2.44 m 368 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.42 mm -1.06 cm -2.44 m 0 eV 368 keV 200 um 200 um Target eIoni + 0 -1.54 cm -2.2 cm -2.42 m 252 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.54 cm -2.2 cm -2.42 m 0 eV 252 keV 116 um 116 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 112 +* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.03 mm -1.27 mm -2.44 m 370 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.01 mm -1.15 mm -2.44 m 0 eV 88 keV 117 um 117 um Target phot + 0 746 um -514 um -2.44 m 4.05 MeV 0 eV 0 fm 0 fm Target initStep + 1 977 um 2.38 um -2.44 m 1.3 MeV 2.43 MeV 1.91 mm 1.91 mm Target eBrem + 2 1.01 mm 53.5 um -2.44 m 0 eV 1.3 MeV 986 um 2.9 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 118, Parent ID = 114 +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 96 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.01 mm -1.15 mm -2.44 m 282 keV 0 eV 0 fm 0 fm Target initStep - 1 -2 mm -1.15 mm -2.44 m 0 eV 282 keV 137 um 137 um Target eIoni + 0 977 um 2.38 um -2.44 m 312 keV 0 eV 0 fm 0 fm Target initStep + 1 1.03 mm 114 um -2.44 m 0 eV 88 keV 141 um 141 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 113, Parent ID = 112 +* G4Track Information: Particle = e-, Track ID = 118, Parent ID = 117 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.61 mm -1.11 mm -2.44 m 292 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.74 mm -1.14 mm -2.44 m 0 eV 88 keV 205 um 205 um Target phot + 0 1.03 mm 114 um -2.44 m 224 keV 0 eV 0 fm 0 fm Target initStep + 1 1.04 mm 116 um -2.44 m 0 eV 224 keV 97.1 um 97.1 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 113 +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.74 mm -1.14 mm -2.44 m 204 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.74 mm -1.14 mm -2.44 m 0 eV 204 keV 84.4 um 84.4 um Target eIoni + 0 -575 um 4.65 um -2.44 m 1.62 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.45 mm -1.1 mm -2.41 m 258 keV 0 eV 3.77 cm 3.77 cm Target compt + 2 3.46 mm -316 um -2.41 m 0 eV 88 keV 1.03 mm 3.87 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.47 mm -352 um -2.44 m 12.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.24 mm -387 um -2.44 m 11.1 MeV 887 keV 796 um 796 um Target eBrem - 2 810 um -448 um -2.43 m 1.16 MeV 5.09 MeV 3.11 mm 3.9 mm Target eBrem - 3 872 um -437 um -2.43 m 0 eV 1.16 MeV 867 um 4.77 mm Target eIoni + 0 3.46 mm -316 um -2.41 m 170 keV 0 eV 0 fm 0 fm Target initStep + 1 3.46 mm -313 um -2.41 m 0 eV 170 keV 63.8 um 63.8 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 111 +* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 810 um -448 um -2.43 m 4.87 MeV 0 eV 0 fm 0 fm Target initStep - 1 4.03 mm -2.42 mm -2.43 m 289 keV 0 eV 3.82 mm 3.82 mm Target compt - 2 3.55 mm -2.57 mm -2.43 m 0 eV 88 keV 511 um 4.33 mm Target phot + 0 3.45 mm -1.1 mm -2.41 m 1.36 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.59 mm -1.11 mm -2.41 m 272 keV 1.09 MeV 1.03 mm 1.03 mm Target eIoni + 2 3.59 mm -1.12 mm -2.41 m 0 eV 272 keV 129 um 1.16 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 121 +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.55 mm -2.57 mm -2.43 m 201 keV 0 eV 0 fm 0 fm Target initStep - 1 3.55 mm -2.57 mm -2.43 m 0 eV 201 keV 82.9 um 82.9 um Target eIoni + 0 -593 um -21.2 um -2.45 m 25.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -247 um 433 um -2.43 m 0 eV 0 eV 1.96 cm 1.96 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 121 +* G4Track Information: Particle = e+, Track ID = 122, Parent ID = 8 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.03 mm -2.42 mm -2.43 m 4.58 MeV 0 eV 0 fm 0 fm Target initStep - 1 4.33 mm -2.45 mm -2.43 m 3.64 MeV 376 keV 339 um 339 um Target eBrem - 2 4.48 mm -2.63 mm -2.43 m 1.27 MeV 1.07 MeV 546 um 885 um Target eBrem - 3 4.36 mm -2.51 mm -2.43 m 438 keV 526 keV 458 um 1.34 mm Target eBrem - 4 4.35 mm -2.52 mm -2.43 m 0 eV 438 keV 255 um 1.6 mm Target eIoni + 0 -247 um 433 um -2.43 m 16.8 MeV 0 eV 0 fm 0 fm Target initStep + 1 -225 um 477 um -2.43 m 15 MeV 504 keV 309 um 309 um Target eBrem + 2 -883 um 505 um -2.42 m 8.43 MeV 2.35 MeV 2.1 mm 2.41 mm Target eBrem + 3 -989 um 588 um -2.42 m 4.39 MeV 1.54 MeV 1.04 mm 3.46 mm Target eBrem + 4 -363 um 358 um -2.42 m 2.2 MeV 1.9 MeV 1.58 mm 5.04 mm Target eBrem + 5 -454 um 312 um -2.42 m 2.05 MeV 149 keV 193 um 5.23 mm Target eBrem + 6 -461 um 178 um -2.42 m 0 eV 2.05 MeV 1.44 mm 6.67 mm Target eIoni + 7 -461 um 178 um -2.42 m 0 eV 0 eV 0 fm 6.67 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -461 um 178 um -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.56 mm 1.67 cm -2.43 m 353 keV 0 eV 2.08 cm 2.08 cm Target compt + 2 6.11 mm 1.68 cm -2.43 m 0 eV 88 keV 1.94 mm 2.27 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 128 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.11 mm 1.68 cm -2.43 m 265 keV 0 eV 0 fm 0 fm Target initStep + 1 6.11 mm 1.68 cm -2.43 m 0 eV 265 keV 125 um 125 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 128 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.56 mm 1.67 cm -2.43 m 158 keV 0 eV 0 fm 0 fm Target initStep + 1 4.55 mm 1.67 cm -2.43 m 0 eV 158 keV 56.8 um 56.8 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -461 um 178 um -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.5 mm -1.65 cm -2.41 m 0 eV 88 keV 2.09 cm 2.09 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 127 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.5 mm -1.65 cm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.5 mm -1.65 cm -2.41 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 122 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.36 mm -2.51 mm -2.43 m 301 keV 0 eV 0 fm 0 fm Target initStep - 1 496 um -3.97 mm -2.43 m 0 eV 88 keV 4.14 mm 4.14 mm Target phot + 0 -363 um 358 um -2.42 m 300 keV 0 eV 0 fm 0 fm Target initStep + 1 -664 um -201 um -2.42 m 226 keV 0 eV 794 um 794 um Target compt + 2 -1.16 mm -176 um -2.42 m 0 eV 88 keV 510 um 1.3 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 126 +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 126 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 496 um -3.97 mm -2.43 m 213 keV 0 eV 0 fm 0 fm Target initStep - 1 493 um -3.98 mm -2.43 m 0 eV 213 keV 90 um 90 um Target eIoni + 0 -1.16 mm -176 um -2.42 m 138 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.16 mm -174 um -2.42 m 0 eV 138 keV 46.2 um 46.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 126 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -664 um -201 um -2.42 m 73.5 keV 0 eV 0 fm 0 fm Target initStep + 1 -663 um -202 um -2.42 m 0 eV 73.5 keV 16.7 um 16.7 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 125, Parent ID = 122 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.48 mm -2.63 mm -2.43 m 1.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 8.92 mm -1.4 mm -2.45 m 1.3 MeV 0 eV 1.65 cm 1.65 cm Target Transportation - 2 13.8 cm 3.42 cm -2.91 m 1.3 MeV 0 eV 47.9 cm 49.6 cm OutOfWorld Transportation + 0 -989 um 588 um -2.42 m 2.49 MeV 0 eV 0 fm 0 fm Target initStep + 1 70.5 um 5.22 mm -2.41 m 744 keV 0 eV 1.02 cm 1.02 cm Target compt + 2 1.04 cm 3.35 mm -2.41 m 615 keV 0 eV 1.27 cm 2.29 cm Target compt + 3 1.22 cm 1.39 mm -2.4 m 323 keV 0 eV 4.35 mm 2.73 cm Target compt + 4 1.01 cm 935 um -2.4 m 0 eV 88 keV 2.8 mm 3.01 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 137, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.01 cm 935 um -2.4 m 235 keV 0 eV 0 fm 0 fm Target initStep + 1 1.01 cm 940 um -2.4 m 0 eV 235 keV 105 um 105 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.22 cm 1.39 mm -2.4 m 292 keV 0 eV 0 fm 0 fm Target initStep + 1 1.23 cm 1.38 mm -2.4 m 0 eV 292 keV 143 um 143 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.04 cm 3.35 mm -2.41 m 130 keV 0 eV 0 fm 0 fm Target initStep + 1 1.04 cm 3.35 mm -2.41 m 0 eV 130 keV 41.7 um 41.7 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 70.5 um 5.22 mm -2.41 m 1.75 MeV 0 eV 0 fm 0 fm Target initStep + 1 190 um 5.12 mm -2.41 m 205 keV 1.54 MeV 1.28 mm 1.28 mm Target eIoni + 2 186 um 5.12 mm -2.41 m 0 eV 205 keV 85.1 um 1.37 mm Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 122 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.33 mm -2.45 mm -2.43 m 568 keV 0 eV 0 fm 0 fm Target initStep - 1 1.27 cm -3.95 mm -2.44 m 0 eV 88 keV 9.5 mm 9.5 mm Target phot + 0 -883 um 505 um -2.42 m 4.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.75 mm -3.72 mm -2.41 m 0 eV 0 eV 1.57 cm 1.57 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 124 +* G4Track Information: Particle = e+, Track ID = 139, Parent ID = 124 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.27 cm -3.95 mm -2.44 m 480 keV 0 eV 0 fm 0 fm Target initStep - 1 1.27 cm -3.95 mm -2.44 m 0 eV 480 keV 288 um 288 um Target eIoni + 0 1.75 mm -3.72 mm -2.41 m 2.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.18 mm -4.02 mm -2.41 m 799 keV 1.5 MeV 1.54 mm 1.54 mm Target eIoni + 2 2.17 mm -4.07 mm -2.41 m 0 eV 799 keV 559 um 2.1 mm Target eIoni + 3 2.17 mm -4.07 mm -2.41 m 0 eV 0 eV 0 fm 2.1 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 111 +* G4Track Information: Particle = gamma, Track ID = 141, Parent ID = 139 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.24 mm -387 um -2.44 m 696 keV 0 eV 0 fm 0 fm Target initStep - 1 -786 um -1.04 mm -2.43 m 349 keV 0 eV 1.28 mm 1.28 mm Target compt - 2 -228 um -184 um -2.43 m 279 keV 0 eV 1.26 mm 2.53 mm Target compt - 3 827 um -360 um -2.43 m 0 eV 88 keV 1.47 mm 4 mm Target phot + 0 2.17 mm -4.07 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.29 mm -4.16 mm -2.41 m 0 eV 88 keV 201 um 201 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 120 +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 141 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 827 um -360 um -2.43 m 191 keV 0 eV 0 fm 0 fm Target initStep - 1 829 um -356 um -2.43 m 0 eV 191 keV 77 um 77 um Target eIoni + 0 2.29 mm -4.16 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 2.3 mm -4.17 mm -2.41 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 120 +* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 139 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -228 um -184 um -2.43 m 69.2 keV 0 eV 0 fm 0 fm Target initStep - 1 -228 um -182 um -2.43 m 0 eV 69.2 keV 15.2 um 15.2 um Target eIoni + 0 2.17 mm -4.07 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.71 mm -268 um -2.4 m 186 keV 0 eV 7.98 mm 7.98 mm Target compt + 2 -1.56 mm -904 um -2.4 m 0 eV 88 keV 1.31 mm 9.29 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 120 +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 140 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -786 um -1.04 mm -2.43 m 347 keV 0 eV 0 fm 0 fm Target initStep - 1 -784 um -1.05 mm -2.43 m 0 eV 347 keV 184 um 184 um Target eIoni + 0 -1.56 mm -904 um -2.4 m 97.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.56 mm -905 um -2.4 m 0 eV 97.6 keV 26.5 um 26.5 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 140 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.71 mm -268 um -2.4 m 325 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.71 mm -262 um -2.4 m 0 eV 325 keV 168 um 168 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 124 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.75 mm -3.72 mm -2.41 m 925 keV 0 eV 0 fm 0 fm Target initStep + 1 1.77 mm -3.75 mm -2.41 m 0 eV 925 keV 662 um 662 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 123, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -225 um 477 um -2.43 m 1.24 MeV 0 eV 0 fm 0 fm Target initStep + 1 -416 um 1.67 mm -2.42 m 0 eV 88 keV 7.48 mm 7.48 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 123 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -416 um 1.67 mm -2.42 m 1.15 MeV 0 eV 0 fm 0 fm Target initStep + 1 -425 um 1.65 mm -2.42 m 0 eV 1.15 MeV 854 um 854 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -247 um 433 um -2.43 m 7.91 MeV 0 eV 0 fm 0 fm Target initStep + 1 -261 um 255 um -2.43 m 2.55 MeV 614 keV 582 um 582 um Target eBrem + 2 -420 um 29 um -2.43 m 616 keV 1.93 MeV 1.61 mm 2.19 mm Target eIoni + 3 -370 um 43.2 um -2.43 m 496 keV 120 keV 92.3 um 2.28 mm Target eBrem + 4 -366 um 39.6 um -2.43 m 0 eV 496 keV 301 um 2.58 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 146, Parent ID = 121 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -261 um 255 um -2.43 m 4.75 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.5 cm -1.51 cm -2.43 m 4.75 MeV 0 eV 3.09 cm 3.09 cm Target Transportation + 2 1.38 m -83.7 cm -2.91 m 4.75 MeV 0 eV 1.65 m 1.68 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -618 um -37.7 um -2.45 m 3.23 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.33 mm 358 um -2.41 m 2.92 MeV 0 eV 3.84 cm 3.84 cm Target compt + 2 1.87 mm 68.7 nm -2.4 m 315 keV 0 eV 3.05 mm 4.14 cm Target compt + 3 3.88 mm -3.21 mm -2.41 m 310 keV 0 eV 4.8 mm 4.62 cm Target compt + 4 4.28 mm -3.7 mm -2.41 m 0 eV 88 keV 704 um 4.69 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.28 mm -3.7 mm -2.41 m 222 keV 0 eV 0 fm 0 fm Target initStep + 1 4.28 mm -3.7 mm -2.41 m 0 eV 222 keV 95.9 um 95.9 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.88 mm -3.21 mm -2.41 m 4.95 keV 0 eV 0 fm 0 fm Target initStep + 1 3.88 mm -3.21 mm -2.41 m 0 eV 4.95 keV 254 nm 254 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.87 mm 68.7 nm -2.4 m 2.61 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.48 mm 96.6 um -2.4 m 809 keV 1.48 MeV 1.12 mm 1.12 mm Target eBrem + 2 1.48 mm 52.1 um -2.4 m 248 keV 185 keV 229 um 1.35 mm Target eBrem + 3 1.48 mm 46.5 um -2.4 m 0 eV 248 keV 113 um 1.47 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 152, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.48 mm 52.1 um -2.4 m 375 keV 0 eV 0 fm 0 fm Target initStep + 1 609 um -344 um -2.4 m 0 eV 88 keV 957 um 957 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 152 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 609 um -344 um -2.4 m 287 keV 0 eV 0 fm 0 fm Target initStep + 1 601 um -349 um -2.4 m 0 eV 287 keV 140 um 140 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 151, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.48 mm 96.6 um -2.4 m 325 keV 0 eV 0 fm 0 fm Target initStep + 1 884 um 613 um -2.41 m 0 eV 88 keV 1.03 mm 1.03 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 151 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 884 um 613 um -2.41 m 237 keV 0 eV 0 fm 0 fm Target initStep + 1 880 um 617 um -2.41 m 0 eV 237 keV 106 um 106 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.33 mm 358 um -2.41 m 302 keV 0 eV 0 fm 0 fm Target initStep + 1 1.33 mm 364 um -2.41 m 0 eV 302 keV 151 um 151 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -789 um -29.7 um -2.45 m 27.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.48 mm 156 um -2.44 m 0 eV 0 eV 1.29 cm 1.29 cm Target conv + 0 -720 um -38.7 um -2.45 m 6.09 MeV 0 eV 0 fm 0 fm Target initStep + 1 -565 um 24.1 um -2.41 m 0 eV 0 eV 4.05 cm 4.05 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 133, Parent ID = 6 +* G4Track Information: Particle = e+, Track ID = 156, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.48 mm 156 um -2.44 m 8.13 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.51 mm 51.3 um -2.43 m 1.87 MeV 303 keV 277 um 277 um Target eBrem - 2 -1.59 mm -239 um -2.43 m 793 keV 586 keV 458 um 735 um Target eBrem - 3 -1.55 mm -276 um -2.43 m 0 eV 793 keV 556 um 1.29 mm Target eIoni - 4 -1.55 mm -276 um -2.43 m 0 eV 0 eV 0 fm 1.29 mm Target annihil + 0 -565 um 24.1 um -2.41 m 1.24 MeV 0 eV 0 fm 0 fm Target initStep + 1 -489 um 35.7 um -2.41 m 0 eV 136 keV 150 um 150 um Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 133 +* G4Track Information: Particle = gamma, Track ID = 158, Parent ID = 156 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.55 mm -276 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.4 mm -4.36 mm -2.44 m 345 keV 0 eV 5.06 mm 5.06 mm Target compt - 2 5.21 mm -5.16 mm -2.44 m 0 eV 88 keV 6.42 mm 1.15 cm Target phot + 0 -489 um 35.7 um -2.41 m 952 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.83 mm 7.29 mm -2.41 m 0 eV 88 keV 1.02 cm 1.02 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 139, Parent ID = 137 +* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 158 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.21 mm -5.16 mm -2.44 m 257 keV 0 eV 0 fm 0 fm Target initStep - 1 5.21 mm -5.16 mm -2.44 m 0 eV 257 keV 120 um 120 um Target eIoni + 0 -3.83 mm 7.29 mm -2.41 m 864 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.85 mm 7.33 mm -2.41 m 0 eV 864 keV 610 um 610 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 137 +* G4Track Information: Particle = gamma, Track ID = 157, Parent ID = 156 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.4 mm -4.36 mm -2.44 m 166 keV 0 eV 0 fm 0 fm Target initStep - 1 1.4 mm -4.37 mm -2.44 m 0 eV 166 keV 61.6 um 61.6 um Target eIoni + 0 -489 um 35.7 um -2.41 m 1.17 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.5 cm 7.4 mm -2.41 m 1.17 MeV 0 eV 2.72 cm 2.72 cm Target Transportation + 2 7.54 cm 2.2 cm -2.43 m 1.07 MeV 0 eV 5.39 cm 8.11 cm World compt + 3 2.91 m 1.57 m -2.57 m 1.07 MeV 0 eV 3.23 m 3.31 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 133 +* G4Track Information: Particle = e-, Track ID = 160, Parent ID = 157 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.55 mm -276 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.45 mm 3.76 mm -2.43 m 0 eV 88 keV 4.99 mm 4.99 mm Target phot + 0 7.54 cm 2.2 cm -2.43 m 99.9 keV 0 eV 0 fm 0 fm World initStep + 1 9.24 cm 4.38 mm -2.44 m 91.1 keV 8.86 keV 2.76 cm 2.76 cm World eIoni + 2 8.57 cm -1.71 cm -2.44 m 74.3 keV 16.7 keV 2.37 cm 5.13 cm World eIoni + 3 7.94 cm -3.09 cm -2.43 m 65.5 keV 8.84 keV 1.71 cm 6.83 cm World eIoni + 4 6.76 cm -3.6 cm -2.43 m 58.8 keV 6.69 keV 1.4 cm 8.23 cm World eIoni + 5 5.72 cm -3.59 cm -2.43 m 52.3 keV 6.56 keV 1.18 cm 9.41 cm World eIoni + 6 5.13 cm -3.76 cm -2.44 m 44.4 keV 7.89 keV 9.86 mm 10.4 cm World eIoni + 7 4.5 cm -3.64 cm -2.44 m 37.9 keV 6.41 keV 7.77 mm 11.2 cm World eIoni + 8 4.31 cm -3.81 cm -2.45 m 34.3 keV 3.64 keV 6.27 mm 11.8 cm World eIoni + 9 4.65 cm -4.04 cm -2.45 m 19.2 keV 15.1 keV 5.49 mm 12.4 cm World eIoni + 10 4.74 cm -4.28 cm -2.45 m 15.7 keV 3.55 keV 2.9 mm 12.6 cm World eIoni + 11 4.84 cm -4.35 cm -2.45 m 11.1 keV 4.55 keV 2.43 mm 12.9 cm World eIoni + 12 4.88 cm -4.47 cm -2.45 m 5.53 keV 5.59 keV 1.85 mm 13.1 cm World eIoni + 13 4.91 cm -4.5 cm -2.45 m 0 eV 5.53 keV 813 um 13.1 cm World eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 136 +* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.45 mm 3.76 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.45 mm 3.77 mm -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 135, Parent ID = 133 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.59 mm -239 um -2.43 m 491 keV 0 eV 0 fm 0 fm Target initStep - 1 5.76 mm -3.64 mm -2.43 m 210 keV 0 eV 8.51 mm 8.51 mm Target compt - 2 5.61 mm -3.78 mm -2.43 m 0 eV 88 keV 766 um 9.27 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 135 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.61 mm -3.78 mm -2.43 m 122 keV 0 eV 0 fm 0 fm Target initStep - 1 5.61 mm -3.78 mm -2.43 m 0 eV 122 keV 38.1 um 38.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 135 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.76 mm -3.64 mm -2.43 m 281 keV 0 eV 0 fm 0 fm Target initStep - 1 5.77 mm -3.64 mm -2.43 m 0 eV 281 keV 136 um 136 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 134, Parent ID = 133 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.51 mm 51.3 um -2.43 m 5.95 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.5 cm -9.09 mm -2.41 m 5.95 MeV 0 eV 3.67 cm 3.67 cm Target Transportation - 2 -3.22 cm -1.19 cm -2.4 m 5.95 MeV 0 eV 1.12 cm 4.79 cm World Transportation - 3 -2.4 m -93.3 cm 29.5 cm 5.95 MeV 0 eV 3.7 m 3.75 m Tracker Transportation - 4 -2.91 m -1.13 m 87.5 cm 5.95 MeV 0 eV 79.8 cm 4.55 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.48 mm 156 um -2.44 m 18 MeV 0 eV 0 fm 0 fm Target initStep - 1 -965 um -222 um -2.43 m 9.83 MeV 3.62 MeV 2.36 mm 2.36 mm Target eBrem - 2 -995 um -425 um -2.43 m 8.57 MeV 958 keV 503 um 2.87 mm Target eBrem - 3 -1.24 mm -149 um -2.43 m 3.27 MeV 1.46 MeV 1.18 mm 4.05 mm Target eBrem - 4 -1.33 mm 188 um -2.43 m 745 keV 2.08 MeV 1.73 mm 5.78 mm Target eBrem - 5 -1.34 mm 162 um -2.43 m 0 eV 745 keV 510 um 6.29 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 146, Parent ID = 132 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.33 mm 188 um -2.43 m 444 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.33 mm -4.98 mm -2.42 m 186 keV 0 eV 8.78 mm 8.78 mm Target compt - 2 -2.42 mm -4.8 mm -2.42 m 110 keV 0 eV 207 um 8.98 mm Target compt - 3 -2.12 mm -5.03 mm -2.42 m 0 eV 88 keV 386 um 9.37 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 146 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.12 mm -5.03 mm -2.42 m 21.8 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.12 mm -5.03 mm -2.42 m 0 eV 21.8 keV 2.32 um 2.32 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 146 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.42 mm -4.8 mm -2.42 m 76.4 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.43 mm -4.8 mm -2.42 m 0 eV 76.4 keV 17.9 um 17.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 146 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.33 mm -4.98 mm -2.42 m 258 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.33 mm -4.98 mm -2.42 m 0 eV 258 keV 120 um 120 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 145, Parent ID = 132 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.24 mm -149 um -2.43 m 3.84 MeV 0 eV 0 fm 0 fm Target initStep - 1 5.46 mm 980 um -2.43 m 0 eV 0 eV 8.22 mm 8.22 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 151, Parent ID = 145 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.46 mm 980 um -2.43 m 1.11 MeV 0 eV 0 fm 0 fm Target initStep - 1 5.51 mm 992 um -2.43 m 0 eV 1.11 MeV 837 um 837 um Target eIoni - 2 5.51 mm 992 um -2.43 m 0 eV 0 eV 0 fm 837 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 153, Parent ID = 151 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.51 mm 992 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 5.43 mm 2.34 mm -2.42 m 0 eV 88 keV 2.83 mm 2.83 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 153 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.43 mm 2.34 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 5.42 mm 2.35 mm -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 152, Parent ID = 151 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.51 mm 992 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 5.51 mm 988 um -2.43 m 0 eV 88 keV 8.85 um 8.85 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 152 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.51 mm 988 um -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 5.52 mm 983 um -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 145 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.46 mm 980 um -2.43 m 1.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 5.63 mm 1.14 mm -2.43 m 264 keV 1.44 MeV 1.26 mm 1.26 mm Target eIoni - 2 5.64 mm 1.14 mm -2.43 m 0 eV 264 keV 124 um 1.39 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 144, Parent ID = 132 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -995 um -425 um -2.43 m 303 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.35 mm -611 um -2.43 m 0 eV 88 keV 804 um 804 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 144 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.35 mm -611 um -2.43 m 215 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.35 mm -607 um -2.43 m 0 eV 215 keV 91.3 um 91.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 143, Parent ID = 132 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -965 um -222 um -2.43 m 4.55 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.04 mm -2.07 cm -2.41 m 0 eV 0 eV 2.99 cm 2.99 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 158, Parent ID = 143 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 mm -2.07 cm -2.41 m 887 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.05 mm -2.07 cm -2.41 m 0 eV 887 keV 638 um 638 um Target eIoni - 2 -2.05 mm -2.07 cm -2.41 m 0 eV 0 eV 0 fm 638 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 160, Parent ID = 158 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.05 mm -2.07 cm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.29 mm -2.07 cm -2.41 m 0 eV 88 keV 6.24 mm 6.24 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.29 mm -2.07 cm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.3 mm -2.07 cm -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 159, Parent ID = 158 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.05 mm -2.07 cm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.7 mm -2.07 cm -2.41 m 0 eV 88 keV 675 um 675 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.7 mm -2.07 cm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.69 mm -2.08 cm -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 143 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 mm -2.07 cm -2.41 m 2.64 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.66 mm -2.1 cm -2.41 m 987 keV 1.27 MeV 1.19 mm 1.19 mm Target eBrem - 2 -1.66 mm -2.1 cm -2.41 m 337 keV 283 keV 237 um 1.42 mm Target eBrem - 3 -1.64 mm -2.1 cm -2.41 m 0 eV 337 keV 177 um 1.6 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 157 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.66 mm -2.1 cm -2.41 m 367 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.62 mm -1.78 cm -2.42 m 0 eV 88 keV 8.68 mm 8.68 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 164 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.62 mm -1.78 cm -2.42 m 279 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.63 mm -1.78 cm -2.42 m 0 eV 279 keV 135 um 135 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 157 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.66 mm -2.1 cm -2.41 m 379 keV 0 eV 0 fm 0 fm Target initStep - 1 -88.7 um -1.84 cm -2.41 m 0 eV 88 keV 3.48 mm 3.48 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 163 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -88.7 um -1.84 cm -2.41 m 291 keV 0 eV 0 fm 0 fm Target initStep - 1 -85.6 um -1.84 cm -2.41 m 0 eV 291 keV 143 um 143 um Target eIoni + 0 -565 um 24.1 um -2.41 m 3.83 MeV 0 eV 0 fm 0 fm Target initStep + 1 -99.7 um 592 um -2.41 m 1.09 MeV 2.74 MeV 1.94 mm 1.94 mm Target eIoni + 2 -40.8 um 564 um -2.41 m 0 eV 1.09 MeV 806 um 2.75 mm Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -766 um -31 um -2.45 m 11.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.01 mm 75.6 um -2.44 m 0 eV 0 eV 7.8 mm 7.8 mm Target conv + 0 -724 um -42.1 um -2.45 m 36.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 -692 um 9.15 um -2.45 m 0 eV 0 eV 1.86 mm 1.86 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 168, Parent ID = 5 +* G4Track Information: Particle = e+, Track ID = 162, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 mm 75.6 um -2.44 m 7.27 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.12 mm 219 um -2.44 m 5.14 MeV 596 keV 553 um 553 um Target eBrem - 2 -769 um -102 um -2.44 m 2.44 MeV 2.69 MeV 2.22 mm 2.77 mm Target eIoni - 3 -790 um 488 um -2.44 m 180 keV 2.26 MeV 1.59 mm 4.36 mm Target eIoni - 4 -784 um 492 um -2.44 m 0 eV 180 keV 66.5 um 4.42 mm Target eIoni - 5 -784 um 492 um -2.44 m 0 eV 0 eV 0 fm 4.42 mm Target annihil + 0 -692 um 9.15 um -2.45 m 6.63 MeV 0 eV 0 fm 0 fm Target initStep + 1 -695 um 43.1 um -2.45 m 4.15 MeV 236 keV 202 um 202 um Target eBrem + 2 -837 um 80 um -2.45 m 3.09 MeV 1.06 MeV 962 um 1.16 mm Target msc + 3 -984 um 269 um -2.45 m 2.47 MeV 625 keV 662 um 1.83 mm Target msc + 4 -1.1 mm 288 um -2.44 m 1.95 MeV 519 keV 543 um 2.37 mm Target msc + 5 -967 um 13.7 um -2.44 m 1.58 MeV 368 keV 445 um 2.81 mm Target msc + 6 -1.07 mm 208 um -2.44 m 1.27 MeV 310 keV 366 um 3.18 mm Target msc + 7 -989 um 210 um -2.44 m 0 eV 1.27 MeV 973 um 4.15 mm Target eIoni + 8 -989 um 210 um -2.44 m 0 eV 0 eV 0 fm 4.15 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 171, Parent ID = 168 +* G4Track Information: Particle = gamma, Track ID = 165, Parent ID = 162 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -784 um 492 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -586 um 963 um -2.44 m 500 keV 0 eV 797 um 797 um Target compt - 2 196 um 3.86 mm -2.44 m 0 eV 88 keV 3.88 mm 4.68 mm Target phot + 0 -989 um 210 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 130 um 1.34 mm -2.45 m 478 keV 0 eV 1.64 mm 1.64 mm Target compt + 2 1.85 mm 3.05 mm -2.45 m 0 eV 88 keV 2.98 mm 4.61 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 171 +* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 165 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 196 um 3.86 mm -2.44 m 412 keV 0 eV 0 fm 0 fm Target initStep - 1 194 um 3.87 mm -2.44 m 0 eV 412 keV 234 um 234 um Target eIoni + 0 1.85 mm 3.05 mm -2.45 m 390 keV 0 eV 0 fm 0 fm Target initStep + 1 1.85 mm 3.06 mm -2.45 m 0 eV 390 keV 217 um 217 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 171 +* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 165 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -586 um 963 um -2.44 m 10.9 keV 0 eV 0 fm 0 fm Target initStep - 1 -586 um 963 um -2.44 m 0 eV 10.9 keV 798 nm 798 nm Target eIoni + 0 130 um 1.34 mm -2.45 m 32.5 keV 0 eV 0 fm 0 fm Target initStep + 1 130 um 1.34 mm -2.45 m 0 eV 32.5 keV 4.44 um 4.44 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 170, Parent ID = 168 +* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 162 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -784 um 492 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.02 mm -79.9 um -2.44 m 450 keV 0 eV 967 um 967 um Target compt - 2 -890 um -1.71 mm -2.44 m 200 keV 0 eV 1.86 mm 2.82 mm Target compt - 3 -694 um -1.59 mm -2.44 m 0 eV 88 keV 227 um 3.05 mm Target phot + 0 -989 um 210 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.34 mm -3.17 mm -2.44 m 239 keV 0 eV 4.91 mm 4.91 mm Target compt + 2 -4.38 mm -3.11 mm -2.44 m 0 eV 88 keV 72.5 um 4.98 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 170 +* G4Track Information: Particle = e-, Track ID = 169, Parent ID = 164 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -694 um -1.59 mm -2.44 m 112 keV 0 eV 0 fm 0 fm Target initStep - 1 -692 um -1.59 mm -2.44 m 0 eV 112 keV 33.2 um 33.2 um Target eIoni + 0 -4.38 mm -3.11 mm -2.44 m 151 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.38 mm -3.11 mm -2.44 m 0 eV 151 keV 53.2 um 53.2 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 170 +* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 164 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -890 um -1.71 mm -2.44 m 250 keV 0 eV 0 fm 0 fm Target initStep - 1 -892 um -1.71 mm -2.44 m 0 eV 250 keV 115 um 115 um Target eIoni + 0 -4.34 mm -3.17 mm -2.44 m 272 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.34 mm -3.18 mm -2.44 m 0 eV 272 keV 129 um 129 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 170 +* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 162 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.02 mm -79.9 um -2.44 m 60.8 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.03 mm -79.6 um -2.44 m 0 eV 60.8 keV 12.3 um 12.3 um Target eIoni + 0 -695 um 43.1 um -2.45 m 2.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.71 mm 1.89 mm -2.44 m 412 keV 0 eV 1.36 cm 1.36 cm Target compt + 2 6.42 mm 1.83 mm -2.43 m 0 eV 88 keV 360 um 1.39 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 169, Parent ID = 168 +* G4Track Information: Particle = e-, Track ID = 171, Parent ID = 163 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.12 mm 219 um -2.44 m 1.54 MeV 0 eV 0 fm 0 fm Target initStep - 1 -8.86 mm 1.16 mm -2.43 m 568 keV 0 eV 1.44 cm 1.44 cm Target compt - 2 -2.26 cm -4.77 mm -2.43 m 394 keV 0 eV 1.49 cm 2.94 cm Target compt - 3 -2.5 cm -4.79 mm -2.43 m 394 keV 0 eV 3.54 mm 3.29 cm Target Transportation - 4 -4.98 cm -5.02 mm -2.4 m 394 keV 0 eV 3.6 cm 6.89 cm World Transportation - 5 -2.4 m -2.63 cm 7.59 cm 394 keV 0 eV 3.41 m 3.48 m Tracker Transportation - 6 -2.91 m -3.09 cm 61.3 cm 394 keV 0 eV 74.1 cm 4.22 m OutOfWorld Transportation + 0 6.42 mm 1.83 mm -2.43 m 324 keV 0 eV 0 fm 0 fm Target initStep + 1 6.41 mm 1.83 mm -2.43 m 0 eV 324 keV 166 um 166 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 169 +* G4Track Information: Particle = e-, Track ID = 170, Parent ID = 163 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.26 cm -4.77 mm -2.43 m 174 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.26 cm -4.77 mm -2.43 m 0 eV 174 keV 66 um 66 um Target eIoni + 0 6.71 mm 1.89 mm -2.44 m 1.84 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.86 mm 2.14 mm -2.44 m 439 keV 894 keV 576 um 576 um Target eBrem + 2 6.88 mm 2.14 mm -2.44 m 0 eV 439 keV 255 um 831 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 169 +* G4Track Information: Particle = gamma, Track ID = 172, Parent ID = 170 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.86 mm 1.16 mm -2.43 m 975 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.94 mm 1.22 mm -2.43 m 406 keV 156 keV 197 um 197 um Target eBrem - 2 -8.95 mm 1.21 mm -2.43 m 0 eV 406 keV 230 um 427 um Target eIoni + 0 6.86 mm 2.14 mm -2.44 m 505 keV 0 eV 0 fm 0 fm Target initStep + 1 1.1 cm 1.17 mm -2.44 m 0 eV 88 keV 6.05 mm 6.05 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 179, Parent ID = 177 +* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 172 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.94 mm 1.22 mm -2.43 m 412 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.01 cm 1.16 mm -2.43 m 391 keV 0 eV 2.18 mm 2.18 mm Target compt - 2 -1.12 cm 2.01 mm -2.43 m 275 keV 0 eV 3.32 mm 5.5 mm Target compt - 3 -1.04 cm 1.2 mm -2.43 m 221 keV 0 eV 1.83 mm 7.33 mm Target compt - 4 -1.02 cm 1.31 mm -2.43 m 221 keV 0 eV 323 um 7.65 mm Target compt - 5 -1 cm 1.37 mm -2.43 m 0 eV 88 keV 165 um 7.82 mm Target phot + 0 1.1 cm 1.17 mm -2.44 m 417 keV 0 eV 0 fm 0 fm Target initStep + 1 1.1 cm 1.16 mm -2.44 m 0 eV 417 keV 238 um 238 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 179 +* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1 cm 1.37 mm -2.43 m 133 keV 0 eV 0 fm 0 fm Target initStep - 1 -1 cm 1.37 mm -2.43 m 0 eV 133 keV 43.4 um 43.4 um Target eIoni + 0 -692 um 9.15 um -2.45 m 28.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -605 um 90.5 um -2.45 m 24.6 MeV 2.18 MeV 635 um 635 um Target eBrem + 2 -605 um 55.4 um -2.45 m 21.3 MeV 243 keV 204 um 838 um Target eBrem + 3 -449 um -59.8 um -2.45 m 16.2 MeV 766 keV 390 um 1.23 mm Target eBrem + 4 -612 um -748 um -2.44 m 11.2 MeV 2.55 MeV 1.91 mm 3.13 mm Target eBrem + 5 -2.16 mm -907 um -2.44 m 4.29 MeV 6.32 MeV 2.11 mm 5.24 mm Target eBrem + 6 -1.96 mm -405 um -2.44 m 690 keV 1.55 MeV 1.46 mm 6.7 mm Target eBrem + 7 -1.94 mm -418 um -2.44 m 0 eV 690 keV 462 um 7.16 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 179 +* G4Track Information: Particle = gamma, Track ID = 179, Parent ID = 161 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.02 cm 1.31 mm -2.43 m 489 eV 0 eV 0 fm 0 fm Target initStep - 1 -1.02 cm 1.31 mm -2.43 m 0 eV 489 eV 12.6 nm 12.6 nm Target eIoni + 0 -1.96 mm -405 um -2.44 m 2.05 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.5 cm -1.82 cm -2.44 m 2.05 MeV 0 eV 2.92 cm 2.92 cm Target Transportation + 2 -52.3 cm -40.4 cm -2.4 m 2.05 MeV 0 eV 63.1 cm 66 cm World Transportation + 3 -2.4 m -1.86 m -2.25 m 2.05 MeV 0 eV 2.38 m 3.04 m Tracker Transportation + 4 -2.91 m -2.25 m -2.21 m 2.05 MeV 0 eV 64.6 cm 3.68 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 179 +* G4Track Information: Particle = gamma, Track ID = 178, Parent ID = 161 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.04 cm 1.2 mm -2.43 m 54 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.04 cm 1.2 mm -2.43 m 0 eV 54 keV 10.2 um 10.2 um Target eIoni + 0 -2.16 mm -907 um -2.44 m 620 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.55 mm 3.97 mm -2.44 m 442 keV 0 eV 5.47 mm 5.47 mm Target compt + 2 -8.24 mm 5.71 mm -2.44 m 430 keV 0 eV 4.43 mm 9.9 mm Target compt + 3 -1.12 cm 8.23 mm -2.45 m 366 keV 0 eV 4.13 mm 1.4 cm Target compt + 4 -1.18 cm 8.41 mm -2.45 m 0 eV 88 keV 1.09 mm 1.51 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 179 +* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 178 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.12 cm 2.01 mm -2.43 m 116 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.12 cm 2.01 mm -2.43 m 0 eV 116 keV 35.2 um 35.2 um Target eIoni + 0 -1.18 cm 8.41 mm -2.45 m 278 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 cm 8.41 mm -2.45 m 0 eV 278 keV 134 um 134 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 179 +* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 178 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 cm 1.16 mm -2.43 m 20.9 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.01 cm 1.16 mm -2.43 m 0 eV 20.9 keV 2.17 um 2.17 um Target eIoni + 0 -1.12 cm 8.23 mm -2.45 m 64.2 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.12 cm 8.23 mm -2.45 m 0 eV 64.2 keV 13.5 um 13.5 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 178 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 mm 75.6 um -2.44 m 3.52 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.7 mm -188 um -2.44 m 1.4 MeV 2.12 MeV 1.87 mm 1.87 mm Target eIoni - 2 -1.68 mm -9.23 um -2.44 m 152 keV 1.25 MeV 1.07 mm 2.94 mm Target eIoni - 3 -1.67 mm -10.7 um -2.44 m 0 eV 152 keV 54 um 2.99 mm Target eIoni + 0 -8.24 mm 5.71 mm -2.44 m 11.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.24 mm 5.71 mm -2.44 m 0 eV 11.6 keV 875 nm 875 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 178 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.55 mm 3.97 mm -2.44 m 178 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.55 mm 3.98 mm -2.44 m 0 eV 178 keV 68.8 um 68.8 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 177, Parent ID = 161 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -612 um -748 um -2.44 m 2.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.5 cm 1.65 cm -2.42 m 2.4 MeV 0 eV 3.59 cm 3.59 cm Target Transportation + 2 -5.4 cm 3.69 cm -2.4 m 2.4 MeV 0 eV 4.27 cm 7.86 cm World Transportation + 3 -2.4 m 1.69 m -47.7 cm 2.4 MeV 0 eV 3.46 m 3.53 m Tracker Transportation + 4 -2.91 m 2.05 m -5.85 cm 2.4 MeV 0 eV 75.1 cm 4.29 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 176, Parent ID = 161 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -449 um -59.8 um -2.45 m 4.33 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.52 mm -7.41 mm -2.42 m 0 eV 0 eV 2.66 cm 2.66 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 185, Parent ID = 176 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.52 mm -7.41 mm -2.42 m 986 keV 0 eV 0 fm 0 fm Target initStep + 1 6.49 mm -7.47 mm -2.42 m 0 eV 986 keV 723 um 723 um Target eIoni + 2 6.49 mm -7.47 mm -2.42 m 0 eV 0 eV 0 fm 723 um Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 185 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.49 mm -7.47 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.12 cm -2.24 mm -2.42 m 253 keV 0 eV 7.14 mm 7.14 mm Target compt + 2 1.21 cm -1.9 mm -2.42 m 0 eV 88 keV 5.07 mm 1.22 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 189, Parent ID = 187 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.21 cm -1.9 mm -2.42 m 165 keV 0 eV 0 fm 0 fm Target initStep + 1 1.21 cm -1.9 mm -2.42 m 0 eV 165 keV 61.1 um 61.1 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 188, Parent ID = 187 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.12 cm -2.24 mm -2.42 m 258 keV 0 eV 0 fm 0 fm Target initStep + 1 1.12 cm -2.24 mm -2.42 m 0 eV 258 keV 120 um 120 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 185 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.49 mm -7.47 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.73 mm -2 cm -2.42 m 0 eV 88 keV 1.71 cm 1.71 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 190, Parent ID = 186 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.73 mm -2 cm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.74 mm -2 cm -2.42 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 176 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.52 mm -7.41 mm -2.42 m 2.32 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.42 mm -7.24 mm -2.42 m 1.4 MeV 421 keV 353 um 353 um Target eBrem + 2 6.49 mm -7.09 mm -2.42 m 270 keV 1.13 MeV 1.06 mm 1.41 mm Target eIoni + 3 6.48 mm -7.09 mm -2.42 m 0 eV 270 keV 128 um 1.54 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 184 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.42 mm -7.24 mm -2.42 m 500 keV 0 eV 0 fm 0 fm Target initStep + 1 6.67 mm -4.73 mm -2.42 m 172 keV 0 eV 2.94 mm 2.94 mm Target compt + 2 6.69 mm -5.13 mm -2.42 m 0 eV 88 keV 411 um 3.35 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 193, Parent ID = 191 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.69 mm -5.13 mm -2.42 m 84.2 keV 0 eV 0 fm 0 fm Target initStep + 1 6.69 mm -5.13 mm -2.42 m 0 eV 84.2 keV 20.9 um 20.9 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 192, Parent ID = 191 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.67 mm -4.73 mm -2.42 m 328 keV 0 eV 0 fm 0 fm Target initStep + 1 6.67 mm -4.72 mm -2.42 m 0 eV 328 keV 170 um 170 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 175, Parent ID = 161 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -605 um 55.4 um -2.45 m 3.13 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.67 mm -5.32 mm -2.43 m 0 eV 0 eV 1.46 cm 1.46 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 195, Parent ID = 175 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.67 mm -5.32 mm -2.43 m 798 keV 0 eV 0 fm 0 fm Target initStep + 1 3.66 mm -5.35 mm -2.43 m 0 eV 798 keV 558 um 558 um Target eIoni + 2 3.66 mm -5.35 mm -2.43 m 0 eV 0 eV 0 fm 558 um Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 197, Parent ID = 195 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.66 mm -5.35 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.3 mm -4.37 mm -2.43 m 0 eV 88 keV 1.79 mm 1.79 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 198, Parent ID = 197 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.3 mm -4.37 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 4.3 mm -4.38 mm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 196, Parent ID = 195 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.66 mm -5.35 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.25 mm -7.52 mm -2.43 m 506 keV 0 eV 4.01 mm 4.01 mm Target compt + 2 645 um -1.17 cm -2.42 m 0 eV 88 keV 7.12 mm 1.11 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 200, Parent ID = 196 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 645 um -1.17 cm -2.42 m 418 keV 0 eV 0 fm 0 fm Target initStep + 1 641 um -1.17 cm -2.42 m 0 eV 418 keV 239 um 239 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 199, Parent ID = 196 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.25 mm -7.52 mm -2.43 m 4.7 keV 0 eV 0 fm 0 fm Target initStep + 1 2.25 mm -7.52 mm -2.43 m 0 eV 4.7 keV 236 nm 236 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 194, Parent ID = 175 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.67 mm -5.32 mm -2.43 m 1.31 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.72 mm -5.35 mm -2.43 m 0 eV 1.31 MeV 989 um 989 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 174, Parent ID = 161 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -605 um 90.5 um -2.45 m 1.88 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.11 mm -2.07 mm -2.42 m 500 keV 0 eV 2.62 cm 2.62 cm Target compt + 2 3.34 mm -2.13 mm -2.42 m 0 eV 88 keV 2.27 mm 2.85 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 174 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.34 mm -2.13 mm -2.42 m 412 keV 0 eV 0 fm 0 fm Target initStep + 1 3.36 mm -2.13 mm -2.42 m 0 eV 412 keV 234 um 234 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 174 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.11 mm -2.07 mm -2.42 m 1.38 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.25 mm -1.96 mm -2.42 m 188 keV 750 keV 573 um 573 um Target eBrem + 2 1.25 mm -1.95 mm -2.42 m 0 eV 188 keV 74.5 um 648 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 203, Parent ID = 201 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.25 mm -1.96 mm -2.42 m 443 keV 0 eV 0 fm 0 fm Target initStep + 1 -338 um -1.49 mm -2.42 m 0 eV 88 keV 4.47 mm 4.47 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 203 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -338 um -1.49 mm -2.42 m 355 keV 0 eV 0 fm 0 fm Target initStep + 1 -342 um -1.49 mm -2.42 m 0 eV 355 keV 190 um 190 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -769 um -41.2 um -2.45 m 612 keV 0 eV 0 fm 0 fm Target initStep - 1 -753 um 30.1 um -2.45 m 380 keV 0 eV 1.27 mm 1.27 mm Target compt - 2 -4.71 mm 3.48 mm -2.44 m 0 eV 88 keV 5.94 mm 7.21 mm Target phot + 0 -726 um -44.5 um -2.45 m 701 keV 0 eV 0 fm 0 fm Target initStep + 1 -598 um 236 um -2.44 m 426 keV 0 eV 9.64 mm 9.64 mm Target compt + 2 -2.9 mm -1.23 mm -2.44 m 288 keV 0 eV 3.28 mm 1.29 cm Target compt + 3 -5.56 mm 1.91 mm -2.43 m 0 eV 88 keV 5.17 mm 1.81 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 186, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.71 mm 3.48 mm -2.44 m 292 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.72 mm 3.48 mm -2.44 m 0 eV 292 keV 144 um 144 um Target eIoni + 0 -5.56 mm 1.91 mm -2.43 m 200 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.57 mm 1.91 mm -2.43 m 0 eV 200 keV 81.7 um 81.7 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 185, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -753 um 30.1 um -2.45 m 232 keV 0 eV 0 fm 0 fm Target initStep - 1 -750 um 27.7 um -2.45 m 0 eV 232 keV 102 um 102 um Target eIoni + 0 -2.9 mm -1.23 mm -2.44 m 138 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.9 mm -1.24 mm -2.44 m 0 eV 138 keV 46.3 um 46.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -598 um 236 um -2.44 m 275 keV 0 eV 0 fm 0 fm Target initStep + 1 -594 um 239 um -2.44 m 0 eV 275 keV 132 um 132 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -759 um -54.1 um -2.45 m 49.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -757 um -49.3 um -2.45 m 0 eV 0 eV 2.35 mm 2.35 mm Target conv + 0 -753 um -45.1 um -2.45 m 301 keV 0 eV 0 fm 0 fm Target initStep + 1 -752 um -43.7 um -2.45 m 0 eV 88 keV 96.2 um 96.2 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 188, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -757 um -49.3 um -2.45 m 28.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 -747 um -43.4 um -2.45 m 24.9 MeV 183 keV 177 um 177 um Target eBrem - 2 -570 um 39.2 um -2.45 m 22.3 MeV 1.41 MeV 1.1 mm 1.28 mm Target eBrem - 3 65.8 um 379 um -2.44 m 16.7 MeV 2.61 MeV 1.76 mm 3.04 mm Target eBrem - 4 711 um 413 um -2.44 m 13.6 MeV 1.19 MeV 898 um 3.94 mm Target eBrem - 5 1.15 mm 379 um -2.44 m 2.97 MeV 2.26 MeV 1.14 mm 5.08 mm Target eBrem - 6 1.83 mm -24.7 um -2.44 m 1.31 MeV 1.66 MeV 1.75 mm 6.82 mm Target eIoni - 7 1.9 mm 70.6 um -2.44 m 0 eV 1.31 MeV 1.01 mm 7.83 mm Target eIoni - 8 1.9 mm 70.6 um -2.44 m 0 eV 0 eV 0 fm 7.83 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 195, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.9 mm 70.6 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.01 mm 5.63 mm -2.45 m 511 keV 0 eV 1.35 cm 1.35 cm Target Transportation - 2 -63.3 cm 35.6 cm -2.91 m 511 keV 0 eV 85.1 cm 86.5 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 194, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.9 mm 70.6 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 3.59 mm -878 um -2.44 m 0 eV 88 keV 2.3 mm 2.3 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 196, Parent ID = 194 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.59 mm -878 um -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 3.61 mm -882 um -2.44 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.15 mm 379 um -2.44 m 8.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 6.85 mm -7.66 mm -2.43 m 0 eV 0 eV 1.83 cm 1.83 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 198, Parent ID = 193 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.85 mm -7.66 mm -2.43 m 5.51 MeV 0 eV 0 fm 0 fm Target initStep - 1 7.28 mm -9.09 mm -2.43 m 2.52 MeV 2.99 MeV 2.29 mm 2.29 mm Target eIoni - 2 7.82 mm -9.32 mm -2.43 m 703 keV 1.82 MeV 1.61 mm 3.9 mm Target eIoni - 3 7.83 mm -9.27 mm -2.43 m 0 eV 703 keV 477 um 4.38 mm Target eIoni - 4 7.83 mm -9.27 mm -2.43 m 0 eV 0 eV 0 fm 4.38 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 200, Parent ID = 198 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.83 mm -9.27 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 7.99 mm -9.09 mm -2.43 m 193 keV 0 eV 555 um 555 um Target compt - 2 9.35 mm -9.28 mm -2.42 m 156 keV 0 eV 2.66 mm 3.22 mm Target compt - 3 9.39 mm -9.27 mm -2.42 m 0 eV 88 keV 41.9 um 3.26 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 203, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.39 mm -9.27 mm -2.42 m 68.1 keV 0 eV 0 fm 0 fm Target initStep - 1 9.39 mm -9.27 mm -2.42 m 0 eV 68.1 keV 14.9 um 14.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.35 mm -9.28 mm -2.42 m 37 keV 0 eV 0 fm 0 fm Target initStep - 1 9.35 mm -9.28 mm -2.42 m 0 eV 37 keV 5.51 um 5.51 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.99 mm -9.09 mm -2.43 m 318 keV 0 eV 0 fm 0 fm Target initStep - 1 7.99 mm -9.08 mm -2.43 m 0 eV 318 keV 163 um 163 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 199, Parent ID = 198 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.83 mm -9.27 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 7.49 mm -9.67 mm -2.43 m 0 eV 88 keV 1.18 mm 1.18 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 199 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.49 mm -9.67 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 7.48 mm -9.66 mm -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 197, Parent ID = 193 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.85 mm -7.66 mm -2.43 m 1.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 6.69 mm -7.91 mm -2.43 m 478 keV 1.33 MeV 1.32 mm 1.32 mm Target eIoni - 2 6.68 mm -7.91 mm -2.43 m 0 eV 478 keV 287 um 1.6 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 711 um 413 um -2.44 m 1.99 MeV 0 eV 0 fm 0 fm Target initStep - 1 7.74 mm 1.7 mm -2.44 m 1.33 MeV 0 eV 1.01 cm 1.01 cm Target compt - 2 1.74 cm 5.56 mm -2.43 m 419 keV 0 eV 1.09 cm 2.11 cm Target compt - 3 1.74 cm 7.8 mm -2.43 m 0 eV 88 keV 2.5 mm 2.36 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.74 cm 7.8 mm -2.43 m 331 keV 0 eV 0 fm 0 fm Target initStep - 1 1.74 cm 7.81 mm -2.43 m 0 eV 331 keV 172 um 172 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.74 cm 5.56 mm -2.43 m 907 keV 0 eV 0 fm 0 fm Target initStep - 1 1.75 cm 5.57 mm -2.43 m 0 eV 907 keV 649 um 649 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.74 mm 1.7 mm -2.44 m 666 keV 0 eV 0 fm 0 fm Target initStep - 1 7.7 mm 1.7 mm -2.44 m 302 keV 67.3 keV 80.6 um 80.6 um Target eBrem - 2 7.7 mm 1.71 mm -2.44 m 0 eV 302 keV 151 um 232 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 208, Parent ID = 205 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.7 mm 1.7 mm -2.44 m 296 keV 0 eV 0 fm 0 fm Target initStep - 1 7.53 mm 1.9 mm -2.44 m 0 eV 88 keV 285 um 285 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 209, Parent ID = 208 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.53 mm 1.9 mm -2.44 m 208 keV 0 eV 0 fm 0 fm Target initStep - 1 7.53 mm 1.91 mm -2.44 m 0 eV 208 keV 87.3 um 87.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 65.8 um 379 um -2.44 m 2.95 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.53 mm -305 um -2.44 m 0 eV 0 eV 4.17 mm 4.17 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 211, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.53 mm -305 um -2.44 m 180 keV 0 eV 0 fm 0 fm Target initStep - 1 2.53 mm -302 um -2.44 m 0 eV 180 keV 66.5 um 66.5 um Target eIoni - 2 2.53 mm -302 um -2.44 m 0 eV 0 eV 0 fm 66.5 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 213, Parent ID = 211 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.53 mm -302 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 3.64 mm 826 um -2.44 m 478 keV 0 eV 1.64 mm 1.64 mm Target compt - 2 5.36 mm 2.54 mm -2.44 m 0 eV 88 keV 2.97 mm 4.61 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 215, Parent ID = 213 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.36 mm 2.54 mm -2.44 m 390 keV 0 eV 0 fm 0 fm Target initStep - 1 5.36 mm 2.55 mm -2.44 m 0 eV 390 keV 218 um 218 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 213 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.64 mm 826 um -2.44 m 32.5 keV 0 eV 0 fm 0 fm Target initStep - 1 3.65 mm 826 um -2.44 m 0 eV 32.5 keV 4.43 um 4.43 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 212, Parent ID = 211 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.53 mm -302 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -828 um -3.68 mm -2.44 m 239 keV 0 eV 4.91 mm 4.91 mm Target compt - 2 -869 um -3.62 mm -2.44 m 0 eV 88 keV 72.3 um 4.98 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 217, Parent ID = 212 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -869 um -3.62 mm -2.44 m 151 keV 0 eV 0 fm 0 fm Target initStep - 1 -868 um -3.62 mm -2.44 m 0 eV 151 keV 53.3 um 53.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 212 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -828 um -3.68 mm -2.44 m 272 keV 0 eV 0 fm 0 fm Target initStep - 1 -831 um -3.69 mm -2.44 m 0 eV 272 keV 130 um 130 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.53 mm -305 um -2.44 m 1.74 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.5 mm -163 um -2.44 m 205 keV 1.54 MeV 1.28 mm 1.28 mm Target eIoni - 2 2.49 mm -163 um -2.44 m 0 eV 205 keV 85.2 um 1.37 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 190, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -570 um 39.2 um -2.45 m 1.19 MeV 0 eV 0 fm 0 fm Target initStep - 1 -340 um 242 um -2.44 m 0 eV 88 keV 1.84 mm 1.84 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 190 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -340 um 242 um -2.44 m 1.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 -359 um 255 um -2.44 m 0 eV 1.1 MeV 814 um 814 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 189, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -747 um -43.4 um -2.45 m 3.66 MeV 0 eV 0 fm 0 fm Target initStep - 1 -812 um -127 um -2.44 m 1.13 MeV 0 eV 2.19 mm 2.19 mm Target compt - 2 -329 um 446 um -2.44 m 1.04 MeV 0 eV 1.08 mm 3.27 mm Target compt - 3 2.45 mm 5.3 mm -2.44 m 0 eV 88 keV 6.59 mm 9.86 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 189 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.45 mm 5.3 mm -2.44 m 948 keV 0 eV 0 fm 0 fm Target initStep - 1 2.49 mm 5.32 mm -2.44 m 0 eV 948 keV 684 um 684 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 189 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -329 um 446 um -2.44 m 92.2 keV 0 eV 0 fm 0 fm Target initStep - 1 -329 um 445 um -2.44 m 0 eV 92.2 keV 24.2 um 24.2 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 189 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -812 um -127 um -2.44 m 2.53 MeV 0 eV 0 fm 0 fm Target initStep - 1 -816 um -130 um -2.44 m 667 keV 4.63 keV 10.8 um 10.8 um Target eBrem - 2 -810 um -142 um -2.44 m 0 eV 667 keV 444 um 455 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 222, Parent ID = 219 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -816 um -130 um -2.44 m 1.86 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.73 mm 50.4 um -2.44 m 785 keV 0 eV 933 um 933 um Target compt - 2 -7.69 mm -3.91 mm -2.45 m 545 keV 0 eV 7.7 mm 8.63 mm Target compt - 3 -8.7 mm -3.69 mm -2.45 m 0 eV 88 keV 1.07 mm 9.7 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 225, Parent ID = 222 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.7 mm -3.69 mm -2.45 m 457 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.72 mm -3.69 mm -2.45 m 0 eV 457 keV 270 um 270 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 224, Parent ID = 222 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.69 mm -3.91 mm -2.45 m 240 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.69 mm -3.92 mm -2.45 m 0 eV 240 keV 108 um 108 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 223, Parent ID = 222 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.73 mm 50.4 um -2.44 m 1.08 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.78 mm 83.5 um -2.44 m 0 eV 1.08 MeV 796 um 796 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 187, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -757 um -49.3 um -2.45 m 19.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.1 mm -42.8 um -2.45 m 14.1 MeV 5.5 MeV 1.34 mm 1.34 mm Target eBrem - 2 -1.36 mm -116 um -2.45 m 7.56 MeV 475 keV 475 um 1.81 mm Target eBrem - 3 -1.79 mm 937 um -2.44 m 5.4 MeV 2.16 MeV 1.93 mm 3.75 mm Target msc - 4 -1.66 mm 921 um -2.44 m 4.1 MeV 273 keV 270 um 4.02 mm Target eBrem - 5 -1.45 mm 1.19 mm -2.44 m 1.79 MeV 2.31 MeV 2 mm 6.02 mm Target eIoni - 6 -1.4 mm 1.18 mm -2.44 m 174 keV 1.61 MeV 1.31 mm 7.33 mm Target eIoni - 7 -1.4 mm 1.18 mm -2.44 m 0 eV 174 keV 66.5 um 7.39 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 228, Parent ID = 187 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.66 mm 921 um -2.44 m 1.02 MeV 0 eV 0 fm 0 fm Target initStep - 1 604 um -728 um -2.44 m 494 keV 0 eV 2.86 mm 2.86 mm Target compt - 2 1.9 mm -34.5 um -2.44 m 220 keV 0 eV 1.53 mm 4.39 mm Target compt - 3 1.9 mm -31.8 um -2.44 m 0 eV 88 keV 9.03 um 4.4 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 231, Parent ID = 228 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.9 mm -31.8 um -2.44 m 132 keV 0 eV 0 fm 0 fm Target initStep - 1 1.9 mm -30.4 um -2.44 m 0 eV 132 keV 42.9 um 42.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 230, Parent ID = 228 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.9 mm -34.5 um -2.44 m 275 keV 0 eV 0 fm 0 fm Target initStep - 1 1.91 mm -32.1 um -2.44 m 0 eV 275 keV 132 um 132 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 229, Parent ID = 228 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 604 um -728 um -2.44 m 529 keV 0 eV 0 fm 0 fm Target initStep - 1 613 um -749 um -2.44 m 0 eV 529 keV 329 um 329 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 227, Parent ID = 187 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.36 mm -116 um -2.45 m 6.02 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.11 cm -629 um -2.43 m 0 eV 0 eV 1.51 cm 1.51 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 233, Parent ID = 227 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.11 cm -629 um -2.43 m 2.61 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.11 cm -630 um -2.43 m 2.04 MeV 33.7 keV 40.5 um 40.5 um Target eBrem - 2 -1.15 cm -330 um -2.43 m 485 keV 1.56 MeV 1.44 mm 1.48 mm Target eIoni - 3 -1.15 cm -328 um -2.43 m 0 eV 485 keV 291 um 1.77 mm Target eIoni - 4 -1.15 cm -328 um -2.43 m 0 eV 0 eV 0 fm 1.77 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 236, Parent ID = 233 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 cm -328 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.14 cm -231 um -2.43 m 189 keV 0 eV 168 um 168 um Target compt - 2 -1.15 cm -194 um -2.43 m 0 eV 88 keV 227 um 395 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 238, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 cm -194 um -2.43 m 101 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.15 cm -194 um -2.43 m 0 eV 101 keV 28.3 um 28.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.14 cm -231 um -2.43 m 322 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.14 cm -226 um -2.43 m 0 eV 322 keV 165 um 165 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 235, Parent ID = 233 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.15 cm -328 um -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.44 cm -5.41 mm -2.43 m 222 keV 0 eV 8.8 mm 8.8 mm Target compt - 2 -1.44 cm -5.42 mm -2.43 m 0 eV 88 keV 3.54 um 8.8 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 235 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.44 cm -5.42 mm -2.43 m 134 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.44 cm -5.42 mm -2.43 m 0 eV 134 keV 44.1 um 44.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 235 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.44 cm -5.41 mm -2.43 m 289 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.45 cm -5.42 mm -2.43 m 0 eV 289 keV 142 um 142 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 233 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.11 cm -630 um -2.43 m 534 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.34 cm -1.11 mm -2.43 m 0 eV 88 keV 5.23 mm 5.23 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 234 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.34 cm -1.11 mm -2.43 m 446 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.34 cm -1.12 mm -2.43 m 0 eV 446 keV 261 um 261 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 232, Parent ID = 227 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.11 cm -629 um -2.43 m 2.39 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.15 cm -912 um -2.43 m 859 keV 1.53 MeV 1.55 mm 1.55 mm Target eIoni - 2 -1.15 cm -940 um -2.43 m 0 eV 859 keV 608 um 2.16 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 226, Parent ID = 187 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.1 mm -42.8 um -2.45 m 297 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm -99.6 um -2.45 m 155 keV 0 eV 346 um 346 um Target compt - 2 -1.44 mm 316 um -2.45 m 0 eV 88 keV 623 um 969 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 243, Parent ID = 226 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.44 mm 316 um -2.45 m 66.8 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.44 mm 315 um -2.45 m 0 eV 66.8 keV 14.4 um 14.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 242, Parent ID = 226 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.21 mm -99.6 um -2.45 m 142 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm -101 um -2.45 m 0 eV 142 keV 48.7 um 48.7 um Target eIoni + 0 -752 um -43.7 um -2.45 m 213 keV 0 eV 0 fm 0 fm Target initStep + 1 -749 um -44.3 um -2.45 m 0 eV 213 keV 90 um 90 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -125 um -4.93 um -2.81 m 21.5 keV 0 eV 0 fm 0 fm World initStep - 1 2.34 mm -51.9 um -2.81 m 14.1 keV 7.32 keV 3.23 mm 3.23 mm World eIoni - 2 3.55 mm -1.44 mm -2.81 m 9.97 keV 4.16 keV 2.24 mm 5.46 mm World eIoni - 3 4.48 mm -526 um -2.81 m 3.97 keV 6 keV 1.7 mm 7.16 mm World eIoni - 4 4.43 mm -452 um -2.81 m 0 eV 3.97 keV 467 um 7.63 mm World eIoni + 0 -136 um -5.36 um -2.8 m 22.5 keV 0 eV 0 fm 0 fm World initStep + 1 2.73 mm 508 um -2.81 m 17 keV 5.52 keV 3.39 mm 3.39 mm World eIoni + 2 4.83 mm -408 um -2.81 m 14.6 keV 2.42 keV 2.6 mm 5.98 mm World eIoni + 3 5.23 mm -2.06 mm -2.81 m 9.61 keV 4.96 keV 2.29 mm 8.27 mm World eIoni + 4 5.74 mm -1.53 mm -2.81 m 3.27 keV 6.34 keV 1.64 mm 9.91 mm World eIoni + 5 5.73 mm -1.52 mm -2.81 m 0 eV 3.27 keV 339 um 1.03 cm World eIoni >>> Event 0 0 trajectories stored in this event. ### Run 1 start. @@ -2408,7730 +2178,467 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm -2.91 m 1 TeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 0 fm -2.45 m 1e+03 GeV 112 keV 46 cm 46 cm World Transportation - 2 654 nm -430 nm -2.42 m 999 GeV 50.4 MeV 3.06 cm 49.1 cm Target muPairProd - 3 1.18 um -488 nm -2.41 m 998 GeV 15.6 MeV 9.1 mm 50 cm Target muPairProd - 4 1.75 um -984 nm -2.4 m 998 GeV 19.4 MeV 1.03 cm 51 cm Target Transportation - 5 6.96 um -3.63 um -2.3 m 998 GeV 18.5 keV 10 cm 61 cm Tracker StepLimiter - 6 12.2 um -6.24 um -2.2 m 998 GeV 20.5 keV 10 cm 71 cm Tracker StepLimiter - 7 17.3 um -8.83 um -2.1 m 998 GeV 29.8 keV 10 cm 81 cm Tracker StepLimiter - 8 22.5 um -11.4 um -2 m 998 GeV 19.4 keV 10 cm 91 cm Tracker StepLimiter - 9 27.7 um -14 um -1.9 m 998 GeV 18.5 keV 10 cm 1.01 m Tracker StepLimiter - 10 32.9 um -16.6 um -1.8 m 998 GeV 21.2 keV 10 cm 1.11 m Tracker StepLimiter - 11 38 um -19.2 um -1.7 m 998 GeV 27.4 keV 10 cm 1.21 m Tracker StepLimiter - 12 43.2 um -21.8 um -1.6 m 998 GeV 16.1 keV 10 cm 1.31 m Tracker StepLimiter - 13 43.2 um -21.8 um -1.6 m 998 GeV0.000322 eV 1.35 nm 1.31 m Tracker Transportation - 14 53.5 um -27 um -1.4 m 998 GeV 140 keV 20 cm 1.51 m Chamber Transportation - 15 58.8 um -29.5 um -1.3 m 998 GeV 27.3 keV 10 cm 1.61 m Tracker StepLimiter - 16 64.1 um -32 um -1.2 m 998 GeV 24.8 keV 10 cm 1.71 m Tracker StepLimiter - 17 69.4 um -34.4 um -1.1 m 998 GeV 25.9 keV 10 cm 1.81 m Tracker StepLimiter - 18 74.6 um -36.9 um -1 m 998 GeV 23.9 keV 10 cm 1.91 m Tracker StepLimiter - 19 79.9 um -39.3 um -90 cm 998 GeV 22.6 keV 10 cm 2.01 m Tracker StepLimiter - 20 85.2 um -41.7 um -80 cm 998 GeV 19.2 keV 10 cm 2.11 m Tracker StepLimiter - 21 85.2 um -41.7 um -80 cm 998 GeV0.000244 eV 1.02 nm 2.11 m Tracker Transportation - 22 95.7 um -46.6 um -60 cm 998 GeV 149 keV 20 cm 2.31 m Chamber Transportation - 23 101 um -49 um -50 cm 998 GeV 22.8 keV 10 cm 2.41 m Tracker StepLimiter - 24 106 um -51.3 um -40 cm 998 GeV 24 keV 10 cm 2.51 m Tracker StepLimiter - 25 110 um -53.7 um -30 cm 998 GeV 41 keV 10 cm 2.61 m Tracker StepLimiter - 26 115 um -56.1 um -20 cm 998 GeV 21.8 keV 10 cm 2.71 m Tracker StepLimiter - 27 120 um -58.5 um -10 cm 998 GeV 35.3 keV 10 cm 2.81 m Tracker StepLimiter - 28 121 um -58.5 um -9.66 cm 998 GeV 3.12 keV 3.38 mm 2.81 m Tracker muIoni - 29 125 um -60.8 um 0.0142 fm 998 GeV 25.9 keV 9.66 cm 2.91 m Tracker Transportation - 30 135 um -65.5 um 20 cm 998 GeV 133 keV 20 cm 3.11 m Chamber Transportation - 31 140 um -67.8 um 30 cm 998 GeV 30.4 keV 10 cm 3.21 m Tracker StepLimiter - 32 145 um -70.1 um 40 cm 998 GeV 16.1 keV 10 cm 3.31 m Tracker StepLimiter - 33 150 um -72.4 um 50 cm 998 GeV 24.1 keV 10 cm 3.41 m Tracker StepLimiter - 34 156 um -74.7 um 60 cm 998 GeV 30.8 keV 10 cm 3.51 m Tracker StepLimiter - 35 160 um -76.7 um 68.5 cm 998 GeV 18 keV 8.48 cm 3.59 m Tracker muIoni - 36 165 um -79 um 78.5 cm 998 GeV 28.6 keV 10 cm 3.69 m Tracker StepLimiter - 37 166 um -79.3 um 80 cm 998 GeV 4.04 keV 1.53 cm 3.71 m Tracker Transportation - 38 176 um -83.9 um 1 m 998 GeV 185 keV 20 cm 3.91 m Chamber Transportation - 39 181 um -86.3 um 1.1 m 998 GeV 24 keV 10 cm 4.01 m Tracker StepLimiter - 40 186 um -88.6 um 1.2 m 998 GeV 44.7 keV 10 cm 4.11 m Tracker StepLimiter - 41 191 um -91 um 1.3 m 998 GeV 19.9 keV 10 cm 4.21 m Tracker StepLimiter - 42 196 um -93.4 um 1.4 m 998 GeV 26.5 keV 10 cm 4.31 m Tracker StepLimiter - 43 202 um -95.9 um 1.5 m 998 GeV 19.8 keV 10 cm 4.41 m Tracker StepLimiter - 44 207 um -98.3 um 1.6 m 998 GeV 22.5 keV 10 cm 4.51 m Tracker StepLimiter - 45 207 um -98.3 um 1.6 m 998 GeV0.000232 eV 9.68 Ang 4.51 m Tracker Transportation - 46 217 um -103 um 1.8 m 998 GeV 119 keV 20 cm 4.71 m Chamber Transportation - 47 222 um -106 um 1.9 m 998 GeV 20 keV 10 cm 4.81 m Tracker StepLimiter - 48 227 um -108 um 2 m 998 GeV 24.6 keV 10 cm 4.91 m Tracker StepLimiter - 49 233 um -111 um 2.1 m 998 GeV 26.4 keV 10 cm 5.01 m Tracker StepLimiter - 50 238 um -114 um 2.2 m 998 GeV 37.3 keV 10 cm 5.11 m Tracker StepLimiter - 51 243 um -116 um 2.3 m 998 GeV 17.4 keV 10 cm 5.21 m Tracker StepLimiter - 52 248 um -119 um 2.4 m 998 GeV 22.2 keV 10 cm 5.31 m Tracker StepLimiter - 53 248 um -119 um 2.4 m 998 GeV0.000244 eV 1.02 nm 5.31 m Tracker Transportation - 54 252 um -121 um 2.47 m 998 GeV 9.99 keV 7.46 cm 5.38 m World muIoni - 55 275 um -133 um 2.91 m 998 GeV 111 keV 43.5 cm 5.82 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 252 um -121 um 2.47 m 20.1 keV 0 eV 0 fm 0 fm World initStep - 1 2.86 mm -844 um 2.47 m 13.1 keV 7.02 keV 3.04 mm 3.04 mm World eIoni - 2 4.14 mm -1.86 mm 2.47 m 8.67 keV 4.45 keV 2.11 mm 5.14 mm World eIoni - 3 4.03 mm -2.37 mm 2.47 m 0 eV 8.67 keV 1.5 mm 6.64 mm World eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 160 um -76.7 um 68.5 cm 80 keV 0 eV 0 fm 0 fm Tracker initStep - 1 6.57 mm -1.71 cm 68.7 cm 65.4 keV 14.6 keV 1.92 cm 1.92 cm Tracker eIoni - 2 1.21 cm -2.89 cm 68.9 cm 52.9 keV 12.5 keV 1.4 cm 3.32 cm Tracker eIoni - 3 1.9 cm -3.53 cm 68.8 cm 46.8 keV 6.11 keV 1.01 cm 4.33 cm Tracker eIoni - 4 2.34 cm -4.08 cm 68.4 cm 42.9 keV 3.82 keV 8.39 mm 5.17 cm Tracker eIoni - 5 2.64 cm -4.66 cm 68.2 cm 38.6 keV 4.34 keV 7.42 mm 5.91 cm Tracker eIoni - 6 3.16 cm -4.95 cm 68.1 cm 33.8 keV 4.81 keV 6.44 mm 6.56 cm Tracker eIoni - 7 3.24 cm -5.19 cm 68.6 cm 28 keV 5.82 keV 5.39 mm 7.1 cm Tracker eIoni - 8 3.08 cm -5.36 cm 68.9 cm 21.9 keV 6.05 keV 4.3 mm 7.53 cm Tracker eIoni - 9 2.9 cm -5.6 cm 68.9 cm 11 keV 11 keV 3.3 mm 7.86 cm Tracker eIoni - 10 2.91 cm -5.75 cm 68.9 cm 4.95 keV 6.02 keV 1.83 mm 8.04 cm Tracker eIoni - 11 2.9 cm -5.75 cm 68.9 cm 0 eV 4.95 keV 677 um 8.11 cm Tracker eIoni + 1 0 fm 0 fm -2.45 m 1e+03 GeV 108 keV 46 cm 46 cm World Transportation + 2 -335 nm -1.45 um -2.4 m 1e+03 GeV 79.1 MeV 4.67 cm 50.7 cm Target muIoni + 3 -169 nm -1.38 um -2.4 m 1e+03 GeV 5.2 MeV 3.16 mm 51 cm Target muIoni + 4 -159 nm -1.38 um -2.4 m 1e+03 GeV 225 keV 178 um 51 cm Target Transportation + 5 5.29 um -1.15 um -2.3 m 1e+03 GeV 23.4 keV 10 cm 61 cm Tracker StepLimiter + 6 6.72 um -1.08 um -2.27 m 1e+03 GeV 2.63 keV 2.63 cm 63.6 cm Tracker muIoni + 7 12.2 um -709 nm -2.17 m 1e+03 GeV 28.3 keV 10 cm 73.6 cm Tracker StepLimiter + 8 17.6 um -353 nm -2.07 m 1e+03 GeV 23 keV 10 cm 83.6 cm Tracker StepLimiter + 9 23.1 um 52.1 nm -1.97 m 1e+03 GeV 19.3 keV 10 cm 93.6 cm Tracker StepLimiter + 10 28.5 um 461 nm -1.87 m 1e+03 GeV 27.4 keV 10 cm 1.04 m Tracker StepLimiter + 11 33.9 um 880 nm -1.77 m 1e+03 GeV 21.9 keV 10 cm 1.14 m Tracker StepLimiter + 12 39.3 um 1.32 um -1.67 m 1e+03 GeV 25.7 keV 10 cm 1.24 m Tracker StepLimiter + 13 43.2 um 1.6 um -1.6 m 1e+03 GeV 21.6 keV 7.37 cm 1.31 m Tracker Transportation + 14 54 um 2.38 um -1.4 m 1e+03 GeV 171 keV 20 cm 1.51 m Chamber Transportation + 15 59.5 um 2.95 um -1.3 m 1e+03 GeV 24.8 keV 10 cm 1.61 m Tracker StepLimiter + 16 64.9 um 3.49 um -1.2 m 1e+03 GeV 24.3 keV 10 cm 1.71 m Tracker StepLimiter + 17 70.3 um 4.07 um -1.1 m 1e+03 GeV 24.9 keV 10 cm 1.81 m Tracker StepLimiter + 18 75.7 um 4.68 um -1 m 1e+03 GeV 23.2 keV 10 cm 1.91 m Tracker StepLimiter + 19 81.2 um 5.25 um -90 cm 1e+03 GeV 21.1 keV 10 cm 2.01 m Tracker StepLimiter + 20 86.6 um 5.81 um -80 cm 1e+03 GeV 19 keV 10 cm 2.11 m Tracker StepLimiter + 21 86.6 um 5.81 um -80 cm 1e+03 GeV0.000214 eV 8.93 Ang 2.11 m Tracker Transportation + 22 97.4 um 6.93 um -60 cm 1e+03 GeV 165 keV 20 cm 2.31 m Chamber Transportation + 23 103 um 7.32 um -50 cm 1e+03 GeV 19.8 keV 10 cm 2.41 m Tracker StepLimiter + 24 108 um 7.7 um -40 cm 1e+03 GeV 21 keV 10 cm 2.51 m Tracker StepLimiter + 25 113 um 8.09 um -30 cm 1e+03 GeV 18.2 keV 10 cm 2.61 m Tracker StepLimiter + 26 119 um 8.5 um -20 cm 1e+03 GeV 22.5 keV 10 cm 2.71 m Tracker StepLimiter + 27 124 um 8.88 um -10 cm 1e+03 GeV 24.8 keV 10 cm 2.81 m Tracker StepLimiter + 28 129 um 9.29 um -8.58 Ang 1e+03 GeV 24.5 keV 10 cm 2.91 m Tracker StepLimiter + 29 129 um 9.29 um 0 fm 1e+03 GeV0.000206 eV 8.58 Ang 2.91 m Tracker Transportation + 30 140 um 10.1 um 20 cm 1e+03 GeV 216 keV 20 cm 3.11 m Chamber Transportation + 31 145 um 10.5 um 30 cm 1e+03 GeV 23.8 keV 10 cm 3.21 m Tracker StepLimiter + 32 147 um 10.6 um 32.5 cm 1e+03 GeV 4.84 keV 2.47 cm 3.23 m Tracker muIoni + 33 152 um 11.1 um 42.5 cm 1e+03 GeV 24.5 keV 10 cm 3.33 m Tracker StepLimiter + 34 157 um 11.5 um 52.5 cm 1e+03 GeV 23.4 keV 10 cm 3.43 m Tracker StepLimiter + 35 162 um 11.9 um 62.5 cm 1e+03 GeV 27.1 keV 10 cm 3.53 m Tracker StepLimiter + 36 167 um 12.3 um 72.5 cm 1e+03 GeV 24 keV 10 cm 3.63 m Tracker StepLimiter + 37 171 um 12.6 um 80 cm 1e+03 GeV 19 keV 7.53 cm 3.71 m Tracker Transportation + 38 176 um 13 um 88 cm 1e+03 GeV 83.3 keV 8.02 cm 3.79 m Chamber muIoni + 39 182 um 13.6 um 1 m 1e+03 GeV 109 keV 12 cm 3.91 m Chamber Transportation + 40 187 um 14.2 um 1.1 m 1e+03 GeV 29.8 keV 10 cm 4.01 m Tracker StepLimiter + 41 192 um 14.7 um 1.2 m 1e+03 GeV 36.1 keV 10 cm 4.11 m Tracker StepLimiter + 42 197 um 15.3 um 1.3 m 1e+03 GeV 41 keV 10 cm 4.21 m Tracker StepLimiter + 43 202 um 15.9 um 1.4 m 1e+03 GeV 36.2 keV 10 cm 4.31 m Tracker StepLimiter + 44 207 um 16.4 um 1.5 m 1e+03 GeV 22.3 keV 10 cm 4.41 m Tracker StepLimiter + 45 213 um 16.9 um 1.6 m 1e+03 GeV 21.1 keV 10 cm 4.51 m Tracker StepLimiter + 46 213 um 16.9 um 1.6 m 1e+03 GeV0.000194 eV 8.08 Ang 4.51 m Tracker Transportation + 47 223 um 18 um 1.8 m 1e+03 GeV 191 keV 20 cm 4.71 m Chamber Transportation + 48 228 um 18.4 um 1.9 m 1e+03 GeV 19.7 keV 10 cm 4.81 m Tracker StepLimiter + 49 233 um 18.8 um 2 m 1e+03 GeV 17.5 keV 10 cm 4.91 m Tracker StepLimiter + 50 238 um 19.2 um 2.1 m 1e+03 GeV 35 keV 10 cm 5.01 m Tracker StepLimiter + 51 244 um 19.6 um 2.2 m 1e+03 GeV 22.5 keV 10 cm 5.11 m Tracker StepLimiter + 52 249 um 20 um 2.3 m 1e+03 GeV 19.4 keV 10 cm 5.21 m Tracker StepLimiter + 53 254 um 20.5 um 2.4 m 1e+03 GeV 22.1 keV 10 cm 5.31 m Tracker StepLimiter + 54 254 um 20.5 um 2.4 m 1e+03 GeV0.000195 eV 8.1 Ang 5.31 m Tracker Transportation + 55 281 um 22.6 um 2.91 m 1e+03 GeV 104 keV 51 cm 5.82 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 121 um -58.5 um -9.66 cm 24.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.7 mm -1.12 mm -9.5 cm 16.5 keV 8.18 keV 3.73 mm 3.73 mm Tracker eIoni - 2 -2.87 mm 994 um -9.57 cm 7.72 keV 8.78 keV 2.53 mm 6.26 mm Tracker eIoni - 3 -3.54 mm 898 um -9.58 cm 0 eV 7.72 keV 1.33 mm 7.6 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.18 um -488 nm -2.41 m 315 MeV 0 eV 0 fm 0 fm Target initStep - 1 3.12 um -7.52 um -2.41 m 312 MeV 517 keV 507 um 507 um Target eBrem - 2 1.73 um -9.47 um -2.41 m 162 MeV 358 keV 308 um 815 um Target eBrem - 3 -344 nm -19.8 um -2.41 m 157 MeV 3 MeV 470 um 1.28 mm Target eBrem - 4 -1.76 um -20.9 um -2.41 m 153 MeV 18.6 keV 23.7 um 1.31 mm Target eBrem - 5 -11.5 um -29.7 um -2.41 m 148 MeV 244 keV 146 um 1.45 mm Target eBrem - 6 -135 um -54.8 um -2.41 m 143 MeV 2.36 MeV 1.89 mm 3.34 mm Target eBrem - 7 -140 um -53.6 um -2.41 m 143 MeV 53.8 keV 46.8 um 3.39 mm Target eBrem - 8 -162 um -51 um -2.41 m 141 MeV 180 keV 169 um 3.56 mm Target eBrem - 9 -308 um -58.4 um -2.41 m 129 MeV 1.57 MeV 910 um 4.47 mm Target eBrem - 10 -571 um -87.8 um -2.4 m 127 MeV 1.37 MeV 1.13 mm 5.6 mm Target eBrem - 11 -755 um -118 um -2.4 m 114 MeV 1.7 MeV 648 um 6.25 mm Target eBrem - 12 -838 um -128 um -2.4 m 85.4 MeV 344 keV 335 um 6.59 mm Target eBrem - 13 -1.02 mm -113 um -2.4 m 82.1 MeV 1.26 MeV 954 um 7.54 mm Target eBrem - 14 -1.48 mm -144 um -2.4 m 75.6 MeV 3.29 MeV 1.49 mm 9.03 mm Target eBrem - 15 -1.73 mm -214 um -2.4 m 39.2 MeV 1.21 MeV 1.08 mm 1.01 cm Target eBrem - 16 -1.82 mm -190 um -2.4 m 38.8 MeV 447 keV 398 um 1.05 cm Target Transportation - 17 -3.04 cm 9.86 mm -2.3 m 38.8 MeV 16.8 keV 10 cm 11.1 cm Tracker StepLimiter - 18 -5.97 cm 2.02 cm -2.21 m 38.8 MeV 13.1 keV 10 cm 21.1 cm Tracker StepLimiter - 19 -8.8 cm 3.03 cm -2.11 m 38.7 MeV 24.1 keV 10 cm 31.1 cm Tracker StepLimiter - 20 -11.7 cm 4.05 cm -2.02 m 38.7 MeV 15 keV 10 cm 41.1 cm Tracker StepLimiter - 21 -14.6 cm 5.1 cm -1.92 m 38.7 MeV 18.9 keV 10 cm 51.1 cm Tracker StepLimiter - 22 -17.6 cm 6.04 cm -1.83 m 38.7 MeV 16.4 keV 10 cm 61.1 cm Tracker StepLimiter - 23 -20.5 cm 7.02 cm -1.73 m 38.7 MeV 17.1 keV 10 cm 71.1 cm Tracker StepLimiter - 24 -23.5 cm 7.9 cm -1.64 m 38.7 MeV 26.3 keV 10 cm 81.1 cm Tracker StepLimiter - 25 -26.5 cm 8.84 cm -1.54 m 38.6 MeV 23.3 keV 10 cm 91.1 cm Tracker StepLimiter - 26 -29.5 cm 9.68 cm -1.45 m 38.6 MeV 37.4 keV 10 cm 1.01 m Tracker StepLimiter - 27 -32.6 cm 10.5 cm -1.35 m 38.6 MeV 13.9 keV 10 cm 1.11 m Tracker StepLimiter - 28 -35.7 cm 11.3 cm -1.26 m 38.6 MeV 19.7 keV 10 cm 1.21 m Tracker StepLimiter - 29 -38.8 cm 12.1 cm -1.16 m 38.5 MeV 19.6 keV 10 cm 1.31 m Tracker StepLimiter - 30 -41.9 cm 13 cm -1.07 m 38.5 MeV 24 keV 10 cm 1.41 m Tracker StepLimiter - 31 -44.4 cm 13.6 cm -99.3 cm 38.5 MeV 15.8 keV 8.13 cm 1.49 m Tracker eIoni - 32 -47.5 cm 14.5 cm -89.8 cm 38.5 MeV 20.4 keV 10 cm 1.59 m Tracker StepLimiter - 33 -50.7 cm 15.2 cm -80.4 cm 38.4 MeV 25 keV 9.96 cm 1.69 m Tracker eIoni - 34 -50.8 cm 15.3 cm -80 cm 38.4 MeV 675 eV 4.51 mm 1.7 m Tracker Transportation - 35 -57.4 cm 16.9 cm -60 cm 38.3 MeV 154 keV 21.1 cm 1.91 m Chamber Transportation - 36 -60.1 cm 17 cm -50.4 cm 38.2 MeV 26.7 keV 10 cm 2.01 m Tracker StepLimiter - 37 -61 cm 17 cm -47 cm 38.2 MeV 7.24 keV 3.47 cm 2.04 m Tracker eIoni - 38 -63.6 cm 17.1 cm -37.4 cm 38.2 MeV 18.8 keV 10 cm 2.14 m Tracker StepLimiter - 39 -66.3 cm 17.1 cm -27.7 cm 38.2 MeV 21.4 keV 10 cm 2.24 m Tracker StepLimiter - 40 -69 cm 17.1 cm -18.1 cm 38.1 MeV 16.2 keV 10 cm 2.34 m Tracker StepLimiter - 41 -71.7 cm 17.2 cm -8.47 cm 38.1 MeV 22.2 keV 10 cm 2.44 m Tracker StepLimiter - 42 -74.1 cm 17.2 cm 0.0142 fm 38.1 MeV 15.6 keV 8.81 cm 2.53 m Tracker Transportation - 43 -79.9 cm 17.4 cm 20 cm 38 MeV 119 keV 20.8 cm 2.74 m Chamber Transportation - 44 -83 cm 17.6 cm 29.5 cm 38 MeV 18.3 keV 10 cm 2.84 m Tracker StepLimiter - 45 -86 cm 17.7 cm 39 cm 37.9 MeV 28.1 keV 10 cm 2.94 m Tracker StepLimiter - 46 -89.1 cm 17.7 cm 48.5 cm 37.9 MeV 20 keV 10 cm 3.04 m Tracker StepLimiter - 47 -92.4 cm 17.7 cm 58 cm 37.9 MeV 21.4 keV 10 cm 3.14 m Tracker StepLimiter - 48 -95.5 cm 17.7 cm 67.5 cm 37.9 MeV 19.8 keV 10 cm 3.24 m Tracker StepLimiter - 49 -98.5 cm 17.7 cm 77 cm 37.9 MeV 17.1 keV 10 cm 3.34 m Tracker StepLimiter - 50 -99.5 cm 17.7 cm 80 cm 37.9 MeV 6.03 keV 3.12 cm 3.37 m Tracker Transportation - 51 -1.06 m 17.5 cm 1 m 37.7 MeV 144 keV 21.1 cm 3.58 m Chamber Transportation - 52 -1.09 m 17.4 cm 1.1 m 37.7 MeV 16.7 keV 10 cm 3.68 m Tracker StepLimiter - 53 -1.12 m 17.3 cm 1.19 m 37.7 MeV 17.7 keV 10 cm 3.78 m Tracker StepLimiter - 54 -1.14 m 17.3 cm 1.29 m 37.7 MeV 20.3 keV 10 cm 3.88 m Tracker StepLimiter - 55 -1.17 m 17.1 cm 1.38 m 37.6 MeV 19.7 keV 10 cm 3.98 m Tracker StepLimiter - 56 -1.2 m 16.9 cm 1.48 m 37.6 MeV 33.3 keV 10 cm 4.08 m Tracker StepLimiter - 57 -1.22 m 16.6 cm 1.58 m 37.6 MeV 16.3 keV 10 cm 4.18 m Tracker StepLimiter - 58 -1.23 m 16.6 cm 1.6 m 37.6 MeV 3.6 keV 2.4 cm 4.2 m Tracker Transportation - 59 -1.29 m 16.2 cm 1.8 m 37.4 MeV 145 keV 20.8 cm 4.41 m Chamber Transportation - 60 -1.32 m 15.8 cm 1.9 m 37.4 MeV 21.2 keV 10 cm 4.51 m Tracker StepLimiter - 61 -1.34 m 15.5 cm 1.99 m 37.4 MeV 21.4 keV 10 cm 4.61 m Tracker StepLimiter - 62 -1.37 m 15.2 cm 2.09 m 37.4 MeV 23.2 keV 10 cm 4.71 m Tracker StepLimiter - 63 -1.4 m 14.8 cm 2.18 m 37.3 MeV 35.3 keV 10 cm 4.81 m Tracker StepLimiter - 64 -1.42 m 14.4 cm 2.28 m 37.3 MeV 25.2 keV 10 cm 4.91 m Tracker StepLimiter - 65 -1.45 m 13.9 cm 2.38 m 37.3 MeV 20.8 keV 10 cm 5.01 m Tracker StepLimiter - 66 -1.46 m 13.8 cm 2.4 m 37.3 MeV 4.21 keV 2.33 cm 5.04 m Tracker Transportation - 67 -1.59 m 11.1 cm 2.91 m 37.2 MeV 100 keV 52.9 cm 5.57 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -61 cm 17 cm -47 cm 18 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -60.8 cm 17.1 cm -46.9 cm 14 keV 4.01 keV 2.74 mm 2.74 mm Tracker eIoni - 2 -60.8 cm 17.3 cm -46.8 cm 10.2 keV 3.78 keV 2.22 mm 4.96 mm Tracker eIoni - 3 -60.8 cm 17.3 cm -46.7 cm 1.11 keV 9.1 keV 1.73 mm 6.69 mm Tracker eIoni - 4 -60.8 cm 17.3 cm -46.7 cm 0 eV 1.11 keV 66.6 um 6.75 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -50.7 cm 15.2 cm -80.4 cm 30.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -50.9 cm 15 cm -80.3 cm 27.7 keV 2.8 keV 2.98 mm 2.98 mm Tracker msc - 2 -51 cm 14.9 cm -80.1 cm 23 keV 4.65 keV 2.98 mm 5.95 mm Tracker msc - 3 -51.1 cm 14.7 cm -80 cm 10.1 keV 13 keV 2.37 mm 8.32 mm Tracker Transportation - 4 -51.1 cm 14.7 cm -80 cm 10.1 keV 0 eV 0 fm 8.32 mm Chamber Transportation - 5 -51.1 cm 14.7 cm -80 cm 9.71 keV 343 eV 200 um 8.52 mm Tracker msc - 6 -51.1 cm 14.7 cm -80 cm 9.53 keV 179 eV 200 um 8.72 mm Tracker msc - 7 -51.1 cm 14.7 cm -80 cm 9.04 keV 497 eV 200 um 8.92 mm Tracker msc - 8 -51.1 cm 14.7 cm -80 cm 5.4 keV 3.64 keV 200 um 9.12 mm Tracker msc - 9 -51.1 cm 14.7 cm -80 cm 5.03 keV 365 eV 200 um 9.32 mm Tracker msc - 10 -51.1 cm 14.6 cm -80 cm 3.69 keV 1.34 keV 200 um 9.52 mm Tracker msc - 11 -51.1 cm 14.6 cm -80 cm 2.75 keV 949 eV 200 um 9.72 mm Tracker msc - 12 -51.1 cm 14.6 cm -80 cm 2.75 keV 0 eV 2.48 um 9.72 mm Tracker Transportation - 13 -51.1 cm 14.6 cm -80 cm 2.71 keV 32.8 eV 8.76 um 9.73 mm Chamber msc - 14 -51.1 cm 14.6 cm -80 cm 2.68 keV 34 eV 8.76 um 9.74 mm Chamber msc - 15 -51.1 cm 14.6 cm -80 cm 2.65 keV 24.4 eV 8.76 um 9.75 mm Chamber msc - 16 -51.1 cm 14.6 cm -80 cm 2.35 keV 301 eV 8.76 um 9.76 mm Chamber msc - 17 -51.1 cm 14.6 cm -80 cm 2.35 keV 0 eV 8.76 um 9.76 mm Chamber msc - 18 -51.1 cm 14.6 cm -80 cm 2.13 keV 224 eV 8.76 um 9.77 mm Chamber msc - 19 -51.1 cm 14.6 cm -80 cm 2.05 keV 79.5 eV 8.76 um 9.78 mm Chamber msc - 20 -51.1 cm 14.6 cm -80 cm 1.99 keV 60.6 eV 8.76 um 9.79 mm Chamber msc - 21 -51.1 cm 14.6 cm -80 cm 1.89 keV 101 eV 8.76 um 9.8 mm Chamber msc - 22 -51.1 cm 14.6 cm -80 cm 1.8 keV 83.3 eV 8.76 um 9.81 mm Chamber msc - 23 -51.1 cm 14.6 cm -80 cm 1.72 keV 81.3 eV 8.76 um 9.82 mm Chamber msc - 24 -51.1 cm 14.6 cm -80 cm 913 eV 810 eV 8.76 um 9.83 mm Chamber msc - 25 -51.1 cm 14.6 cm -80 cm 0 eV 913 eV 35.9 um 9.86 mm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -44.4 cm 13.6 cm -99.3 cm 18.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -44.6 cm 13.8 cm -99.3 cm 15.9 keV 2.57 keV 2.8 mm 2.8 mm Tracker eIoni - 2 -44.7 cm 13.6 cm -99.5 cm 10.7 keV 5.18 keV 2.45 mm 5.25 mm Tracker eIoni - 3 -44.8 cm 13.5 cm -99.6 cm 4.62 keV 6.06 keV 1.79 mm 7.04 mm Tracker eIoni - 4 -44.8 cm 13.5 cm -99.6 cm 0 eV 4.62 keV 599 um 7.64 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.73 mm -214 um -2.4 m 35.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.83 mm -166 um -2.4 m 35.2 MeV 0 eV 402 um 402 um Target Transportation - 2 -21.1 cm 9.79 cm -1.6 m 35.2 MeV 0 eV 83.3 cm 83.3 cm Tracker Transportation - 3 -24 cm 11.2 cm -1.49 m 35.2 MeV 0 eV 11.6 cm 94.9 cm Chamber Transportation - 4 -42 cm 19.6 cm -80 cm 35.2 MeV 0 eV 71.6 cm 1.67 m Tracker Transportation - 5 -47.2 cm 22.1 cm -60 cm 35.2 MeV 0 eV 20.8 cm 1.87 m Chamber Transportation - 6 -62.9 cm 29.4 cm 0 fm 35.2 MeV 0 eV 62.4 cm 2.5 m Tracker Transportation - 7 -68.1 cm 31.9 cm 20 cm 35.2 MeV 0 eV 20.8 cm 2.71 m Chamber Transportation - 8 -83.8 cm 39.2 cm 80 cm 35.2 MeV 0 eV 62.4 cm 3.33 m Tracker Transportation - 9 -89 cm 41.7 cm 1 m 35.2 MeV 0 eV 20.8 cm 3.54 m Chamber Transportation - 10 -1.05 m 49 cm 1.6 m 35.2 MeV 0 eV 62.4 cm 4.16 m Tracker Transportation - 11 -1.1 m 51.5 cm 1.8 m 35.2 MeV 0 eV 20.8 cm 4.37 m Chamber Transportation - 12 -1.26 m 58.8 cm 2.4 m 35.2 MeV 0 eV 62.4 cm 5 m Tracker Transportation - 13 -1.39 m 65.1 cm 2.91 m 35.2 MeV 0 eV 53.1 cm 5.53 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.48 mm -144 um -2.4 m 3.19 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.72 mm -244 um -2.4 m 3.19 MeV 0 eV 1.46 mm 1.46 mm Target Transportation - 2 -13.8 cm -5.57 cm -1.6 m 3.19 MeV 0 eV 81.3 cm 81.5 cm Tracker Transportation - 3 -17.2 cm -6.95 cm -1.4 m 3.19 MeV 0 eV 20.3 cm 1.02 m Chamber Transportation - 4 -27.4 cm -11.1 cm -80 cm 3.19 MeV 0 eV 61 cm 1.63 m Tracker Transportation - 5 -30.8 cm -12.5 cm -60 cm 3.19 MeV 0 eV 20.3 cm 1.83 m Chamber Transportation - 6 -41 cm -16.6 cm -0.114 fm 3.19 MeV 0 eV 61 cm 2.44 m Tracker Transportation - 7 -44.4 cm -18 cm 20 cm 3.19 MeV 0 eV 20.3 cm 2.64 m Chamber Transportation - 8 -54.6 cm -22.2 cm 80 cm 3.19 MeV 0 eV 61 cm 3.26 m Tracker Transportation - 9 -58 cm -23.6 cm 1 m 3.19 MeV 0 eV 20.3 cm 3.46 m Chamber Transportation - 10 -68.2 cm -27.7 cm 1.6 m 3.19 MeV 0 eV 61 cm 4.07 m Tracker Transportation - 11 -71.6 cm -29.1 cm 1.8 m 3.19 MeV 0 eV 20.3 cm 4.27 m Chamber Transportation - 12 -81.8 cm -33.3 cm 2.4 m 3.19 MeV 0 eV 61 cm 4.88 m Tracker Transportation - 13 -90.5 cm -36.8 cm 2.91 m 3.19 MeV 0 eV 51.9 cm 5.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.02 mm -113 um -2.4 m 2.06 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.76 mm -254 um -2.4 m 2.06 MeV 0 eV 2.95 mm 2.95 mm Target Transportation - 2 -21.1 cm -3.99 cm -1.6 m 2.06 MeV 0 eV 82.8 cm 83.1 cm Tracker Transportation - 3 -24 cm -4.54 cm -1.49 m 2.06 MeV 0 eV 11.4 cm 94.5 cm Chamber Transportation - 4 -42 cm -7.95 cm -80 cm 2.06 MeV 0 eV 71.3 cm 1.66 m Tracker Transportation - 5 -47.3 cm -8.94 cm -60 cm 2.06 MeV 0 eV 20.7 cm 1.87 m Chamber Transportation - 6 -63 cm -11.9 cm 0 fm 2.06 MeV 0 eV 62.1 cm 2.49 m Tracker Transportation - 7 -68.2 cm -12.9 cm 20 cm 2.06 MeV 0 eV 20.7 cm 2.69 m Chamber Transportation - 8 -83.9 cm -15.9 cm 80 cm 2.06 MeV 0 eV 62.1 cm 3.31 m Tracker Transportation - 9 -89.1 cm -16.9 cm 1 m 2.06 MeV 0 eV 20.7 cm 3.52 m Chamber Transportation - 10 -1.05 m -19.8 cm 1.6 m 2.06 MeV 0 eV 62.1 cm 4.14 m Tracker Transportation - 11 -1.1 m -20.8 cm 1.8 m 2.06 MeV 0 eV 20.7 cm 4.35 m Chamber Transportation - 12 -1.26 m -23.8 cm 2.4 m 2.06 MeV 0 eV 62.1 cm 4.97 m Tracker Transportation - 13 -1.39 m -26.3 cm 2.91 m 2.06 MeV 0 eV 52.8 cm 5.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -838 um -128 um -2.4 m 27.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.67 mm -223 um -2.4 m 27.8 MeV 0 eV 3.88 mm 3.88 mm Target Transportation - 2 -17.7 cm -2.02 cm -1.6 m 27.8 MeV 0 eV 81.9 cm 82.3 cm Tracker Transportation - 3 -22 cm -2.52 cm -1.4 m 27.8 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation - 4 -35.2 cm -4.02 cm -80 cm 27.8 MeV 0 eV 61.4 cm 1.64 m Tracker Transportation - 5 -39.6 cm -4.52 cm -60 cm 27.8 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation - 6 -52.7 cm -6.02 cm 0 fm 27.8 MeV 0 eV 61.4 cm 2.46 m Tracker Transportation - 7 -57.1 cm -6.52 cm 20 cm 27.8 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation - 8 -70.2 cm -8.02 cm 80 cm 27.8 MeV 0 eV 61.4 cm 3.28 m Tracker Transportation - 9 -74.6 cm -8.52 cm 1 m 27.8 MeV 0 eV 20.5 cm 3.49 m Chamber Transportation - 10 -87.7 cm -10 cm 1.6 m 27.8 MeV 0 eV 61.4 cm 4.1 m Tracker Transportation - 11 -92.1 cm -10.5 cm 1.8 m 27.8 MeV 0 eV 20.5 cm 4.3 m Chamber Transportation - 12 -1.05 m -12 cm 2.4 m 27.8 MeV 0 eV 61.4 cm 4.92 m Tracker Transportation - 13 -1.16 m -13.3 cm 2.91 m 27.8 MeV 0 eV 52.2 cm 5.44 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -755 um -118 um -2.4 m 11.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.32 mm -218 um -2.4 m 2.43 MeV 0 eV 2.2 mm 2.2 mm Target compt - 2 -1.57 mm 765 um -2.4 m 1.89 MeV 0 eV 1.94 mm 4.13 mm Target compt - 3 -1.51 mm 891 um -2.4 m 1.89 MeV 0 eV 368 um 4.5 mm Target Transportation - 4 28.1 cm 59.1 cm -80 cm 1.89 MeV 0 eV 1.73 m 1.73 m Tracker Transportation - 5 31.6 cm 66.4 cm -60 cm 1.89 MeV 0 eV 21.6 cm 1.95 m Chamber Transportation - 6 42.2 cm 88.6 cm -0.114 fm 1.89 MeV 0 eV 64.8 cm 2.6 m Tracker Transportation - 7 45.7 cm 95.9 cm 20 cm 1.89 MeV 0 eV 21.6 cm 2.81 m Chamber Transportation - 8 56.3 cm 1.18 m 80 cm 1.89 MeV 0 eV 64.8 cm 3.46 m Tracker Transportation - 9 59.8 cm 1.25 m 1 m 1.89 MeV 0 eV 21.6 cm 3.68 m Chamber Transportation - 10 70.4 cm 1.48 m 1.6 m 1.89 MeV 0 eV 64.8 cm 4.33 m Tracker Transportation - 11 73.9 cm 1.55 m 1.8 m 1.89 MeV 0 eV 21.6 cm 4.54 m Chamber Transportation - 12 84.5 cm 1.77 m 2.4 m 1.89 MeV 0 eV 64.8 cm 5.19 m Tracker Transportation - 13 93.4 cm 1.96 m 2.91 m 1.89 MeV 0 eV 55.1 cm 5.74 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 19 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.57 mm 765 um -2.4 m 537 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.59 mm 780 um -2.4 m 0 eV 537 keV 335 um 335 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 19 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.32 mm -218 um -2.4 m 9.36 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.4 mm -127 um -2.4 m 8.66 MeV 695 keV 598 um 598 um Target msc - 2 -1.24 mm 24.3 um -2.4 m 8.25 MeV 417 keV 388 um 986 um Target msc - 3 -1.23 mm 255 um -2.4 m 7.83 MeV 417 keV 388 um 1.37 mm Target msc - 4 -1.19 mm 574 um -2.4 m 7.41 MeV 423 keV 388 um 1.76 mm Target msc - 5 -1.16 mm 631 um -2.4 m 4.73 MeV 69.5 keV 66.7 um 1.83 mm Target eBrem - 6 -866 um 775 um -2.4 m 4.33 MeV 398 keV 388 um 2.21 mm Target msc - 7 -737 um 621 um -2.4 m 3.11 MeV 315 keV 260 um 2.47 mm Target eBrem - 8 -658 um 326 um -2.4 m 2.57 MeV 541 keV 388 um 2.86 mm Target msc - 9 -734 um 57.5 um -2.4 m 2.15 MeV 415 keV 388 um 3.25 mm Target msc - 10 -968 um 114 um -2.4 m 1.77 MeV 379 keV 388 um 3.64 mm Target msc - 11 -1.12 mm 237 um -2.4 m 963 keV 812 keV 388 um 4.03 mm Target msc - 12 -1.17 mm 218 um -2.4 m 0 eV 963 keV 697 um 4.72 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 27 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -737 um 621 um -2.4 m 903 keV 0 eV 0 fm 0 fm Target initStep - 1 3.78 mm -7.17 mm -2.4 m 248 keV 0 eV 9.97 mm 9.97 mm Target compt - 2 3.25 mm -7.2 mm -2.4 m 0 eV 88 keV 2.87 mm 1.28 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 30 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.25 mm -7.2 mm -2.4 m 160 keV 0 eV 0 fm 0 fm Target initStep - 1 3.25 mm -7.21 mm -2.4 m 0 eV 160 keV 58 um 58 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 30 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.78 mm -7.17 mm -2.4 m 655 keV 0 eV 0 fm 0 fm Target initStep - 1 3.8 mm -7.19 mm -2.4 m 0 eV 655 keV 434 um 434 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 27 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.16 mm 631 um -2.4 m 2.61 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.13 mm 663 um -2.4 m 339 keV 0 eV 40.5 um 40.5 um Target compt - 2 -893 um 326 um -2.4 m 0 eV 88 keV 456 um 497 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 29 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -893 um 326 um -2.4 m 251 keV 0 eV 0 fm 0 fm Target initStep - 1 -886 um 329 um -2.4 m 0 eV 251 keV 116 um 116 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 29 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.13 mm 663 um -2.4 m 2.27 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.09 mm 806 um -2.4 m 2.06 MeV 209 keV 201 um 201 um Target msc - 2 -1.09 mm 787 um -2.4 m 1.95 MeV 110 keV 131 um 332 um Target msc - 3 -1.09 mm 753 um -2.4 m 1.77 MeV 180 keV 104 um 437 um Target msc - 4 -1.01 mm 733 um -2.4 m 1.63 MeV 144 keV 96 um 533 um Target msc - 5 -943 um 765 um -2.4 m 1.53 MeV 98.1 keV 80.8 um 614 um Target msc - 6 -922 um 829 um -2.4 m 1.45 MeV 75.7 keV 82.2 um 696 um Target msc - 7 -893 um 865 um -2.4 m 1.39 MeV 58.5 keV 71.8 um 768 um Target msc - 8 -848 um 905 um -2.4 m 1.29 MeV 107 keV 71.8 um 839 um Target msc - 9 -814 um 951 um -2.4 m 1.19 MeV 99.3 keV 71.8 um 911 um Target msc - 10 -839 um 965 um -2.4 m 1.13 MeV 53.6 keV 71.8 um 983 um Target msc - 11 -844 um 990 um -2.4 m 996 keV 138 keV 71.8 um 1.05 mm Target msc - 12 -833 um 1.04 mm -2.4 m 911 keV 84.8 keV 71.8 um 1.13 mm Target msc - 13 -803 um 1.07 mm -2.4 m 811 keV 100 keV 71.8 um 1.2 mm Target msc - 14 -782 um 1.05 mm -2.4 m 714 keV 96.4 keV 71.8 um 1.27 mm Target msc - 15 -747 um 1.07 mm -2.4 m 623 keV 91.6 keV 71.8 um 1.34 mm Target msc - 16 -787 um 1.08 mm -2.4 m 543 keV 80.3 keV 71.8 um 1.41 mm Target msc - 17 -775 um 1.1 mm -2.4 m 459 keV 83.3 keV 71.8 um 1.49 mm Target msc - 18 -811 um 1.08 mm -2.4 m 381 keV 77.8 keV 71.8 um 1.56 mm Target msc - 19 -781 um 1.07 mm -2.4 m 290 keV 91 keV 71.8 um 1.63 mm Target msc - 20 -755 um 1.07 mm -2.4 m 223 keV 67.1 keV 71.8 um 1.7 mm Target msc - 21 -767 um 1.09 mm -2.4 m 61.6 keV 162 keV 71.8 um 1.77 mm Target msc - 22 -767 um 1.09 mm -2.4 m 0 eV 61.6 keV 12.6 um 1.79 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -571 um -87.8 um -2.4 m 539 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.03 mm -149 um -2.4 m 0 eV 88 keV 1.8 mm 1.8 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.03 mm -149 um -2.4 m 451 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.04 mm -137 um -2.4 m 0 eV 451 keV 265 um 265 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -308 um -58.4 um -2.41 m 10.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.62 mm -419 um -2.4 m 10.2 MeV 0 eV 5.99 mm 5.99 mm Target Transportation - 2 -18.2 cm -4.99 cm -1.6 m 10.2 MeV 0 eV 82.2 cm 82.8 cm Tracker Transportation - 3 -22.7 cm -6.23 cm -1.4 m 10.2 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation - 4 -36.3 cm -9.95 cm -80 cm 10.2 MeV 0 eV 61.6 cm 1.65 m Tracker Transportation - 5 -40.8 cm -11.2 cm -60 cm 10.2 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation - 6 -54.3 cm -14.9 cm 0 fm 10.2 MeV 0 eV 61.6 cm 2.47 m Tracker Transportation - 7 -58.8 cm -16.1 cm 20 cm 10.2 MeV 0 eV 20.5 cm 2.68 m Chamber Transportation - 8 -72.4 cm -19.8 cm 80 cm 10.2 MeV 0 eV 61.6 cm 3.29 m Tracker Transportation - 9 -76.9 cm -21.1 cm 1 m 10.2 MeV 0 eV 20.5 cm 3.5 m Chamber Transportation - 10 -90.4 cm -24.8 cm 1.6 m 10.2 MeV 0 eV 61.6 cm 4.11 m Tracker Transportation - 11 -95 cm -26 cm 1.8 m 10.2 MeV 0 eV 20.5 cm 4.32 m Chamber Transportation - 12 -1.09 m -29.8 cm 2.4 m 10.2 MeV 0 eV 61.6 cm 4.94 m Tracker Transportation - 13 -1.2 m -32.9 cm 2.91 m 10.2 MeV 0 eV 52.4 cm 5.46 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -162 um -51 um -2.41 m 2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.1 mm -181 um -2.4 m 2 MeV 0 eV 6.8 mm 6.8 mm Target Transportation - 2 -11.2 cm -1.56 cm -1.6 m 2 MeV 0 eV 80.8 cm 81.5 cm Tracker Transportation - 3 -14 cm -1.94 cm -1.4 m 2 MeV 0 eV 20.2 cm 1.02 m Chamber Transportation - 4 -22.3 cm -3.1 cm -80 cm 2 MeV 0 eV 60.6 cm 1.62 m Tracker Transportation - 5 -25.1 cm -3.48 cm -60 cm 2 MeV 0 eV 20.2 cm 1.82 m Chamber Transportation - 6 -33.5 cm -4.63 cm 0 fm 2 MeV 0 eV 60.6 cm 2.43 m Tracker Transportation - 7 -36.2 cm -5.02 cm 20 cm 2 MeV 0 eV 20.2 cm 2.63 m Chamber Transportation - 8 -44.6 cm -6.17 cm 80 cm 2 MeV 0 eV 60.6 cm 3.24 m Tracker Transportation - 9 -47.4 cm -6.56 cm 1 m 2 MeV 0 eV 20.2 cm 3.44 m Chamber Transportation - 10 -55.7 cm -7.71 cm 1.6 m 2 MeV 0 eV 60.6 cm 4.05 m Tracker Transportation - 11 -58.5 cm -8.1 cm 1.8 m 2 MeV 0 eV 20.2 cm 4.25 m Chamber Transportation - 12 -66.8 cm -9.25 cm 2.4 m 2 MeV 0 eV 60.6 cm 4.85 m Tracker Transportation - 13 -73.9 cm -10.2 cm 2.91 m 2 MeV 0 eV 51.5 cm 5.37 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -140 um -53.6 um -2.41 m 363 keV 0 eV 0 fm 0 fm Target initStep - 1 -950 um 57.7 um -2.4 m 363 keV 0 eV 6.95 mm 6.95 mm Target Transportation - 2 -9.49 cm 1.3 cm -1.6 m 363 keV 0 eV 80.6 cm 81.3 cm Tracker Transportation - 3 -11.8 cm 1.62 cm -1.4 m 363 keV 0 eV 20.1 cm 1.01 m Chamber Transportation - 4 -18.9 cm 2.59 cm -80 cm 363 keV 0 eV 60.4 cm 1.62 m Tracker Transportation - 5 -19.3 cm 2.65 cm -76 cm 256 keV 0 eV 4.03 cm 1.66 m Chamber compt - 6 3.13 cm 20.4 cm -60 cm 256 keV 0 eV 32.8 cm 1.99 m Chamber Transportation - 7 87.4 cm 87 cm 0.114 fm 256 keV 0 eV 1.23 m 3.22 m Tracker Transportation - 8 1.1 m 1.05 m 16.3 cm 256 keV 0 eV 33.5 cm 3.55 m Chamber Transportation - 9 2.4 m 2.07 m 1.09 m 256 keV 0 eV 1.89 m 5.44 m Tracker Transportation - 10 2.91 m 2.48 m 1.45 m 256 keV 0 eV 74.4 cm 6.19 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -19.3 cm 2.65 cm -76 cm 107 keV 0 eV 0 fm 0 fm Chamber initStep - 1 -19.9 cm 2.06 cm -76.1 cm 93.5 keV 13.2 keV 1.2 cm 1.2 cm Chamber msc - 2 -20.1 cm 1.58 cm -76.4 cm 86 keV 7.57 keV 8.57 mm 2.06 cm Chamber msc - 3 -20.6 cm 1.61 cm -76.3 cm 75 keV 10.9 keV 7 mm 2.76 cm Chamber msc - 4 -20.9 cm 1.69 cm -76.1 cm 67.3 keV 7.78 keV 5.78 mm 3.34 cm Chamber msc - 5 -20.9 cm 2.06 cm -76.2 cm 59.9 keV 7.33 keV 5.3 mm 3.87 cm Chamber msc - 6 -21.1 cm 2.24 cm -75.9 cm 44.1 keV 15.8 keV 5.19 mm 4.39 cm Chamber msc - 7 -21 cm 2.46 cm -76 cm 38.6 keV 5.52 keV 4.06 mm 4.79 cm Chamber eIoni - 8 -21 cm 2.57 cm -76.1 cm 30.6 keV 8.03 keV 3.54 mm 5.15 cm Chamber eIoni - 9 -21.1 cm 2.62 cm -76.2 cm 24.2 keV 6.34 keV 2.84 mm 5.43 cm Chamber eIoni - 10 -21.1 cm 2.61 cm -76.1 cm 13.8 keV 10.4 keV 2.35 mm 5.67 cm Chamber eIoni - 11 -21.1 cm 2.6 cm -76.1 cm 2.68 keV 11.2 keV 1.54 mm 5.82 cm Chamber eIoni - 12 -21.1 cm 2.6 cm -76.1 cm 0 eV 2.68 keV 155 um 5.83 cm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -135 um -54.8 um -2.41 m 1.77 MeV 0 eV 0 fm 0 fm Target initStep - 1 -906 um -3.32 um -2.4 m 1.77 MeV 0 eV 6.99 mm 6.99 mm Target Transportation - 2 -8.98 cm 5.93 mm -1.6 m 1.77 MeV 0 eV 80.5 cm 81.2 cm Tracker Transportation - 3 -11.2 cm 7.41 mm -1.4 m 1.77 MeV 0 eV 20.1 cm 1.01 m Chamber Transportation - 4 -17.9 cm 1.19 cm -80 cm 1.77 MeV 0 eV 60.4 cm 1.62 m Tracker Transportation - 5 -20.1 cm 1.33 cm -60 cm 1.77 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation - 6 -26.8 cm 1.78 cm 0 fm 1.77 MeV 0 eV 60.4 cm 2.42 m Tracker Transportation - 7 -29 cm 1.93 cm 20 cm 1.77 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation - 8 -35.6 cm 2.37 cm 80 cm 1.77 MeV 0 eV 60.4 cm 3.23 m Tracker Transportation - 9 -37.9 cm 2.52 cm 1 m 1.77 MeV 0 eV 20.1 cm 3.43 m Chamber Transportation - 10 -44.5 cm 2.96 cm 1.6 m 1.77 MeV 0 eV 60.4 cm 4.03 m Tracker Transportation - 11 -46.8 cm 3.11 cm 1.8 m 1.77 MeV 0 eV 20.1 cm 4.23 m Chamber Transportation - 12 -53.4 cm 3.56 cm 2.4 m 1.77 MeV 0 eV 60.4 cm 4.84 m Tracker Transportation - 13 -59.1 cm 3.94 cm 2.91 m 1.77 MeV 0 eV 51.3 cm 5.35 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -11.5 um -29.7 um -2.41 m 5.37 MeV 0 eV 0 fm 0 fm Target initStep - 1 -678 um -507 um -2.4 m 5.37 MeV 0 eV 8.87 mm 8.87 mm Target Transportation - 2 -6.11 cm -4.37 cm -1.6 m 5.37 MeV 0 eV 80.3 cm 81.2 cm Tracker Transportation - 3 -7.62 cm -5.45 cm -1.4 m 5.37 MeV 0 eV 20.1 cm 1.01 m Chamber Transportation - 4 -12.1 cm -8.7 cm -80 cm 5.37 MeV 0 eV 60.3 cm 1.62 m Tracker Transportation - 5 -13.7 cm -9.78 cm -60 cm 5.37 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation - 6 -18.2 cm -13 cm 0 fm 5.37 MeV 0 eV 60.3 cm 2.42 m Tracker Transportation - 7 -19.7 cm -14.1 cm 20 cm 5.37 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation - 8 -24.2 cm -17.3 cm 80 cm 5.37 MeV 0 eV 60.3 cm 3.22 m Tracker Transportation - 9 -25.7 cm -18.4 cm 1 m 5.37 MeV 0 eV 20.1 cm 3.42 m Chamber Transportation - 10 -30.3 cm -21.7 cm 1.6 m 5.37 MeV 0 eV 60.3 cm 4.03 m Tracker Transportation - 11 -31.8 cm -22.7 cm 1.8 m 5.37 MeV 0 eV 20.1 cm 4.23 m Chamber Transportation - 12 -36.3 cm -26 cm 2.4 m 5.37 MeV 0 eV 60.3 cm 4.83 m Tracker Transportation - 13 -40.2 cm -28.7 cm 2.91 m 5.37 MeV 0 eV 51.2 cm 5.34 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.76 um -20.9 um -2.41 m 3.74 MeV 0 eV 0 fm 0 fm Target initStep - 1 -112 um -115 um -2.41 m 0 eV 0 eV 1.43 mm 1.43 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 38, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -112 um -115 um -2.41 m 1.14 MeV 0 eV 0 fm 0 fm Target initStep - 1 -38.3 um -104 um -2.41 m 0 eV 1.14 MeV 857 um 857 um Target eIoni - 2 -38.3 um -104 um -2.41 m 0 eV 0 eV 0 fm 857 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 40, Parent ID = 38 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -38.3 um -104 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.11 mm 265 um -2.41 m 0 eV 88 keV 1.53 mm 1.53 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.11 mm 265 um -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.13 mm 269 um -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 38 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -38.3 um -104 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 830 um -402 um -2.41 m 256 keV 0 eV 1.24 mm 1.24 mm Target compt - 2 906 um -99.3 um -2.41 m 0 eV 88 keV 314 um 1.55 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 39 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 906 um -99.3 um -2.41 m 168 keV 0 eV 0 fm 0 fm Target initStep - 1 904 um -95.6 um -2.41 m 0 eV 168 keV 62.7 um 62.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 39 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 830 um -402 um -2.41 m 255 keV 0 eV 0 fm 0 fm Target initStep - 1 834 um -407 um -2.41 m 0 eV 255 keV 118 um 118 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -112 um -115 um -2.41 m 1.59 MeV 0 eV 0 fm 0 fm Target initStep - 1 -353 um -136 um -2.41 m 76.1 keV 1.51 MeV 1.19 mm 1.19 mm Target eIoni - 2 -352 um -135 um -2.41 m 0 eV 76.1 keV 17.8 um 1.21 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -344 nm -19.8 um -2.41 m 2.39 MeV 0 eV 0 fm 0 fm Target initStep - 1 -241 um -208 um -2.41 m 0 eV 0 eV 3.91 mm 3.91 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 45, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -241 um -208 um -2.41 m 667 keV 0 eV 0 fm 0 fm Target initStep - 1 -219 um -234 um -2.41 m 0 eV 667 keV 446 um 446 um Target eIoni - 2 -219 um -234 um -2.41 m 0 eV 0 eV 0 fm 446 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 45 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -219 um -234 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -648 um -945 um -2.4 m 0 eV 88 keV 1.35 mm 1.35 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 47 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -648 um -945 um -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -651 um -947 um -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 45 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -219 um -234 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 296 um 620 um -2.41 m 499 keV 0 eV 1.63 mm 1.63 mm Target compt - 2 1.42 mm 1.75 mm -2.41 m 0 eV 88 keV 2.2 mm 3.83 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 46 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.42 mm 1.75 mm -2.41 m 411 keV 0 eV 0 fm 0 fm Target initStep - 1 1.43 mm 1.76 mm -2.41 m 0 eV 411 keV 234 um 234 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 46 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 296 um 620 um -2.41 m 11.6 keV 0 eV 0 fm 0 fm Target initStep - 1 296 um 620 um -2.41 m 0 eV 11.6 keV 868 nm 868 nm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -241 um -208 um -2.41 m 699 keV 0 eV 0 fm 0 fm Target initStep - 1 -260 um -192 um -2.41 m 0 eV 699 keV 471 um 471 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.73 um -9.47 um -2.41 m 150 MeV 0 eV 0 fm 0 fm Target initStep - 1 -12.7 um -16.5 um -2.41 m 0 eV 0 eV 2.62 mm 2.62 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 52, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -12.7 um -16.5 um -2.41 m 48.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -84.7 um -94.9 um -2.41 m 24.5 MeV 1.97 MeV 1 mm 1 mm Target eBrem - 2 -65.7 um -162 um -2.41 m 12.3 MeV 235 keV 217 um 1.22 mm Target eBrem - 3 -1.06 mm -508 um -2.4 m 6.62 MeV 2.29 MeV 2.2 mm 3.42 mm Target eBrem - 4 -879 um -208 um -2.4 m 3.55 MeV 3.07 MeV 2.48 mm 5.9 mm Target eIoni - 5 -1.01 mm 12.2 um -2.4 m 1.43 MeV 2.12 MeV 1.75 mm 7.65 mm Target eBrem - 6 -1.01 mm -101 um -2.4 m 0 eV 1.43 MeV 1.1 mm 8.75 mm Target eIoni - 7 -1.01 mm -101 um -2.4 m 0 eV 0 eV 0 fm 8.75 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 52 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 mm -101 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 659 um 876 um -2.4 m 0 eV 88 keV 2.06 mm 2.06 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 57 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 659 um 876 um -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 670 um 888 um -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 52 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 mm -101 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.97 mm -1.82 mm -2.4 m 0 eV 88 keV 3.64 mm 3.64 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 56 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.97 mm -1.82 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.98 mm -1.82 mm -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 52 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.06 mm -508 um -2.4 m 3.35 MeV 0 eV 0 fm 0 fm Target initStep - 1 -660 um -3.74 mm -2.4 m 3.35 MeV 0 eV 5.14 mm 5.14 mm Target Transportation - 2 30 cm -2.4 m 55 cm 3.35 MeV 0 eV 3.81 m 3.82 m Tracker Transportation - 3 36.3 cm -2.91 m 1.18 m 3.35 MeV 0 eV 81.1 cm 4.63 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 52 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -65.7 um -162 um -2.41 m 12 MeV 0 eV 0 fm 0 fm Target initStep - 1 336 um -1.78 mm -2.4 m 12 MeV 0 eV 5.89 mm 5.89 mm Target Transportation - 2 5.72 cm -23.1 cm -1.6 m 12 MeV 0 eV 83.4 cm 84 cm Tracker Transportation - 3 5.94 cm -24 cm -1.57 m 12 MeV 0 eV 3.14 cm 87.1 cm Chamber Transportation - 4 11.4 cm -46.1 cm -80 cm 12 MeV 0 eV 80.3 cm 1.67 m Tracker Transportation - 5 12.8 cm -51.8 cm -60 cm 12 MeV 0 eV 20.9 cm 1.88 m Chamber Transportation - 6 17.1 cm -69.1 cm 0 fm 12 MeV 0 eV 62.6 cm 2.51 m Tracker Transportation - 7 18.5 cm -74.8 cm 20 cm 12 MeV 0 eV 20.9 cm 2.72 m Chamber Transportation - 8 22.8 cm -92 cm 80 cm 12 MeV 0 eV 62.6 cm 3.34 m Tracker Transportation - 9 24.2 cm -97.8 cm 1 m 12 MeV 0 eV 20.9 cm 3.55 m Chamber Transportation - 10 28.5 cm -1.15 m 1.6 m 12 MeV 0 eV 62.6 cm 4.18 m Tracker Transportation - 11 29.9 cm -1.21 m 1.8 m 12 MeV 0 eV 20.9 cm 4.39 m Chamber Transportation - 12 34.2 cm -1.38 m 2.4 m 12 MeV 0 eV 62.6 cm 5.01 m Tracker Transportation - 13 37.8 cm -1.53 m 2.91 m 12 MeV 0 eV 53.2 cm 5.54 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 53, Parent ID = 52 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -84.7 um -94.9 um -2.41 m 21.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 -13 um -1.42 mm -2.4 m 21.7 MeV 0 eV 6 mm 6 mm Target Transportation - 2 9.78 mm -18.3 cm -1.6 m 21.7 MeV 0 eV 82 cm 82.6 cm Tracker Transportation - 3 1.22 cm -22.8 cm -1.4 m 21.7 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation - 4 1.96 cm -36.5 cm -80 cm 21.7 MeV 0 eV 61.5 cm 1.65 m Tracker Transportation - 5 2.2 cm -41 cm -60 cm 21.7 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation - 6 2.94 cm -54.6 cm 0 fm 21.7 MeV 0 eV 61.5 cm 2.47 m Tracker Transportation - 7 3.18 cm -59.2 cm 20 cm 21.7 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation - 8 3.92 cm -72.8 cm 80 cm 21.7 MeV 0 eV 61.5 cm 3.29 m Tracker Transportation - 9 4.16 cm -77.3 cm 1 m 21.7 MeV 0 eV 20.5 cm 3.49 m Chamber Transportation - 10 4.9 cm -91 cm 1.6 m 21.7 MeV 0 eV 61.5 cm 4.11 m Tracker Transportation - 11 5.14 cm -95.5 cm 1.8 m 21.7 MeV 0 eV 20.5 cm 4.31 m Chamber Transportation - 12 5.87 cm -1.09 m 2.4 m 21.7 MeV 0 eV 61.5 cm 4.93 m Tracker Transportation - 13 6.5 cm -1.21 m 2.91 m 21.7 MeV 0 eV 52.3 cm 5.45 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -12.7 um -16.5 um -2.41 m 100 MeV 0 eV 0 fm 0 fm Target initStep - 1 -29.7 um -49.4 um -2.41 m 55.8 MeV 954 keV 863 um 863 um Target eBrem - 2 -19.4 um -48.8 um -2.41 m 44.1 MeV 591 keV 470 um 1.33 mm Target eBrem - 3 -166 um 18.5 um -2.4 m 41.9 MeV 1.18 MeV 878 um 2.21 mm Target eBrem - 4 -175 um 24.1 um -2.4 m 41.5 MeV 53.8 keV 51.3 um 2.26 mm Target eBrem - 5 -1.04 mm 637 um -2.4 m 37.4 MeV 3.63 MeV 2.74 mm 5 mm Target eBrem - 6 -1.23 mm 948 um -2.4 m 31.3 MeV 5.58 MeV 1.75 mm 6.75 mm Target eBrem - 7 -1.18 mm 929 um -2.4 m 28.4 MeV 319 keV 269 um 7.02 mm Target eBrem - 8 -1.15 mm 920 um -2.4 m 28.2 MeV 194 keV 171 um 7.19 mm Target Transportation - 9 1.21 cm 7.37 mm -2.3 m 28.2 MeV 20.3 keV 10 cm 10.7 cm Tracker StepLimiter - 10 2.43 cm 1.3 cm -2.2 m 28.2 MeV 17.8 keV 10 cm 20.7 cm Tracker StepLimiter - 11 3.53 cm 1.94 cm -2.1 m 28.2 MeV 17.5 keV 10 cm 30.7 cm Tracker StepLimiter - 12 4.8 cm 2.53 cm -2 m 28.2 MeV 20 keV 10 cm 40.7 cm Tracker StepLimiter - 13 6.02 cm 3.12 cm -1.9 m 28.1 MeV 24 keV 10 cm 50.7 cm Tracker StepLimiter - 14 7.26 cm 3.6 cm -1.81 m 28.1 MeV 35.2 keV 10 cm 60.7 cm Tracker StepLimiter - 15 8.56 cm 4.09 cm -1.71 m 28.1 MeV 29.2 keV 10 cm 70.7 cm Tracker StepLimiter - 16 9.81 cm 4.49 cm -1.61 m 28.1 MeV 18.4 keV 10 cm 80.7 cm Tracker StepLimiter - 17 9.9 cm 4.52 cm -1.6 m 28.1 MeV 1.47 keV 7.52 mm 81.5 cm Tracker Transportation - 18 12.6 cm 5.41 cm -1.4 m 27.9 MeV 124 keV 20.2 cm 1.02 m Chamber Transportation - 19 13.5 cm 5.21 cm -1.3 m 27.9 MeV 36.4 keV 10 cm 1.12 m Tracker StepLimiter - 20 14.4 cm 4.98 cm -1.2 m 27.9 MeV 22.4 keV 10 cm 1.22 m Tracker StepLimiter - 21 14.4 cm 4.97 cm -1.2 m 27.8 MeV 434 eV 3.62 mm 1.22 m Tracker eIoni - 22 15.2 cm 4.79 cm -1.1 m 27.8 MeV 33.4 keV 10 cm 1.32 m Tracker StepLimiter - 23 16.1 cm 4.75 cm -99.8 cm 27.8 MeV 19.1 keV 10 cm 1.42 m Tracker StepLimiter - 24 17.1 cm 4.66 cm -89.8 cm 27.8 MeV 14.9 keV 10 cm 1.52 m Tracker StepLimiter - 25 18.2 cm 4.63 cm -80 cm 27.7 MeV 15.4 keV 9.9 cm 1.62 m Tracker Transportation - 26 20.1 cm 4.6 cm -60 cm 27.6 MeV 141 keV 20.1 cm 1.82 m Chamber Transportation - 27 21.3 cm 4.07 cm -50.1 cm 27.6 MeV 21.6 keV 10 cm 1.92 m Tracker StepLimiter - 28 22.3 cm 3.65 cm -40.1 cm 27.6 MeV 22.2 keV 10 cm 2.02 m Tracker StepLimiter - 29 23.4 cm 3.22 cm -30.2 cm 27.5 MeV 38.9 keV 10 cm 2.12 m Tracker StepLimiter - 30 24.6 cm 2.93 cm -20.3 cm 27.5 MeV 35.1 keV 10 cm 2.22 m Tracker StepLimiter - 31 25.8 cm 2.42 cm -10.4 cm 27.5 MeV 21.8 keV 10 cm 2.32 m Tracker StepLimiter - 32 27.1 cm 1.86 cm -4.72 mm 27.4 MeV 20.7 keV 10 cm 2.42 m Tracker StepLimiter - 33 27.2 cm 1.84 cm 0.00444 fm 27.4 MeV 1.38 keV 4.76 mm 2.43 m Tracker Transportation - 34 29.6 cm 8.99 mm 20 cm 27.3 MeV 124 keV 20.2 cm 2.63 m Chamber Transportation - 35 30.9 cm 3.62 mm 29.9 cm 27.3 MeV 20.8 keV 10 cm 2.73 m Tracker StepLimiter - 36 31.9 cm -2.45 mm 39.8 cm 27.3 MeV 18.3 keV 10 cm 2.83 m Tracker StepLimiter - 37 33 cm -7.95 mm 49.8 cm 27.3 MeV 18.7 keV 10 cm 2.93 m Tracker StepLimiter - 38 33.9 cm -1.16 cm 57.7 cm 27.2 MeV 16.8 keV 8.04 cm 3.01 m Tracker eIoni - 39 34.9 cm -1.59 cm 67.7 cm 27.2 MeV 24.1 keV 10 cm 3.11 m Tracker StepLimiter - 40 36 cm -2.07 cm 77.6 cm 27.1 MeV 18.8 keV 10 cm 3.21 m Tracker StepLimiter - 41 36.2 cm -2.2 cm 80 cm 27.1 MeV 8.1 keV 2.4 cm 3.23 m Tracker Transportation - 42 37.6 cm -3.54 cm 94.3 cm 27 MeV 84.5 keV 14.5 cm 3.38 m Chamber eIoni - 43 38.3 cm -4.13 cm 1 m 26.9 MeV 41.3 keV 5.73 cm 3.43 m Chamber Transportation - 44 39.5 cm -4.74 cm 1.1 m 26.9 MeV 23.1 keV 10 cm 3.53 m Tracker StepLimiter - 45 40.5 cm -5.32 cm 1.2 m 26.9 MeV 20.7 keV 10 cm 3.63 m Tracker StepLimiter - 46 41.7 cm -5.85 cm 1.3 m 26.9 MeV 25.5 keV 10 cm 3.73 m Tracker StepLimiter - 47 42.8 cm -6.42 cm 1.4 m 26.8 MeV 19.5 keV 10 cm 3.83 m Tracker StepLimiter - 48 43.6 cm -6.77 cm 1.47 m 25.2 MeV 13.4 keV 7.04 cm 3.9 m Tracker eBrem - 49 43.8 cm -6.83 cm 1.48 m 24.2 MeV 1.21 keV 1.39 cm 3.92 m Tracker eIoni - 50 44.4 cm -7.42 cm 1.58 m 24.2 MeV 28.6 keV 10 cm 4.02 m Tracker StepLimiter - 51 44.6 cm -7.56 cm 1.6 m 24.2 MeV 7.33 keV 2.01 cm 4.04 m Tracker Transportation - 52 46.1 cm -8.91 cm 1.8 m 24.1 MeV 117 keV 20.1 cm 4.24 m Chamber Transportation - 53 46.6 cm -10.3 cm 1.9 m 24 MeV 16 keV 10 cm 4.34 m Tracker StepLimiter - 54 47.2 cm -11.7 cm 2 m 24 MeV 16.7 keV 10 cm 4.44 m Tracker StepLimiter - 55 47.6 cm -13.2 cm 2.1 m 24 MeV 24.3 keV 10 cm 4.54 m Tracker StepLimiter - 56 48.3 cm -14.5 cm 2.2 m 24 MeV 22.7 keV 10 cm 4.64 m Tracker StepLimiter - 57 48.9 cm -16 cm 2.29 m 24 MeV 24.2 keV 10 cm 4.74 m Tracker StepLimiter - 58 49.6 cm -17.4 cm 2.39 m 23.9 MeV 16.3 keV 10 cm 4.84 m Tracker StepLimiter - 59 49.7 cm -17.5 cm 2.4 m 23.9 MeV 4.16 keV 7.23 mm 4.85 m Tracker Transportation - 60 51.9 cm -22.6 cm 2.73 m 23.8 MeV 86 keV 33 cm 5.18 m World eIoni - 61 53 cm -26.7 cm 2.91 m 23.8 MeV 35.9 keV 19 cm 5.37 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 51.9 cm -22.6 cm 2.73 m 22.2 keV 0 eV 0 fm 0 fm World initStep - 1 51.6 cm -22.4 cm 2.73 m 17.6 keV 4.68 keV 3.34 mm 3.34 mm World eIoni - 2 51.5 cm -22.2 cm 2.73 m 13.8 keV 3.8 keV 2.68 mm 6.02 mm World eIoni - 3 51.7 cm -22.2 cm 2.72 m 9.59 keV 4.17 keV 2.19 mm 8.21 mm World eIoni - 4 51.8 cm -22.3 cm 2.73 m 5.28 keV 4.31 keV 1.64 mm 9.85 mm World eIoni - 5 51.8 cm -22.3 cm 2.72 m 0 eV 5.28 keV 755 um 1.06 cm World eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 43.8 cm -6.83 cm 1.48 m 980 keV 0 eV 0 fm 0 fm Tracker initStep - 1 50 cm -4.22 cm 1.55 m 964 keV 16 keV 10 cm 10 cm Tracker StepLimiter - 2 52.8 cm -2.01 cm 1.6 m 954 keV 10.1 keV 5.92 cm 15.9 cm Tracker Transportation - 3 61.1 cm 12.8 cm 1.64 m 799 keV 155 keV 29.6 cm 45.5 cm Chamber eIoni - 4 64.5 cm 12.8 cm 1.6 m 763 keV 36 keV 6.25 cm 51.7 cm Chamber Transportation - 5 73.7 cm 12.6 cm 1.56 m 750 keV 13.1 keV 10 cm 61.7 cm Tracker StepLimiter - 6 83.3 cm 13.6 cm 1.54 m 722 keV 27.9 keV 10 cm 71.7 cm Tracker StepLimiter - 7 91.9 cm 14.7 cm 1.49 m 695 keV 27.3 keV 10 cm 81.7 cm Tracker StepLimiter - 8 1.01 m 15.2 cm 1.44 m 679 keV 16.1 keV 10 cm 91.7 cm Tracker StepLimiter - 9 1.1 m 17.6 cm 1.41 m 664 keV 14.9 keV 10 cm 1.02 m Tracker StepLimiter - 10 1.17 m 21.2 cm 1.36 m 641 keV 22.6 keV 10 cm 1.12 m Tracker StepLimiter - 11 1.26 m 24.7 cm 1.32 m 629 keV 12.2 keV 10 cm 1.22 m Tracker StepLimiter - 12 1.32 m 31.2 cm 1.28 m 614 keV 15.2 keV 10 cm 1.32 m Tracker StepLimiter - 13 1.36 m 38.8 cm 1.23 m 594 keV 19.2 keV 10 cm 1.42 m Tracker StepLimiter - 14 1.44 m 45.3 cm 1.21 m 578 keV 16.8 keV 10 cm 1.52 m Tracker StepLimiter - 15 1.51 m 51.1 cm 1.19 m 558 keV 19.2 keV 10 cm 1.62 m Tracker StepLimiter - 16 1.6 m 53.8 cm 1.16 m 540 keV 18.7 keV 10 cm 1.72 m Tracker StepLimiter - 17 1.61 m 54.2 cm 1.16 m 518 keV 1.03 keV 1.11 cm 1.73 m Tracker eIoni - 18 1.69 m 60.7 cm 1.14 m 484 keV 34.1 keV 10 cm 1.83 m Tracker StepLimiter - 19 1.73 m 63.7 cm 1.15 m 454 keV 9.47 keV 5.16 cm 1.88 m Tracker eIoni - 20 1.79 m 65.6 cm 1.15 m 412 keV 10.9 keV 6.3 cm 1.94 m Tracker eIoni - 21 1.86 m 70.7 cm 1.11 m 394 keV 18.1 keV 10 cm 2.04 m Tracker StepLimiter - 22 1.92 m 77.9 cm 1.09 m 379 keV 15.5 keV 10 cm 2.14 m Tracker StepLimiter - 23 2 m 83.1 cm 1.05 m 361 keV 17.8 keV 10 cm 2.24 m Tracker StepLimiter - 24 2.04 m 88.9 cm 98.3 cm 330 keV 30.7 keV 10 cm 2.34 m Tracker StepLimiter - 25 2.08 m 96.3 cm 93.6 cm 308 keV 22 keV 10 cm 2.44 m Tracker StepLimiter - 26 2.16 m 97.1 cm 87.9 cm 291 keV 17.6 keV 10 cm 2.54 m Tracker StepLimiter - 27 2.22 m 97.7 cm 86.8 cm 245 keV 14.1 keV 6.01 cm 2.6 m Tracker eIoni - 28 2.3 m 95.3 cm 82.7 cm 218 keV 27.2 keV 10 cm 2.7 m Tracker StepLimiter - 29 2.39 m 93.8 cm 79.8 cm 188 keV 29.3 keV 9.91 cm 2.8 m Tracker eIoni - 30 2.4 m 93.3 cm 78.2 cm 182 keV 6.33 keV 2.13 cm 2.82 m Tracker Transportation - 31 2.45 m 95.8 cm 73.8 cm 156 keV 26.3 keV 7.44 cm 2.9 m World eIoni - 32 2.4 m 97.8 cm 73.3 cm 133 keV 22.3 keV 5.75 cm 2.96 m World eIoni - 33 2.4 m 98.1 cm 73.2 cm 133 keV 708 eV 3.99 mm 2.96 m World Transportation - 34 2.36 m 99.7 cm 73.3 cm 120 keV 13 keV 4.43 cm 3 m Tracker eIoni - 35 2.33 m 1.01 m 74.7 cm 109 keV 10.7 keV 3.73 cm 3.04 m Tracker eIoni - 36 2.31 m 1.02 m 74.3 cm 97.4 keV 11.6 keV 3.2 cm 3.07 m Tracker eIoni - 37 2.29 m 1.04 m 73.2 cm 80.3 keV 17.1 keV 2.67 cm 3.1 m Tracker eIoni - 38 2.28 m 1.05 m 72.5 cm 71.5 keV 8.81 keV 1.94 cm 3.12 m Tracker eIoni - 39 2.27 m 1.04 m 71.8 cm 64.8 keV 6.69 keV 1.62 cm 3.14 m Tracker eIoni - 40 2.25 m 1.05 m 71.9 cm 53.7 keV 11.1 keV 1.38 cm 3.15 m Tracker eIoni - 41 2.25 m 1.05 m 72.5 cm 29.3 keV 24.4 keV 1.03 cm 3.16 m Tracker eIoni - 42 2.25 m 1.05 m 72.8 cm 20.2 keV 9.14 keV 4.53 mm 3.16 m Tracker eIoni - 43 2.24 m 1.05 m 72.8 cm 14.6 keV 5.54 keV 3.04 mm 3.17 m Tracker eIoni - 44 2.24 m 1.05 m 72.8 cm 10.9 keV 3.75 keV 2.3 mm 3.17 m Tracker eIoni - 45 2.24 m 1.05 m 72.8 cm 6.18 keV 4.7 keV 1.82 mm 3.17 m Tracker eIoni - 46 2.24 m 1.05 m 72.8 cm 0 eV 6.18 keV 980 um 3.17 m Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 71 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.22 m 97.7 cm 86.8 cm 31.8 keV 0 eV 0 fm 0 fm Tracker initStep - 1 2.22 m 98.1 cm 86.5 cm 27.2 keV 4.61 keV 4.99 mm 4.99 mm Tracker eIoni - 2 2.22 m 98.3 cm 86.8 cm 24.8 keV 2.44 keV 4.17 mm 9.16 mm Tracker eIoni - 3 2.22 m 98.4 cm 87 cm 18.9 keV 5.84 keV 3.74 mm 1.29 cm Tracker eIoni - 4 2.21 m 98.4 cm 87.2 cm 16.1 keV 2.86 keV 2.87 mm 1.58 cm Tracker eIoni - 5 2.21 m 98.4 cm 87.2 cm 9.14 keV 6.92 keV 2.48 mm 1.82 cm Tracker eIoni - 6 2.21 m 98.4 cm 87.2 cm 4.26 keV 4.88 keV 1.57 mm 1.98 cm Tracker eIoni - 7 2.21 m 98.3 cm 87.2 cm 0 eV 4.26 keV 522 um 2.03 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 71 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.79 m 65.6 cm 1.15 m 31 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.79 m 65.8 cm 1.16 m 17.9 keV 13.1 keV 4.84 mm 4.84 mm Tracker eIoni - 2 1.79 m 66 cm 1.16 m 13.5 keV 4.4 keV 2.72 mm 7.56 mm Tracker eIoni - 3 1.79 m 66 cm 1.16 m 9.61 keV 3.89 keV 2.16 mm 9.72 mm Tracker eIoni - 4 1.79 m 65.9 cm 1.16 m 5.33 keV 4.28 keV 1.64 mm 1.14 cm Tracker eIoni - 5 1.79 m 65.9 cm 1.16 m 0 eV 5.33 keV 766 um 1.21 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 71 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.73 m 63.7 cm 1.15 m 20.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.73 m 63.9 cm 1.15 m 17.9 keV 2.63 keV 3.09 mm 3.09 mm Tracker eIoni - 2 1.73 m 64.1 cm 1.15 m 9.63 keV 8.26 keV 2.72 mm 5.81 mm Tracker eIoni - 3 1.73 m 64.2 cm 1.15 m 6.1 keV 3.53 keV 1.65 mm 7.46 mm Tracker eIoni - 4 1.73 m 64.2 cm 1.15 m 0 eV 6.1 keV 960 um 8.42 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 71 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.61 m 54.2 cm 1.16 m 20.3 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.62 m 53.9 cm 1.16 m 14.4 keV 5.97 keV 3.07 mm 3.07 mm Tracker eIoni - 2 1.62 m 54.1 cm 1.16 m 10.5 keV 3.84 keV 2.26 mm 5.33 mm Tracker eIoni - 3 1.62 m 54.2 cm 1.16 m 1.31 keV 9.21 keV 1.77 mm 7.1 mm Tracker eIoni - 4 1.62 m 54.2 cm 1.16 m 0 eV 1.31 keV 83.8 um 7.18 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 43.6 cm -6.77 cm 1.47 m 1.63 MeV 0 eV 0 fm 0 fm Tracker initStep - 1 44.9 cm -7.45 cm 1.6 m 1.63 MeV 0 eV 13.4 cm 13.4 cm Tracker Transportation - 2 46.8 cm -8.46 cm 1.8 m 1.63 MeV 0 eV 20.1 cm 33.5 cm Chamber Transportation - 3 52.4 cm -11.5 cm 2.4 m 1.63 MeV 0 eV 60.3 cm 93.9 cm Tracker Transportation - 4 57.2 cm -14.1 cm 2.91 m 1.63 MeV 0 eV 51.3 cm 1.45 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 37.6 cm -3.54 cm 94.3 cm 70.7 keV 0 eV 0 fm 0 fm Chamber initStep - 1 37.5 cm -3.46 cm 94.8 cm 64.4 keV 6.27 keV 7.15 mm 7.15 mm Chamber eIoni - 2 37.8 cm -3.14 cm 94.7 cm 55.3 keV 9.1 keV 6.32 mm 1.35 cm Chamber eIoni - 3 37.8 cm -2.82 cm 94.8 cm 50.5 keV 4.8 keV 5.24 mm 1.87 cm Chamber eIoni - 4 37.8 cm -2.6 cm 95 cm 32.6 keV 17.9 keV 4.73 mm 2.34 cm Chamber eIoni - 5 37.7 cm -2.49 cm 95.1 cm 21.4 keV 11.2 keV 3.01 mm 2.64 cm Chamber eIoni - 6 37.7 cm -2.4 cm 95.1 cm 5.77 keV 15.7 keV 2.14 mm 2.86 cm Chamber eIoni - 7 37.7 cm -2.4 cm 95.1 cm 0 eV 5.77 keV 468 um 2.91 cm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 33.9 cm -1.16 cm 57.7 cm 56.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 34.3 cm -2 cm 58.2 cm 50.9 keV 5.78 keV 1.12 cm 1.12 cm Tracker eIoni - 2 35.1 cm -2.37 cm 58.6 cm 43.1 keV 7.81 keV 9.55 mm 2.07 cm Tracker eIoni - 3 35.7 cm -2.52 cm 58.5 cm 36.9 keV 6.16 keV 7.46 mm 2.82 cm Tracker eIoni - 4 36.1 cm -2.92 cm 58.5 cm 33 keV 3.96 keV 6.08 mm 3.43 cm Tracker eIoni - 5 36.3 cm -3.3 cm 58.8 cm 26.9 keV 6.06 keV 5.22 mm 3.95 cm Tracker eIoni - 6 36.1 cm -3.55 cm 59 cm 23.8 keV 3.09 keV 4.12 mm 4.36 cm Tracker eIoni - 7 35.9 cm -3.69 cm 59.2 cm 20.2 keV 3.63 keV 3.59 mm 4.72 cm Tracker eIoni - 8 35.8 cm -3.86 cm 59.4 cm 17.4 keV 2.74 keV 3.05 mm 5.02 cm Tracker eIoni - 9 35.9 cm -3.98 cm 59.6 cm 11.2 keV 6.28 keV 2.66 mm 5.29 cm Tracker eIoni - 10 35.9 cm -4.09 cm 59.5 cm 2.44 keV 8.73 keV 1.85 mm 5.48 cm Tracker eIoni - 11 35.9 cm -4.09 cm 59.5 cm 0 eV 2.44 keV 212 um 5.5 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 14.4 cm 4.97 cm -1.2 m 57.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 15.4 cm 4.63 cm -1.19 m 50.7 keV 7.01 keV 1.15 cm 1.15 cm Tracker eIoni - 2 16.1 cm 4.72 cm -1.19 m 42.8 keV 7.87 keV 9.48 mm 2.09 cm Tracker eIoni - 3 16.8 cm 4.7 cm -1.19 m 28.8 keV 14 keV 7.38 mm 2.83 cm Tracker eIoni - 4 17.1 cm 4.85 cm -1.19 m 25.6 keV 3.16 keV 4.44 mm 3.28 cm Tracker eIoni - 5 17.1 cm 4.88 cm -1.18 m 22.4 keV 3.25 keV 3.9 mm 3.67 cm Tracker eIoni - 6 17.2 cm 4.9 cm -1.18 m 18 keV 4.37 keV 3.36 mm 4 cm Tracker eIoni - 7 17 cm 4.97 cm -1.18 m 14.2 keV 3.85 keV 2.74 mm 4.28 cm Tracker eIoni - 8 16.9 cm 5.1 cm -1.18 m 6.6 keV 7.57 keV 2.24 mm 4.5 cm Tracker eIoni - 9 16.9 cm 5.16 cm -1.18 m 1.98 keV 4.62 keV 1.09 mm 4.61 cm Tracker eIoni - 10 16.9 cm 5.17 cm -1.18 m 0 eV 1.98 keV 154 um 4.63 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 66, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.18 mm 929 um -2.4 m 2.53 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.16 mm 930 um -2.4 m 2.53 MeV 0 eV 170 um 170 um Target Transportation - 2 10.5 cm 9.49 mm -1.6 m 2.53 MeV 0 eV 80.7 cm 80.7 cm Tracker Transportation - 3 13.2 cm 1.16 cm -1.4 m 2.53 MeV 0 eV 20.2 cm 1.01 m Chamber Transportation - 4 21.2 cm 1.8 cm -80 cm 2.53 MeV 0 eV 60.5 cm 1.61 m Tracker Transportation - 5 23.9 cm 2.02 cm -60 cm 2.53 MeV 0 eV 20.2 cm 1.82 m Chamber Transportation - 6 31.9 cm 2.66 cm -0.114 fm 2.53 MeV 0 eV 60.5 cm 2.42 m Tracker Transportation - 7 34.5 cm 2.87 cm 20 cm 2.53 MeV 0 eV 20.2 cm 2.62 m Chamber Transportation - 8 42.5 cm 3.52 cm 80 cm 2.53 MeV 0 eV 60.5 cm 3.23 m Tracker Transportation - 9 45.2 cm 3.73 cm 1 m 2.53 MeV 0 eV 20.2 cm 3.43 m Chamber Transportation - 10 53.2 cm 4.37 cm 1.6 m 2.53 MeV 0 eV 60.5 cm 4.04 m Tracker Transportation - 11 55.8 cm 4.59 cm 1.8 m 2.53 MeV 0 eV 20.2 cm 4.24 m Chamber Transportation - 12 63.8 cm 5.23 cm 2.4 m 2.53 MeV 0 eV 60.5 cm 4.84 m Tracker Transportation - 13 70.6 cm 5.77 cm 2.91 m 2.53 MeV 0 eV 51.5 cm 5.36 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 65, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.23 mm 948 um -2.4 m 480 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.14 mm 959 um -2.4 m 480 keV 0 eV 441 um 441 um Target Transportation - 2 16.7 cm 2.19 cm -1.6 m 480 keV 0 eV 81.8 cm 81.8 cm Tracker Transportation - 3 21 cm 2.72 cm -1.4 m 480 keV 0 eV 20.4 cm 1.02 m Chamber Transportation - 4 33.6 cm 4.29 cm -80 cm 480 keV 0 eV 61.3 cm 1.64 m Tracker Transportation - 5 37.8 cm 4.82 cm -60 cm 480 keV 0 eV 20.4 cm 1.84 m Chamber Transportation - 6 50.5 cm 6.39 cm 0 fm 480 keV 0 eV 61.3 cm 2.45 m Tracker Transportation - 7 54.7 cm 6.91 cm 20 cm 480 keV 0 eV 20.4 cm 2.66 m Chamber Transportation - 8 67.3 cm 8.49 cm 80 cm 480 keV 0 eV 61.3 cm 3.27 m Tracker Transportation - 9 71.5 cm 9.01 cm 1 m 480 keV 0 eV 20.4 cm 3.48 m Chamber Transportation - 10 84.2 cm 10.6 cm 1.6 m 480 keV 0 eV 61.3 cm 4.09 m Tracker Transportation - 11 88.4 cm 11.1 cm 1.8 m 480 keV 0 eV 20.4 cm 4.29 m Chamber Transportation - 12 1.01 m 12.7 cm 2.4 m 480 keV 0 eV 61.3 cm 4.91 m Tracker Transportation - 13 1.12 m 14 cm 2.91 m 480 keV 0 eV 52.1 cm 5.43 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.04 mm 637 um -2.4 m 548 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.22 mm 1.33 mm -2.4 m 548 keV 0 eV 2.24 mm 2.24 mm Target Transportation - 2 -13.4 cm 52.3 cm -80 cm 548 keV 0 eV 1.69 m 1.69 m Tracker Transportation - 3 -15 cm 58.8 cm -60 cm 548 keV 0 eV 21.1 cm 1.9 m Chamber Transportation - 4 -20 cm 78.4 cm 0 fm 548 keV 0 eV 63.3 cm 2.53 m Tracker Transportation - 5 -21.7 cm 84.9 cm 20 cm 548 keV 0 eV 21.1 cm 2.75 m Chamber Transportation - 6 -26.6 cm 1.04 m 80 cm 548 keV 0 eV 63.3 cm 3.38 m Tracker Transportation - 7 -28.3 cm 1.11 m 1 m 548 keV 0 eV 21.1 cm 3.59 m Chamber Transportation - 8 -33.3 cm 1.31 m 1.6 m 548 keV 0 eV 63.3 cm 4.22 m Tracker Transportation - 9 -34.9 cm 1.37 m 1.8 m 548 keV 0 eV 21.1 cm 4.43 m Chamber Transportation - 10 -39.9 cm 1.57 m 2.4 m 548 keV 0 eV 63.3 cm 5.07 m Tracker Transportation - 11 -44.1 cm 1.73 m 2.91 m 548 keV 0 eV 53.8 cm 5.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -175 um 24.1 um -2.4 m 320 keV 0 eV 0 fm 0 fm Target initStep - 1 -201 um 43.9 um -2.4 m 0 eV 88 keV 155 um 155 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -201 um 43.9 um -2.4 m 232 keV 0 eV 0 fm 0 fm Target initStep - 1 -201 um 45.4 um -2.4 m 0 eV 232 keV 103 um 103 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -166 um 18.5 um -2.4 m 1.05 MeV 0 eV 0 fm 0 fm Target initStep - 1 -909 um 559 um -2.4 m 1.05 MeV 0 eV 4.75 mm 4.75 mm Target Transportation - 2 -12.8 cm 9.34 cm -1.6 m 1.05 MeV 0 eV 81.5 cm 82 cm Tracker Transportation - 3 -16 cm 11.7 cm -1.4 m 1.05 MeV 0 eV 20.4 cm 1.02 m Chamber Transportation - 4 -25.6 cm 18.6 cm -80 cm 1.05 MeV 0 eV 61.2 cm 1.64 m Tracker Transportation - 5 -28.8 cm 20.9 cm -60 cm 1.05 MeV 0 eV 20.4 cm 1.84 m Chamber Transportation - 6 -38.4 cm 27.9 cm 0 fm 1.05 MeV 0 eV 61.2 cm 2.45 m Tracker Transportation - 7 -41.5 cm 30.2 cm 20 cm 1.05 MeV 0 eV 20.4 cm 2.65 m Chamber Transportation - 8 -51.1 cm 37.2 cm 80 cm 1.05 MeV 0 eV 61.2 cm 3.27 m Tracker Transportation - 9 -54.3 cm 39.5 cm 1 m 1.05 MeV 0 eV 20.4 cm 3.47 m Chamber Transportation - 10 -63.9 cm 46.5 cm 1.6 m 1.05 MeV 0 eV 61.2 cm 4.08 m Tracker Transportation - 11 -67.1 cm 48.8 cm 1.8 m 1.05 MeV 0 eV 20.4 cm 4.29 m Chamber Transportation - 12 -76.6 cm 55.7 cm 2.4 m 1.05 MeV 0 eV 61.2 cm 4.9 m Tracker Transportation - 13 -84.7 cm 61.6 cm 2.91 m 1.05 MeV 0 eV 52 cm 5.42 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -19.4 um -48.8 um -2.41 m 11.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm -270 um -2.4 m 11.1 MeV 0 eV 5.65 mm 5.65 mm Target Transportation - 2 -17.4 cm -3.23 cm -1.6 m 11.1 MeV 0 eV 81.9 cm 82.5 cm Tracker Transportation - 3 -21.7 cm -4.03 cm -1.4 m 11.1 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation - 4 -34.7 cm -6.44 cm -80 cm 11.1 MeV 0 eV 61.4 cm 1.64 m Tracker Transportation - 5 -39 cm -7.24 cm -60 cm 11.1 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation - 6 -52 cm -9.64 cm 0 fm 11.1 MeV 0 eV 61.4 cm 2.46 m Tracker Transportation - 7 -56.3 cm -10.4 cm 20 cm 11.1 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation - 8 -69.2 cm -12.9 cm 80 cm 11.1 MeV 0 eV 61.4 cm 3.28 m Tracker Transportation - 9 -73.6 cm -13.7 cm 1 m 11.1 MeV 0 eV 20.5 cm 3.49 m Chamber Transportation - 10 -86.5 cm -16.1 cm 1.6 m 11.1 MeV 0 eV 61.4 cm 4.1 m Tracker Transportation - 11 -90.8 cm -16.9 cm 1.8 m 11.1 MeV 0 eV 20.5 cm 4.31 m Chamber Transportation - 12 -1.04 m -19.3 cm 2.4 m 11.1 MeV 0 eV 61.4 cm 4.92 m Tracker Transportation - 13 -1.15 m -21.3 cm 2.91 m 11.1 MeV 0 eV 52.2 cm 5.44 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -29.7 um -49.4 um -2.41 m 43.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 148 um 238 um -2.4 m 43.6 MeV 0 eV 6 mm 6 mm Target Transportation - 2 2.39 cm 3.86 cm -1.6 m 43.6 MeV 0 eV 80.1 cm 80.7 cm Tracker Transportation - 3 2.98 cm 4.82 cm -1.4 m 43.6 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 4.76 cm 7.7 cm -80 cm 43.6 MeV 0 eV 60.1 cm 1.61 m Tracker Transportation - 5 5.35 cm 8.66 cm -60 cm 43.6 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 7.13 cm 11.5 cm 0 fm 43.6 MeV 0 eV 60.1 cm 2.41 m Tracker Transportation - 7 7.72 cm 12.5 cm 20 cm 43.6 MeV 0 eV 20 cm 2.61 m Chamber Transportation - 8 9.5 cm 15.4 cm 80 cm 43.6 MeV 0 eV 60.1 cm 3.21 m Tracker Transportation - 9 10.1 cm 16.3 cm 1 m 43.6 MeV 0 eV 20 cm 3.41 m Chamber Transportation - 10 11.9 cm 19.2 cm 1.6 m 43.6 MeV 0 eV 60.1 cm 4.01 m Tracker Transportation - 11 12.5 cm 20.2 cm 1.8 m 43.6 MeV 0 eV 20 cm 4.21 m Chamber Transportation - 12 14.2 cm 23 cm 2.4 m 43.6 MeV 0 eV 60.1 cm 4.81 m Tracker Transportation - 13 15.7 cm 25.5 cm 2.91 m 43.6 MeV 0 eV 51.1 cm 5.32 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.12 um -7.52 um -2.41 m 2.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 3.19 um -10.4 um -2.41 m 0 eV 88 keV 905 um 905 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.19 um -10.4 um -2.41 m 2.12 MeV 0 eV 0 fm 0 fm Target initStep - 1 59 um -368 um -2.41 m 645 keV 1.47 MeV 1.45 mm 1.45 mm Target eIoni - 2 38.4 um -375 um -2.41 m 0 eV 645 keV 426 um 1.88 mm Target eIoni + 0 176 um 13 um 88 cm 1.2 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 10.6 cm -3.17 cm 1 m 1.05 MeV 151 keV 26.7 cm 26.7 cm Chamber Transportation + 2 10.8 cm -12.9 cm 1.02 m 1.03 MeV 24.5 keV 10 cm 36.7 cm Tracker StepLimiter + 3 11.2 cm -22.5 cm 1.05 m 1.01 MeV 15.9 keV 10 cm 46.7 cm Tracker StepLimiter + 4 11.1 cm -31.4 cm 1.09 m 989 keV 20.9 keV 10 cm 56.7 cm Tracker StepLimiter + 5 11.7 cm -40.4 cm 1.13 m 970 keV 19.5 keV 10 cm 66.7 cm Tracker StepLimiter + 6 11.3 cm -49.4 cm 1.18 m 950 keV 19.6 keV 10 cm 76.7 cm Tracker StepLimiter + 7 13.3 cm -58.7 cm 1.2 m 935 keV 14.8 keV 10 cm 86.7 cm Tracker StepLimiter + 8 16.5 cm -68 cm 1.18 m 920 keV 14.6 keV 10 cm 96.7 cm Tracker StepLimiter + 9 20.1 cm -77.1 cm 1.17 m 905 keV 15.5 keV 10 cm 1.07 m Tracker StepLimiter + 10 20.5 cm -77.9 cm 1.17 m 886 keV 680 eV 8.44 mm 1.08 m Tracker eIoni + 11 26.3 cm -85.9 cm 1.18 m 867 keV 19.4 keV 10 cm 1.18 m Tracker StepLimiter + 12 32.3 cm -93.5 cm 1.2 m 843 keV 23.4 keV 10 cm 1.28 m Tracker StepLimiter + 13 37.7 cm -1.01 m 1.23 m 828 keV 15.6 keV 10 cm 1.38 m Tracker StepLimiter + 14 43.9 cm -1.08 m 1.27 m 805 keV 22.7 keV 10 cm 1.48 m Tracker StepLimiter + 15 47.2 cm -1.1 m 1.29 m 779 keV 7.77 keV 4.34 cm 1.52 m Tracker eIoni + 16 54.3 cm -1.14 m 1.31 m 715 keV 40.1 keV 8.28 cm 1.6 m Tracker eIoni + 17 61 cm -1.21 m 1.31 m 697 keV 17.6 keV 10 cm 1.7 m Tracker StepLimiter + 18 67.7 cm -1.29 m 1.31 m 682 keV 14.8 keV 10 cm 1.8 m Tracker StepLimiter + 19 77.1 cm -1.32 m 1.31 m 663 keV 18.9 keV 10 cm 1.9 m Tracker StepLimiter + 20 86.4 cm -1.33 m 1.34 m 634 keV 29.2 keV 10 cm 2 m Tracker StepLimiter + 21 95.9 cm -1.32 m 1.37 m 618 keV 15.8 keV 10 cm 2.1 m Tracker StepLimiter + 22 1.05 m -1.33 m 1.4 m 588 keV 30.6 keV 10 cm 2.2 m Tracker StepLimiter + 23 1.15 m -1.32 m 1.39 m 569 keV 18.6 keV 10 cm 2.3 m Tracker StepLimiter + 24 1.25 m -1.3 m 1.38 m 552 keV 17.1 keV 10 cm 2.4 m Tracker StepLimiter + 25 1.34 m -1.26 m 1.39 m 514 keV 37.6 keV 10 cm 2.5 m Tracker StepLimiter + 26 1.43 m -1.23 m 1.41 m 497 keV 17.6 keV 10 cm 2.6 m Tracker StepLimiter + 27 1.51 m -1.24 m 1.47 m 474 keV 22.5 keV 10 cm 2.7 m Tracker StepLimiter + 28 1.59 m -1.27 m 1.52 m 453 keV 20.9 keV 10 cm 2.8 m Tracker StepLimiter + 29 1.66 m -1.31 m 1.56 m 434 keV 19.7 keV 10 cm 2.9 m Tracker StepLimiter + 30 1.7 m -1.34 m 1.6 m 420 keV 14 keV 6.01 cm 2.96 m Tracker Transportation + 31 1.72 m -1.37 m 1.63 m 363 keV 57.3 keV 9.76 cm 3.06 m Chamber eIoni + 32 1.75 m -1.4 m 1.65 m 281 keV 81.6 keV 7.9 cm 3.14 m Chamber eIoni + 33 1.75 m -1.37 m 1.67 m 248 keV 32.7 keV 5.42 cm 3.19 m Chamber eIoni + 34 1.77 m -1.39 m 1.65 m 224 keV 24.7 keV 4.5 cm 3.24 m Chamber eIoni + 35 1.78 m -1.4 m 1.63 m 192 keV 31.6 keV 3.84 cm 3.28 m Chamber eIoni + 36 1.76 m -1.41 m 1.63 m 163 keV 29 keV 3.04 cm 3.31 m Chamber eIoni + 37 1.76 m -1.4 m 1.65 m 136 keV 27.3 keV 2.37 cm 3.33 m Chamber eIoni + 38 1.75 m -1.4 m 1.65 m 118 keV 17.3 keV 1.8 cm 3.35 m Chamber eIoni + 39 1.75 m -1.39 m 1.66 m 105 keV 13.3 keV 1.46 cm 3.36 m Chamber eIoni + 40 1.75 m -1.39 m 1.66 m 93.6 keV 11.4 keV 1.23 cm 3.37 m Chamber eIoni + 41 1.75 m -1.39 m 1.67 m 84.4 keV 9.17 keV 1.04 cm 3.39 m Chamber eIoni + 42 1.75 m -1.38 m 1.68 m 73.3 keV 11.2 keV 9.04 mm 3.39 m Chamber eIoni + 43 1.75 m -1.38 m 1.68 m 63.5 keV 9.78 keV 7.46 mm 3.4 m Chamber eIoni + 44 1.75 m -1.38 m 1.68 m 56.2 keV 7.26 keV 6.2 mm 3.41 m Chamber eIoni + 45 1.74 m -1.38 m 1.68 m 48.3 keV 7.9 keV 5.34 mm 3.41 m Chamber eIoni + 46 1.74 m -1.38 m 1.68 m 43.7 keV 4.63 keV 4.48 mm 3.42 m Chamber eIoni + 47 1.74 m -1.38 m 1.68 m 36.2 keV 7.53 keV 4.02 mm 3.42 m Chamber eIoni + 48 1.74 m -1.38 m 1.68 m 30.4 keV 5.76 keV 3.32 mm 3.43 m Chamber eIoni + 49 1.74 m -1.38 m 1.68 m 22.3 keV 8.08 keV 2.83 mm 3.43 m Chamber eIoni + 50 1.74 m -1.38 m 1.68 m 12.1 keV 10.2 keV 2.21 mm 3.43 m Chamber eIoni + 51 1.74 m -1.38 m 1.68 m 0 eV 12.1 keV 1.36 mm 3.43 m Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 54.3 cm -1.14 m 1.31 m 24.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 54.6 cm -1.14 m 1.31 m 20.8 keV 3.95 keV 3.74 mm 3.74 mm Tracker eIoni + 2 54.5 cm -1.14 m 1.31 m 18.4 keV 2.44 keV 3.13 mm 6.87 mm Tracker eIoni + 3 54.5 cm -1.14 m 1.31 m 14 keV 4.37 keV 2.78 mm 9.65 mm Tracker eIoni + 4 54.7 cm -1.14 m 1.31 m 9.84 keV 4.14 keV 2.21 mm 1.19 cm Tracker eIoni + 5 54.8 cm -1.14 m 1.31 m 5.25 keV 4.6 keV 1.67 mm 1.35 cm Tracker eIoni + 6 54.8 cm -1.14 m 1.31 m 0 eV 5.25 keV 744 um 1.43 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 47.2 cm -1.1 m 1.29 m 17.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 47.2 cm -1.1 m 1.29 m 14.2 keV 3.63 keV 2.71 mm 2.71 mm Tracker eIoni + 2 47.3 cm -1.1 m 1.29 m 9.33 keV 4.84 keV 2.24 mm 4.94 mm Tracker eIoni + 3 47.4 cm -1.11 m 1.29 m 4.53 keV 4.79 keV 1.6 mm 6.54 mm Tracker eIoni + 4 47.4 cm -1.11 m 1.29 m 0 eV 4.53 keV 582 um 7.12 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 20.5 cm -77.9 cm 1.17 m 18.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 20.6 cm -77.8 cm 1.17 m 15.2 keV 2.89 keV 2.75 mm 2.75 mm Tracker eIoni + 2 20.7 cm -77.8 cm 1.17 m 11.8 keV 3.42 keV 2.37 mm 5.13 mm Tracker eIoni + 3 20.6 cm -77.7 cm 1.17 m 5.88 keV 5.95 keV 1.94 mm 7.07 mm Tracker eIoni + 4 20.6 cm -77.7 cm 1.17 m 0 eV 5.88 keV 902 um 7.97 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 147 um 10.6 um 32.5 cm 31.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.61 mm -3.29 mm 32.7 cm 26.7 keV 4.49 keV 4.88 mm 4.88 mm Tracker eIoni + 2 -3.86 mm -6.27 mm 32.8 cm 21.7 keV 4.96 keV 4.07 mm 8.94 mm Tracker eIoni + 3 -6.03 mm -7.83 mm 32.6 cm 16.7 keV 5.06 keV 3.27 mm 1.22 cm Tracker eIoni + 4 -7.36 mm -7.66 mm 32.4 cm 12.6 keV 4.05 keV 2.56 mm 1.48 cm Tracker eIoni + 5 -8.04 mm -6.75 mm 32.3 cm 9.33 keV 3.3 keV 2.04 mm 1.68 cm Tracker eIoni + 6 -8.57 mm -5.88 mm 32.2 cm 2.79 keV 6.54 keV 1.6 mm 1.84 cm Tracker eIoni + 7 -8.59 mm -5.78 mm 32.2 cm 0 eV 2.79 keV 262 um 1.87 cm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.18 um -488 nm -2.41 m 274 MeV 0 eV 0 fm 0 fm Target initStep - 1 5.84 um -3.32 um -2.41 m 271 MeV 1.04 MeV 571 um 571 um Target eBrem - 2 5.79 um -2.93 um -2.41 m 270 MeV 47.9 keV 35.1 um 607 um Target eBrem - 3 5.97 um -2.05 um -2.41 m 157 MeV 234 keV 76.1 um 683 um Target eBrem - 4 5.47 um -875 nm -2.41 m 154 MeV 129 keV 102 um 785 um Target eBrem - 5 3.76 um -3.43 um -2.41 m 146 MeV 183 keV 197 um 981 um Target eBrem - 6 -4.02 um -7.61 um -2.41 m 146 MeV 305 keV 238 um 1.22 mm Target eBrem - 7 -9.78 um -11.6 um -2.41 m 144 MeV 141 keV 157 um 1.38 mm Target eBrem - 8 3.51 um -86.3 um -2.41 m 128 MeV 2.65 MeV 2.03 mm 3.4 mm Target eBrem - 9 -36.6 um -112 um -2.41 m 124 MeV 1.89 MeV 837 um 4.24 mm Target eBrem - 10 -108 um -122 um -2.41 m 116 MeV 1.09 MeV 783 um 5.02 mm Target eBrem - 11 -132 um -121 um -2.41 m 108 MeV 228 keV 209 um 5.23 mm Target eBrem - 12 -215 um -74.8 um -2.4 m 86.5 MeV 790 keV 602 um 5.83 mm Target eBrem - 13 -256 um -46.1 um -2.4 m 24.3 MeV 617 keV 344 um 6.18 mm Target eBrem - 14 -592 um 41.3 um -2.4 m 11.7 MeV 1.23 MeV 1.06 mm 7.24 mm Target eBrem - 15 -685 um -46.5 um -2.4 m 9.45 MeV 635 keV 458 um 7.69 mm Target eBrem - 16 -706 um -29.1 um -2.4 m 8.23 MeV 84.2 keV 65.6 um 7.76 mm Target eBrem - 17 -871 um 31 um -2.4 m 6.94 MeV 362 keV 303 um 8.06 mm Target eBrem - 18 -927 um -26.5 um -2.4 m 1.12 MeV 361 keV 305 um 8.37 mm Target eBrem - 19 -927 um -28.1 um -2.4 m 0 eV 1.12 MeV 829 um 9.2 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -927 um -26.5 um -2.4 m 5.47 MeV 0 eV 0 fm 0 fm Target initStep - 1 -566 um 114 um -2.4 m 5.47 MeV 0 eV 2.18 mm 2.18 mm Target Transportation - 2 13.4 cm 5.26 cm -1.6 m 5.47 MeV 0 eV 81.3 cm 81.5 cm Tracker Transportation - 3 16.8 cm 6.58 cm -1.4 m 5.47 MeV 0 eV 20.3 cm 1.02 m Chamber Transportation - 4 26.9 cm 10.5 cm -80 cm 5.47 MeV 0 eV 61 cm 1.63 m Tracker Transportation - 5 30.3 cm 11.8 cm -60 cm 5.47 MeV 0 eV 20.3 cm 1.83 m Chamber Transportation - 6 40.4 cm 15.8 cm 0.114 fm 5.47 MeV 0 eV 61 cm 2.44 m Tracker Transportation - 7 43.8 cm 17.1 cm 20 cm 5.47 MeV 0 eV 20.3 cm 2.64 m Chamber Transportation - 8 53.9 cm 21 cm 80 cm 5.47 MeV 0 eV 61 cm 3.25 m Tracker Transportation - 9 57.3 cm 22.3 cm 1 m 5.47 MeV 0 eV 20.3 cm 3.46 m Chamber Transportation - 10 67.4 cm 26.3 cm 1.6 m 5.47 MeV 0 eV 61 cm 4.07 m Tracker Transportation - 11 70.8 cm 27.6 cm 1.8 m 5.47 MeV 0 eV 20.3 cm 4.27 m Chamber Transportation - 12 80.9 cm 31.5 cm 2.4 m 5.47 MeV 0 eV 61 cm 4.88 m Tracker Transportation - 13 89.5 cm 34.9 cm 2.91 m 5.47 MeV 0 eV 51.8 cm 5.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -871 um 31 um -2.4 m 929 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.72 mm 755 um -2.4 m 929 keV 0 eV 2.67 mm 2.67 mm Target Transportation - 2 -56.5 cm 47.9 cm -80 cm 929 keV 0 eV 1.76 m 1.77 m Tracker Transportation - 3 -63.6 cm 53.8 cm -60 cm 929 keV 0 eV 22 cm 1.99 m Chamber Transportation - 4 -84.7 cm 71.8 cm 0 fm 929 keV 0 eV 66.1 cm 2.65 m Tracker Transportation - 5 -91.7 cm 77.7 cm 20 cm 929 keV 0 eV 22 cm 2.87 m Chamber Transportation - 6 -1.13 m 95.7 cm 80 cm 929 keV 0 eV 66.1 cm 3.53 m Tracker Transportation - 7 -1.2 m 1.02 m 1 m 929 keV 0 eV 22 cm 3.75 m Chamber Transportation - 8 -1.41 m 1.2 m 1.6 m 929 keV 0 eV 66.1 cm 4.41 m Tracker Transportation - 9 -1.48 m 1.26 m 1.8 m 929 keV 0 eV 22 cm 4.63 m Chamber Transportation - 10 -1.69 m 1.43 m 2.4 m 929 keV 0 eV 66.1 cm 5.29 m Tracker Transportation - 11 -1.87 m 1.59 m 2.91 m 929 keV 0 eV 56.2 cm 5.85 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -706 um -29.1 um -2.4 m 1.13 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.25 mm 601 um -2.4 m 795 keV 0 eV 2.41 mm 2.41 mm Target compt - 2 -1.51 mm 726 um -2.4 m 245 keV 0 eV 366 um 2.78 mm Target compt - 3 -1.21 mm 1.19 mm -2.4 m 0 eV 88 keV 690 um 3.47 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 94 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.21 mm 1.19 mm -2.4 m 157 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm 1.19 mm -2.4 m 0 eV 157 keV 56.7 um 56.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 94 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.51 mm 726 um -2.4 m 549 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.51 mm 724 um -2.4 m 487 keV 62.2 keV 52 um 52 um Target msc - 2 -1.53 mm 728 um -2.4 m 466 keV 21.4 keV 37.3 um 89.3 um Target msc - 3 -1.54 mm 708 um -2.4 m 428 keV 38.2 keV 30.4 um 120 um Target msc - 4 -1.56 mm 715 um -2.4 m 407 keV 20.6 keV 26.6 um 146 um Target msc - 5 -1.57 mm 730 um -2.4 m 373 keV 34.5 keV 25 um 171 um Target msc - 6 -1.58 mm 732 um -2.4 m 347 keV 25.8 keV 20.8 um 192 um Target msc - 7 -1.59 mm 743 um -2.4 m 316 keV 30.5 keV 19.3 um 211 um Target msc - 8 -1.59 mm 750 um -2.4 m 306 keV 10.8 keV 17.1 um 229 um Target msc - 9 -1.58 mm 742 um -2.4 m 279 keV 26.3 keV 16.9 um 245 um Target msc - 10 -1.58 mm 734 um -2.4 m 257 keV 22.6 keV 18.7 um 264 um Target msc - 11 -1.59 mm 725 um -2.4 m 201 keV 55.8 keV 21.7 um 286 um Target msc - 12 -1.59 mm 717 um -2.4 m 170 keV 31.4 keV 22.6 um 308 um Target msc - 13 -1.59 mm 713 um -2.4 m 0 eV 170 keV 63.7 um 372 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 94 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.25 mm 601 um -2.4 m 339 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.24 mm 601 um -2.4 m 0 eV 339 keV 178 um 178 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 93, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -685 um -46.5 um -2.4 m 1.58 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.47 mm 652 um -2.4 m 1.58 MeV 0 eV 2.91 mm 2.91 mm Target Transportation - 2 -23.4 cm 20.6 cm -1.6 m 1.58 MeV 0 eV 85.8 cm 86.1 cm Tracker Transportation - 3 -24 cm 21.2 cm -1.58 m 1.58 MeV 0 eV 2.25 cm 88.4 cm Chamber Transportation - 4 -46.6 cm 41.2 cm -80 cm 1.58 MeV 0 eV 83.6 cm 1.72 m Tracker Transportation - 5 -52.4 cm 46.4 cm -60 cm 1.58 MeV 0 eV 21.5 cm 1.93 m Chamber Transportation - 6 -69.9 cm 61.8 cm 0 fm 1.58 MeV 0 eV 64.4 cm 2.58 m Tracker Transportation - 7 -75.7 cm 67 cm 20 cm 1.58 MeV 0 eV 21.5 cm 2.79 m Chamber Transportation - 8 -93.1 cm 82.4 cm 80 cm 1.58 MeV 0 eV 64.4 cm 3.44 m Tracker Transportation - 9 -98.9 cm 87.5 cm 1 m 1.58 MeV 0 eV 21.5 cm 3.65 m Chamber Transportation - 10 -1.16 m 1.03 m 1.6 m 1.58 MeV 0 eV 64.4 cm 4.29 m Tracker Transportation - 11 -1.22 m 1.08 m 1.8 m 1.58 MeV 0 eV 21.5 cm 4.51 m Chamber Transportation - 12 -1.4 m 1.24 m 2.4 m 1.58 MeV 0 eV 64.4 cm 5.15 m Tracker Transportation - 13 -1.54 m 1.37 m 2.91 m 1.58 MeV 0 eV 54.7 cm 5.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -592 um 41.3 um -2.4 m 11.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.64 mm 228 um -2.4 m 11.4 MeV 0 eV 3.32 mm 3.32 mm Target Transportation - 2 -53.7 cm 9.53 cm -80 cm 11.4 MeV 0 eV 1.69 m 1.69 m Tracker Transportation - 3 -60.4 cm 10.7 cm -60 cm 11.4 MeV 0 eV 21.1 cm 1.9 m Chamber Transportation - 4 -80.5 cm 14.3 cm 0 fm 11.4 MeV 0 eV 63.4 cm 2.54 m Tracker Transportation - 5 -87.2 cm 15.5 cm 20 cm 11.4 MeV 0 eV 21.1 cm 2.75 m Chamber Transportation - 6 -1.07 m 19 cm 80 cm 11.4 MeV 0 eV 63.4 cm 3.38 m Tracker Transportation - 7 -1.14 m 20.2 cm 1 m 11.4 MeV 0 eV 21.1 cm 3.59 m Chamber Transportation - 8 -1.34 m 23.8 cm 1.6 m 11.4 MeV 0 eV 63.4 cm 4.23 m Tracker Transportation - 9 -1.41 m 25 cm 1.8 m 11.4 MeV 0 eV 21.1 cm 4.44 m Chamber Transportation - 10 -1.61 m 28.5 cm 2.4 m 11.4 MeV 0 eV 63.4 cm 5.07 m Tracker Transportation - 11 -1.78 m 31.6 cm 2.91 m 11.4 MeV 0 eV 53.9 cm 5.61 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -256 um -46.1 um -2.4 m 61.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -711 um 360 um -2.4 m 61.6 MeV 0 eV 4.17 mm 4.17 mm Target Transportation - 2 -8.89 cm 7.91 cm -1.6 m 61.6 MeV 0 eV 80.9 cm 81.3 cm Tracker Transportation - 3 -11.1 cm 9.87 cm -1.4 m 61.6 MeV 0 eV 20.2 cm 1.02 m Chamber Transportation - 4 -17.7 cm 15.8 cm -80 cm 61.6 MeV 0 eV 60.7 cm 1.62 m Tracker Transportation - 5 -19.9 cm 17.7 cm -60 cm 61.6 MeV 0 eV 20.2 cm 1.82 m Chamber Transportation - 6 -26.5 cm 23.6 cm 0 fm 61.6 MeV 0 eV 60.7 cm 2.43 m Tracker Transportation - 7 -28.7 cm 25.6 cm 20 cm 61.6 MeV 0 eV 20.2 cm 2.63 m Chamber Transportation - 8 -35.3 cm 31.5 cm 80 cm 61.6 MeV 0 eV 60.7 cm 3.24 m Tracker Transportation - 9 -37.5 cm 33.5 cm 1 m 61.6 MeV 0 eV 20.2 cm 3.44 m Chamber Transportation - 10 -44.1 cm 39.4 cm 1.6 m 61.6 MeV 0 eV 60.7 cm 4.05 m Tracker Transportation - 11 -46.3 cm 41.4 cm 1.8 m 61.6 MeV 0 eV 20.2 cm 4.25 m Chamber Transportation - 12 -53 cm 47.3 cm 2.4 m 61.6 MeV 0 eV 60.7 cm 4.86 m Tracker Transportation - 13 -58.6 cm 52.3 cm 2.91 m 61.6 MeV 0 eV 51.6 cm 5.37 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 90, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -215 um -74.8 um -2.4 m 20.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -725 um 125 um -2.4 m 0 eV 0 eV 4.25 mm 4.25 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 101, Parent ID = 90 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -725 um 125 um -2.4 m 1.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -765 um 142 um -2.4 m 1.44 MeV 59.3 keV 77.1 um 77.1 um Target msc - 2 -791 um 151 um -2.4 m 1.39 MeV 50.9 keV 48.8 um 126 um Target msc - 3 -822 um 155 um -2.4 m 1.36 MeV 27.1 keV 47 um 173 um Target msc - 4 -854 um 161 um -2.4 m 1.33 MeV 37.4 keV 47 um 220 um Target msc - 5 -849 um 173 um -2.4 m 1.19 MeV 133 keV 47 um 267 um Target msc - 6 -852 um 167 um -2.4 m 1.13 MeV 61.3 keV 47 um 314 um Target msc - 7 -848 um 164 um -2.4 m 1.1 MeV 28.3 keV 23.2 um 337 um Target Transportation - 8 -7.76 mm -4.01 cm -2.31 m 1.09 MeV 16.5 keV 10 cm 10 cm Tracker StepLimiter - 9 -2.42 cm -9.05 cm -2.22 m 1.07 MeV 16.1 keV 10 cm 20 cm Tracker StepLimiter - 10 -3.46 cm -14.5 cm -2.14 m 1.05 MeV 20.4 keV 10 cm 30 cm Tracker StepLimiter - 11 -3.92 cm -19.5 cm -2.06 m 1.03 MeV 20.5 keV 10 cm 40 cm Tracker StepLimiter - 12 -4.85 cm -24.5 cm -1.97 m 1.01 MeV 21.2 keV 10 cm 50 cm Tracker StepLimiter - 13 -7.52 cm -30.9 cm -1.9 m 993 keV 14.9 keV 10 cm 60 cm Tracker StepLimiter - 14 -10.7 cm -36.2 cm -1.82 m 979 keV 14.4 keV 10 cm 70 cm Tracker StepLimiter - 15 -12.2 cm -42.9 cm -1.75 m 962 keV 16.9 keV 10 cm 80 cm Tracker StepLimiter - 16 -12.5 cm -49.3 cm -1.67 m 940 keV 22.3 keV 10 cm 90 cm Tracker StepLimiter - 17 -15 cm -53.7 cm -1.59 m 915 keV 25.1 keV 10 cm 1 m Tracker StepLimiter - 18 -15.4 cm -59.1 cm -1.5 m 902 keV 12.9 keV 10 cm 1.1 m Tracker StepLimiter - 19 -15.1 cm -66.5 cm -1.44 m 889 keV 13.1 keV 10 cm 1.2 m Tracker StepLimiter - 20 -18.9 cm -75.6 cm -1.42 m 875 keV 13.6 keV 10 cm 1.3 m Tracker StepLimiter - 21 -20.8 cm -85.2 cm -1.4 m 859 keV 15.6 keV 10 cm 1.4 m Tracker StepLimiter - 22 -22.6 cm -94.9 cm -1.39 m 843 keV 16.2 keV 10 cm 1.5 m Tracker StepLimiter - 23 -24.9 cm -1.04 m -1.38 m 832 keV 11.4 keV 10 cm 1.6 m Tracker StepLimiter - 24 -26.3 cm -1.14 m -1.34 m 812 keV 19.4 keV 10 cm 1.7 m Tracker StepLimiter - 25 -27.4 cm -1.18 m -1.33 m 165 keV 9.8 keV 4.95 cm 1.75 m Tracker eIoni - 26 -23.1 cm -1.22 m -1.31 m 148 keV 17.2 keV 6.28 cm 1.81 m Tracker eIoni - 27 -19.8 cm -1.26 m -1.31 m 131 keV 17.4 keV 5.24 cm 1.87 m Tracker eIoni - 28 -16.7 cm -1.28 m -1.32 m 117 keV 13.5 keV 4.26 cm 1.91 m Tracker eIoni - 29 -14.4 cm -1.31 m -1.33 m 105 keV 12.4 keV 3.54 cm 1.94 m Tracker eIoni - 30 -12.2 cm -1.32 m -1.34 m 94.8 keV 9.92 keV 2.95 cm 1.97 m Tracker eIoni - 31 -11.8 cm -1.33 m -1.36 m 85.1 keV 9.62 keV 2.5 cm 2 m Tracker eIoni - 32 -12.8 cm -1.35 m -1.37 m 74.4 keV 10.7 keV 2.09 cm 2.02 m Tracker eIoni - 33 -14.2 cm -1.35 m -1.37 m 65.5 keV 8.92 keV 1.68 cm 2.04 m Tracker eIoni - 34 -14.7 cm -1.36 m -1.36 m 60.4 keV 5.15 keV 1.36 cm 2.05 m Tracker eIoni - 35 -15.1 cm -1.36 m -1.35 m 49.1 keV 11.3 keV 1.2 cm 2.06 m Tracker eIoni - 36 -15.6 cm -1.37 m -1.35 m 43.7 keV 5.43 keV 8.73 mm 2.07 m Tracker eIoni - 37 -15.6 cm -1.37 m -1.34 m 37.9 keV 5.79 keV 7.32 mm 2.08 m Tracker eIoni - 38 -15.8 cm -1.37 m -1.34 m 33.4 keV 4.44 keV 6.03 mm 2.08 m Tracker eIoni - 39 -16.1 cm -1.37 m -1.33 m 27.5 keV 5.88 keV 5.08 mm 2.09 m Tracker eIoni - 40 -16.3 cm -1.37 m -1.33 m 20.5 keV 7.08 keV 4.02 mm 2.09 m Tracker eIoni - 41 -16.6 cm -1.37 m -1.33 m 12 keV 8.45 keV 2.93 mm 2.1 m Tracker eIoni - 42 -16.7 cm -1.37 m -1.33 m 8.37 keV 3.64 keV 1.87 mm 2.1 m Tracker eIoni - 43 -16.7 cm -1.37 m -1.33 m 0 eV 8.37 keV 1.35 mm 2.1 m Tracker eIoni - 44 -16.7 cm -1.37 m -1.33 m 0 eV 0 eV 0 fm 2.1 m Tracker annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 101 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -16.7 cm -1.37 m -1.33 m 511 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.21 m 2.4 m -65.9 cm 511 keV 0 eV 4.07 m 4.07 m Tracker Transportation - 2 1.4 m 2.91 m -56.8 cm 511 keV 0 eV 55.1 cm 4.63 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 101 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -16.7 cm -1.37 m -1.33 m 511 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -54.3 cm -2.4 m -1.51 m 511 keV 0 eV 1.11 m 1.11 m Tracker Transportation - 2 -72.9 cm -2.91 m -1.61 m 511 keV 0 eV 55.1 cm 1.66 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 101 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -27.4 cm -1.18 m -1.33 m 637 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -33.5 cm -1.26 m -1.34 m 623 keV 14.7 keV 10 cm 10 cm Tracker StepLimiter - 2 -40 cm -1.33 m -1.35 m 605 keV 17.3 keV 10 cm 20 cm Tracker StepLimiter - 3 -46.2 cm -1.41 m -1.37 m 588 keV 16.9 keV 10 cm 30 cm Tracker StepLimiter - 4 -54.4 cm -1.46 m -1.39 m 568 keV 20.7 keV 10 cm 40 cm Tracker StepLimiter - 5 -63.8 cm -1.49 m -1.39 m 539 keV 28.9 keV 10 cm 50 cm Tracker StepLimiter - 6 -73.2 cm -1.52 m -1.41 m 526 keV 13.2 keV 10 cm 60 cm Tracker StepLimiter - 7 -78.6 cm -1.45 m -1.46 m 501 keV 24.7 keV 10 cm 70 cm Tracker StepLimiter - 8 -83.1 cm -1.36 m -1.47 m 476 keV 25 keV 10 cm 80 cm Tracker StepLimiter - 9 -86.1 cm -1.27 m -1.47 m 451 keV 25 keV 10 cm 90 cm Tracker StepLimiter - 10 -91.3 cm -1.19 m -1.49 m 433 keV 17.5 keV 10 cm 1 m Tracker StepLimiter - 11 -91.1 cm -1.09 m -1.5 m 419 keV 13.9 keV 10 cm 1.1 m Tracker StepLimiter - 12 -95.9 cm -1 m -1.51 m 398 keV 21.1 keV 10 cm 1.2 m Tracker StepLimiter - 13 -1.01 m -92.3 cm -1.53 m 379 keV 19.5 keV 10 cm 1.3 m Tracker StepLimiter - 14 -1.06 m -85 cm -1.57 m 363 keV 16.3 keV 10 cm 1.4 m Tracker StepLimiter - 15 -1.11 m -78.9 cm -1.63 m 339 keV 23.4 keV 10 cm 1.5 m Tracker StepLimiter - 16 -1.16 m -74.3 cm -1.7 m 320 keV 19.5 keV 10 cm 1.6 m Tracker StepLimiter - 17 -1.22 m -66.8 cm -1.68 m 298 keV 21.8 keV 10 cm 1.7 m Tracker StepLimiter - 18 -1.25 m -59.4 cm -1.63 m 276 keV 22.1 keV 10 cm 1.8 m Tracker StepLimiter - 19 -1.27 m -51.7 cm -1.57 m 253 keV 23.1 keV 10 cm 1.9 m Tracker StepLimiter - 20 -1.29 m -42.3 cm -1.56 m 236 keV 17.1 keV 10 cm 2 m Tracker StepLimiter - 21 -1.27 m -33.9 cm -1.52 m 205 keV 30.6 keV 10 cm 2.1 m Tracker StepLimiter - 22 -1.21 m -27.5 cm -1.5 m 179 keV 26.4 keV 9.01 cm 2.19 m Tracker eIoni - 23 -1.17 m -22.8 cm -1.49 m 154 keV 24.9 keV 7.21 cm 2.26 m Tracker eIoni - 24 -1.14 m -19.9 cm -1.53 m 130 keV 23.6 keV 5.63 cm 2.32 m Tracker eIoni - 25 -1.1 m -20.7 cm -1.54 m 114 keV 15.7 keV 4.29 cm 2.36 m Tracker eIoni - 26 -1.08 m -23.3 cm -1.53 m 100 keV 14 keV 3.46 cm 2.4 m Tracker eIoni - 27 -1.08 m -25.8 cm -1.52 m 89.1 keV 11.3 keV 2.81 cm 2.42 m Tracker eIoni - 28 -1.06 m -27.5 cm -1.52 m 79.6 keV 9.48 keV 2.29 cm 2.45 m Tracker eIoni - 29 -1.05 m -27.8 cm -1.51 m 71.3 keV 8.33 keV 1.91 cm 2.47 m Tracker eIoni - 30 -1.04 m -26.9 cm -1.51 m 65.5 keV 5.73 keV 1.61 cm 2.48 m Tracker eIoni - 31 -1.02 m -26.7 cm -1.51 m 60.8 keV 4.77 keV 1.4 cm 2.5 m Tracker eIoni - 32 -1.02 m -26.3 cm -1.52 m 54.3 keV 6.44 keV 1.24 cm 2.51 m Tracker eIoni - 33 -1.02 m -25.3 cm -1.52 m 48.2 keV 6.17 keV 1.05 cm 2.52 m Tracker eIoni - 34 -1.01 m -25 cm -1.52 m 40.9 keV 7.25 keV 8.77 mm 2.53 m Tracker eIoni - 35 -1.01 m -24.5 cm -1.51 m 36.8 keV 4.07 keV 6.95 mm 2.53 m Tracker eIoni - 36 -1.01 m -24.1 cm -1.51 m 29.9 keV 6.97 keV 6.06 mm 2.54 m Tracker eIoni - 37 -1.01 m -23.7 cm -1.51 m 20.8 keV 9.12 keV 4.63 mm 2.55 m Tracker eIoni - 38 -1.01 m -23.6 cm -1.51 m 18.3 keV 2.43 keV 3.13 mm 2.55 m Tracker eIoni - 39 -1.02 m -23.6 cm -1.51 m 11.3 keV 7.07 keV 2.79 mm 2.55 m Tracker eIoni - 40 -1.02 m -23.5 cm -1.51 m 6.82 keV 4.45 keV 1.86 mm 2.55 m Tracker eIoni - 41 -1.01 m -23.5 cm -1.51 m 1.79 keV 5.03 keV 1.15 mm 2.55 m Tracker eIoni - 42 -1.01 m -23.5 cm -1.51 m 0 eV 1.79 keV 131 um 2.55 m Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 90 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -725 um 125 um -2.4 m 18.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -727 um 126 um -2.4 m 17.9 MeV 23.9 keV 23.5 um 23.5 um Target eBrem - 2 -746 um 144 um -2.4 m 12.8 MeV 530 keV 149 um 172 um Target eBrem - 3 -746 um 144 um -2.4 m 12.7 MeV 105 keV 88.8 um 261 um Target Transportation - 4 1.06 cm 1.78 cm -2.3 m 12.7 MeV 18.5 keV 10 cm 10 cm Tracker StepLimiter - 5 2.33 cm 3.57 cm -2.2 m 12.7 MeV 16.6 keV 10 cm 20 cm Tracker StepLimiter - 6 3.54 cm 5.2 cm -2.11 m 12.6 MeV 20.7 keV 10 cm 30 cm Tracker StepLimiter - 7 4.77 cm 6.81 cm -2.01 m 12.6 MeV 23 keV 10 cm 40 cm Tracker StepLimiter - 8 6.21 cm 8.53 cm -1.91 m 12.6 MeV 14.2 keV 10 cm 50 cm Tracker StepLimiter - 9 6.41 cm 8.78 cm -1.9 m 12.6 MeV 1.48 keV 1.5 cm 51.5 cm Tracker eBrem - 10 7.93 cm 10.3 cm -1.8 m 12.6 MeV 15.2 keV 10 cm 61.5 cm Tracker StepLimiter - 11 9.29 cm 12 cm -1.7 m 12.6 MeV 26.1 keV 10 cm 71.5 cm Tracker StepLimiter - 12 10.5 cm 13.8 cm -1.6 m 12.5 MeV 30.3 keV 10 cm 81.5 cm Tracker StepLimiter - 13 10.5 cm 13.9 cm -1.6 m 12.5 MeV 623 eV 3.99 mm 81.9 cm Tracker Transportation - 14 13.4 cm 17.3 cm -1.4 m 12.4 MeV 130 keV 20.6 cm 1.03 m Chamber Transportation - 15 14.8 cm 18 cm -1.3 m 12.4 MeV 17 keV 10 cm 1.13 m Tracker StepLimiter - 16 16.1 cm 19 cm -1.2 m 12.4 MeV 24 keV 10 cm 1.23 m Tracker StepLimiter - 17 17.3 cm 19.8 cm -1.1 m 12.3 MeV 37.5 keV 10 cm 1.33 m Tracker StepLimiter - 18 18.2 cm 20.7 cm -1 m 12.3 MeV 34.6 keV 10 cm 1.43 m Tracker StepLimiter - 19 19 cm 21.8 cm -90.5 cm 12.3 MeV 19.4 keV 10 cm 1.53 m Tracker StepLimiter - 20 19.5 cm 23.1 cm -80.6 cm 12.2 MeV 17 keV 10 cm 1.63 m Tracker StepLimiter - 21 19.5 cm 23.2 cm -80 cm 12.2 MeV 1.07 keV 6.53 mm 1.63 m Tracker Transportation - 22 20.7 cm 26 cm -60 cm 12.1 MeV 127 keV 20.4 cm 1.84 m Chamber Transportation - 23 17.9 cm 28.6 cm -50.8 cm 12.1 MeV 23 keV 10 cm 1.94 m Tracker StepLimiter - 24 15.1 cm 31.2 cm -41.5 cm 12.1 MeV 16.1 keV 10 cm 2.04 m Tracker StepLimiter - 25 12.2 cm 33.6 cm -32.3 cm 12.1 MeV 20.3 keV 10 cm 2.14 m Tracker StepLimiter - 26 9.11 cm 35.8 cm -23 cm 12 MeV 20.8 keV 10 cm 2.24 m Tracker StepLimiter - 27 6.19 cm 37.8 cm -13.7 cm 12 MeV 20 keV 10 cm 2.34 m Tracker StepLimiter - 28 3.34 cm 39.8 cm -4.28 cm 12 MeV 15.1 keV 10 cm 2.44 m Tracker StepLimiter - 29 2 cm 40.8 cm 0 fm 12 MeV 11.1 keV 4.59 cm 2.48 m Tracker Transportation - 30 -5.42 cm 45.5 cm 20 cm 11.8 MeV 142 keV 22.1 cm 2.7 m Chamber Transportation - 31 -9.13 cm 47.1 cm 29.2 cm 11.8 MeV 23 keV 10 cm 2.8 m Tracker StepLimiter - 32 -12.6 cm 48.5 cm 38.4 cm 11.8 MeV 11 keV 10 cm 2.9 m Tracker StepLimiter - 33 -16.1 cm 49.6 cm 47.7 cm 11.8 MeV 19.4 keV 10 cm 3 m Tracker StepLimiter - 34 -19.5 cm 50.7 cm 57.1 cm 11.8 MeV 18.5 keV 10 cm 3.1 m Tracker StepLimiter - 35 -23.1 cm 52 cm 66.3 cm 11.7 MeV 27.2 keV 10 cm 3.2 m Tracker StepLimiter - 36 -26.5 cm 53.2 cm 75.6 cm 11.7 MeV 23.7 keV 10 cm 3.3 m Tracker StepLimiter - 37 -28.1 cm 53.8 cm 80 cm 11.7 MeV 7.8 keV 4.68 cm 3.35 m Tracker Transportation - 38 -35.3 cm 56.3 cm 1 m 11.6 MeV 129 keV 21.6 cm 3.57 m Chamber Transportation - 39 -37.8 cm 58.2 cm 1.1 m 11.6 MeV 14.1 keV 10 cm 3.67 m Tracker StepLimiter - 40 -40.5 cm 60 cm 1.19 m 11.6 MeV 14.4 keV 10 cm 3.77 m Tracker StepLimiter - 41 -43.3 cm 61.4 cm 1.28 m 11.5 MeV 23.2 keV 10 cm 3.87 m Tracker StepLimiter - 42 -46 cm 62.7 cm 1.38 m 11.5 MeV 22.7 keV 10 cm 3.97 m Tracker StepLimiter - 43 -48.6 cm 63.9 cm 1.48 m 11.5 MeV 22 keV 10 cm 4.07 m Tracker StepLimiter - 44 -51.3 cm 65.3 cm 1.57 m 11.5 MeV 18 keV 10 cm 4.17 m Tracker StepLimiter - 45 -52.1 cm 65.6 cm 1.6 m 11.5 MeV 11.9 keV 3.01 cm 4.2 m Tracker Transportation - 46 -54.5 cm 66.1 cm 1.71 m 11.2 MeV 58.9 keV 10.9 cm 4.3 m Chamber eIoni - 47 -56.6 cm 66.5 cm 1.8 m 11.2 MeV 35.7 keV 9.72 cm 4.4 m Chamber Transportation - 48 -58.6 cm 66.9 cm 1.9 m 11.1 MeV 16.9 keV 10 cm 4.5 m Tracker StepLimiter - 49 -60.3 cm 67.2 cm 2 m 11.1 MeV 19.2 keV 10 cm 4.6 m Tracker StepLimiter - 50 -62.2 cm 67.6 cm 2.09 m 11.1 MeV 15.9 keV 10 cm 4.7 m Tracker StepLimiter - 51 -63.7 cm 68.2 cm 2.19 m 11.1 MeV 22.5 keV 10 cm 4.8 m Tracker StepLimiter - 52 -65.6 cm 68.5 cm 2.29 m 11.1 MeV 14 keV 10 cm 4.9 m Tracker StepLimiter - 53 -67.4 cm 68.8 cm 2.39 m 11 MeV 32 keV 10 cm 5 m Tracker StepLimiter - 54 -67.6 cm 68.8 cm 2.4 m 11 MeV 771 eV 1.05 cm 5.01 m Tracker Transportation - 55 -78.1 cm 70.5 cm 2.91 m 11 MeV 83.5 keV 52.2 cm 5.53 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 100 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -54.5 cm 66.1 cm 1.71 m 202 keV 0 eV 0 fm 0 fm Chamber initStep - 1 -53 cm 65 cm 1.72 m 171 keV 30.3 keV 3.22 cm 3.22 cm Chamber msc - 2 -54.1 cm 65.4 cm 1.73 m 148 keV 23.3 keV 2.56 cm 5.78 cm Chamber eIoni - 3 -53.8 cm 66.7 cm 1.73 m 131 keV 17.5 keV 2.05 cm 7.83 cm Chamber eIoni - 4 -53.9 cm 65.7 cm 1.73 m 94.7 keV 35.9 keV 1.7 cm 9.53 cm Chamber eIoni - 5 -54.4 cm 66.1 cm 1.73 m 88.9 keV 5.73 keV 1.06 cm 10.6 cm Chamber eIoni - 6 -54.8 cm 66.6 cm 1.74 m 79.8 keV 9.14 keV 9.71 mm 11.6 cm Chamber eIoni - 7 -55.2 cm 66.7 cm 1.74 m 67.4 keV 12.4 keV 8.37 mm 12.4 cm Chamber eIoni - 8 -55.4 cm 66.5 cm 1.74 m 53.1 keV 14.3 keV 6.71 mm 13.1 cm Chamber eIoni - 9 -55.7 cm 66.6 cm 1.73 m 41.7 keV 11.4 keV 5.01 mm 13.6 cm Chamber eIoni - 10 -55.8 cm 66.8 cm 1.73 m 34.5 keV 7.17 keV 3.82 mm 14 cm Chamber eIoni - 11 -55.6 cm 66.7 cm 1.73 m 28.5 keV 6.06 keV 3.18 mm 14.3 cm Chamber eIoni - 12 -55.7 cm 66.8 cm 1.73 m 26.2 keV 2.29 keV 2.68 mm 14.5 cm Chamber eIoni - 13 -55.8 cm 66.8 cm 1.73 m 12 keV 14.2 keV 2.51 mm 14.8 cm Chamber eIoni - 14 -55.8 cm 66.8 cm 1.73 m 1.17 keV 10.8 keV 1.35 mm 14.9 cm Chamber eIoni - 15 -55.8 cm 66.8 cm 1.73 m 0 eV 1.17 keV 49.3 um 14.9 cm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 107, Parent ID = 100 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.41 cm 8.78 cm -1.9 m 3.25 keV 0 eV 0 fm 0 fm Tracker initStep - 1 8.83 cm 12.3 cm -1.74 m 0 eV 403 eV 15.9 cm 15.9 cm Tracker phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 107 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 8.83 cm 12.3 cm -1.74 m 2.84 keV 0 eV 0 fm 0 fm Tracker initStep - 1 8.83 cm 12.3 cm -1.74 m 0 eV 2.84 keV 270 um 270 um Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 100 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -746 um 144 um -2.4 m 4.62 MeV 0 eV 0 fm 0 fm Target initStep - 1 -747 um 137 um -2.4 m 4.62 MeV 0 eV 88.2 um 88.2 um Target Transportation - 2 -8.65 mm -6.17 cm -1.6 m 4.62 MeV 0 eV 80.2 cm 80.3 cm Tracker Transportation - 3 -1.06 cm -7.71 cm -1.4 m 4.62 MeV 0 eV 20.1 cm 1 m Chamber Transportation - 4 -1.65 cm -12.3 cm -80 cm 4.62 MeV 0 eV 60.2 cm 1.6 m Tracker Transportation - 5 -1.85 cm -13.9 cm -60 cm 4.62 MeV 0 eV 20.1 cm 1.81 m Chamber Transportation - 6 -2.44 cm -18.5 cm 0 fm 4.62 MeV 0 eV 60.2 cm 2.41 m Tracker Transportation - 7 -2.64 cm -20.1 cm 20 cm 4.62 MeV 0 eV 20.1 cm 2.61 m Chamber Transportation - 8 -3.23 cm -24.7 cm 80 cm 4.62 MeV 0 eV 60.2 cm 3.21 m Tracker Transportation - 9 -3.43 cm -26.3 cm 1 m 4.62 MeV 0 eV 20.1 cm 3.41 m Chamber Transportation - 10 -4.02 cm -30.9 cm 1.6 m 4.62 MeV 0 eV 60.2 cm 4.01 m Tracker Transportation - 11 -4.22 cm -32.4 cm 1.8 m 4.62 MeV 0 eV 20.1 cm 4.21 m Chamber Transportation - 12 -4.81 cm -37.1 cm 2.4 m 4.62 MeV 0 eV 60.2 cm 4.81 m Tracker Transportation - 13 -5.32 cm -41 cm 2.91 m 4.62 MeV 0 eV 51.2 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 105, Parent ID = 100 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -727 um 126 um -2.4 m 312 keV 0 eV 0 fm 0 fm Target initStep - 1 -760 um 126 um -2.4 m 312 keV 0 eV 236 um 236 um Target Transportation - 2 -11.4 cm -842 um -1.6 m 312 keV 0 eV 80.8 cm 80.8 cm Tracker Transportation - 3 -14.2 cm -1.08 mm -1.4 m 312 keV 0 eV 20.2 cm 1.01 m Chamber Transportation - 4 -22.7 cm -1.81 mm -80 cm 312 keV 0 eV 60.6 cm 1.62 m Tracker Transportation - 5 -25.5 cm -2.05 mm -60 cm 312 keV 0 eV 20.2 cm 1.82 m Chamber Transportation - 6 -34 cm -2.78 mm 0.114 fm 312 keV 0 eV 60.6 cm 2.42 m Tracker Transportation - 7 -36.8 cm -3.02 mm 20 cm 312 keV 0 eV 20.2 cm 2.63 m Chamber Transportation - 8 -45.3 cm -3.74 mm 80 cm 312 keV 0 eV 60.6 cm 3.23 m Tracker Transportation - 9 -48.1 cm -3.98 mm 1 m 312 keV 0 eV 20.2 cm 3.43 m Chamber Transportation - 10 -56.6 cm -4.71 mm 1.6 m 312 keV 0 eV 60.6 cm 4.04 m Tracker Transportation - 11 -59.4 cm -4.95 mm 1.8 m 312 keV 0 eV 20.2 cm 4.24 m Chamber Transportation - 12 -67.9 cm -5.68 mm 2.4 m 312 keV 0 eV 60.6 cm 4.85 m Tracker Transportation - 13 -75.1 cm -6.29 mm 2.91 m 312 keV 0 eV 51.5 cm 5.36 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -132 um -121 um -2.41 m 7.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1 mm 190 um -2.4 m 7.9 MeV 0 eV 5.15 mm 5.15 mm Target Transportation - 2 -13.9 cm 4.93 cm -1.6 m 7.9 MeV 0 eV 81.3 cm 81.8 cm Tracker Transportation - 3 -17.3 cm 6.16 cm -1.4 m 7.9 MeV 0 eV 20.3 cm 1.02 m Chamber Transportation - 4 -27.7 cm 9.85 cm -80 cm 7.9 MeV 0 eV 61 cm 1.63 m Tracker Transportation - 5 -31.1 cm 11.1 cm -60 cm 7.9 MeV 0 eV 20.3 cm 1.84 m Chamber Transportation - 6 -41.5 cm 14.8 cm -0.114 fm 7.9 MeV 0 eV 61 cm 2.45 m Tracker Transportation - 7 -44.9 cm 16 cm 20 cm 7.9 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation - 8 -55.3 cm 19.7 cm 80 cm 7.9 MeV 0 eV 61 cm 3.26 m Tracker Transportation - 9 -58.7 cm 20.9 cm 1 m 7.9 MeV 0 eV 20.3 cm 3.46 m Chamber Transportation - 10 -69.1 cm 24.6 cm 1.6 m 7.9 MeV 0 eV 61 cm 4.07 m Tracker Transportation - 11 -72.5 cm 25.8 cm 1.8 m 7.9 MeV 0 eV 20.3 cm 4.27 m Chamber Transportation - 12 -82.9 cm 29.5 cm 2.4 m 7.9 MeV 0 eV 61 cm 4.88 m Tracker Transportation - 13 -91.7 cm 32.6 cm 2.91 m 7.9 MeV 0 eV 51.8 cm 5.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -108 um -122 um -2.41 m 7.02 MeV 0 eV 0 fm 0 fm Target initStep - 1 -724 um -216 um -2.4 m 7.02 MeV 0 eV 5.31 mm 5.31 mm Target Transportation - 2 -9.42 cm -1.45 cm -1.6 m 7.02 MeV 0 eV 80.6 cm 81.1 cm Tracker Transportation - 3 -11.8 cm -1.81 cm -1.4 m 7.02 MeV 0 eV 20.1 cm 1.01 m Chamber Transportation - 4 -18.8 cm -2.88 cm -80 cm 7.02 MeV 0 eV 60.4 cm 1.62 m Tracker Transportation - 5 -21.1 cm -3.24 cm -60 cm 7.02 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation - 6 -28.1 cm -4.31 cm 0 fm 7.02 MeV 0 eV 60.4 cm 2.42 m Tracker Transportation - 7 -30.5 cm -4.66 cm 20 cm 7.02 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation - 8 -37.5 cm -5.74 cm 80 cm 7.02 MeV 0 eV 60.4 cm 3.23 m Tracker Transportation - 9 -39.8 cm -6.09 cm 1 m 7.02 MeV 0 eV 20.1 cm 3.43 m Chamber Transportation - 10 -46.8 cm -7.16 cm 1.6 m 7.02 MeV 0 eV 60.4 cm 4.03 m Tracker Transportation - 11 -49.2 cm -7.52 cm 1.8 m 7.02 MeV 0 eV 20.1 cm 4.23 m Chamber Transportation - 12 -56.2 cm -8.59 cm 2.4 m 7.02 MeV 0 eV 60.4 cm 4.84 m Tracker Transportation - 13 -62.1 cm -9.5 cm 2.91 m 7.02 MeV 0 eV 51.4 cm 5.35 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -36.6 um -112 um -2.41 m 2.25 MeV 0 eV 0 fm 0 fm Target initStep - 1 -508 um -395 um -2.4 m 2.25 MeV 0 eV 6.07 mm 6.07 mm Target Transportation - 2 -6.28 cm -3.78 cm -1.6 m 2.25 MeV 0 eV 80.3 cm 80.9 cm Tracker Transportation - 3 -7.84 cm -4.72 cm -1.4 m 2.25 MeV 0 eV 20.1 cm 1.01 m Chamber Transportation - 4 -12.5 cm -7.53 cm -80 cm 2.25 MeV 0 eV 60.2 cm 1.61 m Tracker Transportation - 5 -14.1 cm -8.47 cm -60 cm 2.25 MeV 0 eV 20.1 cm 1.81 m Chamber Transportation - 6 -18.7 cm -11.3 cm -0.114 fm 2.25 MeV 0 eV 60.2 cm 2.42 m Tracker Transportation - 7 -20.3 cm -12.2 cm 20 cm 2.25 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation - 8 -25 cm -15 cm 80 cm 2.25 MeV 0 eV 60.2 cm 3.22 m Tracker Transportation - 9 -26.5 cm -16 cm 1 m 2.25 MeV 0 eV 20.1 cm 3.42 m Chamber Transportation - 10 -31.2 cm -18.8 cm 1.6 m 2.25 MeV 0 eV 60.2 cm 4.02 m Tracker Transportation - 11 -32.8 cm -19.7 cm 1.8 m 2.25 MeV 0 eV 20.1 cm 4.22 m Chamber Transportation - 12 -37.4 cm -22.5 cm 2.4 m 2.25 MeV 0 eV 60.2 cm 4.83 m Tracker Transportation - 13 -41.4 cm -24.9 cm 2.91 m 2.25 MeV 0 eV 51.2 cm 5.34 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.51 um -86.3 um -2.41 m 12.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 -398 um -492 um -2.4 m 12.9 MeV 0 eV 6.91 mm 6.91 mm Target Transportation - 2 -4.71 cm -4.77 cm -1.6 m 12.9 MeV 0 eV 80.3 cm 81 cm Tracker Transportation - 3 -5.87 cm -5.95 cm -1.4 m 12.9 MeV 0 eV 20.1 cm 1.01 m Chamber Transportation - 4 -9.37 cm -9.49 cm -80 cm 12.9 MeV 0 eV 60.2 cm 1.61 m Tracker Transportation - 5 -10.5 cm -10.7 cm -60 cm 12.9 MeV 0 eV 20.1 cm 1.81 m Chamber Transportation - 6 -14 cm -14.2 cm 0 fm 12.9 MeV 0 eV 60.2 cm 2.42 m Tracker Transportation - 7 -15.2 cm -15.4 cm 20 cm 12.9 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation - 8 -18.7 cm -18.9 cm 80 cm 12.9 MeV 0 eV 60.2 cm 3.22 m Tracker Transportation - 9 -19.9 cm -20.1 cm 1 m 12.9 MeV 0 eV 20.1 cm 3.42 m Chamber Transportation - 10 -23.4 cm -23.7 cm 1.6 m 12.9 MeV 0 eV 60.2 cm 4.02 m Tracker Transportation - 11 -24.5 cm -24.8 cm 1.8 m 12.9 MeV 0 eV 20.1 cm 4.22 m Chamber Transportation - 12 -28 cm -28.4 cm 2.4 m 12.9 MeV 0 eV 60.2 cm 4.82 m Tracker Transportation - 13 -31 cm -31.4 cm 2.91 m 12.9 MeV 0 eV 51.2 cm 5.34 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -9.78 um -11.6 um -2.41 m 1.31 MeV 0 eV 0 fm 0 fm Target initStep - 1 -276 um -286 um -2.4 m 274 keV 0 eV 6.9 mm 6.9 mm Target compt - 2 -2.52 mm -2.66 mm -2.4 m 229 keV 0 eV 3.84 mm 1.07 cm Target compt - 3 -2.34 mm -3.14 mm -2.41 m 0 eV 88 keV 1.22 mm 1.2 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 85 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.34 mm -3.14 mm -2.41 m 141 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.34 mm -3.15 mm -2.41 m 0 eV 141 keV 47.8 um 47.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 85 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.52 mm -2.66 mm -2.4 m 45.1 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.52 mm -2.66 mm -2.4 m 0 eV 45.1 keV 7.55 um 7.55 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 85 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -276 um -286 um -2.4 m 1.04 MeV 0 eV 0 fm 0 fm Target initStep - 1 -271 um -281 um -2.4 m 0 eV 1.04 MeV 763 um 763 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.02 um -7.61 um -2.41 m 522 keV 0 eV 0 fm 0 fm Target initStep - 1 -118 um -127 um -2.4 m 0 eV 88 keV 4.71 mm 4.71 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 84 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -118 um -127 um -2.4 m 434 keV 0 eV 0 fm 0 fm Target initStep - 1 -111 um -125 um -2.4 m 0 eV 434 keV 251 um 251 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.76 um -3.43 um -2.41 m 7.63 MeV 0 eV 0 fm 0 fm Target initStep - 1 -269 um -301 um -2.4 m 7.63 MeV 0 eV 9.31 mm 9.31 mm Target Transportation - 2 -2.38 cm -2.59 cm -1.6 m 7.63 MeV 0 eV 80.1 cm 81 cm Tracker Transportation - 3 -2.96 cm -3.23 cm -1.4 m 7.63 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 -4.73 cm -5.14 cm -80 cm 7.63 MeV 0 eV 60.1 cm 1.61 m Tracker Transportation - 5 -5.31 cm -5.78 cm -60 cm 7.63 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 -7.07 cm -7.7 cm 0.114 fm 7.63 MeV 0 eV 60.1 cm 2.41 m Tracker Transportation - 7 -7.66 cm -8.34 cm 20 cm 7.63 MeV 0 eV 20 cm 2.61 m Chamber Transportation - 8 -9.42 cm -10.3 cm 80 cm 7.63 MeV 0 eV 60.1 cm 3.21 m Tracker Transportation - 9 -10 cm -10.9 cm 1 m 7.63 MeV 0 eV 20 cm 3.41 m Chamber Transportation - 10 -11.8 cm -12.8 cm 1.6 m 7.63 MeV 0 eV 60.1 cm 4.01 m Tracker Transportation - 11 -12.4 cm -13.5 cm 1.8 m 7.63 MeV 0 eV 20 cm 4.21 m Chamber Transportation - 12 -14.1 cm -15.4 cm 2.4 m 7.63 MeV 0 eV 60.1 cm 4.81 m Tracker Transportation - 13 -15.6 cm -17 cm 2.91 m 7.63 MeV 0 eV 51 cm 5.32 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.47 um -875 nm -2.41 m 2.78 MeV 0 eV 0 fm 0 fm Target initStep - 1 -131 um -16.1 um -2.4 m 2.78 MeV 0 eV 9.5 mm 9.5 mm Target Transportation - 2 -1.16 cm -1.3 mm -1.6 m 2.78 MeV 0 eV 80 cm 81 cm Tracker Transportation - 3 -1.45 cm -1.62 mm -1.4 m 2.78 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 -2.3 cm -2.58 mm -80 cm 2.78 MeV 0 eV 60 cm 1.61 m Tracker Transportation - 5 -2.59 cm -2.9 mm -60 cm 2.78 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 -3.45 cm -3.86 mm 0 fm 2.78 MeV 0 eV 60 cm 2.41 m Tracker Transportation - 7 -3.74 cm -4.19 mm 20 cm 2.78 MeV 0 eV 20 cm 2.61 m Chamber Transportation - 8 -4.6 cm -5.15 mm 80 cm 2.78 MeV 0 eV 60 cm 3.21 m Tracker Transportation - 9 -4.88 cm -5.47 mm 1 m 2.78 MeV 0 eV 20 cm 3.41 m Chamber Transportation - 10 -5.74 cm -6.43 mm 1.6 m 2.78 MeV 0 eV 60 cm 4.01 m Tracker Transportation - 11 -6.03 cm -6.75 mm 1.8 m 2.78 MeV 0 eV 20 cm 4.21 m Chamber Transportation - 12 -6.89 cm -7.71 mm 2.4 m 2.78 MeV 0 eV 60 cm 4.81 m Tracker Transportation - 13 -7.62 cm -8.53 mm 2.91 m 2.78 MeV 0 eV 51 cm 5.32 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.97 um -2.05 um -2.41 m 112 MeV 0 eV 0 fm 0 fm Target initStep - 1 7.32 um 56.8 um -2.4 m 112 MeV 0 eV 9.6 mm 9.6 mm Target Transportation - 2 120 um 4.96 mm -1.6 m 112 MeV 0 eV 80 cm 81 cm Tracker Transportation - 3 148 um 6.19 mm -1.4 m 112 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 232 um 9.87 mm -80 cm 112 MeV 0 eV 60 cm 1.61 m Tracker Transportation - 5 260 um 1.11 cm -60 cm 112 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 345 um 1.48 cm 0 fm 112 MeV 0 eV 60 cm 2.41 m Tracker Transportation - 7 373 um 1.6 cm 20 cm 112 MeV 0 eV 20 cm 2.61 m Chamber Transportation - 8 457 um 1.97 cm 80 cm 112 MeV 0 eV 60 cm 3.21 m Tracker Transportation - 9 485 um 2.09 cm 1 m 112 MeV 0 eV 20 cm 3.41 m Chamber Transportation - 10 570 um 2.46 cm 1.6 m 112 MeV 0 eV 60 cm 4.01 m Tracker Transportation - 11 598 um 2.58 cm 1.8 m 112 MeV 0 eV 20 cm 4.21 m Chamber Transportation - 12 682 um 2.95 cm 2.4 m 112 MeV 0 eV 60 cm 4.81 m Tracker Transportation - 13 754 um 3.26 cm 2.91 m 112 MeV 0 eV 51 cm 5.32 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.79 um -2.93 um -2.41 m 1.15 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.81 um 34.5 um -2.41 m 0 eV 88 keV 4.5 mm 4.5 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 80 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.81 um 34.5 um -2.41 m 1.07 MeV 0 eV 0 fm 0 fm Target initStep - 1 -7.92 um 14.9 um -2.41 m 0 eV 1.07 MeV 785 um 785 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.84 um -3.32 um -2.41 m 2.22 MeV 0 eV 0 fm 0 fm Target initStep - 1 -79.8 um 91.9 um -2.4 m 2.22 MeV 0 eV 9.71 mm 9.71 mm Target Transportation - 2 -7.13 mm 7.93 mm -1.6 m 2.22 MeV 0 eV 80 cm 81 cm Tracker Transportation - 3 -8.9 mm 9.89 mm -1.4 m 2.22 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 -1.42 cm 1.58 cm -80 cm 2.22 MeV 0 eV 60 cm 1.61 m Tracker Transportation - 5 -1.59 cm 1.77 cm -60 cm 2.22 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 -2.12 cm 2.36 cm -0.114 fm 2.22 MeV 0 eV 60 cm 2.41 m Tracker Transportation - 7 -2.3 cm 2.56 cm 20 cm 2.22 MeV 0 eV 20 cm 2.61 m Chamber Transportation - 8 -2.83 cm 3.15 cm 80 cm 2.22 MeV 0 eV 60 cm 3.21 m Tracker Transportation - 9 -3.01 cm 3.34 cm 1 m 2.22 MeV 0 eV 20 cm 3.41 m Chamber Transportation - 10 -3.53 cm 3.93 cm 1.6 m 2.22 MeV 0 eV 60 cm 4.01 m Tracker Transportation - 11 -3.71 cm 4.13 cm 1.8 m 2.22 MeV 0 eV 20 cm 4.21 m Chamber Transportation - 12 -4.24 cm 4.71 cm 2.4 m 2.22 MeV 0 eV 60 cm 4.81 m Tracker Transportation - 13 -4.69 cm 5.21 cm 2.91 m 2.22 MeV 0 eV 51 cm 5.32 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 654 nm -430 nm -2.42 m 705 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.97 um -1.77 um -2.42 m 550 MeV 714 keV 543 um 543 um Target eBrem - 2 -1.97 um -1.02 um -2.42 m 85.9 MeV 133 keV 146 um 689 um Target eBrem - 3 -4.9 um 985 nm -2.42 m 80.3 MeV 713 keV 489 um 1.18 mm Target eBrem - 4 -16.6 um -13.3 um -2.42 m 62.8 MeV 610 keV 410 um 1.59 mm Target eBrem - 5 -16.5 um -15.4 um -2.42 m 50.2 MeV 184 keV 163 um 1.75 mm Target eBrem - 6 292 um 273 um -2.42 m 44.1 MeV 3.51 MeV 2.59 mm 4.34 mm Target eBrem - 7 180 um 313 um -2.41 m 39.1 MeV 632 keV 472 um 4.81 mm Target eBrem - 8 -119 um 657 um -2.41 m 36.2 MeV 1.8 MeV 1.42 mm 6.23 mm Target eBrem - 9 -336 um 997 um -2.41 m 29.4 MeV 2.28 MeV 1.19 mm 7.41 mm Target eBrem - 10 -384 um 1.24 mm -2.41 m 20.8 MeV 796 keV 624 um 8.04 mm Target eBrem - 11 -1.19 mm 1.59 mm -2.41 m 15.2 MeV 5.07 MeV 3.74 mm 1.18 cm Target eBrem - 12 -2.46 mm 2.28 mm -2.41 m 12.9 MeV 2.22 MeV 1.7 mm 1.35 cm Target eBrem - 13 -3.72 mm 2.89 mm -2.41 m 7.87 MeV 2.16 MeV 1.77 mm 1.52 cm Target eBrem - 14 -4.09 mm 3.37 mm -2.41 m 4.63 MeV 3.24 MeV 2.37 mm 1.76 cm Target eBrem - 15 -3.83 mm 2.86 mm -2.4 m 2.62 MeV 2.01 MeV 1.23 mm 1.88 cm Target eBrem - 16 -3.77 mm 2.9 mm -2.4 m 0 eV 121 keV 119 um 1.9 cm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.77 mm 2.9 mm -2.4 m 1.69 MeV 0 eV 0 fm 0 fm Target initStep - 1 9.04 mm 1.44 cm -2.4 m 1.69 MeV 0 eV 1.77 cm 1.77 cm Target Transportation - 2 2.4 m 2.17 m -1.62 m 1.69 MeV 0 eV 3.31 m 3.33 m Tracker Transportation - 3 2.91 m 2.63 m -1.45 m 1.69 MeV 0 eV 70.6 cm 4.03 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.77 mm 2.9 mm -2.4 m 1.84 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.5 cm -5.35 mm -2.41 m 1.84 MeV 0 eV 3.14 cm 3.14 cm Target Transportation - 2 1.52 m -43.5 cm -2.91 m 1.84 MeV 0 eV 1.63 m 1.67 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.72 mm 2.89 mm -2.41 m 2.92 MeV 0 eV 0 fm 0 fm Target initStep - 1 -7.11 mm 5.65 mm -2.4 m 482 keV 0 eV 7.52 mm 7.52 mm Target compt - 2 -8.34 mm 5.18 mm -2.4 m 0 eV 88 keV 1.34 mm 8.86 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 126 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.34 mm 5.18 mm -2.4 m 394 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.35 mm 5.18 mm -2.4 m 0 eV 394 keV 221 um 221 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 126 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.11 mm 5.65 mm -2.4 m 2.44 MeV 0 eV 0 fm 0 fm Target initStep - 1 -7.13 mm 5.62 mm -2.4 m 2.19 MeV 248 keV 200 um 200 um Target msc - 2 -7.15 mm 5.54 mm -2.4 m 2.07 MeV 116 keV 130 um 329 um Target msc - 3 -7.13 mm 5.48 mm -2.4 m 1.67 MeV 83.9 keV 69 um 398 um Target eBrem - 4 -7.13 mm 5.4 mm -2.4 m 1.58 MeV 91 keV 95.2 um 493 um Target msc - 5 -7.14 mm 5.37 mm -2.4 m 853 keV 127 keV 41.5 um 535 um Target eBrem - 6 -7.19 mm 5.36 mm -2.4 m 735 keV 118 keV 83.4 um 618 um Target msc - 7 -7.22 mm 5.36 mm -2.4 m 656 keV 78.8 keV 77.2 um 696 um Target msc - 8 -7.27 mm 5.37 mm -2.4 m 610 keV 45.9 keV 77.2 um 773 um Target msc - 9 -7.31 mm 5.34 mm -2.4 m 536 keV 74.1 keV 77.2 um 850 um Target msc - 10 -7.34 mm 5.35 mm -2.4 m 444 keV 92 keV 77.2 um 927 um Target msc - 11 -7.34 mm 5.31 mm -2.4 m 355 keV 88.9 keV 77.2 um 1 mm Target msc - 12 -7.37 mm 5.31 mm -2.4 m 242 keV 113 keV 77.2 um 1.08 mm Target msc - 13 -7.37 mm 5.32 mm -2.4 m 0 eV 242 keV 109 um 1.19 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 132, Parent ID = 129 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.14 mm 5.37 mm -2.4 m 601 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.76 mm 4.69 mm -2.4 m 601 keV 0 eV 1.02 mm 1.02 mm Target Transportation - 2 -2.19 m -2.4 m -95.9 cm 601 keV 0 eV 3.56 m 3.56 m Tracker Transportation - 3 -2.66 m -2.91 m -65.4 cm 601 keV 0 eV 75.4 cm 4.31 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 131, Parent ID = 129 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.13 mm 5.48 mm -2.4 m 317 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.98 mm 1.65 mm -2.4 m 0 eV 88 keV 5.66 mm 5.66 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 131 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.98 mm 1.65 mm -2.4 m 229 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.98 mm 1.65 mm -2.4 m 0 eV 229 keV 100 um 100 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 125, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.19 mm 1.59 mm -2.41 m 543 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.41 mm 1.6 mm -2.41 m 0 eV 88 keV 242 um 242 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 125 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.41 mm 1.6 mm -2.41 m 455 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.42 mm 1.6 mm -2.41 m 0 eV 455 keV 269 um 269 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -384 um 1.24 mm -2.41 m 7.81 MeV 0 eV 0 fm 0 fm Target initStep - 1 -771 um 5.09 mm -2.4 m 7.79 MeV 0 eV 7.81 mm 7.81 mm Target compt - 2 -1.09 mm 7.77 mm -2.4 m 7.79 MeV 0 eV 5.56 mm 1.34 cm Target Transportation - 3 -28.3 cm 2.4 m 1.94 m 7.79 MeV 0 eV 4.96 m 4.98 m Tracker Transportation - 4 -34.4 cm 2.91 m 2.86 m 7.79 MeV 0 eV 1.06 m 6.03 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 124 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -771 um 5.09 mm -2.4 m 11.9 keV 0 eV 0 fm 0 fm Target initStep - 1 -771 um 5.09 mm -2.4 m 0 eV 11.9 keV 904 nm 904 nm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 123, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -336 um 997 um -2.41 m 4.56 MeV 0 eV 0 fm 0 fm Target initStep - 1 -327 um 1.3 mm -2.41 m 0 eV 0 eV 1.13 mm 1.13 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 137, Parent ID = 123 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -327 um 1.3 mm -2.41 m 2.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 -524 um 1.38 mm -2.41 m 1.41 MeV 385 keV 427 um 427 um Target eBrem - 2 -619 um 1.2 mm -2.41 m 380 keV 341 keV 326 um 753 um Target eBrem - 3 -631 um 1.15 mm -2.41 m 0 eV 272 keV 162 um 915 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 141, Parent ID = 137 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -631 um 1.15 mm -2.41 m 513 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.27 mm 1.51 mm -2.41 m 242 keV 0 eV 742 um 742 um Target compt - 2 -1.58 mm 497 um -2.41 m 0 eV 88 keV 1.26 mm 2 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 141 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.58 mm 497 um -2.41 m 154 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.58 mm 493 um -2.41 m 0 eV 154 keV 54.6 um 54.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 141 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.27 mm 1.51 mm -2.41 m 271 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.28 mm 1.52 mm -2.41 m 0 eV 271 keV 129 um 129 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 137 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -631 um 1.15 mm -2.41 m 617 keV 0 eV 0 fm 0 fm Target initStep - 1 -350 um 984 um -2.41 m 539 keV 0 eV 435 um 435 um Target compt - 2 655 um -1.32 mm -2.41 m 259 keV 0 eV 3.11 mm 3.55 mm Target compt - 3 211 um -1.93 mm -2.41 m 252 keV 0 eV 947 um 4.49 mm Target compt - 4 6.1 um -2.17 mm -2.41 m 0 eV 88 keV 327 um 4.82 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.1 um -2.17 mm -2.41 m 164 keV 0 eV 0 fm 0 fm Target initStep - 1 8.36 um -2.17 mm -2.41 m 0 eV 164 keV 60.4 um 60.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 211 um -1.93 mm -2.41 m 7.45 keV 0 eV 0 fm 0 fm Target initStep - 1 211 um -1.93 mm -2.41 m 0 eV 7.45 keV 454 nm 454 nm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 655 um -1.32 mm -2.41 m 280 keV 0 eV 0 fm 0 fm Target initStep - 1 659 um -1.32 mm -2.41 m 0 eV 280 keV 135 um 135 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -350 um 984 um -2.41 m 78.1 keV 0 eV 0 fm 0 fm Target initStep - 1 -349 um 985 um -2.41 m 0 eV 78.1 keV 18.5 um 18.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 137 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -619 um 1.2 mm -2.41 m 685 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.59 mm -4.66 mm -2.41 m 0 eV 88 keV 1.14 cm 1.14 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 139 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.59 mm -4.66 mm -2.41 m 597 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.61 mm -4.66 mm -2.41 m 0 eV 597 keV 385 um 385 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 137 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -524 um 1.38 mm -2.41 m 406 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.2 mm 1.34 mm -2.41 m 0 eV 88 keV 1.69 mm 1.69 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 138 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.2 mm 1.34 mm -2.41 m 318 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm 1.34 mm -2.41 m 0 eV 318 keV 163 um 163 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 123 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -327 um 1.3 mm -2.41 m 1.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 -508 um 1.26 mm -2.41 m 149 keV 1.19 MeV 962 um 962 um Target eBrem - 2 -507 um 1.26 mm -2.41 m 0 eV 149 keV 52.2 um 1.01 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -119 um 657 um -2.41 m 1.04 MeV 0 eV 0 fm 0 fm Target initStep - 1 -560 um 3.41 mm -2.4 m 0 eV 88 keV 1.01 cm 1.01 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 122 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -560 um 3.41 mm -2.4 m 953 keV 0 eV 0 fm 0 fm Target initStep - 1 -534 um 3.45 mm -2.4 m 0 eV 953 keV 689 um 689 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 180 um 313 um -2.41 m 4.39 MeV 0 eV 0 fm 0 fm Target initStep - 1 130 um 341 um -2.41 m 0 eV 0 eV 265 um 265 um Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 152, Parent ID = 121 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 130 um 341 um -2.41 m 852 keV 0 eV 0 fm 0 fm Target initStep - 1 114 um 403 um -2.41 m 0 eV 852 keV 607 um 607 um Target eIoni - 2 114 um 403 um -2.41 m 0 eV 0 eV 0 fm 607 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 154, Parent ID = 152 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 114 um 403 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.16 mm -771 um -2.43 m 0 eV 88 keV 1.36 cm 1.36 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.16 mm -771 um -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.17 mm -778 um -2.43 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 153, Parent ID = 152 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 114 um 403 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 435 um 449 um -2.41 m 218 keV 0 eV 526 um 526 um Target compt - 2 77.5 um 32.9 um -2.41 m 0 eV 88 keV 554 um 1.08 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 153 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 77.5 um 32.9 um -2.41 m 130 keV 0 eV 0 fm 0 fm Target initStep - 1 75.6 um 35.2 um -2.41 m 0 eV 130 keV 42.1 um 42.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 153 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 435 um 449 um -2.41 m 293 keV 0 eV 0 fm 0 fm Target initStep - 1 442 um 452 um -2.41 m 0 eV 293 keV 145 um 145 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 151, Parent ID = 121 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 130 um 341 um -2.41 m 2.52 MeV 0 eV 0 fm 0 fm Target initStep - 1 -151 um 488 um -2.41 m 386 keV 835 keV 735 um 735 um Target eBrem - 2 -140 um 496 um -2.41 m 0 eV 386 keV 214 um 949 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 158, Parent ID = 151 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -151 um 488 um -2.41 m 1.29 MeV 0 eV 0 fm 0 fm Target initStep - 1 -5.69 mm 1.27 cm -2.4 m 1.29 MeV 0 eV 1.95 cm 1.95 cm Target Transportation - 2 -1.09 m 2.4 m 36.6 cm 1.29 MeV 0 eV 3.81 m 3.83 m Tracker Transportation - 3 -1.32 m 2.91 m 95.7 cm 1.29 MeV 0 eV 81.4 cm 4.64 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 292 um 273 um -2.42 m 2.63 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.01 mm 1.16 mm -2.4 m 2.63 MeV 0 eV 1.53 cm 1.53 cm Target Transportation - 2 -12.4 cm 4.81 cm -1.6 m 2.63 MeV 0 eV 81.1 cm 82.6 cm Tracker Transportation - 3 -15.5 cm 5.99 cm -1.4 m 2.63 MeV 0 eV 20.3 cm 1.03 m Chamber Transportation - 4 -24.6 cm 9.51 cm -80 cm 2.63 MeV 0 eV 60.8 cm 1.64 m Tracker Transportation - 5 -27.7 cm 10.7 cm -60 cm 2.63 MeV 0 eV 20.3 cm 1.84 m Chamber Transportation - 6 -36.8 cm 14.2 cm 0 fm 2.63 MeV 0 eV 60.8 cm 2.45 m Tracker Transportation - 7 -39.9 cm 15.4 cm 20 cm 2.63 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation - 8 -49 cm 18.9 cm 80 cm 2.63 MeV 0 eV 60.8 cm 3.26 m Tracker Transportation - 9 -52.1 cm 20.1 cm 1 m 2.63 MeV 0 eV 20.3 cm 3.46 m Chamber Transportation - 10 -61.3 cm 23.6 cm 1.6 m 2.63 MeV 0 eV 60.8 cm 4.07 m Tracker Transportation - 11 -64.3 cm 24.8 cm 1.8 m 2.63 MeV 0 eV 20.3 cm 4.27 m Chamber Transportation - 12 -73.5 cm 28.3 cm 2.4 m 2.63 MeV 0 eV 60.8 cm 4.88 m Tracker Transportation - 13 -81.3 cm 31.3 cm 2.91 m 2.63 MeV 0 eV 51.7 cm 5.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -16.5 um -15.4 um -2.42 m 12.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 79.1 um -15.4 um -2.41 m 0 eV 0 eV 9.76 mm 9.76 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 160, Parent ID = 119 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 79.1 um -15.4 um -2.41 m 872 keV 0 eV 0 fm 0 fm Target initStep - 1 98.3 um -12.1 um -2.41 m 0 eV 872 keV 625 um 625 um Target eIoni - 2 98.3 um -12.1 um -2.41 m 0 eV 0 eV 0 fm 625 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 162, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 98.3 um -12.1 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.03 mm -561 um -2.4 m 468 keV 0 eV 7.17 mm 7.17 mm Target compt - 2 -1.92 mm -739 um -2.4 m 468 keV 0 eV 994 um 8.17 mm Target Transportation - 3 9.29 cm -14.7 cm -1.6 m 468 keV 0 eV 81.9 cm 82.7 cm Tracker Transportation - 4 11.7 cm -18.4 cm -1.4 m 468 keV 0 eV 20.5 cm 1.03 m Chamber Transportation - 5 18.8 cm -29.4 cm -80 cm 468 keV 0 eV 61.4 cm 1.65 m Tracker Transportation - 6 21.1 cm -33 cm -60 cm 468 keV 0 eV 20.5 cm 1.85 m Chamber Transportation - 7 28.3 cm -44 cm 0 fm 468 keV 0 eV 61.4 cm 2.46 m Tracker Transportation - 8 30.6 cm -47.7 cm 20 cm 468 keV 0 eV 20.5 cm 2.67 m Chamber Transportation - 9 37.7 cm -58.7 cm 80 cm 468 keV 0 eV 61.4 cm 3.28 m Tracker Transportation - 10 40.1 cm -62.4 cm 1 m 468 keV 0 eV 20.5 cm 3.49 m Chamber Transportation - 11 47.2 cm -73.3 cm 1.6 m 468 keV 0 eV 61.4 cm 4.1 m Tracker Transportation - 12 49.6 cm -77 cm 1.8 m 468 keV 0 eV 20.5 cm 4.31 m Chamber Transportation - 13 56.7 cm -88 cm 2.4 m 468 keV 0 eV 61.4 cm 4.92 m Tracker Transportation - 14 62.8 cm -97.3 cm 2.91 m 468 keV 0 eV 52.2 cm 5.44 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 163, Parent ID = 162 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.03 mm -561 um -2.4 m 42.5 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.03 mm -561 um -2.4 m 0 eV 42.5 keV 6.86 um 6.86 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 161, Parent ID = 160 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 98.3 um -12.1 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.05 mm 232 um -2.41 m 0 eV 88 keV 3.19 mm 3.19 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 164, Parent ID = 161 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.05 mm 232 um -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 1.05 mm 222 um -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 119 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 79.1 um -15.4 um -2.41 m 10.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -305 um -303 um -2.41 m 7.86 MeV 1.61 MeV 1.13 mm 1.13 mm Target eBrem - 2 -1.18 mm -1.07 mm -2.41 m 5.4 MeV 1.84 MeV 1.5 mm 2.62 mm Target eBrem - 3 -1.6 mm -860 um -2.41 m 4.1 MeV 968 keV 752 um 3.38 mm Target eBrem - 4 -1.62 mm -859 um -2.41 m 3.58 MeV 140 keV 47.6 um 3.42 mm Target eBrem - 5 -1.89 mm -1.08 mm -2.41 m 1.17 MeV 645 keV 433 um 3.86 mm Target eBrem - 6 -1.98 mm -1.18 mm -2.41 m 289 keV 878 keV 552 um 4.41 mm Target eBrem - 7 -1.98 mm -1.18 mm -2.41 m 0 eV 289 keV 142 um 4.55 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 169, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.89 mm -1.08 mm -2.41 m 1.76 MeV 0 eV 0 fm 0 fm Target initStep - 1 -9.39 um -8.79 mm -2.41 m 0 eV 0 eV 9.47 mm 9.47 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 171, Parent ID = 169 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -9.39 um -8.79 mm -2.41 m 704 keV 0 eV 0 fm 0 fm Target initStep - 1 12.8 um -8.83 mm -2.41 m 0 eV 704 keV 478 um 478 um Target eIoni - 2 12.8 um -8.83 mm -2.41 m 0 eV 0 eV 0 fm 478 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 173, Parent ID = 171 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 12.8 um -8.83 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.42 mm -1.24 cm -2.42 m 377 keV 0 eV 6.66 mm 6.66 mm Target compt - 2 -7.57 mm -1.83 cm -2.42 m 0 eV 88 keV 7.85 mm 1.45 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 173 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.57 mm -1.83 cm -2.42 m 289 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.57 mm -1.83 cm -2.42 m 0 eV 289 keV 142 um 142 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 173 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.42 mm -1.24 cm -2.42 m 134 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.42 mm -1.24 cm -2.42 m 0 eV 134 keV 44.2 um 44.2 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 172, Parent ID = 171 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 12.8 um -8.83 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 3.35 mm -3.93 mm -2.4 m 211 keV 0 eV 9.12 mm 9.12 mm Target compt - 2 3.77 mm -4.31 mm -2.4 m 0 eV 88 keV 628 um 9.75 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 172 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.77 mm -4.31 mm -2.4 m 123 keV 0 eV 0 fm 0 fm Target initStep - 1 3.77 mm -4.31 mm -2.4 m 0 eV 123 keV 38.7 um 38.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 172 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.35 mm -3.93 mm -2.4 m 300 keV 0 eV 0 fm 0 fm Target initStep - 1 3.35 mm -3.92 mm -2.4 m 0 eV 300 keV 149 um 149 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 170, Parent ID = 169 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -9.39 um -8.79 mm -2.41 m 37.6 keV 0 eV 0 fm 0 fm Target initStep - 1 -9.53 um -8.79 mm -2.41 m 0 eV 37.6 keV 5.64 um 5.64 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 168, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.62 mm -859 um -2.41 m 387 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.14 mm -1.13 mm -2.41 m 0 eV 88 keV 722 um 722 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 168 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.14 mm -1.13 mm -2.41 m 299 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.14 mm -1.13 mm -2.41 m 0 eV 299 keV 149 um 149 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 167, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.6 mm -860 um -2.41 m 326 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.28 mm -616 um -2.4 m 0 eV 88 keV 1.97 mm 1.97 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 167 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.28 mm -616 um -2.4 m 238 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.27 mm -613 um -2.4 m 0 eV 238 keV 107 um 107 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 166, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.18 mm -1.07 mm -2.41 m 627 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.26 cm -3.99 mm -2.4 m 627 keV 0 eV 1.34 cm 1.34 cm Target Transportation - 2 -2.4 m -61.6 cm -1.02 m 627 keV 0 eV 2.82 m 2.84 m Tracker Transportation - 3 -2.91 m -74.7 cm -72.7 cm 627 keV 0 eV 60.3 cm 3.44 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 165, Parent ID = 159 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -305 um -303 um -2.41 m 1.02 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.86 mm -4.04 mm -2.4 m 852 keV 0 eV 6.11 mm 6.11 mm Target compt - 2 -2.98 mm -4.62 mm -2.4 m 852 keV 0 eV 2.69 mm 8.8 mm Target Transportation - 3 -1.51 m -78.6 cm 80 cm 852 keV 0 eV 3.62 m 3.63 m Tracker Transportation - 4 -1.54 m -80.1 cm 86.2 cm 852 keV 0 eV 7 cm 3.7 m Chamber Transportation - 5 -1.88 m -98.1 cm 1.6 m 852 keV 0 eV 83.5 cm 4.54 m Tracker Transportation - 6 -1.97 m -1.03 m 1.78 m 852 keV 0 eV 20.5 cm 4.74 m Chamber Transportation - 7 -2.26 m -1.18 m 2.4 m 852 keV 0 eV 70 cm 5.44 m Tracker Transportation - 8 -2.5 m -1.3 m 2.91 m 852 keV 0 eV 57.7 cm 6.02 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 165 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.86 mm -4.04 mm -2.4 m 172 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.86 mm -4.05 mm -2.4 m 0 eV 172 keV 64.9 um 64.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -16.6 um -13.3 um -2.42 m 16.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -585 um -538 um -2.4 m 16.8 MeV 0 eV 1.78 cm 1.78 cm Target Transportation - 2 -2.61 cm -2.41 cm -1.6 m 16.8 MeV 0 eV 80.1 cm 81.9 cm Tracker Transportation - 3 -3.25 cm -3 cm -1.4 m 16.8 MeV 0 eV 20 cm 1.02 m Chamber Transportation - 4 -5.17 cm -4.77 cm -80 cm 16.8 MeV 0 eV 60.1 cm 1.62 m Tracker Transportation - 5 -5.81 cm -5.36 cm -60 cm 16.8 MeV 0 eV 20 cm 1.82 m Chamber Transportation - 6 -7.72 cm -7.13 cm 0 fm 16.8 MeV 0 eV 60.1 cm 2.42 m Tracker Transportation - 7 -8.36 cm -7.72 cm 20 cm 16.8 MeV 0 eV 20 cm 2.62 m Chamber Transportation - 8 -10.3 cm -9.49 cm 80 cm 16.8 MeV 0 eV 60.1 cm 3.22 m Tracker Transportation - 9 -10.9 cm -10.1 cm 1 m 16.8 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 -12.8 cm -11.9 cm 1.6 m 16.8 MeV 0 eV 60.1 cm 4.02 m Tracker Transportation - 11 -13.5 cm -12.4 cm 1.8 m 16.8 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 -15.4 cm -14.2 cm 2.4 m 16.8 MeV 0 eV 60.1 cm 4.82 m Tracker Transportation - 13 -17 cm -15.7 cm 2.91 m 16.8 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.9 um 985 nm -2.42 m 4.92 MeV 0 eV 0 fm 0 fm Target initStep - 1 -454 um -31.8 um -2.4 m 4.92 MeV 0 eV 1.82 cm 1.82 cm Target Transportation - 2 -2.02 cm -1.47 mm -1.6 m 4.92 MeV 0 eV 80 cm 81.8 cm Tracker Transportation - 3 -2.51 cm -1.84 mm -1.4 m 4.92 MeV 0 eV 20 cm 1.02 m Chamber Transportation - 4 -3.99 cm -2.92 mm -80 cm 4.92 MeV 0 eV 60 cm 1.62 m Tracker Transportation - 5 -4.49 cm -3.28 mm -60 cm 4.92 MeV 0 eV 20 cm 1.82 m Chamber Transportation - 6 -5.97 cm -4.36 mm 0.114 fm 4.92 MeV 0 eV 60 cm 2.42 m Tracker Transportation - 7 -6.46 cm -4.72 mm 20 cm 4.92 MeV 0 eV 20 cm 2.62 m Chamber Transportation - 8 -7.94 cm -5.8 mm 80 cm 4.92 MeV 0 eV 60 cm 3.22 m Tracker Transportation - 9 -8.44 cm -6.16 mm 1 m 4.92 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 -9.92 cm -7.25 mm 1.6 m 4.92 MeV 0 eV 60 cm 4.02 m Tracker Transportation - 11 -10.4 cm -7.61 mm 1.8 m 4.92 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 -11.9 cm -8.69 mm 2.4 m 4.92 MeV 0 eV 60 cm 4.82 m Tracker Transportation - 13 -13.1 cm -9.61 mm 2.91 m 4.92 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.97 um -1.02 um -2.42 m 464 MeV 0 eV 0 fm 0 fm Target initStep - 1 -8.91 um -7.76 um -2.42 m 0 eV 0 eV 1.11 mm 1.11 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 182, Parent ID = 116 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.91 um -7.76 um -2.42 m 171 MeV 0 eV 0 fm 0 fm Target initStep - 1 8.22 um 7.31 um -2.42 m 167 MeV 1.5 MeV 1.16 mm 1.16 mm Target eBrem - 2 -73.8 um 66.1 um -2.41 m 163 MeV 2.65 MeV 2.13 mm 3.29 mm Target eBrem - 3 -51.7 um 149 um -2.41 m 104 MeV 9.81 MeV 1.45 mm 4.74 mm Target eBrem - 4 -24.6 um 193 um -2.41 m 103 MeV 765 keV 589 um 5.33 mm Target eBrem - 5 -24 um 195 um -2.41 m 101 MeV 26 keV 17.9 um 5.35 mm Target eBrem - 6 -1.23 um 232 um -2.41 m 99.1 MeV 1.73 MeV 1.27 mm 6.62 mm Target eBrem - 7 -10.2 um 303 um -2.41 m 89.2 MeV 777 keV 506 um 7.13 mm Target eBrem - 8 -15.9 um 327 um -2.41 m 88.6 MeV 376 keV 336 um 7.46 mm Target eBrem - 9 -22.2 um 373 um -2.41 m 87.1 MeV 1.11 MeV 824 um 8.29 mm Target eBrem - 10 -22.4 um 409 um -2.41 m 78.4 MeV 330 keV 207 um 8.49 mm Target eBrem - 11 -31.6 um 450 um -2.41 m 76.6 MeV 348 keV 257 um 8.75 mm Target eBrem - 12 -34.2 um 462 um -2.41 m 74.4 MeV 371 keV 60.6 um 8.81 mm Target eBrem - 13 -39.7 um 495 um -2.41 m 58.6 MeV 251 keV 216 um 9.03 mm Target eBrem - 14 13.3 um 985 um -2.41 m 53.2 MeV 3.08 MeV 2.21 mm 1.12 cm Target eBrem - 15 -97.2 um 1.12 mm -2.41 m 31.1 MeV 840 keV 594 um 1.18 cm Target eBrem - 16 -281 um 1.16 mm -2.41 m 29.7 MeV 1.04 MeV 674 um 1.25 cm Target eBrem - 17 -634 um 1.36 mm -2.4 m 27.4 MeV 1.24 MeV 1.06 mm 1.36 cm Target eBrem - 18 -1.96 mm 1.78 mm -2.4 m 24.5 MeV 2.37 MeV 1.9 mm 1.55 cm Target eBrem - 19 -2.73 mm 2.3 mm -2.4 m 13.8 MeV 1.7 MeV 1.27 mm 1.67 cm Target eBrem - 20 -3.11 mm 2.7 mm -2.4 m 10.2 MeV 2.7 MeV 2.26 mm 1.9 cm Target eBrem - 21 -3.05 mm 2.73 mm -2.4 m 9.32 MeV 127 keV 130 um 1.91 cm Target eBrem - 22 -2.92 mm 2.79 mm -2.4 m 9 MeV 320 keV 254 um 1.94 cm Target Transportation - 23 1.11 cm 3.06 cm -2.3 m 8.97 MeV 25.3 keV 10 cm 11.9 cm Tracker StepLimiter - 24 2.78 cm 5.87 cm -2.21 m 8.96 MeV 10.1 keV 10 cm 21.9 cm Tracker StepLimiter - 25 4.75 cm 8.64 cm -2.12 m 8.92 MeV 44.2 keV 10 cm 31.9 cm Tracker StepLimiter - 26 6.78 cm 11.1 cm -2.02 m 8.9 MeV 13.5 keV 10 cm 41.9 cm Tracker StepLimiter - 27 8.59 cm 13.5 cm -1.93 m 8.89 MeV 13.1 keV 10 cm 51.9 cm Tracker StepLimiter - 28 10.6 cm 15.8 cm -1.83 m 8.86 MeV 28.8 keV 10 cm 61.9 cm Tracker StepLimiter - 29 12.6 cm 17.9 cm -1.74 m 8.84 MeV 25.8 keV 10 cm 71.9 cm Tracker StepLimiter - 30 14.5 cm 20 cm -1.64 m 8.82 MeV 17.4 keV 10 cm 81.9 cm Tracker StepLimiter - 31 15.4 cm 20.9 cm -1.6 m 8.8 MeV 13.5 keV 4.14 cm 86.1 cm Tracker Transportation - 32 18.4 cm 24 cm -1.45 m 8.71 MeV 95.1 keV 15.7 cm 1.02 m Chamber Transportation - 33 21.4 cm 26.5 cm -1.36 m 8.69 MeV 16.4 keV 10 cm 1.12 m Tracker StepLimiter - 34 22.7 cm 27.9 cm -1.31 m 8.66 MeV 6.3 keV 4.79 cm 1.17 m Tracker eIoni - 35 25.8 cm 30.6 cm -1.22 m 8.65 MeV 16.3 keV 10 cm 1.27 m Tracker StepLimiter - 36 28.7 cm 33.3 cm -1.13 m 8.63 MeV 13.6 keV 10 cm 1.37 m Tracker StepLimiter - 37 31.7 cm 36.1 cm -1.04 m 8.62 MeV 18.7 keV 10 cm 1.47 m Tracker StepLimiter - 38 34.3 cm 38.8 cm -94.8 cm 8.59 MeV 23.6 keV 10 cm 1.57 m Tracker StepLimiter - 39 37.2 cm 41.5 cm -85.6 cm 8.58 MeV 15 keV 10 cm 1.67 m Tracker StepLimiter - 40 38.9 cm 43.3 cm -80 cm 8.56 MeV 20.3 keV 6.13 cm 1.73 m Tracker Transportation - 41 44.9 cm 49.8 cm -60 cm 8.39 MeV 165 keV 22.2 cm 1.95 m Chamber Transportation - 42 49.9 cm 51.9 cm -51.6 cm 8.38 MeV 16.4 keV 10 cm 2.05 m Tracker StepLimiter - 43 54.9 cm 53.8 cm -43.2 cm 8.36 MeV 12.9 keV 10 cm 2.15 m Tracker StepLimiter - 44 60 cm 55.8 cm -34.8 cm 8.34 MeV 18 keV 10 cm 2.25 m Tracker StepLimiter - 45 65.3 cm 57.1 cm -26.4 cm 8.33 MeV 15.8 keV 10 cm 2.35 m Tracker StepLimiter - 46 70.2 cm 58.4 cm -17.8 cm 8.3 MeV 25.1 keV 10 cm 2.45 m Tracker StepLimiter - 47 73.4 cm 59.4 cm -12.6 cm 8.23 MeV 9.48 keV 6.12 cm 2.51 m Tracker eIoni - 48 78.5 cm 61 cm -4.24 cm 8.22 MeV 15.5 keV 10 cm 2.61 m Tracker StepLimiter - 49 81.2 cm 61.8 cm 0 fm 8.21 MeV 4.69 keV 5.06 cm 2.66 m Tracker Transportation - 50 86.1 cm 62.6 cm 8.65 cm 5.39 MeV 65.6 keV 10 cm 2.76 m Chamber eIoni - 51 93.2 cm 67.6 cm 20 cm 5.32 MeV 71 keV 14.6 cm 2.91 m Chamber Transportation - 52 99 cm 70.8 cm 27.5 cm 5.28 MeV 34.3 keV 10 cm 3.01 m Tracker StepLimiter - 53 1.05 m 73.8 cm 34.9 cm 5.26 MeV 21.7 keV 10 cm 3.11 m Tracker StepLimiter - 54 1.11 m 76.9 cm 42.1 cm 5.24 MeV 21 keV 10 cm 3.21 m Tracker StepLimiter - 55 1.17 m 80.1 cm 49.5 cm 5.22 MeV 24.2 keV 10 cm 3.31 m Tracker StepLimiter - 56 1.18 m 80.4 cm 50.2 cm 5.21 MeV 1.84 keV 8.67 mm 3.31 m Tracker eBrem - 57 1.23 m 83.5 cm 57.7 cm 5.2 MeV 12.7 keV 10 cm 3.41 m Tracker StepLimiter - 58 1.29 m 86.9 cm 65.2 cm 5.18 MeV 18.1 keV 10 cm 3.51 m Tracker StepLimiter - 59 1.35 m 90.5 cm 72.5 cm 5.16 MeV 18.6 keV 10 cm 3.61 m Tracker StepLimiter - 60 1.41 m 92.9 cm 80 cm 5.15 MeV 13.1 keV 9.78 cm 3.71 m Tracker Transportation - 61 1.54 m 98.7 cm 94.5 cm 5.03 MeV 115 keV 20.9 cm 3.92 m Chamber Transportation - 62 1.57 m 1.05 m 1.02 m 5.02 MeV 17 keV 10 cm 4.02 m Tracker StepLimiter - 63 1.6 m 1.12 m 1.09 m 5 MeV 18.9 keV 10 cm 4.12 m Tracker StepLimiter - 64 1.63 m 1.17 m 1.15 m 4.72 MeV 11.9 keV 9.06 cm 4.21 m Tracker eIoni - 65 1.67 m 1.23 m 1.22 m 4.71 MeV 15.8 keV 10 cm 4.31 m Tracker StepLimiter - 66 1.71 m 1.29 m 1.29 m 4.7 MeV 9.18 keV 10 cm 4.41 m Tracker StepLimiter - 67 1.76 m 1.35 m 1.35 m 4.68 MeV 15.9 keV 10 cm 4.51 m Tracker StepLimiter - 68 1.8 m 1.41 m 1.42 m 4.67 MeV 17.5 keV 10 cm 4.61 m Tracker StepLimiter - 69 1.84 m 1.47 m 1.49 m 4.64 MeV 20.2 keV 10 cm 4.71 m Tracker StepLimiter - 70 1.89 m 1.52 m 1.56 m 4.62 MeV 20.7 keV 10 cm 4.81 m Tracker StepLimiter - 71 1.92 m 1.56 m 1.6 m 4.61 MeV 11.3 keV 6.3 cm 4.88 m Tracker Transportation - 72 1.97 m 1.61 m 1.67 m 4.54 MeV 75 keV 10 cm 4.98 m Chamber Transportation - 73 2.02 m 1.66 m 1.74 m 4.53 MeV 10.3 keV 10 cm 5.08 m Tracker StepLimiter - 74 2.07 m 1.7 m 1.82 m 4.51 MeV 19.7 keV 10 cm 5.18 m Tracker StepLimiter - 75 2.11 m 1.75 m 1.89 m 4.49 MeV 18.9 keV 10 cm 5.28 m Tracker StepLimiter - 76 2.17 m 1.8 m 1.96 m 4.47 MeV 19.7 keV 10 cm 5.38 m Tracker StepLimiter - 77 2.22 m 1.86 m 2.02 m 4.45 MeV 18 keV 10 cm 5.48 m Tracker StepLimiter - 78 2.27 m 1.91 m 2.09 m 4.44 MeV 11.4 keV 10 cm 5.58 m Tracker StepLimiter - 79 2.32 m 1.97 m 2.15 m 4.42 MeV 16.3 keV 10 cm 5.68 m Tracker StepLimiter - 80 2.38 m 2.02 m 2.22 m 4.4 MeV 28.4 keV 10 cm 5.78 m Tracker StepLimiter - 81 2.4 m 2.07 m 2.3 m 4.38 MeV 14.2 keV 10 cm 5.88 m Tracker StepLimiter - 82 2.4 m 2.07 m 2.3 m 4.38 MeV 5.07 eV 27.9 um 5.88 m Tracker Transportation - 83 2.56 m 2.42 m 2.91 m 4.25 MeV 134 keV 72.5 cm 6.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.63 m 1.17 m 1.15 m 262 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.62 m 1.27 m 1.14 m 236 keV 26.1 keV 10 cm 10 cm Tracker StepLimiter - 2 1.63 m 1.36 m 1.17 m 212 keV 24.4 keV 10 cm 20 cm Tracker StepLimiter - 3 1.58 m 1.43 m 1.16 m 181 keV 31 keV 9.48 cm 29.5 cm Tracker eIoni - 4 1.6 m 1.48 m 1.11 m 156 keV 24.8 keV 7.35 cm 36.8 cm Tracker eIoni - 5 1.62 m 1.53 m 1.09 m 139 keV 16.6 keV 5.76 cm 42.6 cm Tracker eIoni - 6 1.65 m 1.56 m 1.06 m 116 keV 23.6 keV 4.82 cm 47.4 cm Tracker eIoni - 7 1.67 m 1.58 m 1.07 m 103 keV 12.7 keV 3.52 cm 50.9 cm Tracker eIoni - 8 1.69 m 1.58 m 1.05 m 93.3 keV 9.72 keV 2.92 cm 53.9 cm Tracker eIoni - 9 1.7 m 1.59 m 1.03 m 85.3 keV 7.99 keV 2.48 cm 56.3 cm Tracker eIoni - 10 1.71 m 1.58 m 1.02 m 75.4 keV 9.91 keV 2.14 cm 58.5 cm Tracker eIoni - 11 1.71 m 1.58 m 1 m 66.2 keV 9.2 keV 1.76 cm 60.2 cm Tracker eIoni - 12 1.7 m 1.58 m 99.7 cm 59.9 keV 6.35 keV 1.43 cm 61.7 cm Tracker eIoni - 13 1.69 m 1.57 m 1 m 47.1 keV 12.8 keV 1.22 cm 62.9 cm Tracker eIoni - 14 1.68 m 1.58 m 1.01 m 41.3 keV 5.76 keV 8.47 mm 63.7 cm Tracker eIoni - 15 1.67 m 1.58 m 1.01 m 32.4 keV 8.89 keV 7.03 mm 64.4 cm Tracker eIoni - 16 1.67 m 1.58 m 1.01 m 12 keV 20.4 keV 5.11 mm 64.9 cm Tracker eIoni - 17 1.67 m 1.58 m 1.01 m 8.13 keV 3.9 keV 1.96 mm 65.1 cm Tracker eIoni - 18 1.67 m 1.58 m 1.01 m 0 eV 8.13 keV 1.41 mm 65.3 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 207, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.18 m 80.4 cm 50.2 cm 2.22 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.18 m 80.6 cm 50.5 cm 0 eV 543 eV 4.11 mm 4.11 mm Tracker phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 209, Parent ID = 207 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.18 m 80.6 cm 50.5 cm 1.68 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.18 m 80.6 cm 50.5 cm 0 eV 1.68 keV 119 um 119 um Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 86.1 cm 62.6 cm 8.65 cm 2.76 MeV 0 eV 0 fm 0 fm Chamber initStep - 1 99.6 cm 58.2 cm 20 cm 2.65 MeV 109 keV 20.1 cm 20.1 cm Chamber Transportation - 2 1.03 m 51.7 cm 26.7 cm 2.63 MeV 25.6 keV 10 cm 30.1 cm Tracker StepLimiter - 3 1.07 m 45.7 cm 33.3 cm 2.6 MeV 29.6 keV 10 cm 40.1 cm Tracker StepLimiter - 4 1.12 m 39.5 cm 39.8 cm 2.58 MeV 15.7 keV 10 cm 50.1 cm Tracker StepLimiter - 5 1.16 m 34.2 cm 47.3 cm 2.56 MeV 16.2 keV 10 cm 60.1 cm Tracker StepLimiter - 6 1.2 m 28.5 cm 54.1 cm 2.53 MeV 31.9 keV 10 cm 70.1 cm Tracker StepLimiter - 7 1.25 m 22.8 cm 60.9 cm 2.51 MeV 18.8 keV 10 cm 80.1 cm Tracker StepLimiter - 8 1.3 m 17.6 cm 67.9 cm 2.5 MeV 18.6 keV 10 cm 90.1 cm Tracker StepLimiter - 9 1.35 m 12.9 cm 74.9 cm 2.48 MeV 18 keV 10 cm 1 m Tracker StepLimiter - 10 1.39 m 8.8 cm 80 cm 2.47 MeV 11.5 keV 7.49 cm 1.08 m Tracker Transportation - 11 1.54 m -7.59 cm 98.9 cm 2.28 MeV 186 keV 36.1 cm 1.44 m Chamber Transportation - 12 1.54 m -4.07 cm 1.08 m 2.26 MeV 17.5 keV 10 cm 1.54 m Tracker StepLimiter - 13 1.55 m -1.27 cm 1.18 m 2.24 MeV 19.2 keV 10 cm 1.64 m Tracker StepLimiter - 14 1.56 m 1.78 cm 1.27 m 2.23 MeV 13.2 keV 10 cm 1.74 m Tracker StepLimiter - 15 1.56 m 5.44 cm 1.37 m 2.21 MeV 15.9 keV 10 cm 1.84 m Tracker StepLimiter - 16 1.58 m 8.45 cm 1.46 m 2.2 MeV 15.6 keV 10 cm 1.94 m Tracker StepLimiter - 17 1.59 m 11.5 cm 1.55 m 2.17 MeV 26.9 keV 10 cm 2.04 m Tracker StepLimiter - 18 1.6 m 12.4 cm 1.6 m 2.17 MeV 4.95 keV 4.78 cm 2.08 m Tracker Transportation - 19 1.63 m 15.8 cm 1.8 m 2.04 MeV 127 keV 24.7 cm 2.33 m Chamber Transportation - 20 1.54 m 18 cm 1.82 m 2.02 MeV 14.6 keV 10 cm 2.43 m Tracker StepLimiter - 21 1.44 m 20.3 cm 1.85 m 2 MeV 23 keV 10 cm 2.53 m Tracker StepLimiter - 22 1.4 m 21.6 cm 1.86 m 1.98 MeV 5.04 keV 4.09 cm 2.57 m Tracker eIoni - 23 1.31 m 25.2 cm 1.88 m 1.97 MeV 13.1 keV 10 cm 2.67 m Tracker StepLimiter - 24 1.22 m 27.6 cm 1.91 m 1.95 MeV 15.6 keV 10 cm 2.77 m Tracker StepLimiter - 25 1.13 m 30.2 cm 1.93 m 1.94 MeV 13 keV 10 cm 2.87 m Tracker StepLimiter - 26 1.04 m 34.6 cm 1.96 m 1.93 MeV 11.8 keV 10 cm 2.97 m Tracker StepLimiter - 27 96.2 cm 39.7 cm 1.99 m 1.91 MeV 15 keV 10 cm 3.07 m Tracker StepLimiter - 28 91.7 cm 42.3 cm 2 m 1.88 MeV 12.6 keV 5.38 cm 3.13 m Tracker eIoni - 29 83.5 cm 46 cm 2.05 m 1.85 MeV 22.8 keV 10 cm 3.23 m Tracker StepLimiter - 30 76.3 cm 50.6 cm 2.1 m 1.83 MeV 20 keV 10 cm 3.33 m Tracker StepLimiter - 31 71.2 cm 56.6 cm 2.16 m 1.81 MeV 23.8 keV 10 cm 3.43 m Tracker StepLimiter - 32 65.5 cm 61.6 cm 2.22 m 1.79 MeV 24.3 keV 10 cm 3.53 m Tracker StepLimiter - 33 61.6 cm 67.3 cm 2.3 m 1.77 MeV 21.1 keV 10 cm 3.63 m Tracker StepLimiter - 34 58.7 cm 71.8 cm 2.38 m 1.75 MeV 13.7 keV 10 cm 3.73 m Tracker StepLimiter - 35 57.8 cm 72.9 cm 2.4 m 1.75 MeV 3.6 keV 2.39 cm 3.75 m Tracker Transportation - 36 34.3 cm 1.04 m 2.91 m 1.65 MeV 103 keV 65.8 cm 4.41 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 211, Parent ID = 206 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 91.7 cm 42.3 cm 2 m 20.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 91.7 cm 42.4 cm 2 m 18 keV 2.46 keV 3.08 mm 3.08 mm Tracker eIoni - 2 91.8 cm 42.4 cm 2 m 11.3 keV 6.67 keV 2.73 mm 5.81 mm Tracker eIoni - 3 92 cm 42.4 cm 2 m 0 eV 11.3 keV 1.87 mm 7.68 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 206 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.4 m 21.6 cm 1.86 m 17.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.4 m 21.4 cm 1.85 m 13 keV 4.39 keV 2.65 mm 2.65 mm Tracker eIoni - 2 1.4 m 21.4 cm 1.85 m 7.3 keV 5.68 keV 2.09 mm 4.74 mm Tracker eIoni - 3 1.4 m 21.4 cm 1.85 m 1.11 keV 6.19 keV 1.25 mm 5.99 mm Tracker eIoni - 4 1.4 m 21.4 cm 1.85 m 0 eV 1.11 keV 66 um 6.06 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 73.4 cm 59.4 cm -12.6 cm 59.6 keV 0 eV 0 fm 0 fm Tracker initStep - 1 73.1 cm 58.9 cm -11.7 cm 49.8 keV 9.8 keV 1.21 cm 1.21 cm Tracker eIoni - 2 72.6 cm 58.5 cm -11 cm 44.3 keV 5.54 keV 9.23 mm 2.13 cm Tracker eIoni - 3 72.1 cm 59 cm -10.7 cm 39.6 keV 4.61 keV 7.75 mm 2.9 cm Tracker eIoni - 4 71.5 cm 59.1 cm -10.5 cm 35.8 keV 3.87 keV 6.66 mm 3.57 cm Tracker eIoni - 5 71.3 cm 59 cm -9.99 cm 22.3 keV 13.5 keV 5.82 mm 4.15 cm Tracker eIoni - 6 71.2 cm 59 cm -9.71 cm 18.1 keV 4.2 keV 3.35 mm 4.49 cm Tracker eIoni - 7 71.3 cm 59.1 cm -9.48 cm 14.4 keV 3.65 keV 2.75 mm 4.76 cm Tracker eIoni - 8 71.4 cm 59.1 cm -9.34 cm 4.02 keV 10.4 keV 2.27 mm 4.99 cm Tracker eIoni - 9 71.4 cm 59.1 cm -9.34 cm 0 eV 4.02 keV 475 um 5.04 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 22.7 cm 27.9 cm -1.31 m 21.9 keV 0 eV 0 fm 0 fm Tracker initStep - 1 22.7 cm 27.7 cm -1.31 m 18.9 keV 2.95 keV 3.29 mm 3.29 mm Tracker eIoni - 2 22.6 cm 27.5 cm -1.31 m 15.1 keV 3.77 keV 2.87 mm 6.15 mm Tracker eIoni - 3 22.5 cm 27.4 cm -1.31 m 9.4 keV 5.74 keV 2.36 mm 8.51 mm Tracker eIoni - 4 22.5 cm 27.5 cm -1.31 m 4.54 keV 4.85 keV 1.61 mm 1.01 cm Tracker eIoni - 5 22.5 cm 27.5 cm -1.31 m 0 eV 4.54 keV 583 um 1.07 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 203, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.05 mm 2.73 mm -2.4 m 798 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.92 mm 2.79 mm -2.4 m 798 keV 0 eV 246 um 246 um Target Transportation - 2 2.4 m 1.26 m 1.15 m 798 keV 0 eV 4.47 m 4.47 m Tracker Transportation - 3 2.91 m 1.53 m 1.9 m 798 keV 0 eV 94.8 cm 5.42 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 202, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.11 mm 2.7 mm -2.4 m 836 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.97 mm 2.74 mm -2.4 m 836 keV 0 eV 339 um 339 um Target Transportation - 2 1.08 m 28 cm 0 fm 836 keV 0 eV 2.65 m 2.65 m Tracker Transportation - 3 1.1 m 28.6 cm 5.42 cm 836 keV 0 eV 5.98 cm 2.71 m Chamber Transportation - 4 1.44 m 37.2 cm 80 cm 836 keV 0 eV 82.3 cm 3.53 m Tracker Transportation - 5 1.53 m 39.6 cm 1 m 836 keV 0 eV 22.1 cm 3.75 m Chamber Transportation - 6 1.8 m 46.5 cm 1.6 m 836 keV 0 eV 66.2 cm 4.41 m Tracker Transportation - 7 1.89 m 48.8 cm 1.8 m 836 keV 0 eV 22.1 cm 4.63 m Chamber Transportation - 8 2.16 m 55.7 cm 2.4 m 836 keV 0 eV 66.2 cm 5.3 m Tracker Transportation - 9 2.39 m 61.6 cm 2.91 m 836 keV 0 eV 56.3 cm 5.86 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 201, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.73 mm 2.3 mm -2.4 m 9.05 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.49 mm 3.73 mm -2.4 m 9.05 MeV 0 eV 2.73 mm 2.73 mm Target Transportation - 2 -1.28 m 2.4 m 1.3 m 9.05 MeV 0 eV 4.59 m 4.59 m Tracker Transportation - 3 -1.55 m 2.91 m 2.09 m 9.05 MeV 0 eV 97.7 cm 5.57 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 200, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.96 mm 1.78 mm -2.4 m 535 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.69 mm 3.72 mm -2.4 m 535 keV 0 eV 3.99 mm 3.99 mm Target Transportation - 2 -1.86 m 2.08 m 86 cm 283 keV 0 eV 4.29 m 4.29 m Tracker compt - 3 -92.7 cm 2.4 m 1.41 m 283 keV 0 eV 1.13 m 5.42 m Tracker Transportation - 4 57.5 cm 2.91 m 2.29 m 283 keV 0 eV 1.82 m 7.23 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 212, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.86 m 2.08 m 86 cm 252 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.92 m 2.14 m 89.8 cm 228 keV 24.6 keV 10 cm 10 cm Tracker StepLimiter - 2 -2.01 m 2.18 m 91.1 cm 202 keV 25.5 keV 10 cm 20 cm Tracker StepLimiter - 3 -2.04 m 2.25 m 94.2 cm 178 keV 23.8 keV 8.82 cm 28.8 cm Tracker eIoni - 4 -2.07 m 2.31 m 92.6 cm 160 keV 18.6 keV 7.19 cm 36 cm Tracker eIoni - 5 -2.12 m 2.34 m 92 cm 134 keV 26 keV 6 cm 42 cm Tracker eIoni - 6 -2.13 m 2.34 m 96.2 cm 119 keV 15.1 keV 4.5 cm 46.5 cm Tracker eIoni - 7 -2.13 m 2.33 m 99.6 cm 108 keV 10.7 keV 3.67 cm 50.2 cm Tracker eIoni - 8 -2.13 m 2.31 m 1.02 m 94.6 keV 13.3 keV 3.15 cm 53.3 cm Tracker eIoni - 9 -2.13 m 2.3 m 1.04 m 87.1 keV 7.54 keV 2.54 cm 55.9 cm Tracker eIoni - 10 -2.14 m 2.31 m 1.06 m 76.1 keV 10.9 keV 2.21 cm 58.1 cm Tracker eIoni - 11 -2.15 m 2.32 m 1.07 m 68.7 keV 7.4 keV 1.78 cm 59.9 cm Tracker eIoni - 12 -2.14 m 2.32 m 1.08 m 57.1 keV 11.6 keV 1.51 cm 61.4 cm Tracker eIoni - 13 -2.14 m 2.33 m 1.09 m 52.7 keV 4.47 keV 1.13 cm 62.5 cm Tracker eIoni - 14 -2.14 m 2.33 m 1.1 m 44 keV 8.65 keV 1.01 cm 63.5 cm Tracker eIoni - 15 -2.14 m 2.32 m 1.1 m 37 keV 7.04 keV 7.69 mm 64.3 cm Tracker eIoni - 16 -2.14 m 2.32 m 1.1 m 29 keV 7.99 keV 6.09 mm 64.9 cm Tracker eIoni - 17 -2.14 m 2.31 m 1.1 m 26 keV 3.04 keV 4.47 mm 65.3 cm Tracker eIoni - 18 -2.14 m 2.31 m 1.09 m 20.3 keV 5.64 keV 3.95 mm 65.7 cm Tracker eIoni - 19 -2.14 m 2.31 m 1.09 m 14 keV 6.31 keV 3.07 mm 66 cm Tracker eIoni - 20 -2.14 m 2.31 m 1.09 m 11 keV 2.98 keV 2.22 mm 66.3 cm Tracker eIoni - 21 -2.15 m 2.31 m 1.09 m 6.92 keV 4.12 keV 1.84 mm 66.4 cm Tracker eIoni - 22 -2.15 m 2.31 m 1.09 m 0 eV 6.92 keV 1.17 mm 66.6 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 199, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -634 um 1.36 mm -2.4 m 999 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.52 mm 2.93 mm -2.4 m 999 keV 0 eV 5.39 mm 5.39 mm Target Transportation - 2 -2.4 m 1.31 m 1.14 m 999 keV 0 eV 4.47 m 4.48 m Tracker Transportation - 3 -2.91 m 1.59 m 1.89 m 999 keV 0 eV 95.1 cm 5.43 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 198, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -281 um 1.16 mm -2.41 m 347 keV 0 eV 0 fm 0 fm Target initStep - 1 -943 um 1.65 mm -2.4 m 0 eV 88 keV 1.56 mm 1.56 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 198 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -943 um 1.65 mm -2.4 m 258 keV 0 eV 0 fm 0 fm Target initStep - 1 -949 um 1.66 mm -2.4 m 0 eV 258 keV 121 um 121 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 197, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -97.2 um 1.12 mm -2.41 m 21.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1 mm 1.71 mm -2.4 m 21.3 MeV 0 eV 5.97 mm 5.97 mm Target Transportation - 2 -12.4 cm 8.25 cm -1.6 m 21.3 MeV 0 eV 81.3 cm 81.9 cm Tracker Transportation - 3 -15.5 cm 10.3 cm -1.4 m 21.3 MeV 0 eV 20.3 cm 1.02 m Chamber Transportation - 4 -24.7 cm 16.3 cm -80 cm 21.3 MeV 0 eV 61 cm 1.63 m Tracker Transportation - 5 -27.8 cm 18.4 cm -60 cm 21.3 MeV 0 eV 20.3 cm 1.84 m Chamber Transportation - 6 -37.1 cm 24.4 cm 0 fm 21.3 MeV 0 eV 61 cm 2.45 m Tracker Transportation - 7 -40.1 cm 26.4 cm 20 cm 21.3 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation - 8 -49.4 cm 32.5 cm 80 cm 21.3 MeV 0 eV 61 cm 3.26 m Tracker Transportation - 9 -52.5 cm 34.5 cm 1 m 21.3 MeV 0 eV 20.3 cm 3.46 m Chamber Transportation - 10 -61.7 cm 40.6 cm 1.6 m 21.3 MeV 0 eV 61 cm 4.07 m Tracker Transportation - 11 -64.8 cm 42.6 cm 1.8 m 21.3 MeV 0 eV 20.3 cm 4.28 m Chamber Transportation - 12 -74 cm 48.7 cm 2.4 m 21.3 MeV 0 eV 61 cm 4.89 m Tracker Transportation - 13 -81.9 cm 53.8 cm 2.91 m 21.3 MeV 0 eV 51.9 cm 5.41 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 196, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 13.3 um 985 um -2.41 m 2.35 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm 2.09 mm -2.4 m 2.35 MeV 0 eV 6.65 mm 6.65 mm Target Transportation - 2 -15.3 cm 14 cm -1.6 m 2.35 MeV 0 eV 82.6 cm 83.2 cm Tracker Transportation - 3 -19 cm 17.4 cm -1.4 m 2.35 MeV 0 eV 20.6 cm 1.04 m Chamber Transportation - 4 -30.4 cm 27.7 cm -80 cm 2.35 MeV 0 eV 61.9 cm 1.66 m Tracker Transportation - 5 -34.2 cm 31.2 cm -60 cm 2.35 MeV 0 eV 20.6 cm 1.86 m Chamber Transportation - 6 -45.5 cm 41.5 cm 0 fm 2.35 MeV 0 eV 61.9 cm 2.48 m Tracker Transportation - 7 -49.3 cm 44.9 cm 20 cm 2.35 MeV 0 eV 20.6 cm 2.69 m Chamber Transportation - 8 -60.7 cm 55.2 cm 80 cm 2.35 MeV 0 eV 61.9 cm 3.31 m Tracker Transportation - 9 -64.5 cm 58.7 cm 1 m 2.35 MeV 0 eV 20.6 cm 3.52 m Chamber Transportation - 10 -75.8 cm 69 cm 1.6 m 2.35 MeV 0 eV 61.9 cm 4.14 m Tracker Transportation - 11 -79.6 cm 72.4 cm 1.8 m 2.35 MeV 0 eV 20.6 cm 4.34 m Chamber Transportation - 12 -91 cm 82.7 cm 2.4 m 2.35 MeV 0 eV 61.9 cm 4.96 m Tracker Transportation - 13 -1.01 m 91.5 cm 2.91 m 2.35 MeV 0 eV 52.6 cm 5.49 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 195, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -39.7 um 495 um -2.41 m 15.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -272 um 1.34 mm -2.4 m 0 eV 0 eV 6.99 mm 6.99 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 215, Parent ID = 195 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -272 um 1.34 mm -2.4 m 12.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -105 um 1.19 mm -2.4 m 11.8 MeV 734 keV 743 um 743 um Target msc - 2 -300 um 942 um -2.4 m 11 MeV 839 keV 743 um 1.49 mm Target msc - 3 -312 um 921 um -2.4 m 10.6 MeV 42.6 keV 57.6 um 1.54 mm Target eBrem - 4 -367 um 790 um -2.4 m 10.3 MeV 288 keV 319 um 1.86 mm Target Transportation - 5 -2.3 cm -4.52 cm -2.31 m 10.3 MeV 14.4 keV 10 cm 10.2 cm Tracker StepLimiter - 6 -4.39 cm -9.23 cm -2.23 m 10.3 MeV 15.1 keV 10 cm 20.2 cm Tracker StepLimiter - 7 -6.29 cm -13.9 cm -2.14 m 10.2 MeV 28.3 keV 10 cm 30.2 cm Tracker StepLimiter - 8 -7.95 cm -18.3 cm -2.05 m 10.2 MeV 20.7 keV 10 cm 40.2 cm Tracker StepLimiter - 9 -9.77 cm -23 cm -1.97 m 10.2 MeV 19 keV 10 cm 50.2 cm Tracker StepLimiter - 10 -11.6 cm -27.6 cm -1.88 m 10.2 MeV 15.9 keV 10 cm 60.2 cm Tracker StepLimiter - 11 -13.5 cm -32.3 cm -1.79 m 10.2 MeV 20.2 keV 10 cm 70.2 cm Tracker StepLimiter - 12 -15.6 cm -37.1 cm -1.71 m 10.2 MeV 13.5 keV 10 cm 80.2 cm Tracker StepLimiter - 13 -17.6 cm -41.9 cm -1.62 m 10.1 MeV 35.7 keV 10 cm 90.2 cm Tracker StepLimiter - 14 -19.6 cm -46.6 cm -1.54 m 10.1 MeV 14.3 keV 10 cm 1 m Tracker StepLimiter - 15 -21.9 cm -51.6 cm -1.45 m 10.1 MeV 19.7 keV 10 cm 1.1 m Tracker StepLimiter - 16 -23.8 cm -56.4 cm -1.37 m 10.1 MeV 15.4 keV 10 cm 1.2 m Tracker StepLimiter - 17 -26 cm -61.4 cm -1.28 m 10 MeV 22.2 keV 10 cm 1.3 m Tracker StepLimiter - 18 -28.2 cm -66.1 cm -1.2 m 10 MeV 19.2 keV 10 cm 1.4 m Tracker StepLimiter - 19 -30.2 cm -70.6 cm -1.11 m 10 MeV 17.3 keV 10 cm 1.5 m Tracker StepLimiter - 20 -32.6 cm -75.1 cm -1.03 m 10 MeV 10.8 keV 10 cm 1.6 m Tracker StepLimiter - 21 -34.9 cm -79.4 cm -94.2 cm 9.95 MeV 16.7 keV 9.76 cm 1.7 m Tracker eIoni - 22 -37.4 cm -84 cm -85.7 cm 9.93 MeV 18.8 keV 10 cm 1.8 m Tracker StepLimiter - 23 -39.9 cm -88.3 cm -77 cm 9.91 MeV 21.8 keV 10 cm 1.9 m Tracker StepLimiter - 24 -42.4 cm -92.9 cm -68.5 cm 9.88 MeV 25.5 keV 10 cm 2 m Tracker StepLimiter - 25 -44.9 cm -97.4 cm -59.9 cm 9.87 MeV 16 keV 10 cm 2.1 m Tracker StepLimiter - 26 -47.9 cm -1.02 m -51.4 cm 9.85 MeV 17.6 keV 10 cm 2.2 m Tracker StepLimiter - 27 -50.8 cm -1.06 m -43 cm 9.82 MeV 26.6 keV 10 cm 2.3 m Tracker StepLimiter - 28 -54 cm -1.11 m -34.6 cm 9.81 MeV 12.4 keV 10 cm 2.4 m Tracker StepLimiter - 29 -57.3 cm -1.15 m -26.2 cm 9.79 MeV 23.8 keV 10 cm 2.5 m Tracker StepLimiter - 30 -57.4 cm -1.15 m -26.1 cm 9.73 MeV 153 eV 1.93 mm 2.5 m Tracker eIoni - 31 -60.6 cm -1.19 m -17.6 cm 9.72 MeV 11.8 keV 10 cm 2.6 m Tracker StepLimiter - 32 -63.7 cm -1.23 m -9.04 cm 9.7 MeV 19.8 keV 10 cm 2.7 m Tracker StepLimiter - 33 -67.1 cm -1.28 m -6.15 mm 9.69 MeV 16.1 keV 10 cm 2.8 m Tracker StepLimiter - 34 -70.5 cm -1.32 m 7.82 cm 9.66 MeV 23.4 keV 10 cm 2.9 m Tracker StepLimiter - 35 -73.6 cm -1.36 m 16.4 cm 9.65 MeV 17.3 keV 10 cm 3 m Tracker StepLimiter - 36 -76.9 cm -1.4 m 25 cm 9.63 MeV 16.3 keV 10 cm 3.1 m Tracker StepLimiter - 37 -80.1 cm -1.44 m 33.6 cm 9.61 MeV 18.6 keV 10 cm 3.2 m Tracker StepLimiter - 38 -83.3 cm -1.48 m 42.3 cm 9.59 MeV 17.7 keV 10 cm 3.3 m Tracker StepLimiter - 39 -85.5 cm -1.5 m 48.5 cm 9.55 MeV 12.9 keV 7.15 cm 3.37 m Tracker eIoni - 40 -88.5 cm -1.54 m 57.3 cm 9.54 MeV 13.1 keV 10 cm 3.47 m Tracker StepLimiter - 41 -91.3 cm -1.58 m 66.2 cm 9.52 MeV 24.5 keV 10 cm 3.57 m Tracker StepLimiter - 42 -94.5 cm -1.61 m 75.1 cm 9.5 MeV 21.6 keV 10 cm 3.67 m Tracker StepLimiter - 43 -97.7 cm -1.64 m 83.9 cm 9.47 MeV 23.3 keV 10 cm 3.77 m Tracker StepLimiter - 44 -1 m -1.68 m 92.8 cm 9.46 MeV 15.1 keV 10 cm 3.87 m Tracker StepLimiter - 45 -1.01 m -1.69 m 95.5 cm 9.34 MeV 3.47 keV 3.13 cm 3.9 m Tracker eIoni - 46 -1.04 m -1.73 m 1.05 m 9.32 MeV 14.1 keV 10 cm 4 m Tracker StepLimiter - 47 -1.07 m -1.76 m 1.13 m 9.31 MeV 17.3 keV 10 cm 4.1 m Tracker StepLimiter - 48 -1.08 m -1.78 m 1.18 m 9.29 MeV 9.76 keV 5.38 cm 4.16 m Tracker eBrem - 49 -1.11 m -1.82 m 1.27 m 9.26 MeV 37.6 keV 10 cm 4.26 m Tracker StepLimiter - 50 -1.13 m -1.85 m 1.37 m 9.24 MeV 18.9 keV 10 cm 4.36 m Tracker StepLimiter - 51 -1.16 m -1.88 m 1.46 m 9.22 MeV 19.3 keV 10 cm 4.46 m Tracker StepLimiter - 52 -1.18 m -1.9 m 1.55 m 9.2 MeV 20.6 keV 10 cm 4.56 m Tracker StepLimiter - 53 -1.2 m -1.92 m 1.6 m 9.19 MeV 11.7 keV 5.36 cm 4.61 m Tracker Transportation - 54 -1.24 m -1.96 m 1.8 m 9.07 MeV 114 keV 21.2 cm 4.82 m Chamber Transportation - 55 -1.26 m -1.99 m 1.89 m 9.05 MeV 18.2 keV 10 cm 4.92 m Tracker StepLimiter - 56 -1.29 m -2.01 m 1.99 m 9.04 MeV 14.9 keV 10 cm 5.02 m Tracker StepLimiter - 57 -1.31 m -2.04 m 2.08 m 9.02 MeV 14.2 keV 10 cm 5.12 m Tracker StepLimiter - 58 -1.34 m -2.06 m 2.17 m 9.01 MeV 14.8 keV 10 cm 5.22 m Tracker StepLimiter - 59 -1.36 m -2.09 m 2.27 m 8.99 MeV 19.2 keV 10 cm 5.32 m Tracker StepLimiter - 60 -1.38 m -2.11 m 2.36 m 8.98 MeV 13.1 keV 10 cm 5.42 m Tracker StepLimiter - 61 -1.39 m -2.12 m 2.4 m 8.97 MeV 3.55 keV 3.85 cm 5.46 m Tracker Transportation - 62 -1.51 m -2.27 m 2.91 m 8.86 MeV 113 keV 54.5 cm 6.01 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 221, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.08 m -1.78 m 1.18 m 2.03 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.08 m -1.79 m 1.19 m 0 eV 403 eV 1.2 cm 1.2 cm Tracker phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 221 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.08 m -1.79 m 1.19 m 1.63 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.08 m -1.79 m 1.19 m 0 eV 1.63 keV 113 um 113 um Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 m -1.69 m 95.5 cm 116 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.05 m -1.7 m 96.3 cm 107 keV 8.89 keV 3.55 cm 3.55 cm Tracker eIoni - 2 -1.06 m -1.71 m 98.4 cm 95.7 keV 11.6 keV 3.12 cm 6.67 cm Tracker eIoni - 3 -1.08 m -1.71 m 1 m 86.1 keV 9.68 keV 2.59 cm 9.26 cm Tracker eIoni - 4 -1.08 m -1.7 m 1.02 m 72 keV 14 keV 2.17 cm 11.4 cm Tracker eIoni - 5 -1.09 m -1.69 m 1.04 m 66 keV 6.03 keV 1.64 cm 13.1 cm Tracker eIoni - 6 -1.1 m -1.7 m 1.05 m 56.3 keV 9.73 keV 1.42 cm 14.5 cm Tracker eIoni - 7 -1.1 m -1.69 m 1.05 m 51 keV 5.22 keV 1.11 cm 15.6 cm Tracker eIoni - 8 -1.11 m -1.69 m 1.06 m 35.3 keV 15.8 keV 9.59 mm 16.6 cm Tracker eIoni - 9 -1.12 m -1.69 m 1.06 m 32.5 keV 2.76 keV 5.71 mm 17.1 cm Tracker eIoni - 10 -1.11 m -1.68 m 1.06 m 23.3 keV 9.24 keV 5.13 mm 17.6 cm Tracker eIoni - 11 -1.11 m -1.68 m 1.06 m 18.7 keV 4.54 keV 3.5 mm 18 cm Tracker eIoni - 12 -1.11 m -1.68 m 1.06 m 15.5 keV 3.24 keV 2.85 mm 18.3 cm Tracker eIoni - 13 -1.12 m -1.68 m 1.06 m 12 keV 3.53 keV 2.41 mm 18.5 cm Tracker eIoni - 14 -1.12 m -1.68 m 1.07 m 8.8 keV 3.17 keV 1.96 mm 18.7 cm Tracker eIoni - 15 -1.12 m -1.68 m 1.07 m 5.13 keV 3.67 keV 1.52 mm 18.9 cm Tracker eIoni - 16 -1.12 m -1.68 m 1.07 m 0 eV 5.13 keV 721 um 18.9 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -85.5 cm -1.5 m 48.5 cm 24.9 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -85.6 cm -1.5 m 48.4 cm 24.2 keV 729 eV 1.56 mm 1.56 mm Tracker msc - 2 -85.6 cm -1.5 m 48.3 cm 20.2 keV 4.05 keV 1.56 mm 3.12 mm Tracker msc - 3 -85.5 cm -1.5 m 48.3 cm 14.5 keV 5.63 keV 1.56 mm 4.68 mm Tracker msc - 4 -85.4 cm -1.51 m 48.2 cm 11.7 keV 2.86 keV 1.56 mm 6.24 mm Tracker msc - 5 -85.3 cm -1.51 m 48.3 cm 7.83 keV 3.84 keV 1.56 mm 7.79 mm Tracker msc - 6 -85.3 cm -1.51 m 48.3 cm 0 eV 7.83 keV 1.35 mm 9.15 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -57.4 cm -1.15 m -26.1 cm 53.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -56.5 cm -1.15 m -25.7 cm 45.4 keV 8.03 keV 1.03 cm 1.03 cm Tracker eIoni - 2 -56.2 cm -1.14 m -25.1 cm 39.7 keV 5.69 keV 8.03 mm 1.83 cm Tracker eIoni - 3 -56 cm -1.14 m -24.5 cm 32.3 keV 7.35 keV 6.67 mm 2.5 cm Tracker eIoni - 4 -55.8 cm -1.14 m -24.1 cm 26.8 keV 5.55 keV 5.1 mm 3.01 cm Tracker eIoni - 5 -55.6 cm -1.14 m -23.8 cm 23.1 keV 3.69 keV 4.1 mm 3.42 cm Tracker eIoni - 6 -55.3 cm -1.14 m -23.7 cm 20.3 keV 2.81 keV 3.48 mm 3.76 cm Tracker eIoni - 7 -55.1 cm -1.15 m -23.8 cm 14.3 keV 5.94 keV 3.06 mm 4.07 cm Tracker eIoni - 8 -54.9 cm -1.15 m -23.7 cm 10.8 keV 3.55 keV 2.26 mm 4.3 cm Tracker eIoni - 9 -54.9 cm -1.14 m -23.7 cm 2.44 keV 8.37 keV 1.81 mm 4.48 cm Tracker eIoni - 10 -54.9 cm -1.14 m -23.7 cm 0 eV 2.44 keV 211 um 4.5 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 217, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -34.9 cm -79.4 cm -94.2 cm 29.1 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -34.8 cm -79.2 cm -93.9 cm 25.7 keV 3.45 keV 4.49 mm 4.49 mm Tracker eIoni - 2 -34.8 cm -78.8 cm -93.9 cm 22.3 keV 3.34 keV 3.9 mm 8.39 mm Tracker eIoni - 3 -34.9 cm -78.5 cm -93.9 cm 19.3 keV 3.03 keV 3.35 mm 1.17 cm Tracker eIoni - 4 -34.9 cm -78.3 cm -93.7 cm 14.8 keV 4.53 keV 2.93 mm 1.47 cm Tracker eIoni - 5 -34.7 cm -78.3 cm -93.6 cm 9.02 keV 5.74 keV 2.31 mm 1.7 cm Tracker eIoni - 6 -34.8 cm -78.3 cm -93.7 cm 4.25 keV 4.77 keV 1.55 mm 1.85 cm Tracker eIoni - 7 -34.8 cm -78.4 cm -93.7 cm 0 eV 4.25 keV 522 um 1.91 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 216, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -312 um 921 um -2.4 m 337 keV 0 eV 0 fm 0 fm Target initStep - 1 -370 um 773 um -2.4 m 337 keV 0 eV 314 um 314 um Target Transportation - 2 -64.6 cm -1.65 m 64 cm 333 keV 0 eV 3.52 m 3.52 m Tracker compt - 3 -98.7 cm -2.4 m 1.61 m 333 keV 0 eV 1.27 m 4.79 m Tracker Transportation - 4 -1.22 m -2.91 m 2.28 m 333 keV 0 eV 87 cm 5.66 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 223, Parent ID = 216 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -64.6 cm -1.65 m 64 cm 3.34 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -64.6 cm -1.65 m 64.1 cm 0 eV 3.34 keV 351 um 351 um Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 195 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -272 um 1.34 mm -2.4 m 1.97 MeV 0 eV 0 fm 0 fm Target initStep - 1 -133 um 1.4 mm -2.4 m 56.2 keV 1.92 MeV 1.39 mm 1.39 mm Target eIoni - 2 -132 um 1.4 mm -2.4 m 0 eV 56.2 keV 10.8 um 1.41 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 194, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -34.2 um 462 um -2.41 m 1.79 MeV 0 eV 0 fm 0 fm Target initStep - 1 -109 um 748 um -2.41 m 0 eV 0 eV 1.61 mm 1.61 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 225, Parent ID = 194 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -109 um 748 um -2.41 m 505 keV 0 eV 0 fm 0 fm Target initStep - 1 -121 um 757 um -2.41 m 0 eV 505 keV 308 um 308 um Target eIoni - 2 -121 um 757 um -2.41 m 0 eV 0 eV 0 fm 308 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 227, Parent ID = 225 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -121 um 757 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 8.92 mm -3.45 mm -2.41 m 0 eV 88 keV 1.01 cm 1.01 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 228, Parent ID = 227 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 8.92 mm -3.45 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 8.94 mm -3.45 mm -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 226, Parent ID = 225 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -121 um 757 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.34 mm 1.32 mm -2.41 m 242 keV 0 eV 1.36 mm 1.36 mm Target compt - 2 -1.27 mm 1.13 mm -2.41 m 0 eV 88 keV 576 um 1.94 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 230, Parent ID = 226 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.27 mm 1.13 mm -2.41 m 154 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.27 mm 1.13 mm -2.41 m 0 eV 154 keV 54.8 um 54.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 229, Parent ID = 226 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.34 mm 1.32 mm -2.41 m 269 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.35 mm 1.33 mm -2.41 m 0 eV 269 keV 128 um 128 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 224, Parent ID = 194 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -109 um 748 um -2.41 m 267 keV 0 eV 0 fm 0 fm Target initStep - 1 -106 um 748 um -2.41 m 0 eV 267 keV 126 um 126 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -31.6 um 450 um -2.41 m 1.44 MeV 0 eV 0 fm 0 fm Target initStep - 1 -300 um 2.29 mm -2.4 m 1.44 MeV 0 eV 9.05 mm 9.05 mm Target Transportation - 2 -2.45 cm 16.8 cm -1.6 m 1.44 MeV 0 eV 81.7 cm 82.6 cm Tracker Transportation - 3 -3.06 cm 21 cm -1.4 m 1.44 MeV 0 eV 20.4 cm 1.03 m Chamber Transportation - 4 -4.87 cm 33.4 cm -80 cm 1.44 MeV 0 eV 61.3 cm 1.64 m Tracker Transportation - 5 -5.48 cm 37.6 cm -60 cm 1.44 MeV 0 eV 20.4 cm 1.85 m Chamber Transportation - 6 -7.3 cm 50 cm 0 fm 1.44 MeV 0 eV 61.3 cm 2.46 m Tracker Transportation - 7 -7.9 cm 54.2 cm 20 cm 1.44 MeV 0 eV 20.4 cm 2.67 m Chamber Transportation - 8 -9.72 cm 66.6 cm 80 cm 1.44 MeV 0 eV 61.3 cm 3.28 m Tracker Transportation - 9 -10.3 cm 70.8 cm 1 m 1.44 MeV 0 eV 20.4 cm 3.48 m Chamber Transportation - 10 -12.1 cm 83.2 cm 1.6 m 1.44 MeV 0 eV 61.3 cm 4.1 m Tracker Transportation - 11 -12.7 cm 87.4 cm 1.8 m 1.44 MeV 0 eV 20.4 cm 4.3 m Chamber Transportation - 12 -14.6 cm 99.8 cm 2.4 m 1.44 MeV 0 eV 61.3 cm 4.91 m Tracker Transportation - 13 -16.1 cm 1.1 m 2.91 m 1.44 MeV 0 eV 52.1 cm 5.43 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -22.4 um 409 um -2.41 m 8.43 MeV 0 eV 0 fm 0 fm Target initStep - 1 -94.5 um 827 um -2.41 m 0 eV 0 eV 2.15 mm 2.15 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 232, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -94.5 um 827 um -2.41 m 6.62 MeV 0 eV 0 fm 0 fm Target initStep - 1 -91.3 um 766 um -2.41 m 5.65 MeV 574 keV 533 um 533 um Target eBrem - 2 -82.8 um 1.09 mm -2.41 m 0 eV 1.31 MeV 1.17 mm 1.71 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 235, Parent ID = 232 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -82.8 um 1.09 mm -2.41 m 3.65 MeV 0 eV 0 fm 0 fm Target initStep - 1 261 um 2.85 mm -2.4 m 3.65 MeV 0 eV 5.87 mm 5.87 mm Target Transportation - 2 9.88 cm 50.5 cm -80 cm 3.65 MeV 0 eV 1.68 m 1.69 m Tracker Transportation - 3 11.1 cm 56.7 cm -60 cm 3.65 MeV 0 eV 21 cm 1.9 m Chamber Transportation - 4 14.8 cm 75.6 cm 0 fm 3.65 MeV 0 eV 63 cm 2.53 m Tracker Transportation - 5 16 cm 81.8 cm 20 cm 3.65 MeV 0 eV 21 cm 2.74 m Chamber Transportation - 6 19.7 cm 1.01 m 80 cm 3.65 MeV 0 eV 63 cm 3.37 m Tracker Transportation - 7 21 cm 1.07 m 1 m 3.65 MeV 0 eV 21 cm 3.58 m Chamber Transportation - 8 24.7 cm 1.26 m 1.6 m 3.65 MeV 0 eV 63 cm 4.21 m Tracker Transportation - 9 25.9 cm 1.32 m 1.8 m 3.65 MeV 0 eV 21 cm 4.42 m Chamber Transportation - 10 29.6 cm 1.51 m 2.4 m 3.65 MeV 0 eV 63 cm 5.05 m Tracker Transportation - 11 32.7 cm 1.67 m 2.91 m 3.65 MeV 0 eV 53.5 cm 5.58 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 232 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -82.8 um 1.09 mm -2.41 m 1.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 6.94 mm -888 um -2.4 m 1.7 MeV 0 eV 9.19 mm 9.19 mm Target Transportation - 2 2.4 m -67.6 cm -49.5 cm 1.7 MeV 0 eV 3.13 m 3.14 m Tracker Transportation - 3 2.91 m -82 cm -8.88 cm 1.7 MeV 0 eV 66.8 cm 3.81 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 233, Parent ID = 232 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -91.3 um 766 um -2.41 m 404 keV 0 eV 0 fm 0 fm Target initStep - 1 817 um 259 um -2.4 m 188 keV 0 eV 2.79 mm 2.79 mm Target compt - 2 793 um 329 um -2.4 m 0 eV 88 keV 76 um 2.87 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 233 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 793 um 329 um -2.4 m 100 keV 0 eV 0 fm 0 fm Target initStep - 1 791 um 330 um -2.4 m 0 eV 100 keV 27.9 um 27.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 236, Parent ID = 233 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 817 um 259 um -2.4 m 216 keV 0 eV 0 fm 0 fm Target initStep - 1 819 um 256 um -2.4 m 0 eV 216 keV 92.3 um 92.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 231, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -94.5 um 827 um -2.41 m 788 keV 0 eV 0 fm 0 fm Target initStep - 1 -93.5 um 818 um -2.41 m 0 eV 788 keV 547 um 547 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -22.2 um 373 um -2.41 m 324 keV 0 eV 0 fm 0 fm Target initStep - 1 -43.5 um 1.07 mm -2.4 m 189 keV 0 eV 4.64 mm 4.64 mm Target compt - 2 -170 um 1.05 mm -2.4 m 0 eV 88 keV 129 um 4.77 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -170 um 1.05 mm -2.4 m 101 keV 0 eV 0 fm 0 fm Target initStep - 1 -172 um 1.05 mm -2.4 m 0 eV 101 keV 28.3 um 28.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 238, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -43.5 um 1.07 mm -2.4 m 135 keV 0 eV 0 fm 0 fm Target initStep - 1 -42 um 1.07 mm -2.4 m 0 eV 135 keV 44.6 um 44.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 190, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -15.9 um 327 um -2.41 m 298 keV 0 eV 0 fm 0 fm Target initStep - 1 3.96 um 350 um -2.41 m 187 keV 0 eV 589 um 589 um Target compt - 2 49 um 392 um -2.41 m 0 eV 88 keV 61.6 um 650 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 190 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 49 um 392 um -2.41 m 99.5 keV 0 eV 0 fm 0 fm Target initStep - 1 49 um 393 um -2.41 m 0 eV 99.5 keV 27.5 um 27.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 190 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.96 um 350 um -2.41 m 110 keV 0 eV 0 fm 0 fm Target initStep - 1 3.15 um 350 um -2.41 m 0 eV 110 keV 32.3 um 32.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 189, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -10.2 um 303 um -2.41 m 9.09 MeV 0 eV 0 fm 0 fm Target initStep - 1 -34.4 um 638 um -2.41 m 0 eV 0 eV 3.18 mm 3.18 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 243, Parent ID = 189 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -34.4 um 638 um -2.41 m 5.73 MeV 0 eV 0 fm 0 fm Target initStep - 1 -919 um 968 um -2.41 m 3.65 MeV 2.08 MeV 1.72 mm 1.72 mm Target eBrem - 2 -1.78 mm 1.42 mm -2.41 m 1.02 MeV 1.81 MeV 1.85 mm 3.57 mm Target eBrem - 3 -1.96 mm 1.4 mm -2.41 m 456 keV 560 keV 543 um 4.11 mm Target eBrem - 4 -1.96 mm 1.43 mm -2.41 m 0 eV 456 keV 268 um 4.38 mm Target eIoni - 5 -1.96 mm 1.43 mm -2.41 m 0 eV 0 eV 0 fm 4.38 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 246, Parent ID = 243 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.96 mm 1.43 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -126 um 1.73 mm -2.41 m 412 keV 0 eV 1.86 mm 1.86 mm Target compt - 2 3.16 mm 359 um -2.4 m 236 keV 0 eV 3.9 mm 5.76 mm Target compt - 3 3.19 mm 357 um -2.4 m 0 eV 88 keV 53.8 um 5.81 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 249, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.19 mm 357 um -2.4 m 148 keV 0 eV 0 fm 0 fm Target initStep - 1 3.19 mm 359 um -2.4 m 0 eV 148 keV 51.7 um 51.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 248, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.16 mm 359 um -2.4 m 176 keV 0 eV 0 fm 0 fm Target initStep - 1 3.16 mm 358 um -2.4 m 0 eV 176 keV 67.2 um 67.2 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 247, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -126 um 1.73 mm -2.41 m 99.4 keV 0 eV 0 fm 0 fm Target initStep - 1 -125 um 1.73 mm -2.41 m 0 eV 99.4 keV 27.5 um 27.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 245, Parent ID = 243 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.96 mm 1.43 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -9.84 mm 141 um -2.41 m 0 eV 88 keV 7.99 mm 7.99 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -9.84 mm 141 um -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -9.86 mm 143 um -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 244, Parent ID = 243 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.78 mm 1.42 mm -2.41 m 822 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.35 mm -200 um -2.41 m 245 keV 0 eV 6.44 mm 6.44 mm Target compt - 2 -4.89 mm -928 um -2.41 m 0 eV 88 keV 1.56 mm 8 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 244 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.89 mm -928 um -2.41 m 157 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.89 mm -925 um -2.41 m 0 eV 157 keV 56.6 um 56.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 244 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.35 mm -200 um -2.41 m 577 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.36 mm -202 um -2.41 m 0 eV 577 keV 368 um 368 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 242, Parent ID = 189 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -34.4 um 638 um -2.41 m 2.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 -64.7 um 738 um -2.41 m 1.57 MeV 167 keV 164 um 164 um Target eBrem - 2 -190 um 915 um -2.41 m 448 keV 1.13 MeV 1.19 mm 1.35 mm Target eIoni - 3 -182 um 907 um -2.41 m 0 eV 448 keV 263 um 1.61 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 253, Parent ID = 242 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -64.7 um 738 um -2.41 m 597 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.11 mm 6.18 mm -2.41 m 257 keV 0 eV 7.08 mm 7.08 mm Target compt - 2 866 um 8.14 mm -2.4 m 0 eV 88 keV 5.71 mm 1.28 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 255, Parent ID = 253 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 866 um 8.14 mm -2.4 m 169 keV 0 eV 0 fm 0 fm Target initStep - 1 869 um 8.14 mm -2.4 m 0 eV 169 keV 63.1 um 63.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 254, Parent ID = 253 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.11 mm 6.18 mm -2.41 m 340 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.12 mm 6.19 mm -2.41 m 0 eV 340 keV 179 um 179 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 188, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.23 um 232 um -2.41 m 515 keV 0 eV 0 fm 0 fm Target initStep - 1 -16.5 um 312 um -2.41 m 420 keV 0 eV 803 um 803 um Target compt - 2 4.82 mm 4.02 mm -2.4 m 330 keV 0 eV 9.2 mm 1 cm Target compt - 3 4.06 mm 6.17 mm -2.4 m 213 keV 0 eV 3.18 mm 1.32 cm Target compt - 4 6.38 mm 6.47 mm -2.4 m 213 keV 0 eV 2.57 mm 1.58 cm Target Transportation - 5 2.4 m 31.6 cm -1.3 m 213 keV 0 eV 2.65 m 2.67 m Tracker Transportation - 6 2.91 m 38.2 cm -1.06 m 213 keV 0 eV 56.5 cm 3.23 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 258, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.06 mm 6.17 mm -2.4 m 117 keV 0 eV 0 fm 0 fm Target initStep - 1 4.06 mm 6.17 mm -2.4 m 0 eV 117 keV 35.4 um 35.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 257, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.82 mm 4.02 mm -2.4 m 90.1 keV 0 eV 0 fm 0 fm Target initStep - 1 4.82 mm 4.02 mm -2.4 m 0 eV 90.1 keV 23.4 um 23.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 256, Parent ID = 188 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -16.5 um 312 um -2.41 m 95.2 keV 0 eV 0 fm 0 fm Target initStep - 1 -17.7 um 312 um -2.41 m 0 eV 95.2 keV 25.6 um 25.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -24 um 195 um -2.41 m 1.21 MeV 0 eV 0 fm 0 fm Target initStep - 1 277 um 1.16 mm -2.4 m 1.21 MeV 0 eV 1.23 cm 1.23 cm Target Transportation - 2 1.99 cm 6.45 cm -1.6 m 1.21 MeV 0 eV 80.3 cm 81.5 cm Tracker Transportation - 3 2.48 cm 8.03 cm -1.4 m 1.21 MeV 0 eV 20.1 cm 1.02 m Chamber Transportation - 4 3.96 cm 12.8 cm -80 cm 1.21 MeV 0 eV 60.2 cm 1.62 m Tracker Transportation - 5 4.45 cm 14.4 cm -60 cm 1.21 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation - 6 5.92 cm 19.1 cm 0.114 fm 1.21 MeV 0 eV 60.2 cm 2.42 m Tracker Transportation - 7 6.41 cm 20.7 cm 20 cm 1.21 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation - 8 7.89 cm 25.4 cm 80 cm 1.21 MeV 0 eV 60.2 cm 3.22 m Tracker Transportation - 9 8.38 cm 27 cm 1 m 1.21 MeV 0 eV 20.1 cm 3.42 m Chamber Transportation - 10 9.85 cm 31.8 cm 1.6 m 1.21 MeV 0 eV 60.2 cm 4.03 m Tracker Transportation - 11 10.3 cm 33.4 cm 1.8 m 1.21 MeV 0 eV 20.1 cm 4.23 m Chamber Transportation - 12 11.8 cm 38.1 cm 2.4 m 1.21 MeV 0 eV 60.2 cm 4.83 m Tracker Transportation - 13 13.1 cm 42.1 cm 2.91 m 1.21 MeV 0 eV 51.2 cm 5.34 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -24.6 um 193 um -2.41 m 618 keV 0 eV 0 fm 0 fm Target initStep - 1 222 um 936 um -2.4 m 0 eV 88 keV 1.16 cm 1.16 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 259, Parent ID = 186 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 222 um 936 um -2.4 m 530 keV 0 eV 0 fm 0 fm Target initStep - 1 229 um 938 um -2.4 m 0 eV 530 keV 330 um 330 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 185, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -51.7 um 149 um -2.41 m 49.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 275 um 809 um -2.4 m 49.3 MeV 0 eV 1.29 cm 1.29 cm Target Transportation - 2 2.06 cm 4.19 cm -1.6 m 49.3 MeV 0 eV 80.1 cm 81.4 cm Tracker Transportation - 3 2.57 cm 5.22 cm -1.4 m 49.3 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 4.09 cm 8.31 cm -80 cm 49.3 MeV 0 eV 60.1 cm 1.62 m Tracker Transportation - 5 4.6 cm 9.34 cm -60 cm 49.3 MeV 0 eV 20 cm 1.82 m Chamber Transportation - 6 6.13 cm 12.4 cm 0 fm 49.3 MeV 0 eV 60.1 cm 2.42 m Tracker Transportation - 7 6.64 cm 13.5 cm 20 cm 49.3 MeV 0 eV 20 cm 2.62 m Chamber Transportation - 8 8.16 cm 16.5 cm 80 cm 49.3 MeV 0 eV 60.1 cm 3.22 m Tracker Transportation - 9 8.67 cm 17.6 cm 1 m 49.3 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 10.2 cm 20.7 cm 1.6 m 49.3 MeV 0 eV 60.1 cm 4.02 m Tracker Transportation - 11 10.7 cm 21.7 cm 1.8 m 49.3 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 12.2 cm 24.8 cm 2.4 m 49.3 MeV 0 eV 60.1 cm 4.82 m Tracker Transportation - 13 13.5 cm 27.4 cm 2.91 m 49.3 MeV 0 eV 51.1 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 184, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -73.8 um 66.1 um -2.41 m 1.25 MeV 0 eV 0 fm 0 fm Target initStep - 1 -59.7 um 422 um -2.4 m 1.25 MeV 0 eV 1.43 cm 1.43 cm Target Transportation - 2 733 um 2.03 cm -1.6 m 1.25 MeV 0 eV 80 cm 81.5 cm Tracker Transportation - 3 931 um 2.53 cm -1.4 m 1.25 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 1.52 mm 4.03 cm -80 cm 1.25 MeV 0 eV 60 cm 1.61 m Tracker Transportation - 5 1.72 mm 4.53 cm -60 cm 1.25 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 2.32 mm 6.02 cm 0.114 fm 1.25 MeV 0 eV 60 cm 2.42 m Tracker Transportation - 7 2.52 mm 6.52 cm 20 cm 1.25 MeV 0 eV 20 cm 2.62 m Chamber Transportation - 8 3.11 mm 8.01 cm 80 cm 1.25 MeV 0 eV 60 cm 3.22 m Tracker Transportation - 9 3.31 mm 8.51 cm 1 m 1.25 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 3.9 mm 10 cm 1.6 m 1.25 MeV 0 eV 60 cm 4.02 m Tracker Transportation - 11 4.1 mm 10.5 cm 1.8 m 1.25 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 4.69 mm 12 cm 2.4 m 1.25 MeV 0 eV 60 cm 4.82 m Tracker Transportation - 13 5.2 mm 13.3 cm 2.91 m 1.25 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 183, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 8.22 um 7.31 um -2.42 m 2.53 MeV 0 eV 0 fm 0 fm Target initStep - 1 -107 um 226 um -2.4 m 2.53 MeV 0 eV 1.64 cm 1.64 cm Target Transportation - 2 -5.71 mm 1.09 cm -1.6 m 2.53 MeV 0 eV 80 cm 81.7 cm Tracker Transportation - 3 -7.12 mm 1.36 cm -1.4 m 2.53 MeV 0 eV 20 cm 1.02 m Chamber Transportation - 4 -1.13 cm 2.16 cm -80 cm 2.53 MeV 0 eV 60 cm 1.62 m Tracker Transportation - 5 -1.27 cm 2.42 cm -60 cm 2.53 MeV 0 eV 20 cm 1.82 m Chamber Transportation - 6 -1.69 cm 3.23 cm 0 fm 2.53 MeV 0 eV 60 cm 2.42 m Tracker Transportation - 7 -1.83 cm 3.49 cm 20 cm 2.53 MeV 0 eV 20 cm 2.62 m Chamber Transportation - 8 -2.25 cm 4.29 cm 80 cm 2.53 MeV 0 eV 60 cm 3.22 m Tracker Transportation - 9 -2.39 cm 4.56 cm 1 m 2.53 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 -2.81 cm 5.36 cm 1.6 m 2.53 MeV 0 eV 60 cm 4.02 m Tracker Transportation - 11 -2.95 cm 5.63 cm 1.8 m 2.53 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 -3.37 cm 6.43 cm 2.4 m 2.53 MeV 0 eV 60 cm 4.82 m Tracker Transportation - 13 -3.73 cm 7.11 cm 2.91 m 2.53 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 116 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.91 um -7.76 um -2.42 m 292 MeV 0 eV 0 fm 0 fm Target initStep - 1 -8.96 um -8.12 um -2.42 m 290 MeV 359 keV 293 um 293 um Target eBrem - 2 11.7 um -64.4 um -2.42 m 288 MeV 2.33 MeV 1.67 mm 1.97 mm Target eBrem - 3 715 nm -74 um -2.42 m 144 MeV 702 keV 522 um 2.49 mm Target eBrem - 4 -3.19 um -72.2 um -2.41 m 129 MeV 322 keV 261 um 2.75 mm Target eBrem - 5 -3.46 um -72.3 um -2.41 m 124 MeV 12.2 keV 28.7 um 2.78 mm Target eBrem - 6 -4.46 um -75.8 um -2.41 m 119 MeV 167 keV 146 um 2.93 mm Target eBrem - 7 -22.9 um -127 um -2.41 m 118 MeV 1.18 MeV 1.04 mm 3.97 mm Target eBrem - 8 -40.7 um -128 um -2.41 m 116 MeV 376 keV 275 um 4.24 mm Target eBrem - 9 -44.2 um -130 um -2.41 m 114 MeV 41.1 keV 43.2 um 4.29 mm Target eBrem - 10 -134 um -131 um -2.41 m 113 MeV 1.3 MeV 954 um 5.24 mm Target eBrem - 11 -350 um -151 um -2.41 m 110 MeV 1.58 MeV 1.25 mm 6.49 mm Target eBrem - 12 -395 um -148 um -2.41 m 109 MeV 266 keV 197 um 6.69 mm Target eBrem - 13 -898 um 24.2 um -2.41 m 54.5 MeV 10 MeV 3.81 mm 1.05 cm Target eBrem - 14 -980 um 55.1 um -2.41 m 51.6 MeV 597 keV 394 um 1.09 cm Target eBrem - 15 -991 um 61.9 um -2.41 m 50.4 MeV 95.5 keV 63.7 um 1.1 cm Target eBrem - 16 -1.32 mm 60 um -2.4 m 30.1 MeV 3.01 MeV 2.19 mm 1.31 cm Target eBrem - 17 -1.35 mm 81.9 um -2.4 m 28.3 MeV 165 keV 134 um 1.33 cm Target eBrem - 18 -1.75 mm 307 um -2.4 m 19 MeV 2.3 MeV 1.04 mm 1.43 cm Target eBrem - 19 -1.96 mm 400 um -2.4 m 17.9 MeV 636 keV 472 um 1.48 cm Target eBrem - 20 -1.96 mm 134 um -2.4 m 15 MeV 2.92 MeV 2.25 mm 1.7 cm Target eBrem - 21 -2.23 mm 92 um -2.4 m 11.3 MeV 822 keV 734 um 1.78 cm Target eBrem - 22 -2.55 mm 156 um -2.4 m 10.7 MeV 585 keV 513 um 1.83 cm Target Transportation - 23 -7.25 cm -6.46 mm -2.33 m 10.7 MeV 19.7 keV 10 cm 11.8 cm Tracker StepLimiter - 24 -14.2 cm -1.38 cm -2.26 m 10.7 MeV 13.5 keV 10 cm 21.8 cm Tracker StepLimiter - 25 -21.3 cm -2.06 cm -2.19 m 10.7 MeV 19.8 keV 10 cm 31.8 cm Tracker StepLimiter - 26 -28.1 cm -2.53 cm -2.11 m 10.7 MeV 16.4 keV 10 cm 41.8 cm Tracker StepLimiter - 27 -34.9 cm -2.79 cm -2.04 m 10.6 MeV 19.1 keV 10 cm 51.8 cm Tracker StepLimiter - 28 -41.9 cm -2.84 cm -1.97 m 10.6 MeV 13.5 keV 10 cm 61.8 cm Tracker StepLimiter - 29 -42.7 cm -2.85 cm -1.96 m 10.6 MeV 3.47 keV 1.14 cm 63 cm Tracker eIoni - 30 -49.8 cm -2.81 cm -1.89 m 10.6 MeV 30.5 keV 10 cm 73 cm Tracker StepLimiter - 31 -57 cm -2.86 cm -1.82 m 10.6 MeV 14.4 keV 10 cm 83 cm Tracker StepLimiter - 32 -64.1 cm -3.03 cm -1.75 m 10.5 MeV 15.3 keV 10 cm 93 cm Tracker StepLimiter - 33 -71 cm -2.8 cm -1.68 m 10.5 MeV 13.7 keV 10 cm 1.03 m Tracker StepLimiter - 34 -78 cm -2.8 cm -1.61 m 10.5 MeV 27.3 keV 10 cm 1.13 m Tracker StepLimiter - 35 -85.1 cm -3.03 cm -1.54 m 10.5 MeV 19.3 keV 10 cm 1.23 m Tracker StepLimiter - 36 -92.3 cm -3.53 cm -1.47 m 10.5 MeV 18.1 keV 10 cm 1.33 m Tracker StepLimiter - 37 -99.7 cm -4.05 cm -1.4 m 10.4 MeV 18.4 keV 10 cm 1.43 m Tracker StepLimiter - 38 -1.07 m -4.62 cm -1.34 m 10.4 MeV 18 keV 10 cm 1.53 m Tracker StepLimiter - 39 -1.15 m -5.32 cm -1.27 m 10.4 MeV 21 keV 10 cm 1.63 m Tracker StepLimiter - 40 -1.22 m -6.17 cm -1.21 m 10.4 MeV 14.4 keV 10 cm 1.73 m Tracker StepLimiter - 41 -1.3 m -6.79 cm -1.14 m 10.4 MeV 17 keV 10 cm 1.83 m Tracker StepLimiter - 42 -1.37 m -7.4 cm -1.07 m 10.3 MeV 24.6 keV 10 cm 1.93 m Tracker StepLimiter - 43 -1.45 m -7.87 cm -1.01 m 10.3 MeV 19 keV 10 cm 2.03 m Tracker StepLimiter - 44 -1.52 m -8.02 cm -93.8 cm 10.3 MeV 15.7 keV 10 cm 2.13 m Tracker StepLimiter - 45 -1.59 m -8.31 cm -87 cm 10.3 MeV 17.2 keV 10 cm 2.23 m Tracker StepLimiter - 46 -1.67 m -8.62 cm -80.2 cm 10.3 MeV 14.6 keV 10 cm 2.33 m Tracker StepLimiter - 47 -1.74 m -9.19 cm -73.6 cm 10.3 MeV 17.7 keV 10 cm 2.43 m Tracker StepLimiter - 48 -1.82 m -9.5 cm -67.2 cm 10.3 MeV 12.3 keV 10 cm 2.53 m Tracker StepLimiter - 49 -1.89 m -9.83 cm -60.5 cm 10.2 MeV 18.8 keV 10 cm 2.63 m Tracker StepLimiter - 50 -1.97 m -10.4 cm -53.8 cm 10.2 MeV 22.2 keV 10 cm 2.73 m Tracker StepLimiter - 51 -2.04 m -10.9 cm -47.2 cm 10.2 MeV 22.7 keV 10 cm 2.83 m Tracker StepLimiter - 52 -2.12 m -11.5 cm -40.5 cm 10.2 MeV 13.6 keV 10 cm 2.93 m Tracker StepLimiter - 53 -2.19 m -12 cm -34 cm 10.2 MeV 16.5 keV 10 cm 3.03 m Tracker StepLimiter - 54 -2.27 m -12.6 cm -27.6 cm 10.1 MeV 21.4 keV 10 cm 3.13 m Tracker StepLimiter - 55 -2.34 m -13.1 cm -21.2 cm 10.1 MeV 31.1 keV 10 cm 3.23 m Tracker StepLimiter - 56 -2.4 m -13.6 cm -16.4 cm 10.1 MeV 19.3 keV 7.35 cm 3.3 m Tracker Transportation - 57 -2.91 m -17.3 cm 26.7 cm 9.96 MeV 123 keV 67 cm 3.97 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 280, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -42.7 cm -2.85 cm -1.96 m 23 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -42.6 cm -2.71 cm -1.96 m 15.8 keV 7.17 keV 3.46 mm 3.46 mm Tracker eIoni - 2 -42.4 cm -2.62 cm -1.96 m 9.54 keV 6.28 keV 2.45 mm 5.9 mm Tracker eIoni - 3 -42.3 cm -2.57 cm -1.96 m 1.99 keV 7.55 keV 1.63 mm 7.53 mm Tracker eIoni - 4 -42.3 cm -2.56 cm -1.96 m 0 eV 1.99 keV 155 um 7.69 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 279, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.23 mm 92 um -2.4 m 2.85 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.46 mm 180 um -2.4 m 2.85 MeV 0 eV 425 um 425 um Target Transportation - 2 -2.4 m 92.4 cm 1.22 m 2.85 MeV 0 eV 4.44 m 4.44 m Tracker Transportation - 3 -2.91 m 1.12 m 1.99 m 2.85 MeV 0 eV 94.4 cm 5.38 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 278, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.96 mm 400 um -2.4 m 478 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.99 mm 801 um -2.4 m 478 keV 0 eV 3.3 mm 3.3 mm Target Transportation - 2 -53.7 cm 20.7 cm -80 cm 478 keV 0 eV 1.7 m 1.7 m Tracker Transportation - 3 -60.3 cm 23.3 cm -60 cm 478 keV 0 eV 21.2 cm 1.91 m Chamber Transportation - 4 -80.3 cm 31 cm 0 fm 478 keV 0 eV 63.7 cm 2.55 m Tracker Transportation - 5 -87 cm 33.6 cm 20 cm 478 keV 0 eV 21.2 cm 2.76 m Chamber Transportation - 6 -1.07 m 41.3 cm 80 cm 478 keV 0 eV 63.7 cm 3.4 m Tracker Transportation - 7 -1.14 m 43.9 cm 1 m 478 keV 0 eV 21.2 cm 3.61 m Chamber Transportation - 8 -1.34 m 51.6 cm 1.6 m 478 keV 0 eV 63.7 cm 4.25 m Tracker Transportation - 9 -1.4 m 54.2 cm 1.8 m 478 keV 0 eV 21.2 cm 4.46 m Chamber Transportation - 10 -1.6 m 61.9 cm 2.4 m 478 keV 0 eV 63.7 cm 5.1 m Tracker Transportation - 11 -1.77 m 68.5 cm 2.91 m 478 keV 0 eV 54.2 cm 5.64 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 277, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.75 mm 307 um -2.4 m 6.98 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.36 mm 441 um -2.4 m 293 keV 0 eV 1.83 mm 1.83 mm Target compt - 2 -2.2 mm 731 um -2.4 m 0 eV 88 keV 430 um 2.26 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 282, Parent ID = 277 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.2 mm 731 um -2.4 m 205 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.19 mm 732 um -2.4 m 0 eV 205 keV 85.3 um 85.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 281, Parent ID = 277 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.36 mm 441 um -2.4 m 6.69 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.31 mm 402 um -2.4 m 6.12 MeV 565 keV 540 um 540 um Target msc - 2 -2.39 mm 276 um -2.4 m 5.77 MeV 355 keV 341 um 881 um Target msc - 3 -2.4 mm 259 um -2.4 m 4.55 MeV 43.9 keV 23 um 904 um Target eBrem - 4 -2.43 mm 240 um -2.4 m 639 keV 69.1 keV 60.5 um 964 um Target eBrem - 5 -2.44 mm 225 um -2.4 m 0 eV 639 keV 420 um 1.38 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 284, Parent ID = 281 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.43 mm 240 um -2.4 m 3.84 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.62 mm 121 um -2.4 m 3.84 MeV 0 eV 991 um 991 um Target Transportation - 2 -16.1 cm -9.88 cm -1.6 m 3.84 MeV 0 eV 82.2 cm 82.3 cm Tracker Transportation - 3 -20.1 cm -12.4 cm -1.4 m 3.84 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation - 4 -32 cm -19.8 cm -80 cm 3.84 MeV 0 eV 61.6 cm 1.64 m Tracker Transportation - 5 -36 cm -22.2 cm -60 cm 3.84 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation - 6 -47.9 cm -29.7 cm 0 fm 3.84 MeV 0 eV 61.6 cm 2.47 m Tracker Transportation - 7 -51.9 cm -32.1 cm 20 cm 3.84 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation - 8 -63.8 cm -39.6 cm 80 cm 3.84 MeV 0 eV 61.6 cm 3.29 m Tracker Transportation - 9 -67.8 cm -42 cm 1 m 3.84 MeV 0 eV 20.5 cm 3.49 m Chamber Transportation - 10 -79.7 cm -49.5 cm 1.6 m 3.84 MeV 0 eV 61.6 cm 4.11 m Tracker Transportation - 11 -83.7 cm -51.9 cm 1.8 m 3.84 MeV 0 eV 20.5 cm 4.31 m Chamber Transportation - 12 -95.6 cm -59.3 cm 2.4 m 3.84 MeV 0 eV 61.6 cm 4.93 m Tracker Transportation - 13 -1.06 m -65.7 cm 2.91 m 3.84 MeV 0 eV 52.4 cm 5.45 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 283, Parent ID = 281 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.4 mm 259 um -2.4 m 1.18 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.11 mm -664 um -2.4 m 1.18 MeV 0 eV 1.54 mm 1.54 mm Target Transportation - 2 -1.85 m -2.4 m 23.6 cm 1.18 MeV 0 eV 4.01 m 4.01 m Tracker Transportation - 3 -2.24 m -2.91 m 79.6 cm 1.18 MeV 0 eV 85.3 cm 4.87 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 276, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.35 mm 81.9 um -2.4 m 1.58 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.56 mm 889 um -2.4 m 1.58 MeV 0 eV 4.67 mm 4.67 mm Target Transportation - 2 -22.1 cm 14.6 cm -1.6 m 1.58 MeV 0 eV 84.2 cm 84.7 cm Tracker Transportation - 3 -24 cm 15.9 cm -1.53 m 1.58 MeV 0 eV 7.4 cm 92.1 cm Chamber Transportation - 4 -43.9 cm 29.2 cm -80 cm 1.58 MeV 0 eV 76.8 cm 1.69 m Tracker Transportation - 5 -49.4 cm 32.8 cm -60 cm 1.58 MeV 0 eV 21 cm 1.9 m Chamber Transportation - 6 -65.7 cm 43.7 cm 0 fm 1.58 MeV 0 eV 63.1 cm 2.53 m Tracker Transportation - 7 -71.2 cm 47.4 cm 20 cm 1.58 MeV 0 eV 21 cm 2.74 m Chamber Transportation - 8 -87.6 cm 58.3 cm 80 cm 1.58 MeV 0 eV 63.1 cm 3.37 m Tracker Transportation - 9 -93 cm 61.9 cm 1 m 1.58 MeV 0 eV 21 cm 3.58 m Chamber Transportation - 10 -1.09 m 72.8 cm 1.6 m 1.58 MeV 0 eV 63.1 cm 4.21 m Tracker Transportation - 11 -1.15 m 76.5 cm 1.8 m 1.58 MeV 0 eV 21 cm 4.42 m Chamber Transportation - 12 -1.31 m 87.4 cm 2.4 m 1.58 MeV 0 eV 63.1 cm 5.06 m Tracker Transportation - 13 -1.45 m 96.6 cm 2.91 m 1.58 MeV 0 eV 53.7 cm 5.59 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 275, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.32 mm 60 um -2.4 m 17.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.6 mm 653 um -2.4 m 17.4 MeV 0 eV 4.78 mm 4.78 mm Target Transportation - 2 -22.6 cm 10.5 cm -1.6 m 17.4 MeV 0 eV 83.7 cm 84.2 cm Tracker Transportation - 3 -24 cm 11.1 cm -1.55 m 17.4 MeV 0 eV 5.29 cm 89.5 cm Chamber Transportation - 4 -44.9 cm 20.9 cm -80 cm 17.4 MeV 0 eV 78.4 cm 1.68 m Tracker Transportation - 5 -50.5 cm 23.5 cm -60 cm 17.4 MeV 0 eV 20.9 cm 1.89 m Chamber Transportation - 6 -67.2 cm 31.2 cm 0.114 fm 17.4 MeV 0 eV 62.8 cm 2.52 m Tracker Transportation - 7 -72.8 cm 33.8 cm 20 cm 17.4 MeV 0 eV 20.9 cm 2.73 m Chamber Transportation - 8 -89.6 cm 41.6 cm 80 cm 17.4 MeV 0 eV 62.8 cm 3.35 m Tracker Transportation - 9 -95.2 cm 44.2 cm 1 m 17.4 MeV 0 eV 20.9 cm 3.56 m Chamber Transportation - 10 -1.12 m 52 cm 1.6 m 17.4 MeV 0 eV 62.8 cm 4.19 m Tracker Transportation - 11 -1.17 m 54.6 cm 1.8 m 17.4 MeV 0 eV 20.9 cm 4.4 m Chamber Transportation - 12 -1.34 m 62.4 cm 2.4 m 17.4 MeV 0 eV 62.8 cm 5.03 m Tracker Transportation - 13 -1.48 m 69.1 cm 2.91 m 17.4 MeV 0 eV 53.4 cm 5.56 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 274, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -991 um 61.9 um -2.41 m 1.06 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.1 mm 1 mm -2.4 m 1.06 MeV 0 eV 6.87 mm 6.87 mm Target Transportation - 2 -13.4 cm 11.3 cm -1.6 m 1.06 MeV 0 eV 81.8 cm 82.5 cm Tracker Transportation - 3 -16.7 cm 14.1 cm -1.4 m 1.06 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation - 4 -26.5 cm 22.5 cm -80 cm 1.06 MeV 0 eV 61.4 cm 1.64 m Tracker Transportation - 5 -29.8 cm 25.3 cm -60 cm 1.06 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation - 6 -39.7 cm 33.6 cm 0 fm 1.06 MeV 0 eV 61.4 cm 2.46 m Tracker Transportation - 7 -43 cm 36.4 cm 20 cm 1.06 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation - 8 -52.8 cm 44.8 cm 80 cm 1.06 MeV 0 eV 61.4 cm 3.28 m Tracker Transportation - 9 -56.1 cm 47.6 cm 1 m 1.06 MeV 0 eV 20.5 cm 3.49 m Chamber Transportation - 10 -66 cm 56 cm 1.6 m 1.06 MeV 0 eV 61.4 cm 4.1 m Tracker Transportation - 11 -69.3 cm 58.8 cm 1.8 m 1.06 MeV 0 eV 20.5 cm 4.3 m Chamber Transportation - 12 -79.1 cm 67.2 cm 2.4 m 1.06 MeV 0 eV 61.4 cm 4.92 m Tracker Transportation - 13 -87.5 cm 74.3 cm 2.91 m 1.06 MeV 0 eV 52.2 cm 5.44 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 273, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -980 um 55.1 um -2.41 m 2.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.46 mm 382 um -2.4 m 604 keV 0 eV 3.42 mm 3.42 mm Target compt - 2 -604 um 737 um -2.4 m 471 keV 0 eV 1.04 mm 4.47 mm Target compt - 3 297 um 2.39 mm -2.4 m 471 keV 0 eV 3.48 mm 7.95 mm Target Transportation - 4 1.31 m 2.4 m 1.85 m 471 keV 0 eV 5.05 m 5.06 m Tracker Transportation - 5 1.59 m 2.91 m 2.75 m 471 keV 0 eV 1.07 m 6.13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 286, Parent ID = 273 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -604 um 737 um -2.4 m 133 keV 0 eV 0 fm 0 fm Target initStep - 1 -601 um 737 um -2.4 m 0 eV 133 keV 43.6 um 43.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 285, Parent ID = 273 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.46 mm 382 um -2.4 m 1.74 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.47 mm 346 um -2.4 m 1.23 MeV 71.9 keV 83.7 um 83.7 um Target eBrem - 2 -1.54 mm 298 um -2.4 m 0 eV 1.23 MeV 924 um 1.01 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 287, Parent ID = 285 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.47 mm 346 um -2.4 m 440 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.1 mm -3.67 mm -2.4 m 0 eV 88 keV 4.42 mm 4.42 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 288, Parent ID = 287 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.1 mm -3.67 mm -2.4 m 352 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.1 mm -3.68 mm -2.4 m 0 eV 352 keV 188 um 188 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 272, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -898 um 24.2 um -2.41 m 44.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.72 mm 374 um -2.4 m 0 eV 0 eV 5.34 mm 5.34 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 290, Parent ID = 272 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.72 mm 374 um -2.4 m 22.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.73 mm 384 um -2.4 m 17.4 MeV 96.5 keV 89.1 um 89.1 um Target eBrem - 2 -1.74 mm 384 um -2.4 m 16.4 MeV 15.9 keV 9.48 um 98.6 um Target eBrem - 3 -1.78 mm 390 um -2.4 m 14 MeV 670 keV 586 um 685 um Target eBrem - 4 -2.12 mm 784 um -2.4 m 12.3 MeV 1.26 MeV 862 um 1.55 mm Target eBrem - 5 -3.43 mm 1.79 mm -2.4 m 7.86 MeV 3.25 MeV 2.2 mm 3.75 mm Target eBrem - 6 -4.1 mm 2.43 mm -2.4 m 1.2 MeV 5.45 MeV 1.19 mm 4.94 mm Target eBrem - 7 -4.19 mm 2.5 mm -2.4 m 0 eV 1.2 MeV 915 um 5.85 mm Target eIoni - 8 -4.19 mm 2.5 mm -2.4 m 0 eV 0 eV 0 fm 5.85 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 298, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.19 mm 2.5 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.37 mm 2.9 mm -2.4 m 511 keV 0 eV 928 um 928 um Target Transportation - 2 2.4 m 1.18 m -2.04 m 511 keV 0 eV 2.7 m 2.7 m Tracker Transportation - 3 2.91 m 1.43 m -1.96 m 511 keV 0 eV 57.3 cm 3.28 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 297, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.19 mm 2.5 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -9.54 mm -128 um -2.4 m 0 eV 88 keV 6.02 mm 6.02 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 299, Parent ID = 297 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -9.54 mm -128 um -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -9.56 mm -132 um -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 296, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.1 mm 2.43 mm -2.4 m 1.21 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.65 cm 1.13 cm -2.41 m 0 eV 88 keV 1.62 cm 1.62 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 300, Parent ID = 296 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.65 cm 1.13 cm -2.41 m 1.12 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.65 cm 1.14 cm -2.41 m 0 eV 1.12 MeV 835 um 835 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 295, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.43 mm 1.79 mm -2.4 m 1.21 MeV 0 eV 0 fm 0 fm Target initStep - 1 -4.87 mm 2.81 mm -2.4 m 1.21 MeV 0 eV 1.77 mm 1.77 mm Target Transportation - 2 -2.4 m 1.7 m -2.34 m 1.21 MeV 0 eV 2.93 m 2.94 m Tracker Transportation - 3 -2.91 m 2.06 m -2.33 m 1.21 MeV 0 eV 62.5 cm 3.56 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 294, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.12 mm 784 um -2.4 m 394 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.63 mm 2.12 mm -2.4 m 394 keV 0 eV 2.1 mm 2.1 mm Target Transportation - 2 -2.4 m 2.12 m -1.47 m 394 keV 0 eV 3.33 m 3.33 m Tracker Transportation - 3 -2.91 m 2.57 m -1.28 m 394 keV 0 eV 70.8 cm 4.04 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 293, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.78 mm 390 um -2.4 m 1.75 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.42 mm 593 um -2.4 m 1.75 MeV 0 eV 1.4 mm 1.4 mm Target Transportation - 2 -2.4 m 76.1 cm 2.2 m 1.75 MeV 0 eV 5.24 m 5.24 m Tracker Transportation - 3 -2.77 m 87.9 cm 2.91 m 1.75 MeV 0 eV 81.2 cm 6.05 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 292, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.74 mm 384 um -2.4 m 943 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.11 mm 486 um -2.4 m 943 keV 0 eV 1.84 mm 1.84 mm Target Transportation - 2 -16.6 cm 4.56 cm -1.6 m 943 keV 0 eV 81.8 cm 82 cm Tracker Transportation - 3 -20.7 cm 5.68 cm -1.4 m 943 keV 0 eV 20.4 cm 1.02 m Chamber Transportation - 4 -33 cm 9.06 cm -80 cm 943 keV 0 eV 61.3 cm 1.64 m Tracker Transportation - 5 -37.1 cm 10.2 cm -60 cm 943 keV 0 eV 20.4 cm 1.84 m Chamber Transportation - 6 -49.4 cm 13.6 cm 0 fm 943 keV 0 eV 61.3 cm 2.46 m Tracker Transportation - 7 -53.5 cm 14.7 cm 20 cm 943 keV 0 eV 20.4 cm 2.66 m Chamber Transportation - 8 -65.7 cm 18.1 cm 80 cm 943 keV 0 eV 61.3 cm 3.27 m Tracker Transportation - 9 -69.8 cm 19.2 cm 1 m 943 keV 0 eV 20.4 cm 3.48 m Chamber Transportation - 10 -82.1 cm 22.6 cm 1.6 m 943 keV 0 eV 61.3 cm 4.09 m Tracker Transportation - 11 -86.2 cm 23.7 cm 1.8 m 943 keV 0 eV 20.4 cm 4.3 m Chamber Transportation - 12 -98.5 cm 27.1 cm 2.4 m 943 keV 0 eV 61.3 cm 4.91 m Tracker Transportation - 13 -1.09 m 30 cm 2.91 m 943 keV 0 eV 52.1 cm 5.43 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 291, Parent ID = 290 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.73 mm 384 um -2.4 m 5.33 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2 mm 325 um -2.4 m 5.33 MeV 0 eV 1.83 mm 1.83 mm Target Transportation - 2 -11.8 cm -2.56 cm -1.6 m 5.33 MeV 0 eV 80.9 cm 81.1 cm Tracker Transportation - 3 -14.7 cm -3.21 cm -1.4 m 5.33 MeV 0 eV 20.2 cm 1.01 m Chamber Transportation - 4 -23.5 cm -5.16 cm -80 cm 5.33 MeV 0 eV 60.7 cm 1.62 m Tracker Transportation - 5 -26.4 cm -5.8 cm -60 cm 5.33 MeV 0 eV 20.2 cm 1.82 m Chamber Transportation - 6 -35.1 cm -7.75 cm 0.114 fm 5.33 MeV 0 eV 60.7 cm 2.43 m Tracker Transportation - 7 -38 cm -8.4 cm 20 cm 5.33 MeV 0 eV 20.2 cm 2.63 m Chamber Transportation - 8 -46.7 cm -10.3 cm 80 cm 5.33 MeV 0 eV 60.7 cm 3.24 m Tracker Transportation - 9 -49.7 cm -11 cm 1 m 5.33 MeV 0 eV 20.2 cm 3.44 m Chamber Transportation - 10 -58.4 cm -12.9 cm 1.6 m 5.33 MeV 0 eV 60.7 cm 4.05 m Tracker Transportation - 11 -61.3 cm -13.6 cm 1.8 m 5.33 MeV 0 eV 20.2 cm 4.25 m Chamber Transportation - 12 -70 cm -15.5 cm 2.4 m 5.33 MeV 0 eV 60.7 cm 4.85 m Tracker Transportation - 13 -77.4 cm -17.2 cm 2.91 m 5.33 MeV 0 eV 51.6 cm 5.37 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 289, Parent ID = 272 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.72 mm 374 um -2.4 m 20.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.25 mm 519 um -2.4 m 18.3 MeV 1.65 MeV 1.4 mm 1.4 mm Target eBrem - 2 -2.26 mm 568 um -2.4 m 12.6 MeV 62 keV 55.2 um 1.45 mm Target eBrem - 3 -2.54 mm 1.77 mm -2.4 m 9.98 MeV 2.18 MeV 1.72 mm 3.17 mm Target eBrem - 4 -2.54 mm 1.77 mm -2.4 m 9.97 MeV 7.34 keV 7.59 um 3.18 mm Target Transportation - 5 -7.43 cm 5.86 cm -2.36 m 9.94 MeV 29.4 keV 10 cm 10.3 cm Tracker StepLimiter - 6 -14.8 cm 11.5 cm -2.32 m 9.93 MeV 15.1 keV 10 cm 20.3 cm Tracker StepLimiter - 7 -22.2 cm 16.8 cm -2.28 m 9.91 MeV 17.8 keV 10 cm 30.3 cm Tracker StepLimiter - 8 -29.7 cm 22 cm -2.24 m 9.89 MeV 18.9 keV 10 cm 40.3 cm Tracker StepLimiter - 9 -36.9 cm 27.4 cm -2.2 m 9.87 MeV 20.8 keV 10 cm 50.3 cm Tracker StepLimiter - 10 -44.1 cm 32.8 cm -2.15 m 9.85 MeV 17.6 keV 10 cm 60.3 cm Tracker StepLimiter - 11 -51.3 cm 38.1 cm -2.11 m 9.83 MeV 20.3 keV 10 cm 70.3 cm Tracker StepLimiter - 12 -58 cm 44.6 cm -2.07 m 9.81 MeV 17.8 keV 10 cm 80.3 cm Tracker StepLimiter - 13 -64.9 cm 51 cm -2.04 m 9.8 MeV 14.7 keV 10 cm 90.3 cm Tracker StepLimiter - 14 -72 cm 57.2 cm -2.01 m 9.78 MeV 17.4 keV 10 cm 1 m Tracker StepLimiter - 15 -79 cm 63.6 cm -1.97 m 9.77 MeV 17.1 keV 10 cm 1.1 m Tracker StepLimiter - 16 -86.1 cm 69.9 cm -1.94 m 9.75 MeV 17.2 keV 10 cm 1.2 m Tracker StepLimiter - 17 -93.2 cm 76.2 cm -1.91 m 9.73 MeV 15.4 keV 10 cm 1.3 m Tracker StepLimiter - 18 -1 m 82.4 cm -1.88 m 9.7 MeV 30.9 keV 10 cm 1.4 m Tracker StepLimiter - 19 -1.08 m 88.9 cm -1.85 m 9.68 MeV 20.7 keV 10 cm 1.5 m Tracker StepLimiter - 20 -1.15 m 95.3 cm -1.83 m 9.66 MeV 17.5 keV 10 cm 1.6 m Tracker StepLimiter - 21 -1.22 m 1.02 m -1.8 m 9.65 MeV 16.3 keV 10 cm 1.7 m Tracker StepLimiter - 22 -1.28 m 1.09 m -1.77 m 9.63 MeV 19.5 keV 10 cm 1.8 m Tracker StepLimiter - 23 -1.35 m 1.16 m -1.75 m 9.61 MeV 22.2 keV 10 cm 1.9 m Tracker StepLimiter - 24 -1.42 m 1.22 m -1.72 m 9.59 MeV 15.1 keV 10 cm 2 m Tracker StepLimiter - 25 -1.49 m 1.29 m -1.69 m 9.58 MeV 15.2 keV 10 cm 2.1 m Tracker StepLimiter - 26 -1.56 m 1.36 m -1.67 m 9.56 MeV 17.4 keV 10 cm 2.2 m Tracker StepLimiter - 27 -1.63 m 1.42 m -1.64 m 9.54 MeV 13.6 keV 10 cm 2.3 m Tracker StepLimiter - 28 -1.7 m 1.49 m -1.61 m 9.53 MeV 15.1 keV 10 cm 2.4 m Tracker StepLimiter - 29 -1.77 m 1.55 m -1.58 m 9.51 MeV 22.6 keV 10 cm 2.5 m Tracker StepLimiter - 30 -1.84 m 1.62 m -1.55 m 9.49 MeV 19.2 keV 10 cm 2.6 m Tracker StepLimiter - 31 -1.9 m 1.69 m -1.51 m 9.47 MeV 18.7 keV 10 cm 2.7 m Tracker StepLimiter - 32 -1.97 m 1.75 m -1.48 m 9.44 MeV 27.6 keV 10 cm 2.8 m Tracker StepLimiter - 33 -2.04 m 1.82 m -1.45 m 9.43 MeV 12.8 keV 10 cm 2.9 m Tracker StepLimiter - 34 -2.11 m 1.88 m -1.41 m 9.41 MeV 14 keV 10 cm 3 m Tracker StepLimiter - 35 -2.17 m 1.95 m -1.38 m 9.4 MeV 17.8 keV 10 cm 3.1 m Tracker StepLimiter - 36 -2.24 m 2.02 m -1.35 m 9.38 MeV 17.9 keV 10 cm 3.2 m Tracker StepLimiter - 37 -2.3 m 2.09 m -1.32 m 9.36 MeV 18.2 keV 10 cm 3.3 m Tracker StepLimiter - 38 -2.37 m 2.16 m -1.28 m 9.34 MeV 15.9 keV 10 cm 3.4 m Tracker StepLimiter - 39 -2.4 m 2.2 m -1.26 m 9.34 MeV 7.4 keV 5.61 cm 3.46 m Tracker Transportation - 40 -2.91 m 2.75 m -95.7 cm 9.2 MeV 140 keV 81.1 cm 4.27 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 303, Parent ID = 289 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.54 mm 1.77 mm -2.4 m 416 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.54 mm 1.77 mm -2.4 m 416 keV 0 eV 7.34 um 7.34 um Target Transportation - 2 -2.4 m 2.15 m -1.28 m 416 keV 0 eV 3.41 m 3.41 m Tracker Transportation - 3 -2.91 m 2.61 m -1.05 m 416 keV 0 eV 72.5 cm 4.13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 302, Parent ID = 289 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.26 mm 568 um -2.4 m 5.67 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.58 mm 1.88 mm -2.4 m 5.67 MeV 0 eV 1.49 mm 1.49 mm Target Transportation - 2 -58.8 cm 2.4 m -1.24 m 5.67 MeV 0 eV 2.73 m 2.73 m Tracker Transportation - 3 -71.3 cm 2.91 m -99.1 cm 5.67 MeV 0 eV 58 cm 3.31 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 301, Parent ID = 289 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.25 mm 519 um -2.4 m 547 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.71 mm 2.15 mm -2.4 m 547 keV 0 eV 1.82 mm 1.82 mm Target Transportation - 2 -68 cm 2.4 m -1.43 m 547 keV 0 eV 2.67 m 2.67 m Tracker Transportation - 3 -82.4 cm 2.91 m -1.23 m 547 keV 0 eV 56.8 cm 3.24 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 271, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -395 um -148 um -2.41 m 1.04 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.44 mm -85.7 um -2.41 m 0 eV 88 keV 4.64 mm 4.64 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 304, Parent ID = 271 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.44 mm -85.7 um -2.41 m 950 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.47 mm -88.8 um -2.41 m 0 eV 950 keV 686 um 686 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 270, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -350 um -151 um -2.41 m 773 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.46 mm -113 um -2.41 m 514 keV 0 eV 5.13 mm 5.13 mm Target compt - 2 -4.11 mm -7.19 mm -2.4 m 514 keV 0 eV 9.72 mm 1.49 cm Target Transportation - 3 -89.7 cm -2.4 m -33.6 cm 514 keV 0 eV 3.28 m 3.3 m Tracker Transportation - 4 -1.09 m -2.91 m 10.4 cm 514 keV 0 eV 70 cm 4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 305, Parent ID = 270 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.46 mm -113 um -2.41 m 259 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.46 mm -108 um -2.41 m 0 eV 259 keV 121 um 121 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 269, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -134 um -131 um -2.41 m 356 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.32 mm -117 um -2.4 m 0 eV 88 keV 8.34 mm 8.34 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 306, Parent ID = 269 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.32 mm -117 um -2.4 m 268 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.32 mm -112 um -2.4 m 0 eV 268 keV 127 um 127 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 268, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -44.2 um -130 um -2.41 m 1.72 MeV 0 eV 0 fm 0 fm Target initStep - 1 -91 um -156 um -2.41 m 917 keV 0 eV 648 um 648 um Target compt - 2 -1.57 mm 1.03 cm -2.4 m 356 keV 0 eV 1.63 cm 1.69 cm Target compt - 3 -340 um 1.32 cm -2.4 m 180 keV 0 eV 3.54 mm 2.05 cm Target compt - 4 174 um 1.28 cm -2.4 m 106 keV 0 eV 729 um 2.12 cm Target compt - 5 31.5 um 1.29 cm -2.4 m 81.6 keV 0 eV 180 um 2.14 cm Target compt - 6 105 um 1.29 cm -2.4 m 0 eV 15.9 keV 84.1 um 2.15 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 312, Parent ID = 268 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 105 um 1.29 cm -2.4 m 65.8 keV 0 eV 0 fm 0 fm Target initStep - 1 106 um 1.29 cm -2.4 m 0 eV 65.8 keV 14 um 14 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 311, Parent ID = 268 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 31.5 um 1.29 cm -2.4 m 24.2 keV 0 eV 0 fm 0 fm Target initStep - 1 31.2 um 1.29 cm -2.4 m 0 eV 24.2 keV 2.74 um 2.74 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 310, Parent ID = 268 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 174 um 1.28 cm -2.4 m 74.2 keV 0 eV 0 fm 0 fm Target initStep - 1 175 um 1.28 cm -2.4 m 0 eV 74.2 keV 17.1 um 17.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 309, Parent ID = 268 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -340 um 1.32 cm -2.4 m 176 keV 0 eV 0 fm 0 fm Target initStep - 1 -340 um 1.32 cm -2.4 m 0 eV 176 keV 67.6 um 67.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 308, Parent ID = 268 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.57 mm 1.03 cm -2.4 m 560 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.54 mm 1.03 cm -2.4 m 460 keV 101 keV 81 um 81 um Target msc - 2 -1.55 mm 1.03 cm -2.4 m 395 keV 64.6 keV 61.8 um 143 um Target msc - 3 -1.56 mm 1.03 cm -2.4 m 323 keV 72.3 keV 52.5 um 195 um Target msc - 4 -1.57 mm 1.03 cm -2.4 m 0 eV 323 keV 166 um 362 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 307, Parent ID = 268 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -91 um -156 um -2.41 m 805 keV 0 eV 0 fm 0 fm Target initStep - 1 -92.4 um -179 um -2.41 m 0 eV 805 keV 561 um 561 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 267, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -40.7 um -128 um -2.41 m 1.55 MeV 0 eV 0 fm 0 fm Target initStep - 1 -84.2 um -147 um -2.41 m 0 eV 88 keV 538 um 538 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 313, Parent ID = 267 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -84.2 um -147 um -2.41 m 1.46 MeV 0 eV 0 fm 0 fm Target initStep - 1 -209 um -319 um -2.41 m 481 keV 583 keV 497 um 497 um Target eBrem - 2 -228 um -315 um -2.41 m 0 eV 481 keV 290 um 787 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 314, Parent ID = 313 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -209 um -319 um -2.41 m 397 keV 0 eV 0 fm 0 fm Target initStep - 1 -618 um -102 um -2.41 m 316 keV 0 eV 580 um 580 um Target compt - 2 -665 um -137 um -2.41 m 308 keV 0 eV 244 um 824 um Target compt - 3 -530 um -290 um -2.41 m 0 eV 88 keV 1.49 mm 2.32 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 317, Parent ID = 314 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -530 um -290 um -2.41 m 220 keV 0 eV 0 fm 0 fm Target initStep - 1 -533 um -292 um -2.41 m 0 eV 220 keV 94.8 um 94.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 316, Parent ID = 314 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -665 um -137 um -2.41 m 8 keV 0 eV 0 fm 0 fm Target initStep - 1 -665 um -137 um -2.41 m 0 eV 8 keV 501 nm 501 nm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 315, Parent ID = 314 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -618 um -102 um -2.41 m 81.3 keV 0 eV 0 fm 0 fm Target initStep - 1 -619 um -101 um -2.41 m 0 eV 81.3 keV 19.8 um 19.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 266, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -22.9 um -127 um -2.41 m 405 keV 0 eV 0 fm 0 fm Target initStep - 1 -155 um -187 um -2.41 m 0 eV 88 keV 2.26 mm 2.26 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 318, Parent ID = 266 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -155 um -187 um -2.41 m 317 keV 0 eV 0 fm 0 fm Target initStep - 1 -162 um -191 um -2.41 m 0 eV 317 keV 162 um 162 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 265, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.46 um -75.8 um -2.41 m 4.77 MeV 0 eV 0 fm 0 fm Target initStep - 1 38.8 um -170 um -2.41 m 0 eV 0 eV 2.91 mm 2.91 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 320, Parent ID = 265 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 38.8 um -170 um -2.41 m 2.75 MeV 0 eV 0 fm 0 fm Target initStep - 1 282 um 385 um -2.41 m 607 keV 2.14 MeV 1.68 mm 1.68 mm Target eIoni - 2 281 um 377 um -2.41 m 0 eV 607 keV 394 um 2.08 mm Target eIoni - 3 281 um 377 um -2.41 m 0 eV 0 eV 0 fm 2.08 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 322, Parent ID = 320 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 281 um 377 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 5.6 mm 4.22 mm -2.41 m 0 eV 88 keV 7.11 mm 7.11 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 323, Parent ID = 322 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.6 mm 4.22 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 5.62 mm 4.22 mm -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 321, Parent ID = 320 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 281 um 377 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 223 um 336 um -2.41 m 394 keV 0 eV 76.4 um 76.4 um Target compt - 2 -480 um -534 um -2.41 m 0 eV 88 keV 1.19 mm 1.27 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 325, Parent ID = 321 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -480 um -534 um -2.41 m 306 keV 0 eV 0 fm 0 fm Target initStep - 1 -489 um -540 um -2.41 m 0 eV 306 keV 154 um 154 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 324, Parent ID = 321 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 223 um 336 um -2.41 m 117 keV 0 eV 0 fm 0 fm Target initStep - 1 222 um 336 um -2.41 m 0 eV 117 keV 35.3 um 35.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 319, Parent ID = 265 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 38.8 um -170 um -2.41 m 994 keV 0 eV 0 fm 0 fm Target initStep - 1 46.8 um -176 um -2.41 m 0 eV 994 keV 724 um 724 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 264, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.46 um -72.3 um -2.41 m 4.77 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.52 um -77.3 um -2.41 m 0 eV 0 eV 561 um 561 um Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 327, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.52 um -77.3 um -2.41 m 870 keV 0 eV 0 fm 0 fm Target initStep - 1 -23 um -135 um -2.41 m 0 eV 870 keV 623 um 623 um Target eIoni - 2 -23 um -135 um -2.41 m 0 eV 0 eV 0 fm 623 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 329, Parent ID = 327 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -23 um -135 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -796 um 6.17 mm -2.41 m 261 keV 0 eV 7.54 mm 7.54 mm Target compt - 2 1.61 mm 5.63 mm -2.41 m 0 eV 88 keV 2.9 mm 1.04 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 331, Parent ID = 329 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.61 mm 5.63 mm -2.41 m 173 keV 0 eV 0 fm 0 fm Target initStep - 1 1.62 mm 5.63 mm -2.41 m 0 eV 173 keV 65.7 um 65.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 330, Parent ID = 329 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -796 um 6.17 mm -2.41 m 250 keV 0 eV 0 fm 0 fm Target initStep - 1 -799 um 6.18 mm -2.41 m 0 eV 250 keV 115 um 115 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 328, Parent ID = 327 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -23 um -135 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 128 um -1.37 mm -2.41 m 0 eV 88 keV 1.48 mm 1.48 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 332, Parent ID = 328 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 128 um -1.37 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 128 um -1.39 mm -2.42 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 326, Parent ID = 264 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.52 um -77.3 um -2.41 m 2.88 MeV 0 eV 0 fm 0 fm Target initStep - 1 461 um 308 um -2.41 m 722 keV 2.16 MeV 1.68 mm 1.68 mm Target eBrem - 2 486 um 282 um -2.41 m 0 eV 722 keV 491 um 2.17 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 263, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.19 um -72.2 um -2.41 m 14.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 -20.4 um -231 um -2.4 m 14.1 MeV 0 eV 1.48 cm 1.48 cm Target Transportation - 2 -946 um -8.8 mm -1.6 m 14.1 MeV 0 eV 80 cm 81.5 cm Tracker Transportation - 3 -1.18 mm -1.09 cm -1.4 m 14.1 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 -1.87 mm -1.74 cm -80 cm 14.1 MeV 0 eV 60 cm 1.61 m Tracker Transportation - 5 -2.1 mm -1.95 cm -60 cm 14.1 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 -2.8 mm -2.59 cm 0 fm 14.1 MeV 0 eV 60 cm 2.41 m Tracker Transportation - 7 -3.03 mm -2.81 cm 20 cm 14.1 MeV 0 eV 20 cm 2.61 m Chamber Transportation - 8 -3.72 mm -3.45 cm 80 cm 14.1 MeV 0 eV 60 cm 3.22 m Tracker Transportation - 9 -3.96 mm -3.66 cm 1 m 14.1 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 -4.65 mm -4.31 cm 1.6 m 14.1 MeV 0 eV 60 cm 4.02 m Tracker Transportation - 11 -4.88 mm -4.52 cm 1.8 m 14.1 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 -5.58 mm -5.16 cm 2.4 m 14.1 MeV 0 eV 60 cm 4.82 m Tracker Transportation - 13 -6.17 mm -5.71 cm 2.91 m 14.1 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 262, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 715 nm -74 um -2.42 m 143 MeV 0 eV 0 fm 0 fm Target initStep - 1 910 nm -73.1 um -2.41 m 0 eV 0 eV 793 um 793 um Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 334, Parent ID = 262 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 910 nm -73.1 um -2.41 m 89.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 13 um -68.7 um -2.41 m 88.9 MeV 654 keV 398 um 398 um Target eBrem - 2 77.9 um -21.2 um -2.41 m 83.6 MeV 1.83 MeV 1.35 mm 1.74 mm Target eBrem - 3 57.3 um -23.3 um -2.41 m 68.8 MeV 711 keV 659 um 2.4 mm Target eBrem - 4 -117 um -153 um -2.41 m 65.3 MeV 2.77 MeV 1.88 mm 4.28 mm Target eBrem - 5 -250 um -121 um -2.41 m 60.4 MeV 847 keV 551 um 4.83 mm Target eBrem - 6 -288 um -131 um -2.41 m 47.4 MeV 99.9 keV 99.2 um 4.93 mm Target eBrem - 7 -678 um -112 um -2.41 m 45.8 MeV 1.17 MeV 991 um 5.92 mm Target eBrem - 8 -945 um -140 um -2.41 m 43.8 MeV 924 keV 575 um 6.5 mm Target eBrem - 9 -2.77 mm 461 um -2.4 m 23.9 MeV 6.1 MeV 4.06 mm 1.06 cm Target eBrem - 10 -3.42 mm 567 um -2.4 m 22.5 MeV 962 keV 828 um 1.14 cm Target eBrem - 11 -3.62 mm 596 um -2.4 m 21.4 MeV 780 keV 647 um 1.2 cm Target eBrem - 12 -4.76 mm 1.5 mm -2.4 m 14.5 MeV 6.9 MeV 4.61 mm 1.66 cm Target eIoni - 13 -4.76 mm 1.5 mm -2.4 m 14.5 MeV 156 eV 1.27 um 1.66 cm Target Transportation - 14 -4.35 cm -4.56 cm -2.32 m 14.5 MeV 36.9 keV 10 cm 11.7 cm Tracker StepLimiter - 15 -8.06 cm -9.36 cm -2.24 m 14.5 MeV 16.3 keV 10 cm 21.7 cm Tracker StepLimiter - 16 -11.9 cm -14 cm -2.16 m 14.5 MeV 30.1 keV 10 cm 31.7 cm Tracker StepLimiter - 17 -15.7 cm -18.7 cm -2.08 m 14.4 MeV 13.7 keV 10 cm 41.7 cm Tracker StepLimiter - 18 -16.5 cm -19.7 cm -2.07 m 14.4 MeV 2.27 keV 2.11 cm 43.8 cm Tracker eIoni - 19 -20.3 cm -24.5 cm -1.99 m 14.3 MeV 23.4 keV 10 cm 53.8 cm Tracker StepLimiter - 20 -24.3 cm -29 cm -1.91 m 14.3 MeV 17.4 keV 10 cm 63.8 cm Tracker StepLimiter - 21 -28.5 cm -33.6 cm -1.83 m 14.3 MeV 15.6 keV 10 cm 73.8 cm Tracker StepLimiter - 22 -32.6 cm -38.2 cm -1.75 m 14.3 MeV 29.2 keV 10 cm 83.8 cm Tracker StepLimiter - 23 -36.5 cm -42.7 cm -1.67 m 14.3 MeV 26.7 keV 10 cm 93.8 cm Tracker StepLimiter - 24 -40.6 cm -47.3 cm -1.59 m 14.2 MeV 25.7 keV 10 cm 1.04 m Tracker StepLimiter - 25 -44.7 cm -52.1 cm -1.51 m 14.2 MeV 16.9 keV 10 cm 1.14 m Tracker StepLimiter - 26 -48.9 cm -56.8 cm -1.43 m 14.2 MeV 24 keV 10 cm 1.24 m Tracker StepLimiter - 27 -53.1 cm -61.5 cm -1.36 m 14.2 MeV 26.3 keV 10 cm 1.34 m Tracker StepLimiter - 28 -57.3 cm -66.5 cm -1.28 m 14.2 MeV 16 keV 10 cm 1.44 m Tracker StepLimiter - 29 -61.3 cm -71.5 cm -1.2 m 14.1 MeV 17 keV 10 cm 1.54 m Tracker StepLimiter - 30 -65.1 cm -76.6 cm -1.13 m 14.1 MeV 18.6 keV 10 cm 1.64 m Tracker StepLimiter - 31 -69 cm -81.5 cm -1.05 m 14.1 MeV 23.3 keV 10 cm 1.74 m Tracker StepLimiter - 32 -72.8 cm -86.4 cm -97.1 cm 14.1 MeV 15.4 keV 10 cm 1.84 m Tracker StepLimiter - 33 -76.6 cm -91.6 cm -89.4 cm 14.1 MeV 14.5 keV 10 cm 1.94 m Tracker StepLimiter - 34 -80.3 cm -96.8 cm -81.8 cm 14 MeV 16.1 keV 10 cm 2.04 m Tracker StepLimiter - 35 -84 cm -1.02 m -74 cm 14 MeV 19.5 keV 10 cm 2.14 m Tracker StepLimiter - 36 -87.9 cm -1.07 m -66.4 cm 14 MeV 17.1 keV 10 cm 2.24 m Tracker StepLimiter - 37 -91.5 cm -1.13 m -59 cm 14 MeV 30.2 keV 10 cm 2.34 m Tracker StepLimiter - 38 -95.1 cm -1.18 m -51.6 cm 14 MeV 16.5 keV 10 cm 2.44 m Tracker StepLimiter - 39 -98.7 cm -1.24 m -44.2 cm 13.9 MeV 14.9 keV 10 cm 2.54 m Tracker StepLimiter - 40 -1.02 m -1.3 m -36.6 cm 13.9 MeV 18 keV 10 cm 2.64 m Tracker StepLimiter - 41 -1.06 m -1.35 m -29.1 cm 13.9 MeV 15.4 keV 10 cm 2.74 m Tracker StepLimiter - 42 -1.09 m -1.41 m -21.8 cm 13.9 MeV 12.8 keV 10 cm 2.84 m Tracker StepLimiter - 43 -1.13 m -1.47 m -14.3 cm 13.9 MeV 12.4 keV 10 cm 2.94 m Tracker StepLimiter - 44 -1.16 m -1.52 m -6.84 cm 13.9 MeV 17.2 keV 10 cm 3.04 m Tracker StepLimiter - 45 -1.2 m -1.58 m 6.62 mm 13.9 MeV 21.6 keV 10 cm 3.14 m Tracker StepLimiter - 46 -1.24 m -1.63 m 8.14 cm 13.8 MeV 17.1 keV 10 cm 3.24 m Tracker StepLimiter - 47 -1.27 m -1.69 m 15.6 cm 13.8 MeV 18.8 keV 10 cm 3.34 m Tracker StepLimiter - 48 -1.31 m -1.75 m 23 cm 13.8 MeV 16 keV 10 cm 3.44 m Tracker StepLimiter - 49 -1.34 m -1.81 m 30.4 cm 13.8 MeV 28.5 keV 10 cm 3.54 m Tracker StepLimiter - 50 -1.37 m -1.86 m 38.1 cm 13.8 MeV 18 keV 10 cm 3.64 m Tracker StepLimiter - 51 -1.4 m -1.92 m 45.8 cm 13.7 MeV 14 keV 10 cm 3.74 m Tracker StepLimiter - 52 -1.43 m -1.97 m 53.6 cm 13.7 MeV 25.5 keV 10 cm 3.84 m Tracker StepLimiter - 53 -1.46 m -2.03 m 61.3 cm 13.7 MeV 21.5 keV 10 cm 3.94 m Tracker StepLimiter - 54 -1.49 m -2.08 m 68.9 cm 13.7 MeV 16.7 keV 10 cm 4.04 m Tracker StepLimiter - 55 -1.53 m -2.14 m 76.4 cm 13.7 MeV 17 keV 10 cm 4.14 m Tracker StepLimiter - 56 -1.56 m -2.2 m 83.9 cm 13.6 MeV 14.6 keV 10 cm 4.24 m Tracker StepLimiter - 57 -1.59 m -2.26 m 91.4 cm 13.6 MeV 15.6 keV 10 cm 4.34 m Tracker StepLimiter - 58 -1.59 m -2.26 m 91.5 cm 13.5 MeV 278 eV 2.39 mm 4.34 m Tracker eIoni - 59 -1.63 m -2.32 m 98.9 cm 13.5 MeV 22.4 keV 10 cm 4.44 m Tracker StepLimiter - 60 -1.66 m -2.38 m 1.06 m 13.5 MeV 27.1 keV 10 cm 4.54 m Tracker StepLimiter - 61 -1.67 m -2.4 m 1.09 m 13.5 MeV 5.43 keV 3.33 cm 4.57 m Tracker Transportation - 62 -1.89 m -2.91 m 1.68 m 13.3 MeV 149 keV 81.5 cm 5.39 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 347, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.59 m -2.26 m 91.5 cm 85.8 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.6 m -2.25 m 93.2 cm 78.5 keV 7.33 keV 2.16 cm 2.16 cm Tracker eIoni - 2 -1.61 m -2.24 m 94.2 cm 70.7 keV 7.77 keV 1.87 cm 4.02 cm Tracker eIoni - 3 -1.62 m -2.23 m 95.5 cm 54.4 keV 16.3 keV 1.59 cm 5.61 cm Tracker eIoni - 4 -1.62 m -2.23 m 96.3 cm 47.9 keV 6.52 keV 1.05 cm 6.66 cm Tracker eIoni - 5 -1.63 m -2.24 m 96.1 cm 37.4 keV 10.5 keV 8.69 mm 7.53 cm Tracker eIoni - 6 -1.63 m -2.24 m 96.2 cm 33.8 keV 3.54 keV 6.18 mm 8.15 cm Tracker eIoni - 7 -1.63 m -2.25 m 96 cm 30.1 keV 3.7 keV 5.4 mm 8.69 cm Tracker eIoni - 8 -1.63 m -2.25 m 95.8 cm 21.6 keV 8.55 keV 4.68 mm 9.16 cm Tracker eIoni - 9 -1.63 m -2.25 m 95.5 cm 17.8 keV 3.83 keV 3.24 mm 9.48 cm Tracker eIoni - 10 -1.63 m -2.25 m 95.6 cm 12.6 keV 5.17 keV 2.7 mm 9.75 cm Tracker eIoni - 11 -1.62 m -2.25 m 95.7 cm 8.95 keV 3.64 keV 2.04 mm 9.96 cm Tracker eIoni - 12 -1.62 m -2.25 m 95.8 cm 2.54 keV 6.41 keV 1.54 mm 10.1 cm Tracker eIoni - 13 -1.62 m -2.25 m 95.8 cm 0 eV 2.54 keV 226 um 10.1 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 346, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -16.5 cm -19.7 cm -2.07 m 71.1 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -17.2 cm -21.1 cm -2.07 m 64.2 keV 6.94 keV 1.6 cm 1.6 cm Tracker eIoni - 2 -16.7 cm -22.2 cm -2.07 m 51.8 keV 12.4 keV 1.36 cm 2.96 cm Tracker eIoni - 3 -17.3 cm -22.9 cm -2.07 m 44.5 keV 7.28 keV 9.82 mm 3.94 cm Tracker eIoni - 4 -17.8 cm -23 cm -2.07 m 40.9 keV 3.61 keV 7.81 mm 4.72 cm Tracker eIoni - 5 -18.1 cm -23.4 cm -2.06 m 37.1 keV 3.78 keV 6.95 mm 5.42 cm Tracker eIoni - 6 -18.5 cm -23.8 cm -2.06 m 27.2 keV 9.89 keV 6.13 mm 6.03 cm Tracker eIoni - 7 -18.5 cm -24 cm -2.06 m 22.2 keV 5.06 keV 4.17 mm 6.45 cm Tracker eIoni - 8 -18.3 cm -24.2 cm -2.06 m 17.2 keV 4.94 keV 3.33 mm 6.78 cm Tracker eIoni - 9 -18.2 cm -24.4 cm -2.06 m 9.83 keV 7.4 keV 2.63 mm 7.04 cm Tracker eIoni - 10 -18 cm -24.4 cm -2.06 m 5.53 keV 4.3 keV 1.68 mm 7.21 cm Tracker eIoni - 11 -18 cm -24.4 cm -2.06 m 0 eV 5.53 keV 814 um 7.29 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 345, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.62 mm 596 um -2.4 m 319 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.81 mm 1.58 mm -2.4 m 319 keV 0 eV 3.75 mm 3.75 mm Target Transportation - 2 -56.4 cm 46.2 cm -80 cm 319 keV 0 eV 1.76 m 1.76 m Tracker Transportation - 3 -63.4 cm 51.9 cm -60 cm 319 keV 0 eV 22 cm 1.98 m Chamber Transportation - 4 -84.3 cm 69.2 cm 0 fm 319 keV 0 eV 65.9 cm 2.64 m Tracker Transportation - 5 -91.3 cm 74.9 cm 20 cm 319 keV 0 eV 22 cm 2.86 m Chamber Transportation - 6 -1.12 m 92.2 cm 80 cm 319 keV 0 eV 65.9 cm 3.52 m Tracker Transportation - 7 -1.19 m 98 cm 1 m 319 keV 0 eV 22 cm 3.74 m Chamber Transportation - 8 -1.4 m 1.15 m 1.6 m 319 keV 0 eV 65.9 cm 4.39 m Tracker Transportation - 9 -1.47 m 1.21 m 1.8 m 319 keV 0 eV 22 cm 4.61 m Chamber Transportation - 10 -1.68 m 1.38 m 2.4 m 319 keV 0 eV 65.9 cm 5.27 m Tracker Transportation - 11 -1.86 m 1.53 m 2.91 m 319 keV 0 eV 56 cm 5.83 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 344, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.42 mm 567 um -2.4 m 378 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.1 mm 1.18 mm -2.4 m 378 keV 0 eV 4.41 mm 4.41 mm Target Transportation - 2 -1.01 m 36.7 cm 0.455 fm 378 keV 0 eV 2.63 m 2.63 m Tracker Transportation - 3 -1.1 m 39.7 cm 20 cm 378 keV 0 eV 21.9 cm 2.85 m Chamber Transportation - 4 -1.35 m 48.8 cm 80 cm 378 keV 0 eV 65.7 cm 3.51 m Tracker Transportation - 5 -1.43 m 51.9 cm 1 m 378 keV 0 eV 21.9 cm 3.73 m Chamber Transportation - 6 -1.68 m 61 cm 1.6 m 378 keV 0 eV 65.7 cm 4.39 m Tracker Transportation - 7 -1.77 m 64.1 cm 1.8 m 378 keV 0 eV 21.9 cm 4.6 m Chamber Transportation - 8 -2.02 m 73.2 cm 2.4 m 378 keV 0 eV 65.7 cm 5.26 m Tracker Transportation - 9 -2.23 m 81 cm 2.91 m 378 keV 0 eV 55.9 cm 5.82 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 343, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.77 mm 461 um -2.4 m 13.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -5.62 mm 1.25 mm -2.4 m 0 eV 0 eV 3.85 mm 3.85 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 349, Parent ID = 343 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.62 mm 1.25 mm -2.4 m 12.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 -6.23 mm 1.24 mm -2.4 m 11.6 MeV 795 keV 735 um 735 um Target msc - 2 -6.85 mm 979 um -2.4 m 10.9 MeV 794 keV 735 um 1.47 mm Target msc - 3 -6.73 mm 848 um -2.4 m 8.46 MeV 381 keV 374 um 1.84 mm Target eBrem - 4 -6.3 mm 441 um -2.4 m 7.67 MeV 798 keV 735 um 2.58 mm Target msc - 5 -6.34 mm 159 um -2.4 m 1.1 MeV 294 keV 326 um 2.91 mm Target eBrem - 6 -6.45 mm -28 um -2.4 m 196 keV 901 keV 735 um 3.64 mm Target msc - 7 -6.45 mm -30 um -2.4 m 0 eV 196 keV 76.4 um 3.72 mm Target eIoni - 8 -6.45 mm -30 um -2.4 m 0 eV 0 eV 0 fm 3.72 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 353, Parent ID = 349 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.45 mm -30 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.29 cm 1.18 cm -2.4 m 0 eV 88 keV 1.36 cm 1.36 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 354, Parent ID = 353 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.29 cm 1.18 cm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.29 cm 1.18 cm -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 352, Parent ID = 349 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.45 mm -30 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.48 mm -3.63 mm -2.4 m 511 keV 0 eV 4.15 mm 4.15 mm Target Transportation - 2 1.31 m -2.4 m -2.01 m 511 keV 0 eV 2.76 m 2.76 m Tracker Transportation - 3 1.59 m -2.91 m -1.93 m 511 keV 0 eV 58.7 cm 3.35 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 351, Parent ID = 349 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.34 mm 159 um -2.4 m 6.27 MeV 0 eV 0 fm 0 fm Target initStep - 1 -6.35 mm -1.48 mm -2.4 m 6.27 MeV 0 eV 1.75 mm 1.75 mm Target Transportation - 2 -1.43 cm -2.4 m -1.49 m 6.27 MeV 0 eV 2.56 m 2.57 m Tracker Transportation - 3 -1.6 cm -2.91 m -1.3 m 6.27 MeV 0 eV 54.5 cm 3.11 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 350, Parent ID = 349 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.73 mm 848 um -2.4 m 2.01 MeV 0 eV 0 fm 0 fm Target initStep - 1 -6.5 mm 96.9 um -2.4 m 2.01 MeV 0 eV 1.38 mm 1.38 mm Target Transportation - 2 72.3 cm -2.4 m 1.21 m 2.01 MeV 0 eV 4.39 m 4.39 m Tracker Transportation - 3 87.9 cm -2.91 m 1.97 m 2.01 MeV 0 eV 93.3 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 348, Parent ID = 343 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.62 mm 1.25 mm -2.4 m 320 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.63 mm 1.26 mm -2.4 m 0 eV 320 keV 164 um 164 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 342, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -945 um -140 um -2.41 m 1.09 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.49 mm -380 um -2.41 m 894 keV 0 eV 3.35 mm 3.35 mm Target compt - 2 -2.52 mm -392 um -2.4 m 0 eV 88 keV 1.47 mm 4.83 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 356, Parent ID = 342 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.52 mm -392 um -2.4 m 806 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.51 mm -388 um -2.4 m 0 eV 806 keV 562 um 562 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 355, Parent ID = 342 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.49 mm -380 um -2.41 m 201 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.49 mm -381 um -2.41 m 0 eV 201 keV 82.8 um 82.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 341, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -678 um -112 um -2.41 m 493 keV 0 eV 0 fm 0 fm Target initStep - 1 -778 um -139 um -2.41 m 465 keV 0 eV 222 um 222 um Target compt - 2 -836 um -137 um -2.41 m 227 keV 0 eV 82.1 um 304 um Target compt - 3 -1.02 mm -461 um -2.41 m 0 eV 88 keV 465 um 770 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 359, Parent ID = 341 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.02 mm -461 um -2.41 m 139 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.02 mm -462 um -2.41 m 0 eV 139 keV 46.7 um 46.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 358, Parent ID = 341 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -836 um -137 um -2.41 m 238 keV 0 eV 0 fm 0 fm Target initStep - 1 -839 um -134 um -2.41 m 0 eV 238 keV 107 um 107 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 357, Parent ID = 341 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -778 um -139 um -2.41 m 27.8 keV 0 eV 0 fm 0 fm Target initStep - 1 -778 um -139 um -2.41 m 0 eV 27.8 keV 3.45 um 3.45 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 340, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -288 um -131 um -2.41 m 12.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -4.09 mm -1.12 mm -2.4 m 12.8 MeV 0 eV 1.02 cm 1.02 cm Target Transportation - 2 -65 cm -16.9 cm -80 cm 12.8 MeV 0 eV 1.73 m 1.74 m Tracker Transportation - 3 -67.2 cm -17.4 cm -74.6 cm 12.8 MeV 0 eV 5.84 cm 1.8 m Chamber Transportation - 4 -97.3 cm -25.3 cm 0 fm 12.8 MeV 0 eV 80.8 cm 2.61 m Tracker Transportation - 5 -1.05 m -27.4 cm 20 cm 12.8 MeV 0 eV 21.7 cm 2.83 m Chamber Transportation - 6 -1.3 m -33.7 cm 80 cm 12.8 MeV 0 eV 65 cm 3.48 m Tracker Transportation - 7 -1.38 m -35.7 cm 1 m 12.8 MeV 0 eV 21.7 cm 3.69 m Chamber Transportation - 8 -1.62 m -42 cm 1.6 m 12.8 MeV 0 eV 65 cm 4.34 m Tracker Transportation - 9 -1.7 m -44.1 cm 1.8 m 12.8 MeV 0 eV 21.7 cm 4.56 m Chamber Transportation - 10 -1.94 m -50.4 cm 2.4 m 12.8 MeV 0 eV 65 cm 5.21 m Tracker Transportation - 11 -2.15 m -55.8 cm 2.91 m 12.8 MeV 0 eV 55.3 cm 5.76 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 339, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 um -121 um -2.41 m 4.06 MeV 0 eV 0 fm 0 fm Target initStep - 1 -4.06 mm -889 um -2.4 m 4.06 MeV 0 eV 1.03 cm 1.03 cm Target Transportation - 2 -64.4 cm -13 cm -80 cm 4.06 MeV 0 eV 1.73 m 1.74 m Tracker Transportation - 3 -67.2 cm -13.6 cm -73.1 cm 4.06 MeV 0 eV 7.46 cm 1.81 m Chamber Transportation - 4 -96.5 cm -19.4 cm -0.114 fm 4.06 MeV 0 eV 78.9 cm 2.6 m Tracker Transportation - 5 -1.04 m -21.1 cm 20 cm 4.06 MeV 0 eV 21.6 cm 2.82 m Chamber Transportation - 6 -1.28 m -25.9 cm 80 cm 4.06 MeV 0 eV 64.8 cm 3.47 m Tracker Transportation - 7 -1.36 m -27.5 cm 1 m 4.06 MeV 0 eV 21.6 cm 3.68 m Chamber Transportation - 8 -1.6 m -32.4 cm 1.6 m 4.06 MeV 0 eV 64.8 cm 4.33 m Tracker Transportation - 9 -1.68 m -34 cm 1.8 m 4.06 MeV 0 eV 21.6 cm 4.55 m Chamber Transportation - 10 -1.92 m -38.8 cm 2.4 m 4.06 MeV 0 eV 64.8 cm 5.19 m Tracker Transportation - 11 -2.13 m -42.9 cm 2.91 m 4.06 MeV 0 eV 55.1 cm 5.75 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 338, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -117 um -153 um -2.41 m 756 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.22 mm -29.5 um -2.4 m 756 keV 0 eV 1.03 cm 1.03 cm Target Transportation - 2 -16.9 cm 9.82 mm -1.6 m 756 keV 0 eV 81.7 cm 82.8 cm Tracker Transportation - 3 -21.1 cm 1.23 cm -1.4 m 756 keV 0 eV 20.4 cm 1.03 m Chamber Transportation - 4 -33.7 cm 1.97 cm -80 cm 756 keV 0 eV 61.3 cm 1.64 m Tracker Transportation - 5 -37.8 cm 2.21 cm -60 cm 756 keV 0 eV 20.4 cm 1.85 m Chamber Transportation - 6 -50.4 cm 2.95 cm 0 fm 756 keV 0 eV 61.3 cm 2.46 m Tracker Transportation - 7 -54.6 cm 3.2 cm 20 cm 756 keV 0 eV 20.4 cm 2.67 m Chamber Transportation - 8 -67.1 cm 3.94 cm 80 cm 756 keV 0 eV 61.3 cm 3.28 m Tracker Transportation - 9 -71.3 cm 4.18 cm 1 m 756 keV 0 eV 20.4 cm 3.48 m Chamber Transportation - 10 -83.8 cm 4.92 cm 1.6 m 756 keV 0 eV 61.3 cm 4.1 m Tracker Transportation - 11 -88 cm 5.17 cm 1.8 m 756 keV 0 eV 20.4 cm 4.3 m Chamber Transportation - 12 -1.01 m 5.91 cm 2.4 m 756 keV 0 eV 61.3 cm 4.91 m Tracker Transportation - 13 -1.11 m 6.53 cm 2.91 m 756 keV 0 eV 52.1 cm 5.44 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 337, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 57.3 um -23.3 um -2.41 m 14.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 121 um -300 um -2.4 m 0 eV 0 eV 1.12 cm 1.12 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 361, Parent ID = 337 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 121 um -300 um -2.4 m 10.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 76.6 um -292 um -2.4 m 10.2 MeV 289 keV 241 um 241 um Target eBrem - 2 125 um -241 um -2.4 m 9.14 MeV 1.09 MeV 492 um 733 um Target Transportation - 3 5.05 cm 2.73 cm -2.32 m 9.12 MeV 17.8 keV 10 cm 10.1 cm Tracker StepLimiter - 4 10.1 cm 5.66 cm -2.24 m 9.1 MeV 16.9 keV 10 cm 20.1 cm Tracker StepLimiter - 5 15 cm 8.35 cm -2.15 m 9.07 MeV 26.5 keV 10 cm 30.1 cm Tracker StepLimiter - 6 19.8 cm 11.5 cm -2.07 m 9.06 MeV 18.6 keV 10 cm 40.1 cm Tracker StepLimiter - 7 24.7 cm 14.7 cm -1.99 m 9.04 MeV 13.9 keV 10 cm 50.1 cm Tracker StepLimiter - 8 29.8 cm 17.8 cm -1.91 m 9.03 MeV 12.2 keV 10 cm 60.1 cm Tracker StepLimiter - 9 35 cm 20.6 cm -1.83 m 9.02 MeV 13.4 keV 10 cm 70.1 cm Tracker StepLimiter - 10 40.2 cm 23.6 cm -1.75 m 9 MeV 16.5 keV 10 cm 80.1 cm Tracker StepLimiter - 11 45 cm 26.6 cm -1.67 m 8.98 MeV 21.8 keV 10 cm 90.1 cm Tracker StepLimiter - 12 50 cm 30.3 cm -1.59 m 8.96 MeV 18 keV 10 cm 1 m Tracker StepLimiter - 13 55 cm 34.1 cm -1.51 m 8.94 MeV 17.9 keV 10 cm 1.1 m Tracker StepLimiter - 14 60 cm 37.6 cm -1.43 m 8.93 MeV 12.4 keV 10 cm 1.2 m Tracker StepLimiter - 15 64.8 cm 41.3 cm -1.35 m 8.91 MeV 21.9 keV 10 cm 1.3 m Tracker StepLimiter - 16 70 cm 44.9 cm -1.28 m 8.89 MeV 19.4 keV 10 cm 1.4 m Tracker StepLimiter - 17 75 cm 48.9 cm -1.2 m 8.87 MeV 14.2 keV 10 cm 1.5 m Tracker StepLimiter - 18 80.1 cm 52.5 cm -1.12 m 8.86 MeV 18.2 keV 10 cm 1.6 m Tracker StepLimiter - 19 85.3 cm 56.5 cm -1.05 m 8.84 MeV 17.2 keV 10 cm 1.7 m Tracker StepLimiter - 20 90.4 cm 60.5 cm -97 cm 8.82 MeV 17 keV 10 cm 1.8 m Tracker StepLimiter - 21 95.5 cm 64.4 cm -89.2 cm 8.8 MeV 23.9 keV 10 cm 1.9 m Tracker StepLimiter - 22 1.01 m 68.3 cm -81.6 cm 8.78 MeV 21.5 keV 10 cm 2 m Tracker StepLimiter - 23 1.05 m 72.4 cm -73.8 cm 8.76 MeV 12.9 keV 10 cm 2.1 m Tracker StepLimiter - 24 1.1 m 75.9 cm -65.7 cm 8.75 MeV 12.4 keV 10 cm 2.2 m Tracker StepLimiter - 25 1.15 m 79.4 cm -57.6 cm 8.73 MeV 17.4 keV 10 cm 2.3 m Tracker StepLimiter - 26 1.19 m 83.2 cm -49.6 cm 8.71 MeV 25.2 keV 10 cm 2.4 m Tracker StepLimiter - 27 1.24 m 86.7 cm -41.5 cm 8.68 MeV 28.8 keV 10 cm 2.5 m Tracker StepLimiter - 28 1.29 m 90 cm -33.6 cm 8.66 MeV 19.5 keV 10 cm 2.6 m Tracker StepLimiter - 29 1.34 m 93.6 cm -25.7 cm 8.64 MeV 16.7 keV 10 cm 2.7 m Tracker StepLimiter - 30 1.39 m 97.1 cm -17.8 cm 8.63 MeV 14.2 keV 10 cm 2.8 m Tracker StepLimiter - 31 1.44 m 1 m -9.75 cm 8.61 MeV 19.9 keV 10 cm 2.9 m Tracker StepLimiter - 32 1.49 m 1.04 m -1.78 cm 8.58 MeV 27.7 keV 10 cm 3 m Tracker StepLimiter - 33 1.54 m 1.07 m 6.38 cm 8.56 MeV 16.5 keV 10 cm 3.1 m Tracker StepLimiter - 34 1.59 m 1.1 m 14.6 cm 8.53 MeV 33.6 keV 10 cm 3.2 m Tracker StepLimiter - 35 1.64 m 1.14 m 22.6 cm 8.52 MeV 15.9 keV 10 cm 3.3 m Tracker StepLimiter - 36 1.68 m 1.17 m 30.8 cm 8.5 MeV 14.1 keV 10 cm 3.4 m Tracker StepLimiter - 37 1.73 m 1.2 m 39 cm 8.49 MeV 11.6 keV 10 cm 3.5 m Tracker StepLimiter - 38 1.78 m 1.23 m 47.3 cm 8.47 MeV 17.7 keV 10 cm 3.6 m Tracker StepLimiter - 39 1.82 m 1.26 m 55.6 cm 8.44 MeV 34.3 keV 10 cm 3.7 m Tracker StepLimiter - 40 1.87 m 1.29 m 64 cm 8.42 MeV 19 keV 10 cm 3.8 m Tracker StepLimiter - 41 1.91 m 1.32 m 72.5 cm 8.39 MeV 25 keV 10 cm 3.9 m Tracker StepLimiter - 42 1.96 m 1.35 m 81 cm 8.38 MeV 17.2 keV 10 cm 4 m Tracker StepLimiter - 43 2 m 1.38 m 89.6 cm 8.36 MeV 19.6 keV 10 cm 4.1 m Tracker StepLimiter - 44 2.04 m 1.42 m 98.1 cm 8.34 MeV 12.3 keV 10 cm 4.2 m Tracker StepLimiter - 45 2.08 m 1.45 m 1.07 m 8.32 MeV 20.2 keV 10 cm 4.3 m Tracker StepLimiter - 46 2.11 m 1.49 m 1.15 m 8.3 MeV 20.1 keV 10 cm 4.4 m Tracker StepLimiter - 47 2.15 m 1.53 m 1.23 m 8.28 MeV 20 keV 10 cm 4.5 m Tracker StepLimiter - 48 2.19 m 1.57 m 1.32 m 8.27 MeV 16.4 keV 10 cm 4.6 m Tracker StepLimiter - 49 2.24 m 1.61 m 1.4 m 8.25 MeV 21.2 keV 10 cm 4.7 m Tracker StepLimiter - 50 2.28 m 1.64 m 1.48 m 8.22 MeV 22 keV 10 cm 4.8 m Tracker StepLimiter - 51 2.32 m 1.68 m 1.56 m 8.19 MeV 32.2 keV 10 cm 4.9 m Tracker StepLimiter - 52 2.36 m 1.73 m 1.64 m 8.18 MeV 15.4 keV 10 cm 5 m Tracker StepLimiter - 53 2.4 m 1.76 m 1.7 m 8.16 MeV 14.3 keV 8.04 cm 5.08 m Tracker Transportation - 54 2.87 m 2.18 m 2.41 m 7.87 MeV 225 keV 94.9 cm 6.03 m World eIoni - 55 2.91 m 2.22 m 2.46 m 7.86 MeV 10.7 keV 7.53 cm 6.11 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 363, Parent ID = 361 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.87 m 2.18 m 2.41 m 69.4 keV 0 eV 0 fm 0 fm World initStep - 1 2.87 m 2.18 m 2.42 m 60.9 keV 8.46 keV 1.54 cm 1.54 cm World eIoni - 2 2.87 m 2.17 m 2.43 m 51.9 keV 9.02 keV 1.25 cm 2.79 cm World eIoni - 3 2.87 m 2.17 m 2.44 m 46.9 keV 5.05 keV 9.85 mm 3.77 cm World eIoni - 4 2.88 m 2.17 m 2.44 m 40.4 keV 6.42 keV 8.42 mm 4.61 cm World eIoni - 5 2.88 m 2.16 m 2.44 m 36.1 keV 4.39 keV 6.84 mm 5.3 cm World eIoni - 6 2.89 m 2.16 m 2.44 m 31.2 keV 4.83 keV 5.88 mm 5.89 cm World eIoni - 7 2.89 m 2.15 m 2.45 m 23.5 keV 7.68 keV 4.88 mm 6.37 cm World eIoni - 8 2.89 m 2.15 m 2.44 m 19.4 keV 4.11 keV 3.55 mm 6.73 cm World eIoni - 9 2.89 m 2.15 m 2.44 m 16.5 keV 2.97 keV 2.94 mm 7.02 cm World eIoni - 10 2.89 m 2.15 m 2.44 m 8.18 keV 8.28 keV 2.53 mm 7.28 cm World eIoni - 11 2.89 m 2.15 m 2.44 m 1.78 keV 6.39 keV 1.41 mm 7.42 cm World eIoni - 12 2.89 m 2.15 m 2.44 m 0 eV 1.78 keV 131 um 7.43 cm World eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 362, Parent ID = 361 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 76.6 um -292 um -2.4 m 283 keV 0 eV 0 fm 0 fm Target initStep - 1 161 um -205 um -2.4 m 283 keV 0 eV 472 um 472 um Target Transportation - 2 14.9 cm 15.3 cm -1.6 m 283 keV 0 eV 82.8 cm 82.9 cm Tracker Transportation - 3 18.6 cm 19.2 cm -1.4 m 283 keV 0 eV 20.7 cm 1.04 m Chamber Transportation - 4 29.8 cm 30.7 cm -80 cm 283 keV 0 eV 62.1 cm 1.66 m Tracker Transportation - 5 33.5 cm 34.5 cm -60 cm 283 keV 0 eV 20.7 cm 1.86 m Chamber Transportation - 6 44.7 cm 46.1 cm 0 fm 283 keV 0 eV 62.1 cm 2.48 m Tracker Transportation - 7 48.4 cm 49.9 cm 20 cm 283 keV 0 eV 20.7 cm 2.69 m Chamber Transportation - 8 59.6 cm 61.4 cm 80 cm 283 keV 0 eV 62.1 cm 3.31 m Tracker Transportation - 9 63.3 cm 65.3 cm 1 m 283 keV 0 eV 20.7 cm 3.52 m Chamber Transportation - 10 74.5 cm 76.8 cm 1.6 m 283 keV 0 eV 62.1 cm 4.14 m Tracker Transportation - 11 78.2 cm 80.6 cm 1.8 m 283 keV 0 eV 20.7 cm 4.35 m Chamber Transportation - 12 89.3 cm 92.2 cm 2.4 m 283 keV 0 eV 62.1 cm 4.97 m Tracker Transportation - 13 98.8 cm 1.02 m 2.91 m 283 keV 0 eV 52.8 cm 5.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 360, Parent ID = 337 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 121 um -300 um -2.4 m 2.26 MeV 0 eV 0 fm 0 fm Target initStep - 1 73.9 um -216 um -2.4 m 2.01 MeV 248 keV 207 um 207 um Target msc - 2 -37.5 um -228 um -2.4 m 1.87 MeV 142 keV 136 um 343 um Target msc - 3 -131 um -222 um -2.4 m 1.77 MeV 96.9 keV 108 um 451 um Target msc - 4 -141 um -309 um -2.4 m 1.65 MeV 120 keV 106 um 557 um Target msc - 5 -196 um -332 um -2.4 m 1.59 MeV 62.2 keV 83.9 um 641 um Target msc - 6 -194 um -392 um -2.4 m 780 keV 77.9 keV 71.9 um 713 um Target eBrem - 7 -173 um -428 um -2.4 m 699 keV 80.8 keV 84.6 um 798 um Target msc - 8 -204 um -442 um -2.4 m 614 keV 85.5 keV 83.1 um 881 um Target msc - 9 -240 um -433 um -2.4 m 521 keV 92.5 keV 84.1 um 965 um Target msc - 10 -232 um -471 um -2.4 m 451 keV 70.6 keV 71.9 um 1.04 mm Target msc - 11 -227 um -478 um -2.4 m 351 keV 99.5 keV 71.4 um 1.11 mm Target msc - 12 -227 um -466 um -2.4 m 0 eV 351 keV 188 um 1.3 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 364, Parent ID = 360 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -194 um -392 um -2.4 m 731 keV 0 eV 0 fm 0 fm Target initStep - 1 -879 um -758 um -2.4 m 731 keV 0 eV 1 mm 1 mm Target Transportation - 2 -2.4 m -1.28 m -19 cm 731 keV 0 eV 3.5 m 3.5 m Tracker Transportation - 3 -2.91 m -1.55 m 28 cm 731 keV 0 eV 74.5 cm 4.25 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 336, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 77.9 um -21.2 um -2.41 m 3.48 MeV 0 eV 0 fm 0 fm Target initStep - 1 84.4 um -35 um -2.41 m 0 eV 0 eV 704 um 704 um Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 366, Parent ID = 336 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 84.4 um -35 um -2.41 m 1.55 MeV 0 eV 0 fm 0 fm Target initStep - 1 -75.6 um -263 um -2.41 m 362 keV 1.19 MeV 1.19 mm 1.19 mm Target eIoni - 2 -61 um -275 um -2.41 m 0 eV 362 keV 193 um 1.38 mm Target eIoni - 3 -61 um -275 um -2.41 m 0 eV 0 eV 0 fm 1.38 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 368, Parent ID = 366 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -61 um -275 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -211 um -46.6 um -2.41 m 370 keV 0 eV 518 um 518 um Target compt - 2 -889 um -647 um -2.41 m 0 eV 88 keV 1.46 mm 1.98 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 370, Parent ID = 368 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -889 um -647 um -2.41 m 282 keV 0 eV 0 fm 0 fm Target initStep - 1 -885 um -651 um -2.41 m 0 eV 282 keV 137 um 137 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 369, Parent ID = 368 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -211 um -46.6 um -2.41 m 141 keV 0 eV 0 fm 0 fm Target initStep - 1 -210 um -43.6 um -2.41 m 0 eV 141 keV 47.9 um 47.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 367, Parent ID = 366 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -61 um -275 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 2.1 mm -3.58 mm -2.41 m 0 eV 88 keV 7.49 mm 7.49 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 371, Parent ID = 367 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.1 mm -3.58 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 2.09 mm -3.58 mm -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 365, Parent ID = 336 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 84.4 um -35 um -2.41 m 907 keV 0 eV 0 fm 0 fm Target initStep - 1 88.7 um -32.6 um -2.41 m 0 eV 907 keV 649 um 649 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 335, Parent ID = 334 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 13 um -68.7 um -2.41 m 320 keV 0 eV 0 fm 0 fm Target initStep - 1 25.3 um -24.6 um -2.41 m 0 eV 88 keV 502 um 502 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 372, Parent ID = 335 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 25.3 um -24.6 um -2.41 m 232 keV 0 eV 0 fm 0 fm Target initStep - 1 30.3 um -21.9 um -2.41 m 0 eV 232 keV 103 um 103 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 333, Parent ID = 262 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 910 nm -73.1 um -2.41 m 52.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 56 um -56.3 um -2.41 m 36.1 MeV 920 keV 760 um 760 um Target eBrem - 2 61.7 um -65.2 um -2.41 m 34 MeV 186 keV 190 um 950 um Target eBrem - 3 66.8 um -66.4 um -2.41 m 33.2 MeV 259 keV 81.4 um 1.03 mm Target eBrem - 4 231 um 23.9 um -2.41 m 31.5 MeV 1.3 MeV 1.12 mm 2.15 mm Target eBrem - 5 223 um 1.92 um -2.41 m 30.6 MeV 223 keV 184 um 2.34 mm Target eBrem - 6 -37.5 um 103 um -2.41 m 16.5 MeV 1.6 MeV 1.36 mm 3.7 mm Target eBrem - 7 591 um -211 um -2.41 m 10.3 MeV 3.29 MeV 2.54 mm 6.24 mm Target eBrem - 8 516 um 102 um -2.41 m 8.31 MeV 1.48 MeV 1.11 mm 7.35 mm Target eBrem - 9 1.12 mm -1.37 mm -2.41 m 4.66 MeV 3.65 MeV 2.74 mm 1.01 cm Target eIoni - 10 1.99 mm -1.28 mm -2.41 m 1.84 MeV 2.81 MeV 2.11 mm 1.22 cm Target eIoni - 11 2.06 mm -1.4 mm -2.41 m 0 eV 1.84 MeV 1.33 mm 1.35 cm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 380, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 516 um 102 um -2.41 m 491 keV 0 eV 0 fm 0 fm Target initStep - 1 1.07 mm 209 um -2.4 m 491 keV 0 eV 7.49 mm 7.49 mm Target Transportation - 2 6.05 cm 1.17 cm -1.6 m 491 keV 0 eV 80.2 cm 81 cm Tracker Transportation - 3 7.54 cm 1.46 cm -1.4 m 491 keV 0 eV 20.1 cm 1.01 m Chamber Transportation - 4 12 cm 2.32 cm -80 cm 491 keV 0 eV 60.2 cm 1.61 m Tracker Transportation - 5 13.5 cm 2.6 cm -60 cm 491 keV 0 eV 20.1 cm 1.81 m Chamber Transportation - 6 17.9 cm 3.46 cm 0 fm 491 keV 0 eV 60.2 cm 2.41 m Tracker Transportation - 7 19.4 cm 3.75 cm 20 cm 491 keV 0 eV 20.1 cm 2.61 m Chamber Transportation - 8 23.9 cm 4.61 cm 80 cm 491 keV 0 eV 60.2 cm 3.22 m Tracker Transportation - 9 25.4 cm 4.9 cm 1 m 491 keV 0 eV 20.1 cm 3.42 m Chamber Transportation - 10 29.8 cm 5.76 cm 1.6 m 491 keV 0 eV 60.2 cm 4.02 m Tracker Transportation - 11 31.3 cm 6.05 cm 1.8 m 491 keV 0 eV 20.1 cm 4.22 m Chamber Transportation - 12 35.8 cm 6.91 cm 2.4 m 491 keV 0 eV 60.2 cm 4.82 m Tracker Transportation - 13 39.6 cm 7.64 cm 2.91 m 491 keV 0 eV 51.1 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 379, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 591 um -211 um -2.41 m 2.97 MeV 0 eV 0 fm 0 fm Target initStep - 1 4.8 mm 3.85 mm -2.4 m 2.97 MeV 0 eV 1.03 cm 1.03 cm Target Transportation - 2 2.4 m 2.31 m 2.4 m 2.97 MeV 0 eV 5.84 m 5.85 m Tracker Transportation - 3 2.66 m 2.56 m 2.91 m 2.97 MeV 0 eV 62.5 cm 6.47 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 378, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -37.5 um 103 um -2.41 m 12.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 415 um 552 um -2.41 m 0 eV 0 eV 1.56 mm 1.56 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 382, Parent ID = 378 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 415 um 552 um -2.41 m 10.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.21 mm 300 um -2.41 m 6.81 MeV 2.75 MeV 1.76 mm 1.76 mm Target eBrem - 2 1.01 mm -81.3 um -2.41 m 5.74 MeV 649 keV 455 um 2.21 mm Target eBrem - 3 1.09 mm -287 um -2.41 m 2.97 MeV 282 keV 240 um 2.45 mm Target eBrem - 4 1.24 mm -566 um -2.41 m 2.5 MeV 466 keV 472 um 2.93 mm Target eBrem - 5 1.63 mm -475 um -2.41 m 0 eV 1.75 MeV 1.03 mm 3.95 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 387, Parent ID = 382 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.63 mm -475 um -2.41 m 1.24 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.84 mm -5.59 mm -2.4 m 1.24 MeV 0 eV 9.97 mm 9.97 mm Target Transportation - 2 -1.63 m -2.4 m 1.26 m 1.24 MeV 0 eV 4.67 m 4.68 m Tracker Transportation - 3 -1.97 m -2.91 m 2.04 m 1.24 MeV 0 eV 99.4 cm 5.67 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 386, Parent ID = 382 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.63 mm -475 um -2.41 m 537 keV 0 eV 0 fm 0 fm Target initStep - 1 9.04 mm 4.07 mm -2.41 m 0 eV 88 keV 8.94 mm 8.94 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 388, Parent ID = 386 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.04 mm 4.07 mm -2.41 m 449 keV 0 eV 0 fm 0 fm Target initStep - 1 9.04 mm 4.08 mm -2.41 m 0 eV 449 keV 263 um 263 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 385, Parent ID = 382 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.09 mm -287 um -2.41 m 2.49 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.12 cm -2.1 cm -2.41 m 2.32 MeV 0 eV 2.95 cm 2.95 cm Target compt - 2 2.44 cm -2.5 cm -2.41 m 2.32 MeV 0 eV 5.11 mm 3.46 cm Target Transportation - 3 2.34 m -2.91 m -2.58 m 2.32 MeV 0 eV 3.7 m 3.74 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 389, Parent ID = 385 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.12 cm -2.1 cm -2.41 m 172 keV 0 eV 0 fm 0 fm Target initStep - 1 2.12 cm -2.1 cm -2.41 m 0 eV 172 keV 65.3 um 65.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 384, Parent ID = 382 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.01 mm -81.3 um -2.41 m 418 keV 0 eV 0 fm 0 fm Target initStep - 1 1.48 mm -7.67 mm -2.41 m 295 keV 0 eV 8.68 mm 8.68 mm Target compt - 2 3.65 mm -1.28 cm -2.41 m 0 eV 88 keV 6.33 mm 1.5 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 391, Parent ID = 384 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.65 mm -1.28 cm -2.41 m 207 keV 0 eV 0 fm 0 fm Target initStep - 1 3.65 mm -1.28 cm -2.41 m 0 eV 207 keV 86.5 um 86.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 390, Parent ID = 384 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.48 mm -7.67 mm -2.41 m 123 keV 0 eV 0 fm 0 fm Target initStep - 1 1.48 mm -7.67 mm -2.41 m 0 eV 123 keV 38.6 um 38.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 383, Parent ID = 382 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.21 mm 300 um -2.41 m 548 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.19 mm -8.79 mm -2.4 m 0 eV 88 keV 1.06 cm 1.06 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 392, Parent ID = 383 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.19 mm -8.79 mm -2.4 m 460 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.19 mm -8.81 mm -2.4 m 0 eV 460 keV 272 um 272 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 381, Parent ID = 378 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 415 um 552 um -2.41 m 1.36 MeV 0 eV 0 fm 0 fm Target initStep - 1 572 um 524 um -2.41 m 255 keV 1.11 MeV 1.04 mm 1.04 mm Target eIoni - 2 569 um 518 um -2.41 m 0 eV 255 keV 118 um 1.16 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 377, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 223 um 1.92 um -2.41 m 620 keV 0 eV 0 fm 0 fm Target initStep - 1 -412 um -342 um -2.41 m 0 eV 88 keV 4.08 mm 4.08 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 393, Parent ID = 377 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -412 um -342 um -2.41 m 532 keV 0 eV 0 fm 0 fm Target initStep - 1 -397 um -339 um -2.41 m 0 eV 532 keV 331 um 331 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 376, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 231 um 23.9 um -2.41 m 414 keV 0 eV 0 fm 0 fm Target initStep - 1 140 um -541 um -2.41 m 0 eV 88 keV 3.08 mm 3.08 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 394, Parent ID = 376 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 140 um -541 um -2.41 m 326 keV 0 eV 0 fm 0 fm Target initStep - 1 135 um -538 um -2.41 m 0 eV 326 keV 169 um 169 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 375, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 66.8 um -66.4 um -2.41 m 574 keV 0 eV 0 fm 0 fm Target initStep - 1 300 um -187 um -2.41 m 337 keV 0 eV 2.73 mm 2.73 mm Target compt - 2 475 um 69.3 um -2.41 m 0 eV 88 keV 333 um 3.06 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 396, Parent ID = 375 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 475 um 69.3 um -2.41 m 249 keV 0 eV 0 fm 0 fm Target initStep - 1 477 um 70.5 um -2.41 m 0 eV 249 keV 114 um 114 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 395, Parent ID = 375 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 300 um -187 um -2.41 m 237 keV 0 eV 0 fm 0 fm Target initStep - 1 298 um -190 um -2.41 m 0 eV 237 keV 106 um 106 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 374, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 61.7 um -65.2 um -2.41 m 1.92 MeV 0 eV 0 fm 0 fm Target initStep - 1 377 um -724 um -2.4 m 1.92 MeV 0 eV 1.34 cm 1.34 cm Target Transportation - 2 1.93 cm -4.02 cm -1.6 m 1.92 MeV 0 eV 80.1 cm 81.5 cm Tracker Transportation - 3 2.4 cm -5 cm -1.4 m 1.92 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 3.82 cm -7.96 cm -80 cm 1.92 MeV 0 eV 60.1 cm 1.62 m Tracker Transportation - 5 4.29 cm -8.95 cm -60 cm 1.92 MeV 0 eV 20 cm 1.82 m Chamber Transportation - 6 5.71 cm -11.9 cm 0 fm 1.92 MeV 0 eV 60.1 cm 2.42 m Tracker Transportation - 7 6.19 cm -12.9 cm 20 cm 1.92 MeV 0 eV 20 cm 2.62 m Chamber Transportation - 8 7.6 cm -15.9 cm 80 cm 1.92 MeV 0 eV 60.1 cm 3.22 m Tracker Transportation - 9 8.08 cm -16.8 cm 1 m 1.92 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 9.5 cm -19.8 cm 1.6 m 1.92 MeV 0 eV 60.1 cm 4.02 m Tracker Transportation - 11 9.97 cm -20.8 cm 1.8 m 1.92 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 11.4 cm -23.7 cm 2.4 m 1.92 MeV 0 eV 60.1 cm 4.82 m Tracker Transportation - 13 12.6 cm -26.3 cm 2.91 m 1.92 MeV 0 eV 51.1 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 373, Parent ID = 333 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 56 um -56.3 um -2.41 m 15.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.19 mm -1.09 mm -2.4 m 15.4 MeV 0 eV 1.36 cm 1.36 cm Target Transportation - 2 6.81 cm -6.19 cm -1.6 m 15.4 MeV 0 eV 80.5 cm 81.9 cm Tracker Transportation - 3 8.49 cm -7.71 cm -1.4 m 15.4 MeV 0 eV 20.1 cm 1.02 m Chamber Transportation - 4 13.5 cm -12.3 cm -80 cm 15.4 MeV 0 eV 60.4 cm 1.62 m Tracker Transportation - 5 15.2 cm -13.8 cm -60 cm 15.4 MeV 0 eV 20.1 cm 1.83 m Chamber Transportation - 6 20.2 cm -18.4 cm 0 fm 15.4 MeV 0 eV 60.4 cm 2.43 m Tracker Transportation - 7 21.9 cm -19.9 cm 20 cm 15.4 MeV 0 eV 20.1 cm 2.63 m Chamber Transportation - 8 26.9 cm -24.4 cm 80 cm 15.4 MeV 0 eV 60.4 cm 3.23 m Tracker Transportation - 9 28.6 cm -26 cm 1 m 15.4 MeV 0 eV 20.1 cm 3.44 m Chamber Transportation - 10 33.6 cm -30.5 cm 1.6 m 15.4 MeV 0 eV 60.4 cm 4.04 m Tracker Transportation - 11 35.3 cm -32.1 cm 1.8 m 15.4 MeV 0 eV 20.1 cm 4.24 m Chamber Transportation - 12 40.3 cm -36.6 cm 2.4 m 15.4 MeV 0 eV 60.4 cm 4.84 m Tracker Transportation - 13 44.5 cm -40.5 cm 2.91 m 15.4 MeV 0 eV 51.3 cm 5.36 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 261, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 11.7 um -64.4 um -2.42 m 468 keV 0 eV 0 fm 0 fm Target initStep - 1 -109 um -280 um -2.41 m 0 eV 88 keV 7.62 mm 7.62 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 397, Parent ID = 261 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -109 um -280 um -2.41 m 380 keV 0 eV 0 fm 0 fm Target initStep - 1 -116 um -285 um -2.41 m 0 eV 380 keV 210 um 210 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 260, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.96 um -8.12 um -2.42 m 1.23 MeV 0 eV 0 fm 0 fm Target initStep - 1 30.3 um -47.3 um -2.41 m 225 keV 0 eV 2.94 mm 2.94 mm Target compt - 2 366 um 106 um -2.41 m 0 eV 88 keV 717 um 3.66 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 399, Parent ID = 260 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 366 um 106 um -2.41 m 137 keV 0 eV 0 fm 0 fm Target initStep - 1 367 um 108 um -2.41 m 0 eV 137 keV 46 um 46 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 398, Parent ID = 260 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 30.3 um -47.3 um -2.41 m 1.01 MeV 0 eV 0 fm 0 fm Target initStep - 1 25.4 um -40.4 um -2.41 m 527 keV 16.1 keV 22.6 um 22.6 um Target eBrem - 2 34.6 um -26.5 um -2.41 m 0 eV 527 keV 327 um 350 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 400, Parent ID = 398 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 25.4 um -40.4 um -2.41 m 466 keV 0 eV 0 fm 0 fm Target initStep - 1 -836 um 1.92 mm -2.42 m 0 eV 88 keV 2.8 mm 2.8 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 401, Parent ID = 400 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -836 um 1.92 mm -2.42 m 378 keV 0 eV 0 fm 0 fm Target initStep - 1 -832 um 1.92 mm -2.42 m 0 eV 378 keV 208 um 208 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.97 um -1.77 um -2.42 m 154 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.85 um 7.29 um -2.41 m 0 eV 0 eV 4.27 mm 4.27 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 403, Parent ID = 115 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.85 um 7.29 um -2.41 m 71 MeV 0 eV 0 fm 0 fm Target initStep - 1 -24.5 um -2.26 um -2.41 m 69.1 MeV 713 keV 547 um 547 um Target eBrem - 2 -30.6 um -11.3 um -2.41 m 60.3 MeV 174 keV 162 um 709 um Target eBrem - 3 -65.7 um 31.7 um -2.41 m 58.9 MeV 1.12 MeV 769 um 1.48 mm Target eBrem - 4 -32.5 um 154 um -2.41 m 54.7 MeV 1.45 MeV 1.22 mm 2.7 mm Target eBrem - 5 -426 um 779 um -2.41 m 33.1 MeV 3.75 MeV 3.08 mm 5.78 mm Target eBrem - 6 -474 um 801 um -2.41 m 16.8 MeV 384 keV 338 um 6.12 mm Target eBrem - 7 -968 um 667 um -2.41 m 6.07 MeV 1.22 MeV 1.03 mm 7.15 mm Target eBrem - 8 -1.34 mm 296 um -2.41 m 4.24 MeV 1.45 MeV 1.31 mm 8.47 mm Target eBrem - 9 -1.08 mm -360 um -2.41 m 1.8 MeV 1.16 MeV 998 um 9.46 mm Target eBrem - 10 -942 um -155 um -2.41 m 598 keV 1.2 MeV 1.33 mm 1.08 cm Target eIoni - 11 -964 um -128 um -2.41 m 0 eV 598 keV 387 um 1.12 cm Target eIoni - 12 -964 um -128 um -2.41 m 0 eV 0 eV 0 fm 1.12 cm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 414, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -964 um -128 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.86 mm -60.4 um -2.41 m 0 eV 88 keV 1.9 mm 1.9 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 415, Parent ID = 414 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.86 mm -60.4 um -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.87 mm -53.8 um -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 413, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -964 um -128 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 4.25 mm -314 um -2.41 m 0 eV 88 keV 5.22 mm 5.22 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 416, Parent ID = 413 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.25 mm -314 um -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 4.26 mm -308 um -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 412, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.08 mm -360 um -2.41 m 1.28 MeV 0 eV 0 fm 0 fm Target initStep - 1 4.12 mm -2.31 mm -2.4 m 1.28 MeV 0 eV 8.52 mm 8.52 mm Target Transportation - 2 2.4 m -90 cm 57.6 cm 1.28 MeV 0 eV 3.92 m 3.93 m Tracker Transportation - 3 2.91 m -1.09 m 1.21 m 1.28 MeV 0 eV 83.5 cm 4.77 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 411, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.34 mm 296 um -2.41 m 381 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.84 mm -3.06 mm -2.4 m 0 eV 88 keV 6.52 mm 6.52 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 417, Parent ID = 411 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.84 mm -3.06 mm -2.4 m 293 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.84 mm -3.06 mm -2.4 m 0 eV 293 keV 145 um 145 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 410, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -968 um 667 um -2.41 m 9.51 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.71 mm -1.67 mm -2.4 m 7.55 MeV 0 eV 8.37 mm 8.37 mm Target compt - 2 -3.77 mm -1.69 mm -2.4 m 7.55 MeV 0 eV 181 um 8.55 mm Target Transportation - 3 -57.5 cm -19.8 cm -80 cm 7.55 MeV 0 eV 1.71 m 1.72 m Tracker Transportation - 4 -64.6 cm -22.3 cm -60 cm 7.55 MeV 0 eV 21.4 cm 1.93 m Chamber Transportation - 5 -86 cm -29.7 cm 0.114 fm 7.55 MeV 0 eV 64.1 cm 2.57 m Tracker Transportation - 6 -93.1 cm -32.1 cm 20 cm 7.55 MeV 0 eV 21.4 cm 2.79 m Chamber Transportation - 7 -1.15 m -39.5 cm 80 cm 7.55 MeV 0 eV 64.1 cm 3.43 m Tracker Transportation - 8 -1.22 m -41.9 cm 1 m 7.55 MeV 0 eV 21.4 cm 3.64 m Chamber Transportation - 9 -1.43 m -49.3 cm 1.6 m 7.55 MeV 0 eV 64.1 cm 4.28 m Tracker Transportation - 10 -1.5 m -51.8 cm 1.8 m 7.55 MeV 0 eV 21.4 cm 4.5 m Chamber Transportation - 11 -1.72 m -59.2 cm 2.4 m 7.55 MeV 0 eV 64.1 cm 5.14 m Tracker Transportation - 12 -1.9 m -65.4 cm 2.91 m 7.55 MeV 0 eV 54.5 cm 5.68 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 418, Parent ID = 410 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.71 mm -1.67 mm -2.4 m 1.96 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.7 mm -1.72 mm -2.4 m 1.88 MeV 85.9 keV 61.7 um 61.7 um Target msc - 2 -3.67 mm -1.76 mm -2.4 m 1.74 MeV 142 keV 61.7 um 123 um Target msc - 3 -3.63 mm -1.78 mm -2.4 m 1.66 MeV 78.7 keV 61.7 um 185 um Target msc - 4 -3.58 mm -1.77 mm -2.4 m 1.59 MeV 65.4 keV 61.7 um 247 um Target msc - 5 -3.54 mm -1.77 mm -2.4 m 1.52 MeV 73.7 keV 61.7 um 309 um Target msc - 6 -3.49 mm -1.75 mm -2.4 m 1.47 MeV 47.9 keV 61.7 um 370 um Target msc - 7 -3.43 mm -1.73 mm -2.4 m 1.39 MeV 79.1 keV 66.1 um 436 um Target msc - 8 -3.42 mm -1.73 mm -2.4 m 1.33 MeV 57.5 keV 61.7 um 498 um Target msc - 9 -3.39 mm -1.77 mm -2.4 m 1.26 MeV 72.9 keV 61.7 um 560 um Target msc - 10 -3.38 mm -1.82 mm -2.4 m 1.2 MeV 63.3 keV 61.7 um 622 um Target msc - 11 -3.38 mm -1.81 mm -2.4 m 1.14 MeV 59.6 keV 61.7 um 683 um Target msc - 12 -3.35 mm -1.82 mm -2.4 m 1.08 MeV 53 keV 61.7 um 745 um Target msc - 13 -3.33 mm -1.81 mm -2.4 m 1.03 MeV 58.3 keV 61.7 um 807 um Target msc - 14 -3.35 mm -1.77 mm -2.4 m 601 keV 35.7 keV 46.8 um 853 um Target eBrem - 15 -3.34 mm -1.77 mm -2.4 m 484 keV 117 keV 61.7 um 915 um Target msc - 16 -3.36 mm -1.78 mm -2.4 m 396 keV 88.3 keV 61.7 um 977 um Target msc - 17 -3.35 mm -1.79 mm -2.4 m 301 keV 94.6 keV 61.7 um 1.04 mm Target msc - 18 -3.37 mm -1.77 mm -2.4 m 243 keV 58.7 keV 61.7 um 1.1 mm Target msc - 19 -3.38 mm -1.76 mm -2.4 m 135 keV 107 keV 61.7 um 1.16 mm Target msc - 20 -3.38 mm -1.76 mm -2.4 m 0 eV 135 keV 44.9 um 1.21 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 419, Parent ID = 418 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.35 mm -1.77 mm -2.4 m 389 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.19 mm 1.92 mm -2.41 m 377 keV 0 eV 8.48 mm 8.48 mm Target compt - 2 -6.3 mm 2.98 mm -2.41 m 339 keV 0 eV 2.4 mm 1.09 cm Target compt - 3 -6.47 mm 4.49 mm -2.41 m 0 eV 88 keV 1.79 mm 1.27 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 422, Parent ID = 419 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.47 mm 4.49 mm -2.41 m 251 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.47 mm 4.49 mm -2.41 m 0 eV 251 keV 116 um 116 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 421, Parent ID = 419 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.3 mm 2.98 mm -2.41 m 37.6 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.3 mm 2.98 mm -2.41 m 0 eV 37.6 keV 5.64 um 5.64 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 420, Parent ID = 419 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.19 mm 1.92 mm -2.41 m 12.4 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.19 mm 1.92 mm -2.41 m 0 eV 12.4 keV 966 nm 966 nm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 409, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -474 um 801 um -2.41 m 15.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.29 mm 673 um -2.41 m 0 eV 0 eV 3.32 mm 3.32 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 424, Parent ID = 409 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.29 mm 673 um -2.41 m 8.69 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.01 mm 1.03 mm -2.4 m 6.72 MeV 1.97 MeV 1.61 mm 1.61 mm Target msc - 2 -1.22 mm 1.12 mm -2.4 m 5.33 MeV 1.39 MeV 1.02 mm 2.63 mm Target msc - 3 -1.08 mm 924 um -2.4 m 4.36 MeV 967 keV 810 um 3.44 mm Target msc - 4 -745 um 500 um -2.4 m 3.76 MeV 607 keV 639 um 4.08 mm Target msc - 5 -459 um 680 um -2.4 m 2.45 MeV 377 keV 398 um 4.48 mm Target eBrem - 6 -239 um 940 um -2.4 m 779 keV 1.67 MeV 553 um 5.03 mm Target msc - 7 -200 um 967 um -2.4 m 0 eV 779 keV 543 um 5.58 mm Target eIoni - 8 -200 um 967 um -2.4 m 0 eV 0 eV 0 fm 5.58 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 427, Parent ID = 424 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -200 um 967 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 2.45 mm -768 um -2.4 m 0 eV 88 keV 3.17 mm 3.17 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 428, Parent ID = 427 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.45 mm -768 um -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 2.46 mm -778 um -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 426, Parent ID = 424 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -200 um 967 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -827 um 1.38 mm -2.4 m 410 keV 0 eV 751 um 751 um Target compt - 2 -2.41 mm 1.64 mm -2.4 m 0 eV 88 keV 2 mm 2.75 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 430, Parent ID = 426 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.41 mm 1.64 mm -2.4 m 322 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.43 mm 1.64 mm -2.4 m 0 eV 322 keV 166 um 166 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 429, Parent ID = 426 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -827 um 1.38 mm -2.4 m 101 keV 0 eV 0 fm 0 fm Target initStep - 1 -828 um 1.38 mm -2.4 m 0 eV 101 keV 28.1 um 28.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 425, Parent ID = 424 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -459 um 680 um -2.4 m 933 keV 0 eV 0 fm 0 fm Target initStep - 1 1.71 mm 2.83 mm -2.4 m 0 eV 88 keV 3.1 mm 3.1 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 431, Parent ID = 425 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.71 mm 2.83 mm -2.4 m 845 keV 0 eV 0 fm 0 fm Target initStep - 1 1.74 mm 2.86 mm -2.4 m 0 eV 845 keV 596 um 596 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 423, Parent ID = 409 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.29 mm 673 um -2.41 m 6.19 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.66 mm 468 um -2.4 m 3.34 MeV 901 keV 772 um 772 um Target eBrem - 2 -1.29 mm -158 um -2.4 m 1.47 MeV 1.87 MeV 1.83 mm 2.6 mm Target eIoni - 3 -1.22 mm -69.7 um -2.41 m 718 keV 344 keV 364 um 2.96 mm Target eBrem - 4 -1.22 mm -42.8 um -2.41 m 0 eV 718 keV 488 um 3.45 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 433, Parent ID = 423 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.22 mm -69.7 um -2.41 m 406 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.02 mm 2.16 mm -2.4 m 0 eV 88 keV 2.42 mm 2.42 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 434, Parent ID = 433 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.02 mm 2.16 mm -2.4 m 318 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.03 mm 2.17 mm -2.4 m 0 eV 318 keV 163 um 163 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 432, Parent ID = 423 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.66 mm 468 um -2.4 m 1.95 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.67 mm -2.22 mm -2.41 m 0 eV 88 keV 8.11 mm 8.11 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 435, Parent ID = 432 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.67 mm -2.22 mm -2.41 m 1.86 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.57 mm -2.24 mm -2.41 m 1.23 MeV 348 keV 360 um 360 um Target eBrem - 2 2.57 mm -2.27 mm -2.41 m 0 eV 1.23 MeV 928 um 1.29 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 436, Parent ID = 435 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.57 mm -2.24 mm -2.41 m 284 keV 0 eV 0 fm 0 fm Target initStep - 1 3.09 mm -3.76 mm -2.41 m 0 eV 88 keV 3.06 mm 3.06 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 437, Parent ID = 436 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.09 mm -3.76 mm -2.41 m 196 keV 0 eV 0 fm 0 fm Target initStep - 1 3.08 mm -3.75 mm -2.41 m 0 eV 196 keV 79.5 um 79.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 408, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -426 um 779 um -2.41 m 17.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.19 mm 937 um -2.4 m 0 eV 0 eV 8.62 mm 8.62 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 439, Parent ID = 408 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.19 mm 937 um -2.4 m 2.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.19 mm 908 um -2.4 m 2.71 MeV 90.8 keV 99.4 um 99.4 um Target msc - 2 -1.14 mm 901 um -2.4 m 2.63 MeV 75.8 keV 90.3 um 190 um Target msc - 3 -1.16 mm 923 um -2.4 m 2.53 MeV 105 keV 90.3 um 280 um Target msc - 4 -1.24 mm 918 um -2.4 m 2.43 MeV 98.8 keV 90.3 um 370 um Target msc - 5 -1.24 mm 944 um -2.4 m 2.3 MeV 128 keV 90.3 um 461 um Target msc - 6 -1.25 mm 934 um -2.4 m 2.2 MeV 104 keV 90.3 um 551 um Target msc - 7 -1.24 mm 951 um -2.4 m 2.1 MeV 93.8 keV 90.3 um 641 um Target msc - 8 -1.29 mm 940 um -2.4 m 2.04 MeV 68.3 keV 90.3 um 732 um Target msc - 9 -1.35 mm 922 um -2.4 m 1.93 MeV 102 keV 90.3 um 822 um Target msc - 10 -1.41 mm 884 um -2.4 m 1.85 MeV 81.2 keV 90.3 um 913 um Target msc - 11 -1.39 mm 806 um -2.4 m 1.78 MeV 72.9 keV 90.3 um 1 mm Target msc - 12 -1.39 mm 740 um -2.4 m 1.66 MeV 117 keV 90.3 um 1.09 mm Target msc - 13 -1.32 mm 777 um -2.4 m 1.57 MeV 92.6 keV 90.3 um 1.18 mm Target msc - 14 -1.43 mm 864 um -2.4 m 1.35 MeV 220 keV 168 um 1.35 mm Target msc - 15 -1.49 mm 977 um -2.4 m 1.14 MeV 211 keV 162 um 1.51 mm Target msc - 16 -1.52 mm 1.09 mm -2.4 m 869 keV 270 keV 165 um 1.68 mm Target msc - 17 -1.6 mm 1.11 mm -2.4 m 735 keV 135 keV 160 um 1.84 mm Target msc - 18 -1.59 mm 1.09 mm -2.4 m 669 keV 65.7 keV 115 um 1.95 mm Target msc - 19 -1.59 mm 1.14 mm -2.4 m 553 keV 116 keV 94.8 um 2.05 mm Target msc - 20 -1.54 mm 1.17 mm -2.4 m 473 keV 79.6 keV 90.3 um 2.14 mm Target msc - 21 -1.58 mm 1.19 mm -2.4 m 412 keV 61.2 keV 90.3 um 2.23 mm Target msc - 22 -1.57 mm 1.2 mm -2.4 m 0 eV 412 keV 232 um 2.46 mm Target eIoni - 23 -1.57 mm 1.2 mm -2.4 m 0 eV 0 eV 0 fm 2.46 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 441, Parent ID = 439 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.57 mm 1.2 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.82 mm 1.09 mm -2.4 m 511 keV 0 eV 418 um 418 um Target Transportation - 2 -2.4 m -1.01 m 57.3 cm 511 keV 0 eV 3.95 m 3.95 m Tracker Transportation - 3 -2.91 m -1.22 m 1.21 m 511 keV 0 eV 84 cm 4.79 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 440, Parent ID = 439 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.57 mm 1.2 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -851 um 1.5 mm -2.4 m 0 eV 88 keV 1.19 mm 1.19 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 442, Parent ID = 440 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -851 um 1.5 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -853 um 1.5 mm -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 438, Parent ID = 408 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.19 mm 937 um -2.4 m 14.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.22 mm 943 um -2.4 m 13.5 MeV 534 keV 344 um 344 um Target Transportation - 2 -1.06 cm 1.63 cm -2.3 m 13.5 MeV 31.9 keV 10 cm 10 cm Tracker StepLimiter - 3 -1.9 cm 3.03 cm -2.2 m 13.5 MeV 12.5 keV 10 cm 20 cm Tracker StepLimiter - 4 -2.71 cm 4.47 cm -2.1 m 13.4 MeV 26.8 keV 10 cm 30 cm Tracker StepLimiter - 5 -3.45 cm 5.87 cm -2.01 m 13.4 MeV 22.9 keV 10 cm 40 cm Tracker StepLimiter - 6 -3.77 cm 7.34 cm -1.91 m 13.4 MeV 22.6 keV 10 cm 50 cm Tracker StepLimiter - 7 -4.15 cm 8.62 cm -1.81 m 13.4 MeV 13.4 keV 10 cm 60 cm Tracker StepLimiter - 8 -4.33 cm 10 cm -1.71 m 13.4 MeV 18.5 keV 10 cm 70 cm Tracker StepLimiter - 9 -4.61 cm 11.5 cm -1.61 m 13.4 MeV 18.1 keV 10 cm 80 cm Tracker StepLimiter - 10 -4.67 cm 11.7 cm -1.6 m 13.3 MeV 1.58 keV 1 cm 81 cm Tracker Transportation - 11 -5.73 cm 15 cm -1.4 m 13.2 MeV 124 keV 20.4 cm 1.01 m Chamber Transportation - 12 -6.37 cm 17 cm -1.3 m 13.2 MeV 23.8 keV 10 cm 1.11 m Tracker StepLimiter - 13 -6.96 cm 18.9 cm -1.2 m 13.2 MeV 22.6 keV 10 cm 1.21 m Tracker StepLimiter - 14 -7.58 cm 20.9 cm -1.11 m 13.2 MeV 17.2 keV 10 cm 1.31 m Tracker StepLimiter - 15 -7.94 cm 22.8 cm -1.01 m 13.1 MeV 19.6 keV 10 cm 1.41 m Tracker StepLimiter - 16 -7.81 cm 24 cm -90.9 cm 13.1 MeV 22.5 keV 10 cm 1.51 m Tracker StepLimiter - 17 -7.7 cm 25.5 cm -81 cm 13.1 MeV 21.7 keV 10 cm 1.61 m Tracker StepLimiter - 18 -7.68 cm 25.6 cm -80 cm 13.1 MeV 2.43 keV 1.03 cm 1.63 m Tracker Transportation - 19 -7.16 cm 28.2 cm -60 cm 13 MeV 118 keV 20.3 cm 1.83 m Chamber Transportation - 20 -8.22 cm 29.1 cm -50.1 cm 13 MeV 25.8 keV 10 cm 1.93 m Tracker StepLimiter - 21 -9.59 cm 29.9 cm -40.2 cm 12.9 MeV 21.7 keV 10 cm 2.03 m Tracker StepLimiter - 22 -10.8 cm 30.9 cm -30.3 cm 12.9 MeV 21.4 keV 10 cm 2.13 m Tracker StepLimiter - 23 -11.9 cm 31.8 cm -20.4 cm 12.9 MeV 22.5 keV 10 cm 2.23 m Tracker StepLimiter - 24 -13.1 cm 33.2 cm -10.6 cm 12.9 MeV 18.3 keV 10 cm 2.33 m Tracker StepLimiter - 25 -14.4 cm 34.6 cm -8.06 mm 12.8 MeV 21.6 keV 10 cm 2.43 m Tracker StepLimiter - 26 -14.6 cm 34.7 cm -0.00711 fm 12.8 MeV 581 eV 8.23 mm 2.44 m Tracker Transportation - 27 -17.5 cm 37.6 cm 20 cm 12.7 MeV 109 keV 20.6 cm 2.64 m Chamber Transportation - 28 -18.7 cm 38.3 cm 29.9 cm 12.7 MeV 13.2 keV 10 cm 2.74 m Tracker StepLimiter - 29 -19.8 cm 38.6 cm 39.8 cm 12.7 MeV 13.3 keV 10 cm 2.84 m Tracker StepLimiter - 30 -20.8 cm 39.2 cm 49.8 cm 12.7 MeV 18.3 keV 10 cm 2.94 m Tracker StepLimiter - 31 -21.8 cm 39.7 cm 59.7 cm 12.7 MeV 19.1 keV 10 cm 3.04 m Tracker StepLimiter - 32 -22.9 cm 40.2 cm 69.6 cm 12.7 MeV 15.6 keV 10 cm 3.14 m Tracker StepLimiter - 33 -23.9 cm 40.3 cm 79.6 cm 12.6 MeV 14.3 keV 10 cm 3.24 m Tracker StepLimiter - 34 -23.9 cm 40.3 cm 80 cm 12.6 MeV 967 eV 4.21 mm 3.25 m Tracker Transportation - 35 -26.6 cm 40.2 cm 1 m 12.5 MeV 101 keV 20.3 cm 3.45 m Chamber Transportation - 36 -27.6 cm 38.3 cm 1.1 m 12.5 MeV 14.8 keV 10 cm 3.55 m Tracker StepLimiter - 37 -28.5 cm 36.5 cm 1.19 m 12.5 MeV 19.4 keV 9.17 cm 3.64 m Tracker eIoni - 38 -29.2 cm 34.5 cm 1.28 m 12.5 MeV 22.8 keV 10 cm 3.74 m Tracker StepLimiter - 39 -29.7 cm 32.6 cm 1.38 m 12.4 MeV 20.2 keV 10 cm 3.84 m Tracker StepLimiter - 40 -30.3 cm 30.5 cm 1.48 m 12.4 MeV 14.9 keV 10 cm 3.94 m Tracker StepLimiter - 41 -31 cm 28.1 cm 1.58 m 12.4 MeV 16.2 keV 10 cm 4.04 m Tracker StepLimiter - 42 -31.1 cm 27.6 cm 1.6 m 12.4 MeV 3.09 keV 2.33 cm 4.06 m Tracker Transportation - 43 -32.5 cm 22.8 cm 1.8 m 12.3 MeV 110 keV 20.8 cm 4.27 m Chamber Transportation - 44 -33.2 cm 21 cm 1.9 m 12.3 MeV 17.2 keV 10 cm 4.37 m Tracker StepLimiter - 45 -33.6 cm 19.6 cm 2 m 12.3 MeV 22.6 keV 10 cm 4.47 m Tracker StepLimiter - 46 -34.3 cm 18.2 cm 2.1 m 12.2 MeV 13.4 keV 10 cm 4.57 m Tracker StepLimiter - 47 -35 cm 16.8 cm 2.19 m 12.2 MeV 25 keV 10 cm 4.67 m Tracker StepLimiter - 48 -35.7 cm 15.2 cm 2.29 m 12.2 MeV 18.1 keV 10 cm 4.77 m Tracker StepLimiter - 49 -36.1 cm 13.4 cm 2.39 m 12.2 MeV 17.2 keV 10 cm 4.87 m Tracker StepLimiter - 50 -36.1 cm 13.3 cm 2.4 m 12.2 MeV 2.68 keV 8.7 mm 4.88 m Tracker Transportation - 51 -37.2 cm 4.38 cm 2.91 m 12.1 MeV 104 keV 51.8 cm 5.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 443, Parent ID = 438 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -28.5 cm 36.5 cm 1.19 m 23.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -28.8 cm 36.5 cm 1.19 m 17.7 keV 5.68 keV 3.52 mm 3.52 mm Tracker eIoni - 2 -29 cm 36.6 cm 1.19 m 14.9 keV 2.81 keV 2.69 mm 6.21 mm Tracker eIoni - 3 -29.1 cm 36.8 cm 1.19 m 8.38 keV 6.49 keV 2.33 mm 8.54 mm Tracker eIoni - 4 -29.2 cm 36.7 cm 1.19 m 866 eV 7.52 keV 1.45 mm 9.99 mm Tracker eIoni - 5 -29.2 cm 36.7 cm 1.19 m 0 eV 866 eV 48 um 1 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 407, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -32.5 um 154 um -2.41 m 2.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 558 um 2.37 mm -2.4 m 2.7 MeV 0 eV 1.21 cm 1.21 cm Target Transportation - 2 4.03 cm 15.1 cm -1.6 m 2.7 MeV 0 eV 81.5 cm 82.7 cm Tracker Transportation - 3 5.02 cm 18.8 cm -1.4 m 2.7 MeV 0 eV 20.4 cm 1.03 m Chamber Transportation - 4 8.01 cm 30 cm -80 cm 2.7 MeV 0 eV 61.1 cm 1.64 m Tracker Transportation - 5 9 cm 33.7 cm -60 cm 2.7 MeV 0 eV 20.4 cm 1.85 m Chamber Transportation - 6 12 cm 44.9 cm 0.114 fm 2.7 MeV 0 eV 61.1 cm 2.46 m Tracker Transportation - 7 13 cm 48.6 cm 20 cm 2.7 MeV 0 eV 20.4 cm 2.66 m Chamber Transportation - 8 16 cm 59.8 cm 80 cm 2.7 MeV 0 eV 61.1 cm 3.27 m Tracker Transportation - 9 16.9 cm 63.5 cm 1 m 2.7 MeV 0 eV 20.4 cm 3.47 m Chamber Transportation - 10 19.9 cm 74.7 cm 1.6 m 2.7 MeV 0 eV 61.1 cm 4.09 m Tracker Transportation - 11 20.9 cm 78.4 cm 1.8 m 2.7 MeV 0 eV 20.4 cm 4.29 m Chamber Transportation - 12 23.9 cm 89.6 cm 2.4 m 2.7 MeV 0 eV 61.1 cm 4.9 m Tracker Transportation - 13 26.4 cm 99.1 cm 2.91 m 2.7 MeV 0 eV 51.9 cm 5.42 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 406, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -65.7 um 31.7 um -2.41 m 352 keV 0 eV 0 fm 0 fm Target initStep - 1 -73.3 um 40.8 um -2.41 m 0 eV 88 keV 144 um 144 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 444, Parent ID = 406 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -73.3 um 40.8 um -2.41 m 264 keV 0 eV 0 fm 0 fm Target initStep - 1 -78.3 um 43.1 um -2.41 m 0 eV 264 keV 125 um 125 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 405, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -30.6 um -11.3 um -2.41 m 8.64 MeV 0 eV 0 fm 0 fm Target initStep - 1 -299 um -176 um -2.4 m 8.64 MeV 0 eV 1.39 cm 1.39 cm Target Transportation - 2 -1.58 cm -9.7 mm -1.6 m 8.64 MeV 0 eV 80 cm 81.4 cm Tracker Transportation - 3 -1.97 cm -1.21 cm -1.4 m 8.64 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 -3.13 cm -1.92 cm -80 cm 8.64 MeV 0 eV 60 cm 1.61 m Tracker Transportation - 5 -3.51 cm -2.16 cm -60 cm 8.64 MeV 0 eV 20 cm 1.81 m Chamber Transportation - 6 -4.68 cm -2.87 cm 0.114 fm 8.64 MeV 0 eV 60 cm 2.41 m Tracker Transportation - 7 -5.06 cm -3.11 cm 20 cm 8.64 MeV 0 eV 20 cm 2.61 m Chamber Transportation - 8 -6.22 cm -3.83 cm 80 cm 8.64 MeV 0 eV 60 cm 3.21 m Tracker Transportation - 9 -6.61 cm -4.07 cm 1 m 8.64 MeV 0 eV 20 cm 3.41 m Chamber Transportation - 10 -7.77 cm -4.78 cm 1.6 m 8.64 MeV 0 eV 60 cm 4.01 m Tracker Transportation - 11 -8.16 cm -5.02 cm 1.8 m 8.64 MeV 0 eV 20 cm 4.21 m Chamber Transportation - 12 -9.32 cm -5.73 cm 2.4 m 8.64 MeV 0 eV 60 cm 4.82 m Tracker Transportation - 13 -10.3 cm -6.34 cm 2.91 m 8.64 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 404, Parent ID = 403 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -24.5 um -2.26 um -2.41 m 1.14 MeV 0 eV 0 fm 0 fm Target initStep - 1 -444 um -448 um -2.4 m 1.14 MeV 0 eV 1.4 cm 1.4 cm Target Transportation - 2 -2.44 cm -2.59 cm -1.6 m 1.14 MeV 0 eV 80.1 cm 81.5 cm Tracker Transportation - 3 -3.04 cm -3.22 cm -1.4 m 1.14 MeV 0 eV 20 cm 1.01 m Chamber Transportation - 4 -4.83 cm -5.13 cm -80 cm 1.14 MeV 0 eV 60.1 cm 1.62 m Tracker Transportation - 5 -5.43 cm -5.76 cm -60 cm 1.14 MeV 0 eV 20 cm 1.82 m Chamber Transportation - 6 -7.23 cm -7.67 cm -0.114 fm 1.14 MeV 0 eV 60.1 cm 2.42 m Tracker Transportation - 7 -7.83 cm -8.3 cm 20 cm 1.14 MeV 0 eV 20 cm 2.62 m Chamber Transportation - 8 -9.62 cm -10.2 cm 80 cm 1.14 MeV 0 eV 60.1 cm 3.22 m Tracker Transportation - 9 -10.2 cm -10.8 cm 1 m 1.14 MeV 0 eV 20 cm 3.42 m Chamber Transportation - 10 -12 cm -12.8 cm 1.6 m 1.14 MeV 0 eV 60.1 cm 4.02 m Tracker Transportation - 11 -12.6 cm -13.4 cm 1.8 m 1.14 MeV 0 eV 20 cm 4.22 m Chamber Transportation - 12 -14.4 cm -15.3 cm 2.4 m 1.14 MeV 0 eV 60.1 cm 4.82 m Tracker Transportation - 13 -15.9 cm -16.9 cm 2.91 m 1.14 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 402, Parent ID = 115 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.85 um 7.29 um -2.41 m 81.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -139 um -79.2 um -2.41 m 78.4 MeV 2.87 MeV 2.02 mm 2.02 mm Target eBrem - 2 -141 um -80 um -2.41 m 68.2 MeV 452 keV 408 um 2.43 mm Target eBrem - 3 -118 um -83.8 um -2.41 m 65.3 MeV 532 keV 360 um 2.79 mm Target eBrem - 4 -83.6 um 4.55 um -2.41 m 61 MeV 532 keV 350 um 3.14 mm Target eBrem - 5 216 um 469 um -2.41 m 17.4 MeV 2.47 MeV 1.77 mm 4.91 mm Target eBrem - 6 238 um 480 um -2.41 m 11.4 MeV 51.3 keV 63.7 um 4.97 mm Target eBrem - 7 23.9 um 1.28 mm -2.41 m 7.98 MeV 2.27 MeV 1.77 mm 6.75 mm Target eBrem - 8 -8.35 um 1.28 mm -2.41 m 7.53 MeV 44.2 keV 47.1 um 6.79 mm Target eBrem - 9 -1.09 mm 423 um -2.41 m 4.15 MeV 2.64 MeV 1.94 mm 8.73 mm Target eBrem - 10 -535 um -115 um -2.41 m 1.98 MeV 2.17 MeV 2.01 mm 1.07 cm Target eIoni - 11 -246 um -289 um -2.41 m 443 keV 1.54 MeV 1.4 mm 1.21 cm Target eIoni - 12 -233 um -284 um -2.41 m 0 eV 443 keV 259 um 1.24 cm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 453, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.09 mm 423 um -2.41 m 729 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.55 mm -1.02 cm -2.4 m 729 keV 0 eV 1.52 cm 1.52 cm Target Transportation - 2 -1.68 m -2.4 m -62.8 cm 729 keV 0 eV 3.41 m 3.43 m Tracker Transportation - 3 -2.04 m -2.91 m -25 cm 729 keV 0 eV 72.9 cm 4.16 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 452, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.35 um 1.28 mm -2.41 m 413 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.87 mm 1.12 mm -2.4 m 399 keV 0 eV 7.42 mm 7.42 mm Target compt - 2 -4.48 mm 1.49 mm -2.4 m 0 eV 88 keV 1.66 mm 9.08 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 455, Parent ID = 452 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.48 mm 1.49 mm -2.4 m 311 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.47 mm 1.49 mm -2.4 m 0 eV 311 keV 158 um 158 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 454, Parent ID = 452 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.87 mm 1.12 mm -2.4 m 13.7 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.87 mm 1.12 mm -2.4 m 0 eV 13.7 keV 1.12 um 1.12 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 451, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 23.9 um 1.28 mm -2.41 m 1.17 MeV 0 eV 0 fm 0 fm Target initStep - 1 -4.04 mm 799 um -2.4 m 789 keV 0 eV 7.26 mm 7.26 mm Target compt - 2 -3.89 mm 396 um -2.4 m 789 keV 0 eV 2.42 mm 9.68 mm Target Transportation - 3 4.82 cm -13.5 cm -1.6 m 789 keV 0 eV 81.3 cm 82.3 cm Tracker Transportation - 4 6.12 cm -16.9 cm -1.4 m 789 keV 0 eV 20.3 cm 1.03 m Chamber Transportation - 5 10 cm -27.1 cm -80 cm 789 keV 0 eV 61 cm 1.64 m Tracker Transportation - 6 11.3 cm -30.5 cm -60 cm 789 keV 0 eV 20.3 cm 1.84 m Chamber Transportation - 7 15.2 cm -40.6 cm 0.114 fm 789 keV 0 eV 61 cm 2.45 m Tracker Transportation - 8 16.5 cm -44 cm 20 cm 789 keV 0 eV 20.3 cm 2.65 m Chamber Transportation - 9 20.4 cm -54.2 cm 80 cm 789 keV 0 eV 61 cm 3.26 m Tracker Transportation - 10 21.7 cm -57.6 cm 1 m 789 keV 0 eV 20.3 cm 3.47 m Chamber Transportation - 11 25.6 cm -67.8 cm 1.6 m 789 keV 0 eV 61 cm 4.08 m Tracker Transportation - 12 26.9 cm -71.2 cm 1.8 m 789 keV 0 eV 20.3 cm 4.28 m Chamber Transportation - 13 30.9 cm -81.3 cm 2.4 m 789 keV 0 eV 61 cm 4.89 m Tracker Transportation - 14 34.2 cm -90 cm 2.91 m 789 keV 0 eV 51.8 cm 5.41 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 456, Parent ID = 451 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.04 mm 799 um -2.4 m 384 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.05 mm 800 um -2.4 m 0 eV 384 keV 213 um 213 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 450, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 238 um 480 um -2.41 m 5.93 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.95 mm 2.14 mm -2.4 m 4.33 MeV 0 eV 8.11 mm 8.11 mm Target compt - 2 4.47 mm 2.98 mm -2.4 m 4.33 MeV 0 eV 2.84 mm 1.1 cm Target Transportation - 3 2.4 m 1.32 m 1.16 m 4.33 MeV 0 eV 4.49 m 4.5 m Tracker Transportation - 4 2.91 m 1.6 m 1.92 m 4.33 MeV 0 eV 95.6 cm 5.45 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 457, Parent ID = 450 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.95 mm 2.14 mm -2.4 m 1.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.93 mm 2.14 mm -2.4 m 0 eV 1.6 MeV 1.2 mm 1.2 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 449, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 216 um 469 um -2.41 m 41.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 774 um 796 um -2.41 m 0 eV 0 eV 1.94 mm 1.94 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 459, Parent ID = 449 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 774 um 796 um -2.41 m 4.18 MeV 0 eV 0 fm 0 fm Target initStep - 1 779 um 814 um -2.41 m 3.1 MeV 63.9 keV 65.1 um 65.1 um Target eBrem - 2 496 um 138 um -2.41 m 703 keV 2.39 MeV 1.25 mm 1.31 mm Target eBrem - 3 508 um 128 um -2.41 m 0 eV 703 keV 477 um 1.79 mm Target eIoni - 4 508 um 128 um -2.41 m 0 eV 0 eV 0 fm 1.79 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 462, Parent ID = 459 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 508 um 128 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.12 mm 6.66 mm -2.4 m 511 keV 0 eV 1.04 cm 1.04 cm Target Transportation - 2 -59.9 cm 2.4 m 48.5 cm 511 keV 0 eV 3.8 m 3.81 m Tracker Transportation - 3 -72.6 cm 2.91 m 1.1 m 511 keV 0 eV 80.9 cm 4.62 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 461, Parent ID = 459 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 508 um 128 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 653 um -452 um -2.41 m 0 eV 88 keV 919 um 919 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 463, Parent ID = 461 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 653 um -452 um -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 667 um -462 um -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 460, Parent ID = 459 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 779 um 814 um -2.41 m 1.02 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.42 mm -5.05 mm -2.4 m 1.02 MeV 0 eV 9.96 mm 9.96 mm Target Transportation - 2 67.4 cm -2.4 m 81.9 cm 1.02 MeV 0 eV 4.07 m 4.08 m Tracker Transportation - 3 81.7 cm -2.91 m 1.5 m 1.02 MeV 0 eV 86.6 cm 4.94 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 458, Parent ID = 449 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 774 um 796 um -2.41 m 35.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 910 um 825 um -2.41 m 33 MeV 537 keV 420 um 420 um Target eBrem - 2 947 um 836 um -2.41 m 31.3 MeV 148 keV 129 um 549 um Target eBrem - 3 954 um 836 um -2.41 m 30.4 MeV 15.2 keV 26.2 um 575 um Target eBrem - 4 1.5 mm 980 um -2.41 m 10.8 MeV 2.33 MeV 1.43 mm 2.01 mm Target eBrem - 5 1.19 mm 2.06 mm -2.41 m 5.97 MeV 1.66 MeV 1.41 mm 3.42 mm Target eBrem - 6 2.16 mm 1.58 mm -2.4 m 3.24 MeV 2.74 MeV 2.36 mm 5.78 mm Target eIoni - 7 2.03 mm 1.19 mm -2.4 m 1.5 MeV 754 keV 646 um 6.43 mm Target eBrem - 8 1.92 mm 1.31 mm -2.4 m 156 keV 1.34 MeV 1.14 mm 7.56 mm Target eIoni - 9 1.92 mm 1.31 mm -2.4 m 0 eV 156 keV 56 um 7.62 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 469, Parent ID = 458 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.03 mm 1.19 mm -2.4 m 984 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.17 mm -1.57 mm -2.4 m 492 keV 0 eV 5.41 mm 5.41 mm Target compt - 2 -1.39 cm 2.18 mm -2.41 m 222 keV 0 eV 1.27 cm 1.81 cm Target compt - 3 -1.39 cm 2.16 mm -2.41 m 0 eV 88 keV 121 um 1.82 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 472, Parent ID = 469 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.39 cm 2.16 mm -2.41 m 134 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.39 cm 2.16 mm -2.41 m 0 eV 134 keV 44.3 um 44.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 471, Parent ID = 469 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.39 cm 2.18 mm -2.41 m 270 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.39 cm 2.19 mm -2.41 m 0 eV 270 keV 129 um 129 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 470, Parent ID = 469 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.17 mm -1.57 mm -2.4 m 492 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.18 mm -1.58 mm -2.4 m 0 eV 492 keV 298 um 298 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 468, Parent ID = 458 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.19 mm 2.06 mm -2.41 m 3.13 MeV 0 eV 0 fm 0 fm Target initStep - 1 4.44 mm 5.47 mm -2.4 m 2.47 MeV 0 eV 6.49 mm 6.49 mm Target compt - 2 4.91 mm 6.08 mm -2.4 m 441 keV 0 eV 859 um 7.35 mm Target compt - 3 3.44 mm 8.01 mm -2.4 m 186 keV 0 eV 2.61 mm 9.96 mm Target compt - 4 2.7 mm 6.27 mm -2.4 m 0 eV 88 keV 2.2 mm 1.22 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 476, Parent ID = 468 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.7 mm 6.27 mm -2.4 m 98.2 keV 0 eV 0 fm 0 fm Target initStep - 1 2.7 mm 6.27 mm -2.4 m 0 eV 98.2 keV 26.9 um 26.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 475, Parent ID = 468 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.44 mm 8.01 mm -2.4 m 255 keV 0 eV 0 fm 0 fm Target initStep - 1 3.44 mm 8.02 mm -2.4 m 0 eV 255 keV 118 um 118 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 474, Parent ID = 468 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.91 mm 6.08 mm -2.4 m 2.03 MeV 0 eV 0 fm 0 fm Target initStep - 1 4.94 mm 6.23 mm -2.4 m 1.86 MeV 173 keV 194 um 194 um Target msc - 2 4.96 mm 6.33 mm -2.4 m 1.71 MeV 151 keV 129 um 323 um Target msc - 3 4.94 mm 6.39 mm -2.4 m 1.62 MeV 86.6 keV 102 um 425 um Target msc - 4 4.87 mm 6.39 mm -2.4 m 1.54 MeV 83.8 keV 79.4 um 504 um Target msc - 5 4.81 mm 6.41 mm -2.4 m 1.46 MeV 74.1 keV 70.2 um 574 um Target msc - 6 4.77 mm 6.43 mm -2.4 m 1.38 MeV 81.4 keV 71.1 um 646 um Target msc - 7 4.75 mm 6.42 mm -2.4 m 1.3 MeV 78.3 keV 63.9 um 709 um Target msc - 8 4.76 mm 6.43 mm -2.4 m 1.26 MeV 39 keV 63.9 um 773 um Target msc - 9 4.79 mm 6.48 mm -2.4 m 1.2 MeV 60.7 keV 63.9 um 837 um Target msc - 10 4.8 mm 6.48 mm -2.4 m 1.01 MeV 191 keV 63.9 um 901 um Target msc - 11 4.81 mm 6.46 mm -2.4 m 449 keV 562 keV 63.9 um 965 um Target msc - 12 4.83 mm 6.43 mm -2.4 m 361 keV 88.3 keV 63.9 um 1.03 mm Target msc - 13 4.83 mm 6.43 mm -2.4 m 266 keV 95 keV 63.9 um 1.09 mm Target msc - 14 4.83 mm 6.42 mm -2.4 m 0 eV 266 keV 126 um 1.22 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 473, Parent ID = 468 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.44 mm 5.47 mm -2.4 m 662 keV 0 eV 0 fm 0 fm Target initStep - 1 4.45 mm 5.47 mm -2.4 m 0 eV 662 keV 440 um 440 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 467, Parent ID = 458 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.5 mm 980 um -2.41 m 17.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 3.68 mm 3.28 mm -2.4 m 17.3 MeV 0 eV 6.88 mm 6.88 mm Target Transportation - 2 57.3 cm 60.6 cm -80 cm 17.3 MeV 0 eV 1.8 m 1.81 m Tracker Transportation - 3 63.6 cm 67.2 cm -62.4 cm 17.3 MeV 0 eV 19.8 cm 2.01 m Chamber Transportation - 4 85.8 cm 90.7 cm 0 fm 17.3 MeV 0 eV 70.3 cm 2.71 m Tracker Transportation - 5 92.9 cm 98.2 cm 20 cm 17.3 MeV 0 eV 22.5 cm 2.94 m Chamber Transportation - 6 1.14 m 1.21 m 80 cm 17.3 MeV 0 eV 67.6 cm 3.61 m Tracker Transportation - 7 1.21 m 1.28 m 1 m 17.3 MeV 0 eV 22.5 cm 3.84 m Chamber Transportation - 8 1.43 m 1.51 m 1.6 m 17.3 MeV 0 eV 67.6 cm 4.51 m Tracker Transportation - 9 1.5 m 1.58 m 1.8 m 17.3 MeV 0 eV 22.5 cm 4.74 m Chamber Transportation - 10 1.71 m 1.81 m 2.4 m 17.3 MeV 0 eV 67.6 cm 5.41 m Tracker Transportation - 11 1.89 m 2 m 2.91 m 17.3 MeV 0 eV 57.4 cm 5.99 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 466, Parent ID = 458 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 954 um 836 um -2.41 m 863 keV 0 eV 0 fm 0 fm Target initStep - 1 2.45 mm 896 um -2.4 m 313 keV 0 eV 7.28 mm 7.28 mm Target compt - 2 743 um 1.47 mm -2.4 m 313 keV 0 eV 1.82 mm 9.11 mm Target Transportation - 3 -2.4 m 81 cm -2.01 m 313 keV 0 eV 2.56 m 2.57 m Tracker Transportation - 4 -2.91 m 98.1 cm -1.93 m 313 keV 0 eV 54.4 cm 3.12 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 477, Parent ID = 466 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.45 mm 896 um -2.4 m 550 keV 0 eV 0 fm 0 fm Target initStep - 1 2.43 mm 902 um -2.4 m 456 keV 94.5 keV 83.1 um 83.1 um Target msc - 2 2.45 mm 870 um -2.4 m 362 keV 94 keV 64 um 147 um Target msc - 3 2.44 mm 844 um -2.4 m 295 keV 66.4 keV 54.4 um 201 um Target msc - 4 2.45 mm 845 um -2.4 m 0 eV 295 keV 146 um 348 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 465, Parent ID = 458 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 947 um 836 um -2.41 m 1.61 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.93 mm 225 um -2.4 m 1.61 MeV 0 eV 7.71 mm 7.71 mm Target Transportation - 2 21.7 cm -6.56 cm -1.6 m 1.61 MeV 0 eV 83.1 cm 83.8 cm Tracker Transportation - 3 24 cm -7.28 cm -1.51 m 1.61 MeV 0 eV 9.12 cm 93 cm Chamber Transportation - 4 43 cm -13.1 cm -80 cm 1.61 MeV 0 eV 73.9 cm 1.67 m Tracker Transportation - 5 48.4 cm -14.8 cm -60 cm 1.61 MeV 0 eV 20.8 cm 1.88 m Chamber Transportation - 6 64.4 cm -19.7 cm 0 fm 1.61 MeV 0 eV 62.3 cm 2.5 m Tracker Transportation - 7 69.7 cm -21.4 cm 20 cm 1.61 MeV 0 eV 20.8 cm 2.71 m Chamber Transportation - 8 85.7 cm -26.3 cm 80 cm 1.61 MeV 0 eV 62.3 cm 3.33 m Tracker Transportation - 9 91.1 cm -27.9 cm 1 m 1.61 MeV 0 eV 20.8 cm 3.54 m Chamber Transportation - 10 1.07 m -32.9 cm 1.6 m 1.61 MeV 0 eV 62.3 cm 4.16 m Tracker Transportation - 11 1.12 m -34.5 cm 1.8 m 1.61 MeV 0 eV 20.8 cm 4.37 m Chamber Transportation - 12 1.28 m -39.5 cm 2.4 m 1.61 MeV 0 eV 62.3 cm 4.99 m Tracker Transportation - 13 1.42 m -43.7 cm 2.91 m 1.61 MeV 0 eV 53 cm 5.52 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 464, Parent ID = 458 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 910 um 825 um -2.41 m 2.36 MeV 0 eV 0 fm 0 fm Target initStep - 1 3.2 mm 856 um -2.4 m 2.36 MeV 0 eV 7.89 mm 7.89 mm Target Transportation - 2 48.8 cm 7.56 mm -80 cm 2.36 MeV 0 eV 1.67 m 1.68 m Tracker Transportation - 3 54.8 cm 8.39 mm -60 cm 2.36 MeV 0 eV 20.9 cm 1.89 m Chamber Transportation - 4 73 cm 1.09 cm 0 fm 2.36 MeV 0 eV 62.7 cm 2.52 m Tracker Transportation - 5 79.1 cm 1.17 cm 20 cm 2.36 MeV 0 eV 20.9 cm 2.72 m Chamber Transportation - 6 97.3 cm 1.43 cm 80 cm 2.36 MeV 0 eV 62.7 cm 3.35 m Tracker Transportation - 7 1.03 m 1.51 cm 1 m 2.36 MeV 0 eV 20.9 cm 3.56 m Chamber Transportation - 8 1.21 m 1.76 cm 1.6 m 2.36 MeV 0 eV 62.7 cm 4.19 m Tracker Transportation - 9 1.28 m 1.84 cm 1.8 m 2.36 MeV 0 eV 20.9 cm 4.4 m Chamber Transportation - 10 1.46 m 2.1 cm 2.4 m 2.36 MeV 0 eV 62.7 cm 5.02 m Tracker Transportation - 11 1.61 m 2.31 cm 2.91 m 2.36 MeV 0 eV 53.3 cm 5.56 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 448, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -83.6 um 4.55 um -2.41 m 3.75 MeV 0 eV 0 fm 0 fm Target initStep - 1 -66.3 um 42.5 um -2.41 m 948 keV 0 eV 179 um 179 um Target compt - 2 -5.35 mm -3.87 mm -2.4 m 866 keV 0 eV 9.97 mm 1.01 cm Target compt - 3 -6.6 mm -4.85 mm -2.4 m 866 keV 0 eV 4.1 mm 1.42 cm Target Transportation - 4 -53.7 cm -42.2 cm -80 cm 866 keV 0 eV 1.74 m 1.75 m Tracker Transportation - 5 -60.3 cm -47.4 cm -60 cm 866 keV 0 eV 21.7 cm 1.97 m Chamber Transportation - 6 -80.2 cm -63.1 cm 0 fm 866 keV 0 eV 65.1 cm 2.62 m Tracker Transportation - 7 -86.8 cm -68.3 cm 20 cm 866 keV 0 eV 21.7 cm 2.84 m Chamber Transportation - 8 -1.07 m -83.9 cm 80 cm 866 keV 0 eV 65.1 cm 3.49 m Tracker Transportation - 9 -1.13 m -89.1 cm 1 m 866 keV 0 eV 21.7 cm 3.7 m Chamber Transportation - 10 -1.33 m -1.05 m 1.6 m 866 keV 0 eV 65.1 cm 4.36 m Tracker Transportation - 11 -1.4 m -1.1 m 1.8 m 866 keV 0 eV 21.7 cm 4.57 m Chamber Transportation - 12 -1.6 m -1.26 m 2.4 m 866 keV 0 eV 65.1 cm 5.22 m Tracker Transportation - 13 -1.77 m -1.39 m 2.91 m 866 keV 0 eV 55.4 cm 5.78 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 479, Parent ID = 448 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.35 mm -3.87 mm -2.4 m 82.1 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.35 mm -3.87 mm -2.4 m 0 eV 82.1 keV 20.1 um 20.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 478, Parent ID = 448 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -66.3 um 42.5 um -2.41 m 2.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -175 um 610 um -2.41 m 864 keV 1.94 MeV 1.69 mm 1.69 mm Target eIoni - 2 -215 um 611 um -2.41 m 0 eV 864 keV 612 um 2.3 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 447, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -118 um -83.8 um -2.41 m 2.36 MeV 0 eV 0 fm 0 fm Target initStep - 1 928 um 2.61 mm -2.4 m 2.36 MeV 0 eV 1.21 cm 1.21 cm Target Transportation - 2 7.19 cm 18.6 cm -1.6 m 2.36 MeV 0 eV 82.4 cm 83.6 cm Tracker Transportation - 3 8.97 cm 23.1 cm -1.4 m 2.36 MeV 0 eV 20.6 cm 1.04 m Chamber Transportation - 4 14.3 cm 36.9 cm -80 cm 2.36 MeV 0 eV 61.8 cm 1.66 m Tracker Transportation - 5 15.1 cm 39 cm -70.5 cm 2.13 MeV 0 eV 9.81 cm 1.76 m Chamber compt - 6 16.7 cm 39.2 cm -60 cm 2.13 MeV 0 eV 10.6 cm 1.86 m Chamber Transportation - 7 25.9 cm 40.1 cm 0 fm 2.13 MeV 0 eV 60.7 cm 2.47 m Tracker Transportation - 8 29 cm 40.4 cm 20 cm 2.13 MeV 0 eV 20.2 cm 2.67 m Chamber Transportation - 9 38.2 cm 41.3 cm 80 cm 2.13 MeV 0 eV 60.7 cm 3.28 m Tracker Transportation - 10 41.2 cm 41.6 cm 1 m 2.13 MeV 0 eV 20.2 cm 3.48 m Chamber Transportation - 11 50.4 cm 42.5 cm 1.6 m 2.13 MeV 0 eV 60.7 cm 4.09 m Tracker Transportation - 12 53.5 cm 42.8 cm 1.8 m 2.13 MeV 0 eV 20.2 cm 4.29 m Chamber Transportation - 13 62.7 cm 43.7 cm 2.4 m 2.13 MeV 0 eV 60.7 cm 4.9 m Tracker Transportation - 14 70.5 cm 44.5 cm 2.91 m 2.13 MeV 0 eV 51.6 cm 5.41 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 480, Parent ID = 447 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 15.1 cm 39 cm -70.5 cm 233 keV 0 eV 0 fm 0 fm Chamber initStep - 1 14.9 cm 40 cm -67.8 cm 190 keV 43.3 keV 4.11 cm 4.11 cm Chamber eIoni - 2 16.4 cm 39.2 cm -69 cm 160 keV 29.7 keV 3.02 cm 7.12 cm Chamber eIoni - 3 17.3 cm 38.2 cm -69.8 cm 139 keV 21.8 keV 2.32 cm 9.44 cm Chamber eIoni - 4 17.7 cm 37.4 cm -69 cm 72.5 keV 22.9 keV 1.78 cm 11.2 cm Chamber eIoni - 5 17.3 cm 37.2 cm -69 cm 66.8 keV 5.77 keV 7.4 mm 12 cm Chamber eIoni - 6 16.9 cm 37.2 cm -69 cm 48 keV 18.8 keV 6.62 mm 12.6 cm Chamber eIoni - 7 16.6 cm 37.2 cm -69 cm 38.7 keV 9.35 keV 4.46 mm 13.1 cm Chamber eIoni - 8 16.7 cm 37.1 cm -68.9 cm 33.8 keV 4.85 keV 3.55 mm 13.4 cm Chamber eIoni - 9 16.8 cm 37 cm -68.9 cm 25 keV 8.85 keV 3.12 mm 13.7 cm Chamber eIoni - 10 16.8 cm 37.1 cm -68.9 cm 17.2 keV 7.75 keV 2.41 mm 14 cm Chamber eIoni - 11 16.8 cm 37.1 cm -69 cm 9.53 keV 7.68 keV 1.82 mm 14.2 cm Chamber eIoni - 12 16.8 cm 37.1 cm -69 cm 0 eV 9.53 keV 1.02 mm 14.3 cm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 481, Parent ID = 480 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 17.7 cm 37.4 cm -69 cm 43.2 keV 0 eV 0 fm 0 fm Chamber initStep - 1 17.6 cm 37.4 cm -69.1 cm 16.9 keV 26.3 keV 3.97 mm 3.97 mm Chamber eIoni - 2 17.6 cm 37.4 cm -69.1 cm 2.47 keV 14.4 keV 1.79 mm 5.76 mm Chamber eIoni - 3 17.6 cm 37.4 cm -69.1 cm 0 eV 2.47 keV 138 um 5.9 mm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 446, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -141 um -80 um -2.41 m 9.77 MeV 0 eV 0 fm 0 fm Target initStep - 1 -109 um -103 um -2.41 m 0 eV 88 keV 1.52 mm 1.52 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 482, Parent ID = 446 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -109 um -103 um -2.41 m 9.68 MeV 0 eV 0 fm 0 fm Target initStep - 1 -84.5 um -69 um -2.41 m 8.15 MeV 327 keV 208 um 208 um Target eBrem - 2 1.02 mm 517 um -2.41 m 4.38 MeV 3.77 MeV 2.72 mm 2.92 mm Target eIoni - 3 1.32 mm 1.3 mm -2.41 m 1.44 MeV 2.26 MeV 1.85 mm 4.77 mm Target eBrem - 4 1.31 mm 1.49 mm -2.41 m 219 keV 1.22 MeV 1.1 mm 5.87 mm Target eIoni - 5 1.31 mm 1.5 mm -2.41 m 0 eV 219 keV 94.1 um 5.97 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 484, Parent ID = 482 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.32 mm 1.3 mm -2.41 m 670 keV 0 eV 0 fm 0 fm Target initStep - 1 2.22 mm 9.04 mm -2.4 m 275 keV 0 eV 1.06 cm 1.06 cm Target compt - 2 2.82 mm 9.35 mm -2.4 m 0 eV 88 keV 866 um 1.15 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 486, Parent ID = 484 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.82 mm 9.35 mm -2.4 m 187 keV 0 eV 0 fm 0 fm Target initStep - 1 2.83 mm 9.35 mm -2.4 m 0 eV 187 keV 73.9 um 73.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 485, Parent ID = 484 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.22 mm 9.04 mm -2.4 m 396 keV 0 eV 0 fm 0 fm Target initStep - 1 2.22 mm 9.05 mm -2.4 m 0 eV 396 keV 222 um 222 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 483, Parent ID = 482 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -84.5 um -69 um -2.41 m 1.21 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.19 mm 2.08 mm -2.4 m 1.21 MeV 0 eV 1.07 cm 1.07 cm Target Transportation - 2 -8.6 cm 16.7 cm -1.6 m 1.21 MeV 0 eV 82.1 cm 83.2 cm Tracker Transportation - 3 -10.7 cm 20.9 cm -1.4 m 1.21 MeV 0 eV 20.5 cm 1.04 m Chamber Transportation - 4 -17.1 cm 33.3 cm -80 cm 1.21 MeV 0 eV 61.6 cm 1.65 m Tracker Transportation - 5 -19.2 cm 37.4 cm -60 cm 1.21 MeV 0 eV 20.5 cm 1.86 m Chamber Transportation - 6 -25.6 cm 49.8 cm 0.114 fm 1.21 MeV 0 eV 61.6 cm 2.47 m Tracker Transportation - 7 -27.7 cm 53.9 cm 20 cm 1.21 MeV 0 eV 20.5 cm 2.68 m Chamber Transportation - 8 -34.1 cm 66.3 cm 80 cm 1.21 MeV 0 eV 61.6 cm 3.3 m Tracker Transportation - 9 -36.2 cm 70.5 cm 1 m 1.21 MeV 0 eV 20.5 cm 3.5 m Chamber Transportation - 10 -42.5 cm 82.8 cm 1.6 m 1.21 MeV 0 eV 61.6 cm 4.12 m Tracker Transportation - 11 -44.7 cm 87 cm 1.8 m 1.21 MeV 0 eV 20.5 cm 4.32 m Chamber Transportation - 12 -51 cm 99.4 cm 2.4 m 1.21 MeV 0 eV 61.6 cm 4.94 m Tracker Transportation - 13 -56.4 cm 1.1 m 2.91 m 1.21 MeV 0 eV 52.4 cm 5.46 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 445, Parent ID = 402 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -139 um -79.2 um -2.41 m 562 keV 0 eV 0 fm 0 fm Target initStep - 1 -348 um 179 um -2.4 m 0 eV 88 keV 9.56 mm 9.56 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 487, Parent ID = 445 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -348 um 179 um -2.4 m 474 keV 0 eV 0 fm 0 fm Target initStep - 1 -336 um 187 um -2.4 m 0 eV 474 keV 284 um 284 um Target eIoni + 0 6.72 um -1.08 um -2.27 m 655 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -2.98 cm -7.49 cm -2.22 m 638 keV 16.9 keV 10 cm 10 cm Tracker StepLimiter + 2 -2.03 cm -16 cm -2.17 m 619 keV 19.1 keV 10 cm 20 cm Tracker StepLimiter + 3 -2.48 cm -23.8 cm -2.11 m 603 keV 15.6 keV 10 cm 30 cm Tracker StepLimiter + 4 -7.12 mm -32.2 cm -2.06 m 583 keV 19.6 keV 10 cm 40 cm Tracker StepLimiter + 5 -3.32 cm -38.7 cm -1.99 m 565 keV 18.3 keV 10 cm 50 cm Tracker StepLimiter + 6 -5.76 cm -43.6 cm -1.9 m 549 keV 15.9 keV 10 cm 60 cm Tracker StepLimiter + 7 -7.37 cm -48.6 cm -1.82 m 525 keV 23.8 keV 10 cm 70 cm Tracker StepLimiter + 8 -11.1 cm -49.5 cm -1.73 m 506 keV 19.6 keV 10 cm 80 cm Tracker StepLimiter + 9 -14 cm -50.4 cm -1.64 m 483 keV 23 keV 10 cm 90 cm Tracker StepLimiter + 10 -17.7 cm -48.5 cm -1.59 m 451 keV 10.2 keV 6.51 cm 96.5 cm Tracker eIoni + 11 -19.6 cm -50.4 cm -1.49 m 434 keV 17.5 keV 10 cm 1.07 m Tracker StepLimiter + 12 -17.9 cm -49 cm -1.42 m 384 keV 11.5 keV 7.24 cm 1.14 m Tracker eIoni + 13 -10.8 cm -52.3 cm -1.36 m 364 keV 20.2 keV 10 cm 1.24 m Tracker StepLimiter + 14 -4.64 cm -58.6 cm -1.32 m 340 keV 23.5 keV 10 cm 1.34 m Tracker StepLimiter + 15 2.19 cm -61 cm -1.26 m 320 keV 20.4 keV 10 cm 1.44 m Tracker StepLimiter + 16 8.57 cm -64.2 cm -1.19 m 300 keV 20.2 keV 10 cm 1.54 m Tracker StepLimiter + 17 17 cm -62.7 cm -1.14 m 273 keV 26.9 keV 10 cm 1.64 m Tracker StepLimiter + 18 26 cm -60.8 cm -1.12 m 244 keV 28.8 keV 10 cm 1.74 m Tracker StepLimiter + 19 34.6 cm -56.6 cm -1.12 m 211 keV 32.6 keV 10 cm 1.84 m Tracker StepLimiter + 20 33.3 cm -50.2 cm -1.18 m 188 keV 23.5 keV 9.4 cm 1.93 m Tracker eIoni + 21 34.2 cm -51.6 cm -1.26 m 161 keV 26.6 keV 7.77 cm 2.01 m Tracker eIoni + 22 29.8 cm -52.6 cm -1.29 m 142 keV 18.8 keV 6.06 cm 2.07 m Tracker eIoni + 23 26.5 cm -52.5 cm -1.33 m 126 keV 16.1 keV 4.94 cm 2.12 m Tracker eIoni + 24 23.7 cm -52.4 cm -1.35 m 112 keV 14.1 keV 4.06 cm 2.16 m Tracker eIoni + 25 21.8 cm -51.5 cm -1.35 m 73.6 keV 12.6 keV 2.28 cm 2.18 m Tracker eIoni + 26 21.1 cm -51 cm -1.36 m 64.7 keV 8.95 keV 1.68 cm 2.2 m Tracker eIoni + 27 20.6 cm -51 cm -1.37 m 56.1 keV 8.54 keV 1.37 cm 2.21 m Tracker eIoni + 28 20.1 cm -50.5 cm -1.38 m 50.4 keV 5.75 keV 1.1 cm 2.22 m Tracker eIoni + 29 19.4 cm -50.2 cm -1.38 m 43.3 keV 7.14 keV 9.35 mm 2.23 m Tracker eIoni + 30 19 cm -50.7 cm -1.39 m 38.2 keV 5.04 keV 7.5 mm 2.24 m Tracker eIoni + 31 18.9 cm -51.2 cm -1.39 m 33.8 keV 4.46 keV 6.33 mm 2.25 m Tracker eIoni + 32 19 cm -51.7 cm -1.39 m 29.2 keV 4.58 keV 5.38 mm 2.25 m Tracker eIoni + 33 18.9 cm -51.3 cm -1.39 m 22.3 keV 6.9 keV 4.5 mm 2.26 m Tracker eIoni + 34 18.6 cm -51.2 cm -1.39 m 16.9 keV 5.42 keV 3.35 mm 2.26 m Tracker eIoni + 35 18.5 cm -51.2 cm -1.39 m 12 keV 4.9 keV 2.58 mm 2.26 m Tracker eIoni + 36 18.5 cm -51.3 cm -1.39 m 7.4 keV 4.57 keV 1.96 mm 2.26 m Tracker eIoni + 37 18.4 cm -51.3 cm -1.39 m 374 eV 7.03 keV 1.27 mm 2.27 m Tracker eIoni + 38 18.4 cm -51.3 cm -1.39 m 0 eV 374 eV 19.9 um 2.27 m Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 21.8 cm -51.5 cm -1.35 m 26 keV 0 eV 0 fm 0 fm Tracker initStep + 1 21.6 cm -51.6 cm -1.34 m 12.2 keV 13.7 keV 3.94 mm 3.94 mm Tracker eIoni + 2 21.6 cm -51.5 cm -1.34 m 7.35 keV 4.88 keV 1.99 mm 5.93 mm Tracker eIoni + 3 21.6 cm -51.4 cm -1.34 m 1.17 keV 6.18 keV 1.26 mm 7.19 mm Tracker eIoni + 4 21.6 cm -51.4 cm -1.34 m 0 eV 1.17 keV 71.7 um 7.26 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -17.9 cm -49 cm -1.42 m 38.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -18.4 cm -49 cm -1.42 m 34.7 keV 3.86 keV 6.41 mm 6.41 mm Tracker eIoni + 2 -18.4 cm -48.5 cm -1.42 m 28.1 keV 6.62 keV 5.58 mm 1.2 cm Tracker eIoni + 3 -18.3 cm -48.2 cm -1.42 m 22.9 keV 5.17 keV 4.31 mm 1.63 cm Tracker eIoni + 4 -18 cm -48.3 cm -1.42 m 18.3 keV 4.63 keV 3.45 mm 1.98 cm Tracker eIoni + 5 -18 cm -48.3 cm -1.43 m 11 keV 7.32 keV 2.78 mm 2.25 cm Tracker eIoni + 6 -18 cm -48.4 cm -1.43 m 4.44 keV 6.56 keV 1.83 mm 2.44 cm Tracker eIoni + 7 -18 cm -48.4 cm -1.43 m 0 eV 4.44 keV 562 um 2.49 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -17.7 cm -48.5 cm -1.59 m 21 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -17.9 cm -48.5 cm -1.59 m 18.2 keV 2.87 keV 3.17 mm 3.17 mm Tracker eIoni + 2 -18.1 cm -48.6 cm -1.59 m 12.4 keV 5.74 keV 2.76 mm 5.92 mm Tracker eIoni + 3 -18.2 cm -48.7 cm -1.59 m 6.8 keV 5.62 keV 2.02 mm 7.94 mm Tracker eIoni + 4 -18.2 cm -48.8 cm -1.59 m 162 eV 6.64 keV 1.14 mm 9.08 mm Tracker eIoni + 5 -18.2 cm -48.8 cm -1.59 m 0 eV 162 eV 11.8 um 9.09 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -169 nm -1.38 um -2.4 m 56.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.68 um 21.5 um -2.4 m 56.5 MeV 182 keV 179 um 179 um Target Transportation + 2 8.31 mm 1.79 cm -2.3 m 56.4 MeV 21.7 keV 10 cm 10 cm Tracker StepLimiter + 3 1.63 cm 3.56 cm -2.2 m 56.4 MeV 15.8 keV 10 cm 20 cm Tracker StepLimiter + 4 2.49 cm 5.37 cm -2.11 m 56.4 MeV 16.2 keV 10 cm 30 cm Tracker StepLimiter + 5 3.36 cm 7.16 cm -2.01 m 56.4 MeV 18.3 keV 10 cm 40 cm Tracker StepLimiter + 6 4.3 cm 9.01 cm -1.91 m 56.4 MeV 19.8 keV 10 cm 50 cm Tracker StepLimiter + 7 5.27 cm 10.8 cm -1.81 m 56.4 MeV 16.7 keV 10 cm 60 cm Tracker StepLimiter + 8 6.2 cm 12.6 cm -1.71 m 56.3 MeV 24.3 keV 10 cm 70 cm Tracker StepLimiter + 9 7.21 cm 14.4 cm -1.62 m 56.3 MeV 29.7 keV 10 cm 80 cm Tracker StepLimiter + 10 7.36 cm 14.8 cm -1.6 m 56.3 MeV 2.78 keV 1.69 cm 81.7 cm Tracker Transportation + 11 9.25 cm 18.7 cm -1.4 m 56.1 MeV 157 keV 20.5 cm 1.02 m Chamber Transportation + 12 9.9 cm 20.4 cm -1.3 m 56.1 MeV 18.3 keV 10 cm 1.12 m Tracker StepLimiter + 13 10.6 cm 22 cm -1.2 m 56.1 MeV 29.1 keV 10 cm 1.22 m Tracker StepLimiter + 14 11.3 cm 23.8 cm -1.11 m 56.1 MeV 30.6 keV 10 cm 1.32 m Tracker StepLimiter + 15 12 cm 25.5 cm -1.01 m 56.1 MeV 17.2 keV 10 cm 1.42 m Tracker StepLimiter + 16 12.7 cm 27.3 cm -90.9 cm 56 MeV 17.8 keV 10 cm 1.52 m Tracker StepLimiter + 17 13.4 cm 29.1 cm -81 cm 56 MeV 36.6 keV 10 cm 1.62 m Tracker StepLimiter + 18 13.4 cm 29.3 cm -80 cm 56 MeV 2.4 keV 1.07 cm 1.63 m Tracker Transportation + 19 14.9 cm 32.9 cm -60 cm 55.8 MeV 148 keV 20.4 cm 1.84 m Chamber Transportation + 20 15.6 cm 35.1 cm -50.3 cm 55.8 MeV 24.2 keV 10 cm 1.94 m Tracker StepLimiter + 21 16.4 cm 37.4 cm -40.6 cm 55.8 MeV 21.3 keV 10 cm 2.04 m Tracker StepLimiter + 22 17.2 cm 39.7 cm -30.9 cm 55.8 MeV 29.2 keV 10 cm 2.14 m Tracker StepLimiter + 23 17.9 cm 42 cm -21.2 cm 55.7 MeV 23 keV 10 cm 2.24 m Tracker StepLimiter + 24 18.6 cm 44.3 cm -11.5 cm 55.7 MeV 14.1 keV 10 cm 2.34 m Tracker StepLimiter + 25 19.3 cm 46.5 cm -1.75 cm 55.7 MeV 25.9 keV 10 cm 2.44 m Tracker StepLimiter + 26 19.4 cm 46.9 cm 0.00355 fm 55.7 MeV 1.76 keV 1.8 cm 2.45 m Tracker Transportation + 27 20.9 cm 51.6 cm 20 cm 55.6 MeV 146 keV 20.6 cm 2.66 m Chamber Transportation + 28 21.7 cm 54 cm 29.7 cm 55.5 MeV 20.2 keV 10 cm 2.76 m Tracker StepLimiter + 29 22.4 cm 56.2 cm 39.4 cm 55.5 MeV 27.9 keV 10 cm 2.86 m Tracker StepLimiter + 30 23.2 cm 58.4 cm 49.1 cm 55.5 MeV 22 keV 10 cm 2.96 m Tracker StepLimiter + 31 24 cm 60.6 cm 58.9 cm 55.5 MeV 20.2 keV 10 cm 3.06 m Tracker StepLimiter + 32 24.9 cm 62.8 cm 68.6 cm 55.5 MeV 20.2 keV 10 cm 3.16 m Tracker StepLimiter + 33 25.7 cm 64.9 cm 78.3 cm 55.4 MeV 19.6 keV 10 cm 3.26 m Tracker StepLimiter + 34 25.8 cm 65.2 cm 80 cm 55.4 MeV 3.03 keV 1.73 cm 3.28 m Tracker Transportation + 35 27.4 cm 69.6 cm 99.9 cm 25.3 MeV 169 keV 20.5 cm 3.48 m Chamber eBrem + 36 27.4 cm 69.6 cm 1 m 25.3 MeV 0 eV 596 um 3.48 m Chamber Transportation + 37 27.9 cm 71.7 cm 1.1 m 25.3 MeV 18.6 keV 10 cm 3.58 m Tracker StepLimiter + 38 28.5 cm 73.8 cm 1.2 m 25.3 MeV 17.6 keV 10 cm 3.68 m Tracker StepLimiter + 39 29.1 cm 75.9 cm 1.29 m 25.3 MeV 20.5 keV 10 cm 3.78 m Tracker StepLimiter + 40 29.7 cm 78.1 cm 1.39 m 25.3 MeV 16.4 keV 10 cm 3.88 m Tracker StepLimiter + 41 30.3 cm 80.1 cm 1.49 m 25.2 MeV 23.6 keV 10 cm 3.98 m Tracker StepLimiter + 42 30.8 cm 82.2 cm 1.59 m 25.2 MeV 26 keV 10 cm 4.08 m Tracker StepLimiter + 43 30.9 cm 82.5 cm 1.6 m 25.2 MeV 3.92 keV 1.47 cm 4.1 m Tracker Transportation + 44 31.9 cm 86.9 cm 1.8 m 25 MeV 164 keV 20.5 cm 4.3 m Chamber Transportation + 45 33.1 cm 88.5 cm 1.9 m 25 MeV 19.9 keV 10 cm 4.4 m Tracker StepLimiter + 46 34.4 cm 90.2 cm 2 m 25 MeV 19.4 keV 10 cm 4.5 m Tracker StepLimiter + 47 35.4 cm 91.8 cm 2.09 m 25 MeV 29.7 keV 10 cm 4.6 m Tracker StepLimiter + 48 36.5 cm 93.5 cm 2.19 m 24.9 MeV 16.7 keV 10 cm 4.7 m Tracker StepLimiter + 49 37.7 cm 95.1 cm 2.29 m 24.9 MeV 27.5 keV 10 cm 4.8 m Tracker StepLimiter + 50 38.8 cm 96.7 cm 2.39 m 24.9 MeV 16.2 keV 10 cm 4.9 m Tracker StepLimiter + 51 39 cm 96.9 cm 2.4 m 24.9 MeV 4.75 keV 1.24 cm 4.92 m Tracker Transportation + 52 44.5 cm 1.06 m 2.91 m 24.8 MeV 94.2 keV 52 cm 5.44 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 27.4 cm 69.6 cm 99.9 cm 29.9 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 27.4 cm 69.6 cm 1 m 29.9 MeV 0 eV 595 um 595 um Chamber Transportation + 2 30.7 cm 82.1 cm 1.6 m 29.9 MeV 0 eV 61.4 cm 61.4 cm Tracker Transportation + 3 31.8 cm 86.3 cm 1.8 m 29.9 MeV 0 eV 20.5 cm 81.9 cm Chamber Transportation + 4 35 cm 98.9 cm 2.4 m 29.9 MeV 0 eV 61.4 cm 1.43 m Tracker Transportation + 5 37.8 cm 1.1 m 2.91 m 29.9 MeV 0 eV 52.2 cm 1.95 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 654 nm -430 nm -2.42 m 322 MeV 0 eV 0 fm 0 fm Target initStep - 1 -10.3 um -13.8 um -2.42 m 309 MeV 1.49 MeV 1.26 mm 1.26 mm Target eBrem - 2 -9.15 um -21.4 um -2.42 m 308 MeV 381 keV 321 um 1.58 mm Target eBrem - 3 -4.11 um -30.9 um -2.42 m 306 MeV 362 keV 336 um 1.92 mm Target eBrem - 4 -5.75 um -72.4 um -2.42 m 196 MeV 793 keV 614 um 2.53 mm Target eBrem - 5 -7.17 um -82.7 um -2.42 m 93.2 MeV 124 keV 102 um 2.63 mm Target eBrem - 6 -7.05 um -96.1 um -2.42 m 88.9 MeV 217 keV 186 um 2.82 mm Target eBrem - 7 -52.9 um -117 um -2.42 m 84.2 MeV 329 keV 306 um 3.12 mm Target eBrem - 8 -54.2 um -119 um -2.42 m 37.2 MeV 22.3 keV 12.9 um 3.14 mm Target eBrem - 9 -101 um -110 um -2.42 m 29.7 MeV 727 keV 528 um 3.66 mm Target eBrem - 10 -185 um -35.4 um -2.42 m 20.5 MeV 2.11 MeV 740 um 4.41 mm Target eBrem - 11 -364 um -8.6 um -2.41 m 18.5 MeV 926 keV 529 um 4.93 mm Target eBrem - 12 -409 um -93.6 um -2.41 m 10.2 MeV 345 keV 276 um 5.21 mm Target eBrem - 13 -517 um -266 um -2.41 m 6.38 MeV 1.22 MeV 435 um 5.64 mm Target eBrem - 14 -508 um -279 um -2.41 m 4.76 MeV 132 keV 119 um 5.76 mm Target eBrem - 15 -491 um -227 um -2.41 m 3.57 MeV 188 keV 138 um 5.9 mm Target eBrem - 16 -404 um -293 um -2.41 m 0 eV 3.57 MeV 1.88 mm 7.79 mm Target eIoni + 0 -335 nm -1.45 um -2.4 m 18.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -51.4 um 63 um -2.4 m 5.22 MeV 768 keV 671 um 671 um Target eBrem + 2 716 um 105 um -2.4 m 3.38 MeV 1.84 MeV 1.66 mm 2.33 mm Target msc + 3 1.03 mm 610 um -2.4 m 1.42 MeV 1.96 MeV 1.66 mm 4 mm Target msc + 4 1.2 mm 671 um -2.4 m 137 keV 1.28 MeV 1.08 mm 5.07 mm Target eIoni + 5 1.2 mm 674 um -2.4 m 0 eV 137 keV 45.4 um 5.12 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 502, Parent ID = 2 +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -491 um -227 um -2.41 m 1 MeV 0 eV 0 fm 0 fm Target initStep - 1 -92.5 um -429 um -2.41 m 0 eV 88 keV 971 um 971 um Target phot + 0 -51.4 um 63 um -2.4 m 12.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -349 um 494 um -2.4 m 0 eV 0 eV 1.59 mm 1.59 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 503, Parent ID = 502 +* G4Track Information: Particle = e+, Track ID = 16, Parent ID = 14 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -92.5 um -429 um -2.41 m 916 keV 0 eV 0 fm 0 fm Target initStep - 1 -33.7 um -443 um -2.41 m 1.87 keV 91.9 keV 114 um 114 um Target eBrem - 2 -33.7 um -443 um -2.41 m 0 eV 1.87 keV 66.3 nm 115 um Target eIoni + 0 -349 um 494 um -2.4 m 2.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 -549 um 410 um -2.4 m 1.78 MeV 470 keV 355 um 355 um Target msc + 2 -482 um 293 um -2.4 m 1.61 MeV 174 keV 237 um 592 um Target msc + 3 -507 um 277 um -2.4 m 1.45 MeV 154 keV 192 um 785 um Target msc + 4 -423 um 297 um -2.4 m 1.27 MeV 181 keV 173 um 958 um Target msc + 5 -442 um 195 um -2.4 m 1.19 MeV 85.7 keV 138 um 1.1 mm Target msc + 6 -474 um 98.7 um -2.4 m 1.05 MeV 138 keV 128 um 1.22 mm Target msc + 7 -551 um 119 um -2.4 m 927 keV 122 keV 108 um 1.33 mm Target msc + 8 -533 um 179 um -2.4 m 826 keV 101 keV 96.8 um 1.43 mm Target msc + 9 -529 um 244 um -2.4 m 744 keV 82.3 keV 91.3 um 1.52 mm Target msc + 10 -457 um 221 um -2.4 m 463 keV 281 keV 115 um 1.63 mm Target msc + 11 -441 um 243 um -2.4 m 0 eV 463 keV 273 um 1.91 mm Target eIoni + 12 -441 um 243 um -2.4 m 0 eV 0 eV 0 fm 1.91 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 504, Parent ID = 503 +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 16 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -33.7 um -443 um -2.41 m 823 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.59 mm 1.08 cm -2.42 m 600 keV 0 eV 1.55 cm 1.55 cm Target compt - 2 -6.84 mm 2.5 cm -2.42 m 600 keV 0 eV 1.46 cm 3.01 cm Target Transportation - 3 -66.5 cm 2.91 m -2.49 m 600 keV 0 eV 2.96 m 2.99 m OutOfWorld Transportation + 0 -441 um 243 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.57 mm -262 um -2.4 m 295 keV 0 eV 2.24 mm 2.24 mm Target compt + 2 -4.2 mm 3.79 mm -2.41 m 0 eV 88 keV 6.91 mm 9.15 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 505, Parent ID = 504 +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 18 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.59 mm 1.08 cm -2.42 m 222 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.59 mm 1.08 cm -2.42 m 0 eV 222 keV 96.2 um 96.2 um Target eIoni + 0 -4.2 mm 3.79 mm -2.41 m 207 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.2 mm 3.79 mm -2.41 m 0 eV 207 keV 86.1 um 86.1 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 501, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 18 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -508 um -279 um -2.41 m 1.49 MeV 0 eV 0 fm 0 fm Target initStep - 1 3.06 mm 867 um -2.4 m 803 keV 0 eV 1.32 cm 1.32 cm Target compt - 2 3.29 mm 2.17 mm -2.4 m 803 keV 0 eV 1.71 mm 1.49 cm Target Transportation - 3 42.5 cm 2.4 m -42.5 cm 803 keV 0 eV 3.13 m 3.15 m Tracker Transportation - 4 51.4 cm 2.91 m -5.07 mm 803 keV 0 eV 66.7 cm 3.82 m OutOfWorld Transportation + 0 -2.57 mm -262 um -2.4 m 216 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.57 mm -265 um -2.4 m 0 eV 216 keV 92.2 um 92.2 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 506, Parent ID = 501 +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 16 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.06 mm 867 um -2.4 m 687 keV 0 eV 0 fm 0 fm Target initStep - 1 3.07 mm 852 um -2.4 m 0 eV 687 keV 461 um 461 um Target eIoni + 0 -441 um 243 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.83 mm 782 um -2.4 m 511 keV 0 eV 2.39 mm 2.39 mm Target Transportation + 2 2.4 m 57 cm -1.83 m 511 keV 0 eV 2.53 m 2.53 m Tracker Transportation + 3 2.91 m 69.2 cm -1.71 m 511 keV 0 eV 53.8 cm 3.07 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 500, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -517 um -266 um -2.41 m 2.62 MeV 0 eV 0 fm 0 fm Target initStep - 1 235 um -1.67 mm -2.41 m 0 eV 0 eV 3.89 mm 3.89 mm Target conv + 0 -349 um 494 um -2.4 m 9.46 MeV 0 eV 0 fm 0 fm Target initStep + 1 -336 um 531 um -2.4 m 8.99 MeV 467 keV 388 um 388 um Target msc + 2 -270 um 402 um -2.4 m 8.51 MeV 482 keV 388 um 775 um Target msc + 3 -122 um 155 um -2.4 m 7.97 MeV 543 keV 388 um 1.16 mm Target msc + 4 143 um 72 um -2.4 m 7.53 MeV 438 keV 388 um 1.55 mm Target msc + 5 204 um 34.2 um -2.4 m 7.47 MeV 59 keV 73.6 um 1.62 mm Target Transportation + 6 7.41 cm -5.75 cm -2.36 m 7.45 MeV 16.7 keV 10 cm 10.2 cm Tracker StepLimiter + 7 14.7 cm -11.8 cm -2.33 m 7.44 MeV 18.7 keV 10 cm 20.2 cm Tracker StepLimiter + 8 21.9 cm -17.9 cm -2.3 m 7.4 MeV 31.3 keV 10 cm 30.2 cm Tracker StepLimiter + 9 29.2 cm -24 cm -2.27 m 7.38 MeV 22.7 keV 10 cm 40.2 cm Tracker StepLimiter + 10 36.7 cm -30.1 cm -2.24 m 7.36 MeV 18.3 keV 10 cm 50.2 cm Tracker StepLimiter + 11 38.4 cm -31.5 cm -2.24 m 7.34 MeV 2.76 keV 2.29 cm 52.5 cm Tracker eIoni + 12 46 cm -37.2 cm -2.21 m 7.3 MeV 34.8 keV 10 cm 62.5 cm Tracker StepLimiter + 13 53.5 cm -43.1 cm -2.18 m 7.28 MeV 21.6 keV 10 cm 72.5 cm Tracker StepLimiter + 14 57.2 cm -46 cm -2.16 m 7.25 MeV 5.83 keV 5.02 cm 77.5 cm Tracker eIoni + 15 64.5 cm -52 cm -2.12 m 7.22 MeV 32.1 keV 10 cm 87.5 cm Tracker StepLimiter + 16 71.8 cm -57.8 cm -2.09 m 7.21 MeV 14.2 keV 10 cm 97.5 cm Tracker StepLimiter + 17 79.3 cm -63.6 cm -2.06 m 7.19 MeV 13.5 keV 10 cm 1.07 m Tracker StepLimiter + 18 86.5 cm -69.8 cm -2.03 m 7.18 MeV 17.4 keV 10 cm 1.17 m Tracker StepLimiter + 19 93.7 cm -75.8 cm -1.99 m 7.15 MeV 23.4 keV 10 cm 1.27 m Tracker StepLimiter + 20 1.01 m -81.9 cm -1.96 m 7.14 MeV 16.1 keV 10 cm 1.37 m Tracker StepLimiter + 21 1.08 m -88.3 cm -1.92 m 7.11 MeV 29.7 keV 10 cm 1.47 m Tracker StepLimiter + 22 1.15 m -94.6 cm -1.89 m 7.08 MeV 24.9 keV 10 cm 1.57 m Tracker StepLimiter + 23 1.22 m -1.01 m -1.86 m 7.07 MeV 18.3 keV 10 cm 1.67 m Tracker StepLimiter + 24 1.29 m -1.07 m -1.82 m 7.05 MeV 17.6 keV 10 cm 1.77 m Tracker StepLimiter + 25 1.36 m -1.12 m -1.79 m 7.03 MeV 17.9 keV 10 cm 1.87 m Tracker StepLimiter + 26 1.44 m -1.19 m -1.75 m 7.01 MeV 23.1 keV 10 cm 1.97 m Tracker StepLimiter + 27 1.51 m -1.25 m -1.72 m 6.99 MeV 21 keV 10 cm 2.07 m Tracker StepLimiter + 28 1.58 m -1.31 m -1.69 m 6.95 MeV 31.9 keV 10 cm 2.17 m Tracker StepLimiter + 29 1.65 m -1.38 m -1.66 m 6.94 MeV 16.7 keV 10 cm 2.27 m Tracker StepLimiter + 30 1.72 m -1.44 m -1.63 m 6.92 MeV 17.2 keV 10 cm 2.37 m Tracker StepLimiter + 31 1.79 m -1.51 m -1.6 m 6.9 MeV 16.1 keV 10 cm 2.47 m Tracker StepLimiter + 32 1.86 m -1.57 m -1.56 m 6.89 MeV 18.2 keV 10 cm 2.57 m Tracker StepLimiter + 33 1.93 m -1.63 m -1.53 m 6.87 MeV 15.4 keV 10 cm 2.67 m Tracker StepLimiter + 34 2.01 m -1.69 m -1.51 m 6.84 MeV 29.1 keV 10 cm 2.77 m Tracker StepLimiter + 35 2.08 m -1.74 m -1.47 m 6.83 MeV 14.5 keV 10 cm 2.87 m Tracker StepLimiter + 36 2.16 m -1.8 m -1.44 m 6.81 MeV 15.2 keV 10 cm 2.97 m Tracker StepLimiter + 37 2.24 m -1.85 m -1.41 m 6.79 MeV 17.7 keV 10 cm 3.07 m Tracker StepLimiter + 38 2.32 m -1.9 m -1.38 m 6.78 MeV 18.2 keV 10 cm 3.17 m Tracker StepLimiter + 39 2.4 m -1.95 m -1.35 m 6.76 MeV 19.6 keV 10 cm 3.27 m Tracker StepLimiter + 40 2.4 m -1.95 m -1.35 m 6.76 MeV 20.7 eV 233 um 3.27 m Tracker Transportation + 41 2.91 m -2.3 m -1.17 m 6.63 MeV 130 keV 64.5 cm 3.92 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 508, Parent ID = 500 +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 15 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 235 um -1.67 mm -2.41 m 945 keV 0 eV 0 fm 0 fm Target initStep - 1 262 um -1.69 mm -2.41 m 0 eV 945 keV 690 um 690 um Target eIoni - 2 262 um -1.69 mm -2.41 m 0 eV 0 eV 0 fm 690 um Target annihil + 0 57.2 cm -46 cm -2.16 m 21.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 57.5 cm -46 cm -2.16 m 17.9 keV 3.41 keV 3.2 mm 3.2 mm Tracker eIoni + 2 57.7 cm -45.9 cm -2.16 m 13.9 keV 4 keV 2.72 mm 5.93 mm Tracker eIoni + 3 57.8 cm -45.8 cm -2.16 m 10.4 keV 3.54 keV 2.2 mm 8.13 mm Tracker eIoni + 4 57.7 cm -45.8 cm -2.16 m 4.08 keV 6.27 keV 1.75 mm 9.87 mm Tracker eIoni + 5 57.7 cm -45.8 cm -2.16 m 0 eV 4.08 keV 489 um 1.04 cm Tracker eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 510, Parent ID = 508 +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 15 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 262 um -1.69 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.94 mm 158 um -2.41 m 0 eV 88 keV 3.6 mm 3.6 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 511, Parent ID = 510 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.94 mm 158 um -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 1.95 mm 169 um -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 509, Parent ID = 508 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 262 um -1.69 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -194 um -2.19 mm -2.41 m 177 keV 0 eV 978 um 978 um Target compt - 2 617 um -890 um -2.41 m 0 eV 88 keV 1.64 mm 2.62 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 513, Parent ID = 509 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 617 um -890 um -2.41 m 88.6 keV 0 eV 0 fm 0 fm Target initStep - 1 617 um -889 um -2.41 m 0 eV 88.6 keV 22.7 um 22.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 512, Parent ID = 509 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -194 um -2.19 mm -2.41 m 334 keV 0 eV 0 fm 0 fm Target initStep - 1 -200 um -2.2 mm -2.41 m 0 eV 334 keV 175 um 175 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 507, Parent ID = 500 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 235 um -1.67 mm -2.41 m 652 keV 0 eV 0 fm 0 fm Target initStep - 1 235 um -1.68 mm -2.41 m 0 eV 652 keV 431 um 431 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 499, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -409 um -93.6 um -2.41 m 7.93 MeV 0 eV 0 fm 0 fm Target initStep - 1 -826 um -60.3 um -2.41 m 0 eV 0 eV 2.43 mm 2.43 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 515, Parent ID = 499 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -826 um -60.3 um -2.41 m 5.63 MeV 0 eV 0 fm 0 fm Target initStep - 1 -479 um -299 um -2.41 m 4.34 MeV 1 MeV 999 um 999 um Target eBrem - 2 37.7 um -478 um -2.41 m 2.81 MeV 1.24 MeV 1.3 mm 2.3 mm Target eBrem - 3 251 um -614 um -2.41 m 1.57 MeV 391 keV 366 um 2.67 mm Target eBrem - 4 452 um -369 um -2.41 m 199 keV 1.38 MeV 1.2 mm 3.87 mm Target eIoni - 5 447 um -367 um -2.41 m 0 eV 199 keV 77.9 um 3.94 mm Target eIoni - 6 447 um -367 um -2.41 m 0 eV 0 eV 0 fm 3.94 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 520, Parent ID = 515 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 447 um -367 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -266 um -767 um -2.41 m 237 keV 0 eV 2.22 mm 2.22 mm Target compt - 2 -672 um -840 um -2.41 m 0 eV 88 keV 475 um 2.7 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 522, Parent ID = 520 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -672 um -840 um -2.41 m 149 keV 0 eV 0 fm 0 fm Target initStep - 1 -673 um -840 um -2.41 m 0 eV 149 keV 51.9 um 51.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 521, Parent ID = 520 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -266 um -767 um -2.41 m 274 keV 0 eV 0 fm 0 fm Target initStep - 1 -266 um -767 um -2.41 m 0 eV 274 keV 132 um 132 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 519, Parent ID = 515 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 447 um -367 um -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.09 cm 5.51 mm -2.44 m 0 eV 88 keV 3.26 cm 3.26 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 523, Parent ID = 519 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.09 cm 5.51 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 1.09 cm 5.49 mm -2.44 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 518, Parent ID = 515 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 251 um -614 um -2.41 m 842 keV 0 eV 0 fm 0 fm Target initStep - 1 3.67 mm -333 um -2.41 m 0 eV 88 keV 4 mm 4 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 524, Parent ID = 518 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.67 mm -333 um -2.41 m 754 keV 0 eV 0 fm 0 fm Target initStep - 1 3.71 mm -326 um -2.41 m 0 eV 754 keV 518 um 518 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 517, Parent ID = 515 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 37.7 um -478 um -2.41 m 293 keV 0 eV 0 fm 0 fm Target initStep - 1 446 um -1.06 mm -2.41 m 0 eV 88 keV 721 um 721 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 525, Parent ID = 517 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 446 um -1.06 mm -2.41 m 205 keV 0 eV 0 fm 0 fm Target initStep - 1 447 um -1.06 mm -2.41 m 0 eV 205 keV 85.1 um 85.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 516, Parent ID = 515 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -479 um -299 um -2.41 m 285 keV 0 eV 0 fm 0 fm Target initStep - 1 276 um 42.6 um -2.41 m 0 eV 88 keV 874 um 874 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 526, Parent ID = 516 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 276 um 42.6 um -2.41 m 197 keV 0 eV 0 fm 0 fm Target initStep - 1 281 um 45.2 um -2.41 m 0 eV 197 keV 80.3 um 80.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 514, Parent ID = 499 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -826 um -60.3 um -2.41 m 1.27 MeV 0 eV 0 fm 0 fm Target initStep - 1 -846 um -33 um -2.41 m 0 eV 1.27 MeV 963 um 963 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 498, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -364 um -8.6 um -2.41 m 1.06 MeV 0 eV 0 fm 0 fm Target initStep - 1 -802 um -406 um -2.41 m 678 keV 0 eV 1.55 mm 1.55 mm Target compt - 2 -7.44 mm 6.43 mm -2.4 m 542 keV 0 eV 1.52 cm 1.67 cm Target compt - 3 -7.7 mm 6.41 mm -2.4 m 205 keV 0 eV 341 um 1.71 cm Target compt - 4 -7.71 mm 6.49 mm -2.4 m 0 eV 88 keV 189 um 1.73 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 530, Parent ID = 498 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.71 mm 6.49 mm -2.4 m 117 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.71 mm 6.49 mm -2.4 m 0 eV 117 keV 35.5 um 35.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 529, Parent ID = 498 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.7 mm 6.41 mm -2.4 m 337 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.71 mm 6.41 mm -2.4 m 0 eV 337 keV 177 um 177 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 528, Parent ID = 498 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.44 mm 6.43 mm -2.4 m 136 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.44 mm 6.43 mm -2.4 m 0 eV 136 keV 45.3 um 45.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 527, Parent ID = 498 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -802 um -406 um -2.41 m 382 keV 0 eV 0 fm 0 fm Target initStep - 1 -802 um -417 um -2.41 m 0 eV 382 keV 211 um 211 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 497, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -185 um -35.4 um -2.42 m 7.12 MeV 0 eV 0 fm 0 fm Target initStep - 1 -4.3 mm -1.8 mm -2.4 m 7.12 MeV 0 eV 1.57 cm 1.57 cm Target Transportation - 2 -22.4 cm -9.57 cm -1.6 m 7.12 MeV 0 eV 83.5 cm 85.1 cm Tracker Transportation - 3 -24 cm -10.3 cm -1.54 m 7.12 MeV 0 eV 6.08 cm 91.1 cm Chamber Transportation - 4 -44.4 cm -19 cm -80 cm 7.12 MeV 0 eV 77.4 cm 1.69 m Tracker Transportation - 5 -49.9 cm -21.3 cm -60 cm 7.12 MeV 0 eV 20.9 cm 1.89 m Chamber Transportation - 6 -66.3 cm -28.4 cm 0 fm 7.12 MeV 0 eV 62.6 cm 2.52 m Tracker Transportation - 7 -71.8 cm -30.7 cm 20 cm 7.12 MeV 0 eV 20.9 cm 2.73 m Chamber Transportation - 8 -88.3 cm -37.8 cm 80 cm 7.12 MeV 0 eV 62.6 cm 3.36 m Tracker Transportation - 9 -93.8 cm -40.1 cm 1 m 7.12 MeV 0 eV 20.9 cm 3.56 m Chamber Transportation - 10 -1.1 m -47.1 cm 1.6 m 7.12 MeV 0 eV 62.6 cm 4.19 m Tracker Transportation - 11 -1.16 m -49.5 cm 1.8 m 7.12 MeV 0 eV 20.9 cm 4.4 m Chamber Transportation - 12 -1.32 m -56.5 cm 2.4 m 7.12 MeV 0 eV 62.6 cm 5.03 m Tracker Transportation - 13 -1.46 m -62.5 cm 2.91 m 7.12 MeV 0 eV 53.2 cm 5.56 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 496, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -101 um -110 um -2.42 m 6.78 MeV 0 eV 0 fm 0 fm Target initStep - 1 -138 um 701 um -2.4 m 0 eV 0 eV 1.13 cm 1.13 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 532, Parent ID = 496 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -138 um 701 um -2.4 m 4.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 830 um 969 um -2.4 m 1.7 MeV 2.41 MeV 2.01 mm 2.01 mm Target eIoni - 2 1.12 mm 855 um -2.4 m 37.4 keV 1.66 MeV 1.27 mm 3.29 mm Target eIoni - 3 1.12 mm 856 um -2.4 m 0 eV 37.4 keV 4.88 um 3.29 mm Target eIoni - 4 1.12 mm 856 um -2.4 m 0 eV 0 eV 0 fm 3.29 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 534, Parent ID = 532 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.12 mm 856 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 9.02 mm -2.49 mm -2.41 m 241 keV 0 eV 1.33 cm 1.33 cm Target compt - 2 9.92 mm -2.15 mm -2.41 m 0 eV 88 keV 1.24 mm 1.45 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 536, Parent ID = 534 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.92 mm -2.15 mm -2.41 m 153 keV 0 eV 0 fm 0 fm Target initStep - 1 9.92 mm -2.15 mm -2.41 m 0 eV 153 keV 54.1 um 54.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 535, Parent ID = 534 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.02 mm -2.49 mm -2.41 m 270 keV 0 eV 0 fm 0 fm Target initStep - 1 9.03 mm -2.5 mm -2.41 m 0 eV 270 keV 129 um 129 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 533, Parent ID = 532 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.12 mm 856 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.82 mm 2.1 mm -2.4 m 511 keV 0 eV 4.96 mm 4.96 mm Target Transportation - 2 -2.4 m 1.02 m 68.3 cm 511 keV 0 eV 4.04 m 4.04 m Tracker Transportation - 3 -2.91 m 1.23 m 1.34 m 511 keV 0 eV 85.8 cm 4.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 531, Parent ID = 496 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -138 um 701 um -2.4 m 1.66 MeV 0 eV 0 fm 0 fm Target initStep - 1 -327 um 877 um -2.4 m 284 keV 1.38 MeV 1.24 mm 1.24 mm Target eIoni - 2 -321 um 883 um -2.4 m 0 eV 284 keV 139 um 1.38 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 495, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -54.2 um -119 um -2.42 m 46.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 -975 um -1.54 mm -2.4 m 46.9 MeV 0 eV 1.63 cm 1.63 cm Target Transportation - 2 -4.63 cm -7.14 cm -1.6 m 46.9 MeV 0 eV 80.4 cm 82.1 cm Tracker Transportation - 3 -5.76 cm -8.88 cm -1.4 m 46.9 MeV 0 eV 20.1 cm 1.02 m Chamber Transportation - 4 -9.16 cm -14.1 cm -80 cm 46.9 MeV 0 eV 60.3 cm 1.62 m Tracker Transportation - 5 -10.3 cm -15.9 cm -60 cm 46.9 MeV 0 eV 20.1 cm 1.83 m Chamber Transportation - 6 -13.7 cm -21.1 cm -0.114 fm 46.9 MeV 0 eV 60.3 cm 2.43 m Tracker Transportation - 7 -14.8 cm -22.8 cm 20 cm 46.9 MeV 0 eV 20.1 cm 2.63 m Chamber Transportation - 8 -18.2 cm -28.1 cm 80 cm 46.9 MeV 0 eV 60.3 cm 3.23 m Tracker Transportation - 9 -19.4 cm -29.8 cm 1 m 46.9 MeV 0 eV 20.1 cm 3.43 m Chamber Transportation - 10 -22.8 cm -35.1 cm 1.6 m 46.9 MeV 0 eV 60.3 cm 4.04 m Tracker Transportation - 11 -23.9 cm -36.8 cm 1.8 m 46.9 MeV 0 eV 20.1 cm 4.24 m Chamber Transportation - 12 -27.3 cm -42 cm 2.4 m 46.9 MeV 0 eV 60.3 cm 4.84 m Tracker Transportation - 13 -30.2 cm -46.5 cm 2.91 m 46.9 MeV 0 eV 51.3 cm 5.36 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 494, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -52.9 um -117 um -2.42 m 4.43 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.38 mm -1.22 mm -2.4 m 0 eV 0 eV 1.38 cm 1.38 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 538, Parent ID = 494 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.38 mm -1.22 mm -2.4 m 1.99 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.62 mm -896 um -2.4 m 462 keV 1.53 MeV 1.41 mm 1.41 mm Target eIoni - 2 -1.59 mm -882 um -2.4 m 0 eV 462 keV 273 um 1.69 mm Target eIoni - 3 -1.59 mm -882 um -2.4 m 0 eV 0 eV 0 fm 1.69 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 540, Parent ID = 538 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.59 mm -882 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.4 mm 562 um -2.4 m 203 keV 0 eV 1.86 mm 1.86 mm Target compt - 2 -757 um 197 um -2.4 m 0 eV 88 keV 805 um 2.67 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 542, Parent ID = 540 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -757 um 197 um -2.4 m 115 keV 0 eV 0 fm 0 fm Target initStep - 1 -755 um 198 um -2.4 m 0 eV 115 keV 34.8 um 34.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 541, Parent ID = 540 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.4 mm 562 um -2.4 m 308 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.41 mm 571 um -2.4 m 0 eV 308 keV 155 um 155 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 539, Parent ID = 538 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.59 mm -882 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.82 mm -2.63 mm -2.4 m 0 eV 88 keV 2.26 mm 2.26 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 543, Parent ID = 539 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.82 mm -2.63 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.8 mm -2.63 mm -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 537, Parent ID = 494 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.38 mm -1.22 mm -2.4 m 1.41 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm -1.3 mm -2.4 m 136 keV 1.28 MeV 1.08 mm 1.08 mm Target eIoni - 2 -1.21 mm -1.31 mm -2.4 m 0 eV 136 keV 45.4 um 1.12 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 493, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.05 um -96.1 um -2.42 m 4.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.07 mm -1.06 mm -2.4 m 4.1 MeV 0 eV 1.67 cm 1.67 cm Target Transportation - 2 -10.2 cm -4.77 cm -1.6 m 4.1 MeV 0 eV 80.8 cm 82.4 cm Tracker Transportation - 3 -12.7 cm -5.93 cm -1.4 m 4.1 MeV 0 eV 20.2 cm 1.03 m Chamber Transportation - 4 -20.1 cm -9.43 cm -80 cm 4.1 MeV 0 eV 60.6 cm 1.63 m Tracker Transportation - 5 -22.6 cm -10.6 cm -60 cm 4.1 MeV 0 eV 20.2 cm 1.83 m Chamber Transportation - 6 -30.1 cm -14.1 cm 0 fm 4.1 MeV 0 eV 60.6 cm 2.44 m Tracker Transportation - 7 -32.6 cm -15.3 cm 20 cm 4.1 MeV 0 eV 20.2 cm 2.64 m Chamber Transportation - 8 -40.1 cm -18.7 cm 80 cm 4.1 MeV 0 eV 60.6 cm 3.25 m Tracker Transportation - 9 -42.6 cm -19.9 cm 1 m 4.1 MeV 0 eV 20.2 cm 3.45 m Chamber Transportation - 10 -50 cm -23.4 cm 1.6 m 4.1 MeV 0 eV 60.6 cm 4.05 m Tracker Transportation - 11 -52.4 cm -24.5 cm 1.79 m 421 keV 0 eV 18.7 cm 4.24 m Chamber compt - 12 12.1 cm -36.8 cm 1.8 m 421 keV 0 eV 65.6 cm 4.9 m Chamber Transportation - 13 97.4 cm -53.2 cm 1.82 m 174 keV 0 eV 86.9 cm 5.77 m Tracker compt - 14 87.4 cm -59.3 cm 1.8 m 174 keV 0 eV 11.9 cm 5.89 m Tracker Transportation - 15 -17 cm -1.24 m 1.6 m 174 keV 0 eV 1.24 m 7.13 m Chamber Transportation - 16 -2.06 m -2.4 m 1.24 m 174 keV 0 eV 2.25 m 9.38 m Tracker Transportation - 17 -2.89 m -2.91 m 1.08 m 174 keV 0 eV 98.5 cm 10.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 545, Parent ID = 493 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 97.4 cm -53.2 cm 1.82 m 248 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.06 m -50.7 cm 1.83 m 200 keV 48 keV 10 cm 10 cm Tracker StepLimiter - 2 1.14 m -49.9 cm 1.87 m 165 keV 35.1 keV 8.65 cm 18.7 cm Tracker eIoni - 3 1.17 m -45.6 cm 1.9 m 148 keV 16.4 keV 6.29 cm 24.9 cm Tracker eIoni - 4 1.16 m -41.5 cm 1.92 m 132 keV 16.7 keV 5.31 cm 30.3 cm Tracker eIoni - 5 1.16 m -38.8 cm 1.95 m 121 keV 10.9 keV 4.37 cm 34.6 cm Tracker eIoni - 6 1.17 m -35.7 cm 1.97 m 105 keV 15.3 keV 3.78 cm 38.4 cm Tracker eIoni - 7 1.17 m -34.2 cm 2 m 93.6 keV 11.8 keV 3.03 cm 41.4 cm Tracker eIoni - 8 1.18 m -33.5 cm 2.02 m 85.2 keV 8.4 keV 2.49 cm 43.9 cm Tracker eIoni - 9 1.18 m -32.4 cm 2.03 m 67 keV 18.2 keV 2.13 cm 46.1 cm Tracker eIoni - 10 1.18 m -31.5 cm 2.04 m 57.1 keV 9.91 keV 1.45 cm 47.5 cm Tracker eIoni - 11 1.19 m -31 cm 2.04 m 51.6 keV 5.44 keV 1.13 cm 48.6 cm Tracker eIoni - 12 1.19 m -30.7 cm 2.04 m 40.7 keV 10.9 keV 9.76 mm 49.6 cm Tracker eIoni - 13 1.2 m -30.3 cm 2.04 m 37.9 keV 2.8 keV 6.9 mm 50.3 cm Tracker eIoni - 14 1.2 m -30.2 cm 2.04 m 33.3 keV 4.59 keV 6.29 mm 50.9 cm Tracker eIoni - 15 1.21 m -29.9 cm 2.04 m 29.3 keV 3.97 keV 5.29 mm 51.5 cm Tracker eIoni - 16 1.21 m -29.8 cm 2.05 m 7.88 keV 21.5 keV 4.53 mm 51.9 cm Tracker eIoni - 17 1.21 m -29.7 cm 2.04 m 5.28 keV 2.6 keV 1.36 mm 52.1 cm Tracker eIoni - 18 1.21 m -29.7 cm 2.04 m 0 eV 5.28 keV 755 um 52.1 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 544, Parent ID = 493 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -52.4 cm -24.5 cm 1.79 m 3.68 MeV 0 eV 0 fm 0 fm Chamber initStep - 1 -52.7 cm -24.5 cm 1.8 m 3.68 MeV 5.99 keV 1.49 cm 1.49 cm Chamber Transportation - 2 -54.7 cm -25 cm 1.9 m 3.66 MeV 22.2 keV 10 cm 11.5 cm Tracker StepLimiter - 3 -56.2 cm -25.4 cm 2 m 3.64 MeV 16.3 keV 10 cm 21.5 cm Tracker StepLimiter - 4 -58.2 cm -25.8 cm 2.09 m 3.63 MeV 13.2 keV 10 cm 31.5 cm Tracker StepLimiter - 5 -60.2 cm -25.2 cm 2.19 m 3.61 MeV 15.1 keV 10 cm 41.5 cm Tracker StepLimiter - 6 -62.1 cm -24.3 cm 2.29 m 3.59 MeV 18.8 keV 10 cm 51.5 cm Tracker StepLimiter - 7 -63.9 cm -24.2 cm 2.39 m 3.57 MeV 17.8 keV 10 cm 61.5 cm Tracker StepLimiter - 8 -64.2 cm -24.1 cm 2.4 m 3.57 MeV 1.38 keV 1.23 cm 62.7 cm Tracker Transportation - 9 -75 cm -22.6 cm 2.91 m 3.49 MeV 83.2 keV 52.5 cm 1.15 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 492, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.17 um -82.7 um -2.42 m 102 MeV 0 eV 0 fm 0 fm Target initStep - 1 -49.4 um -777 um -2.41 m 0 eV 0 eV 6.14 mm 6.14 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 547, Parent ID = 492 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -49.4 um -777 um -2.41 m 40.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 -200 um -888 um -2.41 m 35.3 MeV 1.8 MeV 1.17 mm 1.17 mm Target eBrem - 2 -206 um -1.08 mm -2.41 m 33.6 MeV 1.09 MeV 922 um 2.09 mm Target eBrem - 3 -23.8 um -1.61 mm -2.41 m 30.2 MeV 2.78 MeV 2.13 mm 4.22 mm Target eBrem - 4 420 um -1.13 mm -2.4 m 7.52 MeV 5.69 MeV 2.58 mm 6.8 mm Target eIoni - 5 71 um -267 um -2.4 m 3.14 MeV 4.38 MeV 1.16 mm 7.96 mm Target eBrem - 6 253 nm -696 um -2.4 m 0 eV 1.12 MeV 1.04 mm 9 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 553, Parent ID = 547 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 253 nm -696 um -2.4 m 1.94 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.42 mm -3.8 mm -2.4 m 374 keV 0 eV 3.94 mm 3.94 mm Target compt - 2 -651 um -5.71 mm -2.4 m 0 eV 88 keV 3.62 mm 7.56 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 555, Parent ID = 553 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -651 um -5.71 mm -2.4 m 286 keV 0 eV 0 fm 0 fm Target initStep - 1 -660 um -5.71 mm -2.4 m 0 eV 286 keV 139 um 139 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 554, Parent ID = 553 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.42 mm -3.8 mm -2.4 m 1.57 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.66 mm -3.7 mm -2.4 m 804 keV 766 keV 645 um 645 um Target eBrem - 2 2.69 mm -3.71 mm -2.4 m 0 eV 804 keV 561 um 1.21 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 552, Parent ID = 547 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 253 nm -696 um -2.4 m 1.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.5 cm 9.36 mm -2.42 m 1.1 MeV 0 eV 3 cm 3 cm Target Transportation - 2 95.4 cm 38.3 cm -2.91 m 1.1 MeV 0 eV 1.12 m 1.15 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 551, Parent ID = 547 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 420 um -1.13 mm -2.4 m 17 MeV 0 eV 0 fm 0 fm Target initStep - 1 472 um -1.1 mm -2.4 m 16.3 MeV 435 keV 367 um 367 um Target eBrem - 2 359 um -1.01 mm -2.4 m 15 MeV 546 keV 473 um 839 um Target eBrem - 3 723 um -330 um -2.4 m 13.3 MeV 1.75 MeV 1.4 mm 2.24 mm Target msc - 4 -6.81 um -514 um -2.4 m 10.6 MeV 2.67 MeV 1.4 mm 3.64 mm Target msc - 5 -229 um -1.06 mm -2.4 m 8.32 MeV 1.69 MeV 1.32 mm 4.96 mm Target eBrem - 6 -296 um -1.2 mm -2.4 m 7.5 MeV 168 keV 162 um 5.12 mm Target eBrem - 7 -433 um -1.35 mm -2.4 m 6.78 MeV 211 keV 221 um 5.34 mm Target eBrem - 8 -598 um -1.75 mm -2.4 m 5.64 MeV 535 keV 506 um 5.85 mm Target eBrem - 9 -655 um -1.95 mm -2.4 m 5.3 MeV 333 keV 251 um 6.1 mm Target Transportation - 10 -8.12 cm 3.81 cm -2.36 m 5.28 MeV 23.4 keV 10 cm 10.6 cm Tracker StepLimiter - 11 -16.2 cm 7.85 cm -2.31 m 5.27 MeV 14 keV 10 cm 20.6 cm Tracker StepLimiter - 12 -23.9 cm 12.1 cm -2.27 m 5.24 MeV 27.4 keV 10 cm 30.6 cm Tracker StepLimiter - 13 -31.2 cm 16.5 cm -2.21 m 5.22 MeV 19.2 keV 10 cm 40.6 cm Tracker StepLimiter - 14 -38.9 cm 20.6 cm -2.16 m 5.2 MeV 19.3 keV 10 cm 50.6 cm Tracker StepLimiter - 15 -46.3 cm 24.8 cm -2.12 m 5.09 MeV 8.98 keV 9.74 cm 60.4 cm Tracker eIoni - 16 -53.5 cm 29.3 cm -2.07 m 5.08 MeV 13.2 keV 10 cm 70.4 cm Tracker StepLimiter - 17 -60.7 cm 33.8 cm -2.01 m 5.06 MeV 18.8 keV 10 cm 80.4 cm Tracker StepLimiter - 18 -67.9 cm 37.7 cm -1.95 m 5.05 MeV 12.9 keV 10 cm 90.4 cm Tracker StepLimiter - 19 -75 cm 42 cm -1.9 m 5.03 MeV 14.2 keV 10 cm 1 m Tracker StepLimiter - 20 -82.3 cm 46.1 cm -1.84 m 5 MeV 28.7 keV 10 cm 1.1 m Tracker StepLimiter - 21 -89.5 cm 49.8 cm -1.79 m 4.98 MeV 21.6 keV 10 cm 1.2 m Tracker StepLimiter - 22 -96.8 cm 53.2 cm -1.73 m 4.96 MeV 17.1 keV 10 cm 1.3 m Tracker StepLimiter - 23 -1.04 m 56.6 cm -1.67 m 4.94 MeV 19.8 keV 10 cm 1.4 m Tracker StepLimiter - 24 -1.1 m 59.4 cm -1.59 m 4.92 MeV 24.6 keV 10 cm 1.5 m Tracker StepLimiter - 25 -1.14 m 60.9 cm -1.55 m 4.89 MeV 7.38 keV 5.91 cm 1.56 m Tracker eIoni - 26 -1.21 m 63.2 cm -1.48 m 4.88 MeV 16.2 keV 10 cm 1.66 m Tracker StepLimiter - 27 -1.28 m 65.6 cm -1.41 m 4.87 MeV 13.3 keV 10 cm 1.76 m Tracker StepLimiter - 28 -1.34 m 68 cm -1.34 m 4.85 MeV 17.4 keV 10 cm 1.86 m Tracker StepLimiter - 29 -1.41 m 70.6 cm -1.27 m 4.84 MeV 11.9 keV 10 cm 1.96 m Tracker StepLimiter - 30 -1.48 m 73.4 cm -1.2 m 4.82 MeV 19.6 keV 10 cm 2.06 m Tracker StepLimiter - 31 -1.55 m 75.7 cm -1.13 m 4.8 MeV 19.3 keV 10 cm 2.16 m Tracker StepLimiter - 32 -1.61 m 78.2 cm -1.07 m 4.78 MeV 19.4 keV 10 cm 2.26 m Tracker StepLimiter - 33 -1.68 m 79.9 cm -99.2 cm 4.76 MeV 15.4 keV 10 cm 2.36 m Tracker StepLimiter - 34 -1.74 m 81.9 cm -91.8 cm 4.74 MeV 24.3 keV 10 cm 2.46 m Tracker StepLimiter - 35 -1.8 m 84 cm -84.1 cm 4.72 MeV 16.7 keV 10 cm 2.56 m Tracker StepLimiter - 36 -1.87 m 85.3 cm -76.5 cm 4.69 MeV 32.5 keV 10 cm 2.66 m Tracker StepLimiter - 37 -1.93 m 86.7 cm -68.9 cm 4.67 MeV 20.5 keV 10 cm 2.76 m Tracker StepLimiter - 38 -2 m 87.8 cm -61.7 cm 4.66 MeV 12.6 keV 10 cm 2.86 m Tracker StepLimiter - 39 -2.07 m 89.6 cm -54.5 cm 4.64 MeV 17 keV 10 cm 2.96 m Tracker StepLimiter - 40 -2.13 m 91.3 cm -47.2 cm 4.62 MeV 18.4 keV 10 cm 3.06 m Tracker StepLimiter - 41 -2.2 m 93.2 cm -40 cm 4.61 MeV 14 keV 10 cm 3.16 m Tracker StepLimiter - 42 -2.27 m 94.9 cm -33.3 cm 4.59 MeV 14.3 keV 10 cm 3.26 m Tracker StepLimiter - 43 -2.35 m 95.8 cm -26.6 cm 4.57 MeV 20.9 keV 10 cm 3.36 m Tracker StepLimiter - 44 -2.4 m 98.5 cm -21.8 cm 4.56 MeV 10 keV 7.79 cm 3.44 m Tracker Transportation - 45 -2.91 m 1.24 m 23.8 cm 4.44 MeV 125 keV 73.3 cm 4.17 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 563, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.14 m 60.9 cm -1.55 m 18 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.15 m 60.7 cm -1.55 m 8.82 keV 9.19 keV 2.74 mm 2.74 mm Tracker eIoni - 2 -1.15 m 60.6 cm -1.55 m 2.07 keV 6.74 keV 1.52 mm 4.26 mm Tracker eIoni - 3 -1.15 m 60.6 cm -1.55 m 0 eV 2.07 keV 164 um 4.42 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 562, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -46.3 cm 24.8 cm -2.12 m 101 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -47.4 cm 22.9 cm -2.1 m 92.6 keV 8.36 keV 2.83 cm 2.83 cm Tracker eIoni - 2 -46.4 cm 20.8 cm -2.1 m 82.5 keV 10 keV 2.45 cm 5.28 cm Tracker eIoni - 3 -45.4 cm 19.2 cm -2.1 m 70.1 keV 12.4 keV 2.02 cm 7.3 cm Tracker eIoni - 4 -44.5 cm 18.1 cm -2.1 m 61.7 keV 8.47 keV 1.57 cm 8.87 cm Tracker eIoni - 5 -44.6 cm 17.2 cm -2.09 m 52.6 keV 9.12 keV 1.27 cm 10.1 cm Tracker eIoni - 6 -44.7 cm 16.4 cm -2.08 m 47.4 keV 5.17 keV 1 cm 11.1 cm Tracker eIoni - 7 -44.2 cm 15.9 cm -2.08 m 40.7 keV 6.66 keV 8.56 mm 12 cm Tracker eIoni - 8 -44 cm 15.3 cm -2.08 m 32.9 keV 7.78 keV 6.9 mm 12.7 cm Tracker eIoni - 9 -44 cm 15.5 cm -2.08 m 28.3 keV 4.63 keV 5.22 mm 13.2 cm Tracker eIoni - 10 -44.2 cm 15.6 cm -2.09 m 20.7 keV 7.65 keV 4.35 mm 13.6 cm Tracker eIoni - 11 -44.3 cm 15.8 cm -2.09 m 17.4 keV 3.25 keV 3.11 mm 14 cm Tracker eIoni - 12 -44.4 cm 16.1 cm -2.09 m 12.5 keV 4.96 keV 2.66 mm 14.2 cm Tracker eIoni - 13 -44.4 cm 16.2 cm -2.09 m 8.33 keV 4.13 keV 2.02 mm 14.4 cm Tracker eIoni - 14 -44.4 cm 16.3 cm -2.09 m 1.59 keV 6.73 keV 1.44 mm 14.6 cm Tracker eIoni - 15 -44.4 cm 16.3 cm -2.09 m 0 eV 1.59 keV 110 um 14.6 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 561, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -598 um -1.75 mm -2.4 m 606 keV 0 eV 0 fm 0 fm Target initStep - 1 -652 um -1.93 mm -2.4 m 606 keV 0 eV 199 um 199 um Target Transportation - 2 -71.7 cm -2.4 m -1.51 m 606 keV 0 eV 2.66 m 2.66 m Tracker Transportation - 3 -87 cm -2.91 m -1.32 m 606 keV 0 eV 56.5 cm 3.22 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 560, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -433 um -1.35 mm -2.4 m 515 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.93 mm -3.1 mm -2.4 m 515 keV 0 eV 2.31 mm 2.31 mm Target Transportation - 2 -2.06 m -2.4 m -2.14 m 515 keV 0 eV 3.17 m 3.17 m Tracker Transportation - 3 -2.5 m -2.91 m -2.08 m 515 keV 0 eV 67.5 cm 3.85 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 559, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -296 um -1.2 mm -2.4 m 647 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.72 mm -1.4 cm -2.4 m 633 keV 0 eV 1.43 cm 1.43 cm Target compt - 2 -6.86 mm -1.42 cm -2.4 m 633 keV 0 eV 292 um 1.46 cm Target Transportation - 3 -1.24 m -2.4 m -1.86 m 633 keV 0 eV 2.74 m 2.76 m Tracker Transportation - 4 -1.51 m -2.91 m -1.74 m 633 keV 0 eV 58.6 cm 3.34 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 564, Parent ID = 559 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.72 mm -1.4 cm -2.4 m 14 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.72 mm -1.4 cm -2.4 m 0 eV 14 keV 1.17 um 1.17 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 558, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -229 um -1.06 mm -2.4 m 584 keV 0 eV 0 fm 0 fm Target initStep - 1 -495 um -1.95 mm -2.4 m 584 keV 0 eV 975 um 975 um Target Transportation - 2 -71.6 cm -2.4 m -1.64 m 584 keV 0 eV 2.61 m 2.62 m Tracker Transportation - 3 -86.8 cm -2.91 m -1.48 m 584 keV 0 eV 55.6 cm 3.17 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 557, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 359 um -1.01 mm -2.4 m 738 keV 0 eV 0 fm 0 fm Target initStep - 1 283 um -633 um -2.4 m 0 eV 88 keV 943 um 943 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 565, Parent ID = 557 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 283 um -633 um -2.4 m 650 keV 0 eV 0 fm 0 fm Target initStep - 1 281 um -626 um -2.4 m 0 eV 650 keV 430 um 430 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 556, Parent ID = 551 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 472 um -1.1 mm -2.4 m 291 keV 0 eV 0 fm 0 fm Target initStep - 1 136 um 72 um -2.4 m 291 keV 0 eV 3.99 mm 3.99 mm Target Transportation - 2 -14.1 cm 49.2 cm -80 cm 291 keV 0 eV 1.68 m 1.68 m Tracker Transportation - 3 -15.9 cm 55.3 cm -60 cm 291 keV 0 eV 21 cm 1.89 m Chamber Transportation - 4 -21.2 cm 73.7 cm -0.114 fm 291 keV 0 eV 63 cm 2.52 m Tracker Transportation - 5 -23 cm 79.9 cm 20 cm 291 keV 0 eV 21 cm 2.73 m Chamber Transportation - 6 -28.3 cm 98.3 cm 80 cm 291 keV 0 eV 63 cm 3.36 m Tracker Transportation - 7 -30.1 cm 1.04 m 1 m 291 keV 0 eV 21 cm 3.57 m Chamber Transportation - 8 -35.4 cm 1.23 m 1.6 m 291 keV 0 eV 63 cm 4.2 m Tracker Transportation - 9 -37.1 cm 1.29 m 1.8 m 291 keV 0 eV 21 cm 4.41 m Chamber Transportation - 10 -42.4 cm 1.47 m 2.4 m 291 keV 0 eV 63 cm 5.04 m Tracker Transportation - 11 -47 cm 1.63 m 2.91 m 291 keV 0 eV 53.5 cm 5.58 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 550, Parent ID = 547 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -23.8 um -1.61 mm -2.41 m 582 keV 0 eV 0 fm 0 fm Target initStep - 1 126 um -1.69 mm -2.4 m 0 eV 88 keV 2.15 mm 2.15 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 566, Parent ID = 550 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 126 um -1.69 mm -2.4 m 494 keV 0 eV 0 fm 0 fm Target initStep - 1 124 um -1.7 mm -2.4 m 0 eV 494 keV 300 um 300 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 549, Parent ID = 547 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -206 um -1.08 mm -2.41 m 629 keV 0 eV 0 fm 0 fm Target initStep - 1 -867 um -4.42 mm -2.4 m 629 keV 0 eV 9.26 mm 9.26 mm Target Transportation - 2 -12.4 cm -62.6 cm -80 cm 629 keV 0 eV 1.72 m 1.73 m Tracker Transportation - 3 -13.3 cm -67.2 cm -68.1 cm 629 keV 0 eV 12.8 cm 1.86 m Chamber Transportation - 4 -18.5 cm -93.7 cm 0 fm 629 keV 0 eV 73.3 cm 2.59 m Tracker Transportation - 5 -20.1 cm -1.01 m 20 cm 629 keV 0 eV 21.5 cm 2.81 m Chamber Transportation - 6 -24.7 cm -1.25 m 80 cm 629 keV 0 eV 64.5 cm 3.45 m Tracker Transportation - 7 -26.2 cm -1.33 m 1 m 629 keV 0 eV 21.5 cm 3.67 m Chamber Transportation - 8 -30.8 cm -1.56 m 1.6 m 629 keV 0 eV 64.5 cm 4.31 m Tracker Transportation - 9 -32.4 cm -1.64 m 1.8 m 629 keV 0 eV 21.5 cm 4.53 m Chamber Transportation - 10 -37 cm -1.87 m 2.4 m 629 keV 0 eV 64.5 cm 5.17 m Tracker Transportation - 11 -40.9 cm -2.07 m 2.91 m 629 keV 0 eV 54.9 cm 5.72 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 548, Parent ID = 547 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -200 um -888 um -2.41 m 3.57 MeV 0 eV 0 fm 0 fm Target initStep - 1 814 um -3.11 mm -2.4 m 3.57 MeV 0 eV 9.81 mm 9.81 mm Target Transportation - 2 6.33 cm -14 cm -1.81 m 240 keV 0 eV 60.5 cm 61.5 cm Tracker compt - 3 11.3 cm -8.1 mm -2.4 m 240 keV 0 eV 60.3 cm 1.22 m Tracker Transportation - 4 15.5 cm 10.7 cm -2.91 m 240 keV 0 eV 52.5 cm 1.74 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 567, Parent ID = 548 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.33 cm -14 cm -1.81 m 3.33 MeV 0 eV 0 fm 0 fm Tracker initStep - 1 6.98 cm -16.6 cm -1.72 m 3.31 MeV 12.4 keV 10 cm 10 cm Tracker StepLimiter - 2 6.59 cm -18.7 cm -1.62 m 3.3 MeV 16.6 keV 10 cm 20 cm Tracker StepLimiter - 3 6.42 cm -19.3 cm -1.6 m 3.29 MeV 2.63 keV 2.12 cm 22.1 cm Tracker Transportation - 4 5 cm -24 cm -1.45 m 3.22 MeV 75 keV 16.6 cm 38.8 cm Chamber Transportation - 5 5.38 cm -26.6 cm -1.36 m 3.21 MeV 14.3 keV 10 cm 48.8 cm Tracker StepLimiter - 6 6.67 cm -29.3 cm -1.26 m 3.19 MeV 19.9 keV 10 cm 58.8 cm Tracker StepLimiter - 7 9.26 cm -32 cm -1.17 m 3.17 MeV 17.1 keV 10 cm 68.8 cm Tracker StepLimiter - 8 11.5 cm -35.9 cm -1.08 m 3.15 MeV 16.5 keV 10 cm 78.8 cm Tracker StepLimiter - 9 13.3 cm -39.9 cm -98.8 cm 3.13 MeV 17.3 keV 10 cm 88.8 cm Tracker StepLimiter - 10 16.4 cm -44.4 cm -90.4 cm 3.12 MeV 17.5 keV 10 cm 98.8 cm Tracker StepLimiter - 11 19.4 cm -48.6 cm -81.9 cm 3.1 MeV 12.9 keV 10 cm 1.09 m Tracker StepLimiter - 12 20 cm -49.5 cm -80 cm 3.1 MeV 2.87 keV 2.19 cm 1.11 m Tracker Transportation - 13 27 cm -60.3 cm -60 cm 2.99 MeV 107 keV 26.6 cm 1.38 m Chamber Transportation - 14 28 cm -68.5 cm -54.3 cm 2.97 MeV 19.8 keV 10 cm 1.48 m Tracker StepLimiter - 15 28.4 cm -76.4 cm -48.3 cm 2.96 MeV 18.8 keV 10 cm 1.58 m Tracker StepLimiter - 16 28.9 cm -84.6 cm -42.5 cm 2.94 MeV 13.9 keV 10 cm 1.68 m Tracker StepLimiter - 17 29.5 cm -93 cm -37.3 cm 2.92 MeV 17.2 keV 10 cm 1.78 m Tracker StepLimiter - 18 30.4 cm -1.02 m -32.6 cm 2.91 MeV 16.5 keV 10 cm 1.88 m Tracker StepLimiter - 19 33.1 cm -1.11 m -28.8 cm 2.89 MeV 19.6 keV 10 cm 1.98 m Tracker StepLimiter - 20 36.1 cm -1.19 m -24.3 cm 2.87 MeV 15.9 keV 10 cm 2.08 m Tracker StepLimiter - 21 39.6 cm -1.26 m -18.3 cm 2.85 MeV 18.8 keV 10 cm 2.18 m Tracker StepLimiter - 22 43.1 cm -1.33 m -12.3 cm 2.84 MeV 15.6 keV 10 cm 2.28 m Tracker StepLimiter - 23 47.1 cm -1.41 m -6.5 cm 2.82 MeV 22 keV 10 cm 2.38 m Tracker StepLimiter - 24 51.4 cm -1.48 m -1.26 cm 2.8 MeV 16.4 keV 10 cm 2.48 m Tracker StepLimiter - 25 55.7 cm -1.56 m 3.31 cm 2.78 MeV 17.9 keV 10 cm 2.58 m Tracker StepLimiter - 26 60.9 cm -1.63 m 7.66 cm 2.75 MeV 30.5 keV 10 cm 2.68 m Tracker StepLimiter - 27 61.4 cm -1.64 m 8.2 cm 2.73 MeV 3.96 keV 1.14 cm 2.69 m Tracker eIoni - 28 66.5 cm -1.71 m 12.5 cm 2.71 MeV 14.8 keV 10 cm 2.79 m Tracker StepLimiter - 29 70.9 cm -1.79 m 17.3 cm 2.69 MeV 18.6 keV 10 cm 2.89 m Tracker StepLimiter - 30 74.9 cm -1.87 m 21.5 cm 2.67 MeV 24.3 keV 10 cm 2.99 m Tracker StepLimiter - 31 78.8 cm -1.96 m 24.9 cm 2.65 MeV 15 keV 10 cm 3.09 m Tracker StepLimiter - 32 82.8 cm -2.04 m 27 cm 2.63 MeV 21.3 keV 10 cm 3.19 m Tracker StepLimiter - 33 87 cm -2.13 m 29.1 cm 2.61 MeV 19.8 keV 10 cm 3.29 m Tracker StepLimiter - 34 91 cm -2.22 m 31.5 cm 2.6 MeV 15 keV 10 cm 3.39 m Tracker StepLimiter - 35 95.3 cm -2.31 m 33.2 cm 2.57 MeV 24.5 keV 10 cm 3.49 m Tracker StepLimiter - 36 97.6 cm -2.4 m 33.2 cm 2.56 MeV 10.1 keV 9.34 cm 3.58 m Tracker Transportation - 37 1.1 m -2.91 m 34 cm 2.46 MeV 105 keV 53 cm 4.11 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 568, Parent ID = 567 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 61.4 cm -1.64 m 8.2 cm 22.2 keV 0 eV 0 fm 0 fm Tracker initStep - 1 61.3 cm -1.64 m 8.49 cm 14.4 keV 7.81 keV 3.34 mm 3.34 mm Tracker eIoni - 2 61.3 cm -1.64 m 8.57 cm 10.2 keV 4.21 keV 2.27 mm 5.61 mm Tracker eIoni - 3 61.2 cm -1.64 m 8.67 cm 6.83 keV 3.38 keV 1.73 mm 7.34 mm Tracker eIoni - 4 61.2 cm -1.64 m 8.69 cm 0 eV 6.83 keV 1.15 mm 8.49 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 546, Parent ID = 492 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -49.4 um -777 um -2.41 m 60.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -53.2 um -796 um -2.41 m 58 MeV 213 keV 145 um 145 um Target eBrem - 2 -399 um -711 um -2.41 m 49.8 MeV 3.64 MeV 2.13 mm 2.28 mm Target eBrem - 3 -328 um -547 um -2.41 m 2.4 MeV 672 keV 642 um 2.92 mm Target eBrem - 4 -376 um -472 um -2.41 m 0 eV 2.4 MeV 1.56 mm 4.48 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 571, Parent ID = 546 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -328 um -547 um -2.41 m 46.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 52.7 um 1.69 mm -2.4 m 46.8 MeV 0 eV 8.12 mm 8.12 mm Target Transportation - 2 3.91 cm 23.1 cm -1.6 m 46.8 MeV 0 eV 83.3 cm 84.1 cm Tracker Transportation - 3 4.06 cm 24 cm -1.57 m 46.8 MeV 0 eV 3.25 cm 87.4 cm Chamber Transportation - 4 7.81 cm 46 cm -80 cm 46.8 MeV 0 eV 80.1 cm 1.67 m Tracker Transportation - 5 8.79 cm 51.8 cm -60 cm 46.8 MeV 0 eV 20.8 cm 1.88 m Chamber Transportation - 6 11.7 cm 69 cm 0 fm 46.8 MeV 0 eV 62.5 cm 2.51 m Tracker Transportation - 7 12.7 cm 74.7 cm 20 cm 46.8 MeV 0 eV 20.8 cm 2.72 m Chamber Transportation - 8 15.6 cm 91.9 cm 80 cm 46.8 MeV 0 eV 62.5 cm 3.34 m Tracker Transportation - 9 16.6 cm 97.6 cm 1 m 46.8 MeV 0 eV 20.8 cm 3.55 m Chamber Transportation - 10 19.5 cm 1.15 m 1.6 m 46.8 MeV 0 eV 62.5 cm 4.17 m Tracker Transportation - 11 20.5 cm 1.21 m 1.8 m 46.8 MeV 0 eV 20.8 cm 4.38 m Chamber Transportation - 12 23.4 cm 1.38 m 2.4 m 46.8 MeV 0 eV 62.5 cm 5.01 m Tracker Transportation - 13 25.9 cm 1.52 m 2.91 m 46.8 MeV 0 eV 53.1 cm 5.54 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 570, Parent ID = 546 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -399 um -711 um -2.41 m 4.55 MeV 0 eV 0 fm 0 fm Target initStep - 1 -97.1 um 1.41 mm -2.4 m 4.55 MeV 0 eV 8.68 mm 8.68 mm Target Transportation - 2 2.86 cm 20.3 cm -1.6 m 4.55 MeV 0 eV 82.6 cm 83.4 cm Tracker Transportation - 3 3.39 cm 24 cm -1.45 m 4.55 MeV 0 eV 15.1 cm 98.6 cm Chamber Transportation - 4 5.73 cm 40.5 cm -80 cm 4.55 MeV 0 eV 67.4 cm 1.66 m Tracker Transportation - 5 6.45 cm 45.5 cm -60 cm 4.55 MeV 0 eV 20.6 cm 1.87 m Chamber Transportation - 6 8.6 cm 60.6 cm -0.114 fm 4.55 MeV 0 eV 61.9 cm 2.49 m Tracker Transportation - 7 9.32 cm 65.7 cm 20 cm 4.55 MeV 0 eV 20.6 cm 2.69 m Chamber Transportation - 8 11.5 cm 80.8 cm 80 cm 4.55 MeV 0 eV 61.9 cm 3.31 m Tracker Transportation - 9 12.2 cm 85.8 cm 1 m 4.55 MeV 0 eV 20.6 cm 3.52 m Chamber Transportation - 10 14.3 cm 1.01 m 1.6 m 4.55 MeV 0 eV 61.9 cm 4.14 m Tracker Transportation - 11 15.1 cm 1.06 m 1.8 m 4.55 MeV 0 eV 20.6 cm 4.34 m Chamber Transportation - 12 17.2 cm 1.21 m 2.4 m 4.55 MeV 0 eV 61.9 cm 4.96 m Tracker Transportation - 13 19 cm 1.34 m 2.91 m 4.55 MeV 0 eV 52.6 cm 5.49 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 569, Parent ID = 546 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -53.2 um -796 um -2.41 m 2.31 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.08 mm -1.54 mm -2.4 m 2.31 MeV 0 eV 1.06 cm 1.06 cm Target Transportation - 2 -7.93 cm -5.83 cm -1.6 m 2.31 MeV 0 eV 80.6 cm 81.6 cm Tracker Transportation - 3 -9.88 cm -7.25 cm -1.4 m 2.31 MeV 0 eV 20.1 cm 1.02 m Chamber Transportation - 4 -15.7 cm -11.5 cm -80 cm 2.31 MeV 0 eV 60.4 cm 1.62 m Tracker Transportation - 5 -17.7 cm -12.9 cm -60 cm 2.31 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation - 6 -23.6 cm -17.2 cm 0.114 fm 2.31 MeV 0 eV 60.4 cm 2.43 m Tracker Transportation - 7 -25.5 cm -18.6 cm 20 cm 2.31 MeV 0 eV 20.1 cm 2.63 m Chamber Transportation - 8 -31.4 cm -22.9 cm 80 cm 2.31 MeV 0 eV 60.4 cm 3.23 m Tracker Transportation - 9 -33.3 cm -24.3 cm 1 m 2.31 MeV 0 eV 20.1 cm 3.44 m Chamber Transportation - 10 -39.2 cm -28.5 cm 1.6 m 2.31 MeV 0 eV 60.4 cm 4.04 m Tracker Transportation - 11 -41.2 cm -30 cm 1.8 m 2.31 MeV 0 eV 20.1 cm 4.24 m Chamber Transportation - 12 -47 cm -34.2 cm 2.4 m 2.31 MeV 0 eV 60.4 cm 4.85 m Tracker Transportation - 13 -52 cm -37.8 cm 2.91 m 2.31 MeV 0 eV 51.4 cm 5.36 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 491, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.75 um -72.4 um -2.42 m 110 MeV 0 eV 0 fm 0 fm Target initStep - 1 -39.9 um -505 um -2.41 m 0 eV 0 eV 4.22 mm 4.22 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 573, Parent ID = 491 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -39.9 um -505 um -2.41 m 60.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -35.9 um -536 um -2.41 m 39.5 MeV 282 keV 201 um 201 um Target eBrem - 2 -4.41 um -591 um -2.41 m 38.7 MeV 350 keV 328 um 529 um Target eBrem - 3 -4.34 um -591 um -2.41 m 26.4 MeV 740 eV 2.64 um 531 um Target eBrem - 4 108 um -789 um -2.41 m 1.81 MeV 978 keV 825 um 1.36 mm Target eBrem - 5 199 um -1.18 mm -2.41 m 389 keV 1.42 MeV 1.33 mm 2.69 mm Target eIoni - 6 181 um -1.19 mm -2.41 m 0 eV 389 keV 214 um 2.9 mm Target eIoni - 7 181 um -1.19 mm -2.41 m 0 eV 0 eV 0 fm 2.9 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 579, Parent ID = 573 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 181 um -1.19 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 48.8 um -1.15 mm -2.41 m 0 eV 88 keV 218 um 218 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 580, Parent ID = 579 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 48.8 um -1.15 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 44.7 um -1.15 mm -2.41 m 341 keV 81.7 keV 32.1 um 32.1 um Target eBrem - 2 56.5 um -1.15 mm -2.41 m 0 eV 341 keV 180 um 212 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 578, Parent ID = 573 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 181 um -1.19 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.16 mm -1.46 mm -2.41 m 0 eV 88 keV 1.61 mm 1.61 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 581, Parent ID = 578 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.16 mm -1.46 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 1.17 mm -1.45 mm -2.41 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 577, Parent ID = 573 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 108 um -789 um -2.41 m 23.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 499 um -8.34 mm -2.4 m 23.6 MeV 0 eV 1.36 cm 1.36 cm Target Transportation - 2 12.4 cm -2.4 m 1.19 m 23.6 MeV 0 eV 4.32 m 4.33 m Tracker Transportation - 3 15.1 cm -2.91 m 1.96 m 23.6 MeV 0 eV 92.1 cm 5.25 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 576, Parent ID = 573 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.34 um -591 um -2.41 m 12.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 587 um -2.65 mm -2.4 m 12.3 MeV 0 eV 1.23 cm 1.23 cm Target Transportation - 2 3.96 cm -13.9 cm -1.6 m 12.3 MeV 0 eV 81.2 cm 82.5 cm Tracker Transportation - 3 4.94 cm -17.3 cm -1.4 m 12.3 MeV 0 eV 20.3 cm 1.03 m Chamber Transportation - 4 7.86 cm -27.5 cm -80 cm 12.3 MeV 0 eV 60.9 cm 1.64 m Tracker Transportation - 5 8.84 cm -30.9 cm -60 cm 12.3 MeV 0 eV 20.3 cm 1.84 m Chamber Transportation - 6 11.8 cm -41 cm -0.114 fm 12.3 MeV 0 eV 60.9 cm 2.45 m Tracker Transportation - 7 12.7 cm -44.4 cm 20 cm 12.3 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation - 8 15.7 cm -54.6 cm 80 cm 12.3 MeV 0 eV 60.9 cm 3.26 m Tracker Transportation - 9 16.6 cm -58 cm 1 m 12.3 MeV 0 eV 20.3 cm 3.47 m Chamber Transportation - 10 19.6 cm -68.2 cm 1.6 m 12.3 MeV 0 eV 60.9 cm 4.07 m Tracker Transportation - 11 20.5 cm -71.6 cm 1.8 m 12.3 MeV 0 eV 20.3 cm 4.28 m Chamber Transportation - 12 23.5 cm -81.8 cm 2.4 m 12.3 MeV 0 eV 60.9 cm 4.89 m Tracker Transportation - 13 26 cm -90.5 cm 2.91 m 12.3 MeV 0 eV 51.8 cm 5.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 575, Parent ID = 573 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.41 um -591 um -2.41 m 485 keV 0 eV 0 fm 0 fm Target initStep - 1 326 um -2.44 mm -2.4 m 485 keV 0 eV 1.23 cm 1.23 cm Target Transportation - 2 2.21 cm -12.4 cm -1.6 m 485 keV 0 eV 80.9 cm 82.2 cm Tracker Transportation - 3 2.75 cm -15.5 cm -1.4 m 485 keV 0 eV 20.2 cm 1.02 m Chamber Transportation - 4 4.39 cm -24.6 cm -80 cm 485 keV 0 eV 60.7 cm 1.63 m Tracker Transportation - 5 4.93 cm -27.6 cm -60 cm 485 keV 0 eV 20.2 cm 1.83 m Chamber Transportation - 6 6.57 cm -36.7 cm 0 fm 485 keV 0 eV 60.7 cm 2.44 m Tracker Transportation - 7 7.11 cm -39.8 cm 20 cm 485 keV 0 eV 20.2 cm 2.64 m Chamber Transportation - 8 8.74 cm -48.9 cm 80 cm 485 keV 0 eV 60.7 cm 3.25 m Tracker Transportation - 9 9.29 cm -52 cm 1 m 485 keV 0 eV 20.2 cm 3.45 m Chamber Transportation - 10 10.9 cm -61.1 cm 1.6 m 485 keV 0 eV 60.7 cm 4.06 m Tracker Transportation - 11 11.5 cm -64.1 cm 1.8 m 485 keV 0 eV 20.2 cm 4.26 m Chamber Transportation - 12 13.1 cm -73.2 cm 2.4 m 485 keV 0 eV 60.7 cm 4.87 m Tracker Transportation - 13 14.5 cm -81 cm 2.91 m 485 keV 0 eV 51.6 cm 5.39 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 574, Parent ID = 573 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -35.9 um -536 um -2.41 m 20.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 462 um -2.1 mm -2.4 m 0 eV 0 eV 1.06 cm 1.06 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 583, Parent ID = 574 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 462 um -2.1 mm -2.4 m 13.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 431 um -2.32 mm -2.4 m 12.4 MeV 559 keV 590 um 590 um Target eBrem - 2 426 um -2.33 mm -2.4 m 11.2 MeV 26.5 keV 20.8 um 611 um Target eBrem - 3 12.5 um -2.58 mm -2.4 m 10.3 MeV 874 keV 831 um 1.44 mm Target msc - 4 -652 um -2.21 mm -2.4 m 9.36 MeV 946 keV 831 um 2.27 mm Target msc - 5 -1.35 mm -1.85 mm -2.4 m 8.23 MeV 1.13 MeV 831 um 3.11 mm Target msc - 6 -1.75 mm -1.52 mm -2.4 m 6.93 MeV 875 keV 567 um 3.67 mm Target eBrem - 7 -1.97 mm -1.53 mm -2.4 m 6.09 MeV 493 keV 406 um 4.08 mm Target eBrem - 8 -2.57 mm -1.63 mm -2.4 m 4.74 MeV 1.04 MeV 678 um 4.76 mm Target eBrem - 9 -3.06 mm -1.14 mm -2.4 m 3.94 MeV 801 keV 831 um 5.59 mm Target msc - 10 -3.09 mm -1.09 mm -2.4 m 277 keV 828 keV 81 um 5.67 mm Target eBrem - 11 -3.1 mm -1.09 mm -2.4 m 0 eV 277 keV 130 um 5.8 mm Target eIoni - 12 -3.1 mm -1.09 mm -2.4 m 0 eV 0 eV 0 fm 5.8 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 591, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.1 mm -1.09 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.53 mm -1.23 mm -2.41 m 358 keV 0 eV 4.63 mm 4.63 mm Target compt - 2 621 um 1.01 mm -2.41 m 0 eV 88 keV 3.39 mm 8.02 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 593, Parent ID = 591 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 621 um 1.01 mm -2.41 m 270 keV 0 eV 0 fm 0 fm Target initStep - 1 629 um 1.01 mm -2.41 m 0 eV 270 keV 129 um 129 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 592, Parent ID = 591 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.53 mm -1.23 mm -2.41 m 153 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.53 mm -1.24 mm -2.41 m 0 eV 153 keV 54.4 um 54.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 590, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.1 mm -1.09 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.12 mm -1.08 mm -2.4 m 489 keV 0 eV 75 um 75 um Target compt - 2 -3.16 mm -1.07 mm -2.4 m 0 eV 88 keV 62 um 137 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 595, Parent ID = 590 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.16 mm -1.07 mm -2.4 m 401 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.16 mm -1.07 mm -2.4 m 0 eV 401 keV 225 um 225 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 594, Parent ID = 590 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.12 mm -1.08 mm -2.4 m 22.4 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.12 mm -1.08 mm -2.4 m 0 eV 22.4 keV 2.43 um 2.43 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 589, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.09 mm -1.09 mm -2.4 m 2.83 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.36 cm 2.5 cm -2.42 m 2.83 MeV 0 eV 3.65 cm 3.65 cm Target Transportation - 2 -69.3 cm 87.4 cm -2.91 m 2.83 MeV 0 eV 1.19 m 1.23 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 588, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.57 mm -1.63 mm -2.4 m 315 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.59 mm 1.27 mm -2.4 m 0 eV 88 keV 4.3 mm 4.3 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 596, Parent ID = 588 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.59 mm 1.27 mm -2.4 m 227 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.6 mm 1.27 mm -2.4 m 0 eV 227 keV 99.2 um 99.2 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 587, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.97 mm -1.53 mm -2.4 m 339 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.52 mm -3.4 mm -2.4 m 0 eV 88 keV 3.3 mm 3.3 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 597, Parent ID = 587 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.52 mm -3.4 mm -2.4 m 251 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.52 mm -3.41 mm -2.4 m 0 eV 251 keV 115 um 115 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 586, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.75 mm -1.52 mm -2.4 m 426 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.21 mm -911 um -2.4 m 285 keV 0 eV 2.14 mm 2.14 mm Target compt - 2 -3.15 mm -796 um -2.4 m 0 eV 88 keV 172 um 2.31 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 599, Parent ID = 586 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.15 mm -796 um -2.4 m 197 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.15 mm -797 um -2.4 m 0 eV 197 keV 80.3 um 80.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 598, Parent ID = 586 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.21 mm -911 um -2.4 m 141 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.22 mm -912 um -2.4 m 0 eV 141 keV 48.1 um 48.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 585, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 426 um -2.33 mm -2.4 m 1.17 MeV 0 eV 0 fm 0 fm Target initStep - 1 139 um -2.86 mm -2.4 m 1.17 MeV 0 eV 1.54 mm 1.54 mm Target Transportation - 2 -32.3 cm -60.3 cm -80 cm 1.17 MeV 0 eV 1.74 m 1.74 m Tracker Transportation - 3 -36 cm -67.2 cm -61.5 cm 1.17 MeV 0 eV 20.1 cm 1.94 m Chamber Transportation - 4 -48.4 cm -90.2 cm 0 fm 1.17 MeV 0 eV 66.8 cm 2.61 m Tracker Transportation - 5 -52.5 cm -97.7 cm 20 cm 1.17 MeV 0 eV 21.7 cm 2.83 m Chamber Transportation - 6 -64.6 cm -1.2 m 80 cm 1.17 MeV 0 eV 65.2 cm 3.48 m Tracker Transportation - 7 -68.6 cm -1.28 m 1 m 1.17 MeV 0 eV 21.7 cm 3.7 m Chamber Transportation - 8 -80.8 cm -1.5 m 1.6 m 1.17 MeV 0 eV 65.2 cm 4.35 m Tracker Transportation - 9 -84.8 cm -1.58 m 1.8 m 1.17 MeV 0 eV 21.7 cm 4.57 m Chamber Transportation - 10 -96.9 cm -1.8 m 2.4 m 1.17 MeV 0 eV 65.2 cm 5.22 m Tracker Transportation - 11 -1.07 m -1.99 m 2.91 m 1.17 MeV 0 eV 55.4 cm 5.77 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 584, Parent ID = 583 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 431 um -2.32 mm -2.4 m 922 keV 0 eV 0 fm 0 fm Target initStep - 1 106 um -2.78 mm -2.4 m 922 keV 0 eV 1.54 mm 1.54 mm Target Transportation - 2 -36.1 cm -51 cm -80 cm 922 keV 0 eV 1.72 m 1.72 m Tracker Transportation - 3 -40.6 cm -57.4 cm -60 cm 922 keV 0 eV 21.5 cm 1.93 m Chamber Transportation - 4 -54.1 cm -76.4 cm 0 fm 922 keV 0 eV 64.4 cm 2.58 m Tracker Transportation - 5 -58.7 cm -82.8 cm 20 cm 922 keV 0 eV 21.5 cm 2.79 m Chamber Transportation - 6 -72.2 cm -1.02 m 80 cm 922 keV 0 eV 64.4 cm 3.44 m Tracker Transportation - 7 -76.7 cm -1.08 m 1 m 922 keV 0 eV 21.5 cm 3.65 m Chamber Transportation - 8 -90.2 cm -1.27 m 1.6 m 922 keV 0 eV 64.4 cm 4.29 m Tracker Transportation - 9 -94.8 cm -1.34 m 1.8 m 922 keV 0 eV 21.5 cm 4.51 m Chamber Transportation - 10 -1.08 m -1.53 m 2.4 m 922 keV 0 eV 64.4 cm 5.15 m Tracker Transportation - 11 -1.2 m -1.69 m 2.91 m 922 keV 0 eV 54.7 cm 5.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 582, Parent ID = 574 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 462 um -2.1 mm -2.4 m 5.91 MeV 0 eV 0 fm 0 fm Target initStep - 1 452 um -2.13 mm -2.4 m 2.42 MeV 151 keV 111 um 111 um Target eBrem - 2 494 um -2.18 mm -2.4 m 1.88 MeV 157 keV 154 um 265 um Target eBrem - 3 428 um -2.39 mm -2.4 m 456 keV 1.05 MeV 1.06 mm 1.33 mm Target eBrem - 4 416 um -2.37 mm -2.4 m 0 eV 456 keV 269 um 1.6 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 602, Parent ID = 582 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 428 um -2.39 mm -2.4 m 380 keV 0 eV 0 fm 0 fm Target initStep - 1 1.68 mm -2.71 mm -2.4 m 380 keV 0 eV 1.96 mm 1.96 mm Target Transportation - 2 2.4 m -61.6 cm 41.6 cm 380 keV 0 eV 3.75 m 3.75 m Tracker Transportation - 3 2.91 m -74.6 cm 1.01 m 380 keV 0 eV 79.7 cm 4.55 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 601, Parent ID = 582 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 494 um -2.18 mm -2.4 m 381 keV 0 eV 0 fm 0 fm Target initStep - 1 1.4 mm -2.42 mm -2.4 m 0 eV 88 keV 1.28 mm 1.28 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 603, Parent ID = 601 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.4 mm -2.42 mm -2.4 m 293 keV 0 eV 0 fm 0 fm Target initStep - 1 1.41 mm -2.42 mm -2.4 m 0 eV 293 keV 145 um 145 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 600, Parent ID = 582 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 452 um -2.13 mm -2.4 m 3.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 409 um -2.5 mm -2.4 m 3.34 MeV 0 eV 1.9 mm 1.9 mm Target Transportation - 2 -1.81 cm -16 cm -1.6 m 3.34 MeV 0 eV 81.6 cm 81.8 cm Tracker Transportation - 3 -2.27 cm -20 cm -1.4 m 3.34 MeV 0 eV 20.4 cm 1.02 m Chamber Transportation - 4 -3.66 cm -31.8 cm -80 cm 3.34 MeV 0 eV 61.2 cm 1.63 m Tracker Transportation - 5 -4.12 cm -35.7 cm -60 cm 3.34 MeV 0 eV 20.4 cm 1.84 m Chamber Transportation - 6 -5.51 cm -47.6 cm 0 fm 3.34 MeV 0 eV 61.2 cm 2.45 m Tracker Transportation - 7 -5.97 cm -51.5 cm 20 cm 3.34 MeV 0 eV 20.4 cm 2.65 m Chamber Transportation - 8 -7.36 cm -63.4 cm 80 cm 3.34 MeV 0 eV 61.2 cm 3.26 m Tracker Transportation - 9 -7.82 cm -67.3 cm 1 m 3.34 MeV 0 eV 20.4 cm 3.47 m Chamber Transportation - 10 -9.21 cm -79.1 cm 1.6 m 3.34 MeV 0 eV 61.2 cm 4.08 m Tracker Transportation - 11 -9.67 cm -83.1 cm 1.8 m 3.34 MeV 0 eV 20.4 cm 4.28 m Chamber Transportation - 12 -11.1 cm -94.9 cm 2.4 m 3.34 MeV 0 eV 61.2 cm 4.9 m Tracker Transportation - 13 -12.2 cm -1.05 m 2.91 m 3.34 MeV 0 eV 52 cm 5.42 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 572, Parent ID = 491 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -39.9 um -505 um -2.41 m 48 MeV 0 eV 0 fm 0 fm Target initStep - 1 -92.2 um -581 um -2.41 m 5.19 MeV 776 keV 627 um 627 um Target eBrem - 2 -140 um -696 um -2.41 m 2.9 MeV 258 keV 253 um 880 um Target eBrem - 3 12.3 um -1.14 mm -2.41 m 1.02 MeV 1.88 MeV 1.71 mm 2.59 mm Target eIoni - 4 -38.5 um -1.16 mm -2.41 m 0 eV 1.02 MeV 748 um 3.34 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 605, Parent ID = 572 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -140 um -696 um -2.41 m 2.03 MeV 0 eV 0 fm 0 fm Target initStep - 1 -965 um 130 um -2.41 m 1.77 MeV 0 eV 3.58 mm 3.58 mm Target compt - 2 -1.92 mm 59.8 um -2.4 m 1.77 MeV 0 eV 8.51 mm 1.21 cm Target Transportation - 3 -9.21 cm -6.62 mm -1.6 m 1.77 MeV 0 eV 80.5 cm 81.7 cm Tracker Transportation - 4 -11.5 cm -8.29 mm -1.4 m 1.77 MeV 0 eV 20.1 cm 1.02 m Chamber Transportation - 5 -18.2 cm -1.33 cm -80 cm 1.77 MeV 0 eV 60.4 cm 1.62 m Tracker Transportation - 6 -20.5 cm -1.5 cm -60 cm 1.77 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation - 7 -27.2 cm -2 cm 0 fm 1.77 MeV 0 eV 60.4 cm 2.43 m Tracker Transportation - 8 -29.5 cm -2.16 cm 20 cm 1.77 MeV 0 eV 20.1 cm 2.63 m Chamber Transportation - 9 -36.3 cm -2.67 cm 80 cm 1.77 MeV 0 eV 60.4 cm 3.23 m Tracker Transportation - 10 -38.5 cm -2.83 cm 1 m 1.77 MeV 0 eV 20.1 cm 3.43 m Chamber Transportation - 11 -45.3 cm -3.33 cm 1.6 m 1.77 MeV 0 eV 60.4 cm 4.04 m Tracker Transportation - 12 -47.5 cm -3.5 cm 1.8 m 1.77 MeV 0 eV 20.1 cm 4.24 m Chamber Transportation - 13 -54.3 cm -4 cm 2.4 m 1.77 MeV 0 eV 60.4 cm 4.84 m Tracker Transportation - 14 -60 cm -4.43 cm 2.91 m 1.77 MeV 0 eV 51.3 cm 5.36 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 606, Parent ID = 605 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -965 um 130 um -2.41 m 259 keV 0 eV 0 fm 0 fm Target initStep - 1 -969 um 137 um -2.41 m 0 eV 259 keV 121 um 121 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 604, Parent ID = 572 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -92.2 um -581 um -2.41 m 42.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.09 mm -1.46 mm -2.4 m 42.1 MeV 0 eV 1.22 cm 1.22 cm Target Transportation - 2 -13.5 cm -5.99 cm -1.6 m 42.1 MeV 0 eV 81.3 cm 82.5 cm Tracker Transportation - 3 -16.8 cm -7.45 cm -1.4 m 42.1 MeV 0 eV 20.3 cm 1.03 m Chamber Transportation - 4 -26.8 cm -11.8 cm -80 cm 42.1 MeV 0 eV 61 cm 1.64 m Tracker Transportation - 5 -30.1 cm -13.3 cm -60 cm 42.1 MeV 0 eV 20.3 cm 1.84 m Chamber Transportation - 6 -40 cm -17.7 cm 0 fm 42.1 MeV 0 eV 61 cm 2.45 m Tracker Transportation - 7 -43.4 cm -19.1 cm 20 cm 42.1 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation - 8 -53.3 cm -23.5 cm 80 cm 42.1 MeV 0 eV 61 cm 3.26 m Tracker Transportation - 9 -56.6 cm -25 cm 1 m 42.1 MeV 0 eV 20.3 cm 3.47 m Chamber Transportation - 10 -66.6 cm -29.3 cm 1.6 m 42.1 MeV 0 eV 61 cm 4.08 m Tracker Transportation - 11 -69.9 cm -30.8 cm 1.8 m 42.1 MeV 0 eV 20.3 cm 4.28 m Chamber Transportation - 12 -79.9 cm -35.2 cm 2.4 m 42.1 MeV 0 eV 61 cm 4.89 m Tracker Transportation - 13 -88.3 cm -38.9 cm 2.91 m 42.1 MeV 0 eV 51.8 cm 5.41 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 490, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.11 um -30.9 um -2.42 m 1.44 MeV 0 eV 0 fm 0 fm Target initStep - 1 159 um -1.26 mm -2.4 m 1.44 MeV 0 eV 1.75 cm 1.75 cm Target Transportation - 2 7.64 mm -5.77 cm -1.6 m 1.44 MeV 0 eV 80.2 cm 82 cm Tracker Transportation - 3 9.51 mm -7.18 cm -1.4 m 1.44 MeV 0 eV 20.1 cm 1.02 m Chamber Transportation - 4 1.51 cm -11.4 cm -80 cm 1.44 MeV 0 eV 60.2 cm 1.62 m Tracker Transportation - 5 1.7 cm -12.8 cm -60 cm 1.44 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation - 6 2.26 cm -17 cm -0.114 fm 1.44 MeV 0 eV 60.2 cm 2.42 m Tracker Transportation - 7 2.45 cm -18.5 cm 20 cm 1.44 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation - 8 3.01 cm -22.7 cm 80 cm 1.44 MeV 0 eV 60.2 cm 3.23 m Tracker Transportation - 9 3.2 cm -24.1 cm 1 m 1.44 MeV 0 eV 20.1 cm 3.43 m Chamber Transportation - 10 3.76 cm -28.3 cm 1.6 m 1.44 MeV 0 eV 60.2 cm 4.03 m Tracker Transportation - 11 3.94 cm -29.7 cm 1.8 m 1.44 MeV 0 eV 20.1 cm 4.23 m Chamber Transportation - 12 4.5 cm -34 cm 2.4 m 1.44 MeV 0 eV 60.2 cm 4.83 m Tracker Transportation - 13 4.98 cm -37.6 cm 2.91 m 1.44 MeV 0 eV 51.1 cm 5.34 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 489, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -9.15 um -21.4 um -2.42 m 845 keV 0 eV 0 fm 0 fm Target initStep - 1 150 um -470 um -2.4 m 845 keV 0 eV 1.78 cm 1.78 cm Target Transportation - 2 7.28 mm -2.06 cm -1.6 m 845 keV 0 eV 80 cm 81.8 cm Tracker Transportation - 3 9.06 mm -2.57 cm -1.4 m 845 keV 0 eV 20 cm 1.02 m Chamber Transportation - 4 1.44 cm -4.08 cm -80 cm 845 keV 0 eV 60 cm 1.62 m Tracker Transportation - 5 1.62 cm -4.58 cm -60 cm 845 keV 0 eV 20 cm 1.82 m Chamber Transportation - 6 2.15 cm -6.09 cm 0 fm 845 keV 0 eV 60 cm 2.42 m Tracker Transportation - 7 2.33 cm -6.6 cm 20 cm 845 keV 0 eV 20 cm 2.62 m Chamber Transportation - 8 2.87 cm -8.11 cm 80 cm 845 keV 0 eV 60 cm 3.22 m Tracker Transportation - 9 3.04 cm -8.61 cm 1 m 845 keV 0 eV 20 cm 3.42 m Chamber Transportation - 10 3.58 cm -10.1 cm 1.6 m 845 keV 0 eV 60 cm 4.02 m Tracker Transportation - 11 3.76 cm -10.6 cm 1.8 m 845 keV 0 eV 20 cm 4.22 m Chamber Transportation - 12 4.29 cm -12.1 cm 2.4 m 845 keV 0 eV 60 cm 4.82 m Tracker Transportation - 13 4.75 cm -13.4 cm 2.91 m 845 keV 0 eV 51 cm 5.33 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 488, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -10.3 um -13.8 um -2.42 m 11.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 78.2 um -503 um -2.4 m 0 eV 0 eV 1.47 cm 1.47 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 608, Parent ID = 488 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 78.2 um -503 um -2.4 m 3.76 MeV 0 eV 0 fm 0 fm Target initStep - 1 239 um -514 um -2.4 m 2.85 MeV 410 keV 410 um 410 um Target eBrem - 2 105 um -925 um -2.4 m 1.97 MeV 882 keV 572 um 982 um Target eBrem - 3 -209 um -726 um -2.4 m 1.23 MeV 743 keV 826 um 1.81 mm Target eBrem - 4 -249 um -716 um -2.4 m 0 eV 1.23 MeV 939 um 2.75 mm Target eIoni - 5 -249 um -716 um -2.4 m 0 eV 0 eV 0 fm 2.75 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 611, Parent ID = 608 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -249 um -716 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.2 mm -2.61 mm -2.41 m 207 keV 0 eV 4.44 mm 4.44 mm Target compt - 2 -2.23 mm -1.16 mm -2.41 m 0 eV 88 keV 1.46 mm 5.89 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 613, Parent ID = 611 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.23 mm -1.16 mm -2.41 m 119 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.23 mm -1.15 mm -2.41 m 0 eV 119 keV 36.6 um 36.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 612, Parent ID = 611 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.2 mm -2.61 mm -2.41 m 304 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.2 mm -2.61 mm -2.41 m 0 eV 304 keV 152 um 152 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 610, Parent ID = 608 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -249 um -716 um -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -51.6 um -524 um -2.4 m 0 eV 88 keV 449 um 449 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 614, Parent ID = 610 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -51.6 um -524 um -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -51.2 um -511 um -2.4 m 0 eV 423 keV 243 um 243 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 609, Parent ID = 608 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 239 um -514 um -2.4 m 499 keV 0 eV 0 fm 0 fm Target initStep - 1 2.12 mm -8.78 mm -2.41 m 492 keV 0 eV 9.59 mm 9.59 mm Target compt - 2 2.13 mm -8.87 mm -2.41 m 0 eV 88 keV 115 um 9.71 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 616, Parent ID = 609 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.13 mm -8.87 mm -2.41 m 404 keV 0 eV 0 fm 0 fm Target initStep - 1 2.13 mm -8.89 mm -2.41 m 0 eV 404 keV 228 um 228 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 615, Parent ID = 609 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.12 mm -8.78 mm -2.41 m 6.87 keV 0 eV 0 fm 0 fm Target initStep - 1 2.12 mm -8.78 mm -2.41 m 0 eV 6.87 keV 403 nm 403 nm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 607, Parent ID = 488 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 78.2 um -503 um -2.4 m 6.62 MeV 0 eV 0 fm 0 fm Target initStep - 1 290 um -746 um -2.4 m 5.51 MeV 599 keV 603 um 603 um Target eBrem - 2 408 um -918 um -2.4 m 3.1 MeV 228 keV 242 um 845 um Target eBrem - 3 280 um -1.38 mm -2.4 m 978 keV 2.13 MeV 1.77 mm 2.61 mm Target eIoni - 4 241 um -1.34 mm -2.4 m 0 eV 978 keV 710 um 3.32 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 618, Parent ID = 607 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 408 um -918 um -2.4 m 2.18 MeV 0 eV 0 fm 0 fm Target initStep - 1 5.94 mm -3.71 mm -2.4 m 2.18 MeV 0 eV 6.86 mm 6.86 mm Target Transportation - 2 2.4 m -1.21 m -1.13 m 2.18 MeV 0 eV 2.97 m 2.97 m Tracker Transportation - 3 2.91 m -1.47 m -85.8 cm 2.18 MeV 0 eV 63.2 cm 3.61 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 617, Parent ID = 607 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 290 um -746 um -2.4 m 513 keV 0 eV 0 fm 0 fm Target initStep - 1 1.62 mm -3.97 mm -2.4 m 513 keV 0 eV 4.62 mm 4.62 mm Target Transportation - 2 98.8 cm -2.4 m -14.8 cm 513 keV 0 eV 3.43 m 3.44 m Tracker Transportation - 3 1.2 m -2.91 m 33.1 cm 513 keV 0 eV 73.1 cm 4.17 m OutOfWorld Transportation + 0 38.4 cm -31.5 cm -2.24 m 22.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 38.3 cm -31.7 cm -2.23 m 18.8 keV 3.31 keV 3.32 mm 3.32 mm Tracker eIoni + 2 38.2 cm -31.7 cm -2.23 m 14 keV 4.8 keV 2.84 mm 6.16 mm Tracker eIoni + 3 38.3 cm -31.7 cm -2.23 m 9.31 keV 4.66 keV 2.21 mm 8.37 mm Tracker eIoni + 4 38.3 cm -31.6 cm -2.23 m 4.19 keV 5.12 keV 1.6 mm 9.97 mm Tracker eIoni + 5 38.3 cm -31.6 cm -2.23 m 0 eV 4.19 keV 511 um 1.05 cm Tracker eIoni >>> Event 0 0 trajectories stored in this event. ### Run 2 start. @@ -10536,3 +3043,4 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng 0 trajectories stored in this event. >>> Event 99 0 trajectories stored in this event. + diff --git a/examples/novice/N02/src/ExN02PhysicsList.cc b/examples/novice/N02/src/ExN02PhysicsList.cc index 359bae0ddc..38dc9bec0b 100644 --- a/examples/novice/N02/src/ExN02PhysicsList.cc +++ b/examples/novice/N02/src/ExN02PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN02PhysicsList.cc,v 1.26 2008/10/31 08:35:52 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN02PhysicsList.cc,v 1.27 2009/11/15 14:27:30 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -143,16 +143,16 @@ void ExN02PhysicsList::ConstructProcess() #include "G4PhotoElectricEffect.hh" #include "G4eMultipleScattering.hh" -#include "G4hMultipleScattering.hh" - #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" #include "G4MuPairProduction.hh" +#include "G4hMultipleScattering.hh" #include "G4hIonisation.hh" #include "G4hBremsstrahlung.hh" #include "G4hPairProduction.hh" @@ -191,10 +191,10 @@ void ExN02PhysicsList::ConstructEM() } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); - pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); - pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); - pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); + pmanager->AddProcess(new G4MuMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); + pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); } else if( particleName == "proton" || particleName == "pi-" || @@ -206,12 +206,16 @@ void ExN02PhysicsList::ConstructEM() pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); } else if( particleName == "alpha" || - particleName == "He3" || - particleName == "GenericIon" ) { + particleName == "He3" ) { + //alpha + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + + } else if( particleName == "GenericIon" ) { //Ions pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); - + } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { diff --git a/examples/novice/N02/vis.mac b/examples/novice/N02/vis.mac index 327b2f592f..c6ffaa8295 100644 --- a/examples/novice/N02/vis.mac +++ b/examples/novice/N02/vis.mac @@ -25,7 +25,7 @@ /vis/viewer/zoom 1.4 # # for drawing the tracks -/vis/scene/add/trajectories +/vis/scene/add/trajectories smooth # (if too many tracks cause core dump => /tracking/storeTrajectory 0) # for drawing the hits, uncomment next line # /vis/scene/add/hits diff --git a/examples/novice/N03/History b/examples/novice/N03/History index cd787088d1..4a1ce299a5 100644 --- a/examples/novice/N03/History +++ b/examples/novice/N03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.123 2008/12/01 09:45:42 gcosmo Exp $ +$Id: History,v 1.126 2009/11/15 14:48:40 maire Exp $ -------------------------------------------------- ========================================================= @@ -14,7 +14,20 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +15-11-09 mma (exampleN03-V09-02-02) +- Use G4MuMultipleScattering for muons +- Separate alpha from GenericIon + +30-10-09 John Allison (exampleN03-V09-02-01) +- Introduced G4UIExecutive. +20-10-09 Hisaya Kurashige (exampleN03-V09-02-00) +- Use /run/setCut command in exo1.mac, exo2.mac + +17-12-08 mma +- vis.mac : /vis/scene/add/trajectories smooth + 24-11-08 Laurent Garnier (exampleN03-V09-01-05) - Removed unnecessary inclusion of qapplication.h in main(). - Added Qt setup to vis macros. diff --git a/examples/novice/N03/exampleN03.cc b/examples/novice/N03/exampleN03.cc index 4a81bc5368..ba220f4621 100644 --- a/examples/novice/N03/exampleN03.cc +++ b/examples/novice/N03/exampleN03.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN03.cc,v 1.36 2008/11/24 13:54:38 lgarnier Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleN03.cc,v 1.37 2009/10/30 15:06:01 allison Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,21 +48,10 @@ #include "G4VisExecutive.hh" #endif -#if defined(G4UI_USE_TCSH) -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" -#elif defined(G4UI_USE_XM) -#include "G4UIXm.hh" -#elif defined(G4UI_USE_WIN32) -#include "G4UIWin32.hh" -#elif defined(G4UI_USE_QT) -#include "G4UIQt.hh" -#include "G4Qt.hh" -#else -#include "G4UIterminal.hh" +#ifdef G4UI_USE +#include "G4UIExecutive.hh" #endif - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) @@ -116,38 +105,28 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager // - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); if (argc!=1) // batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } - else // interactive mode : define visualization UI terminal - { - G4UIsession* session = 0; -#if defined(G4UI_USE_TCSH) - session = new G4UIterminal(new G4UItcsh); -#elif defined(G4UI_USE_XM) - session = new G4UIXm(argc,argv); - UI->ApplyCommand("/control/execute visTutor/gui.mac"); -#elif defined(G4UI_USE_WIN32) - session = new G4UIWin32(); - UI->ApplyCommand("/control/execute visTutor/gui.mac"); -#elif defined(G4UI_USE_QT) - session = new G4UIQt(argc,argv); - UI->ApplyCommand("/control/execute visTutor/gui.mac"); -#else - session = new G4UIterminal(); -#endif + else + { // interactive mode : define UI session +#ifdef G4UI_USE + G4UIExecutive* ui = new G4UIExecutive(argc, argv); #ifdef G4VIS_USE - UI->ApplyCommand("/control/execute vis.mac"); + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + if (ui->IsGUI()) + UImanager->ApplyCommand("/control/execute visTutor/gui.mac"); + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; } - + // Job termination // Free the store: user actions, physics_list and detector_description are // owned and deleted by the run manager, so they should not diff --git a/examples/novice/N03/exampleN03.out b/examples/novice/N03/exampleN03.out index 6388a48d9c..b8e534ff33 100644 --- a/examples/novice/N03/exampleN03.out +++ b/examples/novice/N03/exampleN03.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -79,6 +83,7 @@ Current available graphics systems are: RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -101,229 +106,229 @@ Registered filter factories: phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.022 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni2 : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 101.843 keV e- 1.36749 MeV e+ 1.27862 MeV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.19986 keV e- 344.855 keV e+ 333.46 keV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld @@ -338,246 +343,247 @@ Index : 2 used in the geometry : Yes recalculation needed : No Current couple of seeds = 9876, 54321 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 276.91466 MeV total track length: 19.551829 cm - Gap: total energy: 12.904433 MeV total track length: 6.2370197 cm + Absorber: total energy: 275.20785 MeV total track length: 19.457951 cm + Gap: total energy: 19.115159 MeV total track length: 9.3632873 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 276.91466 MeV +- 0 eV - mean Energy in Gap : 12.904433 MeV +- 0 eV + mean Energy in Absorber : 275.20785 MeV +- 0 eV + mean Energy in Gap : 19.115159 MeV +- 0 eV - mean trackLength in Absorber : 19.551829 cm +- 0 fm - mean trackLength in Gap : 6.2370197 cm +- 0 fm + mean trackLength in Absorber : 19.457951 cm +- 0 fm + mean trackLength in Gap : 9.3632873 cm +- 0 fm ------------------------------------------------------------ Transportation, msc, hIoni, eIoni eBrem, annihil, phot, compt - conv, muIoni, muBrems, muPairProd - hBrems, hPairProd, Decay + conv, muMsc, muIoni, muBrems + muPairProd, hBrems, hPairProd, Decay + phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.0219978 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni2 : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV hBrems: for pi- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ### Run 1 start. ---> Begin of event: 0 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 138643018, 90901385 + Current couple of seeds = 399520705, 1405277458 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 281.17916 MeV total track length: 19.517122 cm - Gap: total energy: 12.912656 MeV total track length: 6.0342195 cm + Absorber: total energy: 279.75422 MeV total track length: 19.901912 cm + Gap: total energy: 18.671614 MeV total track length: 9.7191178 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 281.17916 MeV +- 0 eV - mean Energy in Gap : 12.912656 MeV +- 0 eV + mean Energy in Absorber : 279.75422 MeV +- 0 eV + mean Energy in Gap : 18.671614 MeV +- 0 eV - mean trackLength in Absorber : 19.517122 cm +- 0 fm - mean trackLength in Gap : 6.0342195 cm +- 0 fm + mean trackLength in Absorber : 19.901912 cm +- 0 fm + mean trackLength in Gap : 9.7191178 cm +- 0 fm ------------------------------------------------------------ @@ -587,228 +593,229 @@ hPairProd: for pi- SubType= 4 phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.0219978 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni2 : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV hBrems: for pi- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ### Run 2 start. ---> Begin of event: 0 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1424475195, 1293268628 + Current couple of seeds = 330333918, 180809835 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 418.66961 MeV total track length: 98.934484 cm - Gap: total energy: 78.013203 MeV total track length: 2.1775326 m + Absorber: total energy: 404.61721 MeV total track length: 96.080817 cm + Gap: total energy: 89.598634 MeV total track length: 2.4895852 m --------------------End of Run------------------------------ - mean Energy in Absorber : 418.66961 MeV +- 0 eV - mean Energy in Gap : 78.013203 MeV +- 0 eV + mean Energy in Absorber : 404.61721 MeV +- 0 eV + mean Energy in Gap : 89.598634 MeV +- 0 eV - mean trackLength in Absorber : 98.934484 cm +- 0 fm - mean trackLength in Gap : 2.1775326 m +- 0 fm + mean trackLength in Absorber : 96.080817 cm +- 0 fm + mean trackLength in Gap : 2.4895852 m +- 0 fm ------------------------------------------------------------ Graphics systems deleted. Visualization Manager deleting... + diff --git a/examples/novice/N03/exo1.mac b/examples/novice/N03/exo1.mac index 5c086f9dbb..e6c1d711d3 100644 --- a/examples/novice/N03/exo1.mac +++ b/examples/novice/N03/exo1.mac @@ -1,4 +1,4 @@ -# $Id: exo1.mac,v 1.2 2002/12/16 16:37:25 maire Exp $ +# $Id: exo1.mac,v 1.3 2009/10/20 08:23:32 kurasige Exp $ # # Macro file for "exampleN03.cc" # @@ -28,7 +28,7 @@ /process/inactivate compt /process/inactivate conv # -/run/particle/setCut 10 cm +/run/setCut 10 cm /run/initialize # /gun/particle e+ diff --git a/examples/novice/N03/exo2.mac b/examples/novice/N03/exo2.mac index 0053816866..74d864106d 100644 --- a/examples/novice/N03/exo2.mac +++ b/examples/novice/N03/exo2.mac @@ -1,4 +1,4 @@ -# $Id: exo2.mac,v 1.2 2002/12/16 16:37:25 maire Exp $ +# $Id: exo2.mac,v 1.3 2009/10/20 08:23:32 kurasige Exp $ # # Macro file for "exampleN03.cc" # @@ -28,7 +28,7 @@ /process/inactivate phot /process/inactivate conv # -/run/particle/setCut 10 cm +/run/setCut 10 cm /run/initialize # /gun/particle gamma diff --git a/examples/novice/N03/src/ExN03PhysicsList.cc b/examples/novice/N03/src/ExN03PhysicsList.cc index c451e36c9a..76b69d488b 100644 --- a/examples/novice/N03/src/ExN03PhysicsList.cc +++ b/examples/novice/N03/src/ExN03PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN03PhysicsList.cc,v 1.24 2008/10/31 08:40:41 maire Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN03PhysicsList.cc,v 1.26 2009/11/15 14:48:40 maire Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // @@ -142,16 +142,16 @@ void ExN03PhysicsList::ConstructProcess() #include "G4PhotoElectricEffect.hh" #include "G4eMultipleScattering.hh" -#include "G4hMultipleScattering.hh" - #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" +#include "G4MuMultipleScattering.hh" #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" #include "G4MuPairProduction.hh" +#include "G4hMultipleScattering.hh" #include "G4hIonisation.hh" #include "G4hBremsstrahlung.hh" #include "G4hPairProduction.hh" @@ -190,7 +190,7 @@ void ExN03PhysicsList::ConstructEM() } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - pmanager->AddProcess(new G4hMultipleScattering,-1, 1, 1); + pmanager->AddProcess(new G4MuMultipleScattering,-1, 1, 1); pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); @@ -205,11 +205,15 @@ void ExN03PhysicsList::ConstructEM() pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); } else if( particleName == "alpha" || - particleName == "He3" || - particleName == "GenericIon" ) { - //Ions + particleName == "He3" ) { + //alpha pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); + + } else if( particleName == "GenericIon" ) { + //Ions + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); + pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && @@ -257,6 +261,7 @@ void ExN03PhysicsList::SetCuts() SetCutValue(defaultCutValue, "gamma"); SetCutValue(defaultCutValue, "e-"); SetCutValue(defaultCutValue, "e+"); + SetCutValue(defaultCutValue, "proton"); if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/novice/N03/vis.mac b/examples/novice/N03/vis.mac index 99ee35058b..f13aaaaa53 100644 --- a/examples/novice/N03/vis.mac +++ b/examples/novice/N03/vis.mac @@ -1,4 +1,4 @@ -# $Id: vis.mac,v 1.6 2007/06/13 10:36:39 maire Exp $ +# $Id: vis.mac,v 1.7 2009/11/15 14:48:40 maire Exp $ # # Macro file for the initialization phase of "exampleN03.cc" # when running in interactive mode @@ -36,7 +36,7 @@ # # Draw trajectories at end of event, showing trajectory points as # markers of size 2 pixels -/vis/scene/add/trajectories +/vis/scene/add/trajectories smooth /vis/modeling/trajectories/create/drawByCharge /vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true /vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 diff --git a/examples/novice/N03/visTutor/exN03Vis15.mac b/examples/novice/N03/visTutor/exN03Vis15.mac index 768771e593..bf72278ba9 100644 --- a/examples/novice/N03/visTutor/exN03Vis15.mac +++ b/examples/novice/N03/visTutor/exN03Vis15.mac @@ -9,19 +9,17 @@ # # # USAGE: % $G4BINDIR/exampleN03 visTutor/exN03Vis12.mac # # # -# REQUIRED PLATFORMS & SOFTWARES: Unix, Motif, X-window, OpenGL,Qt # -# HEPVis # -# Inventor (TGS or SoFree) # +# REQUIRED PLATFORMS & SOFTWARES: Unix, Motif, X-window, OpenGL ,Qt # # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR INSTALLATION: # # (See geant4/source/visualization/README for details.) # # # -# % setenv G4VIS_BUILD_OIX_DRIVER 1 # +# % setenv G4VIS_BUILD_OGLQT # # # ENVIRONMENTAL VARIABLES (C-MACROS) FOR COMPILATION: # # (See geant4/source/visualization/README for details.) # # # -# % setenv G4VIS_USE_OIQT 1 # +# % setenv G4VIS_USE_OGLQT 1 # # # # ADDITIONAL NOTES: # # # @@ -30,8 +28,8 @@ # Create "scene-0" /vis/scene/create -# Invoke the OpenInventor driver -/vis/sceneHandler/create OGLIQt +# Invoke the Qt driver +/vis/sceneHandler/create OGLSQt /vis/viewer/create # Add the world volume to the current scene @@ -46,23 +44,11 @@ # Bird-eye view of events /vis/viewer/reset -/vis/viewer/set/viewpointThetaPhi 45 45 +/vis/viewer/set/viewpointThetaPhi 45 45 /vis/scene/notifyHandlers /control/verbose 2 -####################################################################### -# Controls on an Inventor examiner viewer are : # -# - in picking mode (cursor is the upper left arrow) # -# Ctrl + pick a volume : see daughters. # -# Shift + pick a volume : see mother. # -# - in viewing mode (cursor is the hand) # -# Left-button + pointer move : rotate. # -# Ctrl+Left-button + pointer move : pane. # -# Ctrl+Shift+Left-button + pointer move : scale. # -# Middle-button + pointer move : pane. # -# # -####################################################################### /vis/viewer/update diff --git a/examples/novice/N03/visTutor/gui.mac b/examples/novice/N03/visTutor/gui.mac index 330308f761..3592966deb 100644 --- a/examples/novice/N03/visTutor/gui.mac +++ b/examples/novice/N03/visTutor/gui.mac @@ -1,6 +1,6 @@ # # This file permits to customize, with commands, -# the menu bar of the G4UIXm, G4UIWin32 sessions. +# the menu bar of the G4UIXm, G4UIQt, G4UIWin32 sessions. # It has no effect with G4UIterminal. # # File : diff --git a/examples/novice/N04/History b/examples/novice/N04/History index f9cd411cd7..a1e61b9529 100644 --- a/examples/novice/N04/History +++ b/examples/novice/N04/History @@ -1,4 +1,4 @@ -$Id: History,v 1.62 2008/05/07 10:07:20 allison Exp $ +$Id: History,v 1.63 2009/10/30 15:08:39 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +30-10-09 John Allison (exampleN04-V09-02-00) +- Introduced G4UIExecutive. + 07-05-08 J.Allison (exampleN04-V09-01-00) - Protected "/control/execute vis.mac" with G4VIS_USE flag. diff --git a/examples/novice/N04/exampleN04.EMtest.out b/examples/novice/N04/exampleN04.EMtest.out index 7014921d58..9d6a812c47 100644 --- a/examples/novice/N04/exampleN04.EMtest.out +++ b/examples/novice/N04/exampleN04.EMtest.out @@ -1,235 +1,312 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -<<< Geant4 Physics List engine packaging library: PACK 5.4 -<<< Geant4 Physics List simulation engine: QGSP 3.3 +<<< Geant4 Physics List engine packaging library: PACK 5.5 +<<< Geant4 Physics List simulation engine: QGSP 3.4 + +*===================================================================== +* +* The Physics list QGSP is NO LONGER SUPPORTED ! +* and is likely to be deleted in a future release of Geant4 +* +* We recommend you try the physics lists QGSP_BERT, +* this offers similar functionality for most use cases +* +* +* We invite you to report your use case for, and your experience with +* this physics list on the Geant4 User Forum dedicated to physics +* lists: +* http://hypernews.slac.stanford.edu/HyperNews/geant4/get/phys-list.html +* +*=====================================================================* ### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully registered the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + G4HepRep (HepRepXML) + G4HepRepFile (HepRepFile) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) + OpenGLImmediateX (OGLIX) + OpenGLStoredX (OGLSX) + +Registering model factories... + +You have successfully registered the following model factories. +Registered model factories: + generic + drawByCharge + drawByParticleID + drawByOriginVolume + drawByAttribute + +Registered filter factories: + chargeFilter + particleFilter + originVolumeFilter + attributeFilter + phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.022 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni2 : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, skin= 3 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV ionIoni: for GenericIon SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.15 - Stopping Power data for 16 ion/material pairs, nuclearStopping: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + +hBrems: for kaon+ SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + hBrem : Emin= 0 eV Emax= 10 TeV + +hPairProd: for kaon+ SubType= 4 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 +hBrems: for kaon- SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV + +hPairProd: for kaon- SubType= 4 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + hPairProd : Emin= 0 eV Emax= 10 TeV + +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) @@ -242,7 +319,6 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 - CHIPSNuclearAbsorptionAtRest Hadronic Processes for ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 @@ -260,7 +336,6 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - CHIPSNuclearAbsorptionAtRest Hadronic Processes for hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 @@ -286,7 +361,6 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEPionMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - CHIPSNuclearAbsorptionAtRest Hadronic Processes for hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 @@ -297,22 +371,23 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 49 hits are stored in ExN04TrackerHitsCollection. - 11 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.46465652083138 (GeV) + 71 hits are stored in ExN04TrackerHitsCollection. + 8 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.33801889648612 (GeV) 1 hits are stored in ExN04MuonHitsCollection. ### Run 1 start. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 204 hits are stored in ExN04TrackerHitsCollection. - 48 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 56.915735 (GeV) + 54 hits are stored in ExN04TrackerHitsCollection. + 35 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 8.7022049968351 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 1 - 15 hits are stored in ExN04TrackerHitsCollection. - 27 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 7.7117962905742 (GeV) + 5 hits are stored in ExN04TrackerHitsCollection. + 23 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 9.43263008814 (GeV) 1 hits are stored in ExN04MuonHitsCollection. + diff --git a/examples/novice/N04/exampleN04.cc b/examples/novice/N04/exampleN04.cc index 9fcc16d8d9..385ddc9d93 100644 --- a/examples/novice/N04/exampleN04.cc +++ b/examples/novice/N04/exampleN04.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN04.cc,v 1.17 2008/05/07 10:01:53 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleN04.cc,v 1.18 2009/10/30 15:08:39 allison Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,8 +33,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #include "ExN04DetectorConstruction.hh" #include "QGSP.hh" @@ -50,6 +48,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + int main(int argc,char** argv) { // User Verbose output class @@ -91,34 +93,30 @@ int main(int argc,char** argv) G4UserSteppingAction* stepping_action = new ExN04SteppingAction; runManager->SetUserAction(stepping_action); - //get the pointer to the User Interface manager - G4UImanager* UI = G4UImanager::GetUIpointer(); - - if (argc!=1) // batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } - - else // interactive mode : define visualization and UI terminal - { #ifdef G4VIS_USE G4VisManager* visManager = new G4VisExecutive; visManager->Initialize(); #endif - G4UIsession * session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif + //get the pointer to the User Interface manager + G4UImanager* UImanager = G4UImanager::GetUIpointer(); + + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command+fileName); + } + else // interactive mode : define UI session + { +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); #ifdef G4VIS_USE - UI->ApplyCommand("/control/execute vis.mac"); + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - delete session; #ifdef G4VIS_USE delete visManager; diff --git a/examples/novice/N04/exampleN04.out b/examples/novice/N04/exampleN04.out index e730d4510d..b5b3484a6f 100644 --- a/examples/novice/N04/exampleN04.out +++ b/examples/novice/N04/exampleN04.out @@ -1,238 +1,315 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -<<< Geant4 Physics List engine packaging library: PACK 5.4 -<<< Geant4 Physics List simulation engine: QGSP 3.3 +<<< Geant4 Physics List engine packaging library: PACK 5.5 +<<< Geant4 Physics List simulation engine: QGSP 3.4 + +*===================================================================== +* +* The Physics list QGSP is NO LONGER SUPPORTED ! +* and is likely to be deleted in a future release of Geant4 +* +* We recommend you try the physics lists QGSP_BERT, +* this offers similar functionality for most use cases +* +* +* We invite you to report your use case for, and your experience with +* this physics list on the Geant4 User Forum dedicated to physics +* lists: +* http://hypernews.slac.stanford.edu/HyperNews/geant4/get/phys-list.html +* +*=====================================================================* ### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully registered the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + G4HepRep (HepRepXML) + G4HepRepFile (HepRepFile) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) + OpenGLImmediateX (OGLIX) + OpenGLStoredX (OGLSX) + +Registering model factories... + +You have successfully registered the following model factories. +Registered model factories: + generic + drawByCharge + drawByParticleID + drawByOriginVolume + drawByAttribute + +Registered filter factories: + chargeFilter + particleFilter + originVolumeFilter + attributeFilter + /run/verbose 1 /tracking/verbose 0 /run/beamOn 3 phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV conv: for gamma SubType= 14 - Lambda tables from 1.022 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni2 : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hBrems: for proton SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for proton SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, skin= 3 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV ionIoni: for GenericIon SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 - finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.15 - Stopping Power data for 16 ion/material pairs, nuclearStopping: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 + Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== BraggIon : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV + +hBrems: for kaon+ SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + hBrem : Emin= 0 eV Emax= 10 TeV + +hPairProd: for kaon+ SubType= 4 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + hPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 +hBrems: for kaon- SubType= 3 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV + +hPairProd: for kaon- SubType= 4 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + hPairProd : Emin= 0 eV Emax= 10 TeV + +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 + ===== EM models for the G4Region DefaultRegionForTheWorld ====== + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, skin= 3 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni90 : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hBrems: for pi- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hBrem : Emin= 0 eV Emax= 100 TeV + hBrem : Emin= 0 eV Emax= 10 TeV hPairProd: for pi- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - hPairProd : Emin= 0 eV Emax= 100 TeV + hPairProd : Emin= 0 eV Emax= 10 TeV ============================================================================================ HADRONIC PROCESSES SUMMARY (verbose level 1) @@ -245,7 +322,6 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 AntiProtonInelastic Models: G4LEAntiProtonInelastic: Emin(GeV)= 0 Emax(GeV)= 25 G4HEAntiProtonInelastic: Emin(GeV)= 20 Emax(GeV)= 100000 - CHIPSNuclearAbsorptionAtRest Hadronic Processes for ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 @@ -263,7 +339,6 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 KaonMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEKaonMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - CHIPSNuclearAbsorptionAtRest Hadronic Processes for hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 @@ -289,7 +364,6 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 PionMinusInelastic Models: QGSP: Emin(GeV)= 12 Emax(GeV)= 100000 G4LEPionMinusInelastic: Emin(GeV)= 0 Emax(GeV)= 25 - CHIPSNuclearAbsorptionAtRest Hadronic Processes for hElastic Models: G4HadronElastic: Emin(GeV)= 0 Emax(GeV)= 100000 @@ -301,36 +375,36 @@ AntiNeutronInelastic Models: G4LEAntiNeutronInelastic: Emin(GeV)= 0 Emax( Index : 0 used in the geometry : Yes recalculation needed : No Material : Air - Range cuts : gamma 700 um e- 700 um e+ 700 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 70 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : ArgonGas - Range cuts : gamma 700 um e- 700 um e+ 700 um - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 70 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 2 used in the geometry : Yes recalculation needed : No Material : Silicon - Range cuts : gamma 700 um e- 700 um e+ 700 um - Energy thresholds : gamma 5.84521 keV e- 422.711 keV e+ 407.385 keV + Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um + Energy thresholds : gamma 5.87535 keV e- 424.726 keV e+ 410.692 keV proton 70 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 3 used in the geometry : Yes recalculation needed : No Material : Scintillator - Range cuts : gamma 700 um e- 700 um e+ 700 um - Energy thresholds : gamma 2.08499 keV e- 281.588 keV e+ 274.74 keV + Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um + Energy thresholds : gamma 2.09434 keV e- 281.891 keV e+ 276.265 keV proton 70 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 4 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 700 um e- 700 um e+ 700 um - Energy thresholds : gamma 94.7155 keV e- 1.00067 MeV e+ 940.93 keV + Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um + Energy thresholds : gamma 94.5861 keV e- 1.00386 MeV e+ 951.321 keV proton 70 keV Region(s) which use this couple : DefaultRegionForTheWorld @@ -341,9 +415,9 @@ Start Run processing. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 93 hits are stored in ExN04TrackerHitsCollection. - 29 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.50748244 (GeV) + 53 hits are stored in ExN04TrackerHitsCollection. + 27 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.48863941184205 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 0 hits found in the muon chamber. ++++++++ event aborted @@ -355,12 +429,13 @@ Stage 0->1 : 0 hits found in the muon chamber. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 2 - 48 hits are stored in ExN04TrackerHitsCollection. - 23 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.63484238687753 (GeV) + 62 hits are stored in ExN04TrackerHitsCollection. + 27 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.49187478069713 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Run terminated. Run Summary Number of events processed : 3 - User=2.31s Real=2.33s Sys=0s + User=1.48s Real=1.48s Sys=0.01s G4 kernel has come to Quit state. + diff --git a/examples/novice/N05/History b/examples/novice/N05/History index 7317b8a165..f4e719cdb4 100644 --- a/examples/novice/N05/History +++ b/examples/novice/N05/History @@ -1,4 +1,4 @@ -$Id: History,v 1.47 2007/11/30 18:08:41 mverderi Exp $ +$Id: History,v 1.48 2009/10/30 15:10:56 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +30th October 2009 John Allison (exampleN05-V09-02-00) +- Introduced G4UIExecutive. + 30th November 2007 - modify ExN05PhysicsList.cc to account for Along method of G4FSMP - tag as exampleN05-V09-00-00 diff --git a/examples/novice/N05/exampleN05.cc b/examples/novice/N05/exampleN05.cc index cd8e638466..f8850163bd 100644 --- a/examples/novice/N05/exampleN05.cc +++ b/examples/novice/N05/exampleN05.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN05.cc,v 1.16 2007/05/11 14:29:16 mverderi Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleN05.cc,v 1.17 2009/10/30 15:10:56 allison Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------- @@ -62,17 +62,17 @@ //----------------------------------- #include "ExN05PhysicsList.hh" -#include "G4UIterminal.hh" #include "G4UImanager.hh" #include "G4RunManager.hh" #include "G4RunManagerKernel.hh" - #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif -#include "G4ios.hh" +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif int main(int argc, char** argv) { @@ -109,7 +109,6 @@ int main(int argc, char** argv) G4UserSteppingAction* stepping_action = new ExN05SteppingAction; runManager->SetUserAction(stepping_action); - // Initialize Run manager runManager->Initialize(); @@ -124,32 +123,28 @@ int main(int argc, char** argv) // Setup commands // - G4UImanager * UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/Step/Verbose 0"); - UI->ApplyCommand("/tracking/Verbose 1"); - UI->ApplyCommand("/gun/particle e-"); - UI->ApplyCommand("/gun/energy 100 MeV"); - UI->ApplyCommand("/gun/direction 0 0 1"); - UI->ApplyCommand("/gun/position 0 0 0"); - UI->ApplyCommand("/gun/direction 0 .3 1."); + G4UImanager * UImanager = G4UImanager::GetUIpointer(); + UImanager->ApplyCommand("/Step/Verbose 0"); + UImanager->ApplyCommand("/tracking/Verbose 1"); + UImanager->ApplyCommand("/gun/particle e-"); + UImanager->ApplyCommand("/gun/energy 100 MeV"); + UImanager->ApplyCommand("/gun/direction 0 0 1"); + UImanager->ApplyCommand("/gun/position 0 0 0"); + UImanager->ApplyCommand("/gun/direction 0 .3 1."); if(argc==1) { //-------------------------- // Define (G)UI //-------------------------- - // G4UIterminal is a (dumb) terminal - // - G4UIsession* session = new G4UIterminal; - session->SessionStart(); - delete session; +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); + ui->SessionStart(); + delete ui; +#endif } else { -#ifdef G4VIS_USE - visManager->SetVerboseLevel("quiet"); -#endif - G4UImanager* UImanager = G4UImanager::GetUIpointer(); G4String command = "/control/execute "; G4String fileName = argv[1]; UImanager->ApplyCommand(command+fileName); diff --git a/examples/novice/N05/exampleN05.out b/examples/novice/N05/exampleN05.out index 285e977330..60a043e438 100644 --- a/examples/novice/N05/exampleN05.out +++ b/examples/novice/N05/exampleN05.out @@ -1,7 +1,11 @@ RunManager construction starting.... + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -17,6 +21,240 @@ Declaring region... ############################################################################# G4VUserPhysicsList::AddTransportation() --- G4CoupledTransportation is used ############################################################################# + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + Instantiating Visualization Manager....... Visualization Manager instantiating... Visualization Manager initialising... @@ -31,6 +269,7 @@ Current available graphics systems are: RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -52,178 +291,178 @@ Registered filter factories: conv: for gamma SubType= 14 - Lambda tables from 1.022 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV msc: for GenericIon SubType= 10 RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 0, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV ### Run 0 start. ********************************************************************************************************* @@ -232,118 +471,46 @@ msc: for pi- SubType= 10 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00388 51.7 86.1 1e+03 0.0261 100 100 WorldPhysical eIoni - 2 -0.00271 60 100 1e+03 0.00834 16.2 117 DriftChamberPhysical CoupledTransportation - 3 0.0734 540 900 1e+03 0.0293 933 1.05e+03 WorldPhysical CoupledTransportation - 4 0.11 591 985 1e+03 0.0164 99.3 1.15e+03 WorldPhysical eIoni - 5 0.112 600 1e+03 1e+03 0.0035 17.3 1.17e+03 Crystal CoupledTransportation - 6 0.112 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.11 591 985 0.00126 0 0 0 WorldPhysical initStep - 1 0.137 591 985 0 0.00126 0.0793 0.0793 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00388 51.7 86.1 0.00196 0 0 0 WorldPhysical initStep - 1 0.0588 51.7 86.1 0 0.00196 0.151 0.151 WorldPhysical eIoni ->>> Event 0 - 13 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999131440169664 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 60 100 1e+03 0.0306 117 117 DriftChamberPhysical CoupledTransportation - 2 0.00386 90.3 150 1e+03 0.00253 58.8 175 DriftChamberPhysical eIoni - 3 0.0799 540 900 1e+03 0.0311 874 1.05e+03 WorldPhysical CoupledTransportation - 4 0.0602 597 995 1e+03 0.0316 111 1.16e+03 WorldPhysical eIoni - 5 0.0595 600 1e+03 1e+03 0.000994 5.28 1.17e+03 Crystal CoupledTransportation - 6 0.0595 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0602 597 995 0.00187 0 0 0 WorldPhysical initStep - 1 0.0353 598 995 0 0.00187 0.141 0.141 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00386 90.3 150 0.00101 0 0 0 DriftChamberPhysical initStep - 1 -0.179 90.2 151 0 0.00101 0.311 0.311 DriftChamberPhysical eIoni ->>> Event 1 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999001919000922 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00525 24.7 41.2 1e+03 0.00869 48 48 WorldPhysical eIoni - 2 0.00819 38.8 64.7 1e+03 0.00361 27.4 75.4 WorldPhysical eIoni - 3 0.0202 60 100 1e+03 0.00951 41.2 117 DriftChamberPhysical CoupledTransportation - 4 0.114 117 195 1e+03 0.00409 111 227 DriftChamberPhysical eIoni - 5 0.548 370 619 1e+03 0.0172 493 721 DriftChamberPhysical eIoni - 6 0.837 539 900 1e+03 0.0132 328 1.05e+03 WorldPhysical CoupledTransportation - 7 0.934 599 1e+03 1e+03 0.0256 117 1.17e+03 Crystal CoupledTransportation - 8 0.934 599 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.548 370 619 0.00231 0 0 0 DriftChamberPhysical initStep - 1 0.493 371 618 0.000293 0.00202 1.1 1.1 DriftChamberPhysical eIoni - 2 0.492 371 618 0 0.000293 0.0828 1.18 DriftChamberPhysical eIoni + 1 -0.000733 51.7 86.1 1e+03 0.0226 100 100 WorldPhysical eIoni + 2 -0.000697 60 100 1e+03 0.00343 16.2 117 DriftChamberPhysical CoupledTransportation + 3 0.00382 196 327 1e+03 0.01 264 381 DriftChamberPhysical eIoni + 4 -0.0514 540 900 1e+03 0.0211 669 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.0469 572 954 1e+03 0.0137 63.4 1.11e+03 WorldPhysical eIoni + 6 -0.0428 600 1e+03 1e+03 0.0105 53.2 1.17e+03 Crystal CoupledTransportation +WARNING: G4VisManager::IsValidView(): Attempt to draw when no graphics system + has been instantiated. Use "/vis/open" or "/vis/sceneHandler/create". + Alternatively, to avoid this message, suppress instantiation of vis + manager (G4VisExecutive), possibly by setting G4VIS_NONE, and ensure + drawing code is executed only if G4VVisManager::GetConcreteInstance() + is non-zero. + 7 -0.0428 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.114 117 195 0.00111 0 0 0 DriftChamberPhysical initStep - 1 -0.026 117 195 0 0.00111 0.354 0.354 DriftChamberPhysical eIoni + 0 -0.0469 572 954 0.00146 0 0 0 WorldPhysical initStep + 1 -0.018 572 954 0 0.00146 0.0976 0.0976 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00819 38.8 64.7 0.00106 0 0 0 WorldPhysical initStep - 1 -0.0136 38.8 64.7 0 0.00106 0.0622 0.0622 WorldPhysical eIoni + 0 0.00382 196 327 0.00114 0 0 0 DriftChamberPhysical initStep + 1 0.222 196 327 0 0.00114 0.37 0.37 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00525 24.7 41.2 0.00323 0 0 0 WorldPhysical initStep - 1 0.146 24.6 41.2 0 0.00323 0.337 0.337 WorldPhysical eIoni ->>> Event 2 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999103536307561 (GeV) + 0 -0.000733 51.7 86.1 0.00135 0 0 0 WorldPhysical initStep + 1 -0.0349 51.7 86.1 0 0.00135 0.0873 0.0873 WorldPhysical eIoni +>>> Event 0 + 12 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999147477646225 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -353,137 +520,351 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00143 18.3 30.5 1e+03 0.0118 35.6 35.6 WorldPhysical eIoni - 2 -0.00843 60 100 1e+03 0.0211 81 117 DriftChamberPhysical CoupledTransportation - 3 -0.0269 117 195 1e+03 0.00334 111 228 DriftChamberPhysical eIoni - 4 -0.0352 363 605 1e+03 0.0164 478 706 DriftChamberPhysical eIoni - 5 -0.0299 450 751 1e+03 0.00564 170 875 DriftChamberPhysical eIoni - 6 -0.0351 539 900 1e+03 0.00609 174 1.05e+03 WorldPhysical CoupledTransportation - 7 -0.0395 580 967 1e+03 0.0172 78 1.13e+03 WorldPhysical eIoni - 8 -0.0389 599 1e+03 1e+03 0.00541 38.6 1.17e+03 Crystal CoupledTransportation - 9 -0.0389 599 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + 1 0.000703 6.5 10.8 1e+03 0.00194 12.6 12.6 WorldPhysical eIoni + 2 0.00732 60 100 1e+03 0.0217 104 117 DriftChamberPhysical CoupledTransportation + 3 -0.0648 356 593 1e+03 0.0153 575 692 DriftChamberPhysical eIoni + 4 -0.0656 366 609 1e+03 0.000461 18.5 710 DriftChamberPhysical eIoni + 5 -0.0959 540 900 1e+03 0.00862 340 1.05e+03 WorldPhysical CoupledTransportation + 6 -0.106 600 1e+03 1e+03 0.0281 117 1.17e+03 Crystal CoupledTransportation + 7 -0.106 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0656 366 609 0.00116 0 0 0 DriftChamberPhysical initStep + 1 0.197 365 609 0 0.00116 0.379 0.379 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0648 356 593 0.00251 0 0 0 DriftChamberPhysical initStep + 1 -0.234 355 594 0.00062 0.00189 1.23 1.23 DriftChamberPhysical eIoni + 2 -0.229 355 594 0 0.00062 0.167 1.39 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.000703 6.5 10.8 0.00112 0 0 0 WorldPhysical initStep + 1 0.0101 6.48 10.8 0 0.00112 0.0671 0.0671 WorldPhysical eIoni +>>> Event 1 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999919128375402 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -0.00254 40.6 67.7 1e+03 0.0156 79 79 WorldPhysical eIoni + 2 0.00256 60 100 1e+03 0.00845 37.7 117 DriftChamberPhysical CoupledTransportation + 3 0.22 540 900 1e+03 0.0288 933 1.05e+03 WorldPhysical CoupledTransportation + 4 0.244 574 956 1e+03 0.0148 64.8 1.11e+03 WorldPhysical eIoni + 5 0.264 590 984 1e+03 0.00526 32.8 1.15e+03 WorldPhysical eIoni + 6 0.274 600 999 991 0.00392 17.7 1.16e+03 WorldPhysical eBrem + 7 0.275 600 1e+03 991 0.000244 1.33 1.17e+03 Crystal CoupledTransportation + 8 0.275 600 1e+03 0 991 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.274 600 999 8.95 0 0 0 WorldPhysical initStep + 1 0.276 600 1e+03 8.95 0 1.33 1.33 Crystal CoupledTransportation + 2 0.284 603 1e+03 0 0 5.49 6.82 Crystal conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.284 603 1e+03 1.76 0 0 0 Crystal initStep + 1 0.222 603 1e+03 1.72 0.0435 0.128 0.128 Crystal msc + 2 0.16 603 1e+03 1.65 0.0654 0.128 0.256 Crystal msc + 3 0.0813 603 1e+03 1.6 0.0491 0.128 0.384 Crystal msc + 4 1.39e-17 603 1e+03 1.56 0.0425 0.0936 0.477 Crystal CoupledTransportation + 5 -0.0877 603 1.01e+03 1.52 0.0414 0.112 0.589 Crystal msc + 6 -0.136 603 1.01e+03 1.36 0.0178 0.0593 0.648 Crystal eBrem + 7 -0.239 603 1.01e+03 1.3 0.0541 0.112 0.76 Crystal msc + 8 -0.337 603 1.01e+03 1.25 0.0467 0.112 0.871 Crystal msc + 9 -0.423 603 1.01e+03 1.16 0.0922 0.112 0.983 Crystal msc + 10 -0.491 603 1.01e+03 1.13 0.0354 0.112 1.09 Crystal msc + 11 -0.534 603 1.01e+03 1.07 0.0554 0.112 1.21 Crystal msc + 12 -0.565 603 1.01e+03 1.03 0.045 0.112 1.32 Crystal msc + 13 -0.574 603 1.01e+03 0.96 0.0669 0.119 1.44 Crystal msc + 14 -0.545 603 1e+03 0.747 0.212 0.126 1.56 Crystal msc + 15 -0.529 603 1e+03 0.697 0.0501 0.126 1.69 Crystal msc + 16 -0.585 603 1e+03 0.496 0.202 0.118 1.81 Crystal msc + 17 -0.668 603 1e+03 0.427 0.0684 0.116 1.92 Crystal msc + 18 -0.6 603 1e+03 0.375 0.0523 0.137 2.06 Crystal msc + 19 -0.588 603 1e+03 0 0.375 0.446 2.51 Crystal eIoni + 20 -0.588 603 1e+03 0 0 0 2.51 Crystal annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.588 603 1e+03 0.511 0 0 0 Crystal initStep + 1 -2.05 605 1e+03 0.345 0 2.53 2.53 Crystal compt + 2 -8.88e-16 613 1e+03 0.345 0 9.21 11.7 Crystal CoupledTransportation + 3 0.217 614 1e+03 0.345 0 0.974 12.7 WorldPhysical CoupledTransportation + 4 46.9 792 900 0.345 0 209 222 DriftChamberPhysical CoupledTransportation + 5 167 1.25e+03 643 0.345 0 539 761 WorldPhysical CoupledTransportation + 6 888 4e+03 -902 0.345 0 3.24e+03 4e+03 OutOfWorld CoupledTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -2.05 605 1e+03 0.166 0 0 0 Crystal initStep + 1 -2.06 605 1e+03 0 0.166 0.133 0.133 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.588 603 1e+03 0.511 0 0 0 Crystal initStep + 1 -8.88e-16 602 1e+03 0.511 0 1.02 1.02 Crystal CoupledTransportation + 2 1.72 600 1e+03 0.511 0 2.97 3.98 Crystal CoupledTransportation + 3 21.7 572 1e+03 0.507 0 34.5 38.5 Crystal compt + 4 24.6 569 1e+03 0.35 0 4.49 42.9 Crystal compt + 5 25 569 1e+03 0.35 0 0.78 43.7 WorldPhysical CoupledTransportation + 6 90.1 559 900 0.35 0 120 163 DriftChamberPhysical CoupledTransportation + 7 611 483 100 0.35 0 958 1.12e+03 WorldPhysical CoupledTransportation + 8 3.28e+03 93.3 -4e+03 0.35 0 4.91e+03 6.03e+03 OutOfWorld CoupledTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.6 569 1e+03 0.157 0 0 0 Crystal initStep + 1 24.6 569 1e+03 0 0.157 0.122 0.122 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 21.7 572 1e+03 0.00387 0 0 0 Crystal initStep + 1 21.7 572 1e+03 0 0.00387 0.000316 0.000316 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.136 603 1.01e+03 0.143 0 0 0 Crystal initStep + 1 -0.958 604 1.01e+03 0 0.0332 2.11 2.11 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 8 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.958 604 1.01e+03 0.11 0 0 0 Crystal initStep + 1 -0.951 604 1.01e+03 0 0.11 0.0692 0.0692 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.284 603 1e+03 6.17 0 0 0 Crystal initStep + 1 0.22 603 1.01e+03 5.81 0.357 0.854 0.854 Crystal msc + 2 0.253 603 1.01e+03 5.45 0.363 0.854 1.71 Crystal msc + 3 0.0239 604 1.01e+03 5.01 0.433 0.854 2.56 Crystal msc + 4 4.82e-16 604 1.01e+03 4.97 0.0472 0.0854 2.65 Crystal CoupledTransportation + 5 -0.0836 604 1.01e+03 4.73 0.242 0.561 3.21 Crystal msc + 6 -0.106 605 1.01e+03 4.47 0.254 0.561 3.77 Crystal msc + 7 -0.115 605 1.01e+03 4.23 0.242 0.561 4.33 Crystal msc + 8 -0.344 605 1.01e+03 3.85 0.383 0.561 4.89 Crystal msc + 9 -0.345 606 1.01e+03 3.32 0.0332 0.0863 4.98 Crystal eBrem + 10 -0.335 606 1.01e+03 3.09 0.238 0.561 5.54 Crystal msc + 11 -0.179 606 1.01e+03 2.84 0.248 0.561 6.1 Crystal msc + 12 -0.057 607 1.01e+03 2.63 0.211 0.561 6.66 Crystal msc + 13 -5e-16 607 1.01e+03 2.55 0.0736 0.127 6.79 Crystal CoupledTransportation + 14 0.0125 607 1.01e+03 2.49 0.0603 0.187 6.97 Crystal msc + 15 0.131 607 1.01e+03 2.41 0.0878 0.187 7.16 Crystal msc + 16 0.275 607 1.01e+03 2.32 0.0871 0.187 7.35 Crystal msc + 17 0.395 607 1.01e+03 2.23 0.0875 0.187 7.54 Crystal msc + 18 0.52 607 1.01e+03 2.04 0.191 0.187 7.72 Crystal msc + 19 0.589 608 1.01e+03 1.95 0.0885 0.187 7.91 Crystal msc + 20 0.712 608 1.01e+03 1.88 0.0729 0.187 8.1 Crystal msc + 21 0.802 608 1.01e+03 1.68 0.197 0.187 8.29 Crystal msc + 22 0.865 608 1.01e+03 1.6 0.0782 0.187 8.47 Crystal msc + 23 0.983 607 1.01e+03 1.51 0.097 0.187 8.66 Crystal msc + 24 1.11 607 1.01e+03 1.43 0.0806 0.191 8.85 Crystal msc + 25 1.15 607 1.01e+03 1.33 0.0959 0.225 9.08 Crystal msc + 26 1.29 607 1.01e+03 1.24 0.091 0.253 9.33 Crystal msc + 27 1.28 607 1.01e+03 1.12 0.117 0.256 9.59 Crystal msc + 28 1.25 607 1.01e+03 0.996 0.126 0.297 9.88 Crystal msc + 29 1.46 607 1.01e+03 0.866 0.13 0.283 10.2 Crystal msc + 30 1.59 607 1.01e+03 0.737 0.129 0.283 10.4 Crystal msc + 31 1.72 607 1.01e+03 0 0.737 1.12 11.6 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.345 606 1.01e+03 0.489 0 0 0 Crystal initStep + 1 -2.78e-16 607 1.01e+03 0.489 0 2.57 2.57 Crystal CoupledTransportation + 2 1.96 617 1.02e+03 0 0.0332 14.6 17.1 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.96 617 1.02e+03 0.456 0 0 0 Crystal initStep + 1 2.01 617 1.02e+03 0 0.456 0.6 0.6 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.264 590 984 0.00151 0 0 0 WorldPhysical initStep + 1 0.249 590 984 0 0.00151 0.102 0.102 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.244 574 956 0.00132 0 0 0 WorldPhysical initStep + 1 0.23 574 956 0 0.00132 0.0843 0.0843 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00254 40.6 67.7 0.00142 0 0 0 WorldPhysical initStep + 1 -0.036 40.7 67.7 0 0.00142 0.0933 0.0933 WorldPhysical eIoni +>>> Event 2 + 11 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9992232628837502 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -0.0206 55 91.7 1e+03 0.0286 107 107 WorldPhysical eIoni + 2 -0.0208 60 100 1e+03 0.00178 9.64 117 DriftChamberPhysical CoupledTransportation + 3 -0.00833 488 814 1e+03 0.0293 832 949 DriftChamberPhysical eIoni + 4 -0.0206 540 900 1e+03 0.0037 101 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.03 572 954 1e+03 0.014 62.6 1.11e+03 WorldPhysical eIoni + 6 -0.0398 600 1e+03 1e+03 0.0137 54 1.17e+03 Crystal CoupledTransportation + 7 -0.0398 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.03 572 954 0.00682 0 0 0 WorldPhysical initStep + 1 -0.0545 572 954 0.00338 0.00345 1.21 1.21 WorldPhysical eIoni + 2 -0.204 572 954 0.000216 0.00316 0.313 1.52 WorldPhysical eIoni + 3 -0.207 572 954 0 0.000216 0.0136 1.54 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00833 488 814 0.00157 0 0 0 DriftChamberPhysical initStep + 1 0.104 489 813 0 0.00157 0.596 0.596 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0206 55 91.7 0.00119 0 0 0 WorldPhysical initStep + 1 -0.0308 55 91.7 0 0.00119 0.0728 0.0728 WorldPhysical eIoni +>>> Event 3 + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9998993140348604 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -0.00215 21.7 36.1 1e+03 0.0101 42.1 42.1 WorldPhysical eIoni + 2 -0.00651 33.1 55.2 1e+03 0.00607 22.2 64.4 WorldPhysical eIoni + 3 -0.0185 54.9 91.5 1e+03 0.00893 42.3 107 WorldPhysical eIoni + 4 -0.0215 60 100 1e+03 0.00131 9.95 117 DriftChamberPhysical CoupledTransportation + 5 -0.12 209 348 1e+03 0.0105 290 406 DriftChamberPhysical eIoni + 6 -0.455 539 897 1e+03 0.0209 640 1.05e+03 DriftChamberPhysical eIoni + 7 -0.457 540 900 1e+03 0.000118 3 1.05e+03 WorldPhysical CoupledTransportation + 8 -0.531 600 1e+03 1e+03 0.0283 117 1.17e+03 Crystal CoupledTransportation + 9 -0.531 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0395 580 967 0.00223 0 0 0 WorldPhysical initStep - 1 -0.000685 580 967 0 0.00223 0.184 0.184 WorldPhysical eIoni + 0 -0.455 539 897 0.00306 0 0 0 DriftChamberPhysical initStep + 1 0.761 539 897 0 0.00306 1.51 1.51 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0299 450 751 0.00588 0 0 0 DriftChamberPhysical initStep - 1 1.77 449 752 0.00368 0.0022 2.6 2.6 DriftChamberPhysical eIoni - 2 1.73 448 753 0.00226 0.00142 1.77 4.38 DriftChamberPhysical eIoni - 3 2.21 447 753 0 0.00226 1.06 5.44 DriftChamberPhysical eIoni + 0 -0.12 209 348 0.00363 0 0 0 DriftChamberPhysical initStep + 1 0.569 211 348 0.00055 0.00308 1.75 1.75 DriftChamberPhysical eIoni + 2 0.549 211 348 0 0.00055 0.146 1.9 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0352 363 605 0.00113 0 0 0 DriftChamberPhysical initStep - 1 -0.271 363 605 0 0.00113 0.364 0.364 DriftChamberPhysical eIoni + 0 -0.0185 54.9 91.5 0.00146 0 0 0 WorldPhysical initStep + 1 0.000456 54.9 91.5 0 0.00146 0.0974 0.0974 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0269 117 195 0.0267 0 0 0 DriftChamberPhysical initStep - 1 -0.567 121 194 0.0234 0.000599 4.28 4.28 DriftChamberPhysical eIoni - 2 -1.43 136 188 0.0219 0.0015 16.2 20.5 DriftChamberPhysical eIoni - 3 -2.35 141 186 0.0186 0.00136 5.4 25.9 DriftChamberPhysical eIoni - 4 -2.89 144 184 0.0153 0.00112 4.26 30.1 DriftChamberPhysical eIoni - 5 -4.75 149 178 0.0136 0.00171 8.24 38.4 DriftChamberPhysical eIoni - 6 -6.47 153 173 0.0116 0.002 6.95 45.3 DriftChamberPhysical eIoni - 7 -8.66 157 169 0.00998 0.0016 5.53 50.9 DriftChamberPhysical eIoni - 8 -11.1 160 167 0.00884 0.00114 4.6 55.5 DriftChamberPhysical eIoni - 9 -13.1 163 165 0.0069 0.00194 3.95 59.4 DriftChamberPhysical eIoni - 10 -13.9 165 164 0.00452 0.00238 3.04 62.4 DriftChamberPhysical eIoni - 11 -15.1 165 162 0.00303 0.00149 2.09 64.5 DriftChamberPhysical eIoni - 12 -15.9 166 161 0.00141 0.00162 1.49 66 DriftChamberPhysical eIoni - 13 -16.2 166 161 0 0.00141 0.508 66.5 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.89 144 184 0.00218 0 0 0 DriftChamberPhysical initStep - 1 -2.58 145 184 0 0.00218 1 1 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.35 141 186 0.00192 0 0 0 DriftChamberPhysical initStep - 1 -2.41 141 187 0 0.00192 0.825 0.825 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.567 121 194 0.00271 0 0 0 DriftChamberPhysical initStep - 1 0.346 121 193 0.000391 0.00231 1.34 1.34 DriftChamberPhysical eIoni - 2 0.389 121 193 0 0.000391 0.104 1.45 DriftChamberPhysical eIoni + 0 -0.00651 33.1 55.2 0.00283 0 0 0 WorldPhysical initStep + 1 -0.126 33.1 55.2 0 0.00283 0.271 0.271 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00143 18.3 30.5 0.00127 0 0 0 WorldPhysical initStep - 1 -0.0252 18.4 30.5 0 0.00127 0.0795 0.0795 WorldPhysical eIoni ->>> Event 3 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9998758175386365 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000868 10.6 17.6 1e+03 0.00511 20.5 20.5 WorldPhysical eIoni - 2 -0.00467 60 100 1e+03 0.017 96.1 117 DriftChamberPhysical CoupledTransportation - 3 -0.0035 66.9 111 1e+03 0.000528 13.4 130 DriftChamberPhysical eIoni - 4 0.151 540 900 1e+03 0.0261 920 1.05e+03 WorldPhysical CoupledTransportation - 5 0.179 600 1e+03 1e+03 0.0216 117 1.17e+03 Crystal CoupledTransportation - 6 0.179 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0035 66.9 111 0.0121 0 0 0 DriftChamberPhysical initStep - 1 -4.83 70 112 0.0102 0.0019 5.88 5.88 DriftChamberPhysical eIoni - 2 -9.08 71.4 110 0.00819 0.00201 4.72 10.6 DriftChamberPhysical eIoni - 3 -12.1 72.8 112 0.00573 0.00246 3.62 14.2 DriftChamberPhysical eIoni - 4 -13.4 74.4 113 0.00514 0.000591 2.55 16.8 DriftChamberPhysical eIoni - 5 -15 75.9 113 0.00394 0.0012 2.33 19.1 DriftChamberPhysical eIoni - 6 -15.1 77.5 112 0.00228 0.00166 1.87 21 DriftChamberPhysical eIoni - 7 -15 77.1 112 0 0.00228 1.08 22 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000868 10.6 17.6 0.00399 0 0 0 WorldPhysical initStep - 1 0.0162 10.4 17.7 0 0.00399 0.484 0.484 WorldPhysical eIoni + 0 -0.00215 21.7 36.1 0.00309 0 0 0 WorldPhysical initStep + 1 -0.0188 21.6 36.2 0 0.00309 0.314 0.314 WorldPhysical eIoni >>> Event 4 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999135911371547 (GeV) + 14 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999899685185026 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -495,59 +876,22 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00411 12.1 40.2 1e+03 0.0105 42 42 WorldPhysical eIoni - 2 0.00392 14.2 47.3 1e+03 0.000738 7.43 49.4 WorldPhysical eIoni - 3 0.00735 30 100 1e+03 0.00905 55 104 DriftChamberPhysical CoupledTransportation - 4 0.12 238 790 1e+03 0.0227 721 825 DriftChamberPhysical eIoni - 5 0.154 271 900 1e+03 0.00406 115 940 WorldPhysical CoupledTransportation - 6 0.177 292 970 1e+03 0.013 73.5 1.01e+03 WorldPhysical eIoni - 7 0.187 301 1e+03 1e+03 0.00547 30.9 1.04e+03 Crystal CoupledTransportation - 8 0.187 301 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.177 292 970 0.00124 0 0 0 WorldPhysical initStep - 1 0.2 292 970 0 0.00124 0.077 0.077 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.12 238 790 0.00101 0 0 0 DriftChamberPhysical initStep - 1 0.0464 238 790 0 0.00101 0.31 0.31 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00392 14.2 47.3 0.012 0 0 0 WorldPhysical initStep - 1 -0.537 13.6 48.2 0.00763 0.00301 1.37 1.37 WorldPhysical eIoni - 2 -0.936 13.5 49.1 0.00221 0.00542 1.38 2.75 WorldPhysical eIoni - 3 -0.983 13.6 49.2 0 0.00221 0.181 2.93 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.537 13.6 48.2 0.00138 0 0 0 WorldPhysical initStep - 1 -0.54 13.6 48.2 0 0.00138 0.0902 0.0902 WorldPhysical eIoni + 1 0 30 100 1e+03 0.0213 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0782 270 900 1e+03 0.0278 835 940 WorldPhysical CoupledTransportation + 3 -0.0794 277 923 1e+03 0.00499 24.4 964 WorldPhysical eIoni + 4 -0.0715 300 1e+03 1e+03 0.0171 80 1.04e+03 Crystal CoupledTransportation + 5 -0.0715 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00411 12.1 40.2 0.00101 0 0 0 WorldPhysical initStep - 1 0.024 12.1 40.2 0 0.00101 0.0586 0.0586 WorldPhysical eIoni + 0 -0.0794 277 923 0.00307 0 0 0 WorldPhysical initStep + 1 -0.139 277 923 0 0.00307 0.31 0.31 WorldPhysical eIoni >>> Event 0 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999192812806904 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999257540940468 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -557,43 +901,31 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00213 10.3 34.2 1e+03 0.00763 35.7 35.7 WorldPhysical eIoni - 2 -0.00471 30 100 1e+03 0.0121 68.7 104 DriftChamberPhysical CoupledTransportation - 3 -0.107 178 593 1e+03 0.0189 515 620 DriftChamberPhysical eIoni - 4 -0.184 263 877 1e+03 0.0122 296 915 DriftChamberPhysical eIoni - 5 -0.189 270 900 1e+03 0.000944 24.4 940 WorldPhysical CoupledTransportation - 6 -0.208 300 1e+03 1e+03 0.0272 104 1.04e+03 Crystal CoupledTransportation - 7 -0.208 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.184 263 877 0.00107 0 0 0 DriftChamberPhysical initStep - 1 -0.0879 263 877 0 0.00107 0.335 0.335 DriftChamberPhysical eIoni + 1 0.00152 10 33.5 1e+03 0.00631 34.9 34.9 WorldPhysical eIoni + 2 -0.0296 30 100 1e+03 0.0165 69.5 104 DriftChamberPhysical CoupledTransportation + 3 -0.287 152 507 1e+03 0.0153 425 530 DriftChamberPhysical eIoni + 4 -0.552 270 900 1e+03 0.0118 410 940 WorldPhysical CoupledTransportation + 5 -0.63 300 1e+03 1e+03 0.023 104 1.04e+03 Crystal CoupledTransportation + 6 -0.63 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.107 178 593 0.00797 0 0 0 DriftChamberPhysical initStep - 1 1.03 181 593 0.00637 0.0016 3.52 3.52 DriftChamberPhysical eIoni - 2 -0.816 183 592 0.00361 0.00276 2.8 6.32 DriftChamberPhysical eIoni - 3 -1.63 183 593 0.00179 0.00182 1.75 8.07 DriftChamberPhysical eIoni - 4 -2.02 183 594 0 0.00179 0.733 8.8 DriftChamberPhysical eIoni + 0 -0.287 152 507 0.00128 0 0 0 DriftChamberPhysical initStep + 1 -0.445 152 507 0 0.00128 0.441 0.441 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00213 10.3 34.2 0.00148 0 0 0 WorldPhysical initStep - 1 0.0389 10.3 34.2 0 0.00148 0.0991 0.0991 WorldPhysical eIoni + 0 0.00152 10 33.5 0.00179 0 0 0 WorldPhysical initStep + 1 -0.00624 9.99 33.5 0 0.00179 0.132 0.132 WorldPhysical eIoni >>> Event 1 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999105655165187 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999241413792559 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -603,92 +935,49 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0205 104 104 DriftChamberPhysical CoupledTransportation - 2 0.109 241 803 1e+03 0.0254 734 839 DriftChamberPhysical eIoni - 3 0.113 270 900 1e+03 0.0033 101 940 WorldPhysical CoupledTransportation - 4 0.114 284 947 1e+03 0.00824 48.6 988 WorldPhysical eIoni - 5 0.123 300 1e+03 1e+03 0.0104 55.8 1.04e+03 Crystal CoupledTransportation - 6 0.123 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.114 284 947 0.00322 0 0 0 WorldPhysical initStep - 1 0.176 284 947 0 0.00322 0.334 0.334 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.109 241 803 0.00125 0 0 0 DriftChamberPhysical initStep - 1 0.411 241 803 0 0.00125 0.421 0.421 DriftChamberPhysical eIoni ->>> Event 2 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999277134635743 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00255 21.8 72.8 1e+03 0.0149 76 76 WorldPhysical eIoni - 2 0.00438 24.5 81.7 1e+03 0.00146 9.32 85.3 WorldPhysical eIoni - 3 0.00939 30 100 1e+03 0.0032 19.1 104 DriftChamberPhysical CoupledTransportation - 4 0.142 270 900 1e+03 0.0227 835 940 WorldPhysical CoupledTransportation - 5 0.147 281 935 1e+03 0.00612 36.4 976 WorldPhysical eIoni - 6 0.148 289 962 1e+03 0.00453 28.4 1e+03 WorldPhysical eIoni - 7 0.155 300 1e+03 1e+03 0.0114 39.6 1.04e+03 Crystal CoupledTransportation - 8 0.155 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 -0.000905 3.8 12.7 1e+03 0.00347 13.2 13.2 WorldPhysical eIoni + 2 0.000255 8.7 29 1e+03 0.00168 17 30.3 WorldPhysical eIoni + 3 -0.00372 30 100 1e+03 0.0115 74.1 104 DriftChamberPhysical CoupledTransportation + 4 0.0137 54.1 180 1e+03 0.00252 84 188 DriftChamberPhysical eIoni + 5 0.147 270 900 1e+03 0.0291 751 940 WorldPhysical CoupledTransportation + 6 0.15 283 942 1e+03 0.00926 44.2 984 WorldPhysical eIoni + 7 0.153 300 1e+03 1e+03 0.0124 60.2 1.04e+03 Crystal CoupledTransportation + 8 0.153 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.148 289 962 0.00609 0 0 0 WorldPhysical initStep - 1 -0.317 289 962 0 0.00609 1.02 1.02 WorldPhysical eIoni + 0 0.15 283 942 0.00348 0 0 0 WorldPhysical initStep + 1 0.0606 283 942 0 0.00348 0.384 0.384 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.147 281 935 0.0111 0 0 0 WorldPhysical initStep - 1 1.27 281 934 0.00544 0.00294 1.44 1.44 WorldPhysical eIoni - 2 1.64 281 934 0 0.00544 0.837 2.28 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.27 281 934 0.00267 0 0 0 WorldPhysical initStep - 1 1.29 281 934 0 0.00267 0.247 0.247 WorldPhysical eIoni + 0 0.0137 54.1 180 0.002 0 0 0 DriftChamberPhysical initStep + 1 -0.376 54.6 180 0 0.002 0.879 0.879 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00438 24.5 81.7 0.00141 0 0 0 WorldPhysical initStep - 1 -0.0179 24.5 81.7 0 0.00141 0.0925 0.0925 WorldPhysical eIoni + 0 0.000255 8.7 29 0.00183 0 0 0 WorldPhysical initStep + 1 -0.0299 8.65 29 0 0.00183 0.136 0.136 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00255 21.8 72.8 0.00118 0 0 0 WorldPhysical initStep - 1 -0.0193 21.8 72.8 0 0.00118 0.0722 0.0722 WorldPhysical eIoni ->>> Event 3 - 14 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999159380607999 (GeV) + 0 -0.000905 3.8 12.7 0.00125 0 0 0 WorldPhysical initStep + 1 0.0284 3.79 12.7 0 0.00125 0.0778 0.0778 WorldPhysical eIoni +>>> Event 2 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999215028613938 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -698,40 +987,121 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00825 16.6 55.4 1e+03 0.0108 57.8 57.8 WorldPhysical eIoni - 2 0.0074 18.4 61.3 1e+03 0.000777 6.18 64 WorldPhysical eIoni - 3 0.00734 18.9 63 1e+03 0.000334 1.79 65.8 WorldPhysical eIoni - 4 0.00421 30 100 1e+03 0.00656 38.6 104 DriftChamberPhysical CoupledTransportation - 5 -0.0734 270 900 1e+03 0.0289 835 940 WorldPhysical CoupledTransportation - 6 -0.105 300 1e+03 1e+03 0.018 104 1.04e+03 Crystal CoupledTransportation - 7 -0.105 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 0.00217 10.9 36.3 1e+03 0.00832 37.9 37.9 WorldPhysical eIoni + 2 0.00379 26.8 89.4 1e+03 0.0125 55.5 93.4 WorldPhysical eIoni + 3 0.00515 30 100 1e+03 0.00452 11 104 DriftChamberPhysical CoupledTransportation + 4 0.042 245 817 1e+03 0.0213 748 853 DriftChamberPhysical eIoni + 5 0.0469 257 856 1e+03 0.00133 40.7 894 DriftChamberPhysical eIoni + 6 0.0539 270 900 1e+03 0.0014 46 940 WorldPhysical CoupledTransportation + 7 0.0568 282 939 1e+03 0.00748 40.9 980 WorldPhysical eIoni + 8 0.0582 283 944 1e+03 0.000792 4.94 985 WorldPhysical eIoni + 9 0.0769 300 1e+03 1e+03 0.0122 58.6 1.04e+03 Crystal CoupledTransportation + 10 0.0769 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0582 283 944 0.00122 0 0 0 WorldPhysical initStep + 1 0.0789 283 944 0 0.00122 0.0758 0.0758 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0568 282 939 0.00151 0 0 0 WorldPhysical initStep + 1 0.0148 282 939 0 0.00151 0.102 0.102 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0469 257 856 0.00433 0 0 0 DriftChamberPhysical initStep + 1 -1.19 258 856 0.00255 0.00178 2.02 2.02 DriftChamberPhysical eIoni + 2 -0.959 259 856 0.000923 0.00163 1.25 3.27 DriftChamberPhysical eIoni + 3 -0.967 259 856 0 0.000923 0.275 3.54 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00734 18.9 63 0.00223 0 0 0 WorldPhysical initStep - 1 0.0857 18.9 63 0 0.00223 0.183 0.183 WorldPhysical eIoni + 0 0.042 245 817 0.00219 0 0 0 DriftChamberPhysical initStep + 1 -0.385 246 817 0 0.00219 1.02 1.02 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0074 18.4 61.3 0.00162 0 0 0 WorldPhysical initStep - 1 -0.0324 18.4 61.3 0 0.00162 0.113 0.113 WorldPhysical eIoni + 0 0.00379 26.8 89.4 0.00268 0 0 0 WorldPhysical initStep + 1 -0.0413 26.7 89.5 0 0.00268 0.247 0.247 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00825 16.6 55.4 0.00205 0 0 0 WorldPhysical initStep - 1 0.0683 16.6 55.4 0 0.00205 0.161 0.161 WorldPhysical eIoni + 0 0.00217 10.9 36.3 0.00464 0 0 0 WorldPhysical initStep + 1 -0.276 10.9 36.3 0 0.00464 0.631 0.631 WorldPhysical eIoni +>>> Event 3 + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999135734429407 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.0012 10.5 35.1 1e+03 0.00779 36.6 36.6 WorldPhysical eIoni + 2 0.00381 16.4 54.6 1e+03 0.00346 20.4 57 WorldPhysical eIoni + 3 0.00535 27 89.8 1e+03 0.00723 36.8 93.8 WorldPhysical eIoni + 4 0.00523 30 100 1e+03 0.00234 10.6 104 DriftChamberPhysical CoupledTransportation + 5 -0.0135 270 900 1e+03 0.0281 835 940 WorldPhysical CoupledTransportation + 6 -0.00686 284 947 1e+03 0.0147 49.6 989 WorldPhysical eIoni + 7 -0.00097 300 1e+03 1e+03 0.0107 54.8 1.04e+03 Crystal CoupledTransportation + 8 -0.00097 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00686 284 947 0.00126 0 0 0 WorldPhysical initStep + 1 -0.0383 285 947 0 0.00126 0.079 0.079 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00535 27 89.8 0.00104 0 0 0 WorldPhysical initStep + 1 0.0164 26.9 89.8 0 0.00104 0.061 0.061 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00381 16.4 54.6 0.00237 0 0 0 WorldPhysical initStep + 1 0.0866 16.4 54.6 0 0.00237 0.203 0.203 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0012 10.5 35.1 0.00196 0 0 0 WorldPhysical initStep + 1 -0.061 10.5 35.1 0 0.00196 0.151 0.151 WorldPhysical eIoni >>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999287124977448 (GeV) + 11 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999919090332349 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -743,122 +1113,59 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0181 104 104 DriftChamberPhysical CoupledTransportation - 2 0.00196 -50.2 167 1e+03 0.00361 70.3 175 DriftChamberPhysical eIoni - 3 -0.0117 -179 597 1e+03 0.016 449 623 DriftChamberPhysical eIoni - 4 0.0142 -270 900 1e+03 0.00942 316 940 WorldPhysical CoupledTransportation - 5 0.0369 -297 990 1e+03 0.0215 94.5 1.03e+03 WorldPhysical eIoni - 6 0.0387 -300 1e+03 1e+03 0.00271 9.94 1.04e+03 Crystal CoupledTransportation - 7 0.0387 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0369 -297 990 0.0147 0 0 0 WorldPhysical initStep - 1 -1.01 -298 989 0.00912 0.00554 2.45 2.45 WorldPhysical eIoni - 2 -1.02 -298 989 0.00796 8.29e-05 0.0236 2.47 WorldPhysical eIoni - 3 -1.94 -298 989 0.00251 0.00545 1.44 3.91 WorldPhysical eIoni - 4 -2.01 -298 989 0 0.00251 0.223 4.14 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.02 -298 989 0.00107 0 0 0 WorldPhysical initStep - 1 -1.01 -298 989 0 0.00107 0.0632 0.0632 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0117 -179 597 0.00102 0 0 0 DriftChamberPhysical initStep - 1 -0.188 -179 597 0 0.00102 0.317 0.317 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00196 -50.2 167 0.0028 0 0 0 DriftChamberPhysical initStep - 1 0.951 -50.7 167 0.00054 0.00226 1.39 1.39 DriftChamberPhysical eIoni - 2 0.919 -50.7 167 0 0.00054 0.143 1.53 DriftChamberPhysical eIoni ->>> Event 0 - 13 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999102019816289 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 1.85e-05 -0.5 1.67 1e+03 0.000229 1.74 1.74 WorldPhysical eIoni - 2 -0.0025 -30 100 1e+03 0.0192 103 104 DriftChamberPhysical CoupledTransportation - 3 -0.0134 -75.6 252 1e+03 0.00524 159 263 DriftChamberPhysical eIoni - 4 -0.022 -103 344 1e+03 0.00388 95.8 359 DriftChamberPhysical eIoni - 5 -0.0467 -178 593 1e+03 0.00914 260 619 DriftChamberPhysical eIoni - 6 -0.0984 -270 900 1e+03 0.0115 320 940 WorldPhysical CoupledTransportation - 7 -0.0995 -272 908 1e+03 0.00161 7.95 948 WorldPhysical eIoni - 8 -0.102 -275 915 1e+03 0.00158 7.96 956 WorldPhysical eIoni - 9 -0.13 -300 1e+03 1e+03 0.0154 88.5 1.04e+03 Crystal CoupledTransportation - 10 -0.13 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.102 -275 915 0.00105 0 0 0 WorldPhysical initStep - 1 -0.0782 -275 915 0 0.00105 0.0619 0.0619 WorldPhysical eIoni + 1 -0.00311 -9.85 32.8 1e+03 0.00695 34.3 34.3 WorldPhysical eIoni + 2 -0.000515 -21.8 72.8 1e+03 0.00691 41.7 76 WorldPhysical eIoni + 3 0.00317 -30 100 1e+03 0.00507 28.4 104 DriftChamberPhysical CoupledTransportation + 4 0.00163 -162 541 1e+03 0.0178 461 565 DriftChamberPhysical eIoni + 5 0.00859 -270 900 1e+03 0.0114 375 940 WorldPhysical CoupledTransportation + 6 0.0087 -270 902 1e+03 0.000302 1.6 941 WorldPhysical eIoni + 7 0.00351 -299 997 1e+03 0.0198 99.7 1.04e+03 WorldPhysical eIoni + 8 0.00347 -300 1e+03 1e+03 0.000366 3.11 1.04e+03 Crystal CoupledTransportation + 9 0.00347 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0995 -272 908 0.00394 0 0 0 WorldPhysical initStep - 1 0.0187 -272 908 0 0.00394 0.475 0.475 WorldPhysical eIoni + 0 0.00351 -299 997 0.00391 0 0 0 WorldPhysical initStep + 1 -0.2 -299 997 0 0.00391 0.469 0.469 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0467 -178 593 0.00123 0 0 0 DriftChamberPhysical initStep - 1 0.246 -178 593 0 0.00123 0.413 0.413 DriftChamberPhysical eIoni + 0 0.0087 -270 902 0.0071 0 0 0 WorldPhysical initStep + 1 0.116 -270 901 0.00242 0.00468 1.27 1.27 WorldPhysical eIoni + 2 0.164 -270 901 0 0.00242 0.209 1.48 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.022 -103 344 0.00206 0 0 0 DriftChamberPhysical initStep - 1 -0.219 -103 344 0 0.00206 0.919 0.919 DriftChamberPhysical eIoni + 0 0.00163 -162 541 0.00109 0 0 0 DriftChamberPhysical initStep + 1 -0.0942 -162 541 0 0.00109 0.346 0.346 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0134 -75.6 252 0.00114 0 0 0 DriftChamberPhysical initStep - 1 0.22 -75.8 252 0 0.00114 0.371 0.371 DriftChamberPhysical eIoni + 0 -0.000515 -21.8 72.8 0.00251 0 0 0 WorldPhysical initStep + 1 -0.0674 -21.8 72.8 0 0.00251 0.222 0.222 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.85e-05 -0.5 1.67 0.00108 0 0 0 WorldPhysical initStep - 1 0.0184 -0.517 1.66 0 0.00108 0.0638 0.0638 WorldPhysical eIoni ->>> Event 1 + 0 -0.00311 -9.85 32.8 0.00217 0 0 0 WorldPhysical initStep + 1 0.0599 -9.81 32.9 0 0.00217 0.177 0.177 WorldPhysical eIoni +>>> Event 0 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999216831676738 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999145939554031 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -868,86 +1175,124 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00154 -5.58 18.6 1e+03 0.00205 19.4 19.4 WorldPhysical eIoni - 2 0.0152 -30 100 1e+03 0.0181 85 104 DriftChamberPhysical CoupledTransportation - 3 0.0947 -270 900 1e+03 0.029 835 940 WorldPhysical CoupledTransportation - 4 0.0977 -274 915 1e+03 0.00315 15.3 955 WorldPhysical eIoni - 5 0.0979 -275 916 1e+03 0.000178 1.35 956 WorldPhysical eIoni - 6 0.114 -296 986 1e+03 0.022 73.4 1.03e+03 WorldPhysical eIoni - 7 0.116 -300 1e+03 1e+03 0.00201 14.4 1.04e+03 Crystal CoupledTransportation - 8 0.116 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 -4.76e-05 -2.54 8.47 1e+03 0.00367 8.84 8.84 WorldPhysical eIoni + 2 -0.000936 -30 100 1e+03 0.0196 95.6 104 DriftChamberPhysical CoupledTransportation + 3 0.0546 -137 457 1e+03 0.0104 373 477 DriftChamberPhysical eIoni + 4 0.0491 -270 900 1e+03 0.0169 462 940 WorldPhysical CoupledTransportation + 5 0.0402 -283 944 1e+03 0.00791 46.1 986 WorldPhysical eIoni + 6 0.0405 -287 959 1e+03 0.0021 15.4 1e+03 WorldPhysical eIoni + 7 0.045 -300 1e+03 1e+03 0.00865 42.9 1.04e+03 Crystal CoupledTransportation + 8 0.045 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.114 -296 986 0.0096 0 0 0 WorldPhysical initStep - 1 1.11 -296 986 0.00652 0.00157 1.27 1.27 WorldPhysical eBrem - 2 1.65 -296 986 0.00372 0.0012 0.628 1.9 WorldPhysical eIoni - 3 1.82 -296 986 0 0.00372 0.433 2.33 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.65 -296 986 0.0016 0 0 0 WorldPhysical initStep - 1 1.66 -296 986 0 0.0016 0.111 0.111 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.11 -296 986 0.00151 0 0 0 WorldPhysical initStep - 1 0.47 -295 987 0 0.000403 1.57 1.57 WorldPhysical phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.47 -295 987 0.00111 0 0 0 WorldPhysical initStep - 1 0.443 -295 987 0 0.00111 0.0659 0.0659 WorldPhysical eIoni + 0 0.0405 -287 959 0.0012 0 0 0 WorldPhysical initStep + 1 0.0653 -287 959 0 0.0012 0.0736 0.0736 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0979 -275 916 0.00204 0 0 0 WorldPhysical initStep - 1 0.0284 -275 916 0 0.00204 0.16 0.16 WorldPhysical eIoni + 0 0.0402 -283 944 0.00204 0 0 0 WorldPhysical initStep + 1 0.0649 -283 944 0 0.00204 0.16 0.16 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0977 -274 915 0.00116 0 0 0 WorldPhysical initStep - 1 0.126 -274 915 0 0.00116 0.07 0.07 WorldPhysical eIoni + 0 0.0546 -137 457 0.0336 0 0 0 DriftChamberPhysical initStep + 1 25.7 -152 458 0.0284 0.00513 30.2 30.2 DriftChamberPhysical eIoni + 2 42.1 -162 453 0.0241 0.00326 20 50.2 DriftChamberPhysical eIoni + 3 52.2 -175 454 0.021 0.00313 17.1 67.3 DriftChamberPhysical eIoni + 4 56.2 -186 461 0.0187 0.00231 13.6 80.9 DriftChamberPhysical eIoni + 5 54.8 -190 459 0.0161 0.00101 5.07 86 DriftChamberPhysical eIoni + 6 57.1 -198 455 0.0137 0.00239 8.94 94.9 DriftChamberPhysical eIoni + 7 59.3 -204 456 0.0108 0.0029 7.04 102 DriftChamberPhysical eIoni + 8 61.6 -208 455 0.00945 0.00139 5.08 107 DriftChamberPhysical eIoni + 9 61.7 -210 454 0.00579 0.000379 1.51 109 DriftChamberPhysical eIoni + 10 62 -211 452 0.00436 0.00143 2.57 111 DriftChamberPhysical eIoni + 11 61.7 -212 450 0.00241 0.00196 2.03 113 DriftChamberPhysical eIoni + 12 62 -213 449 0.000448 0.00196 1.16 114 DriftChamberPhysical eIoni + 13 62 -213 449 0 0.000448 0.118 114 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.7 -210 454 0.00328 0 0 0 DriftChamberPhysical initStep + 1 62.5 -211 453 0.001 0.00228 1.61 1.61 DriftChamberPhysical eIoni + 2 62.6 -211 453 0 0.001 0.308 1.92 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 54.8 -190 459 0.00156 0 0 0 DriftChamberPhysical initStep + 1 54.4 -190 459 0 0.00156 0.594 0.594 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 42.1 -162 453 0.00104 0 0 0 DriftChamberPhysical initStep + 1 41.9 -162 453 0 0.00104 0.326 0.326 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00154 -5.58 18.6 0.0187 0 0 0 WorldPhysical initStep - 1 -1.94 -4.33 18.6 0.0129 0.00295 2.54 2.54 WorldPhysical eIoni - 2 -3.75 -4.4 19 0.0086 0.00434 2.2 4.74 WorldPhysical eIoni - 3 -4.82 -4.86 19.2 0.00423 0.00437 1.56 6.3 WorldPhysical eIoni - 4 -5.06 -4.88 19.2 0 0.00423 0.536 6.83 WorldPhysical eIoni + 0 -4.76e-05 -2.54 8.47 0.00112 0 0 0 WorldPhysical initStep + 1 -0.0255 -2.53 8.47 0 0.00112 0.0668 0.0668 WorldPhysical eIoni +>>> Event 1 + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9998929654935526 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.94 -4.33 18.6 0.00284 0 0 0 WorldPhysical initStep - 1 -1.91 -4.24 18.5 0 0.00284 0.272 0.272 WorldPhysical eIoni + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 -30 100 1e+03 0.0241 104 104 DriftChamberPhysical CoupledTransportation + 2 0.0496 -81 270 1e+03 0.00652 177 282 DriftChamberPhysical eIoni + 3 0.293 -270 900 1e+03 0.0184 658 940 WorldPhysical CoupledTransportation + 4 0.293 -271 901 1e+03 0.00011 1.17 941 WorldPhysical eIoni + 5 0.323 -300 1e+03 1e+03 0.0195 103 1.04e+03 Crystal CoupledTransportation + 6 0.323 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.293 -271 901 0.00456 0 0 0 WorldPhysical initStep + 1 0.504 -271 901 0 0.00456 0.612 0.612 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0496 -81 270 0.00736 0 0 0 DriftChamberPhysical initStep + 1 -2.98 -80.8 271 0.00607 0.00128 3.23 3.23 DriftChamberPhysical eIoni + 2 -5.42 -80.1 270 0.00492 0.00116 2.68 5.92 DriftChamberPhysical eIoni + 3 -6.65 -79.1 269 0.00291 0.00201 2.24 8.16 DriftChamberPhysical eIoni + 4 -6.52 -77.8 269 0.000888 0.00202 1.44 9.6 DriftChamberPhysical eIoni + 5 -6.53 -77.7 269 0 0.000888 0.261 9.86 DriftChamberPhysical eIoni >>> Event 2 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9998919971204425 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999194472989481 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -957,56 +1302,117 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0213 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.117 -270 900 1e+03 0.0265 835 940 WorldPhysical CoupledTransportation - 3 -0.143 -300 1e+03 1e+03 0.0161 104 1.04e+03 Crystal CoupledTransportation - 4 -0.143 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ->>> Event 3 - 6 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999361289462493 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000183 -3.04 10.1 1e+03 0.00121 10.6 10.6 WorldPhysical eIoni - 2 -0.00512 -30 100 1e+03 0.0145 93.8 104 DriftChamberPhysical CoupledTransportation - 3 -0.0296 -135 451 1e+03 0.00994 366 470 DriftChamberPhysical eIoni - 4 -0.0884 -270 900 1e+03 0.016 469 940 WorldPhysical CoupledTransportation - 5 -0.0921 -274 914 1e+03 0.00358 14.7 954 WorldPhysical eIoni - 6 -0.119 -300 1e+03 1e+03 0.0113 89.7 1.04e+03 Crystal CoupledTransportation - 7 -0.119 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 -0.0132 -24.7 82.1 1e+03 0.0224 85.8 85.8 WorldPhysical eIoni + 2 -0.0168 -30 100 1e+03 0.00299 18.6 104 DriftChamberPhysical CoupledTransportation + 3 -0.0291 -56.9 190 1e+03 0.00328 93.6 198 DriftChamberPhysical eIoni + 4 -0.134 -270 900 1e+03 0.022 742 940 WorldPhysical CoupledTransportation + 5 -0.147 -288 960 1e+03 0.0134 62.7 1e+03 WorldPhysical eIoni + 6 -0.158 -300 1e+03 1e+03 0.00893 41.7 1.04e+03 Crystal CoupledTransportation + 7 -0.158 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0921 -274 914 0.00244 0 0 0 WorldPhysical initStep - 1 -0.00733 -274 914 0 0.00244 0.212 0.212 WorldPhysical eIoni + 0 -0.147 -288 960 0.00105 0 0 0 WorldPhysical initStep + 1 -0.147 -288 960 0 0.00105 0.0614 0.0614 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0296 -135 451 0.0016 0 0 0 DriftChamberPhysical initStep - 1 0.236 -135 451 0 0.0016 0.616 0.616 DriftChamberPhysical eIoni + 0 -0.0291 -56.9 190 0.0106 0 0 0 DriftChamberPhysical initStep + 1 -2.89 -60.6 188 0.00906 0.0015 4.91 4.91 DriftChamberPhysical eIoni + 2 -4.88 -63.4 187 0.00799 0.00107 4.07 8.98 DriftChamberPhysical eIoni + 3 -6.14 -63.7 183 0.00635 0.00164 3.53 12.5 DriftChamberPhysical eIoni + 4 -7.94 -64.8 182 0.00526 0.00109 2.8 15.3 DriftChamberPhysical eIoni + 5 -9.63 -64.6 180 0.00399 0.00127 2.37 17.7 DriftChamberPhysical eIoni + 6 -11.1 -64 179 0.00258 0.00141 1.89 19.6 DriftChamberPhysical eIoni + 7 -11.4 -63 179 0.00014 0.00244 1.27 20.8 DriftChamberPhysical eIoni + 8 -11.4 -63 179 0 0.00014 0.0555 20.9 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000183 -3.04 10.1 0.00125 0 0 0 WorldPhysical initStep - 1 0.00804 -3.07 10.1 0 0.00125 0.0782 0.0782 WorldPhysical eIoni + 0 -0.0132 -24.7 82.1 0.00256 0 0 0 WorldPhysical initStep + 1 0.0595 -24.7 82.1 0 0.00256 0.23 0.23 WorldPhysical eIoni +>>> Event 3 + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999127113010713 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.00463 -23 76.7 1e+03 0.0174 80.1 80.1 WorldPhysical eIoni + 2 0.00573 -27.3 91.1 1e+03 0.00554 15 95.1 WorldPhysical eIoni + 3 0.0065 -30 100 1e+03 0.00303 9.34 104 DriftChamberPhysical CoupledTransportation + 4 0.0249 -109 364 1e+03 0.00939 276 380 DriftChamberPhysical eIoni + 5 0.0248 -117 390 1e+03 0.00065 27.3 407 DriftChamberPhysical eIoni + 6 -0.00432 -270 900 1e+03 0.0188 532 940 WorldPhysical CoupledTransportation + 7 -0.0101 -278 926 1e+03 0.0043 26.8 966 WorldPhysical eIoni + 8 -0.00941 -289 962 1e+03 0.0066 38.2 1e+03 WorldPhysical eIoni + 9 -0.0134 -300 1e+03 1e+03 0.0107 39.4 1.04e+03 Crystal CoupledTransportation + 10 -0.0134 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00941 -289 962 0.0044 0 0 0 WorldPhysical initStep + 1 -0.0829 -288 962 0 0.0044 0.574 0.574 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0101 -278 926 0.00122 0 0 0 WorldPhysical initStep + 1 -0.0233 -278 926 0 0.00122 0.0759 0.0759 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0248 -117 390 0.00121 0 0 0 DriftChamberPhysical initStep + 1 0.0544 -117 390 0 0.00121 0.405 0.405 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0249 -109 364 0.0018 0 0 0 DriftChamberPhysical initStep + 1 0.347 -109 364 0 0.0018 0.738 0.738 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00573 -27.3 91.1 0.00173 0 0 0 WorldPhysical initStep + 1 0.0404 -27.3 91 0 0.00173 0.125 0.125 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00463 -23 76.7 0.00374 0 0 0 WorldPhysical initStep + 1 -0.187 -23 76.7 0 0.00374 0.434 0.434 WorldPhysical eIoni >>> Event 4 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999380989471484 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999095515957912 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -1018,22 +1424,22 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.011 -54.2 90.3 1e+03 0.0202 105 105 WorldPhysical eIoni - 2 0.0115 -60 100 1e+03 0.00571 11.3 117 DriftChamberPhysical CoupledTransportation - 3 0.0894 -540 900 1e+03 0.033 933 1.05e+03 WorldPhysical CoupledTransportation - 4 0.0953 -600 1e+03 1e+03 0.0266 117 1.17e+03 Crystal CoupledTransportation - 5 0.0953 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + 1 -0.000306 -10.1 16.8 1e+03 0.00529 19.6 19.6 WorldPhysical eIoni + 2 -0.00121 -60 100 1e+03 0.0212 97.1 117 DriftChamberPhysical CoupledTransportation + 3 0.0713 -540 900 1e+03 0.0299 933 1.05e+03 WorldPhysical CoupledTransportation + 4 0.0802 -600 1e+03 1e+03 0.0204 117 1.17e+03 Crystal CoupledTransportation + 5 0.0802 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.011 -54.2 90.3 0.00126 0 0 0 WorldPhysical initStep - 1 -0.014 -54.2 90.3 0 0.00126 0.0787 0.0787 WorldPhysical eIoni + 0 -0.000306 -10.1 16.8 0.00267 0 0 0 WorldPhysical initStep + 1 -0.0159 -9.97 16.8 0 0.00267 0.246 0.246 WorldPhysical eIoni >>> Event 0 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999132255839778 (GeV) + 13 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999206349731888 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1043,279 +1449,501 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00376 -28.6 47.7 1e+03 0.00985 55.7 55.7 WorldPhysical eIoni - 2 0.0155 -60 100 1e+03 0.0121 61 117 DriftChamberPhysical CoupledTransportation - 3 0.28 -365 608 1e+03 0.0191 592 708 DriftChamberPhysical eIoni - 4 0.372 -494 822 1e+03 0.00602 251 959 DriftChamberPhysical eIoni - 5 0.405 -540 900 1e+03 0.00255 90.5 1.05e+03 WorldPhysical CoupledTransportation - 6 0.408 -544 907 1e+03 0.00212 8.17 1.06e+03 WorldPhysical eIoni - 7 0.452 -600 1e+03 1e+03 0.0255 108 1.17e+03 Crystal CoupledTransportation - 8 0.452 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.408 -544 907 0.00123 0 0 0 WorldPhysical initStep - 1 0.387 -544 907 0 0.00123 0.0762 0.0762 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.372 -494 822 0.0022 0 0 0 DriftChamberPhysical initStep - 1 0.987 -493 823 0 0.0022 1.02 1.02 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.28 -365 608 0.00117 0 0 0 DriftChamberPhysical initStep - 1 0.391 -365 607 0 0.00117 0.381 0.381 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00376 -28.6 47.7 0.00223 0 0 0 WorldPhysical initStep - 1 -0.0246 -28.7 47.7 0 0.00223 0.183 0.183 WorldPhysical eIoni ->>> Event 1 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999915973720874 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -60 100 1e+03 0.0215 117 117 DriftChamberPhysical CoupledTransportation - 2 0.0165 -532 886 1e+03 0.0286 917 1.03e+03 DriftChamberPhysical eIoni - 3 0.0165 -540 900 1e+03 0.000315 16.2 1.05e+03 WorldPhysical CoupledTransportation - 4 0.0165 -541 901 1e+03 0.000261 0.936 1.05e+03 WorldPhysical eIoni - 5 0.0161 -547 912 1e+03 0.00153 12.6 1.06e+03 WorldPhysical eIoni - 6 0.0185 -600 1e+03 1e+03 0.0212 103 1.17e+03 Crystal CoupledTransportation - 7 0.0185 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0161 -547 912 0.00364 0 0 0 WorldPhysical initStep - 1 -0.1 -547 912 0 0.00364 0.416 0.416 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0165 -541 901 0.0037 0 0 0 WorldPhysical initStep - 1 0.165 -541 901 0 0.0037 0.429 0.429 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0165 -532 886 0.00209 0 0 0 DriftChamberPhysical initStep - 1 -0.148 -531 886 0 0.00209 0.941 0.941 DriftChamberPhysical eIoni ->>> Event 2 - 14 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999171260283282 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00884 -31.2 51.9 1e+03 0.0108 60.6 60.6 WorldPhysical eIoni - 2 -0.00161 -47.4 79 1e+03 0.00505 31.5 92.1 WorldPhysical eIoni - 3 0.00478 -60 100 1e+03 0.00599 24.5 117 DriftChamberPhysical CoupledTransportation - 4 0.0497 -149 248 1e+03 0.00541 173 289 DriftChamberPhysical eIoni - 5 0.109 -257 429 1e+03 0.00772 211 501 DriftChamberPhysical eIoni - 6 0.117 -271 452 1e+03 0.000681 27 527 DriftChamberPhysical eIoni - 7 0.276 -539 900 1e+03 0.0159 522 1.05e+03 WorldPhysical CoupledTransportation - 8 0.331 -596 994 1e+03 0.0181 109 1.16e+03 WorldPhysical eIoni - 9 0.335 -599 1e+03 1e+03 0.00128 7.3 1.17e+03 Crystal CoupledTransportation - 10 0.335 -599 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.331 -596 994 0.00125 0 0 0 WorldPhysical initStep - 1 0.361 -596 994 0 0.00125 0.0775 0.0775 WorldPhysical eIoni + 1 -0.00954 -35.8 59.7 999 0.0154 69.6 69.6 WorldPhysical eIoni + 2 0.00933 -60 100 999 0.00983 47 117 DriftChamberPhysical CoupledTransportation + 3 0.328 -539 900 999 0.0285 932 1.05e+03 WorldPhysical CoupledTransportation + 4 0.337 -549 916 999 0.00328 18.5 1.07e+03 WorldPhysical eIoni + 5 0.347 -560 936 999 0.00315 22.9 1.09e+03 WorldPhysical eIoni + 6 0.35 -566 945 999 0.00181 11.6 1.1e+03 WorldPhysical eIoni + 7 0.358 -578 966 999 0.00533 23.7 1.13e+03 WorldPhysical eIoni + 8 0.37 -599 1e+03 999 0.00977 39.8 1.17e+03 Crystal CoupledTransportation + 9 0.37 -599 1e+03 0 999 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.117 -271 452 0.00241 0 0 0 DriftChamberPhysical initStep - 1 -0.261 -272 452 0 0.00241 1.17 1.17 DriftChamberPhysical eIoni + 0 0.358 -578 966 0.00115 0 0 0 WorldPhysical initStep + 1 0.386 -578 966 0 0.00115 0.0694 0.0694 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.109 -257 429 0.011 0 0 0 DriftChamberPhysical initStep - 1 4.94 -258 430 0.00872 0.00116 5.03 5.03 DriftChamberPhysical eIoni - 2 8.7 -258 430 0.00601 0.0027 3.89 8.92 DriftChamberPhysical eIoni - 3 11.1 -257 430 0.00475 0.00126 2.66 11.6 DriftChamberPhysical eIoni - 4 13 -257 431 0.00294 0.00181 2.17 13.7 DriftChamberPhysical eIoni - 5 13.6 -256 431 0 0.00294 1.45 15.2 DriftChamberPhysical eIoni + 0 0.35 -566 945 0.0246 0 0 0 WorldPhysical initStep + 1 -0.143 -567 945 0.0219 0.00055 0.913 0.913 WorldPhysical eIoni + 2 -0.747 -569 943 0.0165 0.00541 3.63 4.54 WorldPhysical eIoni + 3 0.367 -571 943 0.0122 0.00431 2.72 7.26 WorldPhysical eIoni + 4 0.767 -570 942 0.0062 0.00602 2.1 9.36 WorldPhysical eIoni + 5 0.502 -569 942 0.00362 0.00101 0.589 9.95 WorldPhysical eIoni + 6 0.412 -569 942 0 0.00362 0.41 10.4 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.94 -258 430 0.0011 0 0 0 DriftChamberPhysical initStep - 1 4.97 -258 430 0 0.0011 0.352 0.352 DriftChamberPhysical eIoni + 0 0.502 -569 942 0.00158 0 0 0 WorldPhysical initStep + 1 0.54 -569 942 0 0.00158 0.109 0.109 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.143 -567 945 0.00214 0 0 0 WorldPhysical initStep + 1 -0.0887 -567 945 0 0.00214 0.173 0.173 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0497 -149 248 0.00199 0 0 0 DriftChamberPhysical initStep - 1 0.686 -149 248 0 0.00199 0.869 0.869 DriftChamberPhysical eIoni + 0 0.347 -560 936 0.00126 0 0 0 WorldPhysical initStep + 1 0.372 -560 936 0 0.00126 0.0788 0.0788 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00161 -47.4 79 0.00197 0 0 0 WorldPhysical initStep - 1 -0.0306 -47.4 79 0 0.00197 0.152 0.152 WorldPhysical eIoni + 0 0.337 -549 916 0.00403 0 0 0 WorldPhysical initStep + 1 0.305 -549 916 0 0.00403 0.493 0.493 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00884 -31.2 51.9 0.157 0 0 0 WorldPhysical initStep - 1 -29.1 -52.3 51.9 0.144 0.0117 37 37 WorldPhysical eIoni - 2 -52.4 -67.3 40.8 0.134 0.0078 30.8 67.8 WorldPhysical eIoni - 3 -84.4 -108 48.9 0.121 0.0136 56.1 124 WorldPhysical eIoni - 4 -113 -132 72.7 0.11 0.0109 46.8 171 WorldPhysical eIoni - 5 -114 -133 81.6 0.1 0.00605 9.12 180 WorldPhysical eIoni - 6 -112 -132 96.2 0.0881 0.00556 15.2 195 WorldPhysical eIoni - 7 -112 -132 100 0.0876 0.00049 3.83 199 DriftChamberPhysical CoupledTransportation - 8 -92.8 -116 260 0.0782 0.00945 165 363 DriftChamberPhysical eIoni - 9 -84.4 -118 282 0.0737 0.00151 23 386 DriftChamberPhysical eIoni - 10 -34.2 -93 388 0.0655 0.00823 122 508 DriftChamberPhysical eIoni - 11 46 -89.5 442 0.0559 0.00955 98.4 607 DriftChamberPhysical eIoni - 12 77.4 -89.4 466 0.0511 0.00187 40 647 DriftChamberPhysical eIoni - 13 80.8 -91 470 0.0496 0.000471 5.32 652 DriftChamberPhysical eIoni - 14 114 -91.9 510 0.0434 0.00458 52.9 705 DriftChamberPhysical eIoni - 15 132 -85.2 553 0.0386 0.00482 47.4 752 DriftChamberPhysical eIoni - 16 150 -84 586 0.0326 0.00595 38.7 791 DriftChamberPhysical eIoni - 17 166 -97 606 0.0292 0.00342 28.7 820 DriftChamberPhysical eIoni - 18 174 -108 625 0.0253 0.00395 23.7 844 DriftChamberPhysical eIoni - 19 176 -111 628 0.0233 0.000496 4.81 848 DriftChamberPhysical eIoni - 20 179 -121 640 0.0207 0.00255 16.1 864 DriftChamberPhysical eIoni - 21 182 -131 648 0.0181 0.00263 13.3 878 DriftChamberPhysical eIoni - 22 182 -137 657 0.0164 0.00166 10.7 889 DriftChamberPhysical eIoni - 23 182 -141 665 0.0143 0.00214 9.19 898 DriftChamberPhysical eIoni - 24 177 -143 670 0.0126 0.00174 7.49 905 DriftChamberPhysical eIoni - 25 173 -143 675 0.00901 0.00355 6.2 911 DriftChamberPhysical eIoni - 26 172 -144 678 0.00812 0.000891 4.04 915 DriftChamberPhysical eIoni - 27 170 -145 681 0.00709 0.00103 3.59 919 DriftChamberPhysical eIoni - 28 171 -145 678 0.00494 0.00215 3.13 922 DriftChamberPhysical eIoni - 29 171 -147 676 0.00363 0.00131 2.25 924 DriftChamberPhysical eIoni - 30 170 -147 675 0.0021 0.00153 1.76 926 DriftChamberPhysical eIoni - 31 170 -148 674 0 0.0021 0.948 927 DriftChamberPhysical eIoni + 0 -0.00954 -35.8 59.7 0.681 0 0 0 WorldPhysical initStep + 1 -4.49 -57.3 61.7 0.676 0.00356 22.1 22.1 WorldPhysical eIoni + 2 -9.57 -103 75.8 0.662 0.0064 48.6 70.8 WorldPhysical eIoni + 3 -13.8 -136 86.5 0.655 0.00445 34.9 106 WorldPhysical eIoni + 4 -16.3 -162 100 0.651 0.00452 29.6 135 DriftChamberPhysical CoupledTransportation + 5 63.9 -960 503 0.629 0.0202 900 1.04e+03 DriftChamberPhysical eIoni + 6 64 -963 504 0.627 0.000108 3.17 1.04e+03 DriftChamberPhysical eIoni + 7 65.7 -1.06e+03 545 0.62 0.00313 107 1.15e+03 DriftChamberPhysical eIoni + 8 66.4 -1.14e+03 590 0.617 0.000968 94.5 1.24e+03 DriftChamberPhysical eIoni + 9 62.1 -1.25e+03 664 0.614 0.00283 129 1.37e+03 WorldPhysical CoupledTransportation + 10 53 -1.32e+03 714 0.6 0.012 90.8 1.46e+03 WorldPhysical eIoni + 11 70.2 -1.42e+03 771 0.573 0.0153 111 1.57e+03 WorldPhysical eIoni + 12 78.4 -1.44e+03 781 0.566 0.00539 29.2 1.6e+03 WorldPhysical eIoni + 13 45.1 -1.66e+03 881 0.517 0.0471 253 1.85e+03 WorldPhysical eIoni + 14 42.4 -1.69e+03 894 0.498 0.00372 25 1.88e+03 WorldPhysical eIoni + 15 35.5 -1.79e+03 948 0.476 0.0178 123 2e+03 WorldPhysical eIoni + 16 55.7 -1.95e+03 996 0.445 0.0237 172 2.17e+03 WorldPhysical eIoni + 17 70.8 -1.98e+03 994 0.436 0.00708 32 2.21e+03 WorldPhysical eIoni + 18 152 -2.2e+03 998 0.392 0.0415 242 2.45e+03 WorldPhysical eIoni + 19 110 -2.38e+03 1.12e+03 0.35 0.0394 231 2.68e+03 WorldPhysical eIoni + 20 108 -2.46e+03 1.13e+03 0.334 0.014 77.4 2.76e+03 WorldPhysical eIoni + 21 106 -2.46e+03 1.13e+03 0.331 0.000691 7.58 2.76e+03 WorldPhysical eIoni + 22 105 -2.46e+03 1.13e+03 0.327 0.000232 1.26 2.76e+03 WorldPhysical eIoni + 23 97.9 -2.5e+03 1.14e+03 0.32 0.00509 35.3 2.8e+03 WorldPhysical eIoni + 24 84 -2.52e+03 1.14e+03 0.311 0.00595 31.3 2.83e+03 WorldPhysical eIoni + 25 76 -2.54e+03 1.15e+03 0.302 0.00311 20.5 2.85e+03 WorldPhysical eIoni + 26 70.8 -2.54e+03 1.16e+03 0.299 0.00191 8.6 2.86e+03 WorldPhysical eIoni + 27 69.1 -2.55e+03 1.16e+03 0.299 0.000428 2.32 2.86e+03 WorldPhysical eIoni + 28 57.7 -2.55e+03 1.17e+03 0.296 0.00183 16.3 2.88e+03 WorldPhysical eIoni + 29 53.2 -2.56e+03 1.17e+03 0.294 0.00064 7.24 2.89e+03 WorldPhysical eIoni + 30 -5.57 -2.59e+03 1.22e+03 0.271 0.0197 82.4 2.97e+03 WorldPhysical eIoni + 31 -57.1 -2.62e+03 1.25e+03 0.254 0.0146 71.9 3.04e+03 WorldPhysical eIoni + 32 -64 -2.69e+03 1.26e+03 0.24 0.0137 67.1 3.11e+03 WorldPhysical eIoni + 33 -70.5 -2.71e+03 1.26e+03 0.235 0.00399 24.6 3.13e+03 WorldPhysical eIoni + 34 -75.4 -2.72e+03 1.26e+03 0.23 0.00299 10.5 3.14e+03 WorldPhysical eIoni + 35 -126 -2.83e+03 1.22e+03 0.203 0.0268 134 3.28e+03 WorldPhysical eIoni + 36 -164 -2.87e+03 1.22e+03 0.187 0.0139 60.5 3.34e+03 WorldPhysical eIoni + 37 -199 -2.91e+03 1.25e+03 0.17 0.016 64.4 3.4e+03 WorldPhysical eIoni + 38 -225 -2.96e+03 1.25e+03 0.16 0.00947 55.1 3.46e+03 WorldPhysical eIoni + 39 -230 -2.96e+03 1.25e+03 0.158 0.00229 6.44 3.46e+03 WorldPhysical eIoni + 40 -235 -2.96e+03 1.25e+03 0.157 0.00125 5.68 3.47e+03 WorldPhysical eIoni + 41 -288 -3e+03 1.23e+03 0.135 0.0213 71.8 3.54e+03 WorldPhysical eIoni + 42 -322 -3e+03 1.23e+03 0.12 0.0116 36.6 3.58e+03 WorldPhysical eIoni + 43 -330 -3e+03 1.22e+03 0.117 0.00183 8.12 3.58e+03 WorldPhysical eIoni + 44 -349 -2.98e+03 1.22e+03 0.101 0.00977 27.6 3.61e+03 WorldPhysical eIoni + 45 -361 -2.96e+03 1.21e+03 0.0852 0.0122 26.9 3.64e+03 WorldPhysical eIoni + 46 -366 -2.94e+03 1.19e+03 0.0754 0.00988 26.2 3.67e+03 WorldPhysical eIoni + 47 -372 -2.93e+03 1.18e+03 0.0662 0.00917 21.3 3.69e+03 WorldPhysical eIoni + 48 -372 -2.93e+03 1.18e+03 0.064 0.000711 0.458 3.69e+03 WorldPhysical eIoni + 49 -377 -2.92e+03 1.17e+03 0.0551 0.00891 16.3 3.7e+03 WorldPhysical eIoni + 50 -378 -2.92e+03 1.16e+03 0.0477 0.00311 6.88 3.71e+03 WorldPhysical eIoni + 51 -377 -2.92e+03 1.16e+03 0.0415 0.00614 10.3 3.72e+03 WorldPhysical eIoni + 52 -373 -2.91e+03 1.15e+03 0.0358 0.00571 8.33 3.73e+03 WorldPhysical eIoni + 53 -368 -2.91e+03 1.15e+03 0.0312 0.00465 6.73 3.74e+03 WorldPhysical eIoni + 54 -363 -2.91e+03 1.15e+03 0.0264 0.00479 5.56 3.74e+03 WorldPhysical eIoni + 55 -363 -2.91e+03 1.15e+03 0.0234 0.00123 1.1 3.74e+03 WorldPhysical eIoni + 56 -362 -2.91e+03 1.15e+03 0.0199 0.00347 3.9 3.75e+03 WorldPhysical eIoni + 57 -362 -2.9e+03 1.15e+03 0.0168 0.00137 1.01 3.75e+03 WorldPhysical eIoni + 58 -360 -2.9e+03 1.15e+03 0.0114 0.00545 2.77 3.75e+03 WorldPhysical eIoni + 59 -360 -2.9e+03 1.15e+03 0.00992 0.000332 0.296 3.75e+03 WorldPhysical eIoni + 60 -359 -2.9e+03 1.15e+03 0.00407 0.00585 1.77 3.75e+03 WorldPhysical eIoni + 61 -358 -2.9e+03 1.15e+03 0 0.00407 0.502 3.75e+03 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -360 -2.9e+03 1.15e+03 0.00113 0 0 0 WorldPhysical initStep + 1 -360 -2.9e+03 1.15e+03 0 0.00113 0.0683 0.0683 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -362 -2.9e+03 1.15e+03 0.00172 0 0 0 WorldPhysical initStep + 1 -362 -2.9e+03 1.15e+03 0 0.00172 0.123 0.123 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -363 -2.91e+03 1.15e+03 0.00176 0 0 0 WorldPhysical initStep + 1 -363 -2.91e+03 1.15e+03 0 0.00176 0.129 0.129 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -378 -2.92e+03 1.16e+03 0.00429 0 0 0 WorldPhysical initStep + 1 -377 -2.92e+03 1.16e+03 0 0.00429 0.551 0.551 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -372 -2.93e+03 1.18e+03 0.00149 0 0 0 WorldPhysical initStep + 1 -372 -2.93e+03 1.18e+03 0 0.00149 0.101 0.101 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -361 -2.96e+03 1.21e+03 0.00394 0 0 0 WorldPhysical initStep + 1 -362 -2.96e+03 1.21e+03 0 0.00394 0.474 0.474 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -349 -2.98e+03 1.22e+03 0.00596 0 0 0 WorldPhysical initStep + 1 -349 -2.98e+03 1.22e+03 0 0.00596 0.981 0.981 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -330 -3e+03 1.22e+03 0.00111 0 0 0 WorldPhysical initStep + 1 -330 -3e+03 1.22e+03 0 0.00111 0.0665 0.0665 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -322 -3e+03 1.23e+03 0.00367 0 0 0 WorldPhysical initStep + 1 -322 -3e+03 1.23e+03 0 0.00367 0.421 0.421 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -199 -2.91e+03 1.25e+03 0.00194 0 0 0 WorldPhysical initStep + 1 -199 -2.91e+03 1.25e+03 0 0.00194 0.148 0.148 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -164 -2.87e+03 1.22e+03 0.00166 0 0 0 WorldPhysical initStep + 1 -164 -2.87e+03 1.22e+03 0 0.00166 0.117 0.117 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -75.4 -2.72e+03 1.26e+03 0.00207 0 0 0 WorldPhysical initStep + 1 -75.4 -2.72e+03 1.26e+03 0 0.00207 0.164 0.164 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -70.5 -2.71e+03 1.26e+03 0.00119 0 0 0 WorldPhysical initStep + 1 -70.5 -2.71e+03 1.26e+03 0 0.00119 0.0733 0.0733 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -57.1 -2.62e+03 1.25e+03 0.00295 0 0 0 WorldPhysical initStep + 1 -57.1 -2.62e+03 1.25e+03 0.0013 0.000542 0.0236 0.0236 WorldPhysical eIoni + 2 -57.1 -2.62e+03 1.25e+03 0 0.0013 0.0829 0.106 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 36 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -57.1 -2.62e+03 1.25e+03 0.0011 0 0 0 WorldPhysical initStep + 1 -57.1 -2.62e+03 1.25e+03 0 0.0011 0.0657 0.0657 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -5.57 -2.59e+03 1.22e+03 0.00312 0 0 0 WorldPhysical initStep + 1 -5.55 -2.59e+03 1.22e+03 0 0.00312 0.319 0.319 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 53.2 -2.56e+03 1.17e+03 0.00133 0 0 0 WorldPhysical initStep + 1 53.2 -2.56e+03 1.17e+03 0 0.00133 0.0853 0.0853 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 57.7 -2.55e+03 1.17e+03 0.000999 0 0 0 WorldPhysical initStep + 1 57.7 -2.55e+03 1.17e+03 0 0.000999 0.0577 0.0577 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 70.8 -2.54e+03 1.16e+03 0.00116 0 0 0 WorldPhysical initStep + 1 70.8 -2.54e+03 1.16e+03 0 0.00116 0.0708 0.0708 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 76 -2.54e+03 1.15e+03 0.00545 0 0 0 WorldPhysical initStep + 1 76.3 -2.54e+03 1.15e+03 0 0.00545 0.836 0.836 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 84 -2.52e+03 1.14e+03 0.00304 0 0 0 WorldPhysical initStep + 1 84.1 -2.52e+03 1.14e+03 0 0.00304 0.306 0.306 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 97.9 -2.5e+03 1.14e+03 0.0015 0 0 0 WorldPhysical initStep + 1 98 -2.5e+03 1.14e+03 0 0.0015 0.101 0.101 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 105 -2.46e+03 1.13e+03 0.00434 0 0 0 WorldPhysical initStep + 1 105 -2.46e+03 1.13e+03 0 0.00434 0.562 0.562 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 106 -2.46e+03 1.13e+03 0.00174 0 0 0 WorldPhysical initStep + 1 106 -2.46e+03 1.13e+03 0 0.00174 0.126 0.126 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 108 -2.46e+03 1.13e+03 0.0024 0 0 0 WorldPhysical initStep + 1 108 -2.46e+03 1.13e+03 0 0.0024 0.207 0.207 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 110 -2.38e+03 1.12e+03 0.00281 0 0 0 WorldPhysical initStep + 1 109 -2.38e+03 1.12e+03 0 0.00281 0.268 0.268 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 152 -2.2e+03 998 0.00242 0 0 0 WorldPhysical initStep + 1 152 -2.2e+03 998 0 0.00242 0.209 0.209 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 70.8 -1.98e+03 994 0.00138 0 0 0 WorldPhysical initStep + 1 70.8 -1.98e+03 994 0 0.00138 0.09 0.09 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 55.7 -1.95e+03 996 0.00784 0 0 0 WorldPhysical initStep + 1 55.7 -1.95e+03 997 0.00147 0.00637 1.42 1.42 WorldPhysical eIoni + 2 55.7 -1.95e+03 997 0 0.00147 0.0983 1.52 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 35.5 -1.79e+03 948 0.00414 0 0 0 WorldPhysical initStep + 1 35.3 -1.79e+03 948 0 0.00414 0.518 0.518 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 42.4 -1.69e+03 894 0.0158 0 0 0 WorldPhysical initStep + 1 42.9 -1.69e+03 894 0.0137 0.000775 0.638 0.638 WorldPhysical eIoni + 2 43.3 -1.69e+03 894 0.0104 0.00205 1.27 1.91 WorldPhysical eIoni + 3 44.7 -1.69e+03 894 0.00459 0.0058 1.84 3.74 WorldPhysical eIoni + 4 44.8 -1.69e+03 894 0 0.00459 0.619 4.36 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 20 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 43.3 -1.69e+03 894 0.00127 0 0 0 WorldPhysical initStep + 1 43.3 -1.69e+03 894 0 0.00127 0.0797 0.0797 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 20 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 42.9 -1.69e+03 894 0.00126 0 0 0 WorldPhysical initStep + 1 43 -1.69e+03 894 0 0.00126 0.079 0.079 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 45.1 -1.66e+03 881 0.00136 0 0 0 WorldPhysical initStep + 1 45.1 -1.66e+03 881 0 0.00136 0.0878 0.0878 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 78.4 -1.44e+03 781 0.00152 0 0 0 WorldPhysical initStep + 1 78.4 -1.44e+03 781 0 0.00152 0.103 0.103 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 17, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 176 -111 628 0.0015 0 0 0 DriftChamberPhysical initStep - 1 176 -111 628 0 0.0015 0.555 0.555 DriftChamberPhysical eIoni + 0 70.2 -1.42e+03 771 0.0122 0 0 0 WorldPhysical initStep + 1 70.9 -1.42e+03 773 0.00904 0.00313 2.09 2.09 WorldPhysical eIoni + 2 72.2 -1.42e+03 773 0.00447 0.00457 1.63 3.72 WorldPhysical eIoni + 3 72.2 -1.42e+03 773 0.000798 0.00367 0.533 4.25 WorldPhysical eIoni + 4 72.2 -1.42e+03 773 0 0.000798 0.0436 4.3 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 16, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 114 -91.9 510 0.00162 0 0 0 DriftChamberPhysical initStep - 1 114 -92.3 510 0 0.00162 0.624 0.624 DriftChamberPhysical eIoni + 0 53 -1.32e+03 714 0.00179 0 0 0 WorldPhysical initStep + 1 53 -1.32e+03 714 0 0.00179 0.131 0.131 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 80.8 -91 470 0.00101 0 0 0 DriftChamberPhysical initStep - 1 80.8 -91.2 470 0 0.00101 0.313 0.313 DriftChamberPhysical eIoni + 0 66.4 -1.14e+03 590 0.00211 0 0 0 DriftChamberPhysical initStep + 1 66.4 -1.15e+03 590 0 0.00211 0.956 0.956 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 77.4 -89.4 466 0.00295 0 0 0 DriftChamberPhysical initStep - 1 76.8 -88.2 467 0.00101 0.00193 1.46 1.46 DriftChamberPhysical eIoni - 2 76.7 -88.1 466 0 0.00101 0.314 1.77 DriftChamberPhysical eIoni + 0 65.7 -1.06e+03 545 0.00409 0 0 0 DriftChamberPhysical initStep + 1 65.9 -1.06e+03 543 0.00238 0.0017 1.93 1.93 DriftChamberPhysical eIoni + 2 65.9 -1.06e+03 543 0 0.00238 1.15 3.08 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -84.4 -118 282 0.00296 0 0 0 DriftChamberPhysical initStep - 1 -84.3 -119 281 0.00168 0.00128 1.46 1.46 DriftChamberPhysical eIoni - 2 -84.2 -119 281 0 0.00168 0.66 2.12 DriftChamberPhysical eIoni + 0 64 -963 504 0.0012 0 0 0 DriftChamberPhysical initStep + 1 64.2 -963 504 0 0.0012 0.397 0.397 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -112 -132 96.2 0.00657 0 0 0 WorldPhysical initStep - 1 -112 -132 96.4 0.00115 0.00542 1.15 1.15 WorldPhysical eIoni - 2 -112 -132 96.4 0 0.00115 0.0698 1.22 WorldPhysical eIoni + 0 63.9 -960 503 0.0019 0 0 0 DriftChamberPhysical initStep + 1 64.3 -960 502 0 0.0019 0.808 0.808 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -114 -133 81.6 0.00348 0 0 0 WorldPhysical initStep - 1 -113 -133 81.6 0 0.00348 0.382 0.382 WorldPhysical eIoni + 0 -13.8 -136 86.5 0.00225 0 0 0 WorldPhysical initStep + 1 -13.8 -136 86.4 0 0.00225 0.187 0.187 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -52.4 -67.3 40.8 0.00188 0 0 0 WorldPhysical initStep - 1 -52.4 -67.4 40.7 0 0.00188 0.142 0.142 WorldPhysical eIoni + 0 -9.57 -103 75.8 0.00781 0 0 0 WorldPhysical initStep + 1 -9.34 -104 74.9 0.00342 0.00438 1.42 1.42 WorldPhysical eIoni + 2 -9.33 -104 74.8 0 0.00342 0.373 1.79 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -29.1 -52.3 51.9 0.00136 0 0 0 WorldPhysical initStep - 1 -29.1 -52.3 51.9 0 0.00136 0.0885 0.0885 WorldPhysical eIoni ->>> Event 3 + 0 -4.49 -57.3 61.7 0.00107 0 0 0 WorldPhysical initStep + 1 -4.47 -57.3 61.8 0 0.00107 0.0635 0.0635 WorldPhysical eIoni +>>> Event 1 14 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9997533810267487 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9992110961860632 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1325,31 +1953,118 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000464 -19 31.7 1e+03 0.00616 37 37 WorldPhysical eIoni - 2 -0.00915 -60 100 1e+03 0.0205 79.7 117 DriftChamberPhysical CoupledTransportation - 3 0.00699 -540 900 1e+03 0.028 933 1.05e+03 WorldPhysical CoupledTransportation - 4 0.00651 -544 907 1e+03 0.00129 7.9 1.06e+03 WorldPhysical eIoni - 5 -0.00779 -600 1e+03 1e+03 0.0261 109 1.17e+03 Crystal CoupledTransportation - 6 -0.00779 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + 1 0.0022 -28.5 47.5 1e+03 0.0128 55.4 55.4 WorldPhysical eIoni + 2 0.00259 -31.8 52.9 1e+03 0.00252 6.3 61.7 WorldPhysical eIoni + 3 0.00194 -60 100 1e+03 0.00973 54.9 117 DriftChamberPhysical CoupledTransportation + 4 0.0235 -402 670 1e+03 0.0178 665 782 DriftChamberPhysical eIoni + 5 0.0166 -540 900 1e+03 0.00652 268 1.05e+03 WorldPhysical CoupledTransportation + 6 0.0185 -593 988 1e+03 0.0228 103 1.15e+03 WorldPhysical eIoni + 7 0.023 -600 1e+03 1e+03 0.00292 13.6 1.17e+03 Crystal CoupledTransportation + 8 0.023 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0185 -593 988 0.00131 0 0 0 WorldPhysical initStep + 1 -0.00435 -593 988 0 0.00131 0.0831 0.0831 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0235 -402 670 0.00393 0 0 0 DriftChamberPhysical initStep + 1 1.53 -402 671 0.00188 0.00205 1.87 1.87 DriftChamberPhysical eIoni + 2 2.07 -402 671 0 0.00188 0.794 2.66 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00651 -544 907 0.00194 0 0 0 WorldPhysical initStep - 1 0.0287 -544 907 0 0.00194 0.149 0.149 WorldPhysical eIoni + 0 0.00259 -31.8 52.9 0.00123 0 0 0 WorldPhysical initStep + 1 0.0331 -31.8 52.9 0 0.00123 0.0762 0.0762 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000464 -19 31.7 0.000995 0 0 0 WorldPhysical initStep - 1 0.00676 -19 31.7 0 0.000995 0.0575 0.0575 WorldPhysical eIoni + 0 0.0022 -28.5 47.5 0.00187 0 0 0 WorldPhysical initStep + 1 0.0602 -28.5 47.5 0 0.00187 0.14 0.14 WorldPhysical eIoni +>>> Event 2 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999165893961809 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 -60 100 1e+03 0.0217 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.224 -540 900 1e+03 0.0286 933 1.05e+03 WorldPhysical CoupledTransportation + 3 -0.245 -600 1e+03 1e+03 0.0261 117 1.17e+03 Crystal CoupledTransportation + 4 -0.245 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom +>>> Event 3 + 14 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999236228274186 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.0199 -59.7 99.6 1e+03 0.0255 116 116 WorldPhysical eIoni + 2 0.0198 -60 100 1e+03 4.46e-05 0.522 117 DriftChamberPhysical CoupledTransportation + 3 -0.17 -540 900 1e+03 0.0222 933 1.05e+03 WorldPhysical CoupledTransportation + 4 -0.173 -550 917 1e+03 0.00281 19.7 1.07e+03 WorldPhysical eIoni + 5 -0.175 -567 945 1e+03 0.00679 32.4 1.1e+03 WorldPhysical eIoni + 6 -0.175 -568 947 1e+03 0.000646 2.27 1.1e+03 WorldPhysical eIoni + 7 -0.175 -600 1e+03 1e+03 0.0117 62.2 1.17e+03 Crystal CoupledTransportation + 8 -0.175 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.175 -568 947 0.0014 0 0 0 WorldPhysical initStep + 1 -0.153 -568 947 0 0.0014 0.0916 0.0916 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.175 -567 945 0.00127 0 0 0 WorldPhysical initStep + 1 -0.194 -567 945 0 0.00127 0.0803 0.0803 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.173 -550 917 0.00157 0 0 0 WorldPhysical initStep + 1 -0.128 -550 917 0 0.00157 0.108 0.108 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0199 -59.7 99.6 0.000994 0 0 0 WorldPhysical initStep + 1 -0.000921 -59.7 99.6 0 0.000994 0.0574 0.0574 WorldPhysical eIoni >>> Event 4 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999150500617825 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999250598482089 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -1361,172 +2076,63 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00303 16.9 28.2 1e+03 0.0075 32.9 32.9 WorldPhysical hIoni - 2 -0.0131 60 100 1e+03 0.0104 83.8 117 DriftChamberPhysical CoupledTransportation - 3 -0.179 356 594 1e+03 0.0129 576 692 DriftChamberPhysical hIoni - 4 -0.192 382 637 1e+03 0.00156 51.1 743 DriftChamberPhysical hIoni - 5 -0.226 531 885 1e+03 0.00579 289 1.03e+03 DriftChamberPhysical hIoni - 6 -0.227 540 900 1e+03 0.000299 17.1 1.05e+03 WorldPhysical CoupledTransportation - 7 -0.227 541 901 1e+03 0.000133 1.56 1.05e+03 WorldPhysical hIoni - 8 -0.228 547 911 1e+03 0.00585 11.8 1.06e+03 WorldPhysical hIoni - 9 -0.224 570 950 1e+03 0.00984 45 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 10 -0.224 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.228 547 911 0.00348 0 0 0 WorldPhysical initStep - 1 -0.305 547 912 0 0.00348 0.384 0.384 WorldPhysical eIoni + 1 1.5e-05 1.13 1.89 1e+03 0.000424 2.21 2.21 WorldPhysical hIoni + 2 4.96e-05 1.52 2.54 1e+03 8.77e-05 0.756 2.96 WorldPhysical hIoni + 3 -5.16e-05 60 100 1e+03 0.0199 114 117 DriftChamberPhysical CoupledTransportation + 4 -0.00192 73.2 122 1e+03 0.000562 25.7 142 DriftChamberPhysical hIoni + 5 -0.00635 204 340 1e+03 0.00599 254 396 DriftChamberPhysical hIoni + 6 -0.0137 540 900 1e+03 0.0149 653 1.05e+03 WorldPhysical CoupledTransportation + 7 -0.0127 560 934 1e+03 0.00662 39.5 1.09e+03 WorldPhysical hIoni + 8 -0.0128 570 950 1e+03 0.0021 18.8 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 9 -0.0128 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.227 541 901 0.00319 0 0 0 WorldPhysical initStep - 1 -0.325 541 901 0 0.00319 0.33 0.33 WorldPhysical eIoni + 0 -0.0127 560 934 0.0029 0 0 0 WorldPhysical initStep + 1 -0.0773 560 934 0 0.0029 0.282 0.282 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.226 531 885 0.00513 0 0 0 DriftChamberPhysical initStep - 1 -2.42 531 885 0.00428 0.000844 2.32 2.32 DriftChamberPhysical eIoni - 2 -3.6 530 886 0.00263 0.00165 2 4.32 DriftChamberPhysical eIoni - 3 -4.54 530 887 0.000349 0.00228 1.3 5.62 DriftChamberPhysical eIoni - 4 -4.56 530 887 0 0.000349 0.0945 5.72 DriftChamberPhysical eIoni + 0 -0.00635 204 340 0.00125 0 0 0 DriftChamberPhysical initStep + 1 0.269 204 340 0 0.00125 0.423 0.423 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.192 382 637 0.0297 0 0 0 DriftChamberPhysical initStep - 1 -15.4 369 646 0.0248 0.00319 22.6 22.6 DriftChamberPhysical eIoni - 2 -19.2 367 646 0.0229 0.000728 4.18 26.8 DriftChamberPhysical eIoni - 3 -33.1 360 646 0.0198 0.00312 15.7 42.5 DriftChamberPhysical eIoni - 4 -44.7 357 647 0.018 0.00186 12.4 54.9 DriftChamberPhysical eIoni - 5 -54.6 354 647 0.0158 0.0022 10.6 65.5 DriftChamberPhysical eIoni - 6 -58 352 646 0.01 0.000539 3.64 69.1 DriftChamberPhysical eIoni - 7 -60.6 349 647 0.00855 0.00148 4.63 73.7 DriftChamberPhysical eIoni - 8 -63.8 347 646 0.00703 0.00152 3.8 77.5 DriftChamberPhysical eIoni - 9 -65.9 345 647 0.00586 0.00117 3.1 80.6 DriftChamberPhysical eIoni - 10 -67.1 343 648 0.00474 0.00112 2.6 83.2 DriftChamberPhysical eIoni - 11 -68.4 342 649 0.0037 0.00105 2.17 85.4 DriftChamberPhysical eIoni - 12 -68.8 342 649 0.00174 0.000781 0.631 86 DriftChamberPhysical eIoni - 13 -68.7 341 649 0 0.00174 0.701 86.7 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -68.8 342 649 0.00118 0 0 0 DriftChamberPhysical initStep - 1 -69.1 342 649 0 0.00118 0.385 0.385 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -58 352 646 0.00518 0 0 0 DriftChamberPhysical initStep - 1 -58.3 354 644 0.003 0.00218 2.35 2.35 DriftChamberPhysical eIoni - 2 -59.6 354 644 0.000313 0.00269 1.48 3.83 DriftChamberPhysical eIoni - 3 -59.6 354 644 0 0.000313 0.0869 3.91 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -19.2 367 646 0.00114 0 0 0 DriftChamberPhysical initStep - 1 -19.2 367 645 0 0.00114 0.371 0.371 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -15.4 369 646 0.00175 0 0 0 DriftChamberPhysical initStep - 1 -15.2 368 646 0 0.00175 0.71 0.71 DriftChamberPhysical eIoni + 0 -0.00192 73.2 122 0.00629 0 0 0 DriftChamberPhysical initStep + 1 -2.65 73.4 122 0.00481 0.00148 2.77 2.77 DriftChamberPhysical eIoni + 2 -4.18 73.8 123 0.00314 0.00167 2.2 4.97 DriftChamberPhysical eIoni + 3 -5.25 74.1 124 0.00128 0.00185 1.55 6.51 DriftChamberPhysical eIoni + 4 -5.56 74.1 124 0 0.00128 0.44 6.95 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.179 356 594 0.00185 0 0 0 DriftChamberPhysical initStep - 1 -0.401 356 594 0 0.00185 0.776 0.776 DriftChamberPhysical eIoni + 0 4.96e-05 1.52 2.54 0.00186 0 0 0 WorldPhysical initStep + 1 0.0503 1.55 2.53 0 0.00186 0.14 0.14 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00303 16.9 28.2 0.00408 0 0 0 WorldPhysical initStep - 1 0.0304 16.7 28.3 0 0.00408 0.503 0.503 WorldPhysical eIoni + 0 1.5e-05 1.13 1.89 0.00217 0 0 0 WorldPhysical initStep + 1 -0.0142 1.07 1.93 0 0.00217 0.177 0.177 WorldPhysical eIoni >>> Event 0 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2199776224980807 (GeV) - 8 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6799308331758859 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000524 32.2 53.7 1e+03 0.00637 62.7 62.7 WorldPhysical hIoni - 2 0.0087 60 100 1e+03 0.0118 54 117 DriftChamberPhysical CoupledTransportation - 3 0.0538 282 470 1e+03 0.00984 431 548 DriftChamberPhysical hIoni - 4 0.0876 540 900 1e+03 0.0125 502 1.05e+03 WorldPhysical CoupledTransportation - 5 0.0877 541 901 1e+03 0.000179 1.37 1.05e+03 WorldPhysical hIoni - 6 0.0869 548 913 1e+03 0.00134 14.2 1.07e+03 WorldPhysical hIoni - 7 0.0869 548 914 1e+03 1.53e-05 0.308 1.07e+03 WorldPhysical hIoni - 8 0.0856 570 950 1e+03 0.00384 42.4 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 9 0.0856 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0869 548 914 0.00735 0 0 0 WorldPhysical initStep - 1 -0.109 547 913 0.00259 0.00476 1.33 1.33 WorldPhysical eIoni - 2 -0.0262 547 913 0 0.00259 0.235 1.56 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0869 548 913 0.0015 0 0 0 WorldPhysical initStep - 1 0.0973 548 913 0 0.0015 0.101 0.101 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0877 541 901 0.00112 0 0 0 WorldPhysical initStep - 1 0.0929 541 901 0 0.00112 0.0666 0.0666 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0538 282 470 0.00122 0 0 0 DriftChamberPhysical initStep - 1 0.195 282 470 0 0.00122 0.406 0.406 DriftChamberPhysical eIoni ->>> Event 1 6 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1399920124562748 (GeV) + Total energy deposition in EM calorimeter crytals : 0.1799882904123203 (GeV) 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.779955497970674 (GeV) + Total energy deposition in HAD calorimeter towers : 0.7599505595186855 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -1534,88 +2140,82 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 5.05e-05 2.12 3.54 1e+03 0.000413 4.13 4.13 WorldPhysical hIoni - 2 0.00694 48.8 81.3 1e+03 0.00962 90.7 94.9 WorldPhysical hIoni - 3 0.00644 53.5 89.2 1e+03 0.000823 9.2 104 WorldPhysical hIoni - 4 0.0059 60 100 1e+03 0.00134 12.6 117 DriftChamberPhysical CoupledTransportation - 5 0.0054 76.6 128 1e+03 0.0013 32.3 149 DriftChamberPhysical hIoni - 6 -0.0158 218 363 1e+03 0.00714 274 423 DriftChamberPhysical hIoni - 7 -0.0234 540 900 1e+03 0.0138 627 1.05e+03 WorldPhysical CoupledTransportation - 8 -0.0228 548 913 1e+03 0.0014 15.6 1.07e+03 WorldPhysical hIoni - 9 -0.0226 550 917 1e+03 0.000367 4.06 1.07e+03 WorldPhysical hIoni - 10 -0.0207 562 938 1e+03 0.00316 24.1 1.09e+03 WorldPhysical hIoni - 11 -0.0193 570 950 1e+03 0.00118 14.5 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 12 -0.0193 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0207 562 938 0.00107 0 0 0 WorldPhysical initStep - 1 -0.0266 562 938 0 0.00107 0.0633 0.0633 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0226 550 917 0.00369 0 0 0 WorldPhysical initStep - 1 -0.211 550 917 0 0.00369 0.426 0.426 WorldPhysical eIoni + 1 -0.00486 37.2 62 1e+03 0.0115 72.3 72.3 WorldPhysical hIoni + 2 -0.0274 60 100 1e+03 0.00644 44.3 117 DriftChamberPhysical CoupledTransportation + 3 -0.0864 116 193 1e+03 0.00151 109 225 DriftChamberPhysical hIoni + 4 -0.408 481 802 1e+03 0.0175 710 936 DriftChamberPhysical hIoni + 5 -0.422 506 843 1e+03 0.000659 47.2 983 DriftChamberPhysical hIoni + 6 -0.443 540 900 1e+03 0.00268 66.8 1.05e+03 WorldPhysical CoupledTransportation + 7 -0.444 542 904 1e+03 0.0003 4.19 1.05e+03 WorldPhysical hIoni + 8 -0.453 557 929 1e+03 0.00451 29.3 1.08e+03 WorldPhysical hIoni + 9 -0.458 570 950 1e+03 0.00478 24.8 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 10 -0.458 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0228 548 913 0.00185 0 0 0 WorldPhysical initStep - 1 -0.0349 548 913 0 0.00185 0.139 0.139 WorldPhysical eIoni + 0 -0.453 557 929 0.00139 0 0 0 WorldPhysical initStep + 1 -0.49 557 929 0 0.00139 0.0908 0.0908 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0158 218 363 0.00316 0 0 0 DriftChamberPhysical initStep - 1 -0.205 219 362 0.00177 0.00139 1.55 1.55 DriftChamberPhysical eIoni - 2 -0.372 219 362 0 0.00177 0.72 2.27 DriftChamberPhysical eIoni + 0 -0.444 542 904 0.00102 0 0 0 WorldPhysical initStep + 1 -0.427 542 904 0 0.00102 0.0594 0.0594 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0054 76.6 128 0.00155 0 0 0 DriftChamberPhysical initStep - 1 0.424 76.7 128 0 0.00155 0.586 0.586 DriftChamberPhysical eIoni + 0 -0.422 506 843 0.00159 0 0 0 DriftChamberPhysical initStep + 1 -0.496 505 843 0 0.00159 0.612 0.612 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00644 53.5 89.2 0.00158 0 0 0 WorldPhysical initStep - 1 -0.0333 53.5 89.2 0 0.00158 0.109 0.109 WorldPhysical eIoni + 0 -0.408 481 802 0.00298 0 0 0 DriftChamberPhysical initStep + 1 -0.886 481 803 0.00199 0.000986 1.47 1.47 DriftChamberPhysical eIoni + 2 -0.908 481 804 0 0.00199 0.872 2.35 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00694 48.8 81.3 0.00131 0 0 0 WorldPhysical initStep - 1 0.0398 48.8 81.4 0 0.00131 0.0838 0.0838 WorldPhysical eIoni + 0 -0.0864 116 193 0.00102 0 0 0 DriftChamberPhysical initStep + 1 -0.306 116 193 0 0.00102 0.318 0.318 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.05e-05 2.12 3.54 0.00207 0 0 0 WorldPhysical initStep - 1 -0.0685 2.11 3.55 0 0.00207 0.163 0.163 WorldPhysical eIoni ->>> Event 2 - 6 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1399920457735594 (GeV) + 0 -0.00486 37.2 62 0.0239 0 0 0 WorldPhysical initStep + 1 -2.93 35.4 63.1 0.0191 0.00486 4 4 WorldPhysical eIoni + 2 -5.15 37 63.6 0.0157 0.00336 3.12 7.12 WorldPhysical eIoni + 3 -7.18 36.7 64.5 0.0102 0.00552 2.6 9.72 WorldPhysical eIoni + 4 -7.71 36.5 65.6 0.00415 0.00502 1.38 11.1 WorldPhysical eIoni + 5 -7.54 36.4 65.7 0 0.00415 0.519 11.6 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -7.71 36.5 65.6 0.00101 0 0 0 WorldPhysical initStep + 1 -7.72 36.5 65.6 0 0.00101 0.0588 0.0588 WorldPhysical eIoni +>>> Event 1 + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2199820107875055 (GeV) 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7199590925497342 (GeV) + Total energy deposition in HAD calorimeter towers : 0.7199411262136545 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -1623,174 +2223,173 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.0038 19.3 32.2 1e+03 0.00916 37.5 37.5 WorldPhysical hIoni - 2 -0.00499 38.2 63.6 1e+03 0.00342 36.7 74.2 WorldPhysical hIoni - 3 -0.00212 60 100 1e+03 0.00671 42.4 117 DriftChamberPhysical CoupledTransportation - 4 0.0616 308 512 1e+03 0.00995 481 598 DriftChamberPhysical hIoni - 5 0.127 540 900 1e+03 0.00917 452 1.05e+03 WorldPhysical CoupledTransportation - 6 0.125 570 950 1e+03 0.00824 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 7 0.125 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0616 308 512 0.00148 0 0 0 DriftChamberPhysical initStep - 1 -0.0546 307 513 0 0.00148 0.544 0.544 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00499 38.2 63.6 0.00235 0 0 0 WorldPhysical initStep - 1 -0.0544 38.3 63.6 0 0.00235 0.199 0.199 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0038 19.3 32.2 0.0186 0 0 0 WorldPhysical initStep - 1 1.15 16.9 32.6 0.0146 0.00407 3.06 3.06 WorldPhysical eIoni - 2 2.96 16.3 33.5 0.0108 0.00373 2.43 5.5 WorldPhysical eIoni - 3 3.71 15 33.8 0.00628 0.00455 1.9 7.4 WorldPhysical eIoni - 4 4.12 14.9 34.1 0 0.00628 1.07 8.47 WorldPhysical eIoni ->>> Event 3 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2199847966887436 (GeV) - 12 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7599474794702052 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 15.1 25.2 1e+03 0.00224 29.4 29.4 WorldPhysical hIoni - 2 0.000259 60 100 1e+03 0.0125 87.3 117 DriftChamberPhysical CoupledTransportation - 3 -0.129 267 444 1e+03 0.00843 402 518 DriftChamberPhysical hIoni - 4 -0.171 355 592 1e+03 0.00375 172 690 DriftChamberPhysical hIoni - 5 -0.252 502 837 999 0.00552 286 976 DriftChamberPhysical hIoni - 6 -0.3 540 900 999 0.00077 73.6 1.05e+03 WorldPhysical CoupledTransportation - 7 -0.342 570 950 999 0.00593 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 8 -0.342 570 950 0 999 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 1 0 60 100 1e+03 0.0205 117 117 DriftChamberPhysical CoupledTransportation + 2 0.0289 184 306 1e+03 0.00453 241 357 DriftChamberPhysical hIoni + 3 0.0359 201 335 1e+03 0.000979 34 391 DriftChamberPhysical hIoni + 4 0.09 312 521 1e+03 0.00657 216 607 DriftChamberPhysical hIoni + 5 0.2 540 900 1e+03 0.0102 442 1.05e+03 WorldPhysical CoupledTransportation + 6 0.202 544 907 1e+03 0.000919 7.77 1.06e+03 WorldPhysical hIoni + 7 0.217 570 950 1e+03 0.00742 50.5 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 8 0.217 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.252 502 837 0.548 0 0 0 DriftChamberPhysical initStep - 1 37.1 485 900 0.547 0.00152 75.5 75.5 WorldPhysical CoupledTransportation - 2 59.9 471 964 0.538 0.00768 69.7 145 WorldPhysical eIoni - 3 66.6 468 982 0.522 0.00261 19.6 165 WorldPhysical eIoni - 4 69.3 464 994 0.519 0.00279 13.3 178 WorldPhysical eIoni - 5 70.7 463 1e+03 0.518 0.000551 5.98 184 Crystal CoupledTransportation - 6 70.7 463 1e+03 0.513 0.00506 0.0144 184 Crystal msc - 7 70.7 463 1e+03 0.512 0.00101 0.0144 184 Crystal msc - 8 70.7 463 1e+03 0.509 0.00366 0.0144 184 Crystal msc - 9 70.7 463 1e+03 0.504 0.00467 0.0144 184 Crystal msc - 10 70.7 463 1e+03 0.498 0.00605 0.0144 184 Crystal msc - 11 70.7 463 1e+03 0.49 0.00836 0.0144 184 Crystal msc - 12 70.7 463 1e+03 0.484 0.00589 0.0144 184 Crystal msc - 13 70.7 463 1e+03 0.475 0.0087 0.0144 184 Crystal msc - 14 70.7 463 1e+03 0.47 0.00553 0.016 184 Crystal msc - 15 70.7 463 1e+03 0.463 0.00641 0.0188 184 Crystal msc - 16 70.7 463 1e+03 0.448 0.0156 0.0213 184 Crystal msc - 17 70.7 463 1e+03 0.422 0.0253 0.0244 184 Crystal msc - 18 70.7 463 1e+03 0.408 0.0137 0.0279 184 Crystal msc - 19 70.7 463 1e+03 0.397 0.011 0.0318 184 Crystal msc - 20 70.7 463 1e+03 0.371 0.0267 0.0339 184 Crystal msc - 21 70.7 463 1e+03 0.349 0.0219 0.0391 184 Crystal msc - 22 70.7 463 1e+03 0.328 0.0205 0.0391 184 Crystal msc - 23 70.7 463 1e+03 0.224 0.104 0.0391 184 Crystal msc - 24 70.7 463 1e+03 0.166 0.0577 0.0391 184 Crystal msc - 25 70.7 463 1e+03 0.138 0.0279 0.0391 184 Crystal msc - 26 70.7 463 1e+03 0.0966 0.0417 0.0391 184 Crystal msc - 27 70.7 463 1e+03 0 0.0966 0.0561 185 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 66.6 468 982 0.0131 0 0 0 WorldPhysical initStep - 1 67.4 469 982 0.00934 0.00266 1.67 1.67 WorldPhysical eIoni - 2 67.7 470 981 0.00359 0.00575 1.68 3.35 WorldPhysical eIoni - 3 67.7 470 981 0 0.00359 0.405 3.76 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 67.4 469 982 0.0011 0 0 0 WorldPhysical initStep - 1 67.4 469 982 0 0.0011 0.0652 0.0652 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 59.9 471 964 0.00139 0 0 0 WorldPhysical initStep - 1 59.9 471 964 0 0.00139 0.0914 0.0914 WorldPhysical eIoni + 0 0.202 544 907 0.00869 0 0 0 WorldPhysical initStep + 1 0.546 543 907 0.00278 0.00591 1.57 1.57 WorldPhysical eIoni + 2 0.607 543 907 0 0.00278 0.262 1.84 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.171 355 592 0.00438 0 0 0 DriftChamberPhysical initStep - 1 1.16 355 592 0.00168 0.00137 1.45 1.45 DriftChamberPhysical eIoni - 2 1.44 356 592 0 0.00168 0.664 2.11 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.16 355 592 0.00132 0 0 0 DriftChamberPhysical initStep - 1 1.43 355 592 0 0.00132 0.46 0.46 DriftChamberPhysical eIoni + 0 0.09 312 521 0.00357 0 0 0 DriftChamberPhysical initStep + 1 -0.249 311 522 0.00255 0.00102 1.73 1.73 DriftChamberPhysical eIoni + 2 0.321 312 523 0.000569 0.00198 1.25 2.98 DriftChamberPhysical eIoni + 3 0.351 312 523 0 0.000569 0.151 3.13 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.129 267 444 0.015 0 0 0 DriftChamberPhysical initStep - 1 -7.6 269 446 0.0124 0.00262 8.03 8.03 DriftChamberPhysical eIoni - 2 -9.97 273 443 0.00976 0.00263 6.08 14.1 DriftChamberPhysical eIoni - 3 -10.8 276 439 0.00798 0.00178 4.47 18.6 DriftChamberPhysical eIoni - 4 -14 275 438 0.00643 0.00155 3.52 22.1 DriftChamberPhysical eIoni - 5 -16.2 275 437 0.00491 0.00152 2.83 24.9 DriftChamberPhysical eIoni - 6 -16.3 275 436 0.00381 4.87e-06 0.154 25.1 DriftChamberPhysical eIoni - 7 -17.6 276 436 0.00206 0.00175 1.83 26.9 DriftChamberPhysical eIoni - 8 -17.8 276 435 0.0017 0.000363 0.355 27.3 DriftChamberPhysical eIoni - 9 -18 276 435 0 0.0017 0.673 27.9 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -16.3 275 436 0.00109 0 0 0 DriftChamberPhysical initStep - 1 -16.2 275 436 0 0.00109 0.347 0.347 DriftChamberPhysical eIoni + 0 0.0359 201 335 0.00242 0 0 0 DriftChamberPhysical initStep + 1 0.703 202 335 0 0.00242 1.17 1.17 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 15.1 25.2 0.00118 0 0 0 WorldPhysical initStep - 1 -0.0265 15.1 25.2 0 0.00118 0.0716 0.0716 WorldPhysical eIoni ->>> Event 4 - 16 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.4202632093171089 (GeV) + 0 0.0289 184 306 0.00122 0 0 0 DriftChamberPhysical initStep + 1 0.0541 184 306 0 0.00122 0.411 0.411 DriftChamberPhysical eIoni +>>> Event 2 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2799812228096894 (GeV) + 8 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6399570807078614 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -0.000232 3.84 6.39 1e+03 0.000906 7.46 7.46 WorldPhysical hIoni + 2 -0.0281 60 100 1e+03 0.0179 109 117 DriftChamberPhysical CoupledTransportation + 3 -0.296 540 900 1e+03 0.0202 933 1.05e+03 WorldPhysical CoupledTransportation + 4 -0.32 570 950 1e+03 0.00772 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 5 -0.32 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.000232 3.84 6.39 0.0234 0 0 0 WorldPhysical initStep + 1 0.311 2.71 7.8 0.0217 0.00168 1.92 1.92 WorldPhysical msc + 2 1.06 1.68 8.37 0.0198 0.00187 1.45 3.37 WorldPhysical msc + 3 1.37 0.809 8.93 0.0162 0.00233 1.12 4.49 WorldPhysical eIoni + 4 2.38 -1.28 8.76 0.0121 0.00403 2.67 7.16 WorldPhysical eIoni + 5 2.42 -2.85 8.02 0.0086 0.00354 2.09 9.24 WorldPhysical eIoni + 6 1.67 -2.93 8.15 0.00512 0.00248 0.877 10.1 WorldPhysical eIoni + 7 1.35 -2.86 8.15 0 0.00512 0.749 10.9 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.67 -2.93 8.15 0.00101 0 0 0 WorldPhysical initStep + 1 1.67 -2.95 8.15 0 0.00101 0.0586 0.0586 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.37 0.809 8.93 0.00134 0 0 0 WorldPhysical initStep + 1 1.39 0.803 8.9 0 0.00134 0.0861 0.0861 WorldPhysical eIoni +>>> Event 3 + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2599817542234533 (GeV) 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.5596596275111184 (GeV) + Total energy deposition in HAD calorimeter towers : 0.6999508767554513 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -0.00065 6.13 10.2 1e+03 0.00159 11.9 11.9 WorldPhysical hIoni + 2 -0.00687 38.9 64.9 1e+03 0.00977 63.7 75.6 WorldPhysical hIoni + 3 -0.0166 60 100 1e+03 0.00534 41 117 DriftChamberPhysical CoupledTransportation + 4 -0.147 344 573 1e+03 0.0106 551 668 DriftChamberPhysical hIoni + 5 -0.197 540 900 1e+03 0.011 382 1.05e+03 WorldPhysical CoupledTransportation + 6 -0.197 542 904 1e+03 0.00019 4.52 1.05e+03 WorldPhysical hIoni + 7 -0.2 550 917 1e+03 0.0017 14.8 1.07e+03 WorldPhysical hIoni + 8 -0.206 564 940 1e+03 0.00415 27 1.1e+03 WorldPhysical hIoni + 9 -0.206 564 940 1e+03 6.75e-05 0.338 1.1e+03 WorldPhysical hIoni + 10 -0.209 570 950 1e+03 0.000727 11.6 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 11 -0.209 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.206 564 940 0.00388 0 0 0 WorldPhysical initStep + 1 -0.0151 564 940 0 0.00388 0.462 0.462 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.206 564 940 0.00126 0 0 0 WorldPhysical initStep + 1 -0.215 564 940 0 0.00126 0.0791 0.0791 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.2 550 917 0.00139 0 0 0 WorldPhysical initStep + 1 -0.165 550 917 0 0.00139 0.0905 0.0905 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.147 344 573 0.00275 0 0 0 DriftChamberPhysical initStep + 1 -1.18 344 572 4.62e-05 0.0027 1.36 1.36 DriftChamberPhysical eIoni + 2 -1.18 344 572 0 4.62e-05 0.0318 1.39 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00687 38.9 64.9 0.00462 0 0 0 WorldPhysical initStep + 1 0.204 38.8 65 0 0.00462 0.625 0.625 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00065 6.13 10.2 0.00131 0 0 0 WorldPhysical initStep + 1 -0.0275 6.15 10.2 0 0.00131 0.0836 0.0836 WorldPhysical eIoni +>>> Event 4 + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2199867096930024 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.7199565044498257 (GeV) number of event = 5 ### Run 5 start. @@ -1800,1853 +2399,235 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0169 104 104 DriftChamberPhysical CoupledTransportation - 2 0.00838 59.9 200 1e+03 0.00253 104 208 DriftChamberPhysical hIoni - 3 0.0221 157 522 1e+03 0.00933 336 545 DriftChamberPhysical hIoni - 4 0.0526 270 900 1e+03 0.00956 395 940 WorldPhysical CoupledTransportation - 5 0.0574 285 950 1e+03 0.00789 52.2 992 WorldPhysical G4FSMP_parallelGeom - 6 0.0574 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0221 157 522 0.00114 0 0 0 DriftChamberPhysical initStep - 1 -0.079 156 522 0 0.00114 0.369 0.369 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00838 59.9 200 0.00129 0 0 0 DriftChamberPhysical initStep - 1 0.0465 59.6 200 0 0.00129 0.441 0.441 DriftChamberPhysical eIoni ->>> Event 0 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999708171825183 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.939954280252612 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 8.39 28 1e+03 0.00456 29.2 29.2 WorldPhysical hIoni - 2 -0.00413 28.9 96.5 1e+03 0.0114 71.5 101 WorldPhysical hIoni - 3 -0.0043 30 100 1e+03 0.00129 3.67 104 DriftChamberPhysical CoupledTransportation - 4 -0.0171 59.7 199 1e+03 0.0042 103 208 DriftChamberPhysical hIoni - 5 -0.0533 156 521 1e+03 0.0096 336 544 DriftChamberPhysical hIoni - 6 -0.0607 270 900 1e+03 0.0112 396 940 WorldPhysical CoupledTransportation - 7 -0.0636 285 950 1e+03 0.00789 52.2 992 WorldPhysical G4FSMP_parallelGeom - 8 -0.0636 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0533 156 521 0.0058 0 0 0 DriftChamberPhysical initStep - 1 -2.42 157 520 0.00372 0.00208 2.57 2.57 DriftChamberPhysical eIoni - 2 -4.11 157 520 0.00182 0.00189 1.79 4.36 DriftChamberPhysical eIoni - 3 -4.19 156 521 0 0.00182 0.757 5.12 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0171 59.7 199 0.00136 0 0 0 DriftChamberPhysical initStep - 1 0.298 59.8 199 0 0.00136 0.48 0.48 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00413 28.9 96.5 0.00102 0 0 0 WorldPhysical initStep - 1 -0.0241 29 96.5 0 0.00102 0.0594 0.0594 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 8.39 28 0.00123 0 0 0 WorldPhysical initStep - 1 0.0175 8.37 28 0 0.00123 0.0758 0.0758 WorldPhysical eIoni ->>> Event 1 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.079995239637231 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9199452558281562 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -9.13e-05 3.43 11.4 1e+03 0.00182 11.9 11.9 WorldPhysical hIoni - 2 -0.00722 19 63.5 1e+03 0.0116 54.3 66.2 WorldPhysical hIoni - 3 -0.00856 27 90 1e+03 0.00379 27.7 93.9 WorldPhysical hIoni - 4 -0.00962 29.3 97.7 1e+03 0.000922 8.05 102 WorldPhysical hIoni - 5 -0.00997 30 100 1e+03 0.000242 2.43 104 DriftChamberPhysical CoupledTransportation - 6 -0.0705 131 436 1e+03 0.0107 351 455 DriftChamberPhysical hIoni - 7 -0.155 270 900 1e+03 0.012 485 940 WorldPhysical CoupledTransportation - 8 -0.161 285 950 1e+03 0.00794 52.2 992 WorldPhysical G4FSMP_parallelGeom - 9 -0.161 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + 1 -0.00661 17.2 57.3 1e+03 0.0084 59.8 59.8 WorldPhysical hIoni + 2 -0.0112 24.6 81.8 1e+03 0.0046 25.6 85.5 WorldPhysical hIoni + 3 -0.0128 26.9 89.6 1e+03 0.00119 8.1 93.6 WorldPhysical hIoni + 4 -0.0151 30 100 1e+03 0.00108 10.9 104 DriftChamberPhysical CoupledTransportation + 5 -0.133 248 827 1e+03 0.0195 759 863 DriftChamberPhysical hIoni + 6 -0.152 270 900 1e+03 0.00179 76.3 940 WorldPhysical CoupledTransportation + 7 -0.152 271 902 1e+03 0.000242 2.22 942 WorldPhysical hIoni + 8 -0.165 285 950 1e+03 0.00709 50 992 WorldPhysical G4FSMP_parallelGeom + 9 -0.165 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0705 131 436 0.00186 0 0 0 DriftChamberPhysical initStep - 1 0.505 131 436 0 0.00186 0.785 0.785 DriftChamberPhysical eIoni + 0 -0.152 271 902 0.00239 0 0 0 WorldPhysical initStep + 1 -0.202 270 902 0 0.00239 0.206 0.206 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00962 29.3 97.7 0.0011 0 0 0 WorldPhysical initStep - 1 -0.0357 29.3 97.7 0 0.0011 0.0656 0.0656 WorldPhysical eIoni + 0 -0.133 248 827 0.00126 0 0 0 DriftChamberPhysical initStep + 1 -0.0982 248 827 0 0.00126 0.429 0.429 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00856 27 90 0.0632 0 0 0 WorldPhysical initStep - 1 3.59 14.7 96.1 0.0532 0.01 16 16 WorldPhysical eIoni - 2 1.37 4.65 98.2 0.0468 0.00641 12.2 28.3 WorldPhysical eIoni - 3 0.357 0.489 100 0.043 0.0038 5.04 33.3 DriftChamberPhysical CoupledTransportation - 4 0.357 0.489 100 0.043 0 0 33.3 WorldPhysical CoupledTransportation - 5 5.68 -0.492 98.9 0.0388 0.00421 5.78 39.1 WorldPhysical msc - 6 10.3 0.908 96.3 0.0358 0.00298 5.78 44.9 WorldPhysical msc - 7 11.9 2.36 95 0.0322 0.000907 2.6 47.5 WorldPhysical eIoni - 8 14.9 4.53 91.1 0.0274 0.00488 5.78 53.2 WorldPhysical msc - 9 17.7 6.14 88.3 0.0185 0.00881 4.72 58 WorldPhysical eIoni - 10 17.7 6.23 87.6 0.0166 0.000685 0.709 58.7 WorldPhysical eIoni - 11 18.5 7.62 85.8 0.0139 0.00271 2.73 61.4 WorldPhysical eIoni - 12 17.8 8.65 84.8 0.0107 0.00175 1.75 63.2 WorldPhysical eIoni - 13 17.8 9.44 83.5 0.00542 0.00527 1.88 65 WorldPhysical eIoni - 14 17.5 9.63 83.7 0 0.00542 0.832 65.9 WorldPhysical eIoni + 0 -0.0128 26.9 89.6 0.00349 0 0 0 WorldPhysical initStep + 1 -0.183 26.9 89.6 0 0.00349 0.386 0.386 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 17.8 8.65 84.8 0.00143 0 0 0 WorldPhysical initStep - 1 17.8 8.69 84.8 0 0.00143 0.0946 0.0946 WorldPhysical eIoni + 0 -0.0112 24.6 81.8 0.00113 0 0 0 WorldPhysical initStep + 1 0.0132 24.6 81.8 0 0.00113 0.0684 0.0684 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00661 17.2 57.3 0.0014 0 0 0 WorldPhysical initStep + 1 0.0131 17.2 57.3 0 0.0014 0.0915 0.0915 WorldPhysical eIoni +>>> Event 0 + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.03999785716426733 (GeV) + 14 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9599485719424157 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 30 100 1e+03 0.0146 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.189 270 900 1e+03 0.0177 835 940 WorldPhysical CoupledTransportation + 3 -0.191 285 950 1e+03 0.009 52.2 992 WorldPhysical G4FSMP_parallelGeom + 4 -0.191 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom +>>> Event 1 + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.05999752008135274 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9399611479411929 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 30 100 1e+03 0.0174 104 104 DriftChamberPhysical CoupledTransportation + 2 0.0315 83.2 278 1e+03 0.00394 185 290 DriftChamberPhysical hIoni + 3 0.141 270 900 1e+03 0.0126 650 940 WorldPhysical CoupledTransportation + 4 0.153 283 944 1e+03 0.00658 46.4 986 WorldPhysical hIoni + 5 0.153 285 950 1e+03 0.000318 5.78 992 WorldPhysical G4FSMP_parallelGeom + 6 0.153 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.153 283 944 0.0237 0 0 0 WorldPhysical initStep + 1 3.68 283 945 0.0205 0.00318 3.95 3.95 WorldPhysical eIoni + 2 5.7 284 947 0.0175 0.00301 3.37 7.31 WorldPhysical eIoni + 3 6.07 283 949 0.0122 0.00527 2.87 10.2 WorldPhysical eIoni + 4 5.57 281 950 0.00813 0.00408 2.09 12.3 WorldPhysical eIoni + 5 5.28 282 949 0.00271 0.00542 1.48 13.8 WorldPhysical eIoni + 6 5.35 282 949 0 0.00271 0.252 14 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0315 83.2 278 0.00115 0 0 0 DriftChamberPhysical initStep + 1 -0.159 83.4 277 0 0.00115 0.375 0.375 DriftChamberPhysical eIoni +>>> Event 2 + 3 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.05999606296667736 (GeV) + 13 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.8999409445001604 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 30 100 1e+03 0.0185 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.00315 80.7 269 1e+03 0.00283 176 281 DriftChamberPhysical hIoni + 3 0.0198 270 900 1e+03 0.0164 659 940 WorldPhysical CoupledTransportation + 4 0.0204 276 919 1e+03 0.0019 20 960 WorldPhysical hIoni + 5 0.0221 285 950 1e+03 0.00315 32.2 992 WorldPhysical G4FSMP_parallelGeom + 6 0.0221 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0204 276 919 0.00189 0 0 0 WorldPhysical initStep + 1 -0.0105 276 919 0 0.00189 0.143 0.143 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00315 80.7 269 0.00157 0 0 0 DriftChamberPhysical initStep + 1 -0.429 80.8 269 0 0.00157 0.597 0.597 DriftChamberPhysical eIoni +>>> Event 3 + 1 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.01999907571329229 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9799547099513224 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -0.00221 13.6 45.5 1e+03 0.00877 47.5 47.5 WorldPhysical hIoni + 2 -0.00299 16.8 56 1e+03 0.00136 10.9 58.4 WorldPhysical hIoni + 3 -0.0061 24.8 82.8 1e+03 0.00643 28 86.4 WorldPhysical hIoni + 4 -0.00622 30 100 1e+03 0.0021 18 104 DriftChamberPhysical CoupledTransportation + 5 -0.00879 178 594 1e+03 0.0134 516 620 DriftChamberPhysical hIoni + 6 0.0703 270 900 1e+03 0.00905 319 940 WorldPhysical CoupledTransportation + 7 0.071 271 903 1e+03 0.000342 3.46 943 WorldPhysical hIoni + 8 0.0777 279 931 1e+03 0.00402 28.6 972 WorldPhysical hIoni + 9 0.0823 285 950 1e+03 0.00215 20.1 992 WorldPhysical G4FSMP_parallelGeom + 10 0.0823 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0777 279 931 0.00116 0 0 0 WorldPhysical initStep + 1 0.104 279 931 0 0.00116 0.0707 0.0707 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.071 271 903 0.00419 0 0 0 WorldPhysical initStep + 1 0.0737 271 903 0 0.00419 0.528 0.528 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00879 178 594 0.00631 0 0 0 DriftChamberPhysical initStep + 1 -1.72 176 595 0.00496 0.00135 2.78 2.78 DriftChamberPhysical eIoni + 2 -2.97 175 596 0.00249 0.00247 2.25 5.03 DriftChamberPhysical eIoni + 3 -3.36 174 597 0.000827 0.00166 1.21 6.25 DriftChamberPhysical eIoni + 4 -3.22 174 597 0 0.000827 0.238 6.48 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0061 24.8 82.8 0.0264 0 0 0 WorldPhysical initStep + 1 -2.94 27.6 82.1 0.0208 0.00562 4.49 4.49 WorldPhysical eIoni + 2 -5.69 28.9 82.4 0.0171 0.00365 3.41 7.9 WorldPhysical eIoni + 3 -7.56 30.1 83.4 0.0099 0.00719 2.81 10.7 WorldPhysical eIoni + 4 -8.91 30.2 83.7 0.00601 0.0039 1.76 12.5 WorldPhysical eIoni + 5 -9.03 30 83.8 0.00288 0.00165 0.28 12.8 WorldPhysical eIoni + 6 -9.08 29.9 83.9 0 0.00288 0.278 13 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 17.7 6.23 87.6 0.00127 0 0 0 WorldPhysical initStep - 1 17.7 6.2 87.6 0 0.00127 0.0793 0.0793 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.9 2.36 95 0.00266 0 0 0 WorldPhysical initStep - 1 12 2.26 95.1 0 0.00266 0.246 0.246 WorldPhysical eIoni + 0 -9.03 30 83.8 0.00148 0 0 0 WorldPhysical initStep + 1 -8.99 29.9 83.9 0 0.00148 0.0997 0.0997 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00722 19 63.5 0.111 0 0 0 WorldPhysical initStep - 1 -0.853 51 70.6 0.0979 0.0134 34.4 34.4 WorldPhysical eIoni - 2 -12.4 76 85 0.0847 0.0132 33.2 67.6 WorldPhysical eIoni - 3 -24.4 80.8 100 0.0759 0.00876 22.3 89.9 DriftChamberPhysical CoupledTransportation - 4 -40.6 108 222 0.0658 0.0101 128 218 DriftChamberPhysical eIoni - 5 -44.8 155 308 0.0562 0.00961 99.5 318 DriftChamberPhysical eIoni - 6 -41.9 157 321 0.0507 0.00122 13.1 331 DriftChamberPhysical eIoni - 7 -15.6 158 377 0.0452 0.00551 62.9 394 DriftChamberPhysical eIoni - 8 6.43 158 422 0.0405 0.00466 50.9 445 DriftChamberPhysical eIoni - 9 17.3 149 460 0.0334 0.00714 42.1 487 DriftChamberPhysical eIoni - 10 16.6 135 487 0.0295 0.00392 29.9 517 DriftChamberPhysical eIoni - 11 12.9 136 510 0.0238 0.00567 24.1 541 DriftChamberPhysical eIoni - 12 12.3 127 524 0.0217 0.00209 16.7 557 DriftChamberPhysical eIoni - 13 11.4 125 538 0.0196 0.00217 14.4 572 DriftChamberPhysical eIoni - 14 11.7 127 550 0.0158 0.00375 12.2 584 DriftChamberPhysical eIoni - 15 12.8 126 558 0.0132 0.00256 8.65 593 DriftChamberPhysical eIoni - 16 12.5 125 563 0.01 0.0017 5.01 598 DriftChamberPhysical eIoni - 17 12.6 121 565 0.00788 0.00217 4.64 602 DriftChamberPhysical eIoni - 18 11.9 119 567 0.00657 0.00131 3.48 606 DriftChamberPhysical eIoni - 19 11.2 117 570 0.00446 0.00211 2.89 609 DriftChamberPhysical eIoni - 20 11.9 116 571 0.0025 0.00196 2.06 611 DriftChamberPhysical eIoni - 21 12 116 572 0.000316 0.00218 1.22 612 DriftChamberPhysical eIoni - 22 12 116 572 0 0.000316 0.0875 612 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 12.5 125 563 0.00149 0 0 0 DriftChamberPhysical initStep - 1 12.3 125 563 0 0.00149 0.553 0.553 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -41.9 157 321 0.00431 0 0 0 DriftChamberPhysical initStep - 1 -42.9 159 321 0.00255 0.00176 2.01 2.01 DriftChamberPhysical eIoni - 2 -43.1 160 322 0 0.00255 1.25 3.26 DriftChamberPhysical eIoni + 0 -0.00299 16.8 56 0.00166 0 0 0 WorldPhysical initStep + 1 0.0376 16.8 56 0 0.00166 0.118 0.118 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -9.13e-05 3.43 11.4 0.00117 0 0 0 WorldPhysical initStep - 1 0.0223 3.41 11.4 0 0.00117 0.0713 0.0713 WorldPhysical eIoni ->>> Event 2 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999544643642492 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9797768753848208 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000938 18 60.2 1e+03 0.00659 62.8 62.8 WorldPhysical hIoni - 2 0.00101 18.2 60.6 1e+03 6.16e-05 0.422 63.3 WorldPhysical hIoni - 3 0.00921 30 100 1e+03 0.00504 41.1 104 DriftChamberPhysical CoupledTransportation - 4 0.0542 94 314 1e+03 0.00537 223 327 DriftChamberPhysical Decay - -********************************************************************************************************* -* G4Track Information: Particle = mu-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0542 94 314 583 0 0 0 DriftChamberPhysical initStep - 1 0.231 206 657 583 0.00886 361 361 DriftChamberPhysical muIoni - 2 0.396 284 900 583 0.00673 255 617 WorldPhysical CoupledTransportation - 3 0.469 317 1e+03 583 0.0138 105 722 Crystal CoupledTransportation - 4 0.981 328 1.04e+03 561 18.9 37.6 759 Crystal muIoni - 5 1.14 333 1.05e+03 544 8.5 16 775 Crystal muIoni - 6 1.71 343 1.09e+03 524 18.7 38.1 813 Crystal muIoni - 7 1.74 343 1.09e+03 523 0.326 0.581 814 Crystal muIoni - 8 2.53 348 1.11e+03 514 8.2 17.7 832 Crystal muIoni - 9 2.76 349 1.11e+03 510 3.44 5.72 837 Crystal muIoni - 10 2.92 350 1.11e+03 508 1.88 3.28 841 Crystal CoupledTransportation - 11 10.6 380 1.21e+03 455 51.9 102 942 Crystal muIoni - 12 11.1 382 1.22e+03 448 4.76 8.51 951 Crystal muIoni - 13 11.3 382 1.22e+03 444 2.5 4.83 956 Crystal muIoni - 14 12.2 388 1.26e+03 419 18.5 36.6 992 Crystal muIoni - 15 11.1 392 1.29e+03 401 17.4 33.3 1.03e+03 Crystal muIoni - 16 8.78 400 1.34e+03 378 22.8 45 1.07e+03 Crystal CoupledTransportation - 17 8.37 401 1.34e+03 372 3.06 4.82 1.08e+03 Crystal muIoni - 18 5.59 408 1.37e+03 356 14.7 26.9 1.1e+03 Crystal muIoni - 19 3.62 417 1.39e+03 332 13.5 28.3 1.13e+03 Crystal muIoni - 20 3.11 418 1.4e+03 329 2.39 5.61 1.14e+03 WorldPhysical CoupledTransportation - 21 -0.762 430 1.44e+03 329 0.00628 38.7 1.17e+03 WorldPhysical muIoni - 22 -3.74 438 1.47e+03 329 0.00358 29.8 1.2e+03 WorldPhysical muIoni - 23 -7.42 449 1.5e+03 329 0.00537 36.7 1.24e+03 HadCaloPhysical CoupledTransportation - 24 -12.7 464 1.55e+03 329 0.00739 52.6 1.29e+03 Tower CoupledTransportation - 25 -20.2 478 1.6e+03 268 61.1 51.7 1.35e+03 Tower muIoni - 26 -27.7 489 1.64e+03 218 50.1 41.1 1.39e+03 Tower muIoni - 27 -34.1 501 1.67e+03 181 36.9 32.4 1.42e+03 Tower muIoni - 28 -38 513 1.69e+03 152 29.3 26.1 1.45e+03 Tower muIoni - 29 -40.1 522 1.71e+03 127 24.4 21.1 1.47e+03 Tower muIoni - 30 -44.2 531 1.72e+03 106 21.2 17.1 1.48e+03 Tower muIoni - 31 -47.7 538 1.73e+03 89.4 16.7 13.6 1.5e+03 Tower muIoni - 32 -49.9 542 1.74e+03 75.4 14 11 1.51e+03 Tower muIoni - 33 -50 542 1.74e+03 74.8 0.647 0.41 1.51e+03 Tower CoupledTransportation - 34 -51.6 546 1.75e+03 61.4 13.4 8.89 1.52e+03 Tower muIoni - 35 -53.5 548 1.76e+03 51.3 10.1 7 1.52e+03 Tower muIoni - 36 -54.2 550 1.76e+03 42.6 8.72 5.69 1.53e+03 Tower muIoni - 37 -54.2 550 1.76e+03 41.8 0.785 0.44 1.53e+03 Tower CoupledTransportation - 38 -55.2 551 1.77e+03 34 7.77 4.53 1.54e+03 Tower muIoni - 39 -55.7 553 1.77e+03 26.1 7.89 3.66 1.54e+03 Tower muIoni - 40 -56 553 1.78e+03 19.4 6.73 2.87 1.54e+03 Tower muIoni - 41 -56.3 554 1.78e+03 12.1 7.25 2.25 1.54e+03 Tower muIoni - 42 -56.3 554 1.78e+03 4.69 7.46 1.54 1.55e+03 Tower muIoni - 43 -56.3 555 1.78e+03 0 4.69 0.35 1.55e+03 Tower muIoni - 44 -56.3 555 1.78e+03 0 0 0 1.55e+03 Tower Decay - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -56.3 555 1.78e+03 47.1 0 0 0 Tower initStep - 1 -56.3 555 1.78e+03 46 0.035 0.0266 0.0266 Tower eBrem - 2 -57.9 553 1.78e+03 40.2 2.33 2.12 2.15 Tower eBrem - 3 -58 553 1.78e+03 40.1 0.0922 0.114 2.26 Tower eBrem - 4 -59.9 552 1.78e+03 36.8 3.04 2.43 4.69 Tower eBrem - 5 -60 552 1.78e+03 36.6 0.151 0.165 4.85 Tower eBrem - 6 -60.4 552 1.78e+03 36 0.428 0.455 5.31 Tower eBrem - 7 -61.9 551 1.78e+03 34 1.82 1.73 7.04 Tower eBrem - 8 -63 551 1.78e+03 32.4 1.4 1.29 8.32 Tower eBrem - 9 -64.5 550 1.78e+03 30.1 2.28 1.68 10 Tower CoupledTransportation - 10 -64.7 550 1.78e+03 29.9 0.115 0.146 10.1 Tower eBrem - 11 -69.1 548 1.78e+03 18.8 9.96 4.82 15 Tower eBrem - 12 -70.5 547 1.78e+03 14.8 2.2 1.93 16.9 Tower eBrem - 13 -73.1 545 1.77e+03 9.84 4.93 4.11 21 Tower eIoni - 14 -72.5 544 1.77e+03 6.42 2.62 1.02 22 Tower eBrem - 15 -71.9 544 1.77e+03 5.19 0.764 0.827 22.8 Tower eBrem - 16 -71.3 543 1.78e+03 4.14 0.963 1.1 23.9 Tower eBrem - 17 -71.3 543 1.78e+03 2.12 2.02 2.13 26.1 Tower eIoni - 18 -71.2 542 1.78e+03 0.639 1.48 1.54 27.6 Tower eIoni - 19 -71.1 542 1.78e+03 0 0.639 0.447 28.1 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -71.3 543 1.78e+03 0.089 0 0 0 Tower initStep - 1 -69.3 543 1.78e+03 0.0674 0 2.81 2.81 Tower compt - 2 -69.7 543 1.78e+03 0 0.00711 0.708 3.52 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 39 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -69.7 543 1.78e+03 0.0603 0 0 0 Tower initStep - 1 -69.7 543 1.78e+03 0 0.0603 0.0116 0.0116 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 39 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -69.3 543 1.78e+03 0.0216 0 0 0 Tower initStep - 1 -69.3 543 1.78e+03 0 0.0216 0.00201 0.00201 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -71.9 544 1.77e+03 0.466 0 0 0 Tower initStep - 1 -53.2 529 1.79e+03 0.181 0 31 31 Tower compt - 2 -54.2 529 1.79e+03 0.107 0 2.33 33.3 Tower compt - 3 -50 532 1.8e+03 0.107 0 8.15 41.5 Tower CoupledTransportation - 4 -44.7 536 1.81e+03 0 0.00711 10.2 51.7 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 38 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -44.7 536 1.81e+03 0.0995 0 0 0 Tower initStep - 1 -44.7 536 1.81e+03 0 0.0995 0.0271 0.0271 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 38 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -54.2 529 1.79e+03 0.074 0 0 0 Tower initStep - 1 -54.2 529 1.79e+03 0 0.074 0.0165 0.0165 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 38 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -53.2 529 1.79e+03 0.286 0 0 0 Tower initStep - 1 -53.2 529 1.79e+03 0 0.286 0.144 0.144 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -72.5 544 1.77e+03 0.798 0 0 0 Tower initStep - 1 -50 521 1.78e+03 0.798 0 33.1 33.1 Tower CoupledTransportation - 2 -39.8 511 1.79e+03 0.551 0 15.1 48.2 Tower compt - 3 -33.5 487 1.78e+03 0.284 0 25.9 74.1 Tower compt - 4 -26.2 492 1.76e+03 0.201 0 17.2 91.4 Tower compt - 5 -19.3 498 1.77e+03 0.126 0 9.73 101 Tower compt - 6 -23.6 500 1.77e+03 0 0.00711 4.53 106 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 37 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -23.6 500 1.77e+03 0.119 0 0 0 Tower initStep - 1 -23.6 500 1.77e+03 0 0.119 0.0363 0.0363 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 37 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -19.3 498 1.77e+03 0.0747 0 0 0 Tower initStep - 1 -19.3 498 1.77e+03 0 0.0747 0.0167 0.0167 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 37 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -26.2 492 1.76e+03 0.083 0 0 0 Tower initStep - 1 -26.2 492 1.76e+03 0 0.083 0.0199 0.0199 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 37 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -33.5 487 1.78e+03 0.267 0 0 0 Tower initStep - 1 -33.5 487 1.78e+03 0 0.267 0.131 0.131 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 37 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -39.8 511 1.79e+03 0.247 0 0 0 Tower initStep - 1 -39.7 511 1.79e+03 0 0.247 0.115 0.115 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -70.5 547 1.78e+03 1.86 0 0 0 Tower initStep - 1 -86 539 1.77e+03 1.75 0 17.7 17.7 Tower compt - 2 -150 520 1.76e+03 1.75 0 67.5 85.2 Tower CoupledTransportation - 3 -188 509 1.76e+03 1.41 0 39.9 125 Tower compt - 4 -229 512 1.76e+03 0.466 0 41.3 166 Tower compt - 5 -229 511 1.76e+03 0.198 0 1.09 168 Tower compt - 6 -229 511 1.76e+03 0.126 0 0.404 168 Tower compt - 7 -232 507 1.75e+03 0 0.00711 7.39 175 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 36 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -232 507 1.75e+03 0.118 0 0 0 Tower initStep - 1 -232 507 1.75e+03 0 0.118 0.0359 0.0359 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 36 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -229 511 1.76e+03 0.0726 0 0 0 Tower initStep - 1 -229 511 1.76e+03 0 0.0726 0.016 0.016 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 36 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -229 511 1.76e+03 0.268 0 0 0 Tower initStep - 1 -229 511 1.76e+03 0 0.268 0.131 0.131 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 36 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -229 512 1.76e+03 0.944 0 0 0 Tower initStep - 1 -229 512 1.76e+03 0 0.944 0.734 0.734 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 36 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -188 509 1.76e+03 0.336 0 0 0 Tower initStep - 1 -188 509 1.76e+03 0 0.336 0.184 0.184 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 36 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86 539 1.77e+03 0.111 0 0 0 Tower initStep - 1 -86 539 1.77e+03 0 0.111 0.0324 0.0324 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -69.1 548 1.78e+03 1.08 0 0 0 Tower initStep - 1 -77.2 544 1.77e+03 0.99 0 9.67 9.67 Tower compt - 2 -150 487 1.75e+03 0.99 0 94.6 104 Tower CoupledTransportation - 3 -189 456 1.74e+03 0.277 0 50.1 154 Tower compt - 4 -187 456 1.74e+03 0.181 0 2.86 157 Tower compt - 5 -192 462 1.74e+03 0 0.00711 9.63 167 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -192 462 1.74e+03 0.174 0 0 0 Tower initStep - 1 -192 462 1.74e+03 0 0.174 0.0671 0.0671 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -187 456 1.74e+03 0.0957 0 0 0 Tower initStep - 1 -187 456 1.74e+03 0 0.0957 0.0253 0.0253 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -189 456 1.74e+03 0.713 0 0 0 Tower initStep - 1 -189 456 1.74e+03 0 0.713 0.516 0.516 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -77.2 544 1.77e+03 0.0917 0 0 0 Tower initStep - 1 -77.2 544 1.77e+03 0 0.0917 0.0236 0.0236 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -64.7 550 1.78e+03 0.116 0 0 0 Tower initStep - 1 -72.9 546 1.77e+03 0.0805 0 9.29 9.29 Tower compt - 2 -70.1 548 1.77e+03 0.0689 0 3.51 12.8 Tower compt - 3 -69 547 1.78e+03 0 0.00711 4.06 16.9 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 34 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -69 547 1.78e+03 0.0618 0 0 0 Tower initStep - 1 -69 547 1.78e+03 0 0.0618 0.0121 0.0121 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 34 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -70.1 548 1.77e+03 0.0116 0 0 0 Tower initStep - 1 -70.1 548 1.77e+03 0 0.0116 0.000707 0.000707 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 34 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -72.9 546 1.77e+03 0.0355 0 0 0 Tower initStep - 1 -72.9 546 1.77e+03 0 0.0355 0.00473 0.00473 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -63 551 1.78e+03 0.23 0 0 0 Tower initStep - 1 -64.6 550 1.78e+03 0.23 0 1.71 1.71 Tower CoupledTransportation - 2 -78.7 544 1.77e+03 0.213 0 15.6 17.3 Tower compt - 3 -86.6 545 1.78e+03 0.116 0 8.14 25.5 Tower compt - 4 -82.6 543 1.77e+03 0 0.00711 4.24 29.7 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -82.6 543 1.77e+03 0.109 0 0 0 Tower initStep - 1 -82.6 543 1.77e+03 0 0.109 0.0315 0.0315 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86.6 545 1.78e+03 0.096 0 0 0 Tower initStep - 1 -86.7 545 1.78e+03 0 0.096 0.0255 0.0255 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -78.7 544 1.77e+03 0.0174 0 0 0 Tower initStep - 1 -78.7 544 1.77e+03 0 0.0174 0.0014 0.0014 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 32, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -61.9 551 1.78e+03 0.216 0 0 0 Tower initStep - 1 -64.6 550 1.78e+03 0.216 0 3.15 3.15 Tower CoupledTransportation - 2 -82.5 542 1.77e+03 0.162 0 20.5 23.7 Tower compt - 3 -91.9 544 1.78e+03 0.102 0 16.1 39.8 Tower compt - 4 -90 539 1.77e+03 0 0.00711 10.6 50.4 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 32 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -90 539 1.77e+03 0.0951 0 0 0 Tower initStep - 1 -90 539 1.77e+03 0 0.0951 0.0251 0.0251 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 32 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -91.9 544 1.78e+03 0.0595 0 0 0 Tower initStep - 1 -91.9 544 1.78e+03 0 0.0595 0.0114 0.0114 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 32 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -82.5 542 1.77e+03 0.0542 0 0 0 Tower initStep - 1 -82.5 542 1.77e+03 0 0.0542 0.00973 0.00973 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -60.4 552 1.78e+03 0.137 0 0 0 Tower initStep - 1 -64.2 550 1.78e+03 0.137 0 4.37 4.37 Tower CoupledTransportation - 2 -65.2 549 1.78e+03 0.104 0 1.21 5.57 Tower compt - 3 -64.7 548 1.78e+03 0 0.00711 2.05 7.63 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 31 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -64.7 548 1.78e+03 0.0971 0 0 0 Tower initStep - 1 -64.7 548 1.78e+03 0 0.0971 0.026 0.026 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 31 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -65.2 549 1.78e+03 0.0327 0 0 0 Tower initStep - 1 -65.2 549 1.78e+03 0 0.0327 0.00409 0.00409 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -60 552 1.78e+03 0.0716 0 0 0 Tower initStep - 1 -61 552 1.78e+03 0 0.00711 1.06 1.06 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 30 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -61 552 1.78e+03 0.0645 0 0 0 Tower initStep - 1 -61 552 1.78e+03 0 0.0645 0.013 0.013 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -59.9 552 1.78e+03 0.212 0 0 0 Tower initStep - 1 -64.5 550 1.78e+03 0.212 0 5.2 5.2 Tower CoupledTransportation - 2 -68.3 548 1.78e+03 0.15 0 4.26 9.46 Tower compt - 3 -68.3 548 1.77e+03 0.147 0 0.316 9.77 Tower compt - 4 -68.7 550 1.77e+03 0.147 0 7.79 17.6 Tower CoupledTransportation - 5 -68.9 551 1.76e+03 0 0.00711 3.49 21.1 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 29 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -68.9 551 1.76e+03 0.139 0 0 0 Tower initStep - 1 -68.9 551 1.76e+03 0 0.139 0.0472 0.0472 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 29 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -68.3 548 1.77e+03 0.00339 0 0 0 Tower initStep - 1 -68.3 548 1.77e+03 0 0.00339 0.000101 0.000101 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 29 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -68.3 548 1.78e+03 0.0622 0 0 0 Tower initStep - 1 -68.3 548 1.78e+03 0 0.0622 0.0122 0.0122 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -58 553 1.78e+03 0.0753 0 0 0 Tower initStep - 1 -58.2 553 1.78e+03 0 0.00711 0.216 0.216 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 28 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -58.2 553 1.78e+03 0.0682 0 0 0 Tower initStep - 1 -58.2 553 1.78e+03 0 0.0682 0.0143 0.0143 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -57.9 553 1.78e+03 3.4 0 0 0 Tower initStep - 1 -62.3 550 1.78e+03 3.4 0 5.85 5.85 Tower CoupledTransportation - 2 -62.6 550 1.78e+03 0.369 0 0.433 6.28 Tower compt - 3 -62 547 1.79e+03 0.197 0 13.6 19.9 Tower compt - 4 -57.2 548 1.79e+03 0.177 0 4.93 24.8 Tower compt - 5 -50.1 550 1.79e+03 0.177 0 8.44 33.3 Tower CoupledTransportation - 6 -50 550 1.79e+03 0.177 0 0.164 33.4 Tower CoupledTransportation - 7 -46.5 551 1.79e+03 0.12 0 4.16 37.6 Tower compt - 8 -46.7 552 1.79e+03 0.104 0 1.29 38.9 Tower compt - 9 -43.6 555 1.79e+03 0.0827 0 4.41 43.3 Tower compt - 10 -42.2 552 1.79e+03 0 0.00711 2.92 46.2 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -42.2 552 1.79e+03 0.0756 0 0 0 Tower initStep - 1 -42.2 552 1.79e+03 0 0.0756 0.0171 0.0171 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -43.6 555 1.79e+03 0.021 0 0 0 Tower initStep - 1 -43.6 555 1.79e+03 0 0.021 0.00192 0.00192 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -46.7 552 1.79e+03 0.0159 0 0 0 Tower initStep - 1 -46.7 552 1.79e+03 0 0.0159 0.0012 0.0012 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -46.5 551 1.79e+03 0.0576 0 0 0 Tower initStep - 1 -46.5 551 1.79e+03 0 0.0576 0.0107 0.0107 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -57.2 548 1.79e+03 0.0195 0 0 0 Tower initStep - 1 -57.2 548 1.79e+03 0 0.0195 0.0017 0.0017 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -62 547 1.79e+03 0.172 0 0 0 Tower initStep - 1 -62 547 1.79e+03 0 0.172 0.0658 0.0658 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -62.6 550 1.78e+03 3.03 0 0 0 Tower initStep - 1 -62.7 550 1.78e+03 2.98 0.0492 0.0637 0.0637 Tower msc - 2 -62.7 550 1.78e+03 2.93 0.056 0.0637 0.127 Tower msc - 3 -62.8 550 1.78e+03 2.81 0.113 0.0637 0.191 Tower msc - 4 -62.8 550 1.78e+03 2.76 0.0519 0.0637 0.255 Tower msc - 5 -62.9 550 1.78e+03 2.69 0.0754 0.0673 0.322 Tower msc - 6 -62.9 550 1.78e+03 2.59 0.0909 0.0673 0.389 Tower msc - 7 -63 550 1.78e+03 2.48 0.118 0.0673 0.457 Tower msc - 8 -63 550 1.78e+03 2.39 0.0831 0.0673 0.524 Tower msc - 9 -63 550 1.78e+03 2.34 0.0487 0.0673 0.591 Tower msc - 10 -63.1 550 1.78e+03 2.28 0.0604 0.0673 0.659 Tower msc - 11 -63.1 550 1.78e+03 2.23 0.0553 0.0673 0.726 Tower msc - 12 -63.1 550 1.78e+03 2.19 0.0428 0.0673 0.793 Tower msc - 13 -63.2 550 1.78e+03 2.13 0.0588 0.0673 0.86 Tower msc - 14 -63.2 550 1.78e+03 1.95 0.176 0.0673 0.928 Tower msc - 15 -63.3 550 1.78e+03 1.88 0.0689 0.0673 0.995 Tower msc - 16 -63.3 550 1.78e+03 1.77 0.113 0.0673 1.06 Tower msc - 17 -63.3 550 1.78e+03 1.71 0.0582 0.0673 1.13 Tower msc - 18 -63.4 550 1.78e+03 1.65 0.0604 0.0673 1.2 Tower msc - 19 -63.4 550 1.78e+03 1.55 0.0991 0.0673 1.26 Tower msc - 20 -63.5 550 1.78e+03 1.41 0.144 0.0792 1.34 Tower msc - 21 -63.5 550 1.78e+03 1.34 0.071 0.083 1.43 Tower msc - 22 -63.5 550 1.78e+03 1.24 0.0954 0.0956 1.52 Tower msc - 23 -63.5 550 1.78e+03 1.12 0.122 0.0956 1.62 Tower msc - 24 -63.5 550 1.78e+03 1.04 0.0813 0.0956 1.71 Tower msc - 25 -63.5 550 1.78e+03 0.941 0.0968 0.0956 1.81 Tower msc - 26 -63.6 550 1.78e+03 0.875 0.0658 0.0956 1.9 Tower msc - 27 -63.7 550 1.78e+03 0.783 0.0921 0.0956 2 Tower msc - 28 -63.7 550 1.78e+03 0.7 0.0828 0.0956 2.1 Tower msc - 29 -63.8 550 1.78e+03 0.625 0.0756 0.0956 2.19 Tower msc - 30 -63.7 550 1.78e+03 0.536 0.0889 0.0956 2.29 Tower msc - 31 -63.7 550 1.78e+03 0.352 0.00945 0.0123 2.3 Tower eBrem - 32 -63.7 550 1.78e+03 0 0.352 0.196 2.49 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -63.7 550 1.78e+03 0.175 0 0 0 Tower initStep - 1 -59.4 547 1.77e+03 0 0.00711 8.09 8.09 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 83 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -59.4 547 1.77e+03 0.168 0 0 0 Tower initStep - 1 -59.4 547 1.77e+03 0 0.168 0.0631 0.0631 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 25 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -56.3 555 1.78e+03 1.08 0 0 0 Tower initStep - 1 -57.7 553 1.78e+03 1 0 2.03 2.03 Tower compt - 2 -57.8 553 1.78e+03 0.5 0 0.0792 2.11 Tower compt - 3 -62.9 553 1.78e+03 0.471 0 5.86 7.97 Tower compt - 4 -71.1 550 1.78e+03 0.471 0 8.69 16.7 Tower CoupledTransportation - 5 -79.2 547 1.78e+03 0.28 0 8.69 25.3 Tower compt - 6 -80 548 1.78e+03 0.205 0 1.32 26.7 Tower compt - 7 -80.1 549 1.78e+03 0 0.00711 0.946 27.6 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -80.1 549 1.78e+03 0.198 0 0 0 Tower initStep - 1 -80.1 549 1.78e+03 0 0.198 0.0826 0.0826 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -80 548 1.78e+03 0.0744 0 0 0 Tower initStep - 1 -80 548 1.78e+03 0 0.0744 0.0166 0.0166 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -79.2 547 1.78e+03 0.191 0 0 0 Tower initStep - 1 -79.2 547 1.78e+03 0 0.191 0.0777 0.0777 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -62.9 553 1.78e+03 0.0292 0 0 0 Tower initStep - 1 -62.9 553 1.78e+03 0 0.0292 0.00337 0.00337 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -57.8 553 1.78e+03 0.503 0 0 0 Tower initStep - 1 -57.8 553 1.78e+03 0 0.503 0.325 0.325 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -57.7 553 1.78e+03 0.0782 0 0 0 Tower initStep - 1 -57.7 553 1.78e+03 0 0.0782 0.018 0.018 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = anti_nu_e, Track ID = 24, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -56.3 555 1.78e+03 35.1 0 0 0 Tower initStep - 1 -50 557 1.78e+03 35.1 0 6.72 6.72 Tower CoupledTransportation - 2 50 590 1.79e+03 35.1 0 106 113 Tower CoupledTransportation - 3 150 623 1.81e+03 35.1 0 106 219 Tower CoupledTransportation - 4 231 650 1.82e+03 35.1 0 86.4 305 Tower CoupledTransportation - 5 250 656 1.82e+03 35.1 0 19.8 325 Tower CoupledTransportation - 6 350 689 1.83e+03 35.1 0 106 431 Tower CoupledTransportation - 7 450 722 1.85e+03 35.1 0 106 538 Tower CoupledTransportation - 8 533 750 1.86e+03 35.1 0 88.1 626 Tower CoupledTransportation - 9 550 756 1.86e+03 35.1 0 18 644 Tower CoupledTransportation - 10 650 789 1.87e+03 35.1 0 106 750 Tower CoupledTransportation - 11 750 822 1.88e+03 35.1 0 106 856 Tower CoupledTransportation - 12 835 850 1.9e+03 35.1 0 89.9 946 Tower CoupledTransportation - 13 850 855 1.9e+03 35.1 0 16.3 962 Tower CoupledTransportation - 14 950 888 1.91e+03 35.1 0 106 1.07e+03 Tower CoupledTransportation - 15 1.05e+03 921 1.92e+03 35.1 0 106 1.17e+03 Tower CoupledTransportation - 16 1.14e+03 950 1.94e+03 35.1 0 91.6 1.27e+03 Tower CoupledTransportation - 17 1.15e+03 955 1.94e+03 35.1 0 14.6 1.28e+03 HadCaloPhysical CoupledTransportation - 18 1.25e+03 988 1.95e+03 35.1 0 106 1.39e+03 WorldPhysical CoupledTransportation - 19 4e+03 1.9e+03 2.31e+03 35.1 0 2.92e+03 4.31e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = nu_mu, Track ID = 23, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -56.3 555 1.78e+03 22.4 0 0 0 Tower initStep - 1 -56.4 650 1.88e+03 22.4 0 137 137 Tower CoupledTransportation - 2 -56.4 750 1.98e+03 22.4 0 144 281 Tower CoupledTransportation - 3 -56.4 850 2.08e+03 22.4 0 144 425 Tower CoupledTransportation - 4 -56.5 950 2.19e+03 22.4 0 144 569 Tower CoupledTransportation - 5 -56.5 1.05e+03 2.29e+03 22.4 0 144 713 Tower CoupledTransportation - 6 -56.5 1.15e+03 2.39e+03 22.4 0 144 856 HadCaloPhysical CoupledTransportation - 7 -56.6 1.25e+03 2.5e+03 22.4 0 144 1e+03 WorldPhysical CoupledTransportation - 8 -57 2.7e+03 4e+03 22.4 0 2.09e+03 3.09e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.74 438 1.47e+03 0.0231 0 0 0 WorldPhysical initStep - 1 -1.48 440 1.47e+03 0.0184 0.00473 3.84 3.84 WorldPhysical eIoni - 2 0.541 440 1.47e+03 0.0146 0.00376 3.02 6.86 WorldPhysical eIoni - 3 0.967 438 1.47e+03 0.0101 0.00449 2.44 9.3 WorldPhysical eIoni - 4 -0.161 437 1.47e+03 0.00389 0.00622 1.8 11.1 WorldPhysical eIoni - 5 -0.134 437 1.47e+03 0 0.00389 0.465 11.6 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.762 430 1.44e+03 0.00106 0 0 0 WorldPhysical initStep - 1 -0.749 430 1.44e+03 0 0.00106 0.0624 0.0624 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.62 417 1.39e+03 11.1 0 0 0 Crystal initStep - 1 3.68 417 1.4e+03 10.5 0.52 0.816 0.816 Crystal eBrem - 2 3.25 417 1.4e+03 9.79 0.704 1.62 2.44 Crystal msc - 3 3.36 417 1.4e+03 9.07 0.718 1.62 4.06 Crystal msc - 4 3.54 416 1.4e+03 8.85 0.132 0.299 4.36 Crystal eBrem - 5 4.39 416 1.4e+03 7.96 0.895 1.62 5.98 Crystal msc - 6 4.46 416 1.4e+03 7.91 0.0453 0.107 6.09 WorldPhysical CoupledTransportation - 7 73 384 1.48e+03 7.89 0.0194 113 119 WorldPhysical eIoni - 8 86.5 377 1.5e+03 7.89 0.00722 21.9 141 HadCaloPhysical CoupledTransportation - 9 128 357 1.55e+03 7.87 0.0158 67.8 209 Tower CoupledTransportation - 10 128 357 1.55e+03 7.4 0.473 0.395 209 Tower msc - 11 128 357 1.55e+03 7.09 0.302 0.395 210 Tower msc - 12 129 357 1.55e+03 6.74 0.357 0.395 210 Tower msc - 13 129 357 1.55e+03 6.28 0.456 0.395 211 Tower msc - 14 129 357 1.55e+03 5.88 0.401 0.395 211 Tower msc - 15 129 357 1.55e+03 4.99 0.888 0.395 211 Tower msc - 16 129 356 1.55e+03 3.64 0.233 0.175 211 Tower eBrem - 17 129 356 1.55e+03 3.27 0.366 0.395 212 Tower msc - 18 129 356 1.55e+03 2.91 0.364 0.395 212 Tower msc - 19 129 355 1.55e+03 2.51 0.397 0.395 213 Tower msc - 20 129 355 1.55e+03 2.16 0.355 0.395 213 Tower msc - 21 129 355 1.55e+03 1.5 0.31 0.121 213 Tower eBrem - 22 129 355 1.55e+03 1.17 0.33 0.395 214 Tower msc - 23 129 355 1.55e+03 0.792 0.376 0.395 214 Tower msc - 24 129 355 1.55e+03 0 0.792 0.589 215 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 20 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 129 355 1.55e+03 0.349 0 0 0 Tower initStep - 1 122 352 1.56e+03 0.175 0 12.4 12.4 Tower compt - 2 126 355 1.56e+03 0.109 0 4.46 16.9 Tower compt - 3 125 354 1.56e+03 0 0.00711 1.12 18 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 95 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 125 354 1.56e+03 0.101 0 0 0 Tower initStep - 1 125 354 1.56e+03 0 0.101 0.028 0.028 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 95 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 126 355 1.56e+03 0.0669 0 0 0 Tower initStep - 1 126 355 1.56e+03 0 0.0669 0.0139 0.0139 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 95 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 122 352 1.56e+03 0.174 0 0 0 Tower initStep - 1 122 352 1.56e+03 0 0.174 0.0669 0.0669 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 20 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 129 356 1.55e+03 1.12 0 0 0 Tower initStep - 1 129 356 1.55e+03 1.12 0 0.603 0.603 HadCaloPhysical CoupledTransportation - 2 106 304 1.5e+03 1.12 0 75.8 76.4 WorldPhysical CoupledTransportation - 3 61.2 199 1.4e+03 1.12 0 152 228 Crystal CoupledTransportation - 4 61.2 199 1.4e+03 0.349 0 0.165 228 Crystal compt - 5 61.5 199 1.4e+03 0.203 0 0.932 229 Crystal compt - 6 60.7 197 1.4e+03 0 0.036 2.69 232 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 94 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 60.7 197 1.4e+03 0.167 0 0 0 Crystal initStep - 1 60.7 197 1.4e+03 0 0.167 0.136 0.136 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 94 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 61.5 199 1.4e+03 0.145 0 0 0 Crystal initStep - 1 61.5 199 1.4e+03 0 0.145 0.109 0.109 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 94 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 61.2 199 1.4e+03 0.772 0 0 0 Crystal initStep - 1 61.2 199 1.4e+03 0.761 0.0111 0.0271 0.0271 Crystal msc - 2 61.2 199 1.4e+03 0.753 0.00782 0.0271 0.0543 Crystal msc - 3 61.2 199 1.4e+03 0.746 0.00656 0.0271 0.0814 Crystal msc - 4 61.1 199 1.4e+03 0.736 0.0108 0.0271 0.109 Crystal msc - 5 61.1 199 1.4e+03 0.721 0.0148 0.0271 0.136 Crystal msc - 6 61.1 199 1.4e+03 0.714 0.00646 0.0271 0.163 Crystal msc - 7 61.1 199 1.4e+03 0.701 0.0134 0.0295 0.192 Crystal msc - 8 61.1 199 1.4e+03 0.693 0.00737 0.0295 0.222 Crystal msc - 9 61.1 199 1.4e+03 0.681 0.0122 0.0295 0.251 Crystal msc - 10 61 199 1.4e+03 0.678 0.00348 0.0295 0.281 Crystal msc - 11 61 199 1.4e+03 0.661 0.0168 0.0295 0.31 Crystal msc - 12 61 199 1.4e+03 0.654 0.00682 0.0295 0.34 Crystal msc - 13 61 199 1.4e+03 0.647 0.0068 0.0295 0.369 Crystal msc - 14 61 199 1.4e+03 0.635 0.0126 0.0295 0.399 Crystal msc - 15 61 199 1.4e+03 0.624 0.0111 0.0318 0.43 Crystal msc - 16 61 199 1.4e+03 0.61 0.014 0.0357 0.466 Crystal msc - 17 61 199 1.4e+03 0.597 0.0127 0.0419 0.508 Crystal msc - 18 60.9 199 1.4e+03 0.579 0.0183 0.0442 0.552 Crystal msc - 19 60.9 199 1.4e+03 0.553 0.026 0.0478 0.6 Crystal msc - 20 60.9 199 1.4e+03 0.536 0.017 0.0486 0.649 Crystal msc - 21 60.8 199 1.4e+03 0.511 0.0245 0.0529 0.701 Crystal msc - 22 60.9 199 1.4e+03 0.473 0.0381 0.0529 0.754 Crystal msc - 23 60.9 199 1.4e+03 0.442 0.0309 0.0529 0.807 Crystal msc - 24 60.9 199 1.4e+03 0.419 0.0231 0.0529 0.86 Crystal msc - 25 60.9 199 1.4e+03 0.406 0.0134 0.0529 0.913 Crystal msc - 26 60.9 199 1.4e+03 0.365 0.0406 0.0529 0.966 Crystal msc - 27 60.9 198 1.4e+03 0.35 0.015 0.0529 1.02 Crystal msc - 28 61 198 1.4e+03 0.324 0.0263 0.0532 1.07 Crystal msc - 29 61 198 1.4e+03 0.294 0.0296 0.0555 1.13 Crystal msc - 30 61 198 1.4e+03 0.259 0.0357 0.0555 1.18 Crystal msc - 31 61 198 1.4e+03 0.226 0.0328 0.057 1.24 Crystal msc - 32 60.9 198 1.4e+03 0 0.226 0.216 1.46 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 20 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 73 384 1.48e+03 0.00314 0 0 0 WorldPhysical initStep - 1 73.1 384 1.48e+03 0 0.00314 0.321 0.321 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 20 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.54 416 1.4e+03 0.0829 0 0 0 Crystal initStep - 1 3.76 416 1.4e+03 0 0.0332 0.336 0.336 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 92 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.76 416 1.4e+03 0.0498 0 0 0 Crystal initStep - 1 3.76 416 1.4e+03 0 0.0498 0.0186 0.0186 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 20 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.68 417 1.4e+03 0.045 0 0 0 Crystal initStep - 1 3.67 417 1.4e+03 0 0.036 0.1 0.1 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 91 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.67 417 1.4e+03 0.00898 0 0 0 Crystal initStep - 1 3.67 417 1.4e+03 0 0.00898 0.00112 0.00112 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.59 408 1.37e+03 0.86 0 0 0 Crystal initStep - 1 5.45 408 1.37e+03 0.385 0.269 0.177 0.177 Crystal eBrem - 2 5.4 408 1.37e+03 0 0.385 0.476 0.653 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.45 408 1.37e+03 0.206 0 0 0 Crystal initStep - 1 6.92 408 1.37e+03 0 0.036 1.5 1.5 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 104 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 6.92 408 1.37e+03 0.17 0 0 0 Crystal initStep - 1 6.93 408 1.37e+03 0 0.17 0.139 0.139 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.37 401 1.34e+03 3.52 0 0 0 Crystal initStep - 1 8.5 401 1.34e+03 3.39 0.13 0.268 0.268 Crystal msc - 2 8.55 401 1.34e+03 2.86 0.103 0.23 0.498 Crystal eBrem - 3 8.67 401 1.34e+03 2.64 0.217 0.268 0.765 Crystal msc - 4 8.72 401 1.34e+03 1.77 0.0557 0.135 0.901 Crystal eIoni - 5 8.92 401 1.34e+03 1.65 0.118 0.268 1.17 Crystal msc - 6 9.11 401 1.34e+03 1.54 0.115 0.268 1.44 Crystal msc - 7 8.94 401 1.34e+03 1.41 0.122 0.268 1.7 Crystal msc - 8 8.8 401 1.34e+03 1.3 0.11 0.268 1.97 Crystal msc - 9 8.68 400 1.34e+03 1.18 0.12 0.268 2.24 Crystal msc - 10 8.53 400 1.34e+03 1.08 0.0995 0.268 2.51 Crystal msc - 11 8.68 400 1.34e+03 0.966 0.118 0.268 2.78 Crystal msc - 12 8.79 401 1.34e+03 0.853 0.113 0.268 3.04 Crystal msc - 13 8.96 400 1.34e+03 0.673 0.18 0.268 3.31 Crystal msc - 14 8.79 400 1.34e+03 0.54 0.133 0.268 3.58 Crystal msc - 15 8.65 400 1.34e+03 0.407 0.133 0.268 3.85 Crystal msc - 16 8.65 400 1.34e+03 0.233 0.174 0.268 4.12 Crystal msc - 17 8.67 400 1.34e+03 0 0.233 0.227 4.34 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 18 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.72 401 1.34e+03 0.817 0 0 0 Crystal initStep - 1 8.67 401 1.34e+03 0.442 0.0579 0.142 0.142 Crystal eBrem - 2 8.63 401 1.34e+03 0 0.442 0.576 0.719 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 107 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.67 401 1.34e+03 0.317 0 0 0 Crystal initStep - 1 8.86 400 1.35e+03 0.317 0 2.98 2.98 Crystal CoupledTransportation - 2 9.9 394 1.36e+03 0.264 0 16.4 19.4 Crystal compt - 3 10.2 394 1.36e+03 0 0.036 0.682 20.1 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 108 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 10.2 394 1.36e+03 0.228 0 0 0 Crystal initStep - 1 10.2 394 1.36e+03 0 0.228 0.22 0.22 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 108 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.9 394 1.36e+03 0.0527 0 0 0 Crystal initStep - 1 9.9 394 1.36e+03 0 0.0527 0.0205 0.0205 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 18 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.55 401 1.34e+03 0.425 0 0 0 Crystal initStep - 1 28.4 402 1.37e+03 0.224 0 31.1 31.1 Crystal compt - 2 28.4 402 1.37e+03 0 0.0332 0.0703 31.2 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 106 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 28.4 402 1.37e+03 0.191 0 0 0 Crystal initStep - 1 28.4 402 1.37e+03 0 0.191 0.168 0.168 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 106 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 28.4 402 1.37e+03 0.2 0 0 0 Crystal initStep - 1 28.4 402 1.37e+03 0 0.2 0.18 0.18 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.1 392 1.29e+03 0.833 0 0 0 Crystal initStep - 1 11.2 392 1.29e+03 0 0.833 1.26 1.26 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 12.2 388 1.26e+03 6.32 0 0 0 Crystal initStep - 1 12.4 388 1.26e+03 5.46 0.211 0.47 0.47 Crystal eBrem - 2 12.4 388 1.26e+03 4.85 0.0115 0.064 0.534 Crystal eBrem - 3 14.7 388 1.26e+03 3.36 1.49 3.33 3.86 Crystal eIoni - 4 13.8 388 1.26e+03 2.18 1.17 2.72 6.58 Crystal eIoni - 5 12.7 389 1.26e+03 0.192 1.99 2.19 8.77 Crystal eIoni - 6 12.7 389 1.26e+03 0 0.192 0.168 8.94 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 16 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 12.4 388 1.26e+03 0.599 0 0 0 Crystal initStep - 1 12.6 388 1.26e+03 0.381 0 0.354 0.354 Crystal compt - 2 6.35 378 1.28e+03 0 0.0332 19.8 20.2 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 114 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 6.35 378 1.28e+03 0.347 0 0 0 Crystal initStep - 1 6.29 378 1.28e+03 0.0172 0.33 0.393 0.393 Crystal eBrem - 2 6.29 378 1.28e+03 0 0.0172 0.00318 0.397 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 114 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 12.6 388 1.26e+03 0.218 0 0 0 Crystal initStep - 1 12.6 388 1.26e+03 0 0.218 0.205 0.205 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 113, Parent ID = 16 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 12.4 388 1.26e+03 0.652 0 0 0 Crystal initStep - 1 15.5 387 1.27e+03 0 0.0332 8.35 8.35 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 113 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 15.5 387 1.27e+03 0.619 0 0 0 Crystal initStep - 1 15.6 387 1.27e+03 0 0.619 0.905 0.905 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.3 382 1.22e+03 0.98 0 0 0 Crystal initStep - 1 11.2 383 1.22e+03 0.115 0.658 1.14 1.14 Crystal eBrem - 2 11.2 383 1.22e+03 0 0.115 0.0745 1.21 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 15 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.2 383 1.22e+03 0.207 0 0 0 Crystal initStep - 1 10.7 383 1.22e+03 0 0.036 0.521 0.521 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 118 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 10.7 383 1.22e+03 0.171 0 0 0 Crystal initStep - 1 10.7 383 1.22e+03 0.0039 0.116 0.0444 0.0444 Crystal eBrem - 2 10.7 383 1.22e+03 0 0.0039 0.000319 0.0448 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 119 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 10.7 383 1.22e+03 0.0511 0 0 0 Crystal initStep - 1 10.7 383 1.22e+03 0 0.036 0.0784 0.0784 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 120 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 10.7 383 1.22e+03 0.0151 0 0 0 Crystal initStep - 1 10.7 383 1.22e+03 0 0.0151 0.00257 0.00257 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.1 382 1.22e+03 2.43 0 0 0 Crystal initStep - 1 11.5 383 1.22e+03 1.41 0.948 2 2 Crystal eBrem - 2 12.2 383 1.22e+03 0.445 0.967 1.76 3.76 Crystal eIoni - 3 12.2 383 1.22e+03 0 0.445 0.581 4.35 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 14 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.5 383 1.22e+03 0.0736 0 0 0 Crystal initStep - 1 12 382 1.22e+03 0 0.0332 0.877 0.877 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 122 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 12 382 1.22e+03 0.0405 0 0 0 Crystal initStep - 1 12 382 1.22e+03 0 0.0405 0.0131 0.0131 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 10.6 380 1.21e+03 0.983 0 0 0 Crystal initStep - 1 10.7 380 1.21e+03 0.271 0.713 1.43 1.43 Crystal eIoni - 2 10.8 380 1.21e+03 0 0.271 0.285 1.71 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.76 349 1.11e+03 0.769 0 0 0 Crystal initStep - 1 2.77 349 1.11e+03 0.692 0.0766 0.218 0.218 Crystal msc - 2 2.89 349 1.11e+03 0.596 0.096 0.218 0.435 Crystal msc - 3 2.87 349 1.11e+03 0.483 0.113 0.218 0.653 Crystal msc - 4 2.9 349 1.11e+03 0 0.483 0.651 1.3 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.53 348 1.11e+03 0.924 0 0 0 Crystal initStep - 1 2.44 348 1.11e+03 0.245 0.679 1.37 1.37 Crystal eIoni - 2 2.42 348 1.11e+03 0 0.245 0.245 1.61 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.74 343 1.09e+03 1.01 0 0 0 Crystal initStep - 1 1.37 343 1.09e+03 0.453 0.559 0.782 0.782 Crystal eBrem - 2 1.4 343 1.09e+03 0 0.453 0.596 1.38 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.71 343 1.09e+03 1.08 0 0 0 Crystal initStep - 1 1.54 343 1.09e+03 0.829 0.251 0.428 0.428 Crystal msc - 2 1.46 343 1.09e+03 0.521 0.308 0.428 0.855 Crystal msc - 3 1.39 343 1.09e+03 0 0.521 0.722 1.58 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.14 333 1.05e+03 8.76 0 0 0 Crystal initStep - 1 1.08 333 1.05e+03 8.48 0.225 0.519 0.519 Crystal eBrem - 2 0.752 333 1.05e+03 7.81 0.333 0.688 1.21 Crystal eBrem - 3 0.422 333 1.05e+03 7.4 0.41 0.944 2.15 Crystal msc - 4 0.0273 333 1.05e+03 6.93 0.472 0.944 3.09 Crystal msc - 5 0.0201 333 1.05e+03 5.17 0.512 0.908 4 Crystal eIoni - 6 -1.55e-15 333 1.05e+03 5.12 0.0502 0.105 4.11 Crystal CoupledTransportation - 7 -0.0123 333 1.05e+03 4.78 0.00259 0.0217 4.13 Crystal eBrem - 8 -0.14 333 1.06e+03 4.65 0.131 0.298 4.43 Crystal msc - 9 -0.193 333 1.06e+03 4.45 0.201 0.298 4.72 Crystal msc - 10 -0.281 333 1.06e+03 4.27 0.177 0.298 5.02 Crystal msc - 11 -0.0314 333 1.06e+03 4.15 0.126 0.298 5.32 Crystal msc - 12 -1.39e-15 333 1.06e+03 4.13 0.0144 0.0567 5.38 Crystal CoupledTransportation - 13 0.102 333 1.06e+03 4.06 0.0728 0.205 5.58 Crystal msc - 14 0.181 333 1.06e+03 3.97 0.091 0.205 5.79 Crystal msc - 15 0.233 333 1.06e+03 3.89 0.0794 0.205 5.99 Crystal msc - 16 0.237 333 1.06e+03 3.8 0.0879 0.205 6.2 Crystal msc - 17 0.279 333 1.06e+03 3.73 0.0705 0.205 6.4 Crystal msc - 18 0.269 333 1.06e+03 3.63 0.101 0.205 6.61 Crystal msc - 19 0.315 333 1.06e+03 3.54 0.0949 0.205 6.81 Crystal msc - 20 0.323 332 1.06e+03 3.43 0.103 0.205 7.02 Crystal msc - 21 0.346 332 1.06e+03 3.35 0.0856 0.205 7.22 Crystal msc - 22 0.406 332 1.06e+03 3.28 0.0682 0.205 7.43 Crystal msc - 23 0.541 332 1.06e+03 3.16 0.115 0.205 7.63 Crystal msc - 24 0.679 333 1.06e+03 3.1 0.0668 0.205 7.84 Crystal msc - 25 0.758 333 1.06e+03 2.95 0.151 0.205 8.04 Crystal msc - 26 0.792 333 1.06e+03 2.86 0.0875 0.205 8.25 Crystal msc - 27 0.773 333 1.06e+03 2.76 0.101 0.205 8.45 Crystal msc - 28 0.92 333 1.06e+03 2.67 0.0906 0.205 8.66 Crystal msc - 29 1.07 333 1.06e+03 2.6 0.0682 0.205 8.86 Crystal msc - 30 1.14 333 1.06e+03 2.49 0.11 0.205 9.07 Crystal msc - 31 1.24 334 1.06e+03 2.41 0.0753 0.206 9.27 Crystal msc - 32 1.34 334 1.06e+03 2.28 0.134 0.223 9.49 Crystal msc - 33 1.3 334 1.06e+03 2.17 0.107 0.241 9.74 Crystal msc - 34 1.37 334 1.06e+03 1.93 0.239 0.261 10 Crystal msc - 35 1.3 334 1.06e+03 1.81 0.122 0.261 10.3 Crystal msc - 36 1.18 335 1.06e+03 1.7 0.112 0.263 10.5 Crystal msc - 37 1.04 335 1.06e+03 1.59 0.111 0.263 10.8 Crystal msc - 38 1.02 335 1.06e+03 1.48 0.109 0.263 11 Crystal msc - 39 0.987 335 1.06e+03 1.36 0.0244 0.0393 11.1 Crystal eBrem - 40 0.885 335 1.06e+03 1.16 0.206 0.263 11.4 Crystal msc - 41 0.974 335 1.06e+03 1.06 0.102 0.263 11.6 Crystal msc - 42 1.13 335 1.06e+03 0.918 0.138 0.263 11.9 Crystal msc - 43 1.24 335 1.06e+03 0.783 0.135 0.263 12.1 Crystal msc - 44 1.31 335 1.06e+03 0.67 0.113 0.263 12.4 Crystal msc - 45 1.31 335 1.06e+03 0.392 0.0712 0.172 12.6 Crystal eBrem - 46 1.26 335 1.06e+03 0 0.392 0.488 13.1 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 8 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.31 335 1.06e+03 0.207 0 0 0 Crystal initStep - 1 1.33e-15 337 1.06e+03 0.207 0 2.14 2.14 Crystal CoupledTransportation - 2 -1.86 340 1.06e+03 0 0.036 3.04 5.18 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 129 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.86 340 1.06e+03 0.171 0 0 0 Crystal initStep - 1 -1.86 340 1.06e+03 0 0.171 0.14 0.14 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 8 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.987 335 1.06e+03 0.0914 0 0 0 Crystal initStep - 1 5.55e-16 335 1.06e+03 0.0914 0 1.05 1.05 Crystal CoupledTransportation - 2 -0.229 335 1.06e+03 0 0.0332 0.243 1.29 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 128 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.229 335 1.06e+03 0.0583 0 0 0 Crystal initStep - 1 -0.231 335 1.06e+03 0 0.0583 0.0241 0.0241 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 8 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0123 333 1.05e+03 0.33 0 0 0 Crystal initStep - 1 -13 313 1.07e+03 0.216 0 26.9 26.9 Crystal compt - 2 -16.9 314 1.07e+03 0.136 0 4.19 31.1 Crystal compt - 3 -15.8 313 1.07e+03 0 0.036 4.28 35.4 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 127 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -15.8 313 1.07e+03 0.0997 0 0 0 Crystal initStep - 1 -15.8 313 1.07e+03 0 0.0997 0.0592 0.0592 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 127 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -16.9 314 1.07e+03 0.0805 0 0 0 Crystal initStep - 1 -16.9 314 1.07e+03 0 0.0805 0.0413 0.0413 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 127 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -13 313 1.07e+03 0.114 0 0 0 Crystal initStep - 1 -13 313 1.07e+03 0 0.114 0.0733 0.0733 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 8 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0201 333 1.05e+03 1.25 0 0 0 Crystal initStep - 1 0.0126 333 1.05e+03 1.24 0.0102 0.0427 0.0427 Crystal msc - 2 9.92e-16 333 1.05e+03 1.23 0.00999 0.0314 0.0741 Crystal CoupledTransportation - 3 -0.0252 333 1.05e+03 1.21 0.0166 0.0419 0.116 Crystal msc - 4 -0.0571 333 1.05e+03 1.2 0.0105 0.0419 0.158 Crystal msc - 5 -0.0927 333 1.05e+03 1.19 0.0142 0.0419 0.2 Crystal msc - 6 -0.0912 333 1.05e+03 1.15 0.0418 0.0419 0.242 Crystal msc - 7 -0.0933 333 1.05e+03 1.05 0.0961 0.0419 0.283 Crystal msc - 8 -0.0842 333 1.05e+03 1.03 0.0185 0.0419 0.325 Crystal msc - 9 -0.0847 333 1.05e+03 1.01 0.0183 0.0419 0.367 Crystal msc - 10 -0.0784 333 1.05e+03 0.979 0.0332 0.0419 0.409 Crystal msc - 11 -0.0527 333 1.06e+03 0.963 0.0163 0.0419 0.451 Crystal msc - 12 -0.0192 333 1.06e+03 0.948 0.0155 0.0419 0.493 Crystal msc - 13 -5.27e-16 333 1.06e+03 0.938 0.00944 0.0267 0.52 Crystal CoupledTransportation - 14 0.0138 333 1.06e+03 0.928 0.0104 0.0305 0.55 Crystal msc - 15 0.0224 333 1.06e+03 0.911 0.017 0.0305 0.581 Crystal msc - 16 0.0315 333 1.06e+03 0.899 0.0123 0.0305 0.611 Crystal msc - 17 0.0382 333 1.06e+03 0.883 0.0155 0.0305 0.642 Crystal msc - 18 0.0419 334 1.06e+03 0.87 0.0137 0.0305 0.672 Crystal msc - 19 0.0398 334 1.06e+03 0.855 0.0143 0.0305 0.703 Crystal msc - 20 0.0512 334 1.06e+03 0.849 0.00643 0.0305 0.733 Crystal msc - 21 0.0606 334 1.06e+03 0.841 0.0075 0.0305 0.764 Crystal msc - 22 0.046 334 1.06e+03 0.834 0.00683 0.0305 0.794 Crystal msc - 23 0.0321 334 1.06e+03 0.822 0.012 0.0305 0.825 Crystal msc - 24 0.00542 334 1.06e+03 0.815 0.00759 0.0305 0.855 Crystal msc - 25 -6.72e-16 334 1.06e+03 0.813 0.00183 0.00561 0.861 Crystal CoupledTransportation - 26 -0.0219 334 1.06e+03 0.801 0.0116 0.0256 0.887 Crystal msc - 27 -0.0374 334 1.06e+03 0.794 0.00716 0.0256 0.912 Crystal msc - 28 -0.0476 334 1.06e+03 0.784 0.0104 0.0256 0.938 Crystal msc - 29 -0.0398 334 1.06e+03 0.773 0.0109 0.0256 0.963 Crystal msc - 30 -0.0284 334 1.06e+03 0.763 0.00991 0.0256 0.989 Crystal msc - 31 -0.0187 334 1.06e+03 0.749 0.0143 0.0256 1.01 Crystal msc - 32 -0.00928 334 1.06e+03 0.74 0.00903 0.0256 1.04 Crystal msc - 33 6.94e-17 334 1.06e+03 0.731 0.00897 0.0139 1.05 Crystal CoupledTransportation - 34 0.0131 334 1.06e+03 0.717 0.0136 0.0224 1.08 Crystal msc - 35 0.0266 333 1.06e+03 0.71 0.00713 0.0224 1.1 Crystal msc - 36 0.0387 333 1.06e+03 0.698 0.0126 0.0224 1.12 Crystal msc - 37 0.0576 333 1.06e+03 0.689 0.00888 0.0224 1.14 Crystal msc - 38 0.0781 333 1.06e+03 0.681 0.00725 0.0224 1.17 Crystal msc - 39 0.0973 333 1.06e+03 0.665 0.0167 0.0224 1.19 Crystal msc - 40 0.114 333 1.06e+03 0.651 0.0134 0.0224 1.21 Crystal msc - 41 0.128 333 1.06e+03 0.645 0.00629 0.0224 1.23 Crystal msc - 42 0.131 333 1.06e+03 0.639 0.00586 0.0224 1.26 Crystal msc - 43 0.143 333 1.06e+03 0.633 0.00658 0.0252 1.28 Crystal msc - 44 0.164 333 1.06e+03 0.619 0.0137 0.0252 1.31 Crystal msc - 45 0.179 333 1.06e+03 0.61 0.0091 0.028 1.33 Crystal msc - 46 0.189 333 1.06e+03 0.597 0.0123 0.0325 1.37 Crystal msc - 47 0.219 333 1.06e+03 0.576 0.0217 0.0348 1.4 Crystal msc - 48 0.25 333 1.06e+03 0.562 0.0136 0.0366 1.44 Crystal msc - 49 0.289 333 1.06e+03 0.539 0.0228 0.0436 1.48 Crystal msc - 50 0.331 333 1.06e+03 0.525 0.0147 0.0492 1.53 Crystal msc - 51 0.331 333 1.06e+03 0.36 0.0045 0.0138 1.55 Crystal eBrem - 52 0.381 334 1.06e+03 0.313 0.0467 0.0786 1.62 Crystal msc - 53 0.422 334 1.06e+03 0.0748 0.126 0.0603 1.68 Crystal eBrem - 54 0.424 334 1.06e+03 0 0.0748 0.0367 1.72 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 126 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.422 334 1.06e+03 0.113 0 0 0 Crystal initStep - 1 1 333 1.05e+03 0 0.0332 1.45 1.45 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 137, Parent ID = 136 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1 333 1.05e+03 0.0795 0 0 0 Crystal initStep - 1 1 333 1.05e+03 0 0.0795 0.0405 0.0405 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 135, Parent ID = 126 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.331 333 1.06e+03 0.16 0 0 0 Crystal initStep - 1 0.452 334 1.06e+03 0.117 0 1.01 1.01 Crystal compt - 2 2.79 334 1.06e+03 0 0.0332 2.47 3.48 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 139, Parent ID = 135 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.79 334 1.06e+03 0.0835 0 0 0 Crystal initStep - 1 2.79 334 1.06e+03 0 0.0835 0.0439 0.0439 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 135 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.452 334 1.06e+03 0.0434 0 0 0 Crystal initStep - 1 0.451 334 1.06e+03 0 0.0434 0.0147 0.0147 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 125, Parent ID = 8 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.752 333 1.05e+03 0.338 0 0 0 Crystal initStep - 1 4.44e-16 334 1.05e+03 0.338 0 2.83 2.83 Crystal CoupledTransportation - 2 -4.46 339 1.07e+03 0.249 0 16.8 19.6 Crystal compt - 3 -8.44 336 1.07e+03 0 0.036 5.23 24.8 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 125 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -8.44 336 1.07e+03 0.213 0 0 0 Crystal initStep - 1 -8.43 336 1.07e+03 0 0.213 0.198 0.198 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 125 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -4.46 339 1.07e+03 0.0883 0 0 0 Crystal initStep - 1 -4.46 339 1.07e+03 0 0.0883 0.0482 0.0482 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 8 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.08 333 1.05e+03 0.0513 0 0 0 Crystal initStep - 1 0.975 333 1.05e+03 0 0.036 0.271 0.271 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 124 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.975 333 1.05e+03 0.0153 0 0 0 Crystal initStep - 1 0.975 333 1.05e+03 0 0.0153 0.00262 0.00262 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.981 328 1.04e+03 2.71 0 0 0 Crystal initStep - 1 1.07 328 1.04e+03 2.56 0.152 0.245 0.245 Crystal msc - 2 1.25 328 1.04e+03 2.47 0.0881 0.245 0.49 Crystal msc - 3 1.44 328 1.04e+03 2.36 0.114 0.245 0.735 Crystal msc - 4 1.62 328 1.04e+03 2.25 0.107 0.245 0.981 Crystal msc - 5 1.88 328 1.04e+03 2.14 0.112 0.284 1.26 Crystal msc - 6 2.13 328 1.04e+03 2.01 0.123 0.318 1.58 Crystal msc - 7 2.16 328 1.04e+03 1.12 0.119 0.298 1.88 Crystal eBrem - 8 2.36 328 1.04e+03 0.891 0.234 0.441 2.32 Crystal msc - 9 2.72 328 1.04e+03 0.187 0.704 1.33 3.65 Crystal eIoni - 10 2.72 328 1.04e+03 0 0.187 0.162 3.81 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 143, Parent ID = 7 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.16 328 1.04e+03 0.771 0 0 0 Crystal initStep - 1 -1.33e-15 326 1.03e+03 0.771 0 7.28 7.28 Crystal CoupledTransportation - 2 -2.79 322 1.02e+03 0 0.0332 9.39 16.7 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 143 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.79 322 1.02e+03 0.738 0 0 0 Crystal initStep - 1 -3.04 322 1.02e+03 0.337 0.351 0.723 0.723 Crystal eBrem - 2 -3.06 322 1.02e+03 0 0.337 0.392 1.11 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 145, Parent ID = 144 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.04 322 1.02e+03 0.0502 0 0 0 Crystal initStep - 1 -3.22 322 1.02e+03 0 0.0332 0.234 0.234 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 145 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.22 322 1.02e+03 0.017 0 0 0 Crystal initStep - 1 -3.22 322 1.02e+03 0 0.017 0.0031 0.0031 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.231 206 657 0.00112 0 0 0 DriftChamberPhysical initStep - 1 -0.0228 206 657 0 0.00112 0.362 0.362 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = anti_nu_mu, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0542 94 314 451 0 0 0 DriftChamberPhysical initStep - 1 -0.0885 249 900 451 0 606 606 WorldPhysical CoupledTransportation - 2 -0.113 275 1e+03 451 0 103 710 Crystal CoupledTransportation - 3 -0.136 300 1.09e+03 451 0 98.2 808 Crystal CoupledTransportation - 4 -0.182 350 1.28e+03 451 0 196 1e+03 Crystal CoupledTransportation - 5 -0.21 380 1.4e+03 451 0 119 1.12e+03 WorldPhysical CoupledTransportation - 6 -0.234 407 1.5e+03 451 0 103 1.23e+03 HadCaloPhysical CoupledTransportation - 7 -0.247 420 1.55e+03 451 0 51.7 1.28e+03 Tower CoupledTransportation - 8 -0.274 450 1.66e+03 451 0 118 1.4e+03 Tower CoupledTransportation - 9 -0.367 550 2.04e+03 451 0 392 1.79e+03 Tower CoupledTransportation - 10 -0.459 650 2.42e+03 451 0 392 2.18e+03 Tower CoupledTransportation - 11 -0.466 657 2.45e+03 451 0 28.2 2.21e+03 HadCaloPhysical CoupledTransportation - 12 -0.478 670 2.5e+03 451 0 51.7 2.26e+03 WorldPhysical CoupledTransportation - 13 -0.843 1.07e+03 4e+03 451 0 1.55e+03 3.81e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00101 18.2 60.6 0.00119 0 0 0 WorldPhysical initStep - 1 -0.0118 18.2 60.6 0 0.00119 0.0727 0.0727 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000938 18 60.2 0.0197 0 0 0 WorldPhysical initStep - 1 0.628 15.2 60.3 0.016 0.00362 3.24 3.24 WorldPhysical eIoni - 2 0.0342 13 60.4 0.0137 0.00236 2.65 5.88 WorldPhysical eIoni - 3 1.01 12.3 62 0.00999 0.00369 2.31 8.19 WorldPhysical eIoni - 4 0.965 12.2 62.1 0.00971 0.000278 0.152 8.35 WorldPhysical eIoni - 5 0.599 11.2 62.6 0.00481 0.00291 1.43 9.78 WorldPhysical eIoni - 6 0.377 11 62.6 0 0.00481 0.671 10.4 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.599 11.2 62.6 0.002 0 0 0 WorldPhysical initStep - 1 0.553 11.2 62.7 0 0.002 0.155 0.155 WorldPhysical eIoni ->>> Event 3 - 5 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2469046358867907 (GeV) - 6 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.3829660748103874 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0172 104 104 DriftChamberPhysical CoupledTransportation - 2 0.0436 270 900 1e+03 0.0166 835 940 WorldPhysical CoupledTransportation - 3 0.0432 272 908 1e+03 0.000923 7.86 948 WorldPhysical hIoni - 4 0.0432 278 926 1e+03 0.00344 19.1 967 WorldPhysical hIoni - 5 0.0436 279 928 1e+03 0.000375 2.53 969 WorldPhysical hIoni - 6 0.0482 285 950 1e+03 0.00359 22.7 992 WorldPhysical G4FSMP_parallelGeom - 7 0.0482 285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0436 279 928 0.00149 0 0 0 WorldPhysical initStep - 1 0.0171 279 928 0 0.00149 0.1 0.1 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0432 278 926 0.00323 0 0 0 WorldPhysical initStep - 1 -0.0231 278 926 0 0.00323 0.336 0.336 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0432 272 908 0.00138 0 0 0 WorldPhysical initStep - 1 0.0447 272 908 0 0.00138 0.09 0.09 WorldPhysical eIoni + 0 -0.00221 13.6 45.5 0.00157 0 0 0 WorldPhysical initStep + 1 -0.00826 13.7 45.5 0 0.00157 0.108 0.108 WorldPhysical eIoni >>> Event 4 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999903409371372 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9599536364982586 (GeV) + 3 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.05999466616314111 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9399164365558772 (GeV) number of event = 5 ### Run 6 start. @@ -3656,33 +2637,36 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00403 -15.4 51.4 1e+03 0.00843 53.7 53.7 WorldPhysical hIoni - 2 0.0115 -30 100 1e+03 0.00532 50.7 104 DriftChamberPhysical CoupledTransportation - 3 0.02 -50.1 167 1e+03 0.0017 69.9 174 DriftChamberPhysical hIoni - 4 0.0899 -270 900 1e+03 0.0167 765 940 WorldPhysical CoupledTransportation - 5 0.0924 -285 950 1e+03 0.00651 52.2 992 WorldPhysical G4FSMP_parallelGeom - 6 0.0924 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + 1 0 -30 100 1e+03 0.013 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0682 -188 626 1e+03 0.0151 549 654 DriftChamberPhysical hIoni + 3 -0.105 -270 900 1e+03 0.0069 286 940 WorldPhysical CoupledTransportation + 4 -0.113 -280 935 1e+03 0.00393 36.3 976 WorldPhysical hIoni + 5 -0.114 -285 950 1e+03 0.00208 15.9 992 WorldPhysical G4FSMP_parallelGeom + 6 -0.114 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.02 -50.1 167 0.00208 0 0 0 DriftChamberPhysical initStep - 1 -0.127 -50.7 167 0 0.00208 0.935 0.935 DriftChamberPhysical eIoni + 0 -0.113 -280 935 0.00163 0 0 0 WorldPhysical initStep + 1 -0.157 -280 935 0 0.00163 0.114 0.114 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00403 -15.4 51.4 0.00289 0 0 0 WorldPhysical initStep - 1 0.0335 -15.5 51.4 0 0.00289 0.28 0.28 WorldPhysical eIoni + 0 -0.0682 -188 626 0.00853 0 0 0 DriftChamberPhysical initStep + 1 -1.54 -191 626 0.00575 0.00278 3.79 3.79 DriftChamberPhysical eIoni + 2 -0.368 -193 628 0.00399 0.00176 2.56 6.35 DriftChamberPhysical eIoni + 3 0.322 -195 627 0.00221 0.00178 1.89 8.24 DriftChamberPhysical eIoni + 4 0.117 -195 627 0 0.00221 1.03 9.27 DriftChamberPhysical eIoni >>> Event 0 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.09999563874666122 (GeV) + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.03999795431763215 (GeV) 12 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.8999607487199508 (GeV) + Total energy deposition in HAD calorimeter towers : 0.9599509036231713 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3690,129 +2674,1799 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -10.5 34.9 1e+03 0.00478 36.5 36.5 WorldPhysical hIoni - 2 0.000267 -30 100 1e+03 0.00902 67.9 104 DriftChamberPhysical CoupledTransportation - 3 0.0301 -225 751 1e+03 0.0157 680 784 DriftChamberPhysical hIoni - 4 0.0608 -270 900 1e+03 0.00466 156 940 WorldPhysical CoupledTransportation - 5 0.0703 -285 950 1e+03 0.0156 52.2 992 WorldPhysical G4FSMP_parallelGeom - 6 0.0703 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0301 -225 751 0.00104 0 0 0 DriftChamberPhysical initStep - 1 -0.0683 -226 751 0 0.00104 0.326 0.326 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 -10.5 34.9 0.00412 0 0 0 WorldPhysical initStep - 1 -0.232 -10.5 35 0 0.00412 0.512 0.512 WorldPhysical eIoni ->>> Event 1 - 4 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.07999560776686301 (GeV) - 13 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.899950587377209 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 3.38e-05 -0.469 1.56 1e+03 0.000188 1.63 1.63 WorldPhysical hIoni - 2 -0.00343 -30 100 1e+03 0.0164 103 104 DriftChamberPhysical CoupledTransportation - 3 0.0303 -260 866 1e+03 0.0182 800 904 DriftChamberPhysical hIoni - 4 0.0301 -261 870 1e+03 0.000105 4.15 908 DriftChamberPhysical hIoni - 5 0.028 -270 900 1e+03 0.00114 31.3 940 WorldPhysical CoupledTransportation - 6 0.025 -285 950 1e+03 0.00641 52.2 992 WorldPhysical G4FSMP_parallelGeom - 7 0.025 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + 1 0.00625 -28 93.3 1e+03 0.0137 97.4 97.4 WorldPhysical hIoni + 2 0.00609 -30 100 1e+03 0.00248 6.97 104 DriftChamberPhysical CoupledTransportation + 3 0.00632 -31.8 106 1e+03 0.000226 6.12 111 DriftChamberPhysical hIoni + 4 0.00342 -270 900 1e+03 0.0163 829 940 WorldPhysical CoupledTransportation + 5 0.00144 -280 934 1e+03 0.00582 35.9 976 WorldPhysical hIoni + 6 -0.00103 -285 950 1e+03 0.00274 16.3 992 WorldPhysical G4FSMP_parallelGeom + 7 -0.00103 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0301 -261 870 0.00116 0 0 0 DriftChamberPhysical initStep - 1 0.165 -261 870 0 0.00116 0.377 0.377 DriftChamberPhysical eIoni + 0 0.00144 -280 934 0.00115 0 0 0 WorldPhysical initStep + 1 0.0209 -280 934 0 0.00115 0.0693 0.0693 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0303 -260 866 0.00775 0 0 0 DriftChamberPhysical initStep - 1 2.65 -258 867 0.00614 0.00162 3.42 3.42 DriftChamberPhysical eIoni - 2 4.88 -257 867 0.00414 0.002 2.71 6.13 DriftChamberPhysical eIoni - 3 6.32 -256 868 0.00195 0.00218 1.94 8.07 DriftChamberPhysical eIoni - 4 6.82 -256 868 0 0.00195 0.847 8.92 DriftChamberPhysical eIoni + 0 0.00632 -31.8 106 0.00169 0 0 0 DriftChamberPhysical initStep + 1 0.489 -31.7 106 0 0.00169 0.67 0.67 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.38e-05 -0.469 1.56 0.00174 0 0 0 WorldPhysical initStep - 1 0.0539 -0.478 1.56 0 0.00174 0.126 0.126 WorldPhysical eIoni ->>> Event 2 - 0 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0 (GeV) - 12 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9999469362204411 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000817 -28.9 96.4 1e+03 0.0122 101 101 WorldPhysical hIoni - 2 -0.00133 -30 100 1e+03 0.000655 3.73 104 DriftChamberPhysical CoupledTransportation - 3 -0.0916 -270 900 1e+03 0.0196 835 940 WorldPhysical CoupledTransportation - 4 -0.0955 -285 950 1e+03 0.0109 52.2 992 WorldPhysical G4FSMP_parallelGeom - 5 -0.0955 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000817 -28.9 96.4 0.00145 0 0 0 WorldPhysical initStep - 1 -0.0151 -28.9 96.4 0 0.00145 0.0959 0.0959 WorldPhysical eIoni ->>> Event 3 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999910350755356 (GeV) - 17 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9799560718701242 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0143 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.0235 -44.5 148 1e+03 0.00112 50.5 155 DriftChamberPhysical hIoni - 3 -0.389 -270 900 1e+03 0.0161 785 940 WorldPhysical CoupledTransportation - 4 -0.41 -285 950 1e+03 0.00756 52.2 992 WorldPhysical G4FSMP_parallelGeom - 5 -0.41 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0235 -44.5 148 0.00114 0 0 0 DriftChamberPhysical initStep - 1 -0.00994 -44.3 148 0 0.00114 0.367 0.367 DriftChamberPhysical eIoni ->>> Event 4 + 0 0.00625 -28 93.3 0.00177 0 0 0 WorldPhysical initStep + 1 0.0424 -28 93.3 0 0.00177 0.129 0.129 WorldPhysical eIoni +>>> Event 1 2 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.03999839213959355 (GeV) - 15 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9599614113502449 (GeV) + Total energy deposition in EM calorimeter crytals : 0.03999816855876209 (GeV) + 14 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9599560454102898 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 -30 100 1e+03 0.0174 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.00223 -45.3 151 1e+03 0.0013 53.4 158 DriftChamberPhysical hIoni + 3 0.00237 -184 615 1e+03 0.01 484 642 DriftChamberPhysical Decay + +********************************************************************************************************* +* G4Track Information: Particle = mu-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00237 -184 615 728 0 0 0 DriftChamberPhysical initStep + 1 -1.35 -216 711 728 0.00226 101 101 DriftChamberPhysical muIoni + 2 -4 -280 900 728 0.00517 200 301 WorldPhysical CoupledTransportation + 3 -4.12 -283 908 728 0.002 8.93 310 WorldPhysical muIoni + 4 -4.62 -294 943 728 0.00552 36.8 346 WorldPhysical muIoni + 5 -4.86 -300 960 728 0.00265 17.2 364 WorldPhysical muIoni + 6 -5.46 -313 1e+03 728 0.00589 42.5 406 Crystal CoupledTransportation + 7 -5.26 -326 1.04e+03 707 20.1 39.9 446 Crystal muIoni + 8 -5.85 -334 1.06e+03 692 13.4 24.4 470 Crystal muIoni + 9 -5.81 -334 1.06e+03 690 0.984 2.05 472 Crystal muIoni + 10 -5.22 -339 1.08e+03 679 10.4 20.5 493 Crystal muIoni + 11 -1.99 -349 1.13e+03 655 22.9 43.9 537 Crystal muIoni + 12 -1.82 -350 1.13e+03 653 2.44 3.68 541 Crystal CoupledTransportation + 13 -0.937 -355 1.15e+03 629 9.56 19.1 560 Crystal muIoni + 14 -0.242 -360 1.17e+03 617 10.1 19 579 Crystal muIoni + 15 -3.33e-16 -363 1.18e+03 611 5.97 12.8 591 Crystal CoupledTransportation + 16 1.18 -371 1.21e+03 594 13.9 29.1 621 Crystal muIoni + 17 3.01 -384 1.25e+03 572 22.5 44.6 665 Crystal msc + 18 4.05 -394 1.28e+03 540 15.6 32 697 Crystal muIoni + 19 4.16 -400 1.3e+03 530 10.1 20.9 718 Crystal CoupledTransportation + 20 4.04 -402 1.31e+03 518 4.27 6.75 725 Crystal muIoni + 21 3.92 -404 1.31e+03 513 3.89 7.02 732 Crystal muIoni + 22 3.14 -416 1.35e+03 494 19.3 38.3 770 Crystal msc + 23 2.89 -418 1.35e+03 489 3.69 6.66 777 Crystal muIoni + 24 0.497 -430 1.39e+03 470 18.8 38.3 815 Crystal msc + 25 0.221 -433 1.4e+03 464 5.84 9.23 824 WorldPhysical CoupledTransportation + 26 -2.56 -466 1.5e+03 464 0.0112 105 930 HadCaloPhysical CoupledTransportation + 27 -3.93 -482 1.55e+03 464 0.0076 52.7 982 Tower CoupledTransportation + 28 -4.03 -487 1.56e+03 451 13.7 14.6 997 Tower msc + 29 -3.82 -491 1.58e+03 433 17.5 14.6 1.01e+03 Tower msc + 30 -3.43 -495 1.59e+03 414 18.7 14.6 1.03e+03 Tower msc + 31 -3.64 -500 1.61e+03 398 16 14.6 1.04e+03 Tower msc + 32 -3.14 -504 1.62e+03 383 15.3 14.6 1.06e+03 Tower msc + 33 -2.81 -508 1.63e+03 369 14.5 14.6 1.07e+03 Tower msc + 34 -2.73 -512 1.65e+03 354 14.7 14.6 1.08e+03 Tower msc + 35 -2.5 -516 1.66e+03 336 17.8 14.6 1.1e+03 Tower msc + 36 -2.34 -521 1.68e+03 322 13.6 14.6 1.11e+03 Tower msc + 37 -1.81 -525 1.69e+03 307 15.1 14.6 1.13e+03 Tower msc + 38 -1.56 -530 1.7e+03 290 17.1 14.6 1.14e+03 Tower msc + 39 -0.884 -534 1.72e+03 274 16.7 14.6 1.16e+03 Tower msc + 40 -1.19 -538 1.73e+03 251 22.8 14.6 1.17e+03 Tower msc + 41 -1.92 -543 1.75e+03 229 21.7 14.6 1.19e+03 Tower msc + 42 -3.01 -548 1.76e+03 213 15.9 14.6 1.2e+03 Tower msc + 43 -3.56 -550 1.76e+03 207 5.93 5.87 1.21e+03 Tower CoupledTransportation + 44 -4.03 -552 1.77e+03 201 5.74 5.73 1.21e+03 Tower msc + 45 -4.79 -554 1.77e+03 196 5.39 5.73 1.22e+03 Tower msc + 46 -5.3 -556 1.78e+03 190 6.5 5.73 1.22e+03 Tower msc + 47 -5.8 -558 1.79e+03 179 10.6 5.73 1.23e+03 Tower msc + 48 -6.3 -559 1.79e+03 174 5.31 5.73 1.24e+03 Tower msc + 49 -6.87 -561 1.8e+03 168 6.11 5.73 1.24e+03 Tower msc + 50 -7.73 -562 1.8e+03 162 5.9 5.73 1.25e+03 Tower msc + 51 -8.48 -564 1.81e+03 155 6.4 5.73 1.25e+03 Tower msc + 52 -8.97 -565 1.81e+03 144 10.9 5.73 1.26e+03 Tower msc + 53 -9.32 -566 1.82e+03 139 5.59 5.73 1.26e+03 Tower msc + 54 -9.71 -568 1.82e+03 132 6.99 5.73 1.27e+03 Tower msc + 55 -10.1 -569 1.83e+03 126 6.07 5.73 1.28e+03 Tower msc + 56 -10.2 -570 1.84e+03 120 5.95 5.73 1.28e+03 Tower msc + 57 -10.8 -571 1.84e+03 112 7.28 5.73 1.29e+03 Tower msc + 58 -11.4 -572 1.85e+03 103 9.74 5.73 1.29e+03 Tower msc + 59 -11.8 -573 1.85e+03 95.8 6.84 5.73 1.3e+03 Tower msc + 60 -12.1 -574 1.86e+03 88.7 7.11 5.73 1.3e+03 Tower msc + 61 -12.5 -574 1.86e+03 80.5 8.21 5.73 1.31e+03 Tower msc + 62 -12.7 -575 1.87e+03 73.1 7.42 5.73 1.32e+03 Tower msc + 63 -12.9 -576 1.87e+03 62.4 10.6 5.73 1.32e+03 Tower msc + 64 -13.4 -576 1.88e+03 54.3 8.18 5.82 1.33e+03 Tower msc + 65 -13.6 -576 1.89e+03 45.9 8.42 5.89 1.33e+03 Tower msc + 66 -14 -577 1.89e+03 37.9 8 4.94 1.34e+03 Tower muIoni + 67 -13.7 -578 1.9e+03 29.9 7.99 4.03 1.34e+03 Tower muIoni + 68 -13.6 -578 1.9e+03 22 7.91 3.19 1.35e+03 Tower muIoni + 69 -13.2 -578 1.9e+03 14 7.92 2.45 1.35e+03 Tower muIoni + 70 -13 -579 1.9e+03 6.55 7.48 1.73 1.35e+03 Tower muIoni + 71 -12.9 -579 1.9e+03 0 6.55 0.614 1.35e+03 Tower muIoni + 72 -12.9 -579 1.9e+03 0 0 0 1.35e+03 Tower Decay + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.9 -579 1.9e+03 33.8 0 0 0 Tower initStep + 1 -12.8 -579 1.9e+03 33.5 0.212 0.211 0.211 Tower eBrem + 2 -11.6 -580 1.91e+03 25.7 2.5 2.51 2.72 Tower eBrem + 3 -11.3 -581 1.91e+03 23.9 1.7 1.74 4.46 Tower eBrem + 4 -11.2 -581 1.91e+03 16.8 1.62 0.328 4.79 Tower eBrem + 5 -11.1 -582 1.91e+03 12.4 2.25 1.97 6.75 Tower eBrem + 6 -11.1 -583 1.91e+03 10.4 1.99 1.9 8.66 Tower eBrem + 7 -11.8 -584 1.91e+03 6.75 3.64 3.35 12 Tower eIoni + 8 -11.7 -584 1.91e+03 6.27 0.0916 0.104 12.1 Tower eBrem + 9 -11.3 -584 1.91e+03 3.9 2.37 2.58 14.7 Tower eIoni + 10 -11.8 -584 1.92e+03 2.14 1.76 2.07 16.8 Tower eIoni + 11 -12.3 -584 1.92e+03 0.661 1.32 1.38 18.1 Tower eBrem + 12 -12.3 -584 1.92e+03 0 0.661 0.466 18.6 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 30, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.3 -584 1.92e+03 0.158 0 0 0 Tower initStep + 1 -12.4 -584 1.92e+03 0 0.00711 1.03 1.03 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 30 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.4 -584 1.92e+03 0.151 0 0 0 Tower initStep + 1 -12.4 -584 1.92e+03 0 0.151 0.0534 0.0534 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.7 -584 1.91e+03 0.387 0 0 0 Tower initStep + 1 -9.94 -587 1.92e+03 0.3 0 6.57 6.57 Tower compt + 2 -3.66 -617 1.92e+03 0 0.00711 31.6 38.1 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 29 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.66 -617 1.92e+03 0.293 0 0 0 Tower initStep + 1 -3.67 -617 1.92e+03 0 0.293 0.149 0.149 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 29 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -9.94 -587 1.92e+03 0.0865 0 0 0 Tower initStep + 1 -9.94 -587 1.92e+03 0 0.0865 0.0213 0.0213 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.1 -582 1.91e+03 2.2 0 0 0 Tower initStep + 1 -9.15 -589 1.92e+03 0.229 0 9.92 9.92 Tower compt + 2 -10.3 -585 1.91e+03 0 0.00711 5.23 15.1 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 28 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -10.3 -585 1.91e+03 0.222 0 0 0 Tower initStep + 1 -10.3 -585 1.91e+03 0 0.222 0.0981 0.0981 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 28 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -9.15 -589 1.92e+03 1.97 0 0 0 Tower initStep + 1 -8.43 -589 1.92e+03 0.317 1.66 1.48 1.48 Tower eIoni + 2 -8.43 -589 1.92e+03 0 0.317 0.168 1.65 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.2 -581 1.91e+03 5.48 0 0 0 Tower initStep + 1 -6.14 -598 1.93e+03 4.16 0 25.9 25.9 Tower compt + 2 -6.51 -609 1.94e+03 1.96 0 16.8 42.7 Tower compt + 3 -24.2 -650 1.96e+03 1.96 0 50.2 92.9 Tower CoupledTransportation + 4 -33.2 -671 1.97e+03 1.82 0 25.5 118 Tower compt + 5 -45.4 -690 1.99e+03 0.424 0 26.9 145 Tower compt + 6 -44.4 -688 1.99e+03 0.222 0 4.42 150 Tower compt + 7 -49.4 -686 1.99e+03 0.214 0 5.28 155 Tower compt + 8 -50 -686 1.99e+03 0.214 0 0.746 156 Tower CoupledTransportation + 9 -54.4 -682 1.99e+03 0.202 0 5.8 162 Tower compt + 10 -60.5 -678 2e+03 0 0.00711 8.48 170 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -60.5 -678 2e+03 0.195 0 0 0 Tower initStep + 1 -60.5 -678 2e+03 0 0.195 0.0802 0.0802 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -54.4 -682 1.99e+03 0.0117 0 0 0 Tower initStep + 1 -54.4 -682 1.99e+03 0 0.0117 0.000725 0.000725 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -49.4 -686 1.99e+03 0.00778 0 0 0 Tower initStep + 1 -49.4 -686 1.99e+03 0 0.00778 0.00037 0.00037 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -44.4 -688 1.99e+03 0.202 0 0 0 Tower initStep + 1 -44.4 -688 1.99e+03 0 0.202 0.0847 0.0847 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -45.4 -690 1.99e+03 1.39 0 0 0 Tower initStep + 1 -45.6 -690 1.99e+03 0 1.39 1.14 1.14 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -33.2 -671 1.97e+03 0.14 0 0 0 Tower initStep + 1 -33.2 -671 1.97e+03 0 0.14 0.0473 0.0473 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.51 -609 1.94e+03 2.2 0 0 0 Tower initStep + 1 -5.72 -609 1.94e+03 0.474 1.73 1.57 1.57 Tower eIoni + 2 -5.68 -609 1.94e+03 0 0.474 0.298 1.87 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.14 -598 1.93e+03 1.32 0 0 0 Tower initStep + 1 -6.03 -599 1.93e+03 0.507 0.192 0.261 0.261 Tower eBrem + 2 -5.98 -599 1.93e+03 0 0.507 0.327 0.589 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 44, Parent ID = 36 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.03 -599 1.93e+03 0.626 0 0 0 Tower initStep + 1 0.287 -594 1.93e+03 0.462 0 8.9 8.9 Tower compt + 2 19.9 -550 1.93e+03 0.462 0 48.3 57.2 Tower CoupledTransportation + 3 20.2 -549 1.93e+03 0.297 0 0.867 58.1 Tower compt + 4 26.9 -549 1.92e+03 0.255 0 7.07 65.2 Tower compt + 5 27.9 -550 1.92e+03 0.255 0 1.21 66.4 Tower CoupledTransportation + 6 36 -555 1.93e+03 0.223 0 9.9 76.3 Tower compt + 7 45.4 -553 1.93e+03 0 0.00711 10.5 86.8 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 44 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 45.4 -553 1.93e+03 0.216 0 0 0 Tower initStep + 1 45.5 -553 1.93e+03 0 0.216 0.0941 0.0941 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 44 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 36 -555 1.93e+03 0.0316 0 0 0 Tower initStep + 1 36 -555 1.93e+03 0 0.0316 0.00387 0.00387 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 44 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 26.9 -549 1.92e+03 0.0418 0 0 0 Tower initStep + 1 26.9 -549 1.92e+03 0 0.0418 0.00622 0.00622 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 44 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 20.2 -549 1.93e+03 0.165 0 0 0 Tower initStep + 1 20.2 -549 1.93e+03 0 0.165 0.0613 0.0613 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 44 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.287 -594 1.93e+03 0.164 0 0 0 Tower initStep + 1 0.294 -594 1.93e+03 0 0.164 0.0609 0.0609 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.3 -581 1.91e+03 0.0632 0 0 0 Tower initStep + 1 -11 -581 1.91e+03 0 0.00711 1.16 1.16 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 26 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11 -581 1.91e+03 0.0561 0 0 0 Tower initStep + 1 -11 -581 1.91e+03 0 0.0561 0.0103 0.0103 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.6 -580 1.91e+03 5.29 0 0 0 Tower initStep + 1 -3.11 -595 1.93e+03 0 0 33.1 33.1 Tower conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 52, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.11 -595 1.93e+03 3.49 0 0 0 Tower initStep + 1 -2.93 -597 1.93e+03 1.67 1.72 1.92 1.92 Tower eBrem + 2 -3.05 -597 1.93e+03 0.196 1.47 1.33 3.25 Tower eIoni + 3 -3.04 -597 1.93e+03 0 0.196 0.0773 3.33 Tower eIoni + 4 -3.04 -597 1.93e+03 0 0 0 3.33 Tower annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 52 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.04 -597 1.93e+03 0.511 0 0 0 Tower initStep + 1 -0.0738 -590 1.95e+03 0.435 0 21.3 21.3 Tower compt + 2 9.08 -590 1.97e+03 0.362 0 16.7 38 Tower compt + 3 13.8 -586 1.97e+03 0.277 0 7.13 45.1 Tower compt + 4 25.8 -589 1.97e+03 0.268 0 12.5 57.6 Tower compt + 5 50 -591 1.97e+03 0.268 0 24.7 82.3 Tower CoupledTransportation + 6 58.3 -591 1.97e+03 0.263 0 8.45 90.7 Tower compt + 7 76.9 -593 1.97e+03 0.209 0 18.7 109 Tower compt + 8 93.6 -569 1.96e+03 0.169 0 29.8 139 Tower compt + 9 99.2 -571 1.95e+03 0.11 0 8.62 148 Tower compt + 10 98 -570 1.95e+03 0 0.00711 1.22 149 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 98 -570 1.95e+03 0.103 0 0 0 Tower initStep + 1 98 -570 1.95e+03 0 0.103 0.0286 0.0286 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 99.2 -571 1.95e+03 0.0591 0 0 0 Tower initStep + 1 99.2 -571 1.95e+03 0 0.0591 0.0112 0.0112 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 93.6 -569 1.96e+03 0.0393 0 0 0 Tower initStep + 1 93.6 -569 1.96e+03 0 0.0393 0.0056 0.0056 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 76.9 -593 1.97e+03 0.0545 0 0 0 Tower initStep + 1 76.9 -593 1.97e+03 0 0.0545 0.00979 0.00979 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 58.3 -591 1.97e+03 0.00458 0 0 0 Tower initStep + 1 58.3 -591 1.97e+03 0 0.00458 0.00016 0.00016 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 25.8 -589 1.97e+03 0.00974 0 0 0 Tower initStep + 1 25.8 -589 1.97e+03 0 0.00974 0.000533 0.000533 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 13.8 -586 1.97e+03 0.0848 0 0 0 Tower initStep + 1 13.8 -586 1.97e+03 0 0.0848 0.0206 0.0206 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 9.08 -590 1.97e+03 0.0726 0 0 0 Tower initStep + 1 9.08 -590 1.97e+03 0 0.0726 0.0159 0.0159 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 55 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0738 -590 1.95e+03 0.0761 0 0 0 Tower initStep + 1 -0.0757 -590 1.95e+03 0 0.0761 0.0172 0.0172 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 52 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.04 -597 1.93e+03 0.511 0 0 0 Tower initStep + 1 -4.46 -601 1.92e+03 0.173 0 10.2 10.2 Tower compt + 2 -4.49 -601 1.92e+03 0.165 0 0.844 11 Tower compt + 3 -3.34 -599 1.93e+03 0.116 0 2.51 13.5 Tower compt + 4 -3.71 -600 1.93e+03 0.0979 0 0.789 14.3 Tower compt + 5 -2.8 -600 1.93e+03 0.0812 0 1.26 15.6 Tower compt + 6 -3.06 -600 1.93e+03 0 0.00711 0.492 16.1 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 54 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.06 -600 1.93e+03 0.0741 0 0 0 Tower initStep + 1 -3.06 -600 1.93e+03 0 0.0741 0.0164 0.0164 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 54 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -2.8 -600 1.93e+03 0.0167 0 0 0 Tower initStep + 1 -2.8 -600 1.93e+03 0 0.0167 0.00131 0.00131 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 54 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.71 -600 1.93e+03 0.0185 0 0 0 Tower initStep + 1 -3.71 -600 1.93e+03 0 0.0185 0.00156 0.00156 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 54 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.34 -599 1.93e+03 0.0482 0 0 0 Tower initStep + 1 -3.34 -599 1.93e+03 0 0.0482 0.00793 0.00793 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 54 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.49 -601 1.92e+03 0.00823 0 0 0 Tower initStep + 1 -4.49 -601 1.92e+03 0 0.00823 0.000405 0.000405 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 54 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.46 -601 1.92e+03 0.338 0 0 0 Tower initStep + 1 -4.46 -601 1.92e+03 0 0.338 0.184 0.184 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 53, Parent ID = 52 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -2.93 -597 1.93e+03 0.0981 0 0 0 Tower initStep + 1 -2.83 -597 1.93e+03 0 0.00711 0.734 0.734 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 53 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -2.83 -597 1.93e+03 0.091 0 0 0 Tower initStep + 1 -2.83 -597 1.93e+03 0 0.091 0.0232 0.0232 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.11 -595 1.93e+03 0.78 0 0 0 Tower initStep + 1 -3.06 -595 1.93e+03 0 0.78 0.576 0.576 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 23 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.8 -579 1.9e+03 0.0794 0 0 0 Tower initStep + 1 -12.8 -579 1.9e+03 0 0.00711 0.0478 0.0478 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 24 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.8 -579 1.9e+03 0.0723 0 0 0 Tower initStep + 1 -12.8 -579 1.9e+03 0 0.0723 0.0158 0.0158 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = anti_nu_e, Track ID = 22, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.9 -579 1.9e+03 35.5 0 0 0 Tower initStep + 1 -49.1 -550 1.91e+03 35.5 0 47.5 47.5 Tower CoupledTransportation + 2 -50 -549 1.91e+03 35.5 0 1.14 48.6 Tower CoupledTransportation + 3 -150 -470 1.94e+03 35.5 0 131 180 Tower CoupledTransportation + 4 -175 -450 1.95e+03 35.5 0 32.3 212 Tower CoupledTransportation + 5 -250 -390 1.97e+03 35.5 0 98.9 311 Tower CoupledTransportation + 6 -300 -350 1.99e+03 35.5 0 65.8 377 Tower CoupledTransportation + 7 -350 -310 2e+03 35.5 0 65.4 442 Tower CoupledTransportation + 8 -426 -250 2.02e+03 35.5 0 99.2 541 Tower CoupledTransportation + 9 -450 -231 2.03e+03 35.5 0 31.9 573 Tower CoupledTransportation + 10 -550 -151 2.06e+03 35.5 0 131 704 Tower CoupledTransportation + 11 -551 -150 2.06e+03 35.5 0 1.51 706 Tower CoupledTransportation + 12 -650 -71.2 2.09e+03 35.5 0 130 836 Tower CoupledTransportation + 13 -677 -50 2.1e+03 35.5 0 35 871 Tower CoupledTransportation + 14 -750 8.44 2.12e+03 35.5 0 96.2 967 Tower CoupledTransportation + 15 -802 50 2.13e+03 35.5 0 68.4 1.04e+03 Tower CoupledTransportation + 16 -850 88.1 2.15e+03 35.5 0 62.7 1.1e+03 Tower CoupledTransportation + 17 -928 150 2.17e+03 35.5 0 102 1.2e+03 Tower CoupledTransportation + 18 -950 168 2.18e+03 35.5 0 29.3 1.23e+03 Tower CoupledTransportation + 19 -1.05e+03 247 2.21e+03 35.5 0 131 1.36e+03 Tower CoupledTransportation + 20 -1.05e+03 250 2.21e+03 35.5 0 4.16 1.36e+03 Tower CoupledTransportation + 21 -1.15e+03 327 2.24e+03 35.5 0 127 1.49e+03 HadCaloPhysical CoupledTransportation + 22 -1.25e+03 407 2.27e+03 35.5 0 131 1.62e+03 WorldPhysical CoupledTransportation + 23 -4e+03 2.6e+03 3.07e+03 35.5 0 3.61e+03 5.23e+03 OutOfWorld CoupledTransportation + +********************************************************************************************************* +* G4Track Information: Particle = nu_mu, Track ID = 21, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.9 -579 1.9e+03 35.3 0 0 0 Tower initStep + 1 32.1 -650 1.69e+03 35.3 0 230 230 Tower CoupledTransportation + 2 50 -678 1.6e+03 35.3 0 91.2 321 Tower CoupledTransportation + 3 61.4 -696 1.55e+03 35.3 0 58.1 380 HadCaloPhysical CoupledTransportation + 4 71.9 -713 1.5e+03 35.3 0 53.7 433 WorldPhysical CoupledTransportation + 5 93 -746 1.4e+03 35.3 0 107 541 Crystal CoupledTransportation + 6 95.5 -750 1.39e+03 35.3 0 12.9 554 Crystal CoupledTransportation + 7 100 -757 1.37e+03 35.3 0 23.1 577 Crystal CoupledTransportation + 8 127 -800 1.24e+03 35.3 0 139 715 Crystal CoupledTransportation + 9 150 -836 1.13e+03 35.3 0 117 832 Crystal CoupledTransportation + 10 159 -850 1.09e+03 35.3 0 45 877 Crystal CoupledTransportation + 11 177 -879 1e+03 35.3 0 93.6 971 WorldPhysical CoupledTransportation + 12 198 -912 900 35.3 0 107 1.08e+03 DriftChamberPhysical CoupledTransportation + 13 367 -1.18e+03 100 35.3 0 860 1.94e+03 WorldPhysical CoupledTransportation + 14 1.23e+03 -2.54e+03 -4e+03 35.3 0 4.41e+03 6.34e+03 OutOfWorld CoupledTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.89 -418 1.35e+03 1.05 0 0 0 Crystal initStep + 1 3.06 -418 1.36e+03 0.304 0.742 1.48 1.48 Crystal eIoni + 2 3.04 -418 1.36e+03 0 0.304 0.337 1.82 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.92 -404 1.31e+03 0.956 0 0 0 Crystal initStep + 1 3.71 -404 1.31e+03 0.213 0.743 1.4 1.4 Crystal eIoni + 2 3.69 -404 1.31e+03 0.0123 0.153 0.115 1.51 Crystal eBrem + 3 3.69 -404 1.31e+03 0 0.0123 0.00184 1.51 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 19 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.69 -404 1.31e+03 0.0476 0 0 0 Crystal initStep + 1 3.63 -404 1.31e+03 0 0.0332 0.0717 0.0717 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 73 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.63 -404 1.31e+03 0.0144 0 0 0 Crystal initStep + 1 3.63 -404 1.31e+03 0 0.0144 0.00238 0.00238 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 4.04 -402 1.31e+03 7.5 0 0 0 Crystal initStep + 1 3.56 -402 1.31e+03 6.65 0.842 1.28 1.28 Crystal msc + 2 3.18 -402 1.31e+03 5.89 0.682 1.27 2.55 Crystal eBrem + 3 3.29 -403 1.31e+03 5.33 0.485 0.953 3.51 Crystal eBrem + 4 4.02 -403 1.31e+03 4.75 0.584 1.28 4.79 Crystal msc + 5 3.88 -403 1.31e+03 4.14 0.608 1.28 6.07 Crystal msc + 6 4.16 -403 1.31e+03 3.47 0.666 1.28 7.36 Crystal msc + 7 4.17 -403 1.31e+03 1.6 0.00987 0.0167 7.37 Crystal eBrem + 8 4.35 -402 1.31e+03 0.971 0.628 1.28 8.66 Crystal msc + 9 4.44 -402 1.31e+03 0 0.971 1.41 10.1 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 4.17 -403 1.31e+03 1.86 0 0 0 Crystal initStep + 1 5.77 -400 1.31e+03 1.86 0 4.48 4.48 Crystal CoupledTransportation + 2 36.6 -350 1.38e+03 1.86 0 86.2 90.7 Crystal CoupledTransportation + 3 47.6 -332 1.4e+03 1.86 0 30.8 121 WorldPhysical CoupledTransportation + 4 96.4 -253 1.5e+03 1.86 0 137 258 HadCaloPhysical CoupledTransportation + 5 121 -213 1.55e+03 1.86 0 68.3 326 Tower CoupledTransportation + 6 124 -208 1.56e+03 0.803 0 9.72 336 Tower compt + 7 124 -209 1.57e+03 0.469 0 10.4 346 Tower compt + 8 125 -208 1.57e+03 0.402 0 1.73 348 Tower compt + 9 125 -193 1.58e+03 0.33 0 17 365 Tower compt + 10 131 -172 1.57e+03 0.237 0 22 387 Tower compt + 11 132 -172 1.57e+03 0.178 0 2.88 390 Tower compt + 12 132 -172 1.57e+03 0.144 0 0.102 390 Tower compt + 13 133 -174 1.56e+03 0 0.00711 8.99 399 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 133 -174 1.56e+03 0.137 0 0 0 Tower initStep + 1 133 -174 1.56e+03 0 0.137 0.0454 0.0454 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 132 -172 1.57e+03 0.034 0 0 0 Tower initStep + 1 132 -172 1.57e+03 0 0.034 0.00437 0.00437 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 132 -172 1.57e+03 0.0589 0 0 0 Tower initStep + 1 132 -172 1.57e+03 0 0.0589 0.0111 0.0111 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 131 -172 1.57e+03 0.0937 0 0 0 Tower initStep + 1 131 -172 1.57e+03 0 0.0937 0.0244 0.0244 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 125 -193 1.58e+03 0.0719 0 0 0 Tower initStep + 1 125 -193 1.58e+03 0 0.0719 0.0156 0.0156 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 125 -208 1.57e+03 0.0667 0 0 0 Tower initStep + 1 125 -208 1.57e+03 0 0.0667 0.0138 0.0138 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 124 -209 1.57e+03 0.334 0 0 0 Tower initStep + 1 124 -209 1.57e+03 0 0.334 0.181 0.181 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 124 -208 1.56e+03 1.06 0 0 0 Tower initStep + 1 124 -207 1.56e+03 0 1.06 0.843 0.843 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.29 -403 1.31e+03 0.076 0 0 0 Crystal initStep + 1 3.52 -403 1.31e+03 0 0.0332 0.433 0.433 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 76 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.52 -403 1.31e+03 0.0428 0 0 0 Crystal initStep + 1 3.52 -403 1.31e+03 0 0.0428 0.0144 0.0144 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.18 -402 1.31e+03 0.0805 0 0 0 Crystal initStep + 1 3.16 -402 1.31e+03 0 0.0332 0.365 0.365 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 75 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.16 -402 1.31e+03 0.0474 0 0 0 Crystal initStep + 1 3.16 -402 1.31e+03 0 0.0474 0.0171 0.0171 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 4.05 -394 1.28e+03 16.6 0 0 0 Crystal initStep + 1 4.05 -394 1.28e+03 6.44 0.273 0.495 0.495 Crystal eBrem + 2 2.54 -395 1.28e+03 4.09 2.3 3.88 4.37 Crystal eBrem + 3 2.25 -395 1.28e+03 2.67 0.213 0.507 4.88 Crystal eIoni + 4 0.832 -394 1.28e+03 1.51 1.17 2.42 7.3 Crystal eIoni + 5 1.23 -394 1.28e+03 0.733 0.772 1.82 9.12 Crystal eIoni + 6 1.32 -394 1.28e+03 0 0.733 1.11 10.2 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 17 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.25 -395 1.28e+03 1.2 0 0 0 Crystal initStep + 1 2.04 -394 1.28e+03 0.454 0.751 1.62 1.62 Crystal eIoni + 2 1.99 -395 1.28e+03 0.117 0.337 0.388 2 Crystal eBrem + 3 1.99 -395 1.28e+03 0 0.117 0.0762 2.08 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 17 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.54 -395 1.28e+03 0.0506 0 0 0 Crystal initStep + 1 2.37 -395 1.28e+03 0 0.036 0.343 0.343 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 89 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.37 -395 1.28e+03 0.0146 0 0 0 Crystal initStep + 1 2.37 -395 1.28e+03 0 0.0146 0.00244 0.00244 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 17 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 4.05 -394 1.28e+03 9.88 0 0 0 Crystal initStep + 1 0.391 -398 1.34e+03 1.66 0 57.1 57.1 Crystal compt + 2 4.44e-16 -399 1.34e+03 1.66 0 0.864 57.9 Crystal CoupledTransportation + 3 -0.97 -400 1.34e+03 1.66 0 2.14 60.1 Crystal CoupledTransportation + 4 -9.11 -411 1.35e+03 0.41 0 18 78.1 Crystal compt + 5 -9.05 -411 1.35e+03 0 0.0332 0.672 78.8 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 88 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -9.05 -411 1.35e+03 0.377 0 0 0 Crystal initStep + 1 -9.03 -411 1.35e+03 0 0.377 0.46 0.46 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 88 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -9.11 -411 1.35e+03 1.25 0 0 0 Crystal initStep + 1 -9.5 -410 1.35e+03 0.55 0.696 1.65 1.65 Crystal eIoni + 2 -9.58 -410 1.35e+03 0 0.55 0.773 2.42 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 88 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.391 -398 1.34e+03 8.22 0 0 0 Crystal initStep + 1 0.0393 -398 1.34e+03 7.41 0.818 1.58 1.58 Crystal msc + 2 -1.16e-15 -398 1.34e+03 7.35 0.0559 0.134 1.71 Crystal CoupledTransportation + 3 -0.676 -398 1.34e+03 6.66 0.458 1.09 2.79 Crystal eBrem + 4 -0.862 -398 1.34e+03 6.47 0.126 0.301 3.1 Crystal eBrem + 5 -1.28 -398 1.34e+03 5.93 0.534 1.23 4.33 Crystal msc + 6 -1.51 -399 1.34e+03 4.17 0.476 0.875 5.2 Crystal eBrem + 7 -1.22 -399 1.34e+03 3.58 0.594 1.23 6.43 Crystal msc + 8 -0.887 -399 1.34e+03 2.59 0.99 1.23 7.66 Crystal msc + 9 -1.58 -398 1.34e+03 1.89 0.702 1.23 8.89 Crystal msc + 10 -1.9 -398 1.34e+03 1.47 0.201 0.558 9.45 Crystal eBrem + 11 -2.18 -398 1.34e+03 1.06 0.405 1.23 10.7 Crystal msc + 12 -2.36 -398 1.34e+03 0.451 0.611 1.23 11.9 Crystal msc + 13 -2.35 -398 1.34e+03 0 0.451 0.592 12.5 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 92 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.9 -398 1.34e+03 0.217 0 0 0 Crystal initStep + 1 -1.98 -398 1.34e+03 0 0.0332 0.0888 0.0888 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 98 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.98 -398 1.34e+03 0.184 0 0 0 Crystal initStep + 1 -1.99 -398 1.34e+03 0 0.184 0.157 0.157 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 92 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.51 -399 1.34e+03 1.28 0 0 0 Crystal initStep + 1 -1.24 -400 1.34e+03 1.28 0 3.74 3.74 Crystal CoupledTransportation + 2 8.88e-16 -405 1.36e+03 1.28 0 17.3 21 Crystal CoupledTransportation + 3 2.97 -418 1.4e+03 1.28 0 41.5 62.6 WorldPhysical CoupledTransportation + 4 10.5 -451 1.5e+03 1.28 0 106 168 HadCaloPhysical CoupledTransportation + 5 14.3 -468 1.55e+03 1.28 0 52.8 221 Tower CoupledTransportation + 6 16.8 -479 1.58e+03 1.18 0 34.6 256 Tower compt + 7 18.4 -479 1.59e+03 0.344 0 10.3 266 Tower compt + 8 12.8 -458 1.59e+03 0.257 0 22.6 288 Tower compt + 9 3.23 -454 1.59e+03 0.185 0 10.7 299 Tower compt + 10 -4.86 -469 1.59e+03 0.173 0 17.1 316 Tower compt + 11 -14.1 -475 1.58e+03 0.145 0 13.9 330 Tower compt + 12 -16 -477 1.58e+03 0.135 0 2.53 333 Tower compt + 13 -19.5 -477 1.58e+03 0.128 0 3.54 336 Tower compt + 14 -32.7 -489 1.57e+03 0 0.00711 19.9 356 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -32.7 -489 1.57e+03 0.121 0 0 0 Tower initStep + 1 -32.7 -489 1.57e+03 0 0.121 0.0373 0.0373 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -19.5 -477 1.58e+03 0.00678 0 0 0 Tower initStep + 1 -19.5 -477 1.58e+03 0 0.00678 0.000297 0.000297 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -16 -477 1.58e+03 0.00989 0 0 0 Tower initStep + 1 -16 -477 1.58e+03 0 0.00989 0.000546 0.000546 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -14.1 -475 1.58e+03 0.0279 0 0 0 Tower initStep + 1 -14.1 -475 1.58e+03 0 0.0279 0.00313 0.00313 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.86 -469 1.59e+03 0.0119 0 0 0 Tower initStep + 1 -4.86 -469 1.59e+03 0 0.0119 0.000738 0.000738 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.23 -454 1.59e+03 0.0723 0 0 0 Tower initStep + 1 3.22 -454 1.59e+03 0 0.0723 0.0158 0.0158 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 12.8 -458 1.59e+03 0.0869 0 0 0 Tower initStep + 1 12.8 -458 1.59e+03 0 0.0869 0.0215 0.0215 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 18.4 -479 1.59e+03 0.837 0 0 0 Tower initStep + 1 18.5 -479 1.59e+03 0.55 0.158 0.137 0.137 Tower eBrem + 2 18.5 -479 1.59e+03 0 0.55 0.365 0.502 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 101 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 18.5 -479 1.59e+03 0.129 0 0 0 Tower initStep + 1 28.2 -479 1.59e+03 0.105 0 9.95 9.95 Tower compt + 2 28.6 -479 1.59e+03 0 0.00711 1.24 11.2 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 109 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 28.6 -479 1.59e+03 0.0982 0 0 0 Tower initStep + 1 28.6 -479 1.59e+03 0 0.0982 0.0263 0.0263 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 109 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 28.2 -479 1.59e+03 0.0237 0 0 0 Tower initStep + 1 28.2 -479 1.59e+03 0 0.0237 0.00236 0.00236 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.8 -479 1.58e+03 0.103 0 0 0 Tower initStep + 1 16.8 -479 1.58e+03 0 0.103 0.0285 0.0285 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 92 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.862 -398 1.34e+03 0.0715 0 0 0 Crystal initStep + 1 -0.921 -398 1.34e+03 0 0.036 0.0824 0.0824 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 96 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.921 -398 1.34e+03 0.0355 0 0 0 Crystal initStep + 1 -0.921 -398 1.34e+03 0 0.0355 0.0106 0.0106 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 92 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.676 -398 1.34e+03 0.228 0 0 0 Crystal initStep + 1 -6.52 -400 1.34e+03 0 0.036 8.32 8.32 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 95 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.52 -400 1.34e+03 0.192 0 0 0 Crystal initStep + 1 -6.54 -400 1.34e+03 0 0.192 0.169 0.169 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.18 -371 1.21e+03 2.46 0 0 0 Crystal initStep + 1 0.997 -371 1.21e+03 2.33 0.13 0.355 0.355 Crystal msc + 2 0.809 -371 1.21e+03 2.23 0.102 0.224 0.579 Crystal msc + 3 0.62 -371 1.21e+03 2.1 0.078 0.2 0.78 Crystal eBrem + 4 0.455 -371 1.21e+03 1.98 0.12 0.18 0.959 Crystal msc + 5 0.308 -371 1.21e+03 1.9 0.0755 0.18 1.14 Crystal msc + 6 0.377 -371 1.21e+03 1.84 0.0652 0.18 1.32 Crystal msc + 7 0.487 -371 1.21e+03 1.77 0.0669 0.18 1.5 Crystal msc + 8 0.593 -371 1.21e+03 1.7 0.0721 0.18 1.68 Crystal msc + 9 0.621 -371 1.21e+03 1.6 0.0955 0.18 1.86 Crystal msc + 10 0.662 -370 1.21e+03 1.49 0.119 0.18 2.04 Crystal msc + 11 0.593 -370 1.21e+03 1.43 0.059 0.18 2.22 Crystal msc + 12 0.459 -370 1.21e+03 1.25 0.182 0.18 2.4 Crystal msc + 13 0.402 -370 1.21e+03 1.14 0.109 0.18 2.58 Crystal msc + 14 0.31 -370 1.21e+03 1.05 0.0824 0.18 2.76 Crystal msc + 15 0.25 -370 1.21e+03 1 0.0532 0.18 2.94 Crystal msc + 16 0.27 -370 1.21e+03 0.927 0.0736 0.18 3.12 Crystal msc + 17 0.391 -370 1.21e+03 0.842 0.0848 0.18 3.3 Crystal msc + 18 0.3 -370 1.21e+03 0.769 0.0727 0.18 3.48 Crystal msc + 19 0.218 -370 1.21e+03 0.627 0.143 0.18 3.66 Crystal msc + 20 0.135 -370 1.21e+03 0.528 0.0988 0.18 3.84 Crystal msc + 21 0.152 -370 1.21e+03 0.428 0.0997 0.18 4.02 Crystal msc + 22 0.168 -370 1.21e+03 0.32 0.108 0.18 4.2 Crystal msc + 23 0.192 -370 1.21e+03 0.219 0.101 0.18 4.38 Crystal msc + 24 0.205 -370 1.21e+03 0.057 0.163 0.18 4.56 Crystal msc + 25 0.207 -370 1.21e+03 0 0.057 0.0233 4.58 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 16 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.62 -371 1.21e+03 0.0518 0 0 0 Crystal initStep + 1 0.479 -371 1.21e+03 0 0.036 0.151 0.151 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 114 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.479 -371 1.21e+03 0.0158 0 0 0 Crystal initStep + 1 0.479 -371 1.21e+03 0 0.0158 0.00277 0.00277 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.242 -360 1.17e+03 2.02 0 0 0 Crystal initStep + 1 -0.313 -360 1.17e+03 1.96 0.0644 0.145 0.145 Crystal msc + 2 -0.252 -360 1.17e+03 1.9 0.0526 0.145 0.291 Crystal msc + 3 -0.331 -359 1.17e+03 1.82 0.0843 0.145 0.436 Crystal msc + 4 -0.378 -359 1.17e+03 1.75 0.0688 0.145 0.582 Crystal msc + 5 -0.427 -359 1.17e+03 1.43 0.0312 0.0759 0.658 Crystal eBrem + 6 -0.543 -359 1.17e+03 1.37 0.0618 0.145 0.803 Crystal msc + 7 -0.644 -359 1.17e+03 1.08 0.294 0.145 0.948 Crystal msc + 8 -0.743 -360 1.17e+03 1.02 0.0603 0.145 1.09 Crystal msc + 9 -0.866 -360 1.17e+03 0.947 0.0691 0.145 1.24 Crystal msc + 10 -0.921 -360 1.17e+03 0.882 0.0648 0.17 1.41 Crystal msc + 11 -1.04 -360 1.17e+03 0.787 0.0948 0.2 1.61 Crystal msc + 12 -1.09 -360 1.17e+03 0.7 0.087 0.209 1.82 Crystal msc + 13 -1.15 -360 1.17e+03 0.601 0.0996 0.244 2.06 Crystal msc + 14 -1.08 -360 1.17e+03 0.458 0.142 0.255 2.32 Crystal msc + 15 -1.02 -360 1.17e+03 0 0.458 0.604 2.92 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 15 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.427 -359 1.17e+03 0.289 0 0 0 Crystal initStep + 1 -18.2 -358 1.18e+03 0 0.036 21.2 21.2 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 116 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -18.2 -358 1.18e+03 0.253 0 0 0 Crystal initStep + 1 -18.2 -358 1.18e+03 0 0.253 0.256 0.256 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.937 -355 1.15e+03 14.3 0 0 0 Crystal initStep + 1 -0.893 -355 1.15e+03 13.2 0.451 0.858 0.858 Crystal eBrem + 2 -0.921 -355 1.15e+03 12.9 0.244 0.46 1.32 Crystal eBrem + 3 -0.884 -355 1.15e+03 10.8 0.061 0.136 1.45 Crystal eBrem + 4 -0.779 -355 1.15e+03 10.4 0.289 0.54 1.99 Crystal eBrem + 5 -0.591 -355 1.15e+03 9.74 0.388 0.838 2.83 Crystal eBrem + 6 -0.883 -356 1.15e+03 5.24 0.894 1.85 4.68 Crystal eBrem + 7 -0.704 -356 1.15e+03 4.36 0.835 1.75 6.43 Crystal eBrem + 8 -1.09 -355 1.15e+03 3.81 0.481 0.952 7.38 Crystal eBrem + 9 -1.19 -357 1.15e+03 2.59 1.23 2.72 10.1 Crystal eBrem + 10 -0.664 -356 1.16e+03 1.08 0.901 2.25 12.4 Crystal eBrem + 11 -0.665 -356 1.16e+03 0.185 0.899 1.52 13.9 Crystal eIoni + 12 -0.672 -356 1.16e+03 0 0.185 0.158 14 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.664 -356 1.16e+03 0.603 0 0 0 Crystal initStep + 1 -0.18 -355 1.16e+03 0.447 0 1.83 1.83 Crystal compt + 2 5.83e-16 -354 1.16e+03 0.447 0 0.56 2.39 Crystal CoupledTransportation + 3 1.77 -350 1.16e+03 0.447 0 5.51 7.91 Crystal CoupledTransportation + 4 7.98 -335 1.17e+03 0 0.036 19.4 27.3 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 126 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 7.98 -335 1.17e+03 0.411 0 0 0 Crystal initStep + 1 7.99 -335 1.17e+03 0 0.411 0.52 0.52 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 126 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.18 -355 1.16e+03 0.156 0 0 0 Crystal initStep + 1 -0.179 -355 1.16e+03 0 0.156 0.121 0.121 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 125, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.09 -355 1.15e+03 0.0615 0 0 0 Crystal initStep + 1 -1.41 -355 1.15e+03 0 0.036 0.515 0.515 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 125 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.41 -355 1.15e+03 0.0255 0 0 0 Crystal initStep + 1 -1.41 -355 1.15e+03 0 0.0255 0.00607 0.00607 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.704 -356 1.15e+03 0.0488 0 0 0 Crystal initStep + 1 -0.704 -356 1.15e+03 0 0.0332 0.00326 0.00326 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 124 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.704 -356 1.15e+03 0.0156 0 0 0 Crystal initStep + 1 -0.704 -356 1.15e+03 0 0.0156 0.00272 0.00272 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 123, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.883 -356 1.15e+03 3.6 0 0 0 Crystal initStep + 1 -2.58 -350 1.16e+03 0.513 0 9.75 9.75 Crystal compt + 2 -4.63 -352 1.16e+03 0.396 0 2.76 12.5 Crystal compt + 3 -7 -371 1.17e+03 0.315 0 19.9 32.4 Crystal compt + 4 -7.53 -376 1.16e+03 0.285 0 6.03 38.4 Crystal compt + 5 -8.59 -377 1.16e+03 0.219 0 1.71 40.1 Crystal compt + 6 -8.8 -377 1.16e+03 0 0.036 0.254 40.4 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 123 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -8.8 -377 1.16e+03 0.183 0 0 0 Crystal initStep + 1 -8.82 -377 1.16e+03 0 0.183 0.156 0.156 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 123 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -8.59 -377 1.16e+03 0.0656 0 0 0 Crystal initStep + 1 -8.59 -377 1.16e+03 0 0.0656 0.0294 0.0294 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 123 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -7.53 -376 1.16e+03 0.0298 0 0 0 Crystal initStep + 1 -7.53 -376 1.16e+03 0 0.0298 0.00787 0.00787 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 123 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -7 -371 1.17e+03 0.0817 0 0 0 Crystal initStep + 1 -7 -371 1.17e+03 0 0.0817 0.0423 0.0423 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 123 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.63 -352 1.16e+03 0.117 0 0 0 Crystal initStep + 1 -4.64 -352 1.16e+03 0 0.117 0.076 0.076 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 123 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -2.58 -350 1.16e+03 3.09 0 0 0 Crystal initStep + 1 -2.59 -350 1.16e+03 2.97 0.114 0.206 0.206 Crystal CoupledTransportation + 2 -2.52 -350 1.16e+03 2.86 0.115 0.236 0.441 Crystal msc + 3 -2.4 -350 1.16e+03 2.74 0.122 0.236 0.677 Crystal msc + 4 -2.21 -350 1.16e+03 2.65 0.0923 0.236 0.912 Crystal msc + 5 -2.13 -350 1.16e+03 2.56 0.0817 0.236 1.15 Crystal msc + 6 -2.11 -350 1.16e+03 2.44 0.128 0.236 1.38 Crystal msc + 7 -1.95 -350 1.16e+03 2.3 0.131 0.236 1.62 Crystal msc + 8 -1.88 -350 1.16e+03 1.84 0.0365 0.0815 1.7 Crystal eBrem + 9 -1.71 -350 1.16e+03 1.76 0.085 0.236 1.94 Crystal msc + 10 -1.68 -350 1.16e+03 1.66 0.0987 0.224 2.16 Crystal CoupledTransportation + 11 -1.68 -350 1.16e+03 1.66 0 0 2.16 Crystal CoupledTransportation + 12 -1.61 -350 1.16e+03 1.62 0.036 0.117 2.28 Crystal msc + 13 -1.59 -350 1.16e+03 1.54 0.0798 0.117 2.39 Crystal msc + 14 -1.57 -350 1.16e+03 1.52 0.0218 0.0553 2.45 Crystal CoupledTransportation + 15 -1.58 -350 1.16e+03 1.49 0.0357 0.106 2.56 Crystal msc + 16 -1.57 -350 1.16e+03 1.44 0.0429 0.106 2.66 Crystal msc + 17 -1.57 -350 1.16e+03 1.39 0.0575 0.106 2.77 Crystal msc + 18 -1.59 -350 1.16e+03 1.33 0.0575 0.106 2.88 Crystal msc + 19 -1.66 -350 1.16e+03 1.28 0.0497 0.106 2.98 Crystal msc + 20 -1.7 -350 1.16e+03 1.24 0.0399 0.106 3.09 Crystal msc + 21 -1.71 -350 1.16e+03 1.19 0.0456 0.106 3.2 Crystal msc + 22 -1.77 -350 1.16e+03 1.15 0.0425 0.106 3.3 Crystal msc + 23 -1.78 -350 1.16e+03 1.08 0.0717 0.106 3.41 Crystal msc + 24 -1.76 -351 1.16e+03 1.04 0.0352 0.106 3.51 Crystal msc + 25 -1.77 -351 1.16e+03 0.993 0.0509 0.106 3.62 Crystal msc + 26 -1.77 -351 1.16e+03 0.939 0.0541 0.131 3.75 Crystal msc + 27 -1.77 -351 1.16e+03 0.871 0.0681 0.149 3.9 Crystal msc + 28 -1.83 -351 1.16e+03 0.676 0.195 0.178 4.08 Crystal msc + 29 -1.8 -351 1.16e+03 0.379 0.0947 0.2 4.28 Crystal eBrem + 30 -1.79 -351 1.16e+03 0.0846 0.244 0.354 4.63 Crystal eBrem + 31 -1.79 -351 1.16e+03 0 0.0846 0.0449 4.68 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 131 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.79 -351 1.16e+03 0.0507 0 0 0 Crystal initStep + 1 -1.65 -351 1.16e+03 0 0.036 0.223 0.223 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 139 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.65 -351 1.16e+03 0.0147 0 0 0 Crystal initStep + 1 -1.65 -351 1.16e+03 0 0.0147 0.00247 0.00247 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 131 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.8 -351 1.16e+03 0.202 0 0 0 Crystal initStep + 1 -4.37 -350 1.16e+03 0.202 0 6.12 6.12 Crystal CoupledTransportation + 2 -11.4 -347 1.14e+03 0 0.0332 16.6 22.7 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 138 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.4 -347 1.14e+03 0.169 0 0 0 Crystal initStep + 1 -11.4 -347 1.14e+03 0 0.169 0.137 0.137 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 131 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.88 -350 1.16e+03 0.425 0 0 0 Crystal initStep + 1 -1.59 -350 1.16e+03 0.425 0 0.327 0.327 Crystal CoupledTransportation + 2 2.22e-16 -351 1.16e+03 0.425 0 1.78 2.11 Crystal CoupledTransportation + 3 7.34 -354 1.16e+03 0 0.036 8.24 10.4 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 137 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 7.34 -354 1.16e+03 0.389 0 0 0 Crystal initStep + 1 7.35 -354 1.16e+03 0 0.389 0.48 0.48 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.591 -355 1.15e+03 0.28 0 0 0 Crystal initStep + 1 -0.291 -356 1.15e+03 0 0.0332 1.29 1.29 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 122 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.291 -356 1.15e+03 0.247 0 0 0 Crystal initStep + 1 -0.289 -356 1.15e+03 0 0.247 0.247 0.247 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.779 -355 1.15e+03 0.143 0 0 0 Crystal initStep + 1 -0.72 -355 1.15e+03 0 0.036 0.449 0.449 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 121 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.72 -355 1.15e+03 0.107 0 0 0 Crystal initStep + 1 -0.721 -355 1.15e+03 0 0.107 0.0656 0.0656 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.884 -355 1.15e+03 1.97 0 0 0 Crystal initStep + 1 9.99e-16 -356 1.15e+03 1.97 0 2.97 2.97 Crystal CoupledTransportation + 2 50 -400 1.31e+03 1.97 0 168 171 Crystal CoupledTransportation + 3 50.4 -400 1.31e+03 1.97 0 1.39 172 Crystal CoupledTransportation + 4 80.6 -427 1.4e+03 1.97 0 101 274 WorldPhysical CoupledTransportation + 5 113 -455 1.5e+03 1.97 0 109 383 HadCaloPhysical CoupledTransportation + 6 129 -469 1.55e+03 1.97 0 54.5 437 Tower CoupledTransportation + 7 131 -471 1.56e+03 1.25 0 6.28 443 Tower compt + 8 136 -468 1.57e+03 0.32 0 13 456 Tower compt + 9 144 -476 1.56e+03 0.202 0 11.8 468 Tower compt + 10 142 -475 1.56e+03 0.161 0 7.52 476 Tower compt + 11 150 -474 1.55e+03 0.161 0 10.2 486 Tower CoupledTransportation + 12 150 -474 1.55e+03 0.161 0 0.434 486 HadCaloPhysical CoupledTransportation + 13 217 -463 1.5e+03 0.161 0 83.8 570 WorldPhysical CoupledTransportation + 14 350 -442 1.4e+03 0.161 0 168 738 Crystal CoupledTransportation + 15 350 -442 1.4e+03 0.161 0 0.467 738 Crystal CoupledTransportation + 16 352 -441 1.4e+03 0.151 0 3.08 741 Crystal compt + 17 353 -441 1.4e+03 0.147 0 0.328 742 Crystal compt + 18 353 -441 1.4e+03 0 0.0332 0.417 742 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 151, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 353 -441 1.4e+03 0.114 0 0 0 Crystal initStep + 1 353 -441 1.4e+03 0 0.114 0.0733 0.0733 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 353 -441 1.4e+03 0.00421 0 0 0 Crystal initStep + 1 353 -441 1.4e+03 0 0.00421 0.000357 0.000357 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 352 -441 1.4e+03 0.00987 0 0 0 Crystal initStep + 1 352 -441 1.4e+03 0 0.00987 0.0013 0.0013 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 142 -475 1.56e+03 0.041 0 0 0 Tower initStep + 1 142 -475 1.56e+03 0 0.041 0.00602 0.00602 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 144 -476 1.56e+03 0.118 0 0 0 Tower initStep + 1 144 -476 1.56e+03 0 0.118 0.0354 0.0354 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 136 -468 1.57e+03 0.931 0 0 0 Tower initStep + 1 137 -467 1.57e+03 0 0.931 0.719 0.719 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 120 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 131 -471 1.56e+03 0.717 0 0 0 Tower initStep + 1 131 -471 1.56e+03 0 0.717 0.517 0.517 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.921 -355 1.15e+03 0.128 0 0 0 Crystal initStep + 1 -0.604 -355 1.15e+03 0.126 0 1.48 1.48 Crystal compt + 2 -0.329 -355 1.15e+03 0 0.036 1.14 2.63 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 119 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.329 -355 1.15e+03 0.0901 0 0 0 Crystal initStep + 1 -0.328 -355 1.15e+03 0 0.0901 0.0498 0.0498 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 119 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.604 -355 1.15e+03 0.00161 0 0 0 Crystal initStep + 1 -0.604 -355 1.15e+03 0 0.00161 9.2e-05 9.2e-05 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.893 -355 1.15e+03 0.597 0 0 0 Crystal initStep + 1 -11.5 -366 1.22e+03 0.227 0 72.9 72.9 Crystal compt + 2 0 -357 1.22e+03 0.227 0 14.8 87.7 Crystal CoupledTransportation + 3 9.36 -350 1.21e+03 0.227 0 12.1 99.7 Crystal CoupledTransportation + 4 11.6 -348 1.21e+03 0 0.036 2.93 103 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 118 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 11.6 -348 1.21e+03 0.191 0 0 0 Crystal initStep + 1 11.6 -348 1.21e+03 0 0.191 0.166 0.166 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 118 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.5 -366 1.22e+03 0.37 0 0 0 Crystal initStep + 1 -11.5 -366 1.22e+03 0 0.37 0.447 0.447 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.99 -349 1.13e+03 0.788 0 0 0 Crystal initStep + 1 -2.09 -349 1.13e+03 0.673 0.115 0.273 0.273 Crystal msc + 2 -2.2 -349 1.13e+03 0.599 0.0735 0.192 0.465 Crystal msc + 3 -2.28 -349 1.13e+03 0.52 0.0793 0.17 0.635 Crystal msc + 4 -2.23 -349 1.13e+03 0.433 0.0867 0.184 0.819 Crystal msc + 5 -2.22 -349 1.13e+03 0 0.433 0.559 1.38 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -5.22 -339 1.08e+03 0.705 0 0 0 Crystal initStep + 1 -5.1 -339 1.08e+03 0.0683 0.637 1.06 1.06 Crystal eIoni + 2 -5.1 -339 1.08e+03 0 0.0683 0.0314 1.1 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -5.81 -334 1.06e+03 1.4 0 0 0 Crystal initStep + 1 -6.09 -335 1.06e+03 0.653 0.68 1.67 1.67 Crystal eBrem + 2 -6.3 -335 1.06e+03 0.315 0.285 0.56 2.23 Crystal eBrem + 3 -6.29 -335 1.06e+03 0 0.315 0.354 2.58 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 157, Parent ID = 11 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.3 -335 1.06e+03 0.053 0 0 0 Crystal initStep + 1 -6.3 -335 1.06e+03 0 0.0332 0.0346 0.0346 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 157 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.3 -335 1.06e+03 0.0198 0 0 0 Crystal initStep + 1 -6.3 -335 1.06e+03 0 0.0198 0.004 0.004 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 156, Parent ID = 11 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.09 -335 1.06e+03 0.0648 0 0 0 Crystal initStep + 1 -6.12 -335 1.06e+03 0 0.036 0.343 0.343 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 156 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.12 -335 1.06e+03 0.0288 0 0 0 Crystal initStep + 1 -6.12 -335 1.06e+03 0 0.0288 0.00745 0.00745 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -5.85 -334 1.06e+03 1.55 0 0 0 Crystal initStep + 1 -6.63 -333 1.06e+03 0.578 0.88 1.77 1.77 Crystal eBrem + 2 -6.65 -334 1.06e+03 0 0.578 0.826 2.6 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 160, Parent ID = 10 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.63 -333 1.06e+03 0.0931 0 0 0 Crystal initStep + 1 -6.94 -334 1.06e+03 0 0.0332 0.342 0.342 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 160 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -6.94 -334 1.06e+03 0.0599 0 0 0 Crystal initStep + 1 -6.94 -334 1.06e+03 0 0.0599 0.0253 0.0253 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -5.26 -326 1.04e+03 0.803 0 0 0 Crystal initStep + 1 -5.48 -326 1.04e+03 0.0118 0.792 1.22 1.22 Crystal eIoni + 2 -5.48 -326 1.04e+03 0 0.0118 0.00172 1.22 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.86 -300 960 0.00116 0 0 0 WorldPhysical initStep + 1 -4.83 -300 960 0 0.00116 0.0704 0.0704 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.62 -294 943 0.0096 0 0 0 WorldPhysical initStep + 1 -3.66 -294 943 0.00522 0.00325 1.49 1.49 WorldPhysical eIoni + 2 -3.44 -294 943 0 0.00522 0.775 2.26 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.66 -294 943 0.00113 0 0 0 WorldPhysical initStep + 1 -3.66 -294 943 0 0.00113 0.0683 0.0683 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.12 -283 908 0.00233 0 0 0 WorldPhysical initStep + 1 -4.03 -283 908 0 0.00233 0.197 0.197 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.35 -216 711 0.00178 0 0 0 DriftChamberPhysical initStep + 1 -1.56 -217 711 0 0.00178 0.729 0.729 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = anti_nu_mu, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00237 -184 615 306 0 0 0 DriftChamberPhysical initStep + 1 10.6 -243 900 306 0 291 291 WorldPhysical CoupledTransportation + 2 14.3 -264 1e+03 306 0 102 394 Crystal CoupledTransportation + 3 20.7 -300 1.17e+03 306 0 178 571 Crystal CoupledTransportation + 4 29.1 -347 1.4e+03 306 0 231 802 WorldPhysical CoupledTransportation + 5 32.8 -367 1.5e+03 306 0 102 904 HadCaloPhysical CoupledTransportation + 6 34.7 -378 1.55e+03 306 0 51.1 956 Tower CoupledTransportation + 7 47.6 -450 1.9e+03 306 0 356 1.31e+03 Tower CoupledTransportation + 8 50 -463 1.96e+03 306 0 66.1 1.38e+03 Tower CoupledTransportation + 9 65.5 -550 2.38e+03 306 0 428 1.81e+03 Tower CoupledTransportation + 10 68.1 -564 2.45e+03 306 0 69.9 1.88e+03 HadCaloPhysical CoupledTransportation + 11 69.9 -575 2.5e+03 306 0 51.1 1.93e+03 WorldPhysical CoupledTransportation + 12 126 -885 4e+03 306 0 1.53e+03 3.46e+03 OutOfWorld CoupledTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00223 -45.3 151 0.00279 0 0 0 DriftChamberPhysical initStep + 1 -0.852 -44.4 151 0.000485 0.0023 1.38 1.38 DriftChamberPhysical eIoni + 2 -0.913 -44.5 151 0 0.000485 0.128 1.51 DriftChamberPhysical eIoni +>>> Event 2 + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2589252417026369 (GeV) + 7 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.5030344591325733 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 -30 100 1e+03 0.0188 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0654 -191 636 1e+03 0.0124 560 664 DriftChamberPhysical hIoni + 3 -0.0795 -224 747 1e+03 0.00246 116 780 DriftChamberPhysical hIoni + 4 -0.0805 -243 809 1e+03 0.00134 64.6 844 DriftChamberPhysical hIoni + 5 -0.0851 -270 900 1e+03 0.00188 95.2 940 WorldPhysical CoupledTransportation + 6 -0.0879 -285 950 1e+03 0.00655 52.2 992 WorldPhysical G4FSMP_parallelGeom + 7 -0.0879 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0805 -243 809 0.00219 0 0 0 DriftChamberPhysical initStep + 1 0.616 -243 809 0 0.00219 1.02 1.02 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0795 -224 747 0.0223 0 0 0 DriftChamberPhysical initStep + 1 -3.39 -212 754 0.0193 0.00292 14.9 14.9 DriftChamberPhysical eIoni + 2 -6.84 -202 759 0.0174 0.00196 11.9 26.8 DriftChamberPhysical eIoni + 3 -9.55 -193 761 0.0152 0.00221 10 36.9 DriftChamberPhysical eIoni + 4 -13.4 -186 761 0.0136 0.00155 8.14 45 DriftChamberPhysical eIoni + 5 -17.8 -183 760 0.00977 0.00172 5.43 50.4 DriftChamberPhysical eIoni + 6 -20.5 -181 758 0.00839 0.00138 4.45 54.9 DriftChamberPhysical eIoni + 7 -22.4 -178 756 0.00703 0.00136 3.72 58.6 DriftChamberPhysical eIoni + 8 -23.1 -178 753 0.00565 0.00137 3.09 61.7 DriftChamberPhysical eIoni + 9 -24.5 -178 752 0.0032 0.00143 2.16 63.8 DriftChamberPhysical eIoni + 10 -25 -177 751 0.0016 0.0016 1.58 65.4 DriftChamberPhysical eIoni + 11 -24.8 -177 750 0 0.0016 0.618 66 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -24.5 -178 752 0.00102 0 0 0 DriftChamberPhysical initStep + 1 -24.7 -178 752 0 0.00102 0.315 0.315 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -17.8 -183 760 0.00214 0 0 0 DriftChamberPhysical initStep + 1 -18.1 -183 761 0 0.00214 0.978 0.978 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0654 -191 636 0.00591 0 0 0 DriftChamberPhysical initStep + 1 -2.28 -192 637 0.00464 0.00127 2.62 2.62 DriftChamberPhysical eIoni + 2 -4.26 -192 636 0.002 0.00263 2.13 4.75 DriftChamberPhysical eIoni + 3 -4.86 -192 636 0 0.002 0.881 5.63 DriftChamberPhysical eIoni +>>> Event 3 + 3 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.09999261663132081 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.8999335496818869 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -0.0073 -16.5 55.2 1e+03 0.00705 57.6 57.6 WorldPhysical hIoni + 2 -0.0156 -30 100 1e+03 0.00763 46.8 104 DriftChamberPhysical CoupledTransportation + 3 -0.168 -210 700 1e+03 0.0154 626 731 DriftChamberPhysical hIoni + 4 -0.226 -270 900 1e+03 0.00474 209 940 WorldPhysical CoupledTransportation + 5 -0.241 -285 950 1e+03 0.00704 52.2 992 WorldPhysical G4FSMP_parallelGeom + 6 -0.241 -285 950 0 1e+03 0 992 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.168 -210 700 0.00142 0 0 0 DriftChamberPhysical initStep + 1 0.15 -210 700 0 0.00142 0.515 0.515 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0073 -16.5 55.2 0.00131 0 0 0 WorldPhysical initStep + 1 -0.0413 -16.5 55.2 0 0.00131 0.0839 0.0839 WorldPhysical eIoni +>>> Event 4 + 1 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.01999910848925468 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9799563159734798 (GeV) number of event = 5 ### Run 7 start. @@ -3822,33 +4476,42 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000195 -2.95 4.92 1e+03 0.00027 5.74 5.74 WorldPhysical hIoni - 2 0.000121 -7.64 12.7 1e+03 0.00119 9.12 14.9 WorldPhysical hIoni - 3 0.00638 -60 100 1e+03 0.012 102 117 DriftChamberPhysical CoupledTransportation - 4 -0.0443 -540 900 1e+03 0.0161 933 1.05e+03 WorldPhysical CoupledTransportation - 5 -0.0455 -570 950 1e+03 0.00702 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 6 -0.0455 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 1 -0.00104 -9.19 15.3 1e+03 0.00336 17.9 17.9 WorldPhysical hIoni + 2 -0.00669 -60 100 1e+03 0.0154 98.8 117 DriftChamberPhysical CoupledTransportation + 3 -0.129 -492 820 1e+03 0.0166 840 957 DriftChamberPhysical hIoni + 4 -0.131 -540 900 1e+03 0.00193 93 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.131 -544 907 1e+03 0.00128 8.4 1.06e+03 WorldPhysical hIoni + 6 -0.137 -570 950 1e+03 0.00866 49.9 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 7 -0.137 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.131 -544 907 0.00101 0 0 0 WorldPhysical initStep + 1 -0.131 -544 907 0 0.00101 0.0582 0.0582 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000121 -7.64 12.7 0.00235 0 0 0 WorldPhysical initStep - 1 -0.0422 -7.71 12.7 0 0.00235 0.2 0.2 WorldPhysical eIoni + 0 -0.129 -492 820 0.00107 0 0 0 DriftChamberPhysical initStep + 1 -0.341 -492 820 0 0.00107 0.339 0.339 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000195 -2.95 4.92 0.00152 0 0 0 WorldPhysical initStep - 1 -0.0387 -2.94 4.93 0 0.00152 0.103 0.103 WorldPhysical eIoni + 0 -0.00104 -9.19 15.3 0.00102 0 0 0 WorldPhysical initStep + 1 0.0162 -9.2 15.3 0 0.00102 0.0597 0.0597 WorldPhysical eIoni >>> Event 0 - 5 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.279988686443011 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7199709079963139 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1999899353232429 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.759961754228323 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3856,165 +4519,96 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -18.6 31.1 1e+03 0.00487 36.2 36.2 WorldPhysical hIoni - 2 -0.0192 -55.4 92.4 1e+03 0.0102 71.5 108 WorldPhysical hIoni - 3 -0.0231 -60 100 1e+03 0.00149 8.91 117 DriftChamberPhysical CoupledTransportation - 4 -0.0658 -116 194 1e+03 0.00212 109 226 DriftChamberPhysical hIoni - 5 -0.392 -540 900 1e+03 0.0187 824 1.05e+03 WorldPhysical CoupledTransportation - 6 -0.394 -542 904 1e+03 0.000443 4.82 1.05e+03 WorldPhysical hIoni - 7 -0.411 -566 944 1e+03 0.00521 46.3 1.1e+03 WorldPhysical hIoni - 8 -0.414 -570 950 1e+03 0.00312 7.15 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 9 -0.414 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 1 -0.000251 -3.45 5.75 1e+03 0.00223 6.71 6.71 WorldPhysical hIoni + 2 -0.00666 -23.2 38.6 1e+03 0.0059 38.3 45 WorldPhysical hIoni + 3 -0.0213 -60 100 1e+03 0.0109 71.6 117 DriftChamberPhysical CoupledTransportation + 4 -0.0889 -234 390 1e+03 0.00738 339 455 DriftChamberPhysical hIoni + 5 -0.116 -297 495 1e+03 0.00263 122 578 DriftChamberPhysical hIoni + 6 -0.134 -348 579 1e+03 0.0019 97.8 675 DriftChamberPhysical hIoni + 7 -0.232 -523 871 1e+03 0.00982 340 1.02e+03 DriftChamberPhysical hIoni + 8 -0.241 -541 900 1e+03 0.000579 34.2 1.05e+03 WorldPhysical CoupledTransportation + 9 -0.256 -568 945 1e+03 0.00799 52.7 1.1e+03 WorldPhysical hIoni + 10 -0.257 -571 950 1e+03 0.000319 5.6 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 11 -0.257 -571 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.256 -568 945 0.00147 0 0 0 WorldPhysical initStep + 1 -0.216 -568 945 0 0.00147 0.0988 0.0988 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.411 -566 944 0.00153 0 0 0 WorldPhysical initStep - 1 -0.403 -566 944 0 0.00153 0.104 0.104 WorldPhysical eIoni + 0 -0.232 -523 871 0.00471 0 0 0 DriftChamberPhysical initStep + 1 -1.91 -522 871 0.00343 0.00129 2.16 2.16 DriftChamberPhysical eIoni + 2 -1.85 -521 870 0.000977 0.00245 1.67 3.83 DriftChamberPhysical eIoni + 3 -1.93 -521 870 0 0.000977 0.298 4.13 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.394 -542 904 0.027 0 0 0 WorldPhysical initStep - 1 -0.737 -542 905 0.0261 0.000899 1.16 1.16 WorldPhysical msc - 2 -1.34 -541 905 0.0255 0.000612 1.16 2.31 WorldPhysical msc - 3 -2.44 -541 905 0.0249 0.000577 1.16 3.47 WorldPhysical msc - 4 -3.54 -541 905 0.0241 0.000739 1.16 4.63 WorldPhysical msc - 5 -4.58 -541 905 0.0213 0.00281 1.16 5.78 WorldPhysical msc - 6 -5.61 -541 904 0.0208 0.000568 1.16 6.94 WorldPhysical msc - 7 -6.72 -541 904 0.0198 0.000988 1.16 8.1 WorldPhysical msc - 8 -7.74 -541 904 0.0185 0.00129 1.16 9.25 WorldPhysical msc - 9 -8.53 -541 903 0.0172 0.00131 1.16 10.4 WorldPhysical msc - 10 -8.86 -541 903 0.0153 0.000634 0.527 10.9 WorldPhysical eIoni - 11 -9.5 -542 902 0.0127 0.00258 1.16 12.1 WorldPhysical msc - 12 -10 -541 901 0.0106 0.00204 1.16 13.3 WorldPhysical msc - 13 -9.77 -541 900 0.00938 0.00126 1.16 14.4 WorldPhysical msc - 14 -9.34 -541 901 0.00694 0.00137 1.02 15.4 WorldPhysical eIoni - 15 -9.19 -541 902 0.00239 0.00455 1.16 16.6 WorldPhysical msc - 16 -9.26 -541 902 0 0.00239 0.205 16.8 WorldPhysical eIoni + 0 -0.134 -348 579 0.0128 0 0 0 DriftChamberPhysical initStep + 1 5.91 -349 579 0.0115 0.00128 6.37 6.37 DriftChamberPhysical eIoni + 2 7.71 -353 583 0.0104 0.00109 5.52 11.9 DriftChamberPhysical eIoni + 3 10.7 -354 586 0.0093 0.00115 4.84 16.7 DriftChamberPhysical eIoni + 4 13.4 -356 589 0.00649 0.00176 4.05 20.8 DriftChamberPhysical eIoni + 5 14.3 -358 590 0.00519 0.0013 2.86 23.6 DriftChamberPhysical eIoni + 6 15.3 -359 592 0.00347 0.00172 2.34 26 DriftChamberPhysical eIoni + 7 16.7 -359 592 0.00194 0.00153 1.69 27.7 DriftChamberPhysical eIoni + 8 17 -360 593 0 0.00194 0.838 28.5 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -9.34 -541 901 0.00107 0 0 0 WorldPhysical initStep - 1 -9.35 -541 901 0 0.00107 0.0629 0.0629 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -8.86 -541 903 0.00129 0 0 0 WorldPhysical initStep - 1 -8.87 -541 903 0 0.00129 0.0818 0.0818 WorldPhysical eIoni + 0 13.4 -356 589 0.00104 0 0 0 DriftChamberPhysical initStep + 1 13.3 -356 589 0 0.00104 0.325 0.325 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0658 -116 194 0.00154 0 0 0 DriftChamberPhysical initStep - 1 -0.451 -116 194 0 0.00154 0.578 0.578 DriftChamberPhysical eIoni + 0 -0.116 -297 495 0.00111 0 0 0 DriftChamberPhysical initStep + 1 -0.0122 -297 495 0 0.00111 0.358 0.358 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0192 -55.4 92.4 0.00678 0 0 0 WorldPhysical initStep - 1 -0.529 -56 92.5 0.00171 0.00507 1.2 1.2 WorldPhysical eIoni - 2 -0.518 -56 92.5 0 0.00171 0.122 1.32 WorldPhysical eIoni + 0 -0.00666 -23.2 38.6 0.00104 0 0 0 WorldPhysical initStep + 1 -0.0132 -23.2 38.6 0 0.00104 0.061 0.061 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 -18.6 31.1 0.00474 0 0 0 WorldPhysical initStep - 1 0.128 -18.7 31 0.00319 0.000434 0.151 0.151 WorldPhysical eIoni - 2 0.241 -18.6 31 0 0.00319 0.329 0.479 WorldPhysical eIoni + 0 -0.000251 -3.45 5.75 0.00733 0 0 0 WorldPhysical initStep + 1 0.333 -3.56 5.58 0.00437 0.00115 0.422 0.422 WorldPhysical eIoni + 2 0.552 -3.49 5.69 0 0.00437 0.567 0.99 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.128 -18.7 31 0.00112 0 0 0 WorldPhysical initStep - 1 0.135 -18.7 31 0 0.00112 0.0668 0.0668 WorldPhysical eIoni + 0 0.333 -3.56 5.58 0.00182 0 0 0 WorldPhysical initStep + 1 0.356 -3.55 5.53 0 0.00182 0.135 0.135 WorldPhysical eIoni >>> Event 1 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2199806920558284 (GeV) - 7 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7799315445615733 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000351 -31.7 52.8 1e+03 0.0144 61.6 61.6 WorldPhysical hIoni - 2 0.011 -60 100 1e+03 0.00462 55 117 DriftChamberPhysical CoupledTransportation - 3 0.0794 -232 387 1e+03 0.007 334 451 DriftChamberPhysical hIoni - 4 0.136 -362 604 1e+03 0.00399 253 704 DriftChamberPhysical hIoni - 5 0.21 -540 900 1e+03 0.00692 346 1.05e+03 WorldPhysical CoupledTransportation - 6 0.211 -543 906 1e+03 0.00116 7.36 1.06e+03 WorldPhysical hIoni - 7 0.219 -563 938 1e+03 0.00704 37.2 1.09e+03 WorldPhysical hIoni - 8 0.219 -563 939 1e+03 0.000159 1.3 1.1e+03 WorldPhysical hIoni - 9 0.222 -570 950 1e+03 0.00227 12.5 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 10 0.222 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.219 -563 939 0.00337 0 0 0 WorldPhysical initStep - 1 0.384 -563 939 0 0.00337 0.362 0.362 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.219 -563 938 0.00115 0 0 0 WorldPhysical initStep - 1 0.245 -563 938 0 0.00115 0.0692 0.0692 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.136 -362 604 0.00362 0 0 0 DriftChamberPhysical initStep - 1 -0.452 -360 604 0.0012 0.00241 1.75 1.75 DriftChamberPhysical eIoni - 2 -0.587 -360 604 0 0.0012 0.399 2.15 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0794 -232 387 0.00284 0 0 0 DriftChamberPhysical initStep - 1 1.22 -232 386 7.01e-05 0.00277 1.41 1.41 DriftChamberPhysical eIoni - 2 1.23 -232 386 0 7.01e-05 0.0393 1.44 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000351 -31.7 52.8 0.00164 0 0 0 WorldPhysical initStep - 1 0.0366 -31.7 52.8 0 0.00164 0.115 0.115 WorldPhysical eIoni ->>> Event 2 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2599843451216234 (GeV) - 12 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.659960260693352 (GeV) + Total energy deposition in EM calorimeter crytals : 0.2799781317171345 (GeV) + 9 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6999453292928363 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -4022,51 +4616,98 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -6.55e-05 -2.7 4.5 1e+03 0.000568 5.24 5.24 WorldPhysical hIoni - 2 -0.00237 -60 100 1e+03 0.0207 111 117 DriftChamberPhysical CoupledTransportation - 3 -0.048 -211 352 1e+03 0.00594 294 410 DriftChamberPhysical hIoni - 4 -0.18 -540 900 1e+03 0.0161 639 1.05e+03 WorldPhysical CoupledTransportation - 5 -0.194 -568 947 1e+03 0.0161 54.9 1.1e+03 WorldPhysical hIoni - 6 -0.196 -570 950 1e+03 0.000779 3.37 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 7 -0.196 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 1 0 -60 100 1e+03 0.0202 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.0598 -264 439 1e+03 0.0101 396 512 DriftChamberPhysical hIoni + 3 -0.0672 -474 789 1e+03 0.00786 408 921 DriftChamberPhysical hIoni + 4 -0.0781 -540 900 1e+03 0.00298 129 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.0821 -553 922 1e+03 0.00439 25.3 1.07e+03 WorldPhysical hIoni + 6 -0.0864 -570 950 1e+03 0.00694 33 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 7 -0.0864 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.194 -568 947 0.00449 0 0 0 WorldPhysical initStep - 1 -0.325 -568 947 0.00245 0.000962 0.173 0.173 WorldPhysical eIoni - 2 -0.41 -568 947 0 0.00245 0.213 0.386 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.325 -568 947 0.00108 0 0 0 WorldPhysical initStep - 1 -0.331 -568 947 0 0.00108 0.0639 0.0639 WorldPhysical eIoni + 0 -0.0821 -553 922 0.000991 0 0 0 WorldPhysical initStep + 1 -0.0639 -553 922 0 0.000991 0.0571 0.0571 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.048 -211 352 0.00147 0 0 0 DriftChamberPhysical initStep - 1 -0.0699 -212 352 0 0.00147 0.541 0.541 DriftChamberPhysical eIoni + 0 -0.0672 -474 789 0.00108 0 0 0 DriftChamberPhysical initStep + 1 0.13 -474 789 0 0.00108 0.344 0.344 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -6.55e-05 -2.7 4.5 0.00128 0 0 0 WorldPhysical initStep - 1 -0.0333 -2.7 4.5 0 0.00128 0.081 0.081 WorldPhysical eIoni + 0 -0.0598 -264 439 0.0012 0 0 0 DriftChamberPhysical initStep + 1 -0.309 -264 439 0 0.0012 0.398 0.398 DriftChamberPhysical eIoni +>>> Event 2 + 5 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1799899730101099 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.7799565497104761 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 4.33e-05 -4.33 7.22 1e+03 0.00131 8.42 8.42 WorldPhysical hIoni + 2 0.00102 -13.6 22.7 1e+03 0.00255 18 26.4 WorldPhysical hIoni + 3 0.017 -60 100 1e+03 0.0158 90.2 117 DriftChamberPhysical CoupledTransportation + 4 0.0513 -536 893 1e+03 0.0206 925 1.04e+03 DriftChamberPhysical hIoni + 5 0.0523 -540 900 1e+03 0.000111 7.86 1.05e+03 WorldPhysical CoupledTransportation + 6 0.0598 -570 950 1e+03 0.00847 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 7 0.0598 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0513 -536 893 0.00454 0 0 0 DriftChamberPhysical initStep + 1 1.08 -534 894 0.00282 0.00172 2.1 2.1 DriftChamberPhysical eIoni + 2 1.5 -533 894 0 0.00282 1.4 3.49 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00102 -13.6 22.7 0.0192 0 0 0 WorldPhysical initStep + 1 -1.93 -11.6 22.9 0.0144 0.00474 3.14 3.14 WorldPhysical eIoni + 2 -3.3 -11.4 24.4 0.0104 0.00406 2.41 5.56 WorldPhysical eIoni + 3 -4.17 -10.7 23.5 0.00705 0.00333 1.83 7.39 WorldPhysical eIoni + 4 -4.39 -10.4 23.2 0.00512 0.000626 0.488 7.88 WorldPhysical eIoni + 5 -4.45 -10.1 23.1 0 0.00512 0.751 8.63 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.39 -10.4 23.2 0.0013 0 0 0 WorldPhysical initStep + 1 -4.41 -10.5 23.2 0 0.0013 0.0829 0.0829 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 4.33e-05 -4.33 7.22 0.00302 0 0 0 WorldPhysical initStep + 1 -0.042 -4.23 7.29 0 0.00302 0.302 0.302 WorldPhysical eIoni >>> Event 3 - 6 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2399838237915231 (GeV) - 7 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6399568634440617 (GeV) + 7 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1599878998637528 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6799485744209494 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -4074,87 +4715,34 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.0159 -51.2 85.3 1e+03 0.0142 99.5 99.5 WorldPhysical hIoni - 2 0.0197 -60 100 1e+03 0.00276 17.1 117 DriftChamberPhysical CoupledTransportation - 3 0.0204 -62.9 105 1e+03 0.000174 5.73 122 DriftChamberPhysical hIoni - 4 0.0801 -314 523 1e+03 0.0111 488 610 DriftChamberPhysical hIoni - 5 0.228 -540 900 1e+03 0.0106 439 1.05e+03 WorldPhysical CoupledTransportation - 6 0.245 -570 950 1e+03 0.0117 58.3 1.11e+03 WorldPhysical G4FSMP_parallelGeom - 7 0.245 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0801 -314 523 0.0371 0 0 0 DriftChamberPhysical initStep - 1 -20.7 -298 548 0.0337 0.00335 36.2 36.2 DriftChamberPhysical eIoni - 2 -29.7 -288 555 0.0298 0.00195 15.3 51.5 DriftChamberPhysical eIoni - 3 -47.9 -275 563 0.0263 0.00354 24.6 76.1 DriftChamberPhysical eIoni - 4 -51.1 -268 564 0.0238 0.00143 7.88 84 DriftChamberPhysical eIoni - 5 -57.1 -254 557 0.0201 0.00377 16.8 101 DriftChamberPhysical eIoni - 6 -58.4 -242 554 0.0163 0.00373 12.7 113 DriftChamberPhysical eIoni - 7 -62.7 -235 551 0.0136 0.00271 9.11 122 DriftChamberPhysical eIoni - 8 -63.6 -228 549 0.011 0.00267 7 129 DriftChamberPhysical eIoni - 9 -63.9 -228 548 0.0093 0.000387 1.05 131 DriftChamberPhysical eIoni - 10 -66.1 -226 545 0.00775 0.00155 4.2 135 DriftChamberPhysical eIoni - 11 -68.7 -224 544 0.00644 0.00131 3.42 138 DriftChamberPhysical eIoni - 12 -69.4 -222 542 0.0039 0.00254 2.83 141 DriftChamberPhysical eIoni - 13 -69.2 -221 540 0.00195 0.00194 1.86 143 DriftChamberPhysical eIoni - 14 -68.9 -221 540 0 0.00195 0.848 144 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -63.9 -228 548 0.00127 0 0 0 DriftChamberPhysical initStep - 1 -63.7 -227 548 0 0.00127 0.435 0.435 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -51.1 -268 564 0.00102 0 0 0 DriftChamberPhysical initStep - 1 -51 -268 564 0 0.00102 0.316 0.316 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -29.7 -288 555 0.00196 0 0 0 DriftChamberPhysical initStep - 1 -29.3 -288 556 0 0.00196 0.853 0.853 DriftChamberPhysical eIoni + 1 -0.0116 -42.2 70.3 1e+03 0.0112 82 82 WorldPhysical hIoni + 2 -0.017 -60 100 1e+03 0.00868 34.7 117 DriftChamberPhysical CoupledTransportation + 3 -0.222 -540 900 1e+03 0.0146 933 1.05e+03 WorldPhysical CoupledTransportation + 4 -0.229 -550 917 1e+03 0.00368 19.7 1.07e+03 WorldPhysical hIoni + 5 -0.243 -570 950 1e+03 0.00565 38.6 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 6 -0.243 -570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0204 -62.9 105 0.00104 0 0 0 DriftChamberPhysical initStep - 1 0.0241 -63.1 105 0 0.00104 0.326 0.326 DriftChamberPhysical eIoni + 0 -0.229 -550 917 0.00217 0 0 0 WorldPhysical initStep + 1 -0.294 -550 917 0 0.00217 0.176 0.176 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0159 -51.2 85.3 0.0119 0 0 0 WorldPhysical initStep - 1 -0.974 -52.5 85.8 0.00898 0.00293 2.05 2.05 WorldPhysical eIoni - 2 -1.01 -52.5 85.9 0.00607 0.000243 0.0392 2.09 WorldPhysical eIoni - 3 -1.31 -52.2 86.1 0 0.00607 1.01 3.1 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.01 -52.5 85.9 0.00267 0 0 0 WorldPhysical initStep - 1 -1.08 -52.6 85.9 0 0.00267 0.247 0.247 WorldPhysical eIoni + 0 -0.0116 -42.2 70.3 0.00168 0 0 0 WorldPhysical initStep + 1 0.0209 -42.2 70.3 0 0.00168 0.119 0.119 WorldPhysical eIoni >>> Event 4 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1999798775088543 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7799215222845317 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2199895145487347 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6999666372005192 (GeV) number of event = 5 +Graphics systems deleted. +Visualization Manager deleting... + diff --git a/examples/novice/N06/History b/examples/novice/N06/History index bcc34e0435..8915eae2d6 100644 --- a/examples/novice/N06/History +++ b/examples/novice/N06/History @@ -1,4 +1,4 @@ -$Id: History,v 1.40 2008/11/21 01:09:02 gum Exp $ +$Id: History,v 1.42 2009/11/10 05:20:11 gum Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,13 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +09th November 2009 Peter Gumplinger (exampleN06-V09-02-01) +- use G4eMultipleScattering, G4MuMultipleScattering and + G4hMultipleScattering instead of G4MultipleScattering + +30th October 2009 John Allison (exampleN06-V09-02-00) +- Introduced G4UIExecutive. + 20th November 2008 P. Gumplinger (exampleN06-V09-01-03) - add theCerenkovProcess->SetMaxBetaChangePerStep in ExN06PhysicsList diff --git a/examples/novice/N06/exampleN06.cc b/examples/novice/N06/exampleN06.cc index a5b4ab1e00..ccdd2bacaa 100644 --- a/examples/novice/N06/exampleN06.cc +++ b/examples/novice/N06/exampleN06.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN06.cc,v 1.15 2008/05/07 10:08:31 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleN06.cc,v 1.16 2009/10/30 15:12:40 allison Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -44,10 +44,6 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" - -#include "G4ios.hh" #include "ExN06DetectorConstruction.hh" #include "ExN06PhysicsList.hh" @@ -63,6 +59,10 @@ #include "G4VisExecutive.hh" #endif +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) @@ -116,29 +116,25 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager // - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); if (argc==1) // Define UI session for interactive mode { - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); #ifdef G4VIS_USE - UI->ApplyCommand("/control/execute vis.mac"); + UImanager->ApplyCommand("/control/execute vis.mac"); #endif - session->SessionStart(); - delete session; - } - + ui->SessionStart(); + delete ui; +#endif + } else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UImanager->ApplyCommand(command+fileName); + } // Job termination // Free the store: user actions, physics_list and detector_description are diff --git a/examples/novice/N06/exampleN06.out b/examples/novice/N06/exampleN06.out index c4e0067ef9..10fe806b6e 100644 --- a/examples/novice/N06/exampleN06.out +++ b/examples/novice/N06/exampleN06.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -19,6 +23,7 @@ Current available graphics systems are: RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -64,141 +69,141 @@ to: pmanager->AddProcess(theCerenkovProcess); /run/beamOn 1 msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV ### Run 0 start. ********************************************************************************************************* @@ -208,853 +213,850 @@ hIoni: for pi- SubType= 2 Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 0 fm 500 keV 0 eV 0 fm 0 fm Tank initStep - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 2 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 4 ### G4EmSaturation::FindBirksCoefficient Birks coefficient for Water 0.126 mm/MeV - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 - 1 91 um -454 nm -13.8 um 489 keV 11.4 keV 92.9 um 92.9 um Tank msc - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 38.5 um -192 nm -5.83 um 2.17 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.408299,-0.491425,-0.769281) - Old Polarization: (-0.242704,-0.870835,0.427483) - New Momentum Direction: (0.549308,-0.661143,-0.511029) - New Polarization: (-0.781738,-0.190538,-0.593786) - *** FresnelRefraction *** - 1 2.65 m -3.19 m -5 m 2.17 eV 0 eV 6.5 m 6.5 m Tank Transportation - 2 8.03 m -9.66 m -10 m 2.17 eV 0 eV 9.78 m 16.3 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 59.9 um -299 nm -9.07 um 3.16 eV 0 eV 0 fm 0 fm Tank initStep -Scattering Photon! -Old Momentum Direction: (0.82571629,-0.5041546,-0.2530232) -Old Polarization: (-0.54542165,-0.82799987,-0.13012086) -New Polarization: (0.2917709,0.95582597,0.035587265) -Polarization Change: (0.2917709,0.95582597,0.035587265) -New Momentum Direction: (-0.90114114,0.28717003,-0.32477381) -Momentum Change: (-0.90114114,0.28717003,-0.32477381) - 1 2.96 m -1.81 m -90.8 cm 3.16 eV 0 eV 3.59 m 3.59 m Tank OpRayleigh - Photon at Boundary! - Old Momentum Direction: (-0.90114114,0.28717003,-0.32477381) - Old Polarization: (0.2917709,0.95582597,0.035587265) - New Momentum Direction: (-0.80916434,0.38921798,-0.44018454) - New Polarization: (-0.3989539,0.18606588,0.89789491) - *** FresnelRefraction *** - 2 -5 m 72.9 cm -3.78 m 3.16 eV 0 eV 8.84 m 12.4 m Tank Transportation - 3 -10 m 3.13 m -6.5 m 3.16 eV 0 eV 6.18 m 18.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 90.7 um -453 nm -13.7 um 3.81 eV 0 eV 0 fm 0 fm Tank initStep -Scattering Photon! -Old Momentum Direction: (0.77244038,-0.21300073,-0.59830306) -Old Polarization: (-0.63264354,-0.3406354,-0.69550677) -New Polarization: (-0.27488292,-0.48620955,-0.82948156) -Polarization Change: (-0.27488292,-0.48620955,-0.82948156) -New Momentum Direction: (0.95138252,-0.26223468,-0.16156815) -Momentum Change: (0.95138252,-0.26223468,-0.16156815) - 1 4.75 m -1.31 m -3.68 m 3.81 eV 0 eV 6.15 m 6.15 m Tank OpRayleigh - Photon at Boundary! - Old Momentum Direction: (0.95138252,-0.26223468,-0.16156815) - Old Polarization: (-0.27488292,-0.48620955,-0.82948156) - New Momentum Direction: (0.90814563,-0.3564334,-0.21960591) - New Polarization: (0.37416091,0.92632903,0.043796626) - *** FresnelRefraction *** - 2 5 m -1.38 m -3.72 m 3.81 eV 0 eV 26.5 cm 6.41 m Tank Transportation - 3 10 m -3.34 m -4.93 m 3.81 eV 0 eV 5.51 m 11.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 1 91 um -454 nm -13.8 um 489 keV 0 eV 0 fm 92.9 um Tank initStep - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 25 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 7 - 2 817 um -326 um 319 um 321 keV 167 keV 958 um 1.05 mm Tank Cerenkov - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 36, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 807 um -321 um 315 um 3.31 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.3062388,-0.94185532,0.13829803) - Old Polarization: (0.36768666,0.25103188,0.895427) - New Momentum Direction: (0.41539815,-0.89008575,0.18759461) - New Polarization: (-0.88059707,-0.34179529,0.32821452) - *** FresnelRefraction *** - 1 1.63 m -5 m 73.4 cm 3.31 eV 0 eV 5.31 m 5.31 m Tank Transportation - 2 3.96 m -10 m 1.79 m 3.31 eV 0 eV 5.62 m 10.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 35, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 434 um -154 um 144 um 3.95 eV 0 eV 0 fm 0 fm Tank initStep -Scattering Photon! -Old Momentum Direction: (0.51849005,-0.61446948,-0.59463882) -Old Polarization: (-0.80882323,-0.12679901,-0.5742186) -New Polarization: (0.96858298,0.097176176,0.22891877) -Polarization Change: (0.96858298,0.097176176,0.22891877) -New Momentum Direction: (-0.23819919,0.097966254,0.96626278) -Momentum Change: (-0.23819919,0.097966254,0.96626278) - 1 1.6 m -1.89 m -1.83 m 3.95 eV 0 eV 3.08 m 3.08 m Tank OpRayleigh - -** Photon absorbed! ** - 2 14.4 cm -1.29 m 4.06 m 3.95 eV 0 eV 6.1 m 9.17 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 34, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 660 um -255 um 247 um 3.92 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 16.8 cm -3.55 cm 17.2 cm 3.92 eV 0 eV 24.2 cm 24.2 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 33, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 461 um -166 um 156 um 3.02 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.49244792,-0.68067284,-0.54238319) - Old Polarization: (-0.52798153,0.72905312,-0.43556522) - New Momentum Direction: (-0.66699217,-0.12427868,-0.73462661) - New Polarization: (0.024231298,-0.98908705,0.145326) - *** FresnelRefraction *** - 1 -3.62 m -5 m -3.98 m 3.02 eV 0 eV 7.35 m 7.35 m Tank Transportation - 2 -9.08 m -6.02 m -10 m 3.02 eV 0 eV 8.19 m 15.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 32, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 204 um -51.3 um 38.2 um 3.64 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.59367866,-0.72173894,-0.35586309) - Old Polarization: (0.75280553,-0.65437336,0.07126942) - New Momentum Direction: (-0.80648964,-0.34040187,-0.48342633) - New Polarization: (0.43075937,-0.89835452,-0.08605532) - *** FresnelRefraction *** - 1 -4.11 m -5 m -2.47 m 3.64 eV 0 eV 6.93 m 6.93 m Tank Transportation - 2 -10 m -7.48 m -5.99 m 3.64 eV 0 eV 7.3 m 14.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 31, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 448 um -161 um 150 um 2.16 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.75452764,-0.65625344,0.004412055) - Old Polarization: (-0.066242642,0.069470452,-0.99538222) - New Momentum Direction: (-0.46957574,-0.88287224,0.005935635) - New Polarization: (-0.095372096,0.044039928,-0.99446702) - *** FresnelRefraction *** - 1 -5 m -4.35 m 2.94 cm 2.16 eV 0 eV 6.63 m 6.63 m Tank Transportation - 2 -8.01 m -10 m 6.74 cm 2.16 eV 0 eV 6.4 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 30, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 397 um -138 um 127 um 2.99 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.1666561,-0.98229479,-0.08557272) - Old Polarization: (-0.11035288,0.10482263,-0.98834936) - New Momentum Direction: (-0.22568913,-0.9672824,-0.11588434) - New Polarization: (0.86053094,-0.14217894,-0.48915402) - *** FresnelRefraction *** - 1 -84.8 cm -5 m -43.5 cm 2.99 eV 0 eV 5.09 m 5.09 m Tank Transportation - 2 -2.01 m -10 m -1.03 m 2.99 eV 0 eV 5.17 m 10.3 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 29, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 384 um -132 um 121 um 4.03 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.99439364,-0.092170364,0.051825778) - Old Polarization: (0.099616275,0.65217039,-0.75149875) - New Momentum Direction: (0.98960252,-0.1253697,0.070493179) - New Polarization: (0.13550882,0.64841095,-0.74913323) - *** FresnelRefraction *** - 1 5 m -46.4 cm 26.1 cm 4.03 eV 0 eV 5.03 m 5.03 m Tank Transportation - 2 10 m -1.1 m 61.7 cm 4.03 eV 0 eV 5.05 m 10.1 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 28, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 435 um -155 um 144 um 2.26 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 70.7 cm -52.1 cm -862 um 2.26 eV 0 eV 87.8 cm 87.8 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 27, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 526 um -195 um 186 um 3.37 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.98976174,-0.016179591,0.14180945) - Old Polarization: (0.096188879,0.80965094,-0.57897587) - New Momentum Direction: (0.98106766,-0.0219536,0.19241697) - New Polarization: (0.13061094,0.80859583,-0.5736842) - *** FresnelRefraction *** - 1 5 m -8.19 cm 71.6 cm 3.37 eV 0 eV 5.05 m 5.05 m Tank Transportation - 2 10 m -19.4 cm 1.7 m 3.37 eV 0 eV 5.1 m 10.1 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 26, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 477 um -173 um 163 um 3.65 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.51022382,-0.63762463,0.57715378) - Old Polarization: (-0.85770523,-0.42667824,0.28685784) - New Momentum Direction: (0.51022382,0.63762463,0.57715378) - New Polarization: (0.85770523,-0.42667824,-0.28685784) - *** LobeReflection *** - 1 4 m -5 m 4.53 m 3.65 eV 0 eV 7.84 m 7.84 m Tank Transportation - 2 4 m -5 m 4.53 m 3.65 eV 0 eV 0 fm 7.84 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.51022382,0.63762463,0.57715378) - Old Polarization: (0.85770523,-0.42667824,-0.28685784) - New Momentum Direction: (-0.50416751,-0.1182525,-0.85547149) - New Polarization: (-0.7818512,0.48320112,0.39398651) - *** LambertianReflection *** - 3 4.42 m -4.48 m 5 m 3.65 eV 0 eV 82.2 cm 8.66 m Tank Transportation - 4 4.42 m -4.48 m 5 m 3.65 eV 0 eV 0 fm 8.66 m World Transportation - -** Photon absorbed! ** - 5 2.19 m -5 m 1.21 m 3.65 eV 0 eV 4.43 m 13.1 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 25, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 179 um -39.8 um 26.5 um 3.46 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.71923815,-0.055238401,0.69256422) - Old Polarization: (-0.44347159,0.73084502,0.51884343) - New Momentum Direction: (0.33279739,-0.07497474,0.94001313) - New Polarization: (0.64107246,0.749042,-0.16721895) - *** FresnelRefraction *** - 1 5 m -38.4 cm 4.81 m 3.46 eV 0 eV 6.95 m 6.95 m Tank Transportation - 2 6.84 m -79.8 cm 10 m 3.46 eV 0 eV 5.52 m 12.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 542 um -203 um 193 um 3.24 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 4.27 m -9.21 cm 59.3 cm 3.24 eV 0 eV 4.31 m 4.31 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 537 um -200 um 191 um 2.31 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.98454213,-0.011258328,0.17478573) - Old Polarization: (0.10305607,0.84413866,-0.52612676) - New Momentum Direction: (0.97176728,-0.01516607,0.23545347) - New Polarization: (0.13900189,0.84316186,-0.51938092) - *** FresnelRefraction *** - 1 5 m -5.74 cm 88.8 cm 2.31 eV 0 eV 5.08 m 5.08 m Tank Transportation - 2 10 m -13.5 cm 2.1 m 2.31 eV 0 eV 5.15 m 10.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 548 um -205 um 196 um 3.66 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 32.7 cm 2.47 cm 11.5 cm 3.66 eV 0 eV 34.7 cm 34.7 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 739 um -291 um 284 um 3.5 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.75791781,-0.0095178753,0.65228062) - Old Polarization: (-0.36643131,0.82103493,0.43775534) - New Momentum Direction: (0.46430597,-0.012922116,0.88558059) - New Polarization: (0.52234244,0.81148223,-0.26202093) - *** FresnelRefraction *** - 1 5 m -6.31 cm 4.3 m 3.5 eV 0 eV 6.6 m 6.6 m Tank Transportation - 2 7.99 m -14.6 cm 10 m 3.5 eV 0 eV 6.43 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 20, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 508 um -187 um 177 um 2.25 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.96487595,-0.26144793,-0.025678547) - Old Polarization: (0.063365533,0.32647713,-0.94307873) - New Momentum Direction: (0.93534761,-0.35203603,-0.03457581) - New Polarization: (0.085690288,0.32033576,-0.94342046) - *** FresnelRefraction *** - 1 5 m -1.35 m -13.3 cm 2.25 eV 0 eV 5.18 m 5.18 m Tank Transportation - 2 10 m -3.24 m -31.8 cm 2.25 eV 0 eV 5.35 m 10.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 249 um -71.4 um 58.8 um 4 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 4.31 cm -5.24 mm 4.42 cm 4 eV 0 eV 6.17 cm 6.17 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 244 um -69.1 um 56.5 um 3.59 eV 0 eV 0 fm 0 fm Tank initStep -Scattering Photon! -Old Momentum Direction: (0.90493168,0.079695527,0.41802783) -Old Polarization: (-0.074586669,0.99680505,-0.028574805) -New Polarization: (0.021008616,0.98088358,-0.19345812) -Polarization Change: (0.021008616,0.98088358,-0.19345812) -New Momentum Direction: (0.50011459,-0.17786191,-0.84749663) -Momentum Change: (0.50011459,-0.17786191,-0.84749663) - 1 2 m 17.6 cm 92.2 cm 3.59 eV 0 eV 2.21 m 2.21 m Tank OpRayleigh - Photon at Boundary! - Old Momentum Direction: (0.50011459,-0.17786191,-0.84749663) - Old Polarization: (0.021008616,0.98088358,-0.19345812) - New Momentum Direction: (-0.98227475,-0.037729136,-0.18361056) - New Polarization: (0.0036692443,-0.98321642,0.18240618) - *** LambertianReflection *** - 2 5 m -89.2 cm -4.17 m 3.59 eV 0 eV 6.01 m 8.21 m Tank Transportation - 3 5 m -89.2 cm -4.17 m 3.59 eV 0 eV 0 fm 8.21 m World Transportation -Scattering Photon! -Old Momentum Direction: (-0.98227475,-0.037729136,-0.18361056) -Old Polarization: (0.0036692443,-0.98321642,0.18240618) -New Polarization: (-0.701948,0.52034719,-0.48632069) -Polarization Change: (-0.701948,0.52034719,-0.48632069) -New Momentum Direction: (0.52585052,0.83916362,0.13887279) -Momentum Change: (0.52585052,0.83916362,0.13887279) - 4 4.18 m -92.4 cm -4.32 m 3.59 eV 0 eV 83.3 cm 9.04 m Tank OpRayleigh - Photon at Boundary! - Old Momentum Direction: (0.52585052,0.83916362,0.13887279) - Old Polarization: (-0.701948,0.52034719,-0.48632069) - New Momentum Direction: (-0.52585052,-0.83916362,-0.13887279) - New Polarization: (0.701948,-0.52034719,0.48632069) - *** BackScattering *** - 5 5 m 38.2 cm -4.1 m 3.59 eV 0 eV 1.56 m 10.6 m Tank Transportation - 6 5 m 38.2 cm -4.1 m 3.59 eV 0 eV 0 fm 10.6 m World Transportation - -** Photon absorbed! ** - 7 4.28 m -76.3 cm -4.29 m 3.59 eV 0 eV 1.36 m 12 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 718 um -281 um 274 um 3.03 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.82537611,0.043978172,0.56286783) - Old Polarization: (-0.23054867,0.93630503,0.26491544) - New Momentum Direction: (0.64433442,0.059569665,0.76242023) - New Polarization: (0.32202659,0.88312788,-0.34115103) - *** FresnelRefraction *** - 1 5 m 26.6 cm 3.41 m 3.03 eV 0 eV 6.06 m 6.06 m Tank Transportation - 2 10 m 72.8 cm 9.33 m 3.03 eV 0 eV 7.76 m 13.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 202 um -50.3 um 37.3 um 3.88 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 2.18 m -56 cm 2.53 m 3.88 eV 0 eV 3.38 m 3.38 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 549 um -206 um 196 um 3.92 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.92886739,-0.36377695,-0.069797636) - Old Polarization: (-0.028912912,0.11665245,-0.99275186) - New Momentum Direction: (0.86391081,-0.49462263,-0.094902908) - New Polarization: (0.039746442,0.25480097,-0.96617632) - *** FresnelRefraction *** - 1 5 m -1.96 m -37.5 cm 3.92 eV 0 eV 5.38 m 5.38 m Tank Transportation - 2 10 m -4.82 m -92.5 cm 3.92 eV 0 eV 5.79 m 11.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 242 um -68.3 um 55.6 um 3.44 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 54.5 cm -28.3 cm -3.99 cm 3.44 eV 0 eV 61.5 cm 61.5 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 225 um -60.5 um 47.7 um 4.03 eV 0 eV 0 fm 0 fm Tank initStep -Scattering Photon! -Old Momentum Direction: (0.97463606,0.036697942,0.22076643) -Old Polarization: (0.060665636,0.90620509,-0.41846388) -New Polarization: (-0.38783515,0.75381735,-0.53041805) -Polarization Change: (-0.38783515,0.75381735,-0.53041805) -New Momentum Direction: (-0.85270291,-0.51192821,-0.10405415) -Momentum Change: (-0.85270291,-0.51192821,-0.10405415) - 1 23.2 cm 8.66 mm 5.25 cm 4.03 eV 0 eV 23.8 cm 23.8 cm Tank OpRayleigh - Photon at Boundary! - Old Momentum Direction: (-0.85270291,-0.51192821,-0.10405415) - Old Polarization: (-0.38783515,0.75381735,-0.53041805) - New Momentum Direction: (-0.703635,-0.69632312,-0.14153412) - New Polarization: (-0.53438732,0.64985608,-0.54047874) - *** FresnelRefraction *** - 2 -5 m -3.13 m -58.6 cm 4.03 eV 0 eV 6.14 m 6.37 m Tank Transportation - 3 -10 m -8.08 m -1.59 m 4.03 eV 0 eV 7.11 m 13.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 334 um -109 um 97.8 um 2.59 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.96479947,0.038189003,0.26019914) - Old Polarization: (0.056494856,0.93620498,-0.34688409) - New Momentum Direction: (0.93480163,0.051575228,0.35140561) - New Polarization: (0.07664122,0.93679853,-0.34137171) - *** FresnelRefraction *** - 1 5 m 19.8 cm 1.35 m 2.59 eV 0 eV 5.18 m 5.18 m Tank Transportation - 2 10 m 47.4 cm 3.23 m 2.59 eV 0 eV 5.35 m 10.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 244 um -69 um 56.4 um 3.05 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.98039324,0.015000741,0.19647917) - Old Polarization: (0.081233573,0.87766116,-0.47234733) - New Momentum Direction: (0.96371449,0.020320757,0.26616056) - New Polarization: (0.11027928,0.87771991,-0.46631131) - *** FresnelRefraction *** - 1 5 m 7.64 cm 1 m 3.05 eV 0 eV 5.1 m 5.1 m Tank Transportation - 2 10 m 18.2 cm 2.38 m 3.05 eV 0 eV 5.19 m 10.3 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 221 um -58.5 um 45.7 um 2.14 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.98053276,-0.1962498,0.0064441088) - Old Polarization: (0.098566149,0.46355644,-0.88056808) - New Momentum Direction: (0.96449529,-0.26395777,0.0086673848) - New Polarization: (0.13281303,0.45640616,-0.87980345) - *** FresnelRefraction *** - 1 5 m -1 m 3.29 cm 2.14 eV 0 eV 5.1 m 5.1 m Tank Transportation - 2 10 m -2.37 m 7.78 cm 2.14 eV 0 eV 5.18 m 10.3 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 184 um -42.3 um 29.1 um 2.83 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.51843396,-0.64567705,0.56064907) - Old Polarization: (-0.8508379,-0.45501065,0.26275497) - New Momentum Direction: (-0.51843396,0.64567705,-0.56064907) - New Polarization: (0.8508379,0.45501065,-0.26275497) - *** BackScattering *** - 1 4.01 m -5 m 4.34 m 2.83 eV 0 eV 7.74 m 7.74 m Tank Transportation - 2 4.01 m -5 m 4.34 m 2.83 eV 0 eV 0 fm 7.74 m World Transportation - Photon at Boundary! - Old Momentum Direction: (-0.51843396,0.64567705,-0.56064907) - Old Polarization: (0.8508379,0.45501065,-0.26275497) - New Momentum Direction: (-0.071498551,-0.98574519,-0.15229702) - New Polarization: (-0.98938642,0.050724915,0.13616717) - *** LambertianReflection *** - 3 -4.01 m 5 m -4.34 m 2.83 eV 0 eV 15.5 m 23.2 m Tank Transportation - 4 -4.01 m 5 m -4.34 m 2.83 eV 0 eV 0 fm 23.2 m World Transportation - -** Photon absorbed! ** - 5 -4.16 m 3.02 m -4.65 m 2.83 eV 0 eV 2.01 m 25.2 m Tank OpAbsorption + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 3 + 1 117 um -19.9 um 4.4 um 466 keV 33.7 keV 120 um 120 um Tank msc ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 420 um -148 um 137 um 2.03 eV 0 eV 0 fm 0 fm Tank initStep + 0 11.7 um -1.99 um 440 nm 3.37 eV 0 eV 0 fm 0 fm Tank initStep -Warning: G4MaterialPropertyVector::GetProperty -==> attempt to Retrieve Property below range - -Warning: G4MaterialPropertyVector::GetProperty -==> attempt to Retrieve Property below range - -Warning: G4MaterialPropertyVector::GetProperty -==> attempt to Retrieve Property below range - Photon at Boundary! - Old Momentum Direction: (0.99176254,-0.072029655,0.10591884) - Old Polarization: (0.12493833,0.72628785,-0.67594111) - New Momentum Direction: (0.98508125,-0.096772315,0.14230265) - New Polarization: (0.16786355,0.72247739,-0.67070728) - *** FresnelRefraction *** - 1 5 m -36.3 cm 53.4 cm 2.03 eV 0 eV 5.04 m 5.04 m Tank Transportation - 2 10 m -85.4 cm 1.26 m 2.03 eV 0 eV 5.08 m 10.1 m OutOfWorld Transportation +** Photon absorbed! ** + 1 1.7 m 1.3 m 2.31 m 3.37 eV 0 eV 3.15 m 3.15 m Tank OpAbsorption ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 608 um -232 um 223 um 3.53 eV 0 eV 0 fm 0 fm Tank initStep + 0 6.82 um -1.16 um 257 nm 2.69 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.53029226,-0.70911797,0.46469542) - Old Polarization: (-0.81895563,-0.57023246,0.064394319) - New Momentum Direction: (0.72006666,-0.28870316,0.63099484) - New Polarization: (-0.53810319,-0.80646307,0.24507606) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.814195,0.274812,-0.511434) + Old Polarization: (0.580538,0.397358,-0.710692) + New Momentum Direction: (-0.619798,0.371452,-0.691284) + New Polarization: (-0.784694,-0.281811,0.552121) *** FresnelRefraction *** - 1 3.74 m -5 m 3.28 m 3.53 eV 0 eV 7.05 m 7.05 m Tank Transportation - 2 10 m -7.51 m 8.76 m 3.53 eV 0 eV 8.69 m 15.7 m OutOfWorld Transportation + 1 -5 m 1.69 m -3.14 m 2.69 eV 0 eV 6.14 m 6.14 m Tank Transportation + 2 -10 m 4.68 m -8.72 m 2.69 eV 0 eV 8.07 m 14.2 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 135 um -20.3 um 6.57 um 4 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 4.42 m -3.54 m -1.3 cm 4 eV 0 eV 5.66 m 5.66 m Tank OpAbsorption + 0 10.3 um -1.76 um 390 nm 3.9 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.77870173,0.43030047,0.4565798) + Old Polarization: (0.6175874,-0.39755793,-0.67862618) + New Momentum Direction: (0.52190121,0.58503696,0.62076637) + New Polarization: (0.84115356,-0.23208025,-0.48846643) + *** FresnelRefraction *** + 1 5 m 2.76 m 2.93 m 3.9 eV 0 eV 6.42 m 6.42 m Tank Transportation + 2 10 m 8.37 m 8.88 m 3.9 eV 0 eV 9.58 m 16 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 761 um -301 um 294 um 3.36 eV 0 eV 0 fm 0 fm Tank initStep + 0 102 um -17.4 um 3.84 um 3.12 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.82091905,0.044644919,0.56929671) - Old Polarization: (-0.24067599,0.93111828,0.27403252) - New Momentum Direction: (0.63219253,0.060575636,0.77243977) - New Polarization: (0.33721476,0.87605647,-0.34469009) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.93064566,0.28395086,-0.23080416) + Old Polarization: (-0.3616968,0.80940268,-0.46264752) + New Momentum Direction: (-0.93064566,-0.28395086,0.23080416) + New Polarization: (0.3616968,-0.80940268,0.46264752) + *** BackScattering *** + 1 5 m 1.53 m -1.24 m 3.12 eV 0 eV 5.37 m 5.37 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 5 m 1.53 m -1.24 m 3.12 eV 0 eV 0 fm 5.37 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.93064566,-0.28395086,0.23080416) + Old Polarization: (0.3616968,-0.80940268,0.46264752) + New Momentum Direction: (-0.86839976,-0.38478517,0.31276545) + New Polarization: (-0.49025585,0.57164448,-0.65792993) *** FresnelRefraction *** - 1 5 m 27.2 cm 3.47 m 3.36 eV 0 eV 6.09 m 6.09 m Tank Transportation - 2 10 m 75.1 cm 9.58 m 3.36 eV 0 eV 7.91 m 14 m OutOfWorld Transportation + 3 -5 m -1.53 m 1.24 m 3.12 eV 0 eV 10.7 m 16.1 m Tank Transportation + 4 -10 m -3.74 m 3.04 m 3.12 eV 0 eV 5.76 m 21.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 103 um -17.6 um 3.9 um 4.06 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 40.2 cm -27.6 cm -14.9 cm 4.06 eV 0 eV 51 cm 51 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 106 um -18.2 um 4.01 um 3.84 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.86822062,0.092816376,0.48741982) +Old Polarization: (-0.4675504,0.48189267,0.74106416) +New Polarization: (-0.07896599,0.66859502,0.73942212) +Polarization Change: (-0.07896599,0.66859502,0.73942212) +New Momentum Direction: (0.94048299,0.29590711,-0.1671249) +Momentum Change: (0.94048299,0.29590711,-0.1671249) + Photon at Boundary! + thePrePV: Tank + thePostPV: Tank + *** NotAtBoundary *** + 1 4.78 m 51.1 cm 2.68 m 3.84 eV 0 eV 5.5 m 5.5 m Tank OpRayleigh + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.94048299,0.29590711,-0.1671249) + Old Polarization: (-0.07896599,0.66859502,0.73942212) + New Momentum Direction: (0.88689903,0.402242,-0.22718161) + New Polarization: (0.10825305,0.29711968,0.94868392) + *** FresnelRefraction *** + 2 5 m 58.1 cm 2.64 m 3.84 eV 0 eV 23.6 cm 5.74 m Tank Transportation + 3 10 m 2.85 m 1.36 m 3.84 eV 0 eV 5.64 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.77 um -472 nm 104 nm 3.42 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.76095479,-0.64862538,0.015261908) + Old Polarization: (-0.64743915,-0.76066833,-0.046970618) + New Momentum Direction: (0.47408186,-0.88023714,0.020711644) + New Polarization: (0.87887011,0.4716615,-0.071573473) + *** FresnelRefraction *** + 1 5 m -4.26 m 10 cm 3.42 eV 0 eV 6.57 m 6.57 m Tank Transportation + 2 8.09 m -10 m 23.5 cm 3.42 eV 0 eV 6.52 m 13.1 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 2 817 um -326 um 319 um 321 keV 0 eV 0 fm 1.05 mm Tank initStep -CAImin = 3.6490794e-07 -ge = 7.8175581e-07 + 1 117 um -19.9 um 4.4 um 466 keV 0 eV 0 fm 120 um Tank initStep - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 4 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 1 - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 4 - 3 1.11 mm -398 um 363 um 248 keV 72.8 keV 323 um 1.37 mm Tank Cerenkov + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 15 + 2 851 um -300 um 97 um 153 keV 313 keV 880 um 1 mm Tank Cerenkov ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 44, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 968 um -363 um 342 um 3.43 eV 0 eV 0 fm 0 fm Tank initStep + 0 731 um -254 um 81.9 um 3.43 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.39485907,-0.59377621,-0.70108211) - Old Polarization: (-0.1658427,0.79661956,-0.58128605) - New Momentum Direction: (-0.53588008,-0.80583903,-0.25190475) - New Polarization: (-0.3178599,0.46896849,-0.82403497) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.13248482,-0.98911172,0.064076304) + Old Polarization: (-0.808013,-0.070333748,0.58495141) + New Momentum Direction: (0.17979651,-0.97985275,0.086958611) + New Polarization: (-0.80436842,-0.095555617,0.58639625) *** FresnelRefraction *** - 1 -2.82 m -4.24 m -5 m 3.43 eV 0 eV 7.13 m 7.13 m Tank Transportation - 2 -6.65 m -10 m -6.8 m 3.43 eV 0 eV 7.15 m 14.3 m OutOfWorld Transportation + 1 67 cm -5 m 32.4 cm 3.43 eV 0 eV 5.05 m 5.05 m Tank Transportation + 2 1.59 m -10 m 76.8 cm 3.43 eV 0 eV 5.1 m 10.2 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 43, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.09 mm -394 um 361 um 2.62 eV 0 eV 0 fm 0 fm Tank initStep + 0 309 um -93.3 um 28.7 um 2.55 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.80095811,-0.37037938,0.47040963) - Old Polarization: (-0.21290381,-0.55814373,-0.8019648) - New Momentum Direction: (-0.58810516,-0.50032886,0.63545523) - New Polarization: (-0.29925747,-0.59531582,-0.74568361) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.37126758,-0.76308165,-0.52902436) + Old Polarization: (-0.84149238,0.035680808,0.53908948) + New Momentum Direction: (-0.50126615,-0.48842939,-0.71426114) + New Polarization: (-0.80058429,-0.051420195,0.59700985) *** FresnelRefraction *** - 1 -5 m -2.31 m 2.94 m 2.62 eV 0 eV 6.24 m 6.24 m Tank Transportation - 2 -10 m -6.57 m 8.34 m 2.62 eV 0 eV 8.5 m 14.7 m OutOfWorld Transportation + 1 -2.43 m -5 m -3.47 m 2.55 eV 0 eV 6.55 m 6.55 m Tank Transportation + 2 -7.02 m -9.47 m -10 m 2.55 eV 0 eV 9.15 m 15.7 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 42, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 954 um -360 um 340 um 3.06 eV 0 eV 0 fm 0 fm Tank initStep + 0 840 um -296 um 95.6 um 3.61 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.17380172,-0.84334924,-0.50848305) - Old Polarization: (-0.77880212,0.43372303,-0.45315737) - New Momentum Direction: (-0.23545497,-0.68559053,-0.6888589) - New Polarization: (-0.36643894,-0.59385138,0.7162842) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.48079937,0.0066647291,0.87680531) + Old Polarization: (0.67061277,0.647027,0.3628148) + New Momentum Direction: (-0.65307073,0.0090527146,0.75724281) + New Polarization: (0.58571917,0.6398696,0.49749366) *** FresnelRefraction *** - 1 -1.03 m -5 m -3.01 m 3.06 eV 0 eV 5.93 m 5.93 m Tank Transportation - 2 -2.75 m -10 m -8.04 m 3.06 eV 0 eV 7.29 m 13.2 m OutOfWorld Transportation + 1 -2.74 m 3.77 cm 5 m 3.61 eV 0 eV 5.7 m 5.7 m Tank Transportation + 2 -7.05 m 9.75 cm 10 m 3.61 eV 0 eV 6.6 m 12.3 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 41, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 944 um -357 um 338 um 4.1 eV 0 eV 0 fm 0 fm Tank initStep + 0 836 um -294 um 95.2 um 2.79 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.95977485,-0.26442172,0.094410777) + Old Polarization: (-0.24664117,0.95469282,0.16652252) + New Momentum Direction: (-0.92507194,-0.35767691,0.12770719) + New Polarization: (-0.33404458,0.92626067,0.17451475) + *** FresnelRefraction *** + 1 -5 m -1.38 m 49.2 cm 2.79 eV 0 eV 5.21 m 5.21 m Tank Transportation + 2 -10 m -3.31 m 1.18 m 2.79 eV 0 eV 5.4 m 10.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 20, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 413 um -133 um 41.8 um 2.28 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** - 1 -1.05 m 54.2 cm -28.1 cm 4.1 eV 0 eV 1.22 m 1.22 m Tank OpAbsorption + 1 6.97 cm -12.1 cm 15.7 cm 2.28 eV 0 eV 21 cm 21 cm Tank OpAbsorption ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 40, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 864 um -337 um 326 um 2.55 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.99461071,-0.088333217,-0.054284257) - Old Polarization: (0.010939243,0.61006032,-0.79227946) - New Momentum Direction: (0.9901542,-0.11926089,-0.073290538) - New Polarization: (0.014779122,0.60971474,-0.79248313) - *** FresnelRefraction *** - 1 5 m -44.4 cm -27.3 cm 2.55 eV 0 eV 5.03 m 5.03 m Tank Transportation - 2 10 m -1.05 m -64.3 cm 2.55 eV 0 eV 5.05 m 10.1 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 39, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 853 um -335 um 325 um 2.47 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.86552292,-0.45324112,0.21317262) - Old Polarization: (-0.4972608,-0.82857326,0.25728983) - New Momentum Direction: (0.73720043,-0.61142354,0.28757047) - New Polarization: (0.6710301,0.61269999,-0.41751326) - *** FresnelRefraction *** - 1 5 m -2.62 m 1.23 m 2.47 eV 0 eV 5.78 m 5.78 m Tank Transportation - 2 10 m -6.77 m 3.18 m 2.47 eV 0 eV 6.78 m 12.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 38, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 896 um -345 um 331 um 4.03 eV 0 eV 0 fm 0 fm Tank initStep + 0 622 um -213 um 68.1 um 2.26 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** - 1 2.24 m -97 cm -19.1 cm 4.03 eV 0 eV 2.45 m 2.45 m Tank OpAbsorption + 1 4.17 m -2.35 m -21 cm 2.26 eV 0 eV 4.79 m 4.79 m Tank OpAbsorption ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 37, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 943 um -357 um 338 um 2.85 eV 0 eV 0 fm 0 fm Tank initStep + 0 556 um -187 um 59.8 um 2.41 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.86541655,-0.35660124,0.35197976) - Old Polarization: (-0.48518052,-0.42099486,0.76639624) - New Momentum Direction: (0.73502466,-0.48256371,0.47630979) - New Polarization: (0.65754058,0.67873424,-0.32704772) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.71764567,-0.64175028,-0.27044642) + Old Polarization: (0.48099655,0.73759693,-0.47391253) + New Momentum Direction: (0.3441446,-0.86522508,-0.36462318) + New Polarization: (0.68302797,0.4971647,-0.53507014) *** FresnelRefraction *** - 1 5 m -2.06 m 2.03 m 2.85 eV 0 eV 5.78 m 5.78 m Tank Transportation - 2 10 m -5.34 m 5.27 m 2.85 eV 0 eV 6.8 m 12.6 m OutOfWorld Transportation + 1 5 m -4.47 m -1.88 m 2.41 eV 0 eV 6.97 m 6.97 m Tank Transportation + 2 7.2 m -10 m -4.21 m 2.41 eV 0 eV 6.39 m 13.4 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 3 1.11 mm -398 um 363 um 248 keV 0 eV 0 fm 1.37 mm Tank initStep -CAImin = 3.6490794e-07 -ge = 7.8175581e-07 -CAImin = 6.7313356e-07 -ge = 4.7353019e-07 - 4 1.13 mm -393 um 376 um 243 keV 5.59 keV 23.6 um 1.4 mm Tank Cerenkov -CAImin = 1.0916535e-06 -ge = 5.5010217e-08 -CAImin = 1.1125232e-06 -ge = 3.4140602e-08 - 5 1.13 mm -392 um 376 um 243 keV 300 eV 1.55 um 1.4 mm Tank Cerenkov - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 4 - 6 1.41 mm -360 um 557 um 0 eV 243 keV 589 um 1.99 mm Tank eIoni - 7 1.41 mm -360 um 557 um 0 eV 0 eV 0 fm 1.99 mm Tank Scintillation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 50, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.41 mm -360 um 557 um 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 -46.5 cm 4.77 m 5 m 511 keV 0 eV 6.92 m 6.92 m Tank Transportation - 2 -93.2 cm 9.54 m 10 m 511 keV 0 eV 6.93 m 13.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 49, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.41 mm -360 um 557 um 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 46.8 cm -4.77 m -5 m 511 keV 0 eV 6.93 m 6.93 m Tank Transportation - 2 93.5 cm -9.54 m -10 m 511 keV 0 eV 6.93 m 13.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 48, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.25 mm -379 um 453 um 3.52 eV 0 eV 0 fm 0 fm Tank initStep + 0 598 um -203 um 65.1 um 2.29 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.59505794,-0.75621524,0.2721113) - Old Polarization: (0.10737201,-0.26074093,-0.95941931) - New Momentum Direction: (0.59505794,0.75621524,0.2721113) - New Polarization: (0.48831469,-0.071284445,-0.86975128) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.072659249,-0.55096156,0.83136153) + Old Polarization: (0.99289623,-0.038788921,-0.11248331) + New Momentum Direction: (0.097863544,-0.74208104,0.66312779) + New Polarization: (0.95141251,0.26523699,0.15640838) + *** FresnelRefraction *** + 1 43.8 cm -3.31 m 5 m 2.29 eV 0 eV 6.01 m 6.01 m Tank Transportation + 2 1.18 m -8.91 m 10 m 2.29 eV 0 eV 7.54 m 13.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 809 um -284 um 91.7 um 2.38 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.51346212,0.8233083,-0.24190927) + Old Polarization: (0.81791899,-0.38429484,0.42816585) + New Momentum Direction: (0.6921263,0.64391803,-0.32608397) + New Polarization: (-0.093692878,0.52810979,0.84399153) + *** FresnelRefraction *** + 1 3.12 m 5 m -1.47 m 2.38 eV 0 eV 6.07 m 6.07 m Tank Transportation + 2 8.49 m 10 m -4 m 2.38 eV 0 eV 7.76 m 13.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 536 um -180 um 57.3 um 2.18 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.57999484,-0.50154938,0.64191449) + Old Polarization: (0.7894317,-0.54048864,0.29098046) + New Momentum Direction: (-0.57999484,-0.50154938,-0.64191449) + New Polarization: (-0.7894317,0.54048864,0.29098046) *** LobeReflection *** - 1 3.94 m -5 m 1.8 m 3.52 eV 0 eV 6.61 m 6.61 m Tank Transportation - 2 3.94 m -5 m 1.8 m 3.52 eV 0 eV 0 fm 6.61 m World Transportation + 1 -4.52 m -3.91 m 5 m 2.18 eV 0 eV 7.79 m 7.79 m Tank Transportation Photon at Boundary! - Old Momentum Direction: (0.59505794,0.75621524,0.2721113) - Old Polarization: (0.48831469,-0.071284445,-0.86975128) - New Momentum Direction: (-0.59505794,0.75621524,0.2721113) - New Polarization: (0.48831469,0.071284445,0.86975128) - *** LobeReflection *** - 3 5 m -3.65 m 2.29 m 3.52 eV 0 eV 1.79 m 8.4 m Tank Transportation - 4 5 m -3.65 m 2.29 m 3.52 eV 0 eV 0 fm 8.4 m World Transportation + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 -4.52 m -3.91 m 5 m 2.18 eV 0 eV 0 fm 7.79 m World Transportation Photon at Boundary! - Old Momentum Direction: (-0.59505794,0.75621524,0.2721113) - Old Polarization: (0.48831469,0.071284445,0.86975128) - New Momentum Direction: (-0.59505794,0.75621524,-0.2721113) - New Polarization: (-0.48831469,-0.071284445,0.86975128) - *** LobeReflection *** - 5 -93.4 cm 3.89 m 5 m 3.52 eV 0 eV 9.97 m 18.4 m Tank Transportation - 6 -93.4 cm 3.89 m 5 m 3.52 eV 0 eV 0 fm 18.4 m World Transportation - Photon at Boundary! - Old Momentum Direction: (-0.59505794,0.75621524,-0.2721113) - Old Polarization: (-0.48831469,-0.071284445,0.86975128) - New Momentum Direction: (-0.38009007,-0.8637925,-0.33074772) - New Polarization: (0.48180478,0.12034341,-0.86797558) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.57999484,-0.50154938,-0.64191449) + Old Polarization: (-0.7894317,0.54048864,0.29098046) + New Momentum Direction: (0.99754506,-0.00048977343,0.070025802) + New Polarization: (0.043670529,-0.77735795,-0.62754084) *** LambertianReflection *** - 7 -1.8 m 5 m 4.6 m 3.52 eV 0 eV 1.46 m 19.8 m Tank Transportation - 8 -1.8 m 5 m 4.6 m 3.52 eV 0 eV 0 fm 19.8 m World Transportation + 3 -5 m -4.32 m 4.47 m 2.18 eV 0 eV 83.3 cm 8.62 m Tank Transportation Photon at Boundary! - Old Momentum Direction: (-0.38009007,-0.8637925,-0.33074772) - Old Polarization: (0.48180478,0.12034341,-0.86797558) - New Momentum Direction: (0.38009007,-0.8637925,-0.33074772) - New Polarization: (0.48180478,-0.12034341,0.86797558) - *** LobeReflection *** - 9 -5 m -2.26 m 1.82 m 3.52 eV 0 eV 8.41 m 28.2 m Tank Transportation - 10 -5 m -2.26 m 1.82 m 3.52 eV 0 eV 0 fm 28.2 m World Transportation + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 -5 m -4.32 m 4.47 m 2.18 eV 0 eV 0 fm 8.62 m World Transportation Photon at Boundary! - Old Momentum Direction: (0.38009007,-0.8637925,-0.33074772) - Old Polarization: (0.48180478,-0.12034341,0.86797558) - New Momentum Direction: (0.51607764,-0.72937608,-0.44908173) - New Polarization: (0.50186377,-0.167387,0.84859552) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.99754506,-0.00048977343,0.070025802) + Old Polarization: (0.043670529,-0.77735795,-0.62754084) + New Momentum Direction: (-0.99754506,0.00048977343,-0.070025802) + New Polarization: (-0.043670529,0.77735795,0.62754084) + *** BackScattering *** + 5 2.61 m -4.33 m 5 m 2.18 eV 0 eV 7.63 m 16.3 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 6 2.61 m -4.33 m 5 m 2.18 eV 0 eV 0 fm 16.3 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.99754506,0.00048977343,-0.070025802) + Old Polarization: (-0.043670529,0.77735795,0.62754084) + New Momentum Direction: (-0.99555119,0.00065899186,-0.094219961) + New Polarization: (-0.058769433,0.77727625,0.62640863) *** FresnelRefraction *** - 11 -3.8 m -5 m 77.3 cm 3.52 eV 0 eV 3.17 m 31.4 m Tank Transportation - 12 -25.8 cm -10 m -2.31 m 3.52 eV 0 eV 6.86 m 38.3 m OutOfWorld Transportation + 7 -5 m -4.32 m 4.47 m 2.18 eV 0 eV 7.63 m 23.9 m Tank Transportation + 8 -10 m -4.32 m 3.99 m 2.18 eV 0 eV 5.02 m 28.9 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 47, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.19 mm -385 um 416 um 2.53 eV 0 eV 0 fm 0 fm Tank initStep + 0 607 um -207 um 66.3 um 3.66 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.029297401,0.93290475,-0.35892951) + Old Polarization: (0.73380661,0.22375082,0.64145415) + New Momentum Direction: (0.039802274,0.87214416,-0.48762725) + New Polarization: (0.73350221,0.30588746,0.6069657) + *** FresnelRefraction *** + 1 15.8 cm 5 m -1.92 m 3.66 eV 0 eV 5.36 m 5.36 m Tank Transportation + 2 38.6 cm 10 m -4.72 m 3.66 eV 0 eV 5.73 m 11.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 772 um -270 um 87.1 um 3.42 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.88777544,-0.2301595,-0.39859927) + Old Polarization: (-0.1177929,-0.72355097,0.68014618) + New Momentum Direction: (-0.78092222,-0.31234274,-0.54092744) + New Polarization: (-0.16277422,-0.7343164,0.65900226) + *** FresnelRefraction *** + 1 -5 m -1.3 m -2.25 m 3.42 eV 0 eV 5.63 m 5.63 m Tank Transportation + 2 -10 m -3.3 m -5.71 m 3.42 eV 0 eV 6.4 m 12 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 160 um -36.3 um 9.82 um 2.49 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.77612067,0.60272294,-0.18536925) + Old Polarization: (-0.24542223,0.017932025,-0.96925042) + New Momentum Direction: (0.52533801,0.81329811,-0.25013228) + New Polarization: (0.34752243,-0.4734076,-0.80939076) + *** FresnelRefraction *** + 1 5 m 3.88 m -1.19 m 2.49 eV 0 eV 6.44 m 6.44 m Tank Transportation + 2 8.95 m 10 m -3.08 m 2.49 eV 0 eV 7.52 m 14 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 464 um -152 um 48.2 um 2.62 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.66517233,0.4721229,0.57848573) + Old Polarization: (-0.21399382,0.62170199,-0.75345423) + New Momentum Direction: (0.66517233,-0.4721229,-0.57848573) + New Polarization: (0.21399382,-0.62170199,0.75345423) + *** BackScattering *** + 1 -5 m 3.55 m 4.35 m 2.62 eV 0 eV 7.52 m 7.52 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 -5 m 3.55 m 4.35 m 2.62 eV 0 eV 0 fm 7.52 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.66517233,-0.4721229,-0.57848573) + Old Polarization: (0.21399382,-0.62170199,0.75345423) + New Momentum Direction: (-0.63079823,0.57673951,-0.51910031) + New Polarization: (0.60988447,-0.045083961,-0.79120691) + *** LambertianReflection *** + 3 5 m -3.55 m -4.35 m 2.62 eV 0 eV 15 m 22.6 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 5 m -3.55 m -4.35 m 2.62 eV 0 eV 0 fm 22.6 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.63079823,0.57673951,-0.51910031) + Old Polarization: (0.60988447,-0.045083961,-0.79120691) + New Momentum Direction: (-0.13451045,0.53300177,0.83535385) + New Polarization: (-0.9754132,0.077297933,-0.20638344) + *** LambertianReflection *** + 5 4.21 m -2.82 m -5 m 2.62 eV 0 eV 1.26 m 23.8 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 6 4.21 m -2.82 m -5 m 2.62 eV 0 eV 0 fm 23.8 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.13451045,0.53300177,0.83535385) + Old Polarization: (-0.9754132,0.077297933,-0.20638344) + New Momentum Direction: (-0.18169764,0.71998245,0.66978447) + New Polarization: (-0.83112067,-0.47647585,0.28672146) + *** FresnelRefraction *** + 7 2.6 m 3.56 m 5 m 2.62 eV 0 eV 12 m 35.8 m Tank Transportation + 8 1.24 m 8.93 m 10 m 2.62 eV 0 eV 7.47 m 43.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 662 um -228 um 73.1 um 3.87 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.61726307,-0.717544,0.32267153) + Old Polarization: (-0.27108641,0.19103897,0.94340674) + New Momentum Direction: (0.61726307,0.717544,0.32267153) + New Polarization: (-0.37241544,-0.094790201,0.92321263) + *** LobeReflection *** + 1 4.3 m -5 m 2.25 m 3.87 eV 0 eV 6.97 m 6.97 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 4.3 m -5 m 2.25 m 3.87 eV 0 eV 0 fm 6.97 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.61726307,0.717544,0.32267153) + Old Polarization: (-0.37241544,-0.094790201,0.92321263) + New Momentum Direction: (-0.29001059,0.25142022,0.92340767) + New Polarization: (-0.84048553,-0.52835363,-0.12011045) + *** LambertianReflection *** + 3 5 m -4.19 m 2.61 m 3.87 eV 0 eV 1.13 m 8.1 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 5 m -4.19 m 2.61 m 3.87 eV 0 eV 0 fm 8.1 m World Transportation ** Photon absorbed! ** - 1 9.81 cm -1.18 m 57.9 cm 2.53 eV 0 eV 1.31 m 1.31 m Tank OpAbsorption + 5 4.41 m -3.68 m 4.48 m 3.87 eV 0 eV 2.03 m 10.1 m Tank OpAbsorption ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 46, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.14 mm -391 um 384 um 2.58 eV 0 eV 0 fm 0 fm Tank initStep + 0 229 um -62.8 um 18.6 um 3.88 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.14720694,0.51290327,-0.84573066) - Old Polarization: (-0.60230228,0.72472158,0.33467983) - New Momentum Direction: (0.19878969,0.6926296,-0.69335914) - New Polarization: (-0.86194805,-0.21312468,-0.46002546) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.912663,-0.30459151,0.27252569) + Old Polarization: (-0.16892003,0.32606871,0.93013183) + New Momentum Direction: (0.83142003,-0.41409159,0.37049817) + New Polarization: (0.23235874,0.86479723,0.44512377) *** FresnelRefraction *** - 1 87.2 cm 3.03 m -5 m 2.58 eV 0 eV 5.91 m 5.91 m Tank Transportation - 2 2.31 m 8.03 m -10 m 2.58 eV 0 eV 7.21 m 13.1 m OutOfWorld Transportation + 1 5 m -1.67 m 1.49 m 3.88 eV 0 eV 5.48 m 5.48 m Tank Transportation + 2 10 m -4.16 m 3.72 m 3.88 eV 0 eV 6.01 m 11.5 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 45, Parent ID = 1 +* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.4 mm -361 um 550 um 3.07 eV 0 eV 0 fm 0 fm Tank initStep + 2 851 um -300 um 97 um 153 keV 0 eV 0 fm 1 mm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 12 + 3 1 mm -313 um 81 um 0 eV 153 keV 278 um 1.28 mm Tank eIoni + 4 1 mm -313 um 81 um 0 eV 0 eV 0 fm 1.28 mm Tank Scintillation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1 mm -313 um 81 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 1.53 m 22.9 cm 5 m 511 keV 0 eV 5.23 m 5.23 m Tank Transportation + 2 3.06 m 45.8 cm 10 m 511 keV 0 eV 5.23 m 10.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1 mm -313 um 81 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 -1.53 m -23 cm -5 m 511 keV 0 eV 5.23 m 5.23 m Tank Transportation + 2 -3.06 m -45.9 cm -10 m 511 keV 0 eV 5.23 m 10.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 36, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 894 um -304 um 92.5 um 3.29 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 4.9 m -3.41 m 4 m 3.29 eV 0 eV 7.18 m 7.18 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 35, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 953 um -309 um 86.2 um 3.48 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.62420599,0.67590913,-0.39180827) - Old Polarization: (-0.13731261,0.58861671,0.79666531) - New Momentum Direction: (0.84565889,0.055672896,-0.53081218) - New Polarization: (0.22693914,0.86265484,0.45202352) + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.055497412,0.35714901,-0.93239725) + Old Polarization: (-0.61907957,-0.72035524,-0.31277599) + New Momentum Direction: (0.075335816,0.48481741,-0.87136479) + New Polarization: (-0.60746597,-0.67066414,-0.42566971) *** FresnelRefraction *** - 1 4.62 m 5 m -2.9 m 3.07 eV 0 eV 7.4 m 7.4 m Tank Transportation - 2 10 m 5.35 m -6.28 m 3.07 eV 0 eV 6.36 m 13.8 m OutOfWorld Transportation -Number of optical photons produces in this event : 47 -number of event = 1 User=0s Real=0.02s Sys=0.01s + 1 29.9 cm 1.91 m -5 m 3.48 eV 0 eV 5.36 m 5.36 m Tank Transportation + 2 73.1 cm 4.7 m -10 m 3.48 eV 0 eV 5.74 m 11.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 34, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 892 um -304 um 92.7 um 2.53 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.54006955,-0.28010649,-0.79364049) + Old Polarization: (0.51016878,-0.85894746,-0.044012203) + New Momentum Direction: (-0.035614705,0.40992256,0.91142476) + New Polarization: (-0.62398334,0.70326386,-0.34068276) + *** LambertianReflection *** + 1 -3.4 m -1.77 m -5 m 2.53 eV 0 eV 6.3 m 6.3 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 -3.4 m -1.77 m -5 m 2.53 eV 0 eV 0 fm 6.3 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.035614705,0.40992256,0.91142476) + Old Polarization: (-0.62398334,0.70326386,-0.34068276) + New Momentum Direction: (-0.035614705,0.40992256,-0.91142476) + New Polarization: (-0.73186992,-0.63172249,-0.25552518) + *** LobeReflection *** + 3 -3.79 m 2.73 m 5 m 2.53 eV 0 eV 11 m 17.3 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 -3.79 m 2.73 m 5 m 2.53 eV 0 eV 0 fm 17.3 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.035614705,0.40992256,-0.91142476) + Old Polarization: (-0.73186992,-0.63172249,-0.25552518) + New Momentum Direction: (0.1210099,-0.92233318,0.3669579) + New Polarization: (0.76839102,0.32107239,0.55361336) + *** LambertianReflection *** + 5 -3.99 m 5 m -4.14 cm 2.53 eV 0 eV 5.53 m 22.8 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 6 -3.99 m 5 m -4.14 cm 2.53 eV 0 eV 0 fm 22.8 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.1210099,-0.92233318,0.3669579) + Old Polarization: (0.76839102,0.32107239,0.55361336) + New Momentum Direction: (0.16335648,-0.85318285,0.49537227) + New Polarization: (0.30132384,-0.434976,-0.84852804) + *** FresnelRefraction *** + 7 -2.68 m -5 m 3.94 m 2.53 eV 0 eV 10.8 m 33.6 m Tank Transportation + 8 -1.72 m -10 m 6.84 m 2.53 eV 0 eV 5.86 m 39.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 33, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 928 um -307 um 88.8 um 3.09 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.88789879,0.26468034,-0.37627125) + Old Polarization: (-0.45945539,-0.46901879,0.75426926) + New Momentum Direction: (-0.78197738,0.3586155,-0.50981006) + New Polarization: (-0.6225459,-0.40895419,0.6672279) + *** FresnelRefraction *** + 1 -5 m 1.49 m -2.12 m 3.09 eV 0 eV 5.63 m 5.63 m Tank Transportation + 2 -10 m 3.78 m -5.38 m 3.09 eV 0 eV 6.39 m 12 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 32, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 872 um -302 um 94.8 um 2.77 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.66064161,-0.72698945,-0.18718708) + Old Polarization: (-0.41101259,-0.5589358,0.72018013) + New Momentum Direction: (0.66064161,0.72698945,-0.18718708) + New Polarization: (0.58249301,-0.33912718,0.73871148) + *** LobeReflection *** + 1 4.54 m -5 m -1.29 m 2.77 eV 0 eV 6.88 m 6.88 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 4.54 m -5 m -1.29 m 2.77 eV 0 eV 0 fm 6.88 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.66064161,0.72698945,-0.18718708) + Old Polarization: (0.58249301,-0.33912718,0.73871148) + New Momentum Direction: (-0.77416172,0.55007142,-0.31320131) + New Polarization: (0.60148449,0.4851172,-0.63472649) + *** LambertianReflection *** + 3 5 m -4.5 m -1.42 m 2.77 eV 0 eV 69 cm 7.57 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 5 m -4.5 m -1.42 m 2.77 eV 0 eV 0 fm 7.57 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.77416172,0.55007142,-0.31320131) + Old Polarization: (0.60148449,0.4851172,-0.63472649) + New Momentum Direction: (0.037948842,-0.80416639,0.59319162) + New Polarization: (-0.96591592,0.1225917,0.22798622) + *** LambertianReflection *** + 5 -3.86 m 1.8 m -5 m 2.77 eV 0 eV 11.4 m 19 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 6 -3.86 m 1.8 m -5 m 2.77 eV 0 eV 0 fm 19 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.037948842,-0.80416639,0.59319162) + Old Polarization: (-0.96591592,0.1225917,0.22798622) + New Momentum Direction: (0.051319354,-0.59485821,0.80219077) + New Polarization: (-0.98273798,-0.17303986,-0.065446652) + *** FresnelRefraction *** + 7 -3.54 m -5 m 1.26 cm 2.77 eV 0 eV 8.45 m 27.5 m Tank Transportation + 8 -3.11 m -10 m 6.76 m 2.77 eV 0 eV 8.41 m 35.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 31, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 878 um -302 um 94.2 um 2.63 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.87594245,-0.08844321,0.47423899) + Old Polarization: (-0.071799625,-0.9960029,-0.053132187) + New Momentum Direction: (0.75847793,-0.11947857,0.64065287) + New Polarization: (0.099050133,-0.95049537,-0.2945295) + *** FresnelRefraction *** + 1 5 m -50.5 cm 2.71 m 2.63 eV 0 eV 5.71 m 5.71 m Tank Transportation + 2 10 m -1.29 m 6.93 m 2.63 eV 0 eV 6.59 m 12.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 30, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 904 um -305 um 91.4 um 2.1 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.92642328,-0.051412685,0.37295663) + Old Polarization: (0.20640029,0.75913333,0.61734554) + New Momentum Direction: (-0.86242589,-0.06912451,0.50144131) + New Polarization: (-0.27954756,0.89090034,-0.35798008) + *** FresnelRefraction *** + 1 -5 m -27.8 cm 2.01 m 2.1 eV 0 eV 5.4 m 5.4 m Tank Transportation + 2 -10 m -67.9 cm 4.92 m 2.1 eV 0 eV 5.8 m 11.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 29, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 964 um -310 um 85 um 2.2 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.92716917,-0.053231997,0.37084186) + Old Polarization: (0.34667989,0.25333534,0.90312472) + New Momentum Direction: (-0.86360283,-0.071636536,0.49905748) + New Polarization: (-0.46723752,0.48560679,-0.73883364) + *** FresnelRefraction *** + 1 -5 m -28.7 cm 2 m 2.2 eV 0 eV 5.39 m 5.39 m Tank Transportation + 2 -10 m -70.2 cm 4.89 m 2.2 eV 0 eV 5.79 m 11.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 28, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 986 um -312 um 82.7 um 2.83 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.23962668,-0.51003615,-0.82610059) + Old Polarization: (0.80954836,0.57466334,-0.1199729) + New Momentum Direction: (0.23962668,-0.51003615,0.82610059) + New Polarization: (0.89651449,0.44281345,0.013342294) + *** SpikeReflection *** + 1 1.45 m -3.09 m -5 m 2.83 eV 0 eV 6.05 m 6.05 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 2 1.45 m -3.09 m -5 m 2.83 eV 0 eV 0 fm 6.05 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.23962668,-0.51003615,0.82610059) + Old Polarization: (0.89651449,0.44281345,0.013342294) + New Momentum Direction: (0.23962668,0.51003615,0.82610059) + New Polarization: (-0.89651449,0.44281345,-0.013342294) + *** LobeReflection *** + 3 2.35 m -5 m -1.9 m 2.83 eV 0 eV 3.75 m 9.8 m Tank Transportation + Photon at Boundary! + thePrePV: World + thePostPV: Tank + *** StepTooSmall *** + 4 2.35 m -5 m -1.9 m 2.83 eV 0 eV 0 fm 9.8 m World Transportation + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (0.23962668,0.51003615,0.82610059) + Old Polarization: (-0.89651449,0.44281345,-0.013342294) + New Momentum Direction: (0.32423625,0.69012436,0.64699244) + New Polarization: (-0.91156834,0.41072203,0.018723904) + *** FresnelRefraction *** + 5 4.35 m -73.9 cm 5 m 2.83 eV 0 eV 8.36 m 18.2 m Tank Transportation + 6 6.86 m 4.59 m 10 m 2.83 eV 0 eV 7.73 m 25.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 27, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 863 um -301 um 95.8 um 3.74 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.95933524,-0.12699365,-0.25208831) + Old Polarization: (0.25104586,-0.79214425,-0.55631239) + New Momentum Direction: (-0.92350981,-0.1725713,-0.34256208) + New Polarization: (-0.34155666,-0.036436199,0.93915465) + *** FresnelRefraction *** + 1 -5 m -66.2 cm -1.31 m 3.74 eV 0 eV 5.21 m 5.21 m Tank Transportation + 2 -10 m -1.6 m -3.17 m 3.74 eV 0 eV 5.41 m 10.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 26, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 880 um -302 um 94 um 4.13 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -74.2 cm -1.72 m -49.8 cm 4.13 eV 0 eV 1.94 m 1.94 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 25, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 999 um -313 um 81.3 um 3.13 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + thePrePV: Tank + thePostPV: World + Old Momentum Direction: (-0.98119001,-0.13629756,-0.13670826) + Old Polarization: (-0.14100443,0.022334848,0.98975699) + New Momentum Direction: (-0.96517489,-0.18470452,-0.18526109) + New Polarization: (-0.19130411,0.015292165,0.98141168) + *** FresnelRefraction *** + 1 -5 m -69.5 cm -69.7 cm 3.13 eV 0 eV 5.1 m 5.1 m Tank Transportation + 2 -10 m -1.65 m -1.66 m 3.13 eV 0 eV 5.18 m 10.3 m OutOfWorld Transportation +Number of optical photons produces in this event : 35 +number of event = 1 User=0.01s Real=0s Sys=0s # /process/inactivate Scintillation /run/physicsModified @@ -1063,141 +1065,141 @@ number of event = 1 User=0s Real=0.02s Sys=0.01s /run/beamOn 1 msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV -msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 +muMsc: for mu+ SubType= 10 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc90 : Emin= 0 eV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV ### Run 1 start. ********************************************************************************************************* @@ -1206,160 +1208,146 @@ hIoni: for pi- SubType= 2 Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 0 fm 500 keV 0 eV 0 fm 0 fm Tank initStep - 1 91 um -981 nm 13.7 um 488 keV 11.5 keV 92.9 um 92.9 um Tank msc - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 42 um -453 nm 6.34 um 3.42 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 1.36 m 3.79 m 3.42 eV 0 eV 6.42 m 6.42 m Tank Transportation - 2 9.05 m 3.59 m 10 m 3.42 eV 0 eV 7.74 m 14.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 1 91 um -981 nm 13.7 um 488 keV 0 eV 0 fm 92.9 um Tank initStep - 2 905 um -165 um -220 um 302 keV 187 keV 958 um 1.05 mm Tank Cerenkov - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 153 um -13.5 um -4.04 um 2.06 eV 0 eV 0 fm 0 fm Tank initStep - 1 2.46 m -8 cm -1.98 m 2.06 eV 0 eV 3.16 m 3.16 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 677 um -119 um -155 um 3.88 eV 0 eV 0 fm 0 fm Tank initStep - 1 31.4 cm -21.1 cm -1.36 cm 3.88 eV 0 eV 37.8 cm 37.8 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 640 um -112 um -144 um 3.23 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 41.2 cm -3.79 m 3.23 eV 0 eV 6.29 m 6.29 m Tank Transportation - 2 9.33 m 1.09 m -10 m 3.23 eV 0 eV 7.6 m 13.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 393 um -62 um -73 um 2.24 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 1.28 m -1.81 m 2.24 eV 0 eV 5.47 m 5.47 m Tank Transportation - 2 10 m 3.16 m -4.48 m 2.24 eV 0 eV 5.97 m 11.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 596 um -103 um -131 um 3.34 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.14 m 69.2 cm 3.34 eV 0 eV 5.48 m 5.48 m Tank Transportation - 2 10 m -5.34 m 1.72 m 3.34 eV 0 eV 6.02 m 11.5 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 133 um -9.55 um 1.57 um 2.14 eV 0 eV 0 fm 0 fm Tank initStep - 1 83.9 cm 20.7 cm -34.8 cm 2.14 eV 0 eV 93.1 cm 93.1 cm Tank OpRayleigh - 2 1.96 m 14.3 cm -5 m 2.14 eV 0 eV 4.79 m 5.72 m Tank Transportation - 3 3.62 m 4.89 cm -10 m 2.14 eV 0 eV 5.27 m 11 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 647 um -113 um -146 um 2.42 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 1.24 m -1.03 m 2.42 eV 0 eV 5.25 m 5.25 m Tank Transportation - 2 10 m 2.99 m -2.47 m 2.42 eV 0 eV 5.49 m 10.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 845 um -153 um -203 um 3.81 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -3.97 m -1.85 m 3.81 eV 0 eV 6.65 m 6.65 m Tank Transportation - 2 8.3 m -10 m -4.66 m 3.81 eV 0 eV 7.43 m 14.1 m OutOfWorld Transportation + 1 117 um 19.7 um -5.46 um 475 keV 25.4 keV 120 um 120 um Tank msc ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 98.1 um -2.42 um 11.7 um 3.79 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.71 m 40.4 cm 3.79 eV 0 eV 5.7 m 5.7 m Tank Transportation - 2 10 m -6.97 m 1.04 m 3.79 eV 0 eV 6.6 m 12.3 m OutOfWorld Transportation + 0 60.9 um 10.3 um -2.85 um 3.59 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 1.38 m 2.74 m 3.59 eV 0 eV 5.87 m 5.87 m Tank Transportation + 2 10 m 3.66 m 7.25 m 3.59 eV 0 eV 7.11 m 13 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 745 um -133 um -174 um 3.88 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 1.38 m -1.25 m 3.88 eV 0 eV 5.33 m 5.33 m Tank Transportation - 2 10 m 3.37 m -3.07 m 3.88 eV 0 eV 5.68 m 11 m OutOfWorld Transportation + 0 44.1 um 7.43 um -2.06 um 2.61 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -1.16 m -2.27 m 2.61 eV 0 eV 5.61 m 5.61 m Tank Transportation + 2 10 m -2.93 m -5.73 m 2.61 eV 0 eV 6.33 m 11.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 34.5 um 5.81 um -1.61 um 2.35 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 54.7 cm 2.61 m 2.35 eV 0 eV 5.67 m 5.67 m Tank Transportation + 2 10 m 1.39 m 6.63 m 2.35 eV 0 eV 6.47 m 12.1 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 2 905 um -165 um -220 um 302 keV 0 eV 0 fm 1.05 mm Tank initStep - 3 1.02 mm -186 um -413 um 251 keV 50.3 keV 239 um 1.29 mm Tank Cerenkov + 1 117 um 19.7 um -5.46 um 475 keV 0 eV 0 fm 120 um Tank initStep + 2 750 um 92.7 um -514 um 241 keV 234 keV 908 um 1.03 mm Tank Cerenkov ********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 963 um -175 um -314 um 3.66 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -61.5 cm -4.85 m 3.66 eV 0 eV 6.99 m 6.99 m Tank Transportation - 2 6.71 m -1.27 m -10 m 3.66 eV 0 eV 5.47 m 12.5 m OutOfWorld Transportation + 0 341 um 45.5 um -186 um 3.46 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 1.98 m -2.05 m 3.46 eV 0 eV 5.76 m 5.76 m Tank Transportation + 2 10 m 5.15 m -5.33 m 3.46 eV 0 eV 6.76 m 12.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 167 um 25.5 um -46 um 3.63 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 1.08 m -1.57 m 3.63 eV 0 eV 5.35 m 5.35 m Tank Transportation + 2 10 m 2.65 m -3.86 m 3.63 eV 0 eV 5.72 m 11.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 149 um 23.4 um -31.7 um 2.05 eV 0 eV 0 fm 0 fm Tank initStep + 1 4.79 m -30.6 cm -1.76 m 2.05 eV 0 eV 5.11 m 5.11 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 153 um 23.9 um -34.9 um 3.41 eV 0 eV 0 fm 0 fm Tank initStep + 1 3.83 m 2.69 m -4.32 m 3.41 eV 0 eV 6.37 m 6.37 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 148 um 23.3 um -30.6 um 2.94 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 2.26 m -2.35 m 2.94 eV 0 eV 5.97 m 5.97 m Tank Transportation + 2 5 m 2.26 m -2.35 m 2.94 eV 0 eV 0 fm 5.97 m World Transportation + 3 2.66 m 4.54 m -5 m 2.94 eV 0 eV 4.21 m 10.2 m Tank Transportation + 4 2.66 m 4.54 m -5 m 2.94 eV 0 eV 0 fm 10.2 m World Transportation + 5 44.2 cm 3 m 31 cm 2.94 eV 0 eV 5.96 m 16.1 m Tank Transportation + 6 44.2 cm 3 m 31 cm 2.94 eV 0 eV 0 fm 16.1 m Bubble Transportation + 7 -1.51 m 4.36 m 5 m 2.94 eV 0 eV 5.26 m 21.4 m Tank Transportation + 8 -4.7 m 6.59 m 10 m 2.94 eV 0 eV 6.33 m 27.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 533 um 67.7 um -340 um 2.84 eV 0 eV 0 fm 0 fm Tank initStep + 1 3.79 m 2.51 m -5 m 2.84 eV 0 eV 6.76 m 6.76 m Tank Transportation + 2 10 m 6.61 m -8.39 m 2.84 eV 0 eV 8.18 m 14.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 231 um 32.9 um -97.6 um 2.11 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 2.02 m -2.27 m 2.11 eV 0 eV 5.85 m 5.85 m Tank Transportation + 2 10 m 5.27 m -5.92 m 2.11 eV 0 eV 6.99 m 12.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 375 um 49.5 um -213 um 2.12 eV 0 eV 0 fm 0 fm Tank initStep + 1 8.23 cm 4.39 cm -12.3 cm 2.12 eV 0 eV 15.4 cm 15.4 cm Tank OpAbsorption ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 3 1.02 mm -186 um -413 um 251 keV 0 eV 0 fm 1.29 mm Tank initStep - 4 1.04 mm -218 um -411 um 246 keV 5.3 keV 34.9 um 1.33 mm Tank Cerenkov - 5 1.04 mm -231 um -408 um 235 keV 10.6 keV 13.9 um 1.34 mm Tank Cerenkov - 6 1.09 mm -542 um -376 um 0 eV 235 keV 562 um 1.9 mm Tank eIoni - 7 1.09 mm -542 um -376 um 0 eV 0 eV 0 fm 1.9 mm Tank annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.09 mm -542 um -376 um 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.38 m 4.99 m 511 keV 0 eV 7.46 m 7.46 m Tank Transportation - 2 10 m 4.76 m 9.98 m 511 keV 0 eV 7.46 m 14.9 m OutOfWorld Transportation + 2 750 um 92.7 um -514 um 241 keV 0 eV 0 fm 1.03 mm Tank initStep + 3 894 um 253 um -752 um 0 eV 241 keV 581 um 1.61 mm Tank eIoni + 4 894 um 253 um -752 um 0 eV 0 eV 0 fm 1.61 mm Tank annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.09 mm -542 um -376 um 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 -5 m -2.38 m -4.99 m 511 keV 0 eV 7.46 m 7.46 m Tank Transportation - 2 -10 m -4.77 m -9.99 m 511 keV 0 eV 7.46 m 14.9 m OutOfWorld Transportation -Number of optical photons produces in this event : 12 + 0 894 um 253 um -752 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 -5 m -3.01 m 3.52 m 511 keV 0 eV 6.82 m 6.82 m Tank Transportation + 2 -10 m -6.02 m 7.04 m 511 keV 0 eV 6.81 m 13.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 894 um 253 um -752 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 3.01 m -3.52 m 511 keV 0 eV 6.81 m 6.81 m Tank Transportation + 2 10 m 6.02 m -7.04 m 511 keV 0 eV 6.81 m 13.6 m OutOfWorld Transportation +Number of optical photons produces in this event : 11 number of event = 1 User=0s Real=0s Sys=0s Graphics systems deleted. Visualization Manager deleting... + diff --git a/examples/novice/N06/src/ExN06PhysicsList.cc b/examples/novice/N06/src/ExN06PhysicsList.cc index 556cce3f36..52d30786cf 100644 --- a/examples/novice/N06/src/ExN06PhysicsList.cc +++ b/examples/novice/N06/src/ExN06PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN06PhysicsList.cc,v 1.16 2008/11/21 01:09:56 gum Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: ExN06PhysicsList.cc,v 1.17 2009/11/10 05:16:23 gum Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -179,7 +179,9 @@ void ExN06PhysicsList::ConstructGeneral() #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering.hh" +#include "G4eMultipleScattering.hh" +#include "G4MuMultipleScattering.hh" +#include "G4hMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -211,14 +213,14 @@ void ExN06PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron // Construct processes for electron - pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1); + pmanager->AddProcess(new G4eMultipleScattering(),-1, 1, 1); pmanager->AddProcess(new G4eIonisation(), -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3); } else if (particleName == "e+") { //positron // Construct processes for positron - pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1); + pmanager->AddProcess(new G4eMultipleScattering(),-1, 1, 1); pmanager->AddProcess(new G4eIonisation(), -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4eplusAnnihilation(), 0,-1, 4); @@ -227,7 +229,7 @@ void ExN06PhysicsList::ConstructEM() particleName == "mu-" ) { //muon // Construct processes for muon - pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1); + pmanager->AddProcess(new G4MuMultipleScattering(),-1, 1, 1); pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung(), -1, 3, 3); pmanager->AddProcess(new G4MuPairProduction(), -1, 4, 4); @@ -236,7 +238,7 @@ void ExN06PhysicsList::ConstructEM() if ((particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { // all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); + pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1); pmanager->AddProcess(new G4hIonisation(), -1,2,2); } } diff --git a/examples/novice/N07/History b/examples/novice/N07/History index 735be0bcc9..5c98231292 100644 --- a/examples/novice/N07/History +++ b/examples/novice/N07/History @@ -1,4 +1,4 @@ -$Id: History,v 1.16 2008/05/07 10:13:42 allison Exp $ +$Id: History,v 1.17 2009/10/30 15:29:55 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +October 30, 2009 John Allison (exampleN07-V09-02-00) +- Introduced G4UIExecutive. + May 07, 2008 J.Allison (exampleN07-V09-01-00) - Protected "/control/execute vis.mac" with G4VIS_USE flag. diff --git a/examples/novice/N07/exampleN07.cc b/examples/novice/N07/exampleN07.cc index 04fa1f1189..f77920e305 100644 --- a/examples/novice/N07/exampleN07.cc +++ b/examples/novice/N07/exampleN07.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN07.cc,v 1.11 2008/05/07 10:13:17 allison Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: exampleN07.cc,v 1.12 2009/10/30 15:29:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------- @@ -34,12 +34,15 @@ #include "G4RunManager.hh" #include "G4UImanager.hh" -#include "G4UIterminal.hh" -#include "G4UItcsh.hh" #ifdef G4VIS_USE #include "G4VisExecutive.hh" #endif + +#ifdef G4UI_USE +#include "G4UIExecutive.hh" +#endif + #include "ExN07DetectorConstruction.hh" #include "ExN07ParallelWorld.hh" #include "ExN07PhysicsList.hh" @@ -87,31 +90,24 @@ int main(int argc,char** argv) // Get the pointer to the User Interface manager // - G4UImanager* UI = G4UImanager::GetUIpointer(); + G4UImanager* UImanager = G4UImanager::GetUIpointer(); if (argc==1) // Define UI session for interactive mode { - G4UIsession* session=0; - - // G4UIterminal is a (dumb) terminal - // -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif +#ifdef G4UI_USE + G4UIExecutive * ui = new G4UIExecutive(argc,argv); #ifdef G4VIS_USE - UI->ApplyCommand("/control/execute vis.mac"); + UImanager->ApplyCommand("/control/execute vis.mac"); +#endif + ui->SessionStart(); + delete ui; #endif - session->SessionStart(); - - delete session; } else // Batch mode { G4String command = "/control/execute "; G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + UImanager->ApplyCommand(command+fileName); } // Job termination diff --git a/examples/novice/N07/exampleN07.out b/examples/novice/N07/exampleN07.out index 5cd960bbcb..5139ed78a1 100644 --- a/examples/novice/N07/exampleN07.out +++ b/examples/novice/N07/exampleN07.out @@ -1,6 +1,10 @@ + ############################################ + !!! WARNING - FPE detection is activated !!! + ############################################ + ************************************************************* - Geant4 version Name: global-V09-01-17 (19-December-2008) + Geant4 version Name: geant4-09-03-ref-00 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -19,6 +23,7 @@ Current available graphics systems are: RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) + gMocrenFile (gMocrenFile) OpenGLImmediateX (OGLIX) OpenGLStoredX (OGLSX) @@ -127,6 +132,66 @@ New sensitive detector is registored at / ############################################################################# G4VUserPhysicsList::AddTransportation() --- G4CoupledTransportation is used ############################################################################# + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + + +!!! G4MultipleScattering class is obsolete and will be removed for the next major Geant4 release !!! +!!! Please use G4eMultipleScattering for e+ and e- !!! +!!! Please use G4MuMultipleScattering for mu+ and mu- !!! +!!! Please use G4hMultipleScattering for hadrons and ions !!! + ExN07PhysicsList::SetCuts: default cut length : 1 mm ############################################################## ## /tracking/verbose must be set to 1 for ExN07SteppingVerbose @@ -140,244 +205,244 @@ Region -- appears in world volume Root logical volume(s) : World Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm Region -- appears in world volume Root logical volume(s) : Calor-A Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm Region -- appears in world volume Root logical volume(s) : Calor-B Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon - Production cuts : gamma 1 cm e- 1 cm e+ 1 cm + Production cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm Region -- appears in world volume Root logical volume(s) : Calor-C Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon - Production cuts : gamma 10 cm e- 10 cm e+ 10 cm + Production cuts : gamma 10 cm e- 10 cm e+ 10 cm proton 10 cm /run/beamOn 10 conv: for gamma SubType= 14 - Lambda tables from 1.022 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.05231 MeV - BetheBloch : Emin= 1.05231 MeV Emax= 100 TeV + BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.504 keV - BetheBloch : Emin= 297.504 keV Emax= 100 TeV + BetheBloch : Emin= 297.504 keV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 101.843 keV e- 1.36749 MeV e+ 1.27862 MeV proton 100 keV Region(s) which use this couple : Calor-A Index : 2 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.19986 keV e- 344.855 keV e+ 333.46 keV proton 100 keV Region(s) which use this couple : Calor-A Index : 3 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 282.478 keV e- 15.0137 MeV e+ 13.9447 MeV + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm + Energy thresholds : gamma 283.792 keV e- 15.3667 MeV e+ 13.9869 MeV proton 1 MeV Region(s) which use this couple : Calor-B Index : 4 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 19.0521 keV e- 2.14666 MeV e+ 2.04351 MeV + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm + Energy thresholds : gamma 19.1729 keV e- 2.17421 MeV e+ 2.01928 MeV proton 1 MeV Region(s) which use this couple : Calor-B Index : 5 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 2.24888 MeV e- 437.915 MeV e+ 406.735 MeV + Range cuts : gamma 10 cm e- 10 cm e+ 10 cm proton 10 cm + Energy thresholds : gamma 2.21848 MeV e- 430.674 MeV e+ 408.132 MeV proton 10 MeV Region(s) which use this couple : Calor-C Index : 6 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 56.6382 keV e- 24.5664 MeV e+ 22.8173 MeV + Range cuts : gamma 10 cm e- 10 cm e+ 10 cm proton 10 cm + Energy thresholds : gamma 56.567 keV e- 24.5965 MeV e+ 22.6909 MeV proton 10 MeV Region(s) which use this couple : Calor-C @@ -387,7 +452,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=5.37s Real=5.79s Sys=0.42s + User=1.92s Real=2.04s Sys=0.12s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -395,40 +460,40 @@ Region : Calor-A Production thresholds : gamma 1 mm e- 1 mm e+ 1 mm Energy deposition in an event : - Absorber 2.6902564 GeV Gap 344.43619 MeV + Absorber 3.0861339 GeV Gap 383.89486 MeV Number of secondaries in an event : - gamma in Absorber 796.5 in Gap 49.8 - e- in Absorber 1308.5 in Gap 153.1 - e+ in Absorber 72.4 in Gap 2.6 + gamma in Absorber 1045.8 in Gap 61.4 + e- in Absorber 1710.5 in Gap 172 + e+ in Absorber 100 in Gap 2.9 Minimum kinetic energy of generated secondaries : - gamma in Absorber 100.58505 keV in Gap 6.3883141 keV - e- in Absorber 62.606883 eV in Gap 9.906788 eV - e+ in Absorber 21.222646 keV in Gap 604.08463 keV + gamma in Absorber 101.88067 keV in Gap 6.2417819 keV + e- in Absorber 44.904101 eV in Gap 61.437251 eV + e+ in Absorber 5.3490308 keV in Gap 431.5068 keV Total track length of e+/e- in an event : - Absorber 92.490673 cm Gap 70.638002 cm + Absorber 1.2024493 m Gap 91.390038 cm Total number of steps of e+/e- in an event : - Absorber 3770.4 Gap 753.8 + Absorber 4745.9 Gap 759.3 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 2804.392 740.6 1067.4 59.9 1399.105 3461.3 - 1 136.60093 64.9 220 9.1 138.56528 613.4 - 2 51.308335 23.3 89.9 3.5 51.794302 222.5 - 3 19.66682 8.4 35.6 1.4 20.675245 97.9 - 4 10.221142 4.4 18.7 0.5 9.5326362 41.1 - 5 5.7720203 2.1 12.4 0.2 4.06316 26.2 - 6 2.8688914 1.3 6.5 0.3 3.405556 19.4 - 7 1.4495456 0.4 4.8 0.1 2.0954635 14 - 8 1.2393517 0.5 3.2 0 1.2172762 18.8 - 9 0.13987416 0 0.7 0 0.077258325 0.8 - 10 0.20226488 0.1 0.8 0 0.13671722 1.5 - 11 0.050274762 0 0.4 0 0.086532123 0.5 - 12 0 0 0 0 0 0 - 13 0 0 0 0 0 0 - 14 0.33117742 0.2 0.5 0 0.25808466 2.8 - 15 0.29330259 0.1 0.4 0 0.18810323 0.7 - 16 0.034911833 0 0.1 0 0.014031803 2.9 - 17 0.12175608 0 0.2 0 0.07211851 0.4 + 0 3204.8449 991.4 1411.1 88.1 1846.0575 4296 + 1 168.27827 78 272.5 9.8 179.21774 730.9 + 2 47.796022 19.2 96.7 2.7 49.722133 234.3 + 3 21.672457 8.6 46.4 0.9 19.000052 108.1 + 4 12.1097 5.1 25.5 0.8 9.9949209 63.2 + 5 7.7016301 2.8 14.8 0.4 6.3627395 33 + 6 4.0839363 1.3 7.1 0.2 3.2561415 20.8 + 7 1.0301781 0.1 2.8 0 0.74063554 6 + 8 0.60319686 0.3 1.9 0 0.35317666 4 + 9 0.9784182 0.3 1.4 0 0.79290193 5.3 + 10 0.34652923 0 1.1 0 0.27294939 1.4 + 11 0.17016933 0 0.5 0 0.22992216 0.9 + 12 0.042165568 0 0.1 0 0.017508517 0.2 + 13 0.28073796 0.1 0.4 0 0.16540121 0.8 + 14 0 0 0 0 0 0 + 15 0.090416776 0 0.2 0 0.16597421 0.3 + 16 0 0 0 0 0 0 + 17 0 0 0 0 0 0 18 0 0 0 0 0 0 19 0 0 0 0 0 0 ############################################################ @@ -436,100 +501,100 @@ Region : Calor-B Production thresholds : gamma 1 cm e- 1 cm e+ 1 cm Energy deposition in an event : - Absorber 2.4388777 GeV Gap 302.45688 MeV + Absorber 2.6763693 GeV Gap 342.59479 MeV Number of secondaries in an event : - gamma in Absorber 401.2 in Gap 26.4 - e- in Absorber 708.5 in Gap 68.8 - e+ in Absorber 56.4 in Gap 1.5 + gamma in Absorber 500.9 in Gap 36.7 + e- in Absorber 908 in Gap 84.8 + e+ in Absorber 69.3 in Gap 1.9 Minimum kinetic energy of generated secondaries : - gamma in Absorber 282.52937 keV in Gap 19.276497 keV - e- in Absorber 14.509472 eV in Gap 27.308068 eV - e+ in Absorber 14.389707 keV in Gap 167.64767 keV + gamma in Absorber 284.39292 keV in Gap 19.211042 keV + e- in Absorber 118.84267 eV in Gap 43.967983 eV + e+ in Absorber 12.195322 keV in Gap 159.32681 keV Total track length of e+/e- in an event : - Absorber 59.621015 cm Gap 42.345082 cm + Absorber 76.132448 cm Gap 59.079805 cm Total number of steps of e+/e- in an event : - Absorber 2051.8 Gap 336.1 + Absorber 2531.8 Gap 385.3 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 2592.8813 382.9 546.2 46.9 882.7435 1754.3 - 1 84.500238 27 122.8 6.4 75.739171 335.8 - 2 32.969954 9.6 51.7 2.4 30.952671 141.4 - 3 16.569534 4.2 29.7 1.1 15.699947 84.9 - 4 8.1769155 2.5 13.1 0.7 7.4787239 37 - 5 3.0486686 0.8 6.3 0.3 2.2017727 11.9 - 6 1.3734121 0 3.1 0 1.3551979 6.1 - 7 0.35501521 0 1.3 0 0.24763231 2 - 8 0.93084226 0.4 1.3 0.1 2.7128284 3.3 - 9 0.18252038 0 0.4 0 0.091547201 1.8 - 10 0.02055966 0 0.1 0 0.0036239676 0.2 - 11 0.18483806 0.2 0.6 0 0.14121869 1.6 - 12 0.03741427 0 0.1 0 0.12456801 2.5 - 13 0.01072299 0 0.3 0 0.0045138147 3.9 - 14 0.0047379905 0 0.1 0 0.0041308942 0.1 + 0 2848.4713 492 710 61.5 1180.5415 2184.8 + 1 99.815678 27.4 155.9 5.5 101.24285 396.5 + 2 34.686513 9.1 61.6 2.2 32.989144 163.8 + 3 15.335808 3.7 25.8 0.8 13.799754 72.9 + 4 8.5920702 2.3 16.4 0.4 10.008356 42.1 + 5 5.2455987 1.4 10.5 0.3 6.9561618 26.8 + 6 2.8938823 0.9 4.9 0.3 2.924345 13.3 + 7 1.230814 0.3 2.2 0.1 0.86451768 3.9 + 8 1.1939904 0.4 2.1 0.1 0.89521651 5.3 + 9 0.6520102 0 1.2 0 0.79091304 2.8 + 10 0.35789044 0.1 1 0 0.79792865 2.5 + 11 0.35203581 0 1 0 0.23102094 2 + 12 0 0 0 0 0 0 + 13 0 0 0 0 0 0 + 14 0 0 0 0 0 0 15 0 0 0 0 0 0 16 0 0 0 0 0 0 17 0 0 0 0 0 0 - 18 0 0 0 0 0 0 + 18 0.13651435 0 0.2 0 0.080823837 0.4 19 0 0 0 0 0 0 ############################################################ Region : Calor-C Production thresholds : gamma 10 cm e- 10 cm e+ 10 cm Energy deposition in an event : - Absorber 8.2155462 GeV Gap 702.62738 MeV + Absorber 2.8110928 GeV Gap 309.30507 MeV Number of secondaries in an event : - gamma in Absorber 1460.9 in Gap 129.6 - e- in Absorber 2655.7 in Gap 218 - e+ in Absorber 404.3 in Gap 12.2 + gamma in Absorber 185.2 in Gap 19.6 + e- in Absorber 329.4 in Gap 30.9 + e+ in Absorber 50.4 in Gap 2.2 Minimum kinetic energy of generated secondaries : - gamma in Absorber 278.59905 keV in Gap 56.774336 keV - e- in Absorber 8.4991332 eV in Gap 62.357531 eV - e+ in Absorber 4.2425406 keV in Gap 172.09795 keV + gamma in Absorber 280.88669 keV in Gap 57.809798 keV + e- in Absorber 417.42474 eV in Gap 3.1532042 eV + e+ in Absorber 69.391405 keV in Gap 1.0847528 MeV Total track length of e+/e- in an event : - Absorber 3.7789246 m Gap 2.1134562 m + Absorber 46.45411 cm Gap 30.275276 cm Total number of steps of e+/e- in an event : - Absorber 9054.8 Gap 1462.3 + Absorber 1114.3 Gap 181.6 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 8078.8933 1426.9 1937.2 349.7 5058.0271 7602.2 - 1 506.76499 104.6 487.6 40.8 522.85108 1588.4 - 2 168.81262 29.2 212.8 13 154.96782 644.8 - 3 88.970061 15.5 109.3 6.7 86.539381 331.9 - 4 32.22958 6.9 51.3 3 30.714831 141.4 - 5 16.279814 2.5 29 1.1 13.513738 67.6 - 6 10.045755 1.9 18.6 0.7 10.632228 47.8 - 7 6.7290809 1 10.2 0.5 5.5911208 33.4 - 8 3.6401582 1 5.6 0.5 3.6499341 23.6 - 9 3.0545988 0.8 4.9 0.4 3.2163458 14.8 - 10 1.1979183 0 2.5 0 1.3074927 4.3 - 11 0.62761812 0.2 1.9 0.1 0.51564192 5.8 - 12 0.18692309 0 0.6 0 0.15661448 0.8 - 13 0.52790324 0 1.2 0 0.40289065 1.9 - 14 0.059964796 0 0.2 0 0.20287682 0.7 - 15 0.097107646 0 0.3 0 0.039231483 1.2 - 16 0.0014580977 0 0.2 0 0.00033763782 0.2 - 17 0.046163069 0 0.2 0 0.040756506 6.2 + 0 3003.1996 180.7 235.6 42.9 655.84345 914.7 + 1 73.083895 15.8 68.8 5.7 67.338413 217.7 + 2 21.885293 4.8 26.9 2.3 24.154603 69.4 + 3 10.004613 2.3 12.9 1.1 7.7680958 37 + 4 5.4368831 0.8 7.7 0.4 5.2054041 23.1 + 5 2.2535828 0.2 2.5 0.1 1.5255165 8 + 6 1.6990896 0.2 2.2 0.1 2.4295026 5.4 + 7 1.4156013 0 1.9 0 0.97989668 14 + 8 0.20585744 0 0.3 0 0.55005398 2.2 + 9 0.71803162 0 0.8 0 0.48338503 2.4 + 10 0.17833866 0 0.2 0 0.13598387 0.4 + 11 0.20990243 0 0.3 0 0.82674068 1.2 + 12 0.10719123 0 0.2 0 0.052804114 0.4 + 13 0 0 0 0 0 0 + 14 0 0 0 0 0 0 + 15 0 0 0 0 0 0 + 16 0 0 0 0 0 0 + 17 0 0 0 0 0 0 18 0 0 0 0 0 0 - 19 0.0086019333 0 0.1 0 0.011424621 0.1 + 19 0 0 0 0 0 0 ############################################################ -CPU Time spent by each region0xa7df08 +CPU Time spent by each region0x2a992e9688 Region All particles : User=0 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=1.05 Real=1.06 Sys=0.03 - e+ / e- : User=0.79 Real=0.76 Sys=0.05 + All particles : User=0.69 Real=0.82 Sys=0.04 + e+ / e- : User=0.61 Real=0.68 Sys=0.04 Region - All particles : User=0.61 Real=0.64 Sys=0.03 - e+ / e- : User=0.42 Real=0.5 Sys=0.04 + All particles : User=0.47 Real=0.46 Sys=0 + e+ / e- : User=0.33 Real=0.31 Sys=0.02 Region - All particles : User=2.41 Real=2.48 Sys=0.14 - e+ / e- : User=1.85 Real=1.97 Sys=0.09 + All particles : User=0.21 Real=0.22 Sys=0.01 + e+ / e- : User=0.16 Real=0.19 Sys=0.01 /run/dumpCouples @@ -537,50 +602,50 @@ Region Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 100.51071 keV e- 1.3781428 MeV e+ 1.280018 MeV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 101.84292 keV e- 1.367494 MeV e+ 1.2786173 MeV proton 100 keV Region(s) which use this couple : Calor-A Index : 2 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.1783498 keV e- 342.89066 keV e+ 334.55147 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.1998573 keV e- 344.85452 keV e+ 333.45981 keV proton 100 keV Region(s) which use this couple : Calor-A Index : 3 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 282.47765 keV e- 15.013704 MeV e+ 13.944716 MeV + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm + Energy thresholds : gamma 283.7918 keV e- 15.366683 MeV e+ 13.986896 MeV proton 1 MeV Region(s) which use this couple : Calor-B Index : 4 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 19.052126 keV e- 2.1466594 MeV e+ 2.0435144 MeV + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm + Energy thresholds : gamma 19.172874 keV e- 2.1742071 MeV e+ 2.0192847 MeV proton 1 MeV Region(s) which use this couple : Calor-B Index : 5 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 2.2488809 MeV e- 437.91535 MeV e+ 406.73544 MeV + Range cuts : gamma 10 cm e- 10 cm e+ 10 cm proton 10 cm + Energy thresholds : gamma 2.2184843 MeV e- 430.67421 MeV e+ 408.13231 MeV proton 10 MeV Region(s) which use this couple : Calor-C Index : 6 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 56.638224 keV e- 24.566438 MeV e+ 22.817289 MeV + Range cuts : gamma 10 cm e- 10 cm e+ 10 cm proton 10 cm + Energy thresholds : gamma 56.567029 keV e- 24.596545 MeV e+ 22.690929 MeV proton 10 MeV Region(s) which use this couple : Calor-C @@ -598,244 +663,244 @@ Region -- appears in world volume Root logical volume(s) : World Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm Region -- appears in world volume Root logical volume(s) : Calor-A Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon - Production cuts : gamma 200 um e- 200 um e+ 200 um + Production cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um Region -- appears in world volume Root logical volume(s) : Calor-B Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon - Production cuts : gamma 2 mm e- 2 mm e+ 2 mm + Production cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm Region -- appears in world volume Root logical volume(s) : Calor-C Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon - Production cuts : gamma 2 cm e- 2 cm e+ 2 cm + Production cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm /run/beamOn 10 conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.0219978 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 47.18466 keV e- 383.06537 keV e+ 364.65944 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 47.180687 keV e- 384.00041 keV e+ 371.31224 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 2 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 2.7857637 keV e- 123.42635 keV e+ 121.91623 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 3 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 120.58859 keV e- 2.6139957 MeV e+ 2.4278772 MeV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV Region(s) which use this couple : Calor-B Index : 4 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 8.590436 keV e- 561.06092 keV e+ 540.71814 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV Region(s) which use this couple : Calor-B Index : 5 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 419.68872 keV e- 35.541271 MeV e+ 33.010705 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV Region(s) which use this couple : Calor-C Index : 6 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 26.979787 keV e- 4.2771968 MeV e+ 3.9726571 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -845,7 +910,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=10.97s Real=11.97s Sys=0.99s + User=3.11s Real=3.34s Sys=0.23s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -853,141 +918,141 @@ Region : Calor-A Production thresholds : gamma 200 um e- 200 um e+ 200 um Energy deposition in an event : - Absorber 4.4059621 GeV Gap 474.81617 MeV + Absorber 2.9743948 GeV Gap 377.49171 MeV Number of secondaries in an event : - gamma in Absorber 2372.1 in Gap 111.6 - e- in Absorber 3797 in Gap 393.2 - e+ in Absorber 177.6 in Gap 5.8 + gamma in Absorber 1271.6 in Gap 70.7 + e- in Absorber 2128.8 in Gap 281.1 + e+ in Absorber 88.7 in Gap 4 Minimum kinetic energy of generated secondaries : - gamma in Absorber 47.188601 keV in Gap 2.791777 keV - e- in Absorber 4.2777303 eV in Gap 25.553495 eV - e+ in Absorber 7.4618607 keV in Gap 231.10675 keV + gamma in Absorber 47.184155 keV in Gap 2.8093906 keV + e- in Absorber 5.1617669 eV in Gap 25.358837 eV + e+ in Absorber 42.115519 keV in Gap 167.41532 keV Total track length of e+/e- in an event : - Absorber 2.2451719 m Gap 1.4038647 m + Absorber 1.2180056 m Gap 90.783714 cm Total number of steps of e+/e- in an event : - Absorber 10510.7 Gap 1534.7 + Absorber 5670.4 Gap 942.6 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 4410.8896 2204.5 3301.7 152.5 3162.8076 9574.5 - 1 290.92701 180.2 511.5 19.1 306.87782 1459.5 - 2 93.730423 51.8 186.5 6.4 90.535886 494 - 3 40.862091 23.4 83.5 2.6 41.344817 219 - 4 19.48626 11 45.4 1.4 19.844459 127.6 - 5 9.5198592 5.6 19.6 0.4 10.673687 64.5 - 6 5.4382239 3.2 13.7 0.5 5.0078801 35.8 - 7 4.2197477 1.5 9.3 0.3 5.5243606 25.5 - 8 2.2267038 1 6.9 0.2 1.9653424 21.2 - 9 1.338629 0.7 4.9 0 2.1090784 8.2 - 10 0.58850266 0.4 2.1 0 0.5651272 5.4 - 11 0.35050418 0.1 1.2 0 0.1672265 3.6 - 12 0.38446475 0 1.2 0 0.31491186 1.8 - 13 0.22073452 0.1 0.8 0 0.15750595 1.3 - 14 0.079231023 0 0.4 0 0.069855586 0.5 - 15 0.23384935 0 0.6 0 0.66537011 1.4 - 16 0.026275923 0 0.2 0 0.039083462 0.3 - 17 0.051848641 0 0.1 0 0.20494359 0.2 - 18 0.032129276 0 0.3 0 0.054520511 0.3 - 19 0.17217226 0.2 0.3 0 0.10707753 0.8 + 0 3112.316 1206.3 1926.1 77.3 1874.6264 5391.2 + 1 154.16396 88.4 279.7 9.7 170.34726 743 + 2 43.451444 24.1 101.9 2.7 35.352193 242.8 + 3 18.280812 10.3 42.9 1 17.521994 105.4 + 4 11.466591 6.4 24.5 0.9 10.874337 54.3 + 5 4.6700012 3.1 13.8 0.4 3.5129945 29.2 + 6 3.2806657 1.6 7.6 0.3 6.4202115 18.4 + 7 1.4101165 1 4.5 0.2 1.3748688 9.6 + 8 0.76817111 0.4 2.3 0.1 1.2392854 4 + 9 0.40333779 0 1.7 0 0.23314343 2.6 + 10 0.34149482 0 1 0 1.4433096 1.9 + 11 0.64879689 0.4 1.4 0.1 2.4254939 4.6 + 12 0.32653634 0.3 1 0 0.18732592 2.5 + 13 0.074158488 0 0.2 0 0.087206152 1.7 + 14 0.023488885 0 0.1 0 0.0052211199 0.2 + 15 0.048684262 0 0.1 0 0.023005438 0.2 + 16 0.15385656 0 0.5 0 0.084166934 0.7 + 17 0.0041328404 0 0.1 0 0.0032596574 0.1 + 18 0 0 0 0 0 0 + 19 0.029533287 0 0.4 0 0.01772601 0.5 ############################################################ Region : Calor-B Production thresholds : gamma 2 mm e- 2 mm e+ 2 mm Energy deposition in an event : - Absorber 7.3414953 GeV Gap 776.77327 MeV + Absorber 3.2993523 GeV Gap 401.12047 MeV Number of secondaries in an event : - gamma in Absorber 3464 in Gap 192.7 - e- in Absorber 5644.6 in Gap 494.3 - e+ in Absorber 365.6 in Gap 14 + gamma in Absorber 1090.4 in Gap 69.1 + e- in Absorber 1789.6 in Gap 171 + e+ in Absorber 114.7 in Gap 3.6 Minimum kinetic energy of generated secondaries : - gamma in Absorber 120.60202 keV in Gap 8.6382087 keV - e- in Absorber 14.119224 eV in Gap 12.250135 eV - e+ in Absorber 3.0803771 keV in Gap 107.92755 keV + gamma in Absorber 120.89925 keV in Gap 8.7895142 keV + e- in Absorber 11.252749 eV in Gap 75.051691 eV + e+ in Absorber 40.319369 keV in Gap 146.19441 keV Total track length of e+/e- in an event : - Absorber 4.0691585 m Gap 2.7692368 m + Absorber 1.3061111 m Gap 96.535874 cm Total number of steps of e+/e- in an event : - Absorber 16000.7 Gap 2295 + Absorber 4997 Gap 779.2 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 7212.5528 3290.4 4535.3 323.1 5897.3963 14033.7 - 1 563.52529 240.1 922.6 34.3 609.7857 2575.1 - 2 173.19611 63.9 331.7 11.9 171.1628 837.6 - 3 78.912393 29.4 164.7 5 72.183063 386.1 - 4 42.695987 15.6 81.8 2.7 45.105806 197.1 - 5 20.660406 8.9 41.7 1.2 16.626467 119.3 - 6 7.7254653 2 21.8 0.5 7.0515529 52.2 - 7 7.0290614 2 14 0.3 5.6384456 33.2 - 8 4.0136012 1.5 9 0.2 3.3883761 23.3 - 9 1.7766429 0.5 4.4 0 2.018379 10.5 - 10 2.3025379 0.9 4 0.1 1.6398015 8 - 11 0.50612166 0 1.9 0 0.43555699 3.1 - 12 0.46420278 0.2 1.5 0 1.2929303 3.8 - 13 0.10001699 0 0.6 0 0.19157776 0.9 - 14 0.023475806 0 0.2 0 0.0084382443 0.3 - 15 0.24001236 0.3 0.5 0.1 0.12662324 1.1 - 16 1.2123232 0.5 1 0.1 3.0298909 5.1 - 17 0.30713147 0 0.8 0 0.47028937 1.3 - 18 0.094770249 0.1 0.4 0 0.17040362 0.6 - 19 0.91783451 0.4 0.8 0.1 0.67216562 3.1 + 0 3396.9411 1032.5 1439.2 99.5 1948.3994 4334.8 + 1 179.46148 79 279.4 11.1 206.48156 815.9 + 2 64.432592 25.6 114.2 4.3 61.06503 306.2 + 3 24.24315 8.4 51.9 1.2 21.67555 133.5 + 4 18.178089 7 33.1 1.4 19.654082 79.7 + 5 7.9540959 2.8 16.6 0.3 6.3558556 42.4 + 6 4.8100241 2.9 10.8 0.4 3.679328 23.7 + 7 1.4139362 0.2 3.8 0 1.3601843 14.3 + 8 0.72299963 0.2 3.5 0 0.64865705 7 + 9 0.46856316 0.2 1.8 0.1 0.39849013 3.2 + 10 0.43087075 0 1.5 0 0.69952963 4.9 + 11 0.31537055 0.2 1 0 0.30797314 2.9 + 12 0.35711824 0.3 1 0 0.29266881 1.7 + 13 0.1482032 0 0.4 0 0.08795956 0.7 + 14 0.1737114 0.1 0.7 0 0.10845306 2.5 + 15 0 0 0 0 0 0 + 16 0.075024505 0 0.5 0 0.036444141 0.6 + 17 0.12723425 0.1 0.3 0 0.067556699 0.6 + 18 0.15001053 0 0.6 0 0.12510206 1.2 + 19 0 0 0 0 0 0 ############################################################ Region : Calor-C Production thresholds : gamma 2 cm e- 2 cm e+ 2 cm Energy deposition in an event : - Absorber 3.4017432 GeV Gap 379.06096 MeV + Absorber 3.0836211 GeV Gap 376.18442 MeV Number of secondaries in an event : - gamma in Absorber 701 in Gap 41.7 - e- in Absorber 1294.5 in Gap 116.3 - e+ in Absorber 109.4 in Gap 3.1 + gamma in Absorber 583.5 in Gap 46.9 + e- in Absorber 1082.9 in Gap 103.7 + e+ in Absorber 94.5 in Gap 3.3 Minimum kinetic energy of generated secondaries : - gamma in Absorber 295.48401 keV in Gap 27.117339 keV - e- in Absorber 93.55325 eV in Gap 75.976052 eV - e+ in Absorber 1.8016019 keV in Gap 94.290181 keV + gamma in Absorber 274.15369 keV in Gap 27.653486 keV + e- in Absorber 83.611064 eV in Gap 14.209598 eV + e+ in Absorber 14.047242 keV in Gap 404.08603 keV Total track length of e+/e- in an event : - Absorber 1.1683255 m Gap 72.311987 cm + Absorber 96.168047 cm Gap 70.494201 cm Total number of steps of e+/e- in an event : - Absorber 3698 Gap 527.6 + Absorber 3065 Gap 475.2 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 3515.4413 676.7 980.6 95.5 1636.325 3136.5 - 1 154.74859 40.2 231.9 10.1 152.92547 592.3 - 2 58.425438 13.4 94.7 3.6 53.00378 231 - 3 22.662233 5.1 45.3 1.2 22.906913 119.5 - 4 12.097581 3.6 22.2 1 10.567088 63.4 - 5 7.8139379 2.3 17.1 0.7 7.5575821 37.8 - 6 4.2185031 0.4 9.4 0.1 3.7164207 18.2 - 7 1.8432445 0 3 0 1.546968 6.8 - 8 1.2235944 0.2 2.4 0.1 0.98471872 7.4 - 9 1.1679782 0.4 1.7 0 0.70630914 7.1 - 10 0 0 0 0 0 0 - 11 0.045235929 0 0.2 0 0.023553064 0.3 - 12 0.47781655 0.2 1 0.1 0.34618919 1.7 - 13 0.097949691 0 0.6 0 0.19269935 1 - 14 0.36474095 0.2 0.5 0.1 0.24264413 1 - 15 0 0 0 0 0 0 - 16 0 0 0 0 0 0 - 17 0 0 0 0 0 0 - 18 0 0 0 0 0 0 - 19 0.074849837 0 0.1 0 0.33369295 1.4 + 0 3229.7526 575.3 829.8 83.5 1445.8575 2585.4 + 1 130.47226 33.7 191.9 8.5 135.82547 510.4 + 2 52.375481 11.4 83 3.1 46.39156 217.5 + 3 26.184116 6.2 38.8 1.7 20.283259 112.6 + 4 8.2005117 1.4 16 0.3 5.7752765 45.7 + 5 4.3503791 0.8 10.6 0.2 3.8658585 20.6 + 6 2.535206 0.3 4.8 0 2.2342443 10.1 + 7 1.2268285 0.2 2.6 0.1 0.89818032 7.6 + 8 1.7400487 0.4 3.3 0.2 2.7212545 9.3 + 9 0.68033314 0 1.9 0 0.68981645 4.2 + 10 0.18079855 0 0.6 0 0.095122299 5.8 + 11 1.6076056 0.7 1.6 0.2 1.5704274 4.6 + 12 0.15556577 0 0.5 0 0.094959488 3 + 13 0.091267508 0 0.1 0 0.064707637 0.1 + 14 0.081344885 0 0.3 0 0.10778532 0.3 + 15 0.060028406 0 0.3 0 0.020563898 0.4 + 16 0.0096761013 0 0.1 0 0.013926558 0.1 + 17 0.050193156 0 0.2 0 0.094591257 2.2 + 18 0.05124596 0 0.2 0 0.018025699 0.3 + 19 0 0 0 0 0 0 ############################################################ -CPU Time spent by each region0xa7df08 +CPU Time spent by each region0x2a992e9688 Region - All particles : User=0.01 Real=0.01 Sys=0 + All particles : User=0 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=2.82 Real=3 Sys=0.23 - e+ / e- : User=2.18 Real=2.21 Sys=0.17 + All particles : User=0.89 Real=0.95 Sys=0.03 + e+ / e- : User=0.66 Real=0.7 Sys=0.03 Region - All particles : User=4.27 Real=4.39 Sys=0.24 - e+ / e- : User=2.94 Real=3.27 Sys=0.22 + All particles : User=0.79 Real=0.88 Sys=0.06 + e+ / e- : User=0.54 Real=0.67 Sys=0.02 Region - All particles : User=0.97 Real=0.98 Sys=0.06 - e+ / e- : User=0.69 Real=0.7 Sys=0.07 + All particles : User=0.56 Real=0.5 Sys=0.03 + e+ / e- : User=0.34 Real=0.31 Sys=0.03 /run/dumpCouples @@ -995,50 +1060,50 @@ Region Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 47.18466 keV e- 383.06537 keV e+ 364.65944 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 47.180687 keV e- 384.00041 keV e+ 371.31224 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 2 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 2.7857637 keV e- 123.42635 keV e+ 121.91623 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 3 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 120.58859 keV e- 2.6139957 MeV e+ 2.4278772 MeV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV Region(s) which use this couple : Calor-B Index : 4 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 8.590436 keV e- 561.06092 keV e+ 540.71814 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV Region(s) which use this couple : Calor-B Index : 5 used in the geometry : Yes recalculation needed : No Material : Lead - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 419.68872 keV e- 35.541271 MeV e+ 33.010705 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV Region(s) which use this couple : Calor-C Index : 6 used in the geometry : Yes recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 26.979787 keV e- 4.2771968 MeV e+ 3.9726571 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -1055,274 +1120,274 @@ Region -- appears in world volume Root logical volume(s) : World Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm Region -- appears in world volume Root logical volume(s) : Calor-A Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water - Production cuts : gamma 200 um e- 200 um e+ 200 um + Production cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um Region -- appears in world volume Root logical volume(s) : Calor-B Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water - Production cuts : gamma 2 mm e- 2 mm e+ 2 mm + Production cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm Region -- appears in world volume Root logical volume(s) : Calor-C Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water - Production cuts : gamma 2 cm e- 2 cm e+ 2 cm + Production cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm /run/beamOn 10 conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.0219978 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 47.18466 keV e- 383.06537 keV e+ 364.65944 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 47.180687 keV e- 384.00041 keV e+ 371.31224 keV proton 20 keV Index : 2 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 2.7857637 keV e- 123.42635 keV e+ 121.91623 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV Index : 3 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 120.58859 keV e- 2.6139957 MeV e+ 2.4278772 MeV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV Index : 4 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 8.590436 keV e- 561.06092 keV e+ 540.71814 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV Index : 5 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 419.68872 keV e- 35.541271 MeV e+ 33.010705 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV Index : 6 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 26.979787 keV e- 4.2771968 MeV e+ 3.9726571 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV Index : 7 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 3.2133001 keV e- 199.48758 keV e+ 194.63599 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 3.2524236 keV e- 200.09609 keV e+ 196.10251 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 8 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 1.47052 keV e- 126.50293 keV e+ 124.95517 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 1.4816455 keV e- 128.41583 keV e+ 125.85287 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 9 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 9.5619691 keV e- 1.0256085 MeV e+ 976.32895 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 9.5958453 keV e- 1.0312145 MeV e+ 977.23981 keV proton 200 keV Region(s) which use this couple : Calor-B Index : 10 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 3.8944955 keV e- 568.01052 keV e+ 547.41576 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 3.9257685 keV e- 570.85042 keV e+ 548.29137 keV proton 200 keV Region(s) which use this couple : Calor-B Index : 11 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 28.180732 keV e- 9.404294 MeV e+ 8.7347011 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 28.121656 keV e- 9.4721636 MeV e+ 8.8565451 MeV proton 2 MeV Region(s) which use this couple : Calor-C Index : 12 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 10.314103 keV e- 4.1731742 MeV e+ 3.9726571 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 10.401718 keV e- 4.2289344 MeV e+ 3.9540859 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -1332,7 +1397,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=0.96s Real=1.04s Sys=0.07s + User=0.56s Real=0.6s Sys=0.05s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -1340,141 +1405,141 @@ Region : Calor-A Production thresholds : gamma 200 um e- 200 um e+ 200 um Energy deposition in an event : - Absorber 607.5481 MeV Gap 281.1714 MeV + Absorber 626.37919 MeV Gap 269.05989 MeV Number of secondaries in an event : - gamma in Absorber 60.6 in Gap 21.3 - e- in Absorber 402.9 in Gap 207.8 - e+ in Absorber 2.2 in Gap 1.5 + gamma in Absorber 69.6 in Gap 16.9 + e- in Absorber 417.5 in Gap 197.6 + e+ in Absorber 1.7 in Gap 0.7 Minimum kinetic energy of generated secondaries : - gamma in Absorber 3.2371697 keV in Gap 1.4829697 keV - e- in Absorber 23.43868 eV in Gap 1.53522 eV - e+ in Absorber 290.745 keV in Gap 756.29425 keV + gamma in Absorber 3.2613289 keV in Gap 1.7159221 keV + e- in Absorber 6.8780549 eV in Gap 5.9820757 eV + e+ in Absorber 849.57253 keV in Gap 1.6141992 MeV Total track length of e+/e- in an event : - Absorber 52.290746 cm Gap 57.700629 cm + Absorber 57.563822 cm Gap 50.958825 cm Total number of steps of e+/e- in an event : - Absorber 894.7 Gap 497.9 + Absorber 865.5 Gap 434.5 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 820.69824 63.6 308.1 2.7 883.68119 874.7 - 1 28.489608 9.7 61.3 0.3 96.524073 141.4 - 2 14.155998 3.2 46.7 0.2 51.64543 97.8 - 3 7.9736513 1.9 36.4 0.2 22.995533 58.3 - 4 2.502032 0.6 32.1 0 5.9427952 43.4 - 5 6.5165736 2.4 28.9 0.3 21.029776 50.1 - 6 1.2598742 0.1 17.9 0 2.7683007 21.9 - 7 0.65843702 0 13.9 0 0.66163812 16.6 - 8 2.3491675 0.3 12.4 0 5.1440063 17.6 - 9 0.96059832 0 12.4 0 2.478499 15.2 - 10 0.79956178 0 12.3 0 1.2030664 15.4 - 11 0.30352866 0 5.4 0 0.43790286 6.4 - 12 0.60068548 0 5 0 1.9364246 6.3 - 13 0.1890635 0 4.6 0 0.22464311 7.7 - 14 0.39233303 0.1 2 0 1.2407542 3.4 - 15 0.3634974 0 3.1 0 1.0433216 5.6 - 16 0.05737267 0 2.1 0 0.037655115 2.4 - 17 0.093406894 0 1.6 0 0.23144001 1.7 - 18 0.12028524 0 1.5 0 0.38178211 2.6 - 19 0.11493172 0 1.5 0 0.12382934 1.7 + 0 821.44373 65.2 305.2 1.3 859.89095 798.5 + 1 33.667753 10.5 65.2 0.4 117.09076 142.6 + 2 17.136437 5.1 57.4 0.3 51.076529 96.6 + 3 8.6132927 2.4 41.1 0.1 22.772109 63.5 + 4 5.2113323 1.9 36.8 0.3 14.098154 54.7 + 5 3.0287735 0.6 27.7 0 8.0771292 38.1 + 6 2.2996793 0.3 20.1 0 5.8222557 26 + 7 0.73965302 0.1 13.5 0 1.193708 18.6 + 8 0.92133396 0.1 14.3 0 1.5026705 18 + 9 0.81523989 0 8.2 0 1.7559426 10.3 + 10 0.34491254 0 6.1 0 0.48786556 7.4 + 11 0.3448249 0.1 5.5 0 0.39240293 7.6 + 12 0.31018367 0 3.7 0 0.46841974 4.5 + 13 0.13629276 0 2.5 0 0.17770397 3 + 14 0.036478455 0 1.4 0 0.018029314 1.5 + 15 0.088164246 0.1 2.2 0 0.062782356 4.1 + 16 0.073240976 0 0.6 0 0.10134911 0.8 + 17 0.021147062 0 0.8 0 0.010545321 0.9 + 18 0.054572594 0 1.4 0 0.030442518 1.7 + 19 0.020625192 0 0.5 0 0.013365757 0.5 ############################################################ Region : Calor-B Production thresholds : gamma 2 mm e- 2 mm e+ 2 mm Energy deposition in an event : - Absorber 509.26162 MeV Gap 227.95384 MeV + Absorber 560.0688 MeV Gap 244.71839 MeV Number of secondaries in an event : - gamma in Absorber 22 in Gap 6.8 - e- in Absorber 94.8 in Gap 48.2 - e+ in Absorber 0.3 in Gap 0.1 + gamma in Absorber 33.4 in Gap 11.5 + e- in Absorber 178 in Gap 80.6 + e+ in Absorber 1.7 in Gap 0.3 Minimum kinetic energy of generated secondaries : - gamma in Absorber 9.574744 keV in Gap 3.9985996 keV - e- in Absorber 13.483487 eV in Gap 34.795047 eV - e+ in Absorber 923.63535 keV in Gap 610.89936 MeV + gamma in Absorber 9.6043116 keV in Gap 4.4281616 keV + e- in Absorber 0.75652783 eV in Gap 32.377051 eV + e+ in Absorber 338.20315 keV in Gap 1.6493791 MeV Total track length of e+/e- in an event : - Absorber 22.672351 cm Gap 24.806289 cm + Absorber 34.09465 cm Gap 33.875865 cm Total number of steps of e+/e- in an event : - Absorber 292.8 Gap 168.7 + Absorber 421.3 Gap 226.2 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 728.91206 27.2 72.1 0.3 453.38088 358.9 - 1 3.3132107 0.9 16.9 0 11.105897 29.2 - 2 1.4390128 0.3 13.8 0.1 2.5037644 17 - 3 1.2764463 0 11.2 0 2.5745689 15 - 4 0.86387366 0 7 0 1.6100669 12.8 - 5 0.11565182 0 3.4 0 0.066344444 4.1 - 6 0.15605714 0 4.2 0 0.1241684 5 - 7 0.21941928 0.1 2.8 0 1.1168352 3.7 - 8 0.17577683 0 2.7 0 0.3555701 4.5 - 9 0.060499925 0 1.8 0 0.06192071 1.8 - 10 0.31581218 0 1 0 1.4071647 1.7 - 11 0.014421955 0 0.6 0 0.0081642426 0.6 - 12 0.091005012 0.1 2 0 0.073616869 2.4 - 13 0.0275983 0 1 0 0.014107695 1.1 - 14 0.14767407 0.1 0.6 0 0.30112513 1.4 - 15 0.028591423 0.1 0.2 0 0.045477456 0.4 - 16 0.035327752 0 0.8 0 0.024753708 0.9 - 17 0.013417208 0 0.5 0 0.0050190678 0.5 - 18 0 0 0 0 0 0 - 19 0.0070767486 0 0.2 0 0.0056964574 0.3 + 0 758.31939 35.8 86.6 1.1 548.01439 364.9 + 1 18.402104 3.9 32.3 0.2 57.870677 71.2 + 2 7.962393 1.5 27.1 0.4 23.783604 45.8 + 3 8.1058829 1.7 21.3 0.1 21.881539 33.3 + 4 2.5720112 0.4 21.6 0.1 5.7776519 32 + 5 0.77797923 0.2 14.9 0 1.0784745 19.1 + 6 2.3245182 0.6 12.6 0.1 5.5329021 19.1 + 7 1.1461341 0.1 8.4 0 2.5877672 10.5 + 8 1.772827 0.2 6.6 0 6.5790442 11.6 + 9 0.24167502 0 4.3 0 0.52181617 8.4 + 10 0.76790522 0 5.8 0 1.3633922 8.1 + 11 0.27033237 0 3.6 0 0.28559258 4.3 + 12 0.17949471 0 2.7 0 0.23606569 3.1 + 13 0.084437343 0 2.4 0 0.054768122 3 + 14 0.047283151 0 1.2 0 0.026698319 2.4 + 15 0.078385384 0 1.9 0 0.04826506 2.3 + 16 0.043775982 0.1 1.3 0 0.03542405 1.6 + 17 0.911793 0.2 1.3 0 2.1831906 2 + 18 0.51693627 0.2 0.8 0 1.1674926 1.6 + 19 0.11232968 0 0.6 0 0.40044533 1.3 ############################################################ Region : Calor-C Production thresholds : gamma 2 cm e- 2 cm e+ 2 cm Energy deposition in an event : - Absorber 606.89846 MeV Gap 261.39312 MeV + Absorber 558.17382 MeV Gap 243.51314 MeV Number of secondaries in an event : - gamma in Absorber 33.5 in Gap 11.9 - e- in Absorber 205.3 in Gap 84.5 - e+ in Absorber 3 in Gap 0.3 + gamma in Absorber 22.3 in Gap 7.6 + e- in Absorber 134.8 in Gap 50.9 + e+ in Absorber 1.7 in Gap 0.2 Minimum kinetic energy of generated secondaries : - gamma in Absorber 28.810861 keV in Gap 11.126501 keV - e- in Absorber 9.9747327 eV in Gap 24.666802 eV - e+ in Absorber 294.80426 keV in Gap 1.4205741 MeV + gamma in Absorber 28.643193 keV in Gap 10.513489 keV + e- in Absorber 20.796703 eV in Gap 66.828455 eV + e+ in Absorber 813.98482 keV in Gap 1.9813401 MeV Total track length of e+/e- in an event : - Absorber 33.257343 cm Gap 33.201417 cm + Absorber 21.212944 cm Gap 23.56816 cm Total number of steps of e+/e- in an event : - Absorber 420.4 Gap 183.7 + Absorber 262.8 Gap 120.4 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 817.97216 36.6 56.7 2.2 526.92022 239.3 - 1 27.746409 5.2 46.3 0.4 84.398353 106 - 2 5.6800392 0.8 37.7 0.1 13.003987 55.5 - 3 3.0098687 0.4 32.1 0.1 5.5321317 44.4 - 4 5.9258728 1 28 0.2 15.774503 40.2 - 5 2.8842268 0.6 21.9 0.1 9.8028579 33.4 - 6 1.3015013 0.1 16.5 0.1 2.421631 20.5 - 7 0.88609105 0.2 11.5 0 1.6373535 15.4 - 8 0.33446621 0 9.7 0 0.2529313 11.4 - 9 0.67323808 0.1 8.4 0 1.7131515 11.8 - 10 0.47758344 0.2 4.3 0.1 0.85561954 6.1 - 11 0.69727926 0.1 5.3 0 1.3874919 6.7 - 12 0.10305616 0 3.1 0 0.052952416 3.6 - 13 0.11999149 0 2 0 0.11943198 2.2 - 14 0.029734604 0 1.2 0 0.012594121 1.3 - 15 0.063453821 0 1.2 0 0.054202229 1.4 - 16 0.31246496 0.1 1.8 0 0.58376791 2.5 - 17 0.009197686 0 0.5 0 0.0034268892 0.5 - 18 0.00021744812 0 0.1 0 1.9129791e-05 0.1 - 19 0.038687906 0 0.9 0 0.021602028 1.1 + 0 755.3054 20.7 30.6 1 314.74913 113.2 + 1 24.963169 6.4 26.8 0.7 74.712173 62.6 + 2 7.6533841 1.5 27.8 0.1 22.315232 43.6 + 3 5.0096785 0.1 20 0 14.804273 40.7 + 4 0.96434459 0.1 18.1 0 1.3620111 28.7 + 5 1.4370104 0.2 11.4 0 4.1436216 18.7 + 6 1.3817196 0.1 9.1 0 2.8269117 12.3 + 7 0.43793726 0 7.4 0 0.53227696 8.5 + 8 0.56465526 0 7.8 0 1.232685 9 + 9 0.39848165 0 5.9 0 0.59311089 11.9 + 10 0.17897902 0 5.3 0 0.097824007 6.8 + 11 0.19919203 0.1 3.8 0 0.23429972 4.5 + 12 0.87230746 0.1 1.8 0.1 2.0816197 5.1 + 13 0.49920962 0.4 2.8 0 1.5362625 5.2 + 14 0.45839413 0.1 2.1 0 0.9010085 3 + 15 0.15435135 0 1.8 0 0.34886148 2.2 + 16 0.080527902 0 1.4 0 0.085674767 1.6 + 17 0.47094194 0 0.6 0 2.6174563 1.4 + 18 0.065068937 0 0.1 0 0.25109946 0.3 + 19 0 0 0 0 0 0 ############################################################ -CPU Time spent by each region0xa7df08 +CPU Time spent by each region0x2a992e9688 Region All particles : User=0 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=0.44 Real=0.39 Sys=0 - e+ / e- : User=0.25 Real=0.27 Sys=0.01 + All particles : User=0.19 Real=0.25 Sys=0.04 + e+ / e- : User=0.12 Real=0.15 Sys=0.03 Region - All particles : User=0.13 Real=0.13 Sys=0.01 - e+ / e- : User=0.04 Real=0.11 Sys=0.01 + All particles : User=0.12 Real=0.15 Sys=0 + e+ / e- : User=0.03 Real=0.05 Sys=0 Region - All particles : User=0.24 Real=0.29 Sys=0.03 - e+ / e- : User=0.1 Real=0.13 Sys=0.01 + All particles : User=0.06 Real=0.06 Sys=0 + e+ / e- : User=0.03 Real=0.02 Sys=0 /run/dumpCouples @@ -1482,80 +1547,80 @@ Region Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 47.18466 keV e- 383.06537 keV e+ 364.65944 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 47.180687 keV e- 384.00041 keV e+ 371.31224 keV proton 20 keV Index : 2 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 2.7857637 keV e- 123.42635 keV e+ 121.91623 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 2.8054364 keV e- 124.17271 keV e+ 122.51498 keV proton 20 keV Index : 3 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 120.58859 keV e- 2.6139957 MeV e+ 2.4278772 MeV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 120.87938 keV e- 2.6420253 MeV e+ 2.4373346 MeV proton 200 keV Index : 4 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 8.590436 keV e- 561.06092 keV e+ 540.71814 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 8.7342264 keV e- 567.02713 keV e+ 540.97157 keV proton 200 keV Index : 5 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 419.68872 keV e- 35.541271 MeV e+ 33.010705 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 419.05594 keV e- 35.119945 MeV e+ 32.617487 MeV proton 2 MeV Index : 6 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 26.979787 keV e- 4.2771968 MeV e+ 3.9726571 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 27.010336 keV e- 4.2289344 MeV e+ 4.007588 MeV proton 2 MeV Index : 7 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 3.2133001 keV e- 199.48758 keV e+ 194.63599 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 3.2524236 keV e- 200.09609 keV e+ 196.10251 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 8 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 200 um e- 200 um e+ 200 um - Energy thresholds : gamma 1.47052 keV e- 126.50293 keV e+ 124.95517 keV + Range cuts : gamma 200 um e- 200 um e+ 200 um proton 200 um + Energy thresholds : gamma 1.4816455 keV e- 128.41583 keV e+ 125.85287 keV proton 20 keV Region(s) which use this couple : Calor-A Index : 9 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 9.5619691 keV e- 1.0256085 MeV e+ 976.32895 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 9.5958453 keV e- 1.0312145 MeV e+ 977.23981 keV proton 200 keV Region(s) which use this couple : Calor-B Index : 10 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 2 mm e- 2 mm e+ 2 mm - Energy thresholds : gamma 3.8944955 keV e- 568.01052 keV e+ 547.41576 keV + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm proton 2 mm + Energy thresholds : gamma 3.9257685 keV e- 570.85042 keV e+ 548.29137 keV proton 200 keV Region(s) which use this couple : Calor-B Index : 11 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 28.180732 keV e- 9.404294 MeV e+ 8.7347011 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 28.121656 keV e- 9.4721636 MeV e+ 8.8565451 MeV proton 2 MeV Region(s) which use this couple : Calor-C Index : 12 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 2 cm e- 2 cm e+ 2 cm - Energy thresholds : gamma 10.314103 keV e- 4.1731742 MeV e+ 3.9726571 MeV + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm proton 2 cm + Energy thresholds : gamma 10.401718 keV e- 4.2289344 MeV e+ 3.9540859 MeV proton 2 MeV Region(s) which use this couple : Calor-C @@ -1573,274 +1638,274 @@ Region -- appears in world volume Root logical volume(s) : World Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm Region -- appears in world volume Root logical volume(s) : Calor-A Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water - Production cuts : gamma 10 um e- 10 um e+ 10 um + Production cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um Region -- appears in world volume Root logical volume(s) : Calor-B Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water - Production cuts : gamma 100 um e- 100 um e+ 100 um + Production cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um Region -- appears in world volume Root logical volume(s) : Calor-C Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm /run/beamOn 10 conv: for gamma SubType= 14 - Lambda tables from 1.0219978 MeV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 1.0219978 MeV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Bethe-Heitler : Emin= 0 eV Emax= 100 TeV + Bethe-Heitler : Emin= 0 eV Emax= 10 TeV compt: for gamma SubType= 13 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - Klein-Nishina : Emin= 0 eV Emax= 100 TeV + Klein-Nishina : Emin= 0 eV Emax= 10 TeV phot: for gamma SubType= 12 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - PhotoElectric : Emin= 0 eV Emax= 100 TeV + PhotoElectric : Emin= 0 eV Emax= 10 TeV msc: for e- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV eIoni: for e- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV eIoni: for e+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MollerBhabha : Emin= 0 eV Emax= 100 TeV + MollerBhabha : Emin= 0 eV Emax= 10 TeV eBrem: for e+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 LPM flag: 1 for E > 1 GeV ===== EM models for the G4Region DefaultRegionForTheWorld ====== eBrem : Emin= 0 eV Emax= 1 GeV - eBremRel : Emin= 1 GeV Emax= 100 TeV + eBremRel : Emin= 1 GeV Emax= 10 TeV annihil: for e+ SubType= 5 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - eplus2gg : Emin= 0 eV Emax= 100 TeV + eplus2gg : Emin= 0 eV Emax= 10 TeV hIoni: for proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV msc: for proton SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV hIoni: for anti_proton SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 2 MeV - BetheBloch : Emin= 2 MeV Emax= 100 TeV + BetheBloch : Emin= 2 MeV Emax= 10 TeV hIoni: for kaon+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV hIoni: for kaon- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 1.052311 MeV - BetheBloch : Emin= 1.052311 MeV Emax= 100 TeV + BetheBloch : Emin= 1.052311 MeV Emax= 10 TeV muIoni: for mu+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV msc: for mu+ SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV muBrems: for mu+ SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu+ SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV muIoni: for mu- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 200 keV BetheBloch : Emin= 200 keV Emax= 1 GeV - MuBetheBloch : Emin= 1 GeV Emax= 100 TeV + MuBetheBloch : Emin= 1 GeV Emax= 10 TeV muBrems: for mu- SubType= 3 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - MuBrem : Emin= 0 eV Emax= 100 TeV + MuBrem : Emin= 0 eV Emax= 10 TeV muPairProd: for mu- SubType= 4 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - muPairProd : Emin= 0 eV Emax= 100 TeV + muPairProd : Emin= 0 eV Emax= 10 TeV hIoni: for pi+ SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV hIoni: for pi- SubType= 2 - dE/dx and range tables from 100 eV to 100 TeV in 84 bins - Lambda tables from threshold to 100 TeV in 84 bins, spline: 1 + dE/dx and range tables from 100 eV to 10 TeV in 77 bins + Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 NuclearStopping= 0 ===== EM models for the G4Region DefaultRegionForTheWorld ====== Bragg : Emin= 0 eV Emax= 297.50434 keV - BetheBloch : Emin= 297.50434 keV Emax= 100 TeV + BetheBloch : Emin= 297.50434 keV Emax= 10 TeV msc: for pi- SubType= 10 - Lambda tables from 100 eV to 100 TeV in 84 bins, spline: 1 - RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 + Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 + RangeFactor= 0.04, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5 ===== EM models for the G4Region DefaultRegionForTheWorld ====== - UrbanMscUni : Emin= 0 eV Emax= 100 TeV + UrbanMsc92 : Emin= 0 eV Emax= 10 TeV ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 5.9738914 keV e- 57.5352 keV e+ 56.831257 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 5.9950011 keV e- 58.108185 keV e+ 56.948443 keV proton 1 keV Index : 2 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 14.229282 keV e+ 13.910003 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 990 eV e- 14.595052 keV e+ 14.233931 keV proton 1 keV Index : 3 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 29.3406 keV e- 239.94475 keV e+ 231.24491 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 29.476118 keV e- 241.52172 keV e+ 231.97719 keV proton 10 keV Index : 4 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 1.9852965 keV e- 82.220106 keV e+ 81.214144 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 1.9980986 keV e- 82.413535 keV e+ 81.861568 keV proton 10 keV Index : 5 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 100.51071 keV e- 1.3781428 MeV e+ 1.280018 MeV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 101.84292 keV e- 1.367494 MeV e+ 1.2786173 MeV proton 100 keV Index : 6 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.1783498 keV e- 342.89066 keV e+ 334.55147 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.1998573 keV e- 344.85452 keV e+ 333.45981 keV proton 100 keV Index : 7 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 33.887552 keV e+ 33.472938 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 990 eV e- 34.172517 keV e+ 33.943645 keV proton 1 keV Region(s) which use this couple : Calor-A Index : 8 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 13.944737 keV e+ 13.581031 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 990 eV e- 14.087402 keV e+ 14.087402 keV proton 1 keV Region(s) which use this couple : Calor-A Index : 9 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.3144796 keV e- 129.65621 keV e+ 128.06986 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 2.3477971 keV e- 131.03099 keV e+ 128.41583 keV proton 10 keV Region(s) which use this couple : Calor-B Index : 10 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 1.09571 keV e- 84.269564 keV e+ 83.238528 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 1.1098121 keV e- 84.658874 keV e+ 83.52866 keV proton 10 keV Region(s) which use this couple : Calor-B Index : 11 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.8873065 keV e- 596.68045 keV e+ 568.01052 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.9036292 keV e- 598.34507 keV e+ 570.85042 keV proton 100 keV Region(s) which use this couple : Calor-C Index : 12 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.9018564 keV e- 347.13789 keV e+ 338.6954 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.9405585 keV e- 351.8774 keV e+ 342.54485 keV proton 100 keV Region(s) which use this couple : Calor-C @@ -1850,7 +1915,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=4.41s Real=4.79s Sys=0.38s + User=6.94s Real=7.43s Sys=0.49s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -1858,141 +1923,141 @@ Region : Calor-A Production thresholds : gamma 10 um e- 10 um e+ 10 um Energy deposition in an event : - Absorber 590.14617 MeV Gap 269.20292 MeV + Absorber 1.696167 GeV Gap 745.56833 MeV Number of secondaries in an event : - gamma in Absorber 68.4 in Gap 19 - e- in Absorber 1103.8 in Gap 1060.8 - e+ in Absorber 2.1 in Gap 0.7 + gamma in Absorber 467.9 in Gap 123.8 + e- in Absorber 4189.5 in Gap 3281.8 + e+ in Absorber 24.8 in Gap 5.6 Minimum kinetic energy of generated secondaries : - gamma in Absorber 1.0152325 keV in Gap 1.0108996 keV - e- in Absorber 3.3816658 eV in Gap 3.2557598 eV - e+ in Absorber 429.40439 keV in Gap 802.8488 keV + gamma in Absorber 1.0010502 keV in Gap 1.0009436 keV + e- in Absorber 1.0993932 eV in Gap 3.768523 eV + e+ in Absorber 7.2419765 keV in Gap 253.06932 keV Total track length of e+/e- in an event : - Absorber 51.960638 cm Gap 54.044389 cm + Absorber 3.2853222 m Gap 3.1693383 m Total number of steps of e+/e- in an event : - Absorber 1792.8 Gap 1632.3 + Absorber 8099.1 Gap 6221.2 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 786.0431 65.9 1789 1.2 821.38349 2756.5 - 1 28.976076 8.4 108.2 0.5 102.1986 217.3 - 2 18.298151 5.9 80.1 0.3 56.243736 150.6 - 3 7.1518106 2.1 50.6 0.4 23.345989 78.1 - 4 4.4083661 1.3 33.5 0.1 12.764909 54.2 - 5 7.6577874 2.6 32.8 0.2 28.037951 64.3 - 6 3.5270159 0.6 19.5 0 10.16951 32.8 - 7 0.65976188 0 11.1 0 0.93020394 13.6 - 8 0.39665543 0 7.3 0 0.450484 8.5 - 9 0.76520657 0.3 6.7 0.1 2.0124629 12.4 - 10 0.25626838 0.1 3.9 0 0.50683288 6.5 - 11 0.12961568 0 3.5 0 0.089029956 3.9 - 12 0.11157214 0 3.2 0 0.074938237 3.7 - 13 0.33665114 0.2 3.5 0 0.6252609 7.9 - 14 0.1621801 0 3.1 0 0.15192914 3.6 - 15 0.15617812 0 2.3 0 0.60636666 3.3 - 16 0.033280015 0 2 0 0.013903292 2.1 - 17 0.023703508 0 1.1 0 0.012340728 1.3 - 18 0.019282519 0 0.4 0 0.010587916 0.5 - 19 0.16686365 0 1 0 0.30115662 1.9 + 0 2014.4557 465.4 4883.2 23.7 5156.8236 9858.3 + 1 247.23442 81.4 876.8 3.8 827.86423 1883.4 + 2 73.435532 21.7 465.8 1.3 221.68371 793.9 + 3 37.137473 10.1 315.2 0.8 104.99578 486.3 + 4 20.075674 4.5 224 0.4 42.46357 317.7 + 5 12.140856 2.6 159.7 0 28.058393 225.6 + 6 8.5671892 1.4 125.7 0.1 14.939492 169.6 + 7 10.688273 2.2 115.2 0.2 26.696425 174.1 + 8 5.4314869 1.2 77.8 0.1 13.919364 110.7 + 9 3.9608045 0.6 60.9 0 6.4223522 84.9 + 10 1.8469274 0.2 42.3 0 1.7201638 48.5 + 11 1.5964146 0 31.1 0 1.9859164 45.3 + 12 1.3675058 0 22.5 0 2.0618419 29 + 13 0.63554252 0 15.5 0 0.79853831 19.6 + 14 0.9010256 0.1 16.9 0 1.1776401 21.7 + 15 0.91605907 0 12 0 1.3288979 17.6 + 16 0.25242296 0 7.7 0 0.20930969 8.8 + 17 0.26545759 0.2 5.2 0 0.28485251 6.6 + 18 0.3854261 0.1 4.7 0 0.62798064 7.4 + 19 0.18223548 0 4.1 0 0.20727116 5.2 ############################################################ Region : Calor-B Production thresholds : gamma 100 um e- 100 um e+ 100 um Energy deposition in an event : - Absorber 520.05543 MeV Gap 231.72221 MeV + Absorber 3.5305126 GeV Gap 1.4957006 GeV Number of secondaries in an event : - gamma in Absorber 38.8 in Gap 10.3 - e- in Absorber 331.2 in Gap 173.9 - e+ in Absorber 0.9 in Gap 0.1 + gamma in Absorber 1037.9 in Gap 270.1 + e- in Absorber 5676.5 in Gap 2461.2 + e+ in Absorber 61.6 in Gap 13.1 Minimum kinetic energy of generated secondaries : - gamma in Absorber 2.3688373 keV in Gap 1.1188776 keV - e- in Absorber 5.3274699 eV in Gap 27.952221 eV - e+ in Absorber 926.0659 keV in Gap 22.767184 MeV + gamma in Absorber 2.3479421 keV in Gap 1.111849 keV + e- in Absorber 0.22346445 eV in Gap 2.3314586 eV + e+ in Absorber 117.12086 keV in Gap 225.95913 keV Total track length of e+/e- in an event : - Absorber 31.978227 cm Gap 32.096848 cm + Absorber 7.6969285 m Gap 7.1734739 m Total number of steps of e+/e- in an event : - Absorber 672.4 Gap 346.7 + Absorber 11683 Gap 5311.2 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 731.05973 44.8 365 0.9 587.72827 813.4 - 1 10.642943 2.9 28.2 0.1 31.63184 55.6 - 2 3.6035535 0.9 22.7 0 8.6923212 38.3 - 3 2.2751299 0.2 18.4 0 5.4729002 26.9 - 4 0.65244374 0 12.3 0 1.0939951 16.5 - 5 1.3584052 0.1 13.1 0 2.8343206 16.1 - 6 0.5407764 0.1 7.5 0 1.1500286 8.7 - 7 0.35304153 0 7 0 0.71922753 8.2 - 8 0.12226368 0 4.5 0 0.077375753 5.1 - 9 0.24644504 0 4.8 0 0.2754051 5.3 - 10 0.080830332 0 3.3 0 0.065012635 3.5 - 11 0.15436357 0 4.9 0 0.080697411 5.8 - 12 0.16356992 0 3.5 0 0.16092452 3.9 - 13 0.16031648 0 2.1 0 0.36347636 2.7 - 14 0.045456072 0 1.7 0 0.033742862 1.8 - 15 0.14943091 0 1.1 0 0.22847478 1.4 - 16 0.018094248 0 1 0 0.024964844 1 - 17 0.0079797853 0 0.7 0 0.0024332017 0.8 - 18 0.037821889 0 1 0 0.024742603 1.2 - 19 0.072257802 0.1 1.3 0 0.073718831 1.6 + 0 3670.3993 928.2 2717.1 50.8 10763.663 7822.7 + 1 699.86649 216.3 1233.1 11.8 2318.3133 2872.9 + 2 249.21646 73.1 902.7 4.4 758.98512 1577.7 + 3 138.49328 35.3 705 3 389.9701 1118.6 + 4 81.056354 20.5 578.9 1.5 212.03338 854.6 + 5 55.338093 12.2 470.3 1.2 138.6557 671.3 + 6 33.960965 7.5 352.1 0.8 73.382781 480.9 + 7 22.570558 3 276.6 0.3 48.587258 368 + 8 18.178552 2.8 215.6 0.3 39.732715 288.1 + 9 11.998956 1.8 174.1 0.3 23.919722 233.2 + 10 12.209629 2.7 132 0.1 28.746035 187.3 + 11 8.6084433 1.3 101.1 0.1 19.787514 145.8 + 12 6.5048468 1.1 67.2 0.1 17.612418 91.6 + 13 5.38601 0.5 49.6 0 13.943396 72.4 + 14 4.5054427 0.4 43.6 0 10.273409 61.5 + 15 1.9915514 0.5 31.7 0 3.4702722 38.1 + 16 1.0594992 0.1 26.2 0 1.0992033 30.9 + 17 1.2000089 0 19.9 0 1.6251359 23.5 + 18 1.5141373 0.3 16.4 0 2.5311285 22.4 + 19 0.84543195 0.3 10.8 0 1.5327173 13.4 ############################################################ Region : Calor-C Production thresholds : gamma 1 mm e- 1 mm e+ 1 mm Energy deposition in an event : - Absorber 2.0044984 GeV Gap 857.5994 MeV + Absorber 618.10052 MeV Gap 275.986 MeV Number of secondaries in an event : - gamma in Absorber 448.9 in Gap 124.2 - e- in Absorber 2298.4 in Gap 924.2 - e+ in Absorber 30.4 in Gap 6.5 + gamma in Absorber 54.6 in Gap 17.4 + e- in Absorber 285.4 in Gap 131.3 + e+ in Absorber 3.1 in Gap 0.3 Minimum kinetic energy of generated secondaries : - gamma in Absorber 6.925574 keV in Gap 2.9050437 keV - e- in Absorber 0.14497498 eV in Gap 0.49050365 eV - e+ in Absorber 96.844407 keV in Gap 237.04291 keV + gamma in Absorber 6.9303437 keV in Gap 3.0180842 keV + e- in Absorber 11.856971 eV in Gap 3.0602782 eV + e+ in Absorber 371.85274 keV in Gap 14.000371 MeV Total track length of e+/e- in an event : - Absorber 3.7937969 m Gap 3.6102367 m + Absorber 50.74172 cm Gap 52.58595 cm Total number of steps of e+/e- in an event : - Absorber 4855 Gap 2089.6 + Absorber 671.3 Gap 328.1 ------------------------------------------------------------ Scores in parallel geometry layer eDep/evt nGamma/evt nElec/evt nPosi/evt stpLen/evt nStep/evt - 0 2257.3269 437.2 777.1 27.1 5644.5908 2980.5 - 1 331.24349 84 516.2 5.1 1059.2159 1181.9 - 2 107.04112 22.5 424.3 1.4 312.22679 703.4 - 3 53.455655 8.8 319.4 0.8 143.48906 471.5 - 4 34.163205 8.5 252.2 1 79.478268 366.7 - 5 17.125334 2.4 206.7 0.2 36.784506 273.6 - 6 15.537283 3.5 172.5 0.4 32.781734 239.5 - 7 9.1070688 1.3 133.2 0 17.15907 171.2 - 8 9.9818128 1.7 97.2 0.5 20.681429 131.3 - 9 7.1163318 1 83.9 0.1 18.061819 115.1 - 10 2.8333399 0 58.9 0 3.1018429 70.3 - 11 5.8091699 1 52.9 0.2 11.054691 73.3 - 12 2.2137701 0.4 33.9 0 4.3189583 42 - 13 1.887915 0.2 25.3 0 3.5236257 32.6 - 14 1.23299 0 19.4 0 3.0925065 26.5 - 15 1.3131786 0.1 16.5 0 2.4561323 20.5 - 16 2.6001336 0.2 10.2 0.1 7.9099008 14.4 - 17 0.8277437 0.2 8.1 0 1.3409946 10.6 - 18 0.15094838 0 3.8 0 0.10769311 4.8 - 19 0.49492443 0 4 0 1.4193438 5 + 0 836.12745 59.5 149.8 2.5 859.63071 590.7 + 1 27.846197 7.5 56.2 0.5 82.06264 112.8 + 2 11.467743 2.7 45 0.2 38.611284 73.7 + 3 3.6898813 0.8 35.7 0.1 8.3884824 50.7 + 4 3.4828043 0.5 31.6 0 10.224434 39.1 + 5 3.0111081 0.4 23.8 0 8.8059071 32.2 + 6 0.88877759 0 17.4 0 1.1240902 21.7 + 7 0.52306286 0 11.1 0 0.5593794 13.5 + 8 0.33031261 0 6.5 0 0.52793124 7.8 + 9 1.0216377 0 7.8 0 2.8008054 9.6 + 10 0.59628479 0 5.7 0 1.9007102 7.3 + 11 0.99273864 0.3 2.6 0.1 2.3037307 3.8 + 12 0.14850838 0 3.6 0 0.1790246 3.9 + 13 1.2852494 0 4.8 0 5.1380443 7.1 + 14 1.1398439 0.2 2.3 0 5.8256221 4.5 + 15 0.12404919 0.1 2.1 0 0.29076847 2.6 + 16 0.18341426 0 1.8 0 0.47375565 4 + 17 0.016960165 0 0.9 0 0.0076462589 0.9 + 18 0.11078617 0 1.8 0 0.11960493 4.8 + 19 0.21840147 0 2.6 0 0.55216132 3.3 ############################################################ -CPU Time spent by each region0xa7df08 +CPU Time spent by each region0x2a992e9688 Region All particles : User=0 Real=0 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=0.87 Real=0.86 Sys=0.08 - e+ / e- : User=0.49 Real=0.53 Sys=0.02 + All particles : User=2 Real=2.04 Sys=0.15 + e+ / e- : User=1.46 Real=1.33 Sys=0.13 Region - All particles : User=0.26 Real=0.29 Sys=0 - e+ / e- : User=0.2 Real=0.18 Sys=0.01 + All particles : User=2.85 Real=3.08 Sys=0.14 + e+ / e- : User=1.62 Real=1.9 Sys=0.06 Region - All particles : User=2.21 Real=2.3 Sys=0.11 - e+ / e- : User=1.16 Real=1.41 Sys=0.08 + All particles : User=0.16 Real=0.2 Sys=0 + e+ / e- : User=0.11 Real=0.09 Sys=0 /run/dumpCouples @@ -2000,80 +2065,80 @@ Region Index : 0 used in the geometry : Yes recalculation needed : No Material : Galactic - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV Region(s) which use this couple : DefaultRegionForTheWorld Index : 1 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 5.9738914 keV e- 57.5352 keV e+ 56.831257 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 5.9950011 keV e- 58.108185 keV e+ 56.948443 keV proton 1 keV Index : 2 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 14.229282 keV e+ 13.910003 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 990 eV e- 14.595052 keV e+ 14.233931 keV proton 1 keV Index : 3 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 29.3406 keV e- 239.94475 keV e+ 231.24491 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 29.476118 keV e- 241.52172 keV e+ 231.97719 keV proton 10 keV Index : 4 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 1.9852965 keV e- 82.220106 keV e+ 81.214144 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 1.9980986 keV e- 82.413535 keV e+ 81.861568 keV proton 10 keV Index : 5 used in the geometry : No recalculation needed : No Material : Lead - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 100.51071 keV e- 1.3781428 MeV e+ 1.280018 MeV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 101.84292 keV e- 1.367494 MeV e+ 1.2786173 MeV proton 100 keV Index : 6 used in the geometry : No recalculation needed : No Material : liquidArgon - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.1783498 keV e- 342.89066 keV e+ 334.55147 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.1998573 keV e- 344.85452 keV e+ 333.45981 keV proton 100 keV Index : 7 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 33.887552 keV e+ 33.472938 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 990 eV e- 34.172517 keV e+ 33.943645 keV proton 1 keV Region(s) which use this couple : Calor-A Index : 8 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 13.944737 keV e+ 13.581031 keV + Range cuts : gamma 10 um e- 10 um e+ 10 um proton 10 um + Energy thresholds : gamma 990 eV e- 14.087402 keV e+ 14.087402 keV proton 1 keV Region(s) which use this couple : Calor-A Index : 9 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 2.3144796 keV e- 129.65621 keV e+ 128.06986 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 2.3477971 keV e- 131.03099 keV e+ 128.41583 keV proton 10 keV Region(s) which use this couple : Calor-B Index : 10 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 100 um e- 100 um e+ 100 um - Energy thresholds : gamma 1.09571 keV e- 84.269564 keV e+ 83.238528 keV + Range cuts : gamma 100 um e- 100 um e+ 100 um proton 100 um + Energy thresholds : gamma 1.1098121 keV e- 84.658874 keV e+ 83.52866 keV proton 10 keV Region(s) which use this couple : Calor-B Index : 11 used in the geometry : Yes recalculation needed : No Material : Aluminium - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.8873065 keV e- 596.68045 keV e+ 568.01052 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.9036292 keV e- 598.34507 keV e+ 570.85042 keV proton 100 keV Region(s) which use this couple : Calor-C Index : 12 used in the geometry : Yes recalculation needed : No Material : Water - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.9018564 keV e- 347.13789 keV e+ 338.6954 keV + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.9405585 keV e- 351.8774 keV e+ 342.54485 keV proton 100 keV Region(s) which use this couple : Calor-C @@ -2082,3 +2147,4 @@ Index : 12 used in the geometry : Yes recalculation needed : No Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. + diff --git a/source/GNUmakefile b/source/GNUmakefile index 06daace852..5a3ab1a7ed 100644 --- a/source/GNUmakefile +++ b/source/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.89 2008/12/03 13:37:02 gcosmo Exp $ +# $Id: GNUmakefile,v 1.95 2009/11/27 10:55:26 gcosmo Exp $ # ----------------------------------------------------------------- # "gmake" makes default libraries for each subdomain. # "gmake global" makes global libraries for each subdomain. @@ -109,20 +109,28 @@ $(G4LIBDIR)/liblist: $(G4INSTALL)/config/liblist.c @if [ ! -d $(G4LIBDIR) ] ; then mkdir $(G4LIBDIR) ;fi @$(CC) $(CCFLAGS) -o $(G4LIBDIR)/liblist $(G4INSTALL)/config/liblist.c -dll: banner win32def +clean_tmps: + @$(ECHO) "Clearing temporary objects ..." + @rm -rf $(G4LIBDIR)/*.def $(G4LIBDIR)/*.exp + @rm -rf $(G4TMPDIR)/* + +dll_build: banner win32def ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) @$(ECHO) "Verifying existence of global libraries for DLLs ..." @$(MAKE) kernel_global G4LIB_BUILD_DLL=1 @$(ECHO) "Building Windows DLL libraries ..." @$(MAKE) kernel_global G4LIB_BUILD_DLL=1 G4LIB_BUILD_SHARED=1 - @$(ECHO) "Clearing temporary DLL objects and temporaries ..." - @rm -rf $(G4LIBDIR)/*.def $(G4LIBDIR)/*.exp - @rm -rf $(G4TMPDIR)/* ifdef G4LIB_USE_G3TOG4 @for dir in $(SUBDIR4); do (cd $$dir && $(MAKE)); done;: @mv $(G4LIBDIR)/libG3toG4.a $(G4LIBDIR)/libG3toG4.lib endif @$(ECHO) "Done !" +endif + +dll: +ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) + @$(MAKE) dll_build + @$(MAKE) clean_tmps else @$(ECHO) "Sorry !" endif @@ -149,8 +157,8 @@ endif banner: @$(ECHO) "*************************************************************" - @$(ECHO) " Installation Geant4 version $$Name: geant4-09-02 $ " - @$(ECHO) " Copyright (C) 1994-2008 Geant4 Collaboration " + @$(ECHO) " Installation Geant4 version $$Name: geant4-09-03 $ " + @$(ECHO) " Copyright (C) 1994-2009 Geant4 Collaboration " @$(ECHO) "*************************************************************" clean_libs:: @@ -168,6 +176,8 @@ clean:: @rm -rf $(G4TMPDIR) @rm -rf $(G4LIBDIR) @rm -rf $(G4BINDIR) + @rm -rf $(G4INSTALL)/source/interfaces/*/moc + @rm -rf $(G4INSTALL)/source/visualization/*/moc @rm -rf $(G4INSTALL)/.config/bin/$(G4SYSTEM) ifdef CFRONT @rm -rf $(G4TREP) @@ -186,5 +196,8 @@ clean_all:: @rm -rf $(G4BIN) @$(ECHO) Removing $(G4INCLUDE) ... @rm -rf $(G4INCLUDE) + @$(ECHO) Removing Qt moc source files ... + @rm -rf $(G4INSTALL)/source/interfaces/*/moc + @rm -rf $(G4INSTALL)/source/visualization/*/moc @$(ECHO) Removing installation configurations ... @rm -rf $(G4INSTALL)/.config diff --git a/source/digits_hits/History b/source/digits_hits/History index dfcfa2059f..ab3b2e4e4a 100644 --- a/source/digits_hits/History +++ b/source/digits_hits/History @@ -1,4 +1,4 @@ -$Id: History,v 1.36 2008/11/26 22:40:01 asaim Exp $ +$Id: History,v 1.41 2009/11/23 18:13:28 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,31 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 23, 2009, M.Asai (digits_hits-V09-02-04) +- G4VReadOutGeometry.hh: + Add "virtual" to CheckROVolume() and FindROTouchable() methods and + change ROnavigator and touchableHistory from private to protected. + +Nov 13, 2009, M.Asai (digits_hits-V09-02-03) +- Fixing the way of counting the flux and current passing through + a curved surface + - affected classes: + G4PSCylinderSurfaceCurrent.cc + G4PSCylinderSurfaceFlux.cc + G4PSSphereSurfaceCurrent.cc + G4PSSphereSurfaceFlux.cc + +Oct 11, 2009, M.Asai (digits_hits-V09-02-02) +- G4VScoringMesh : Add a few Get-methods for visualization. + +May 06, 2009, M.Asai (digits_hits-V09-02-01) +- Replaced usage of non-Standard calls to 'sprintf' with ostringstream, + to fix compilation errors reported by gcc-4.4.0 compiler. + +Dec 28, 2008, M.Asai (digits_hits-V09-02-00) +- Fixing incorrect volume size for cylindrical parameterized volume used in + several scorers. + Nov 26, 2008, M.Asai (digits_hits-V09-01-02) - Fixing an incorrect index number in G4ScoringMessenger.cc. diff --git a/source/digits_hits/detector/include/G4VReadOutGeometry.hh b/source/digits_hits/detector/include/G4VReadOutGeometry.hh index ef87f66aa5..dd7bf07cdf 100644 --- a/source/digits_hits/detector/include/G4VReadOutGeometry.hh +++ b/source/digits_hits/detector/include/G4VReadOutGeometry.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VReadOutGeometry.hh,v 1.2 2006/06/29 18:05:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VReadOutGeometry.hh,v 1.3 2009/11/23 18:13:30 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // ------------------------------------------------------------ @@ -58,17 +58,17 @@ class G4VReadOutGeometry // the ROGeometry. It sets up in addition the needed // the G4Navigator used to navigate inside this ROGeometry. void BuildROGeometry(); - G4bool CheckROVolume(G4Step*,G4TouchableHistory*&); + virtual G4bool CheckROVolume(G4Step*,G4TouchableHistory*&); protected: - G4bool FindROTouchable(G4Step*); + virtual G4bool FindROTouchable(G4Step*); G4VPhysicalVolume* ROworld; G4SensitiveVolumeList* fincludeList; G4SensitiveVolumeList* fexcludeList; G4String name; - private: + protected: G4Navigator* ROnavigator; G4TouchableHistory* touchableHistory; diff --git a/source/digits_hits/scorer/src/G4PSCellFlux.cc b/source/digits_hits/scorer/src/G4PSCellFlux.cc index dd5d6436f4..66e720390e 100644 --- a/source/digits_hits/scorer/src/G4PSCellFlux.cc +++ b/source/digits_hits/scorer/src/G4PSCellFlux.cc @@ -24,13 +24,15 @@ // ******************************************************************** // // -// $Id: G4PSCellFlux.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCellFlux.cc,v 1.2 2008/12/28 20:32:00 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSCellFlux #include "G4PSCellFlux.hh" #include "G4Track.hh" #include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" /////////////////////////////////////////////////////////////////////////////// @@ -57,14 +59,28 @@ G4PSCellFlux::~G4PSCellFlux() G4bool G4PSCellFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) { - G4double stepLength = aStep->GetStepLength(); - if ( stepLength == 0. ) return FALSE; - G4double volume = aStep->GetPreStepPoint()->GetPhysicalVolume() - ->GetLogicalVolume()->GetSolid()->GetCubicVolume(); - G4double CellFlux = stepLength / volume ; - CellFlux *= aStep->GetPreStepPoint()->GetWeight(); - G4int index = GetIndex(aStep); - EvtMap->add(index,CellFlux); + G4double stepLength = aStep->GetStepLength(); + if ( stepLength == 0. ) return FALSE; + + G4VPhysicalVolume* physVol = aStep->GetPreStepPoint()->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid* solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); + } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + + G4double CellFlux = stepLength / (solid->GetCubicVolume()); + CellFlux *= aStep->GetPreStepPoint()->GetWeight(); + G4int index = GetIndex(aStep); + EvtMap->add(index,CellFlux); return TRUE; } diff --git a/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc b/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc index ac3e6a07fb..2c153e5b0a 100644 --- a/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc +++ b/source/digits_hits/scorer/src/G4PSCylinderSurfaceCurrent.cc @@ -24,13 +24,16 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceCurrent.cc,v 1.1 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCylinderSurfaceCurrent.cc,v 1.3 2009/11/14 00:01:13 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSCylinderSurfaceCurrent #include "G4PSCylinderSurfaceCurrent.hh" #include "G4StepStatus.hh" #include "G4Track.hh" +#include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" #include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// @@ -61,15 +64,29 @@ G4PSCylinderSurfaceCurrent::~G4PSCylinderSurfaceCurrent() G4bool G4PSCylinderSurfaceCurrent::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4StepPoint* preStep = aStep->GetPreStepPoint(); - G4VSolid * solid = - preStep->GetPhysicalVolume()->GetLogicalVolume()->GetSolid(); - if( solid->GetEntityType() != "G4Tubs" ){ - G4Exception("G4PSCylinderSurfaceCurrentScorer. - Solid type is not supported."); - return FALSE; + G4VPhysicalVolume* physVol = preStep->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid * solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + +// if( solid->GetEntityType() != "G4Tubs" ){ +// G4Exception("G4PSCylinderSurfaceCurrentScorer. - Solid type is not supported."); +// return FALSE; +// } G4Tubs* tubsSolid = (G4Tubs*)(solid); G4int dirFlag =IsSelectedSurface(aStep,tubsSolid); + G4cout << " pos " << preStep->GetPosition() <<" dirFlag " << G4endl; if ( dirFlag > 0 ) { if ( fDirection == fCurrent_InOut || fDirection == dirFlag ){ G4TouchableHandle theTouchable = preStep->GetTouchableHandle(); @@ -104,9 +121,13 @@ G4int G4PSCylinderSurfaceCurrent::IsSelectedSurface(G4Step* aStep, G4Tubs* tubsS G4ThreeVector localpos1 = theTouchable->GetHistory()->GetTopTransform().TransformPoint(stppos1); if ( std::fabs(localpos1.z()) > tubsSolid->GetZHalfLength() ) return -1; - if(std::fabs( (localpos1.x()*localpos1.x()+localpos1.y()*localpos1.y()) - -(tubsSolid->GetInnerRadius()*tubsSolid->GetInnerRadius()) ) - < kCarTolerance ){ + //if(std::fabs( localpos1.x()*localpos1.x()+localpos1.y()*localpos1.y() + // -(tubsSolid->GetInnerRadius()*tubsSolid->GetInnerRadius())) + // < kCarTolerance ){ + G4double localR2 = localpos1.x()*localpos1.x()+localpos1.y()*localpos1.y(); + G4double InsideRadius = tubsSolid->GetInnerRadius(); + if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fCurrent_In; } } @@ -117,9 +138,13 @@ G4int G4PSCylinderSurfaceCurrent::IsSelectedSurface(G4Step* aStep, G4Tubs* tubsS G4ThreeVector localpos2 = theTouchable->GetHistory()->GetTopTransform().TransformPoint(stppos2); if ( std::fabs(localpos2.z()) > tubsSolid->GetZHalfLength() ) return -1; - if(std::fabs( (localpos2.x()*localpos2.x()+localpos2.y()*localpos2.y()) - - (tubsSolid->GetInnerRadius()*tubsSolid->GetInnerRadius()) ) - GetInnerRadius()*tubsSolid->GetInnerRadius())) + // GetInnerRadius(); + if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fCurrent_Out; } } diff --git a/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc b/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc index 70e8b82e37..a6df0393ef 100644 --- a/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc +++ b/source/digits_hits/scorer/src/G4PSCylinderSurfaceFlux.cc @@ -24,13 +24,16 @@ // ******************************************************************** // // -// $Id: G4PSCylinderSurfaceFlux.cc,v 1.2 2008/12/18 12:57:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSCylinderSurfaceFlux.cc,v 1.4 2009/11/14 00:01:13 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // G4PSCylinderSurfaceFlux #include "G4PSCylinderSurfaceFlux.hh" #include "G4StepStatus.hh" #include "G4Track.hh" +#include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" #include "G4GeometryTolerance.hh" // //////////////////////////////////////////////////////////////////////////////// @@ -60,12 +63,26 @@ G4bool G4PSCylinderSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4StepPoint* preStep = aStep->GetPreStepPoint(); G4StepPoint* postStep = aStep->GetPreStepPoint(); - G4VSolid * solid = - preStep->GetPhysicalVolume()->GetLogicalVolume()->GetSolid(); - if( solid->GetEntityType() != "G4Tubs" ){ - G4Exception("G4PSCylinderSurfaceFluxScorer. - Solid type is not supported."); - return FALSE; + + G4VPhysicalVolume* physVol = preStep->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid * solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + +// if( solid->GetEntityType() != "G4Tubs" ){ +// G4Exception("G4PSCylinderSurfaceFluxScorer. - Solid type is not supported."); +// return FALSE; +// } G4Tubs* tubsSolid = (G4Tubs*)(solid); G4int dirFlag =IsSelectedSurface(aStep,tubsSolid); @@ -126,8 +143,13 @@ G4int G4PSCylinderSurfaceFlux::IsSelectedSurface(G4Step* aStep, G4Tubs* tubsSoli G4ThreeVector localpos1 = theTouchable->GetHistory()->GetTopTransform().TransformPoint(stppos1); if ( std::fabs(localpos1.z()) > tubsSolid->GetZHalfLength() ) return -1; - if(std::fabs( localpos1.x()*localpos1.x()+localpos1.y()*localpos1.y() ) - - (tubsSolid->GetInnerRadius()*tubsSolid->GetInnerRadius())GetInnerRadius()*tubsSolid->GetInnerRadius())) + // GetInnerRadius(); + if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fFlux_In; } } @@ -138,8 +160,13 @@ G4int G4PSCylinderSurfaceFlux::IsSelectedSurface(G4Step* aStep, G4Tubs* tubsSoli G4ThreeVector localpos2 = theTouchable->GetHistory()->GetTopTransform().TransformPoint(stppos2); if ( std::fabs(localpos2.z()) > tubsSolid->GetZHalfLength() ) return -1; - if(std::fabs( localpos2.x()*localpos2.x()+localpos2.y()*localpos2.y() ) - - (tubsSolid->GetInnerRadius()*tubsSolid->GetInnerRadius())GetInnerRadius()*tubsSolid->GetInnerRadius())) + // GetInnerRadius(); + if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fFlux_Out; } } diff --git a/source/digits_hits/scorer/src/G4PSDoseDeposit.cc b/source/digits_hits/scorer/src/G4PSDoseDeposit.cc index ed219812a5..2e74892768 100644 --- a/source/digits_hits/scorer/src/G4PSDoseDeposit.cc +++ b/source/digits_hits/scorer/src/G4PSDoseDeposit.cc @@ -24,12 +24,14 @@ // ******************************************************************** // // -// $Id: G4PSDoseDeposit.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSDoseDeposit.cc,v 1.2 2008/12/28 20:32:00 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSDoseDeposit #include "G4PSDoseDeposit.hh" #include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" //////////////////////////////////////////////////////////////////////////////// @@ -52,10 +54,24 @@ G4bool G4PSDoseDeposit::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4double edep = aStep->GetTotalEnergyDeposit(); if ( edep == 0. ) return FALSE; - G4double volume = aStep->GetPreStepPoint()->GetPhysicalVolume() - ->GetLogicalVolume()->GetSolid()->GetCubicVolume(); + + G4VPhysicalVolume* physVol = aStep->GetPreStepPoint()->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid* solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); + } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + G4double density = aStep->GetTrack()->GetMaterial()->GetDensity(); - G4double dose = edep / ( density * volume ); + G4double dose = edep / ( density * (solid->GetCubicVolume()) ); dose *= aStep->GetPreStepPoint()->GetWeight(); G4int index = GetIndex(aStep); EvtMap->add(index,dose); diff --git a/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc b/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc index 3be7e4e0d6..d092c69679 100644 --- a/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc +++ b/source/digits_hits/scorer/src/G4PSFlatSurfaceCurrent.cc @@ -24,13 +24,16 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceCurrent.cc,v 1.2 2007/08/14 21:23:51 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceCurrent.cc,v 1.3 2008/12/29 00:17:14 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSFlatSurfaceCurrent #include "G4PSFlatSurfaceCurrent.hh" #include "G4StepStatus.hh" #include "G4Track.hh" +#include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" #include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// @@ -63,12 +66,25 @@ G4PSFlatSurfaceCurrent::~G4PSFlatSurfaceCurrent() G4bool G4PSFlatSurfaceCurrent::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4StepPoint* preStep = aStep->GetPreStepPoint(); - G4VSolid * solid = - preStep->GetPhysicalVolume()->GetLogicalVolume()->GetSolid(); - if( solid->GetEntityType() != "G4Box" ){ - G4Exception("G4PSFlatSurfaceCurrentScorer. - Solid type is not supported."); - return FALSE; + G4VPhysicalVolume* physVol = preStep->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid * solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + +// if( solid->GetEntityType() != "G4Box" ){ +// G4Exception("G4PSFlatSurfaceCurrentScorer. - Solid type is not supported."); +// return FALSE; +// } G4Box* boxSolid = (G4Box*)(solid); G4int dirFlag =IsSelectedSurface(aStep,boxSolid); diff --git a/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc b/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc index d23dc4c32d..7a9f5b2f8a 100644 --- a/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc +++ b/source/digits_hits/scorer/src/G4PSFlatSurfaceFlux.cc @@ -24,13 +24,16 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceFlux.cc,v 1.1 2007/07/11 01:31:02 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSFlatSurfaceFlux.cc,v 1.2 2008/12/29 00:17:14 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSFlatSurfaceFlux #include "G4PSFlatSurfaceFlux.hh" #include "G4StepStatus.hh" #include "G4Track.hh" +#include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" #include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// @@ -62,12 +65,25 @@ G4PSFlatSurfaceFlux::~G4PSFlatSurfaceFlux() G4bool G4PSFlatSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4StepPoint* preStep = aStep->GetPreStepPoint(); - G4VSolid * solid = - preStep->GetPhysicalVolume()->GetLogicalVolume()->GetSolid(); - if( solid->GetEntityType() != "G4Box" ){ - G4Exception("G4PSFlatSurfaceFluxScorer. - Solid type is not supported."); - return FALSE; + G4VPhysicalVolume* physVol = preStep->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid * solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + +// if( solid->GetEntityType() != "G4Box" ){ +// G4Exception("G4PSFlatSurfaceFluxScorer. - Solid type is not supported."); +// return FALSE; +// } G4Box* boxSolid = (G4Box*)(solid); G4int dirFlag =IsSelectedSurface(aStep,boxSolid); diff --git a/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc b/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc index 090a9835c8..470d6c86d7 100644 --- a/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc +++ b/source/digits_hits/scorer/src/G4PSPassageCellFlux.cc @@ -24,14 +24,16 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellFlux.cc,v 1.1 2007/07/11 01:31:03 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSPassageCellFlux.cc,v 1.2 2008/12/28 20:32:00 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSPassageCellFlux #include "G4PSPassageCellFlux.hh" #include "G4StepStatus.hh" #include "G4Track.hh" #include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" //////////////////////////////////////////////////////////////////////////////// // (Description) @@ -58,9 +60,22 @@ G4bool G4PSPassageCellFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) { if ( IsPassed(aStep) ) { - fCellFlux /= - aStep->GetPreStepPoint()->GetPhysicalVolume() - ->GetLogicalVolume()->GetSolid()->GetCubicVolume(); + G4VPhysicalVolume* physVol = aStep->GetPreStepPoint()->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid* solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); + } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + + fCellFlux /= solid->GetCubicVolume(); G4int index = GetIndex(aStep); EvtMap->add(index,fCellFlux); } diff --git a/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc b/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc index cf910ffb7e..d4e3a6f3c2 100644 --- a/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc +++ b/source/digits_hits/scorer/src/G4PSSphereSurfaceCurrent.cc @@ -24,13 +24,16 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceCurrent.cc,v 1.2 2007/08/14 21:23:52 taso Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSSphereSurfaceCurrent.cc,v 1.4 2009/11/14 00:01:13 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSSphereSurfaceCurrent #include "G4PSSphereSurfaceCurrent.hh" #include "G4StepStatus.hh" #include "G4Track.hh" +#include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" #include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// @@ -60,12 +63,25 @@ G4PSSphereSurfaceCurrent::~G4PSSphereSurfaceCurrent() G4bool G4PSSphereSurfaceCurrent::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4StepPoint* preStep = aStep->GetPreStepPoint(); - G4VSolid * solid = - preStep->GetPhysicalVolume()->GetLogicalVolume()->GetSolid(); - if( solid->GetEntityType() != "G4Sphere" ){ - G4Exception("G4PSSphereSurfaceCurrentScorer. - Solid type is not supported."); - return FALSE; + G4VPhysicalVolume* physVol = preStep->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid * solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + +// if( solid->GetEntityType() != "G4Sphere" ){ +// G4Exception("G4PSSphereSurfaceCurrentScorer. - Solid type is not supported."); +// return FALSE; +// } G4Sphere* sphereSolid = (G4Sphere*)(solid); G4int dirFlag =IsSelectedSurface(aStep,sphereSolid); @@ -104,9 +120,12 @@ G4int G4PSSphereSurfaceCurrent::IsSelectedSurface(G4Step* aStep, G4Sphere* spher G4double localR2 = localpos1.x()*localpos1.x() +localpos1.y()*localpos1.y() +localpos1.z()*localpos1.z(); - G4double InsideRadius2 = - sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); - if(std::fabs( localR2 - InsideRadius2 ) < kCarTolerance ){ + //G4double InsideRadius2 = + // sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); + //if(std::fabs( localR2 - InsideRadius2 ) < kCarTolerance ){ + G4double InsideRadius = sphereSolid->GetInsideRadius(); + if ( localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fCurrent_In; } } @@ -119,9 +138,12 @@ G4int G4PSSphereSurfaceCurrent::IsSelectedSurface(G4Step* aStep, G4Sphere* spher G4double localR2 = localpos2.x()*localpos2.x() +localpos2.y()*localpos2.y() +localpos2.z()*localpos2.z(); - G4double InsideRadius2 = - sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); - if(std::fabs( localR2 - InsideRadius2 ) < kCarTolerance ){ + //G4double InsideRadius2 = + // sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); + //if(std::fabs( localR2 - InsideRadius2 ) < kCarTolerance ){ + G4double InsideRadius = sphereSolid->GetInsideRadius(); + if ( localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fCurrent_Out; } } diff --git a/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc b/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc index 353bfe3061..fb9a5c11ea 100644 --- a/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc +++ b/source/digits_hits/scorer/src/G4PSSphereSurfaceFlux.cc @@ -24,13 +24,16 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceFlux.cc,v 1.1 2007/07/11 01:31:03 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PSSphereSurfaceFlux.cc,v 1.3 2009/11/14 00:01:13 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // G4PSSphereSurfaceFlux #include "G4PSSphereSurfaceFlux.hh" #include "G4StepStatus.hh" #include "G4Track.hh" +#include "G4VSolid.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VPVParameterisation.hh" #include "G4UnitsTable.hh" #include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// @@ -60,12 +63,25 @@ G4PSSphereSurfaceFlux::~G4PSSphereSurfaceFlux() G4bool G4PSSphereSurfaceFlux::ProcessHits(G4Step* aStep,G4TouchableHistory*) { G4StepPoint* preStep = aStep->GetPreStepPoint(); - G4VSolid * solid = - preStep->GetPhysicalVolume()->GetLogicalVolume()->GetSolid(); - if( solid->GetEntityType() != "G4Sphere" ){ - G4Exception("G4PSSphereSurfaceFluxScorer. - Solid type is not supported."); - return FALSE; + G4VPhysicalVolume* physVol = preStep->GetPhysicalVolume(); + G4VPVParameterisation* physParam = physVol->GetParameterisation(); + G4VSolid * solid = 0; + if(physParam) + { // for parameterized volume + G4int idx = ((G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable())) + ->GetReplicaNumber(indexDepth); + solid = physParam->ComputeSolid(idx, physVol); + solid->ComputeDimensions(physParam,idx,physVol); } + else + { // for ordinary volume + solid = physVol->GetLogicalVolume()->GetSolid(); + } + +// if( solid->GetEntityType() != "G4Sphere" ){ +// G4Exception("G4PSSphereSurfaceFluxScorer. - Solid type is not supported."); +// return FALSE; +// } G4Sphere* sphereSolid = (G4Sphere*)(solid); G4int dirFlag =IsSelectedSurface(aStep,sphereSolid); @@ -132,9 +148,12 @@ G4int G4PSSphereSurfaceFlux::IsSelectedSurface(G4Step* aStep, G4Sphere* sphereSo G4double localR2 = localpos1.x()*localpos1.x() +localpos1.y()*localpos1.y() +localpos1.z()*localpos1.z(); - G4double InsideRadius2 = - sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); - if(std::fabs( localR2 - InsideRadius2 ) < kCarTolerance ){ + //G4double InsideRadius2 = + // sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); + //if(std::fabs( localR2 - InsideRadius2 ) < kCarTolerance ){ + G4double InsideRadius = sphereSolid->GetInsideRadius(); + if ( localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fFlux_In; } } @@ -147,9 +166,12 @@ G4int G4PSSphereSurfaceFlux::IsSelectedSurface(G4Step* aStep, G4Sphere* sphereSo G4double localR2 = localpos2.x()*localpos2.x() +localpos2.y()*localpos2.y() +localpos2.z()*localpos2.z(); - G4double InsideRadius2 = - sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); - if(std::fabs( localR2 - InsideRadius2 ) < kCarTolerance ){ + //G4double InsideRadius2 = + // sphereSolid->GetInsideRadius()*sphereSolid->GetInsideRadius(); + //if(std::facb(localR2 - InsideRadius2) ) < kCarTolerance ){ + G4double InsideRadius = sphereSolid->GetInsideRadius(); + if ( localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance) + &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){ return fFlux_Out; } } diff --git a/source/digits_hits/utils/include/G4VScoringMesh.hh b/source/digits_hits/utils/include/G4VScoringMesh.hh index ee26b713a4..b1a3da21fe 100644 --- a/source/digits_hits/utils/include/G4VScoringMesh.hh +++ b/source/digits_hits/utils/include/G4VScoringMesh.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VScoringMesh.hh,v 1.27 2007/11/06 17:17:14 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VScoringMesh.hh,v 1.29 2009/10/12 04:11:25 akimura Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #ifndef G4VScoringMesh_h @@ -93,14 +93,23 @@ class G4VScoringMesh // set size of this mesh void SetSize(G4double size[3]); + // get size of this mesh + G4ThreeVector GetSize() const; // set position of center of this mesh void SetCenterPosition(G4double centerPosition[3]); + // get position of center of this mesh + G4ThreeVector GetTranslation() const {return fCenterPosition;} // set a rotation angle around the x axis void RotateX(G4double delta); // set a rotation angle around the y axis void RotateY(G4double delta); // set a rotation angle around the z axis void RotateZ(G4double delta); + // get a rotation matrix + G4RotationMatrix GetRotationMatrix() const { + if(fRotationMatrix) return *fRotationMatrix; + else return G4RotationMatrix::IDENTITY; + } // set number of segments of this mesh void SetNumberOfSegments(G4int nSegment[3]); // get number of segments of this mesh diff --git a/source/digits_hits/utils/src/G4ScoreLogColorMap.cc b/source/digits_hits/utils/src/G4ScoreLogColorMap.cc index bdd5f64c61..eb2e9b422c 100644 --- a/source/digits_hits/utils/src/G4ScoreLogColorMap.cc +++ b/source/digits_hits/utils/src/G4ScoreLogColorMap.cc @@ -24,12 +24,15 @@ // ******************************************************************** // // -// $Id: G4ScoreLogColorMap.cc,v 1.2 2008/03/25 04:06:08 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ScoreLogColorMap.cc,v 1.3 2009/05/04 15:57:33 akimura Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #include "G4ScoreLogColorMap.hh" #include +#include +#include +#include #include "G4VVisManager.hh" @@ -151,9 +154,13 @@ void G4ScoreLogColorMap::DrawColorChartText(G4int _nPoint) { fVisManager->Draw2D(line); } // text - char cstring[80]; - std::sprintf(cstring, "%8.1e", std::pow(10., v)); - G4String value(cstring); + //char cstring[80]; + //std::sprintf(cstring, "%8.1e", std::pow(10., v)); + //G4String value(cstring); + std::ostringstream oss; + oss << std::setw(8) << std::setprecision(1) << std::scientific << std::pow(10., v); + std::string str = oss.str(); + G4String value(str.c_str()); G4Text text(value, G4Point3D(-0.9, -0.9+0.05*n, 0)); G4double size = 12.; text.SetScreenSize(size); diff --git a/source/digits_hits/utils/src/G4VScoreColorMap.cc b/source/digits_hits/utils/src/G4VScoreColorMap.cc index d859b5f82b..75bd33f50d 100644 --- a/source/digits_hits/utils/src/G4VScoreColorMap.cc +++ b/source/digits_hits/utils/src/G4VScoreColorMap.cc @@ -24,11 +24,14 @@ // ******************************************************************** // // -// $Id: G4VScoreColorMap.cc,v 1.3 2008/02/14 10:45:12 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VScoreColorMap.cc,v 1.4 2009/05/04 15:57:33 akimura Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #include "G4VScoreColorMap.hh" +#include +#include +#include #include "G4VVisManager.hh" #include "G4VisAttributes.hh" @@ -93,9 +96,14 @@ void G4VScoreColorMap::DrawColorChartText(G4int _nPoint) { fVisManager->Draw2D(line); } // text - char cstring[80]; - std::sprintf(cstring, "%8.2e", v); - G4String value(cstring); + //char cstring[80]; + //std::sprintf(cstring, "%8.2e", v); + //G4String value(cstring); + std::ostringstream oss; + oss << std::setw(8) << std::setprecision(1) << std::scientific << v; + std::string str = oss.str(); + G4String value(str.c_str()); + G4Text text(value, G4Point3D(-0.9, -0.9+0.05*n, 0)); G4double size = 12.; text.SetScreenSize(size); diff --git a/source/digits_hits/utils/src/G4VScoringMesh.cc b/source/digits_hits/utils/src/G4VScoringMesh.cc index 347fa4da71..622c259826 100644 --- a/source/digits_hits/utils/src/G4VScoringMesh.cc +++ b/source/digits_hits/utils/src/G4VScoringMesh.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VScoringMesh.cc,v 1.35 2008/03/23 14:32:13 akimura Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VScoringMesh.cc,v 1.37 2009/10/12 04:11:25 akimura Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #include "G4VScoringMesh.hh" @@ -63,6 +63,12 @@ void G4VScoringMesh::SetSize(G4double size[3]) { for(int i = 0; i < 3; i++) fSize[i] = size[i]; sizeIsSet = true; } +G4ThreeVector G4VScoringMesh::GetSize() const { + if(sizeIsSet) + return G4ThreeVector(fSize[0], fSize[1], fSize[2]); + else + return G4ThreeVector(0., 0., 0.); +} void G4VScoringMesh::SetCenterPosition(G4double centerPosition[3]) { fCenterPosition = G4ThreeVector(centerPosition[0], centerPosition[1], centerPosition[2]); } diff --git a/source/error_propagation/History b/source/error_propagation/History index 3b75268bc0..d971aced3d 100644 --- a/source/error_propagation/History +++ b/source/error_propagation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.13 2007/11/14 17:03:06 gcosmo Exp $ +$Id: History,v 1.15 2009/11/11 17:12:10 arce Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,12 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11 November 2009 - P.Arce (error_propagation-V09-02-02) +- Avoid G4ThreeVector(double) constructor in G4ErrorMagFieldLimitProcess.cc + +14 May 2008 - P.Arce (error_propagation-V09-02-01) +- Inclusion of pion+/- and proton in physics list +- Possibility to account for error deflation (needed to make 'smoothing') 14 November 2007 - G.Cosmo (error_propagation-V09-00-02) - G4ErrorPropagator: removed call to exit() and some cleanup. diff --git a/source/error_propagation/src/G4ErrorFreeTrajState.cc b/source/error_propagation/src/G4ErrorFreeTrajState.cc index 61c276530c..c1e5d18ca0 100644 --- a/source/error_propagation/src/G4ErrorFreeTrajState.cc +++ b/source/error_propagation/src/G4ErrorFreeTrajState.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ErrorFreeTrajState.cc,v 1.7 2007/09/24 16:25:57 arce Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ErrorFreeTrajState.cc,v 1.8 2009/05/14 13:53:06 arce Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file @@ -202,6 +202,8 @@ std::ostream& operator<<(std::ostream& out, const G4ErrorFreeTrajState& ts) G4int G4ErrorFreeTrajState::PropagateError( const G4Track* aTrack ) { G4double stepLengthCm = aTrack->GetStep()->GetStepLength()/cm; + if( G4ErrorPropagatorData::GetErrorPropagatorData()->GetStage() == G4ErrorStage_Deflation ) stepLengthCm *= -1.; + G4double kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); if( std::fabs(stepLengthCm) <= kCarTolerance/cm ) return 0; diff --git a/source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc b/source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc index f563758978..436fb6955a 100644 --- a/source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc +++ b/source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ErrorMagFieldLimitProcess.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ErrorMagFieldLimitProcess.cc,v 1.3 2009/11/11 17:10:33 arce Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file @@ -77,7 +77,7 @@ PostStepGetPhysicalInteractionLength( const G4Track& aTrack, G4double , G4ThreeVector BVec(h1[0],h1[1],h1[2]); G4double pmag = aTrack.GetMomentum().mag(); - G4double BPerpMom = BVec.cross( pmag ).mag() / pmag; + G4double BPerpMom = BVec.cross( G4ThreeVector(pmag,0.,0.) ).mag() / pmag; theStepLength = theStepLimit * pmag / BPerpMom; #ifdef G4VERBOSE diff --git a/source/error_propagation/src/G4ErrorPhysicsList.cc b/source/error_propagation/src/G4ErrorPhysicsList.cc index 92c293a846..a8f3a1f19f 100644 --- a/source/error_propagation/src/G4ErrorPhysicsList.cc +++ b/source/error_propagation/src/G4ErrorPhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ErrorPhysicsList.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ErrorPhysicsList.cc,v 1.3 2009/05/14 13:54:34 arce Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file @@ -95,6 +95,13 @@ void G4ErrorPhysicsList::ConstructParticle() G4MuonPlus::MuonPlusDefinition(); G4MuonMinus::MuonMinusDefinition(); + // pi+/- + G4PionPlus::PionPlusDefinition(); + G4PionMinus::PionMinusDefinition(); + + // proton + G4Proton::ProtonDefinition(); + } diff --git a/source/event/History b/source/event/History index 1c736b4057..1648f49a8f 100644 --- a/source/event/History +++ b/source/event/History @@ -1,4 +1,4 @@ -$Id: History,v 1.120 2008/09/02 09:56:49 gcosmo Exp $ +$Id: History,v 1.127 2009/11/18 17:57:59 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,38 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Movember 18th, 2009, G.Cosmo (event-V09-02-05) +- Fixes to "Adjoint" classes to allow build of DLLs on Windows: renamed all + methods and data holding "External" as keyword to "Ext". + Cleanup of the code: use "const G4String&" instead of "G4String" wherever + possible; use G4 types in consistent way; avoid usage of "isNan"; code + formatting cleanup; added Geant4 disclaimer. + +November 6, 2009, L.Desorgher (event-V09-02-04) +- First commit of G4Adjoint calsses for event category + New classes are G4AdjointPosOnPhysVolGenerator,G4AdjointPrimaryGenerator, G4AdjointStackingAction + +September 16, 2009, M.Asai (event-V09-02-03) +- Improved the logic in G4SmartTrackStack. +- Added /event/stack/verbose to have a short report of peak number of tracks in + the urgent stack. + +August 17, 2009, M.Asai (event-V09-02-02) +- Introducing G4SmartTrackStack class. By using this new stack as the urgent stack of + G4StackManager, the next track poped up from the stack is not necessarily the last + track stored in the stack, but the track of same particle type as the previous one, + as long as such a track exists in the urgent stack. This mechanism is expected to + improve the performance for ultra-large scale simulation such as LHC, by increasing + the cashe hit rate of the physics tables. +- The use of G4SmartTrackStack is optional. To use it, uncomment the "#define" line + in include/evmandefs.hh. + +June 29, 2009, M.Asai (event-V09-02-01) +- Fix warning message in G4SPSEneDistribution.cc. + +February 17, 2009, F. Lei (event-V09-02-00) +- Minor chnages to G4GeneralParticleSourceMessenger.cc. It now uses the full ranges of units pre-defined in G4 for length, energy and angle. + September 02, 2008, G.Cosmo (event-V09-01-01) - Removed some redundant semicolons in G4SPSAngDistribution header... diff --git a/source/event/include/G4AdjointPosOnPhysVolGenerator.hh b/source/event/include/G4AdjointPosOnPhysVolGenerator.hh new file mode 100644 index 0000000000..eefd7085cc --- /dev/null +++ b/source/event/include/G4AdjointPosOnPhysVolGenerator.hh @@ -0,0 +1,127 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4AdjointPosOnPhysVolGenerator.hh,v 1.2 2009/11/18 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +///////////////////////////////////////////////////////////////////////////////// +// Class Name: G4AdjointPosOnPhysVolGenerator +// Author: L. Desorgher +// Organisation: SpaceIT GmbH +// Contract: ESA contract 21435/08/NL/AT +// Customer: ESA/ESTEC +///////////////////////////////////////////////////////////////////////////////// +// +// CHANGE HISTORY +// -------------- +// ChangeHistory: +// 1st June 2006 creation by L. Desorgher +// +//------------------------------------------------------------- +// Documentation: +// This class is responsible for the generation of primary adjoint particle on the external surface of a user selected volume. +// The particle are generated uniformly on the surface with the angular distribution set to a cosine law relative to normal of the surface. +// It is equivalent to the flux going in from the surface if an isotropic flux is considered outside. +// It uses ray tracking technique and can be applied to all kind of convex volume. Uisng the ray tracking technique the area +// of the external surface is also computed. The area is needed to fix the weight of the primary adjoint particle. +// At the time of the development of this class, generation of particle on volume surface and computation of surface was limited in G4, +// therfore the general ray tracking technique was adopted. It could be now (2009) that direct method of G4VSolid could be used instead. To be checked! +// +// +// +#ifndef G4AdjointPosOnPhysVolGenerator_h +#define G4AdjointPosOnPhysVolGenerator_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4AffineTransform.hh" +#include "G4ThreeVector.hh" + +class G4VSolid; + +class G4AdjointPosOnPhysVolGenerator +/////////////////////// +{ + +//-------- + public: //without description +//-------- + + static G4AdjointPosOnPhysVolGenerator* GetInstance(); + +//-------- + public: //public methods +//-------- + G4VPhysicalVolume* DefinePhysicalVolume(const G4String& aName); + void DefinePhysicalVolume1(const G4String& aName); + G4double ComputeAreaOfExtSurface(); + G4double ComputeAreaOfExtSurface(G4int NStat); + G4double ComputeAreaOfExtSurface(G4double epsilon); + G4double ComputeAreaOfExtSurface(G4VSolid* aSolid); + G4double ComputeAreaOfExtSurface(G4VSolid* aSolid,G4int NStat); + G4double ComputeAreaOfExtSurface(G4VSolid* aSolid,G4double epsilon); + + void GenerateAPositionOnTheExtSurfaceOfASolid(G4VSolid* aSolid,G4ThreeVector& p, G4ThreeVector& direction); + void GenerateAPositionOnTheExtSurfaceOfTheSolid(G4ThreeVector& p, G4ThreeVector& direction); + void GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(G4ThreeVector& p, G4ThreeVector& direction); + void GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(G4ThreeVector& p, G4ThreeVector& direction, + G4double& costh_to_normal); + + //inline public methods + + inline void SetSolid(G4VSolid* aSolid){theSolid=aSolid;} + inline G4double GetAreaOfExtSurfaceOfThePhysicalVolume(){return AreaOfExtSurfaceOfThePhysicalVolume;} + inline G4double GetCosThDirComparedToNormal(){return CosThDirComparedToNormal;} + +//--------- + private: //private methods +//--------- + G4AdjointPosOnPhysVolGenerator(); + ~G4AdjointPosOnPhysVolGenerator(); + G4double ComputeAreaOfExtSurfaceStartingFromSphere(G4VSolid* aSolid,G4int NStat); + G4double ComputeAreaOfExtSurfaceStartingFromBox(G4VSolid* aSolid,G4int NStat); + void GenerateAPositionOnASolidBoundary(G4VSolid* aSolid,G4ThreeVector& p, G4ThreeVector& direction); + G4double GenerateAPositionOnASphereBoundary(G4VSolid* aSolid,G4ThreeVector& p, G4ThreeVector& direction); + G4double GenerateAPositionOnABoxBoundary(G4VSolid* aSolid,G4ThreeVector& p, G4ThreeVector& direction); + void ComputeTransformationFromPhysVolToWorld(); + +//--------- + private: //attributes +//--------- + static G4AdjointPosOnPhysVolGenerator* theInstance; + G4VSolid* theSolid; + G4VPhysicalVolume* thePhysicalVolume; + G4int NStat; + G4double epsilon; + G4bool UseSphere; + G4String ModelOfSurfaceSource; + G4double ExtSourceRadius; + G4double ExtSourceDx,ExtSourceDy,ExtSourceDz ; + G4AffineTransform theTransformationFromPhysVolToWorld; + G4double AreaOfExtSurfaceOfThePhysicalVolume; + G4double CosThDirComparedToNormal; +}; + +#endif + diff --git a/source/event/include/G4AdjointPrimaryGenerator.hh b/source/event/include/G4AdjointPrimaryGenerator.hh new file mode 100644 index 0000000000..5a48300c64 --- /dev/null +++ b/source/event/include/G4AdjointPrimaryGenerator.hh @@ -0,0 +1,92 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4AdjointPrimaryGenerator.hh,v 1.2 2009/11/18 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +///////////////////////////////////////////////////////////////////////////////// +// Module: G4AdjointPrimaryGenerator +// Author: L. Desorgher +// Organisation: SpaceIT GmbH +// Contract: ESA contract 21435/08/NL/AT +// Customer: ESA/ESTEC +///////////////////////////////////////////////////////////////////////////////// +// +// CHANGE HISTORY +// -------------- +// ChangeHistory: +// November 2009 creation by L. Desorgher, Splitting of G4AdjointPrimaryGeneratorAction in two classes G4AdjointPrimaryGeneratorAction and G4AdjointPrimaryGenerator +// +//------------------------------------------------------------- +// Documentation: +// This class represents the Primary Generator that generate vertex (energy,position and direction) of primary adjoint particles. +// It is used by G4AdjointPrimaryGeneratorAction. If the adjoint source is selected by the user as being on the external boundary of a volume +// it uses the class G4AdjointPosOnPhysVolGenerator to generate the vertex positions and directions. Otherwise G4SingleParticleSource is used. +// +// +// +#ifndef G4AdjointPrimaryGenerator_h +#define G4AdjointPrimaryGenerator_h 1 +#include "globals.hh" +#include"G4ThreeVector.hh" +#include +#include +#include + +class G4AdjointPosOnPhysVolGenerator; +class G4Event; +class G4SingleParticleSource; +class G4ParticleDefinition; +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +class G4AdjointPrimaryGenerator +{ + public: //constructor, destructor + + G4AdjointPrimaryGenerator(); + ~G4AdjointPrimaryGenerator(); + + public: //public methods + + void GenerateAdjointPrimaryVertex(G4Event* anEvt,G4ParticleDefinition* adj_part,G4double E1,G4double E2); + void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos); + void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String& volume_name); + + private: //attributes + + //The class responsible for the random generation of positions and direction of primaries for adjoint source set on the external surface of + //a G4 volume + G4AdjointPosOnPhysVolGenerator* theG4AdjointPosOnPhysVolGenerator; + + G4SingleParticleSource* theSingleParticleSource; + + //Type of adjoint source + //-------------------- + G4String type_of_adjoint_source; //Spherical ExtSurfaceOfAVolume + G4double radius_spherical_source; + G4ThreeVector center_spherical_source; +}; +#endif + diff --git a/source/event/include/G4AdjointStackingAction.hh b/source/event/include/G4AdjointStackingAction.hh new file mode 100644 index 0000000000..ba6642c3c0 --- /dev/null +++ b/source/event/include/G4AdjointStackingAction.hh @@ -0,0 +1,89 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4AdjointStackingAction.hh,v 1.2 2009/11/18 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +///////////////////////////////////////////////////////////////////////////////// +// Class Name: G4AdjointStackingAction +// Author: L. Desorgher +// Organisation: SpaceIT GmbH +// Contract: ESA contract 21435/08/NL/AT +// Customer: ESA/ESTEC +///////////////////////////////////////////////////////////////////////////////// +// +// CHANGE HISTORY +// -------------- +// ChangeHistory: +// -April 2008 First implementation by L. Desorgher +// -4-11-2009 Adding the possibility to use user adjoint stacking action, L. Desorgher +// +// +//------------------------------------------------------------- +// Documentation: +// Stacking action used in the adjoint simulation. It is responsible to kill a primary forward particle before it is traked in the forwrad phase +// if the last adjoint particle did not reach the adjoint surface. Was needed for the new design where the G4AdjointSimManager is no more an extension +// of the G4RunManager. If the primary particles is not killed before being tracked in the sensitive geometry, the User Stacking action +// can be used duiring the forward phase if specified by the method G4AdjointSimManager::UseUserStackingAction(Bool). +// +// +// +// +// +// +// +#ifndef G4AdjointStackingAction_h +#define G4AdjointStackingAction_h 1 + +#include "globals.hh" +#include "G4UserStackingAction.hh" + +class G4Track; +class G4ParticleDefinition; + +class G4AdjointStackingAction : public G4UserStackingAction +{ + public: + G4AdjointStackingAction(); + virtual ~G4AdjointStackingAction(); + + public: + virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack); + virtual void NewStage(); + virtual void PrepareNewEvent(); + inline void SetUserFwdStackingAction(G4UserStackingAction* anAction){theFwdStackingAction = anAction;} + inline void SetUserAdjointStackingAction(G4UserStackingAction* anAction){theUserAdjointStackingAction = anAction;} + + inline void SetKillTracks(G4bool aBool){kill_tracks =aBool;} + inline void SetAdjointMode(G4bool aBool){adjoint_mode=aBool;} + + private: + G4UserStackingAction* theFwdStackingAction; + G4UserStackingAction* theUserAdjointStackingAction; + G4bool kill_tracks, adjoint_mode; +}; + +#endif + diff --git a/examples/advanced/cosmicray_charging/include/LISASteppingAction.hh b/source/event/include/G4SmartTrackStack.hh similarity index 52% rename from examples/advanced/cosmicray_charging/include/LISASteppingAction.hh rename to source/event/include/G4SmartTrackStack.hh index b482c008f0..65278fe908 100644 --- a/examples/advanced/cosmicray_charging/include/LISASteppingAction.hh +++ b/source/event/include/G4SmartTrackStack.hh @@ -23,54 +23,73 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// ******************************************************************** -// * * -// * cosmicray_charging advanced example for Geant4 * -// * (adapted simulation of test-mass charging in the LISA mission) * -// * * -// * Henrique Araujo (h.araujo@imperial.ac.uk) & Peter Wass * -// * Imperial College London * -// * * -// ******************************************************************** +// +// $Id: G4SmartTrackStack.hh,v 1.3 2009/09/16 23:10:46 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// +// Last Modification : 09/Dec/96 M.Asai +// -#ifndef LISASteppingAction_h -#define LISASteppingAction_h 1 -#include "G4UserSteppingAction.hh" +#ifndef G4SmartTrackStack_h +#define G4SmartTrackStack_h 1 + +#include "G4StackedTrack.hh" +#include "G4TrackStack.hh" #include "globals.hh" -class LISAEventAction; -class LISASteppingActionMessenger; - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class LISASteppingAction : public G4UserSteppingAction { +// class description: +// +// This is a stack class used by G4StackManager. This class object +// stores G4StackedTrack class objects in the form of bi-directional +// linked list. +class G4SmartTrackStack +{ public: - LISASteppingAction(); - virtual ~LISASteppingAction(); - - virtual void UserSteppingAction(const G4Step*); - - public: - inline void Discharge(void) {charge_in[0]=0; charge_out[0]=0; - charge_in[1]=0; charge_out[1]=0;}; - - inline G4int GetChargeIn(const G4int tm) {return charge_in[tm];} - inline G4int GetChargeOut(const G4int tm) {return charge_out[tm];} - - - inline void SetFlagSpectrum(const G4bool val) {FlagSpectrum = val;} + G4SmartTrackStack(); + ~G4SmartTrackStack(); private: - G4int charge_in[2]; - G4int charge_out[2]; + const G4SmartTrackStack & operator= + (const G4SmartTrackStack &right); + G4int operator==(const G4SmartTrackStack &right) const; + G4int operator!=(const G4SmartTrackStack &right) const; - LISASteppingActionMessenger* steppingMessenger; - G4bool FlagSpectrum; + public: + void PushToStack(G4StackedTrack * aStackedTrack); + G4StackedTrack * PopFromStack(); + void clear(); + void TransferTo(G4TrackStack * aStack); + private: + G4int fTurn; + G4int nTurn; // should be 5 + G4TrackStack* stacks[5]; + // = 0 : all primaries and secondaries except followings + // = 1 : secondary neutrons + // = 2 : secondary electrons + // = 3 : secondary gammas + // = 4 : secondary positrons + G4int nStick; + G4int safetyValve1; + G4int safetyValve2; + G4int maxNTracks; + public: + inline G4int GetNTrack() const + { return n_stackedTrack(); } + inline G4int GetMaxNTrack() const + { return maxNTracks; } + private: + inline G4int n_stackedTrack() const + { + return stacks[0]->GetNTrack()+stacks[1]->GetNTrack() + +stacks[2]->GetNTrack()+stacks[3]->GetNTrack()+stacks[4]->GetNTrack(); + } }; #endif + diff --git a/source/event/include/G4StackManager.hh b/source/event/include/G4StackManager.hh index 628859152e..2d683f1774 100644 --- a/source/event/include/G4StackManager.hh +++ b/source/event/include/G4StackManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StackManager.hh,v 1.12 2006/06/29 18:09:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4StackManager.hh,v 1.13 2009/08/15 15:45:50 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // @@ -36,10 +36,12 @@ #include "G4UserStackingAction.hh" #include "G4StackedTrack.hh" #include "G4TrackStack.hh" +#include "G4SmartTrackStack.hh" #include "G4ClassificationOfNewTrack.hh" #include "G4Track.hh" #include "G4TrackStatus.hh" #include "globals.hh" +#include "evmandefs.hh" class G4StackingMessenger; class G4VTrajectory; @@ -108,7 +110,11 @@ class G4StackManager private: G4UserStackingAction * userStackingAction; G4int verboseLevel; +#ifdef G4_USESMARTSTACK + G4SmartTrackStack * urgentStack; +#else G4TrackStack * urgentStack; +#endif G4TrackStack * waitingStack; G4TrackStack * postponeStack; G4StackingMessenger* theMessenger; diff --git a/source/event/include/G4StackingMessenger.hh b/source/event/include/G4StackingMessenger.hh index 6324dc788d..93d7141c86 100644 --- a/source/event/include/G4StackingMessenger.hh +++ b/source/event/include/G4StackingMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StackingMessenger.hh,v 1.5 2006/06/29 18:09:11 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4StackingMessenger.hh,v 1.6 2009/09/16 23:10:46 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #ifndef G4StackingMessenger_h @@ -44,6 +44,7 @@ class G4UIcmdWithAnInteger; // /event/stack/ // /event/stack/status // /event/stack/clear +// /event/stack/verbose class G4StackingMessenger: public G4UImessenger { @@ -56,6 +57,7 @@ class G4StackingMessenger: public G4UImessenger G4UIdirectory* stackDir; G4UIcmdWithoutParameter* statusCmd; G4UIcmdWithAnInteger* clearCmd; + G4UIcmdWithAnInteger* verboseCmd; }; #endif diff --git a/source/event/include/G4TrackStack.hh b/source/event/include/G4TrackStack.hh index fc83e99b0b..16bdb7af37 100644 --- a/source/event/include/G4TrackStack.hh +++ b/source/event/include/G4TrackStack.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrackStack.hh,v 1.6 2006/06/29 18:09:13 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrackStack.hh,v 1.8 2009/09/10 21:31:41 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // Last Modification : 09/Dec/96 M.Asai @@ -38,6 +38,8 @@ #include "G4StackedTrack.hh" #include "globals.hh" +class G4SmartTrackStack; + // class description: // // This is a stack class used by G4StackManager. This class object @@ -62,15 +64,20 @@ class G4TrackStack void GrabFromStack(G4StackedTrack * aStackedTrack); void clear(); void TransferTo(G4TrackStack * aStack); + void TransferTo(G4SmartTrackStack * aStack); private: G4int n_stackedTrack; G4StackedTrack * firstStackedTrack; G4StackedTrack * lastStackedTrack; + G4int maxNTracks; public: inline G4int GetNTrack() const { return n_stackedTrack; } + inline G4int GetMaxNTrack() const + { return maxNTracks; } + }; #endif diff --git a/source/event/include/evmandefs.hh b/source/event/include/evmandefs.hh index ec42de97e0..ccac5ebf4e 100644 --- a/source/event/include/evmandefs.hh +++ b/source/event/include/evmandefs.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: evmandefs.hh,v 1.4 2006/06/29 18:09:27 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: evmandefs.hh,v 1.7 2009/09/16 23:10:46 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // ///#define G4EVENTMANAGER_DEBUG 1 @@ -36,3 +36,8 @@ #include "trajectoryControl.hh" +//================ G4SmartStack =================== +// +//#define G4_USESMARTSTACK 1 +// + diff --git a/source/event/src/G4AdjointPosOnPhysVolGenerator.cc b/source/event/src/G4AdjointPosOnPhysVolGenerator.cc new file mode 100644 index 0000000000..ae7a2393aa --- /dev/null +++ b/source/event/src/G4AdjointPosOnPhysVolGenerator.cc @@ -0,0 +1,423 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4AdjointPosOnPhysVolGenerator.cc,v 1.2 2009/11/18 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +///////////////////////////////////////////////////////////////////////////// +// Class Name: G4AdjointCrossSurfChecker +// Author: L. Desorgher +// Organisation: SpaceIT GmbH +// Contract: ESA contract 21435/08/NL/AT +// Customer: ESA/ESTEC +///////////////////////////////////////////////////////////////////////////// + +#include "G4AdjointPosOnPhysVolGenerator.hh" +#include "G4VSolid.hh" +#include "G4VoxelLimits.hh" +#include "G4AffineTransform.hh" +#include "Randomize.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" + +G4AdjointPosOnPhysVolGenerator* G4AdjointPosOnPhysVolGenerator::theInstance = 0; + +//////////////////////////////////////////////////// +// +G4AdjointPosOnPhysVolGenerator* G4AdjointPosOnPhysVolGenerator::GetInstance() +{ + if(theInstance == 0) { + static G4AdjointPosOnPhysVolGenerator manager; + theInstance = &manager; + } + return theInstance; +} + +//////////////////////////////////////////////////// +// +G4AdjointPosOnPhysVolGenerator::~G4AdjointPosOnPhysVolGenerator() +{ +} + +//////////////////////////////////////////////////// +// +G4AdjointPosOnPhysVolGenerator::G4AdjointPosOnPhysVolGenerator() +{ + theSolid=0; + NStat =1000000; + epsilon=0.001; + ModelOfSurfaceSource = "OnSolid"; //OnSolid, ExternalSphere, ExternalBox + thePhysicalVolume = 0; + theTransformationFromPhysVolToWorld = G4AffineTransform(); + UseSphere =true; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// +G4VPhysicalVolume* G4AdjointPosOnPhysVolGenerator::DefinePhysicalVolume(const G4String& aName) +{ + thePhysicalVolume = 0; + theSolid =0; + G4PhysicalVolumeStore* thePhysVolStore =G4PhysicalVolumeStore::GetInstance(); + for ( unsigned int i=0; i< thePhysVolStore->size();i++){ + G4String vol_name =(*thePhysVolStore)[i]->GetName(); + if (vol_name == ""){ + vol_name = (*thePhysVolStore)[i]->GetLogicalVolume()->GetName(); + } + if (vol_name == aName){ + thePhysicalVolume = (*thePhysVolStore)[i]; + } + } + if (thePhysicalVolume){ + theSolid = thePhysicalVolume->GetLogicalVolume()->GetSolid(); + ComputeTransformationFromPhysVolToWorld(); + /*AreaOfExtSurfaceOfThePhysicalVolume=ComputeAreaOfExtSurface(1.e-3); + G4cout<<"Monte Carlo Estimate of the area of the external surface :"<DistanceToIn(p,direction); + if (dist_to_inDistanceToIn(p,direction); + if (dist_to_inDistanceToIn(p,direction); + if (dist_to_inSurfaceNormal(p1); + p+= 0.999999*direction*dist_to_in; + CosThDirComparedToNormal=direction.dot(-norm); + //std::cout<CalculateExtent(kXAxis,limit,origin,minX,maxX); + yesno = aSolid->CalculateExtent(kYAxis,limit,origin,minY,maxY); + yesno = aSolid->CalculateExtent(kZAxis,limit,origin,minZ,maxZ); + + G4ThreeVector center = G4ThreeVector((minX+maxX)/2.,(minY+maxY)/2.,(minZ+maxZ)/2.); + + G4double dX=(maxX-minX)/2.; + G4double dY=(maxY-minY)/2.; + G4double dZ=(maxZ-minZ)/2.; + G4double scale=1.01; + G4double r=scale*std::sqrt(dX*dX+dY*dY+dZ*dZ); + + G4double cos_th2 = G4UniformRand(); + G4double theta = std::acos(std::sqrt(cos_th2)); + G4double phi=G4UniformRand()*3.1415926*2; + direction.setRThetaPhi(1.,theta,phi); + direction=-direction; + G4double cos_th = (1.-2.*G4UniformRand()); + theta = std::acos(cos_th); + if (G4UniformRand() <0.5) theta=3.1415926-theta; + phi=G4UniformRand()*3.1415926*2; + p.setRThetaPhi(r,theta,phi); + p+=center; + direction.rotateY(theta); + direction.rotateZ(phi); + return 4.*3.1415926*r*r;; +} +///////////////////////////////////////////////////////////////////////////////////////// +// +G4double G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnABoxBoundary(G4VSolid* aSolid,G4ThreeVector& p, G4ThreeVector& direction) +{ + + G4double ran_var,px,py,pz,minX,maxX,minY,maxY,minZ,maxZ; + G4bool yesno; + + // values needed for CalculateExtent signature + + G4VoxelLimits limit; // Unlimited + G4AffineTransform origin; + + // min max extents of pSolid along X,Y,Z + + yesno = aSolid->CalculateExtent(kXAxis,limit,origin,minX,maxX); + yesno = aSolid->CalculateExtent(kYAxis,limit,origin,minY,maxY); + yesno = aSolid->CalculateExtent(kZAxis,limit,origin,minZ,maxZ); + + G4double scale=.1; + minX-=scale*std::abs(minX); + minY-=scale*std::abs(minY); + minZ-=scale*std::abs(minZ); + maxX+=scale*std::abs(maxX); + maxY+=scale*std::abs(maxY); + maxZ+=scale*std::abs(maxZ); + + G4double dX=(maxX-minX); + G4double dY=(maxY-minY); + G4double dZ=(maxZ-minZ); + + G4double XY_prob=2.*dX*dY; + G4double YZ_prob=2.*dY*dZ; + G4double ZX_prob=2.*dZ*dX; + G4double area=XY_prob+YZ_prob+ZX_prob; + XY_prob/=area; + YZ_prob/=area; + ZX_prob/=area; + + ran_var=G4UniformRand(); + G4double cos_th2 = G4UniformRand(); + G4double sth = std::sqrt(1.-cos_th2); + G4double cth = std::sqrt(cos_th2); + G4double phi=G4UniformRand()*3.1415926*2; + G4double dirX = sth*std::cos(phi); + G4double dirY = sth*std::sin(phi); + G4double dirZ = cth; + if (ran_var <=XY_prob){ //on the XY faces + G4double ran_var1=ran_var/XY_prob; + G4double ranX=ran_var1; + if (ran_var1<=0.5){ + pz=minZ; + direction=G4ThreeVector(dirX,dirY,dirZ); + ranX=ran_var1*2.; + } + else{ + pz=maxZ; + direction=-G4ThreeVector(dirX,dirY,dirZ); + ranX=(ran_var1-0.5)*2.; + } + G4double ranY=G4UniformRand(); + px=minX+(maxX-minX)*ranX; + py=minY+(maxY-minY)*ranY; + } + else if (ran_var <=(XY_prob+YZ_prob)){ //on the YZ faces + G4double ran_var1=(ran_var-XY_prob)/YZ_prob; + G4double ranY=ran_var1; + if (ran_var1<=0.5){ + px=minX; + direction=G4ThreeVector(dirZ,dirX,dirY); + ranY=ran_var1*2.; + } + else{ + px=maxX; + direction=-G4ThreeVector(dirZ,dirX,dirY); + ranY=(ran_var1-0.5)*2.; + } + G4double ranZ=G4UniformRand(); + py=minY+(maxY-minY)*ranY; + pz=minZ+(maxZ-minZ)*ranZ; + + } + else{ //on the ZX faces + G4double ran_var1=(ran_var-XY_prob-YZ_prob)/ZX_prob; + G4double ranZ=ran_var1; + if (ran_var1<=0.5){ + py=minY; + direction=G4ThreeVector(dirY,dirZ,dirX); + ranZ=ran_var1*2.; + } + else{ + py=maxY; + direction=-G4ThreeVector(dirY,dirZ,dirX); + ranZ=(ran_var1-0.5)*2.; + } + G4double ranX=G4UniformRand(); + px=minX+(maxX-minX)*ranX; + pz=minZ+(maxZ-minZ)*ranZ; + } + + p=G4ThreeVector(px,py,pz); + return area; +} +///////////////////////////////////////////////////////////////////////////////////////// +// +void G4AdjointPosOnPhysVolGenerator::GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(G4ThreeVector& p, G4ThreeVector& direction) +{ + if (!thePhysicalVolume) { + G4cout<<"Before generating a source on an external surface of volume you should select a physical volume"<GetMotherLogical(); + theTransformationFromPhysVolToWorld = G4AffineTransform(); + G4PhysicalVolumeStore* thePhysVolStore =G4PhysicalVolumeStore::GetInstance(); + while (mother){ + theTransformationFromPhysVolToWorld *= + G4AffineTransform(daughter->GetFrameRotation(),daughter->GetObjectTranslation()); + for ( unsigned int i=0; i< thePhysVolStore->size();i++){ + if ((*thePhysVolStore)[i]->GetLogicalVolume() == mother){ + daughter = (*thePhysVolStore)[i]; + mother =daughter->GetMotherLogical(); + break; + }; + } + } +} + diff --git a/source/event/src/G4AdjointPrimaryGenerator.cc b/source/event/src/G4AdjointPrimaryGenerator.cc new file mode 100644 index 0000000000..78491dbdef --- /dev/null +++ b/source/event/src/G4AdjointPrimaryGenerator.cc @@ -0,0 +1,109 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4AdjointPrimaryGenerator.cc,v 1.2 2009/11/18 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +///////////////////////////////////////////////////////////////////////////// +// Class Name: G4AdjointCrossSurfChecker +// Author: L. Desorgher +// Organisation: SpaceIT GmbH +// Contract: ESA contract 21435/08/NL/AT +// Customer: ESA/ESTEC +///////////////////////////////////////////////////////////////////////////// + +#include "G4AdjointPrimaryGenerator.hh" +#include "G4Event.hh" +#include "G4SingleParticleSource.hh" +#include "G4ParticleDefinition.hh" +#include "G4AdjointPosOnPhysVolGenerator.hh" + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +G4AdjointPrimaryGenerator::G4AdjointPrimaryGenerator() +{ + theSingleParticleSource = new G4SingleParticleSource(); + + theSingleParticleSource->GetEneDist()->SetEnergyDisType("Pow"); + theSingleParticleSource->GetEneDist()->SetAlpha(-1.); + theSingleParticleSource->GetPosDist()->SetPosDisType("Point"); + theSingleParticleSource->GetAngDist()->SetAngDistType("planar"); + + theG4AdjointPosOnPhysVolGenerator = G4AdjointPosOnPhysVolGenerator::GetInstance(); +} +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +G4AdjointPrimaryGenerator::~G4AdjointPrimaryGenerator() +{ + delete theSingleParticleSource; +} +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +void G4AdjointPrimaryGenerator::GenerateAdjointPrimaryVertex(G4Event* anEvent,G4ParticleDefinition* adj_part,G4double E1,G4double E2) +{ + if (type_of_adjoint_source == "ExternalSurfaceOfAVolume") { + + //Generate position and direction relative to the external surface of sensitive volume + //------------------------------------------------------------- + + G4double costh_to_normal; + G4ThreeVector pos,direction; + theG4AdjointPosOnPhysVolGenerator->GenerateAPositionOnTheExtSurfaceOfThePhysicalVolume(pos, direction,costh_to_normal); + if (costh_to_normal <1.e-4) costh_to_normal =1.e-4; + theSingleParticleSource->GetAngDist()->SetParticleMomentumDirection(-direction); + theSingleParticleSource->GetPosDist()->SetCentreCoords(pos); + } + + theSingleParticleSource->GetEneDist()->SetEmin(E1); + theSingleParticleSource->GetEneDist()->SetEmax(E2); + + theSingleParticleSource->SetParticleDefinition(adj_part); + theSingleParticleSource->GeneratePrimaryVertex(anEvent); +} +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +void G4AdjointPrimaryGenerator::SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector center_pos) +{ + radius_spherical_source = radius; + center_spherical_source = center_pos; + type_of_adjoint_source ="Spherical"; + theSingleParticleSource->GetPosDist()->SetPosDisType("Surface"); + theSingleParticleSource->GetPosDist()->SetPosDisShape("Sphere"); + theSingleParticleSource->GetPosDist()->SetCentreCoords(center_pos); + theSingleParticleSource->GetPosDist()->SetRadius(radius); + theSingleParticleSource->GetAngDist()->SetAngDistType("cos"); + theSingleParticleSource->GetAngDist()->SetMaxTheta(pi); + theSingleParticleSource->GetAngDist()->SetMinTheta(halfpi); +} +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// +void G4AdjointPrimaryGenerator::SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String& volume_name) +{ + theG4AdjointPosOnPhysVolGenerator->DefinePhysicalVolume1(volume_name); + type_of_adjoint_source ="ExternalSurfaceOfAVolume"; + theSingleParticleSource->GetPosDist()->SetPosDisType("Point"); + theSingleParticleSource->GetAngDist()->SetAngDistType("planar"); +} + diff --git a/source/event/src/G4AdjointStackingAction.cc b/source/event/src/G4AdjointStackingAction.cc new file mode 100644 index 0000000000..7e5c670664 --- /dev/null +++ b/source/event/src/G4AdjointStackingAction.cc @@ -0,0 +1,75 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4AdjointStackingAction.cc,v 1.2 2009/11/18 17:57:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +///////////////////////////////////////////////////////////////////////////// +// Class Name: G4AdjointCrossSurfChecker +// Author: L. Desorgher +// Organisation: SpaceIT GmbH +// Contract: ESA contract 21435/08/NL/AT +// Customer: ESA/ESTEC +///////////////////////////////////////////////////////////////////////////// + +#include "G4AdjointStackingAction.hh" +#include "G4Event.hh" +#include "G4Track.hh" +#include "G4ios.hh" + +G4AdjointStackingAction::G4AdjointStackingAction() +{ + theFwdStackingAction =0; + theUserAdjointStackingAction =0; +} +//////////////////////////////////////////////////////////////////////////////// +// +G4AdjointStackingAction::~G4AdjointStackingAction() +{;} +//////////////////////////////////////////////////////////////////////////////// +// +G4ClassificationOfNewTrack G4AdjointStackingAction::ClassifyNewTrack(const G4Track * aTrack) +{ + G4ClassificationOfNewTrack classification = fUrgent; + if ( kill_tracks) classification=fKill; + else if (!adjoint_mode && theFwdStackingAction) classification = theFwdStackingAction->ClassifyNewTrack(aTrack); + else if (adjoint_mode && theUserAdjointStackingAction) classification = theUserAdjointStackingAction->ClassifyNewTrack(aTrack); + return classification; +} +//////////////////////////////////////////////////////////////////////////////// +// +void G4AdjointStackingAction::NewStage() +{ + if ( !adjoint_mode && theFwdStackingAction) theFwdStackingAction->NewStage(); + else if (adjoint_mode && theUserAdjointStackingAction) theUserAdjointStackingAction->NewStage(); +} +//////////////////////////////////////////////////////////////////////////////// +// +void G4AdjointStackingAction::PrepareNewEvent() +{ + if ( !adjoint_mode && theFwdStackingAction) theFwdStackingAction->PrepareNewEvent(); + else if (adjoint_mode && theUserAdjointStackingAction) theUserAdjointStackingAction->PrepareNewEvent(); +} + diff --git a/source/event/src/G4GeneralParticleSourceMessenger.cc b/source/event/src/G4GeneralParticleSourceMessenger.cc index 6ea12a2697..aa0d0bb233 100644 --- a/source/event/src/G4GeneralParticleSourceMessenger.cc +++ b/source/event/src/G4GeneralParticleSourceMessenger.cc @@ -239,7 +239,7 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger centreCmd1->SetGuidance(" same effect as the /gps/position command"); centreCmd1->SetParameterName("X","Y","Z",true,true); centreCmd1->SetDefaultUnit("cm"); - centreCmd1->SetUnitCandidates("micron mm cm m km"); + // centreCmd1->SetUnitCandidates("micron mm cm m km"); posrot1Cmd1 = new G4UIcmdWith3Vector("/gps/pos/rot1",this); posrot1Cmd1->SetGuidance("Set the 1st vector defining the rotation matrix'."); @@ -257,70 +257,70 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger halfxCmd1->SetGuidance("Set x half length of source."); halfxCmd1->SetParameterName("Halfx",true,true); halfxCmd1->SetDefaultUnit("cm"); - halfxCmd1->SetUnitCandidates("micron mm cm m km"); + // halfxCmd1->SetUnitCandidates("micron mm cm m km"); halfyCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/halfy",this); halfyCmd1->SetGuidance("Set y half length of source."); halfyCmd1->SetParameterName("Halfy",true,true); halfyCmd1->SetDefaultUnit("cm"); - halfyCmd1->SetUnitCandidates("micron mm cm m km"); + // halfyCmd1->SetUnitCandidates("micron mm cm m km"); halfzCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/halfz",this); halfzCmd1->SetGuidance("Set z half length of source."); halfzCmd1->SetParameterName("Halfz",true,true); halfzCmd1->SetDefaultUnit("cm"); - halfzCmd1->SetUnitCandidates("micron mm cm m km"); + // halfzCmd1->SetUnitCandidates("micron mm cm m km"); radiusCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/radius",this); radiusCmd1->SetGuidance("Set radius of source."); radiusCmd1->SetParameterName("Radius",true,true); radiusCmd1->SetDefaultUnit("cm"); - radiusCmd1->SetUnitCandidates("micron mm cm m km"); + // radiusCmd1->SetUnitCandidates("micron mm cm m km"); radius0Cmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/inner_radius",this); radius0Cmd1->SetGuidance("Set inner radius of source when required."); radius0Cmd1->SetParameterName("Radius0",true,true); radius0Cmd1->SetDefaultUnit("cm"); - radius0Cmd1->SetUnitCandidates("micron mm cm m km"); + // radius0Cmd1->SetUnitCandidates("micron mm cm m km"); possigmarCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/sigma_r",this); possigmarCmd1->SetGuidance("Set standard deviation in radial of the beam positional profile"); possigmarCmd1->SetGuidance(" applicable to Beam type source only"); possigmarCmd1->SetParameterName("Sigmar",true,true); possigmarCmd1->SetDefaultUnit("cm"); - possigmarCmd1->SetUnitCandidates("micron mm cm m km"); + // possigmarCmd1->SetUnitCandidates("micron mm cm m km"); possigmaxCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/sigma_x",this); possigmaxCmd1->SetGuidance("Set standard deviation of beam positional profile in x-dir"); possigmaxCmd1->SetGuidance(" applicable to Beam type source only"); possigmaxCmd1->SetParameterName("Sigmax",true,true); possigmaxCmd1->SetDefaultUnit("cm"); - possigmaxCmd1->SetUnitCandidates("micron mm cm m km"); + // possigmaxCmd1->SetUnitCandidates("micron mm cm m km"); possigmayCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/sigma_y",this); possigmayCmd1->SetGuidance("Set standard deviation of beam positional profile in y-dir"); possigmayCmd1->SetGuidance(" applicable to Beam type source only"); possigmayCmd1->SetParameterName("Sigmay",true,true); possigmayCmd1->SetDefaultUnit("cm"); - possigmayCmd1->SetUnitCandidates("micron mm cm m km"); + // possigmayCmd1->SetUnitCandidates("micron mm cm m km"); paralpCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/paralp",this); paralpCmd1->SetGuidance("Angle from y-axis of y' in Para"); paralpCmd1->SetParameterName("paralp",true,true); paralpCmd1->SetDefaultUnit("rad"); - paralpCmd1->SetUnitCandidates("rad deg"); + // paralpCmd1->SetUnitCandidates("rad deg"); partheCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/parthe",this); partheCmd1->SetGuidance("Polar angle through centres of z faces"); partheCmd1->SetParameterName("parthe",true,true); partheCmd1->SetDefaultUnit("rad"); - partheCmd1->SetUnitCandidates("rad deg"); + // partheCmd1->SetUnitCandidates("rad deg"); parphiCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/pos/parphi",this); parphiCmd1->SetGuidance("Azimuth angle through centres of z faces"); parphiCmd1->SetParameterName("parphi",true,true); parphiCmd1->SetDefaultUnit("rad"); - parphiCmd1->SetUnitCandidates("rad deg"); + // parphiCmd1->SetUnitCandidates("rad deg"); confineCmd1 = new G4UIcmdWithAString("/gps/pos/confine",this); confineCmd1->SetGuidance("Confine source to volume (NULL to unset)."); @@ -346,7 +346,7 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger centreCmd->SetGuidance("Set centre coordinates of source.(obsolete!)"); centreCmd->SetParameterName("X","Y","Z",true,true); centreCmd->SetDefaultUnit("cm"); - centreCmd->SetUnitCandidates("micron mm cm m km"); + // centreCmd->SetUnitCandidates("micron mm cm m km"); posrot1Cmd = new G4UIcmdWith3Vector("/gps/posrot1",this); posrot1Cmd->SetGuidance("Set rotation matrix of x'.(obsolete!)"); @@ -364,67 +364,67 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger halfxCmd->SetGuidance("Set x half length of source.(obsolete!)"); halfxCmd->SetParameterName("Halfx",true,true); halfxCmd->SetDefaultUnit("cm"); - halfxCmd->SetUnitCandidates("micron mm cm m km"); + // halfxCmd->SetUnitCandidates("micron mm cm m km"); halfyCmd = new G4UIcmdWithADoubleAndUnit("/gps/halfy",this); halfyCmd->SetGuidance("Set y half length of source.(obsolete!)"); halfyCmd->SetParameterName("Halfy",true,true); halfyCmd->SetDefaultUnit("cm"); - halfyCmd->SetUnitCandidates("micron mm cm m km"); + // halfyCmd->SetUnitCandidates("micron mm cm m km"); halfzCmd = new G4UIcmdWithADoubleAndUnit("/gps/halfz",this); halfzCmd->SetGuidance("Set z half length of source.(obsolete!)"); halfzCmd->SetParameterName("Halfz",true,true); halfzCmd->SetDefaultUnit("cm"); - halfzCmd->SetUnitCandidates("micron mm cm m km"); + // halfzCmd->SetUnitCandidates("micron mm cm m km"); radiusCmd = new G4UIcmdWithADoubleAndUnit("/gps/radius",this); radiusCmd->SetGuidance("Set radius of source.(obsolete!)"); radiusCmd->SetParameterName("Radius",true,true); radiusCmd->SetDefaultUnit("cm"); - radiusCmd->SetUnitCandidates("micron mm cm m km"); + // radiusCmd->SetUnitCandidates("micron mm cm m km"); radius0Cmd = new G4UIcmdWithADoubleAndUnit("/gps/radius0",this); radius0Cmd->SetGuidance("Set inner radius of source.(obsolete!)"); radius0Cmd->SetParameterName("Radius0",true,true); radius0Cmd->SetDefaultUnit("cm"); - radius0Cmd->SetUnitCandidates("micron mm cm m km"); + // radius0Cmd->SetUnitCandidates("micron mm cm m km"); possigmarCmd = new G4UIcmdWithADoubleAndUnit("/gps/sigmaposr",this); possigmarCmd->SetGuidance("Set standard deviation of beam position in radial(obsolete!)"); possigmarCmd->SetParameterName("Sigmar",true,true); possigmarCmd->SetDefaultUnit("cm"); - possigmarCmd->SetUnitCandidates("micron mm cm m km"); + // possigmarCmd->SetUnitCandidates("micron mm cm m km"); possigmaxCmd = new G4UIcmdWithADoubleAndUnit("/gps/sigmaposx",this); possigmaxCmd->SetGuidance("Set standard deviation of beam position in x-dir(obsolete!)"); possigmaxCmd->SetParameterName("Sigmax",true,true); possigmaxCmd->SetDefaultUnit("cm"); - possigmaxCmd->SetUnitCandidates("micron mm cm m km"); + // possigmaxCmd->SetUnitCandidates("micron mm cm m km"); possigmayCmd = new G4UIcmdWithADoubleAndUnit("/gps/sigmaposy",this); possigmayCmd->SetGuidance("Set standard deviation of beam position in y-dir(obsolete!)"); possigmayCmd->SetParameterName("Sigmay",true,true); possigmayCmd->SetDefaultUnit("cm"); - possigmayCmd->SetUnitCandidates("micron mm cm m km"); + // possigmayCmd->SetUnitCandidates("micron mm cm m km"); paralpCmd = new G4UIcmdWithADoubleAndUnit("/gps/paralp",this); paralpCmd->SetGuidance("Angle from y-axis of y' in Para(obsolete!)"); paralpCmd->SetParameterName("paralp",true,true); paralpCmd->SetDefaultUnit("rad"); - paralpCmd->SetUnitCandidates("rad deg"); + // paralpCmd->SetUnitCandidates("rad deg"); partheCmd = new G4UIcmdWithADoubleAndUnit("/gps/parthe",this); partheCmd->SetGuidance("Polar angle through centres of z faces(obsolete!)"); partheCmd->SetParameterName("parthe",true,true); partheCmd->SetDefaultUnit("rad"); - partheCmd->SetUnitCandidates("rad deg"); + // partheCmd->SetUnitCandidates("rad deg"); parphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/parphi",this); parphiCmd->SetGuidance("Azimuth angle through centres of z faces(obsolete!)"); parphiCmd->SetParameterName("parphi",true,true); parphiCmd->SetDefaultUnit("rad"); - parphiCmd->SetUnitCandidates("rad deg"); + // parphiCmd->SetUnitCandidates("rad deg"); confineCmd = new G4UIcmdWithAString("/gps/confine",this); confineCmd->SetGuidance("Confine source to volume (NULL to unset)(obsolete!) ."); @@ -460,51 +460,51 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger minthetaCmd1->SetParameterName("MinTheta",true,true); minthetaCmd1->SetDefaultValue(0.); minthetaCmd1->SetDefaultUnit("rad"); - minthetaCmd1->SetUnitCandidates("rad deg"); + // minthetaCmd1->SetUnitCandidates("rad deg"); maxthetaCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/maxtheta",this); maxthetaCmd1->SetGuidance("Set maximum theta"); maxthetaCmd1->SetParameterName("MaxTheta",true,true); maxthetaCmd1->SetDefaultValue(pi); maxthetaCmd1->SetDefaultUnit("rad"); - maxthetaCmd1->SetUnitCandidates("rad deg"); + // maxthetaCmd1->SetUnitCandidates("rad deg"); minphiCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/minphi",this); minphiCmd1->SetGuidance("Set minimum phi"); minphiCmd1->SetParameterName("MinPhi",true,true); minphiCmd1->SetDefaultUnit("rad"); - minphiCmd1->SetUnitCandidates("rad deg"); + // minphiCmd1->SetUnitCandidates("rad deg"); maxphiCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/maxphi",this); maxphiCmd1->SetGuidance("Set maximum phi"); maxphiCmd1->SetParameterName("MaxPhi",true,true); maxphiCmd1->SetDefaultValue(pi); maxphiCmd1->SetDefaultUnit("rad"); - maxphiCmd1->SetUnitCandidates("rad deg"); + // maxphiCmd1->SetUnitCandidates("rad deg"); angsigmarCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/sigma_r",this); angsigmarCmd1->SetGuidance("Set standard deviation in direction for 1D beam."); angsigmarCmd1->SetParameterName("Sigmara",true,true); angsigmarCmd1->SetDefaultUnit("rad"); - angsigmarCmd1->SetUnitCandidates("rad deg"); + // angsigmarCmd1->SetUnitCandidates("rad deg"); angsigmaxCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/sigma_x",this); angsigmaxCmd1->SetGuidance("Set standard deviation in direction in x-direc. for 2D beam"); angsigmaxCmd1->SetParameterName("Sigmaxa",true,true); angsigmaxCmd1->SetDefaultUnit("rad"); - angsigmaxCmd1->SetUnitCandidates("rad deg"); + // angsigmaxCmd1->SetUnitCandidates("rad deg"); angsigmayCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ang/sigma_y",this); angsigmayCmd1->SetGuidance("Set standard deviation in direction in y-direc. for 2D beam"); angsigmayCmd1->SetParameterName("Sigmaya",true,true); angsigmayCmd1->SetDefaultUnit("rad"); - angsigmayCmd1->SetUnitCandidates("rad deg"); + // angsigmayCmd1->SetUnitCandidates("rad deg"); angfocusCmd = new G4UIcmdWith3VectorAndUnit("/gps/ang/focuspoint",this); angfocusCmd->SetGuidance("Set the focusing point for the beam"); angfocusCmd->SetParameterName("x","y","z",true,true); angfocusCmd->SetDefaultUnit("cm"); - angfocusCmd->SetUnitCandidates("micron mm cm m km"); + // angfocusCmd->SetUnitCandidates("micron mm cm m km"); useuserangaxisCmd1 = new G4UIcmdWithABool("/gps/ang/user_coor",this); useuserangaxisCmd1->SetGuidance("true for using user defined angular co-ordinates"); @@ -542,44 +542,44 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger minthetaCmd->SetGuidance("Set minimum theta (obsolete!)"); minthetaCmd->SetParameterName("MinTheta",true,true); minthetaCmd->SetDefaultUnit("rad"); - minthetaCmd->SetUnitCandidates("rad deg"); + // minthetaCmd->SetUnitCandidates("rad deg"); maxthetaCmd = new G4UIcmdWithADoubleAndUnit("/gps/maxtheta",this); maxthetaCmd->SetGuidance("Set maximum theta (obsolete!)"); maxthetaCmd->SetParameterName("MaxTheta",true,true); maxthetaCmd->SetDefaultValue(3.1416); maxthetaCmd->SetDefaultUnit("rad"); - maxthetaCmd->SetUnitCandidates("rad deg"); + // maxthetaCmd->SetUnitCandidates("rad deg"); minphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/minphi",this); minphiCmd->SetGuidance("Set minimum phi (obsolete!)"); minphiCmd->SetParameterName("MinPhi",true,true); minphiCmd->SetDefaultUnit("rad"); - minphiCmd->SetUnitCandidates("rad deg"); + // minphiCmd->SetUnitCandidates("rad deg"); maxphiCmd = new G4UIcmdWithADoubleAndUnit("/gps/maxphi",this); maxphiCmd->SetGuidance("Set maximum phi(obsolete!)"); maxphiCmd->SetParameterName("MaxPhi",true,true); maxphiCmd->SetDefaultUnit("rad"); - maxphiCmd->SetUnitCandidates("rad deg"); + // maxphiCmd->SetUnitCandidates("rad deg"); angsigmarCmd = new G4UIcmdWithADoubleAndUnit("/gps/sigmaangr",this); angsigmarCmd->SetGuidance("Set standard deviation of beam direction in radial(obsolete!)."); angsigmarCmd->SetParameterName("Sigmara",true,true); angsigmarCmd->SetDefaultUnit("rad"); - angsigmarCmd->SetUnitCandidates("rad deg"); + // angsigmarCmd->SetUnitCandidates("rad deg"); angsigmaxCmd = new G4UIcmdWithADoubleAndUnit("/gps/sigmaangx",this); angsigmaxCmd->SetGuidance("Set standard deviation of beam direction in x-direc(obsolete!)."); angsigmaxCmd->SetParameterName("Sigmaxa",true,true); angsigmaxCmd->SetDefaultUnit("rad"); - angsigmaxCmd->SetUnitCandidates("rad deg"); + // angsigmaxCmd->SetUnitCandidates("rad deg"); angsigmayCmd = new G4UIcmdWithADoubleAndUnit("/gps/sigmaangy",this); angsigmayCmd->SetGuidance("Set standard deviation of beam direction in y-direc.(obsolete!)"); angsigmayCmd->SetParameterName("Sigmaya",true,true); angsigmayCmd->SetDefaultUnit("rad"); - angsigmayCmd->SetUnitCandidates("rad deg"); + // angsigmayCmd->SetUnitCandidates("rad deg"); useuserangaxisCmd = new G4UIcmdWithABool("/gps/useuserangaxis",this); useuserangaxisCmd->SetGuidance("true for using user defined angular co-ordinates(obsolete!)"); @@ -608,25 +608,25 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger eminCmd1->SetGuidance("Sets minimum energy"); eminCmd1->SetParameterName("emin",true,true); eminCmd1->SetDefaultUnit("keV"); - eminCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // eminCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); emaxCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ene/max",this); emaxCmd1->SetGuidance("Sets maximum energy"); emaxCmd1->SetParameterName("emax",true,true); emaxCmd1->SetDefaultUnit("keV"); - emaxCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // emaxCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); monoenergyCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ene/mono",this); monoenergyCmd1->SetGuidance("Sets a monocromatic energy (same as gps/energy)"); monoenergyCmd1->SetParameterName("monoenergy",true,true); monoenergyCmd1->SetDefaultUnit("keV"); - monoenergyCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // monoenergyCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); engsigmaCmd1 = new G4UIcmdWithADoubleAndUnit("/gps/ene/sigma",this); engsigmaCmd1->SetGuidance("Sets the standard deviation for Gaussian energy dist."); engsigmaCmd1->SetParameterName("Sigmae",true,true); engsigmaCmd1->SetDefaultUnit("keV"); - engsigmaCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // engsigmaCmd1->SetUnitCandidates("eV keV MeV GeV TeV PeV"); alphaCmd1 = new G4UIcmdWithADouble("/gps/ene/alpha",this); alphaCmd1->SetGuidance("Sets Alpha (index) for power-law energy dist."); @@ -672,25 +672,25 @@ G4GeneralParticleSourceMessenger::G4GeneralParticleSourceMessenger eminCmd->SetGuidance("Sets Emin (obsolete!)"); eminCmd->SetParameterName("emin",true,true); eminCmd->SetDefaultUnit("keV"); - eminCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // eminCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); emaxCmd = new G4UIcmdWithADoubleAndUnit("/gps/emax",this); emaxCmd->SetGuidance("Sets Emax (obsolete!)"); emaxCmd->SetParameterName("emax",true,true); emaxCmd->SetDefaultUnit("keV"); - emaxCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // emaxCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); monoenergyCmd = new G4UIcmdWithADoubleAndUnit("/gps/monoenergy",this); monoenergyCmd->SetGuidance("Sets Monoenergy (obsolete, use gps/energy instead!)"); monoenergyCmd->SetParameterName("monoenergy",true,true); monoenergyCmd->SetDefaultUnit("keV"); - monoenergyCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // monoenergyCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); engsigmaCmd = new G4UIcmdWithADoubleAndUnit("/gps/sigmae",this); engsigmaCmd->SetGuidance("Sets the standard deviation for Gaussian energy dist.(obsolete!)"); engsigmaCmd->SetParameterName("Sigmae",true,true); engsigmaCmd->SetDefaultUnit("keV"); - engsigmaCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); + // engsigmaCmd->SetUnitCandidates("eV keV MeV GeV TeV PeV"); alphaCmd = new G4UIcmdWithADouble("/gps/alpha",this); alphaCmd->SetGuidance("Sets Alpha (index) for power-law energy dist(obsolete!)."); diff --git a/source/event/src/G4SPSEneDistribution.cc b/source/event/src/G4SPSEneDistribution.cc index 987a9038bd..210ae65a57 100644 --- a/source/event/src/G4SPSEneDistribution.cc +++ b/source/event/src/G4SPSEneDistribution.cc @@ -1137,6 +1137,12 @@ void G4SPSEneDistribution::ConvertEPNToEnergy() G4cout << "Those above 1024 will be ignored" << G4endl; maxcount = 1024; } + if(maxcount < 1) + { + G4cout << "Histogram contains less than 1 bin!" << G4endl; + G4cout << "Redefine the histogram" << G4endl; + return; + } for(count=0;countTransferTo(aStack); } +} + +G4StackedTrack * G4SmartTrackStack::PopFromStack() +{ + if( n_stackedTrack() == 0 ) return 0; + G4StackedTrack * aStackedTrack = 0; + while(!aStackedTrack) + { + if(stacks[fTurn]->GetNTrack()==0) + { + fTurn = (++fTurn)%nTurn; + //G4cout<<"++++++++ Shift to Stack ["<GetNTrack()<<" stacked tracks."<PopFromStack(); } + } + return aStackedTrack; +} + +#include "G4Neutron.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" + +void G4SmartTrackStack::PushToStack( G4StackedTrack * aStackedTrack ) +{ + static G4ParticleDefinition* neutDef = G4Neutron::Definition(); + static G4ParticleDefinition* elecDef = G4Electron::Definition(); + static G4ParticleDefinition* gammDef = G4Gamma::Definition(); + static G4ParticleDefinition* posiDef = G4Positron::Definition(); + + G4int iDest = 0; + if( aStackedTrack->GetTrack()->GetParentID() == 0 ) + { + // We have a primary track, which should go first. + fTurn = 0; // reseting the turn + } + else + { + G4ParticleDefinition* partDef = aStackedTrack->GetTrack()->GetDefinition(); + if(partDef==neutDef) + { iDest = 1; } + else if(partDef==elecDef) + { iDest = 2; } + else if(partDef==gammDef) + { iDest = 3; } + else if(partDef==posiDef) + { iDest = 4; } + } + + stacks[iDest]->PushToStack(aStackedTrack); + if(stacks[iDest]->GetNTrack()>safetyValve1) + { + // Too many tracks in the stack. Process tracks in this stack first + // unless the current stack also have too many tracks. + if(stacks[fTurn]->GetNTrack()GetNTrack() - nStick; + //G4cout<<"++++++++ Shift to Stack ["<GetNTrack()<<" stacked tracks."<maxNTracks) maxNTracks = n_stackedTrack(); +} + +void G4SmartTrackStack::clear() +{ + for(int i=0;iclear(); } +} + + diff --git a/source/event/src/G4StackManager.cc b/source/event/src/G4StackManager.cc index 9084df325b..55bd426fa0 100644 --- a/source/event/src/G4StackManager.cc +++ b/source/event/src/G4StackManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StackManager.cc,v 1.10 2006/06/29 18:10:19 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4StackManager.cc,v 1.14 2009/09/16 23:10:46 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // Last Modification : 09/Dec/96 M.Asai @@ -41,7 +41,13 @@ G4StackManager::G4StackManager() :userStackingAction(0),verboseLevel(0),numberOfAdditionalWaitingStacks(0) { theMessenger = new G4StackingMessenger(this); +#ifdef G4_USESMARTSTACK + urgentStack = new G4SmartTrackStack; + G4cout<<"+++ G4StackManager uses G4SmartTrackStack. +++"<0) + { + G4cout << "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << G4endl; + G4cout << " Maximum number of tracks in the urgent stack : " << urgentStack->GetMaxNTrack() << G4endl; + G4cout << "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << G4endl; + } delete urgentStack; delete waitingStack; delete postponeStack; @@ -78,7 +91,7 @@ G4int G4StackManager::PushOneTrack(G4Track *newTrack,G4VTrajectory *newTrajector if(classification==fKill) // delete newTrack without stacking { #ifdef G4VERBOSE - if( verboseLevel > 0 ) + if( verboseLevel > 1 ) { G4cout << " ---> G4Track " << newTrack << " (trackID " << newTrack->GetTrackID() << ", parentID " @@ -120,7 +133,7 @@ G4int G4StackManager::PushOneTrack(G4Track *newTrack,G4VTrajectory *newTrajector G4Track * G4StackManager::PopNextTrack(G4VTrajectory**newTrajectory) { #ifdef G4VERBOSE - if( verboseLevel > 0 ) + if( verboseLevel > 1 ) { G4cout << "### pop requested out of " << GetNUrgentTrack() << " stacked tracks." << G4endl; @@ -130,7 +143,7 @@ G4Track * G4StackManager::PopNextTrack(G4VTrajectory**newTrajectory) while( GetNUrgentTrack() == 0 ) { #ifdef G4VERBOSE - if( verboseLevel > 0 ) G4cout << "### " << GetNWaitingTrack() + if( verboseLevel > 1 ) G4cout << "### " << GetNWaitingTrack() << " waiting tracks are re-classified to" << G4endl; #endif waitingStack->TransferTo(urgentStack); @@ -145,7 +158,7 @@ G4Track * G4StackManager::PopNextTrack(G4VTrajectory**newTrajectory) } if(userStackingAction) userStackingAction->NewStage(); #ifdef G4VERBOSE - if( verboseLevel > 0 ) G4cout << " " << GetNUrgentTrack() + if( verboseLevel > 1 ) G4cout << " " << GetNUrgentTrack() << " urgent tracks and " << GetNWaitingTrack() << " waiting tracks." << G4endl; #endif @@ -157,7 +170,7 @@ G4Track * G4StackManager::PopNextTrack(G4VTrajectory**newTrajectory) *newTrajectory = selectedStackedTrack->GetTrajectory(); #ifdef G4VERBOSE - if( verboseLevel > 1 ) + if( verboseLevel > 2 ) { G4cout << "Selected G4StackedTrack : " << selectedStackedTrack << " with G4Track " << selectedStackedTrack->GetTrack() @@ -221,7 +234,7 @@ G4int G4StackManager::PrepareNewEvent() if( GetNPostponedTrack() > 0 ) { #ifdef G4VERBOSE - if( verboseLevel > 0 ) + if( verboseLevel > 1 ) { G4cout << GetNPostponedTrack() << " postponed tracked are now shifted to the stack." << G4endl; @@ -302,11 +315,12 @@ void G4StackManager::SetNumberOfAdditionalWaitingStacks(G4int iAdd) void G4StackManager::TransferStackedTracks(G4ClassificationOfNewTrack origin, G4ClassificationOfNewTrack destination) { if(origin==destination) return; + if(origin==fKill) return; G4TrackStack* originStack = 0; switch(origin) { case fUrgent: - originStack = urgentStack; + originStack = 0; break; case fWaiting: originStack = waitingStack; @@ -314,24 +328,18 @@ void G4StackManager::TransferStackedTracks(G4ClassificationOfNewTrack origin, G4 case fPostpone: originStack = postponeStack; break; - case fKill: - break; default: int i = origin - 10; if(i<=numberOfAdditionalWaitingStacks) originStack = additionalWaitingStacks[i-1]; break; } - if(!originStack) return; if(destination==fKill) { - G4StackedTrack * aStackedTrack; - while( (aStackedTrack=originStack->PopFromStack()) != 0 ) - { - delete aStackedTrack->GetTrack(); - delete aStackedTrack->GetTrajectory(); - delete aStackedTrack; - } + if(originStack) + { originStack->clear(); } + else + { urgentStack->clear(); } } else { @@ -339,7 +347,7 @@ void G4StackManager::TransferStackedTracks(G4ClassificationOfNewTrack origin, G4 switch(destination) { case fUrgent: - targetStack = urgentStack; + targetStack = 0; break; case fWaiting: targetStack = waitingStack; @@ -352,8 +360,15 @@ void G4StackManager::TransferStackedTracks(G4ClassificationOfNewTrack origin, G4 if(i<=numberOfAdditionalWaitingStacks) targetStack = additionalWaitingStacks[i-1]; break; } - if(!targetStack) return; - originStack->TransferTo(targetStack); + if(originStack) + { + if(targetStack) + { originStack->TransferTo(targetStack); } + else + { originStack->TransferTo(urgentStack); } + } + else + { urgentStack->TransferTo(targetStack); } } return; } @@ -361,11 +376,12 @@ void G4StackManager::TransferStackedTracks(G4ClassificationOfNewTrack origin, G4 void G4StackManager::TransferOneStackedTrack(G4ClassificationOfNewTrack origin, G4ClassificationOfNewTrack destination) { if(origin==destination) return; + if(origin==fKill) return; G4TrackStack* originStack = 0; switch(origin) { case fUrgent: - originStack = urgentStack; + originStack = 0; break; case fWaiting: originStack = waitingStack; @@ -373,19 +389,20 @@ void G4StackManager::TransferOneStackedTrack(G4ClassificationOfNewTrack origin, case fPostpone: originStack = postponeStack; break; - case fKill: - break; default: int i = origin - 10; if(i<=numberOfAdditionalWaitingStacks) originStack = additionalWaitingStacks[i-1]; break; } - if(!originStack) return; - G4StackedTrack * aStackedTrack; + G4StackedTrack * aStackedTrack = 0; if(destination==fKill) { - if( (aStackedTrack=originStack->PopFromStack()) != 0 ) + if(originStack) + { aStackedTrack = originStack->PopFromStack(); } + else + { aStackedTrack = urgentStack->PopFromStack(); } + if(aStackedTrack) { delete aStackedTrack->GetTrack(); delete aStackedTrack->GetTrajectory(); @@ -398,7 +415,7 @@ void G4StackManager::TransferOneStackedTrack(G4ClassificationOfNewTrack origin, switch(destination) { case fUrgent: - targetStack = urgentStack; + targetStack = 0; break; case fWaiting: targetStack = waitingStack; @@ -411,11 +428,14 @@ void G4StackManager::TransferOneStackedTrack(G4ClassificationOfNewTrack origin, if(i<=numberOfAdditionalWaitingStacks) targetStack = additionalWaitingStacks[i-1]; break; } - if(!targetStack) return; - if( (aStackedTrack=originStack->PopFromStack()) != 0 ) - { - targetStack->PushToStack(aStackedTrack); - } + if(originStack) + { aStackedTrack = originStack->PopFromStack(); } + else + { aStackedTrack = urgentStack->PopFromStack(); } + if(targetStack) + { targetStack->PushToStack(aStackedTrack); } + else + { urgentStack->PushToStack(aStackedTrack); } } return; } diff --git a/source/event/src/G4StackingMessenger.cc b/source/event/src/G4StackingMessenger.cc index ea51c1ebb2..7d669756f3 100644 --- a/source/event/src/G4StackingMessenger.cc +++ b/source/event/src/G4StackingMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StackingMessenger.cc,v 1.5 2006/06/29 18:10:23 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4StackingMessenger.cc,v 1.6 2009/09/16 23:10:46 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // -------------------------------------------------------------------- @@ -56,6 +56,14 @@ G4StackingMessenger::G4StackingMessenger(G4StackManager * fCont) clearCmd->SetDefaultValue(0); clearCmd->SetRange("level>=-2&&level<=2"); clearCmd->AvailableForStates(G4State_GeomClosed,G4State_EventProc); + + verboseCmd = new G4UIcmdWithAnInteger("/event/stack/verbose",this); + verboseCmd->SetGuidance("Set verbose level for G4StackManager"); + verboseCmd->SetGuidance(" 0 : Silence (default)"); + verboseCmd->SetGuidance(" 1 : Minimum statistics"); + verboseCmd->SetGuidance(" 2 : Detailed reports"); + verboseCmd->SetGuidance("Note - this value is overwritten by /event/verbose command."); + } G4StackingMessenger::~G4StackingMessenger() @@ -75,7 +83,7 @@ void G4StackingMessenger::SetNewValue(G4UIcommand * command,G4String newValues) G4cout << " Waiting stack : " << fContainer->GetNWaitingTrack() << G4endl; G4cout << " Postponed stack : " << fContainer->GetNPostponedTrack() << G4endl; } - if( command==clearCmd ) + else if( command==clearCmd ) { G4int vc = clearCmd->GetNewIntValue(newValues); switch (vc) @@ -95,5 +103,9 @@ void G4StackingMessenger::SetNewValue(G4UIcommand * command,G4String newValues) break; } } + else if( command==verboseCmd ) + { + fContainer->SetVerboseLevel(verboseCmd->GetNewIntValue(newValues)); + } } diff --git a/source/event/src/G4TrackStack.cc b/source/event/src/G4TrackStack.cc index bae6bd98ff..7887114a7a 100644 --- a/source/event/src/G4TrackStack.cc +++ b/source/event/src/G4TrackStack.cc @@ -24,16 +24,19 @@ // ******************************************************************** // // -// $Id: G4TrackStack.cc,v 1.6 2006/06/29 18:10:26 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TrackStack.cc,v 1.8 2009/09/10 21:31:41 asaim Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // #include "G4TrackStack.hh" +#include "G4SmartTrackStack.hh" #include "G4VTrajectory.hh" G4TrackStack::G4TrackStack() :n_stackedTrack(0),firstStackedTrack(0),lastStackedTrack(0) -{;} +{ + maxNTracks = 0; +} G4TrackStack::~G4TrackStack() { @@ -88,6 +91,12 @@ void G4TrackStack::TransferTo(G4TrackStack * aStack) lastStackedTrack = 0; } +void G4TrackStack::TransferTo(G4SmartTrackStack * aStack) +{ + while(n_stackedTrack) + { aStack->PushToStack(PopFromStack()); } +} + G4StackedTrack * G4TrackStack::PopFromStack() { if( n_stackedTrack == 0 ) return 0; @@ -110,6 +119,7 @@ void G4TrackStack::PushToStack( G4StackedTrack * aStackedTrack ) } lastStackedTrack = aStackedTrack; n_stackedTrack++; + if(n_stackedTrack>maxNTracks) maxNTracks = n_stackedTrack; } void G4TrackStack::GrabFromStack( G4StackedTrack * aStackedTrack ) diff --git a/source/geometry/divisions/History b/source/geometry/divisions/History index 0911ded70b..cdbb84fea7 100644 --- a/source/geometry/divisions/History +++ b/source/geometry/divisions/History @@ -1,4 +1,4 @@ -$Id: History,v 1.30 2008/12/04 16:01:32 gcosmo Exp $ +$Id: History,v 1.31 2009/05/20 08:55:23 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,16 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May, 20th, 2009 I.Hrivnacova (geomdiv-V09-02-00) +- Allow for generic divisions along Z for polyhedras and polycones; now + divisions can happen along z-axis with width and offset, which fulfil the + condition that division does not span over more than one segment. +- Fixed initialization of division in Phi for polyhedras to not take into + account user defined width. +- Fixed initialization of arrays in unit test: changed polycone definition + so that division does not give exception and added polyhedra, which was + not present. + December, 3rd, 2008 P.Arce (geomdiv-V09-01-02) - Added division along X of TRD (that results in TRAP's). Changed G4PVDivision to allow divisions solids to have type different diff --git a/source/geometry/divisions/include/G4ParameterisationPolycone.hh b/source/geometry/divisions/include/G4ParameterisationPolycone.hh index c148c74e07..bc331b694d 100644 --- a/source/geometry/divisions/include/G4ParameterisationPolycone.hh +++ b/source/geometry/divisions/include/G4ParameterisationPolycone.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPolycone.hh,v 1.7 2006/06/29 18:18:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationPolycone.hh,v 1.8 2009/05/14 14:19:32 ivana Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // classes G4ParameterisationPolyconeRho, // G4ParameterisationPolyconePhi, @@ -191,7 +191,15 @@ class G4ParameterisationPolyconeZ : public G4VParameterisationPolycone void ComputeDimensions( G4Polycone& pcone, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; - private: // Dummy declarations to get rid of warnings ... + private: + G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const; + G4double GetRmin(G4double z, G4int nsegment) const; + G4double GetRmax(G4double z, G4int nsegment) const; + + G4int fNSegment; + G4PolyconeHistorical* fOrigParamMother; + + // Dummy declarations to get rid of warnings ... void ComputeDimensions (G4Trd&,const G4int, const G4VPhysicalVolume*) const {} diff --git a/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh b/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh index 5e93a11796..31997cfeb1 100644 --- a/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh +++ b/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPolyhedra.hh,v 1.8 2006/06/29 18:18:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationPolyhedra.hh,v 1.9 2009/05/14 14:19:32 ivana Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // classes G4ParameterisationPolyhedraRho, // G4ParameterisationPolyhedraPhi, @@ -199,8 +199,15 @@ class G4ParameterisationPolyhedraZ : public G4VParameterisationPolyhedra void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo, const G4VPhysicalVolume* physVol ) const; - private: // Dummy declarations to get rid of warnings ... + private: + G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const; + G4double GetRmin(G4double z, G4int nsegment) const; + G4double GetRmax(G4double z, G4int nsegment) const; + G4int fNSegment; + G4PolyhedraHistorical* fOrigParamMother; + + // Dummy declarations to get rid of warnings ... void ComputeDimensions (G4Trd&,const G4int, const G4VPhysicalVolume*) const {} void ComputeDimensions (G4Trap&,const G4int, diff --git a/source/geometry/divisions/src/G4ParameterisationPolycone.cc b/source/geometry/divisions/src/G4ParameterisationPolycone.cc index 07c2e0cbfc..8c769d9757 100644 --- a/source/geometry/divisions/src/G4ParameterisationPolycone.cc +++ b/source/geometry/divisions/src/G4ParameterisationPolycone.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPolycone.cc,v 1.15 2006/06/29 18:18:44 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationPolycone.cc,v 1.17 2009/05/18 19:30:29 ivana Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4ParameterisationPolycone Implementation file // @@ -354,26 +354,25 @@ G4ParameterisationPolyconeZ:: G4ParameterisationPolyconeZ( EAxis axis, G4int nDiv, G4double width, G4double offset, G4VSolid* msolid, DivisionType divType) - : G4VParameterisationPolycone( axis, nDiv, width, offset, msolid, divType ) + : G4VParameterisationPolycone( axis, nDiv, width, offset, msolid, divType ), + fNSegment(0), + fOrigParamMother(((G4Polycone*)fmotherSolid)->GetOriginalParameters()) { CheckParametersValidity(); SetType( "DivisionPolyconeZ" ); - G4Polycone* msol = (G4Polycone*)(fmotherSolid); - G4PolyconeHistorical* origparamMother = msol->GetOriginalParameters(); - if( divType == DivWIDTH ) { fnDiv = - CalculateNDiv( origparamMother->Z_values[origparamMother->Num_z_planes-1] - - origparamMother->Z_values[0] , width, offset ); + CalculateNDiv( fOrigParamMother->Z_values[fOrigParamMother->Num_z_planes-1] + - fOrigParamMother->Z_values[0] , width, offset ); } else if( divType == DivNDIV ) { fwidth = - CalculateNDiv( origparamMother->Z_values[origparamMother->Num_z_planes-1] - - origparamMother->Z_values[0] , nDiv, offset ); + CalculateNDiv( fOrigParamMother->Z_values[fOrigParamMother->Num_z_planes-1] + - fOrigParamMother->Z_values[0] , nDiv, offset ); } #ifdef G4DIVDEBUG @@ -392,61 +391,144 @@ G4ParameterisationPolyconeZ::~G4ParameterisationPolyconeZ() { } +//------------------------------------------------------------------------ +G4double G4ParameterisationPolyconeZ::GetR(G4double z, + G4double z1, G4double r1, + G4double z2, G4double r2) const +{ + // Linear parameterisation: + // r = az + b + // a = (r1 - r2)/(z1-z2) + // b = r1 - a*z1 + + return (r1-r2)/(z1-z2)*z + ( r1 - (r1-r2)/(z1-z2)*z1 ) ; +} + +//------------------------------------------------------------------------ +G4double G4ParameterisationPolyconeZ::GetRmin(G4double z, G4int nseg) const +{ +// Get Rmin in the given z position for the given polycone segment + + return GetR(z, + fOrigParamMother->Z_values[nseg], + fOrigParamMother->Rmin[nseg], + fOrigParamMother->Z_values[nseg+1], + fOrigParamMother->Rmin[nseg+1]); +} + +//------------------------------------------------------------------------ +G4double G4ParameterisationPolyconeZ::GetRmax(G4double z, G4int nseg) const +{ +// Get Rmax in the given z position for the given polycone segment + + return GetR(z, + fOrigParamMother->Z_values[nseg], + fOrigParamMother->Rmax[nseg], + fOrigParamMother->Z_values[nseg+1], + fOrigParamMother->Rmax[nseg+1]); +} + //------------------------------------------------------------------------ G4double G4ParameterisationPolyconeZ::GetMaxParameter() const { - G4Polycone* msol = (G4Polycone*)(fmotherSolid); - G4PolyconeHistorical* origparamMother = msol->GetOriginalParameters(); - return std::abs (origparamMother->Z_values[origparamMother->Num_z_planes-1] - -origparamMother->Z_values[0]); + return std::abs (fOrigParamMother->Z_values[fOrigParamMother->Num_z_planes-1] + -fOrigParamMother->Z_values[0]); } //--------------------------------------------------------------------- void G4ParameterisationPolyconeZ::CheckParametersValidity() { G4VDivisionParameterisation::CheckParametersValidity(); - - G4Polycone* msol = (G4Polycone*)(fmotherSolid); - - if( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) - { - G4cerr << "WARNING - " - << "G4ParameterisationPolyconeZ::CheckParametersValidity()" - << G4endl - << " Solid " << msol->GetName() << G4endl - << " Division along Z will be done splitting in the " - << "defined z_planes." << G4endl - << " WIDTH will not be used !" << G4endl; - } - - if( foffset != 0. ) - { - G4cerr << "WARNING - " - << "G4ParameterisationPolyconeZ::CheckParametersValidity()" - << G4endl - << " Solid " << msol->GetName() << G4endl - << " Division along Z will be done splitting in the " - << "defined z_planes." << G4endl - << " OFFSET will not be used !" << G4endl; - } - - G4PolyconeHistorical* origparamMother = msol->GetOriginalParameters(); - - if( origparamMother->Num_z_planes-1 != fnDiv ) - { - G4cerr << "ERROR - " - << "G4ParameterisationPolyconeZ::CheckParametersValidity()" - << G4endl - << " Division along Z will be done splitting in the defined" - << G4endl - << " z_planes, i.e, the number of division would be :" - << " " << origparamMother->Num_z_planes-1 - << " instead of " << fnDiv << " !" - << G4endl; - G4Exception("G4ParameterisationPolyconeZ::CheckParametersValidity()", + + // Division will be following the mother polycone segments + if( fDivisionType == DivNDIV ) { + if( fnDiv > fOrigParamMother->Num_z_planes-1 ) { + G4cerr << "ERROR - " + << "G4ParameterisationPolyconeZ::CheckParametersValidity()" + << G4endl + << " Division along Z will be done splitting in the defined" + << G4endl + << " z_planes, i.e, the number of division would be :" + << " " << fOrigParamMother->Num_z_planes-1 + << " instead of " << fnDiv << " !" + << G4endl; + G4Exception("G4ParameterisationPolyconeZ::CheckParametersValidity()", "IllegalConstruct", FatalException, "Not supported configuration."); - } + } + } + + // Division will be done within one polycone segment + // with applying given width and offset + if( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) { + // Check if divided region does not span over more + // than one z segment + + G4int isegstart = -1; // number of the segment containing start position + G4int isegend = -1; // number of the segment containing end position + + if ( ! fReflectedSolid ) { + // The start/end position of the divided region + G4double zstart + = fOrigParamMother->Z_values[0] + foffset; + G4double zend + = fOrigParamMother->Z_values[0] + foffset + fnDiv* fwidth; + + G4int counter = 0; + while ( isegend < 0 && counter < fOrigParamMother->Num_z_planes-1 ) { + // first segment + if ( zstart >= fOrigParamMother->Z_values[counter] && + zstart < fOrigParamMother->Z_values[counter+1] ) { + isegstart = counter; + } + // last segment + if ( zend > fOrigParamMother->Z_values[counter] && + zend <= fOrigParamMother->Z_values[counter+1] ) { + isegend = counter; + } + ++counter; + } + } + else { + // The start/end position of the divided region + G4double zstart + = fOrigParamMother->Z_values[0] - foffset; + G4double zend + = fOrigParamMother->Z_values[0] - ( foffset + fnDiv* fwidth); + + G4int counter = 0; + while ( isegend < 0 && counter < fOrigParamMother->Num_z_planes-1 ) { + // first segment + if ( zstart <= fOrigParamMother->Z_values[counter] && + zstart > fOrigParamMother->Z_values[counter+1] ) { + isegstart = counter; + } + // last segment + if ( zend < fOrigParamMother->Z_values[counter] && + zend >= fOrigParamMother->Z_values[counter+1] ) { + isegend = counter; + } + ++counter; + } + } + + + if ( isegstart != isegend ) { + G4cerr << "WARNING - " + << "G4ParameterisationPolyconeZ::CheckParametersValidity()" + << G4endl + << " Division with user defined width." << G4endl + << " Solid " << fmotherSolid->GetName() << G4endl + << " Divided region is not between two z planes." + << G4endl; + + G4Exception("G4ParameterisationPolyconeZ::CheckParametersValidity()", + "IllegalConstruct", FatalException, + "Not supported configuration."); + } + + fNSegment = isegstart; + } } //--------------------------------------------------------------------- @@ -454,14 +536,25 @@ void G4ParameterisationPolyconeZ:: ComputeTransformation( const G4int copyNo, G4VPhysicalVolume* physVol) const { - G4Polycone* msol = (G4Polycone*)(GetMotherSolid()); - - //----- set translation: along Z axis - G4PolyconeHistorical* origparamMother = msol->GetOriginalParameters(); - G4double posi = (origparamMother->Z_values[copyNo] - + origparamMother->Z_values[copyNo+1])/2; - G4ThreeVector origin(0.,0.,posi); - physVol->SetTranslation( origin ); + if ( fDivisionType == DivNDIV ) { + // The position of the centre of copyNo-th mother polycone segment + G4double posi + = ( fOrigParamMother->Z_values[copyNo] + + fOrigParamMother->Z_values[copyNo+1])/2; + physVol->SetTranslation( G4ThreeVector(0, 0, posi) ); + } + + if ( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) { + // The position of the centre of copyNo-th division + G4double posi = fOrigParamMother->Z_values[0]; + + if ( ! fReflectedSolid ) + posi += foffset + (2*copyNo + 1) * fwidth/2.; + else + posi -= foffset + (2*copyNo + 1) * fwidth/2.; + + physVol->SetTranslation( G4ThreeVector(0, 0, posi) ); + } //----- calculate rotation matrix: unit @@ -493,23 +586,70 @@ G4ParameterisationPolyconeZ:: ComputeDimensions( G4Polycone& pcone, const G4int copyNo, const G4VPhysicalVolume* ) const { - // only for mother number of planes = 2!! - // - G4Polycone* msol = (G4Polycone*)(fmotherSolid); - G4PolyconeHistorical* origparamMother = msol->GetOriginalParameters(); - G4PolyconeHistorical origparam( *origparamMother ); + // Define division solid + G4PolyconeHistorical origparam; + G4int nz = 2; + origparam.Num_z_planes = nz; + origparam.Start_angle = fOrigParamMother->Start_angle; + origparam.Opening_angle = fOrigParamMother->Opening_angle; - G4double posi = (origparamMother->Z_values[copyNo] - + origparamMother->Z_values[copyNo+1])/2; + // Define division solid z sections + origparam.Z_values = new G4double[nz]; + origparam.Rmin = new G4double[nz]; + origparam.Rmax = new G4double[nz]; - origparam.Num_z_planes = 2; - origparam.Z_values[0] = origparamMother->Z_values[copyNo] - posi; - origparam.Z_values[1] = origparamMother->Z_values[copyNo+1] - posi; - origparam.Rmin[0] = origparamMother->Rmin[copyNo]; - origparam.Rmin[1] = origparamMother->Rmin[copyNo+1]; - origparam.Rmax[0] = origparamMother->Rmax[copyNo]; - origparam.Rmax[1] = origparamMother->Rmax[copyNo+1]; + if ( fDivisionType == DivNDIV ) { + // The position of the centre of copyNo-th mother polycone segment + G4double posi = (fOrigParamMother->Z_values[copyNo] + + fOrigParamMother->Z_values[copyNo+1])/2; + + origparam.Z_values[0] = fOrigParamMother->Z_values[copyNo] - posi; + origparam.Z_values[1] = fOrigParamMother->Z_values[copyNo+1] - posi; + origparam.Rmin[0] = fOrigParamMother->Rmin[copyNo]; + origparam.Rmin[1] = fOrigParamMother->Rmin[copyNo+1]; + origparam.Rmax[0] = fOrigParamMother->Rmax[copyNo]; + origparam.Rmax[1] = fOrigParamMother->Rmax[copyNo+1]; + } + + if ( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) { + if ( ! fReflectedSolid ) { + origparam.Z_values[0] = - fwidth/2.; + origparam.Z_values[1] = fwidth/2.; + + // The position of the centre of copyNo-th division + G4double posi + = fOrigParamMother->Z_values[0] + foffset + (2*copyNo + 1) * fwidth/2.; + + // The first and last z sides z values + G4double zstart = posi - fwidth/2.; + G4double zend = posi + fwidth/2.; + origparam.Rmin[0] = GetRmin(zstart, fNSegment); + origparam.Rmax[0] = GetRmax(zstart, fNSegment); + origparam.Rmin[1] = GetRmin(zend, fNSegment); + origparam.Rmax[1] = GetRmax(zend, fNSegment); + } + else { + origparam.Z_values[0] = fwidth/2.; + origparam.Z_values[1] = - fwidth/2.; + + // The position of the centre of copyNo-th division + G4double posi + = fOrigParamMother->Z_values[0] - ( foffset + (2*copyNo + 1) * fwidth/2.); + + // The first and last z sides z values + G4double zstart = posi + fwidth/2.; + G4double zend = posi - fwidth/2.; + origparam.Rmin[0] = GetRmin(zstart, fNSegment); + origparam.Rmax[0] = GetRmax(zstart, fNSegment); + origparam.Rmin[1] = GetRmin(zend, fNSegment); + origparam.Rmax[1] = GetRmax(zend, fNSegment); + } + + // It can happen due to rounding errors + if ( origparam.Rmin[0] < 0.0 ) origparam.Rmin[0] = 0.0; + if ( origparam.Rmin[nz-1] < 0.0 ) origparam.Rmin[1] = 0.0; + } pcone.SetOriginalParameters(&origparam); // copy values & transfer pointers pcone.Reset(); // reset to new solid parameters diff --git a/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc b/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc index 9edb2a7ba5..08d9ec9d2d 100644 --- a/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc +++ b/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPolyhedra.cc,v 1.16 2007/05/18 07:27:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ParameterisationPolyhedra.cc,v 1.19 2009/05/20 08:35:52 ivana Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4ParameterisationPolyhedra Implementation file // @@ -287,13 +287,11 @@ G4ParameterisationPolyhedraPhi( EAxis axis, G4int nDiv, if( divType == DivWIDTH ) { - fnDiv = CalculateNDiv( deltaPhi, width, offset ); - } - else if( divType == DivNDIV ) - { - fwidth = CalculateWidth( deltaPhi, nDiv, offset ); + fnDiv = msol->GetNumSide(); } + fwidth = CalculateWidth( deltaPhi, fnDiv, 0.0 ); + #ifdef G4DIVDEBUG if( verbose >= 1 ) { @@ -347,7 +345,7 @@ void G4ParameterisationPolyhedraPhi::CheckParametersValidity() G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters(); - if( origparamMother->numSide != fnDiv ) + if( origparamMother->numSide != fnDiv && fDivisionType != DivWIDTH) { G4cerr << "ERROR - " << "G4ParameterisationPolyhedraPhi::CheckParametersValidity()" @@ -432,25 +430,24 @@ G4ParameterisationPolyhedraZ:: G4ParameterisationPolyhedraZ( EAxis axis, G4int nDiv, G4double width, G4double offset, G4VSolid* msolid, DivisionType divType ) - : G4VParameterisationPolyhedra( axis, nDiv, width, offset, msolid, divType ) + : G4VParameterisationPolyhedra( axis, nDiv, width, offset, msolid, divType ), + fNSegment(0), + fOrigParamMother(((G4Polyhedra*)fmotherSolid)->GetOriginalParameters()) { CheckParametersValidity(); SetType( "DivisionPolyhedraZ" ); - G4Polyhedra* msol = (G4Polyhedra*)(fmotherSolid); - G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters(); - if( divType == DivWIDTH ) { fnDiv = - CalculateNDiv( origparamMother->Z_values[origparamMother->Num_z_planes-1] - - origparamMother->Z_values[0] , width, offset ); + CalculateNDiv( fOrigParamMother->Z_values[fOrigParamMother->Num_z_planes-1] + - fOrigParamMother->Z_values[0] , width, offset ); } else if( divType == DivNDIV ) { fwidth = - CalculateNDiv( origparamMother->Z_values[origparamMother->Num_z_planes-1] - - origparamMother->Z_values[0] , nDiv, offset ); + CalculateNDiv( fOrigParamMother->Z_values[fOrigParamMother->Num_z_planes-1] + - fOrigParamMother->Z_values[0] , nDiv, offset ); } #ifdef G4DIVDEBUG @@ -469,13 +466,48 @@ G4ParameterisationPolyhedraZ::~G4ParameterisationPolyhedraZ() { } +//------------------------------------------------------------------------ +G4double G4ParameterisationPolyhedraZ::GetR(G4double z, + G4double z1, G4double r1, + G4double z2, G4double r2) const +{ + // Linear parameterisation: + // r = az + b + // a = (r1 - r2)/(z1-z2) + // b = r1 - a*z1 + + return (r1-r2)/(z1-z2)*z + ( r1 - (r1-r2)/(z1-z2)*z1 ) ; +} + +//------------------------------------------------------------------------ +G4double G4ParameterisationPolyhedraZ::GetRmin(G4double z, G4int nseg) const +{ +// Get Rmin in the given z position for the given polyhedra segment + + return GetR(z, + fOrigParamMother->Z_values[nseg], + fOrigParamMother->Rmin[nseg], + fOrigParamMother->Z_values[nseg+1], + fOrigParamMother->Rmin[nseg+1]); +} + +//------------------------------------------------------------------------ +G4double G4ParameterisationPolyhedraZ::GetRmax(G4double z, G4int nseg) const +{ +// Get Rmax in the given z position for the given polyhedra segment + + return GetR(z, + fOrigParamMother->Z_values[nseg], + fOrigParamMother->Rmax[nseg], + fOrigParamMother->Z_values[nseg+1], + fOrigParamMother->Rmax[nseg+1]); +} + //------------------------------------------------------------------------ G4double G4ParameterisationPolyhedraZ::GetMaxParameter() const { - G4Polyhedra* msol = (G4Polyhedra*)(fmotherSolid); - G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters(); - return std::abs (origparamMother->Z_values[origparamMother->Num_z_planes-1] - -origparamMother->Z_values[0]); + return std::abs (fOrigParamMother->Z_values[fOrigParamMother->Num_z_planes-1] + -fOrigParamMother->Z_values[0]); } //--------------------------------------------------------------------- @@ -483,47 +515,94 @@ void G4ParameterisationPolyhedraZ::CheckParametersValidity() { G4VDivisionParameterisation::CheckParametersValidity(); - G4Polyhedra* msol = (G4Polyhedra*)(fmotherSolid); + // Division will be following the mother polyhedra segments + if( fDivisionType == DivNDIV ) { + if( fOrigParamMother->Num_z_planes-1 != fnDiv ) { + G4cerr << "ERROR - " + << "G4ParameterisationPolyhedraZ::CheckParametersValidity()" + << G4endl + << " Division along Z will be done splitting in the defined" + << G4endl + << " z_planes, i.e, the number of division would be :" + << " " << fOrigParamMother->Num_z_planes-1 + << " instead of " << fnDiv << " !" + << G4endl; + G4Exception("G4ParameterisationPolyhedraZ::CheckParametersValidity()", + "IllegalConstruct", FatalException, + "Not supported configuration."); + } + } - if( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) - { - G4cerr << "WARNING - " - << "G4ParameterisationPolyhedraZ::CheckParametersValidity()" - << G4endl - << " Solid " << msol->GetName() << G4endl - << " Division along Z will be done splitting " - << "in the defined z_planes." << G4endl - << " WIDTH will not be used !" << G4endl; - } + // Division will be done within one polyhedra segment + // with applying given width and offset + if( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) { + // Check if divided region does not span over more + // than one z segment - if( foffset != 0. ) - { - G4cerr << "WARNING - " - << "G4ParameterisationPolyhedraZ::CheckParametersValidity()" - << G4endl - << " Solid " << msol->GetName() << G4endl - << " Division along Z will be done splitting " - << "in the defined z_planes." << G4endl - << " OFFSET will not be used !" << G4endl; - } + G4int isegstart = -1; // number of the segment containing start position + G4int isegend = -1; // number of the segment containing end position - G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters(); - - if( origparamMother->Num_z_planes-1 != fnDiv ) - { - G4cerr << "ERROR - " - << "G4ParameterisationPolyhedraZ::CheckParametersValidity()" - << G4endl - << " Division along Z will be done splitting in the defined" - << G4endl - << " z_planes, i.e, the number of division would be :" - << " " << origparamMother->Num_z_planes-1 - << " instead of " << fnDiv << " !" - << G4endl; - G4Exception("G4ParameterisationPolyhedraZ::CheckParametersValidity()", - "IllegalConstruct", FatalException, - "Not supported configuration."); - } + if ( ! fReflectedSolid ) { + // The start/end position of the divided region + G4double zstart + = fOrigParamMother->Z_values[0] + foffset; + G4double zend + = fOrigParamMother->Z_values[0] + foffset + fnDiv* fwidth; + + G4int counter = 0; + while ( isegend < 0 && counter < fOrigParamMother->Num_z_planes-1 ) { + // first segment + if ( zstart >= fOrigParamMother->Z_values[counter] && + zstart < fOrigParamMother->Z_values[counter+1] ) { + isegstart = counter; + } + // last segment + if ( zend > fOrigParamMother->Z_values[counter] && + zend <= fOrigParamMother->Z_values[counter+1] ) { + isegend = counter; + } + ++counter; + } + } + else { + // The start/end position of the divided region + G4double zstart + = fOrigParamMother->Z_values[0] - foffset; + G4double zend + = fOrigParamMother->Z_values[0] - ( foffset + fnDiv* fwidth); + + G4int counter = 0; + while ( isegend < 0 && counter < fOrigParamMother->Num_z_planes-1 ) { + // first segment + if ( zstart <= fOrigParamMother->Z_values[counter] && + zstart > fOrigParamMother->Z_values[counter+1] ) { + isegstart = counter; + } + // last segment + if ( zend < fOrigParamMother->Z_values[counter] && + zend >= fOrigParamMother->Z_values[counter+1] ) { + isegend = counter; + } + ++counter; + } + } + + if ( isegstart != isegend ) { + G4cerr << "WARNING - " + << "G4ParameterisationPolyhedraZ::CheckParametersValidity()" + << G4endl + << " Division with user defined width." << G4endl + << " Solid " << fmotherSolid->GetName() << G4endl + << " Divided region is not between two z planes." + << G4endl; + + G4Exception("G4ParameterisationPolyhedraZ::CheckParametersValidity()", + "IllegalConstruct", FatalException, + "Not supported configuration."); + } + + fNSegment = isegstart; + } } //--------------------------------------------------------------------- @@ -531,14 +610,25 @@ void G4ParameterisationPolyhedraZ:: ComputeTransformation( const G4int copyNo, G4VPhysicalVolume* physVol) const { - G4Polyhedra* msol = (G4Polyhedra*)(GetMotherSolid()); + if ( fDivisionType == DivNDIV ) { + // The position of the centre of copyNo-th mother polycone segment + G4double posi = ( fOrigParamMother->Z_values[copyNo] + + fOrigParamMother->Z_values[copyNo+1])/2; + physVol->SetTranslation( G4ThreeVector(0, 0, posi) ); + } + + if ( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) { + // The position of the centre of copyNo-th division - //----- set translation: along Z axis - G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters(); - G4double posi = (origparamMother->Z_values[copyNo] - + origparamMother->Z_values[copyNo+1])/2; - G4ThreeVector origin(0.,0.,posi); - physVol->SetTranslation( origin ); + G4double posi = fOrigParamMother->Z_values[0]; + + if ( ! fReflectedSolid ) + posi += foffset + (2*copyNo + 1) * fwidth/2.; + else + posi -= foffset + (2*copyNo + 1) * fwidth/2.; + + physVol->SetTranslation( G4ThreeVector(0, 0, posi) ); + } //----- calculate rotation matrix: unit @@ -570,23 +660,72 @@ G4ParameterisationPolyhedraZ:: ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo, const G4VPhysicalVolume* ) const { - // only for mother number of planes = 2!! - // - G4Polyhedra* msol = (G4Polyhedra*)(fmotherSolid); + // Define division solid + G4PolyhedraHistorical origparam; + G4int nz = 2; + origparam.Num_z_planes = nz; + origparam.numSide = fOrigParamMother->numSide; + origparam.Start_angle = fOrigParamMother->Start_angle; + origparam.Opening_angle = fOrigParamMother->Opening_angle; - G4PolyhedraHistorical* origparamMother = msol->GetOriginalParameters(); - G4PolyhedraHistorical origparam( *origparamMother ); + // Define division solid z sections + origparam.Z_values = new G4double[nz]; + origparam.Rmin = new G4double[nz]; + origparam.Rmax = new G4double[nz]; + origparam.Z_values[0] = - fwidth/2.; + origparam.Z_values[1] = fwidth/2.; - G4double posi = (origparamMother->Z_values[copyNo] - + origparamMother->Z_values[copyNo+1])/2; + if ( fDivisionType == DivNDIV ) { + // The position of the centre of copyNo-th mother polycone segment + G4double posi = ( fOrigParamMother->Z_values[copyNo] + + fOrigParamMother->Z_values[copyNo+1])/2; - origparam.Num_z_planes = 2; - origparam.Z_values[0] = origparamMother->Z_values[copyNo] - posi; - origparam.Z_values[1] = origparamMother->Z_values[copyNo+1] - posi; - origparam.Rmin[0] = origparamMother->Rmin[copyNo]; - origparam.Rmin[1] = origparamMother->Rmin[copyNo+1]; - origparam.Rmax[0] = origparamMother->Rmax[copyNo]; - origparam.Rmax[1] = origparamMother->Rmax[copyNo+1]; + origparam.Z_values[0] = fOrigParamMother->Z_values[copyNo] - posi; + origparam.Z_values[1] = fOrigParamMother->Z_values[copyNo+1] - posi; + origparam.Rmin[0] = fOrigParamMother->Rmin[copyNo]; + origparam.Rmin[1] = fOrigParamMother->Rmin[copyNo+1]; + origparam.Rmax[0] = fOrigParamMother->Rmax[copyNo]; + origparam.Rmax[1] = fOrigParamMother->Rmax[copyNo+1]; + } + + if ( fDivisionType == DivNDIVandWIDTH || fDivisionType == DivWIDTH ) { + if ( ! fReflectedSolid ) { + origparam.Z_values[0] = - fwidth/2.; + origparam.Z_values[1] = fwidth/2.; + + // The position of the centre of copyNo-th division + G4double posi + = fOrigParamMother->Z_values[0] + foffset + (2*copyNo + 1) * fwidth/2.; + + // The first and last z sides z values + G4double zstart = posi - fwidth/2.; + G4double zend = posi + fwidth/2.; + origparam.Rmin[0] = GetRmin(zstart, fNSegment); + origparam.Rmax[0] = GetRmax(zstart, fNSegment); + origparam.Rmin[1] = GetRmin(zend, fNSegment); + origparam.Rmax[1] = GetRmax(zend, fNSegment); + } + else { + origparam.Z_values[0] = fwidth/2.; + origparam.Z_values[1] = - fwidth/2.; + + // The position of the centre of copyNo-th division + G4double posi + = fOrigParamMother->Z_values[0] - ( foffset + (2*copyNo + 1) * fwidth/2.); + + // The first and last z sides z values + G4double zstart = posi + fwidth/2.; + G4double zend = posi - fwidth/2.; + origparam.Rmin[0] = GetRmin(zstart, fNSegment); + origparam.Rmax[0] = GetRmax(zstart, fNSegment); + origparam.Rmin[1] = GetRmin(zend, fNSegment); + origparam.Rmax[1] = GetRmax(zend, fNSegment); + } + + // It can happen due to rounding errors + if ( origparam.Rmin[0] < 0.0 ) origparam.Rmin[0] = 0.0; + if ( origparam.Rmin[nz-1] < 0.0 ) origparam.Rmin[1] = 0.0; + } phedra.SetOriginalParameters(&origparam); // copy values & transfer pointers phedra.Reset(); // reset to new solid parameters diff --git a/source/geometry/magneticfield/History b/source/geometry/magneticfield/History index 464382a3d0..f86d28f7d0 100644 --- a/source/geometry/magneticfield/History +++ b/source/geometry/magneticfield/History @@ -1,4 +1,4 @@ -$Id: History,v 1.136 2008/12/11 10:47:59 gcosmo Exp $ +$Id: History,v 1.146 2009/11/12 15:05:49 japost Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,9 +17,72 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 12th, 2009 J.Apostolakis - field-V09-02-08 +----------------------------- +- G4Nystrom: Corrected interface method getField: array now has explicit dimension[4] + (Problem found by gcc 4.3 - it checked indices used in inline method! ) + +Nov 6th, 2009 P.Gumplinger - field-V09-02-07 +--------------------------- +- bug fix in G4EqEMFieldWithSpin and G4EqEMFieldWithEDM + thanks to Hiromi Iinuma (KEK) see: + http://hypernews.slac.stanford.edu/HyperNews/geant4/get/emfields/161.html + +Nov 5th, 2009 J.Apostolakis - field-V09-02-06 +---------------------------- +- G4MagIntegratorDriver.cc : Enabled call to ComputeRightHandSide +- G4NystromRK4.cc : Disabled auxiliary code in Stepper (needed if + ComputeRightHandSide is not called.) + +Nov 5th, 2009 J.Apostolakis - field-V09-02-05 +---------------------------- +- Added new virtual method CalculateRightHandSide to G4MagIntegratorStepper for use + in caching momentum (and field value) by G4NystromRK4 + Default implementation in G4MagIntegratorStepper calls RightHandSide inline method. +- G4Nystrom: New Set/Get method for cache distance. + Changed private data members in G4NystromRK4. +- G4MagIntegratorDriver: alternative call to ComputeRightHandSide is not used (in comment) + As a result G4NystromRK4 operates without reusing + +Nov 5th, 2009 J.Apostolakis - field-V09-02-04 +---------------------------- +- G4CachedMagneticField: New Simple class to cache value of Magnetic Field. + Speeds up code when calculation of field value is complex. +- G4NystromRK4 : New Stepper with Nystrom for magnetic field + with analytic estimation of integration error. + Greatly reduces number of field value per step. +- Revised testPropagateMagField to use Cached Quadrupole field, + and to cover G4NystromRK4 and G4ConstRK4. + +Nov 4th, 2009 P.Gumplinger - field-V09-02-03 +--------------------------- +- (minor change) remove comment from G4EqEMFieldWithSpin.cc + add G4EqEMFieldWithEDM class: this is the RHS of EofM in a combined + electric and magnetic field, with spin tracking for both MDM and EDM terms. + Thanks to Kevin Lynch, Phys. Dept. at Boston University. + +May 18th, 2009 T.Nikitina - field-V09-02-02 +------------------------- +- Enhanced algorithm G4ChordFinder::ApproxCurvePointS() in order to speedup + BrentLocator. + +March 25th, 2009 G.Cosmo - field-V09-02-01 +------------------------ +- Some code cleanup and formatting... + +March 6th, 2009 P.Gumplinger - field-V09-02-00 +---------------------------- +- Added 3rd term of BMT equation (Spin x Beta x Efield) to G4EqEMFieldWithSpin, + addresses emfields forum posting #155 (bug report). Thanks to Kevin Lynch, + Phys. Dept. at Boston University. +- Moved renormalization of spin from G4EqEMFieldWithSpin and G4Mag_SpinEqRhs to + G4ClassicalRK4 and G4SimpleHeum. +- Added Spin propagation errors to the criteria for 'OneGoodStep' in + G4MagIntegratorDriver but actually don't add it (yet) to the decision logic. + November, 19th, 2008 P.Gumplinger - field-V09-01-05 ---------------------------------- -- Renormalize the spin to ONE in G4EqEMFieldWithSpin.cc and G4Mag_SpinEqRhs.cc +- Renormalized the spin to 1 in G4EqEMFieldWithSpin and G4Mag_SpinEqRhs. November, 7th, 2008 P.Gumplinger - field-V09-01-04 ---------------------------------- diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraEnergyCutProcess.hh b/source/geometry/magneticfield/include/G4CachedMagneticField.hh similarity index 51% rename from examples/advanced/Tiara/source/tiara/include/TiaraEnergyCutProcess.hh rename to source/geometry/magneticfield/include/G4CachedMagneticField.hh index f9c97abb62..c9221573c5 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraEnergyCutProcess.hh +++ b/source/geometry/magneticfield/include/G4CachedMagneticField.hh @@ -23,74 +23,61 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TiaraEnergyCutProcess.hh,v 1.4 2006/06/29 15:43:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ // -// ---------------------------------------------------------------------- +// $ Id: G4CachedMagneticField.hh,v 1.0 2009/07/20 18:53:00 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // -// Class TiaraEnergyCutProcess // +// class G4CachedMagneticField +// +// Class description: +// +// Caches Magnetic Field value, for field whose evaluation is expensive. -#ifndef TiaraEnergyCutProcess_hh -#define TiaraEnergyCutProcess_hh TiaraEnergyCutProcess_hh +// History: +// - Created. JA, July 20th, 2009. +// -------------------------------------------------------------------- -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" +#ifndef G4CACHED_MAGNETIC_FIELD_DEF +#define G4CACHED_MAGNETIC_FIELD_DEF -class G4VScorer; +#include "G4Types.hh" +#include "G4ThreeVector.hh" +#include "G4MagneticField.hh" -class TiaraEnergyCutProcess : public G4VProcess +class G4CachedMagneticField : public G4MagneticField { + public: // with description -public: // with description + G4CachedMagneticField(G4MagneticField *, G4double distanceConst); + virtual ~G4CachedMagneticField(); + // Constructor and destructor. No actions. - explicit TiaraEnergyCutProcess(G4double minEnergyCut); + G4CachedMagneticField(const G4CachedMagneticField &r); + G4CachedMagneticField& operator = (const G4CachedMagneticField &p); + // Copy constructor & assignment operator. - virtual ~TiaraEnergyCutProcess(); + virtual void GetFieldValue( const G4double Point[4], + G4double *Bfield ) const; + + G4double GetConstDistance() const { return fDistanceConst; } + void SetConstDistance( G4double dist ){ fDistanceConst= dist;} - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make processed being forced + G4int GetCountCalls() const { return fCountCalls; } + G4int GetCountEvaluations() const { return fCountEvaluations; } + void ClearCounts() { fCountCalls = 0; fCountEvaluations=0; } + void ReportStatistics(); - virtual G4VParticleChange * PostStepDoIt(const G4Track&, const G4Step&); - // message "scorer" with G4Step and a G4GeometryCellStep from the "mass" - // geometry + private: + G4MagneticField *fpMagneticField; + // When the field is evaluated within this distance it will not change + G4double fDistanceConst; + // Caching state + mutable G4ThreeVector fLastLocation; + mutable G4ThreeVector fLastValue; - - // to be called by the importance process if the track should - // be killed after scoring - virtual const G4String &GetName() const ; - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track&, - G4ForceCondition*); - - virtual G4VParticleChange* AtRestDoIt(const G4Track&, - const G4Step&); - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, - const G4Step&); - -private: - - TiaraEnergyCutProcess(const TiaraEnergyCutProcess &); - TiaraEnergyCutProcess &operator=(const TiaraEnergyCutProcess &); - -private: - - G4double fMinEnergyCut; + protected: + mutable G4int fCountCalls, fCountEvaluations; }; -#endif +#endif /* G4CACHED_MAGNETIC_FIELD_DEF */ diff --git a/source/geometry/magneticfield/include/G4EqEMFieldWithEDM.hh b/source/geometry/magneticfield/include/G4EqEMFieldWithEDM.hh new file mode 100644 index 0000000000..398ea131e7 --- /dev/null +++ b/source/geometry/magneticfield/include/G4EqEMFieldWithEDM.hh @@ -0,0 +1,91 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4EqEMFieldWithEDM.hh,v 1.1 2009/11/04 23:51:42 gum Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// +// class G4EqEMFieldWithEDM +// +// Class description: +// +// This is the right-hand side of equation of motion in a combined +// electric and magnetic field, with spin tracking for both MDM and +// EDM terms. + +// History: +// - Created. Kevin Lynch, 19.02.2009, based on G4EqEMFieldWithSpin +// ------------------------------------------------------------------- + +#ifndef G4EQEMFIELDWITHEDM_hh +#define G4EQEMFIELDWITHEDM_hh + +#include "G4EquationOfMotion.hh" + +class G4ElectroMagneticField; + +class G4EqEMFieldWithEDM : public G4EquationOfMotion +{ + public: // with description + + G4EqEMFieldWithEDM(G4ElectroMagneticField *emField ); + + ~G4EqEMFieldWithEDM(); + + void SetChargeMomentumMass(G4double particleCharge, // in e+ units + G4double MomentumXc, + G4double mass); + + void EvaluateRhsGivenB(const G4double y[], + const G4double Field[], + G4double dydx[] ) const; + // Given the value of the electromagnetic field, this function + // calculates the value of the derivative dydx. + + inline void SetAnomaly(G4double a) { anomaly = a; } + inline G4double GetAnomaly() const { return anomaly; } + // set/get magnetic anomaly + + inline void SetEta(G4double n) { eta = n; } + inline G4double GetEta() const { return eta; } + // set/get EDM eta parameter + + private: + + G4double fElectroMagCof ; + G4double fMassCof; + + G4double omegac; + G4double anomaly; + G4double eta; + G4double ParticleCharge; + G4double E; + G4double gamma; + G4double beta; + +}; + +#endif /* G4EQEMFIELDWITHEDM */ diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh index d9886b6001..28f2c7ff17 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MagIntegratorStepper.hh,v 1.12 2006/09/20 09:31:01 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MagIntegratorStepper.hh,v 1.14 2009/11/05 18:31:15 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4MagIntegratorStepper @@ -74,13 +74,21 @@ class G4MagIntegratorStepper // Estimate the maximum distance of a chord from the true path // over the segment last integrated. + virtual void ComputeRightHandSide( const G4double y[], G4double dydx[] ); + // Must compute the RightHandSide as in the method below + // Optionally can cache the input y[] and the dydx[] values computed. + inline void NormaliseTangentVector( G4double vec[6] ); // Simple utility function to (re)normalise 'unit velocity' vector. + inline void NormalisePolarizationVector( G4double vec[12] ); + // Simple utility function to (re)normalise 'unit spin' vector. + inline void RightHandSide( const double y[], double dydx[] ); // Utility method to supply the standard Evaluation of the // Right Hand side of the associated equation. + inline G4int GetNumberOfVariables() const; // Get the number of variables that the stepper will integrate over. diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc index 7fb24d5c9f..815f961321 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MagIntegratorStepper.icc,v 1.10 2006/09/20 09:31:46 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MagIntegratorStepper.icc,v 1.12 2009/03/25 15:29:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // inline @@ -36,7 +36,8 @@ G4EquationOfMotion* G4MagIntegratorStepper::GetEquationOfMotion() inline void G4MagIntegratorStepper::SetEquationOfMotion(G4EquationOfMotion* newEquation) { - if( newEquation != 0 ) { + if( newEquation != 0 ) + { fEquation_Rhs= newEquation; } } @@ -54,12 +55,6 @@ G4int G4MagIntegratorStepper::GetNumberOfStateVariables() const return fNoStateVariables; } -// inline -// void G4MagIntegratorStepper::SetNumberOfVariables(G4int newNo) -// { -// fNumberOfVariables = newNo; -// } - inline void G4MagIntegratorStepper::RightHandSide( const double y[], double dydx[] ) { @@ -69,11 +64,26 @@ void G4MagIntegratorStepper::RightHandSide( const double y[], double dydx[] ) inline void G4MagIntegratorStepper::NormaliseTangentVector( G4double vec[6] ) { - double drds2 = vec[3]*vec[3]+vec[4]*vec[4]+vec[5]*vec[5]; + G4double drds2 = vec[3]*vec[3]+vec[4]*vec[4]+vec[5]*vec[5]; - if( std::fabs(drds2 - 1.0) > 1.e-14 ){ - double normx = 1.0 / std::sqrt(drds2); - for(int i=0;i<3;i++) - vec[i+3] *= normx; - } + if( std::fabs(drds2 - 1.0) > 1.e-14 ) + { + G4double normx = 1.0 / std::sqrt(drds2); + for(G4int i=3;i<6;i++) { vec[i] *= normx; } + } +} + +inline +void G4MagIntegratorStepper::NormalisePolarizationVector( G4double vec[12] ) +{ + G4double drds2 = vec[9]*vec[9]+vec[10]*vec[10]+vec[11]*vec[11]; + + if( drds2 > 0. ) + { + if( std::fabs(drds2 - 1.0) > 1.e-14 ) + { + G4double normx = 1.0 / std::sqrt(drds2); + for(G4int i=9;i<12;i++) { vec[i] *= normx; } + } + } } diff --git a/source/geometry/magneticfield/include/G4NystromRK4.hh b/source/geometry/magneticfield/include/G4NystromRK4.hh new file mode 100644 index 0000000000..0182f59736 --- /dev/null +++ b/source/geometry/magneticfield/include/G4NystromRK4.hh @@ -0,0 +1,134 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4NystromRK4.hh,v 1.3 2009/11/12 15:01:36 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// class G4NystromRK4 +// +// Class description: +// +// Integrate the equations of the motion of a particle in a magnetic field +// using 4th Runge-Kutta-Nystrom method with errors estimation +// (ATL-SOFT-PUB-2009-01) +// Current form can be used only for 'pure' magnetic field. +// Notes: 1) field must be time-independent. +// 2) time is not integrated +// +// History: +// - Created: I.Gavrilenko 15.05.2009 (as G4AtlasRK4) +// - Adaptations: J. Apostolakis May-Nov 2009 +// ------------------------------------------------------------------- + +#ifndef G4NYSTROMRK4_HH +#define G4NYSTROMRK4_HH + +#include "globals.hh" +#include "G4MagIntegratorStepper.hh" +#include "G4Mag_EqRhs.hh" + +class G4NystromRK4 : public G4MagIntegratorStepper +{ + public: + G4NystromRK4(G4Mag_EqRhs *EquationMotion, G4double distanceConstField=0.0); + // Can be used only for Magnetic Fields - and for 6 variables (x,p) + + ~G4NystromRK4() ; + + void Stepper(const G4double P [], + const G4double dPdS[], + G4double step , + G4double Po [], + G4double Err []); + // Single call for integration result and error + // - Provides Error via analytical method + + virtual void ComputeRightHandSide(const double P[],double dPdS[]); + // Must compute RHS - and does caches result + + void SetDistanceForConstantField( G4double length ); + G4double GetDistanceForConstantField() const; + + G4int IntegratorOrder() const {return 4;} + G4double DistChord() const; + + private: + + inline void getField (const G4double P[4]); + + //////////////////////////////////////////////////////////////// + // Private data + //////////////////////////////////////////////////////////////// + + G4Mag_EqRhs* m_fEq; + G4double m_lastField[3]; + G4double m_fldPosition[4]; + G4double m_magdistance ; + G4double m_magdistance2; + G4double m_cof ; + G4double m_mom ; + G4double m_imom ; + G4bool m_cachedMom ; + G4double m_iPoint [3]; + G4double m_mPoint [3]; + G4double m_fPoint [3]; + +}; + +///////////////////////////////////////////////////////////////////////////////// +// Inline methods +///////////////////////////////////////////////////////////////////////////////// +inline void G4NystromRK4::SetDistanceForConstantField( G4double length ) +{ + m_magdistance= length; + m_magdistance2 = length*length; +} + +inline G4double G4NystromRK4::GetDistanceForConstantField() const +{ + return m_magdistance; +} + +///////////////////////////////////////////////////////////////////////////////// +// Get value of magnetic field while checking distance from last stored call +///////////////////////////////////////////////////////////////////////////////// + +inline void G4NystromRK4::getField (const G4double P[4]) +{ + + G4double dx = P[0]-m_fldPosition[0]; + G4double dy = P[1]-m_fldPosition[1]; + G4double dz = P[2]-m_fldPosition[2]; + + if((dx*dx+dy*dy+dz*dz) > m_magdistance2) { + + m_fldPosition[0] = P[0]; + m_fldPosition[1] = P[1]; + m_fldPosition[2] = P[2]; + m_fldPosition[3] = P[3]; // Generally it is P[7] - changed convention !! + m_fEq->GetFieldValue(m_fldPosition, m_lastField); + } +} +#endif // G4NYSTROMRK4 diff --git a/source/geometry/magneticfield/src/G4CachedMagneticField.cc b/source/geometry/magneticfield/src/G4CachedMagneticField.cc new file mode 100644 index 0000000000..e4d5835f66 --- /dev/null +++ b/source/geometry/magneticfield/src/G4CachedMagneticField.cc @@ -0,0 +1,99 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4CachedMagneticField.cc,v 1.1 2009/11/05 11:06:13 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// -------------------------------------------------------------------- + +#include "G4CachedMagneticField.hh" + +G4CachedMagneticField::G4CachedMagneticField(G4MagneticField *pMagField, + G4double distance) + : G4MagneticField(), + fLastLocation(DBL_MAX,DBL_MAX,DBL_MAX), + fLastValue(DBL_MAX,DBL_MAX,DBL_MAX), + fCountCalls(0), fCountEvaluations(0) +{ + fpMagneticField= pMagField; + fDistanceConst= distance; + + // G4cout << " Cached-B-Field constructor> Distance = " << distance << G4endl; + this->ClearCounts(); +} + +G4CachedMagneticField::~G4CachedMagneticField() +{ +} + +void +G4CachedMagneticField::ReportStatistics() +{ + G4cout << " Cached field: " << this << G4endl + << " Number of calls: " << fCountCalls << G4endl + << " Number of evaluations : " << fCountEvaluations << G4endl; +} + +G4CachedMagneticField::G4CachedMagneticField(const G4CachedMagneticField &rightCMF) + : G4MagneticField() +{ + fpMagneticField= rightCMF.fpMagneticField; + fDistanceConst = rightCMF.fDistanceConst; + fLastLocation = rightCMF.fLastLocation; + fLastValue = rightCMF.fLastValue; + this->ClearCounts(); +} + +G4CachedMagneticField& G4CachedMagneticField::operator = (const G4CachedMagneticField &p) +{ + if (&p == this) return *this; *this = p; return *this; +} + +void +G4CachedMagneticField::GetFieldValue( const G4double Point[4], + G4double *Bfield ) const +{ + G4ThreeVector newLocation( Point[0], Point[1], Point[2] ); + + // G4cout << "Cache-B-field called at " << newLocation << G4endl; + + G4double distSq= (newLocation-fLastLocation).mag2(); + fCountCalls++; + if( distSq < fDistanceConst*fDistanceConst ) { + Bfield[0] = fLastValue.x(); + Bfield[1] = fLastValue.y(); + Bfield[2] = fLastValue.z(); + }else{ + // G4CachedMagneticField* thisNonC= const_cast(this); + fpMagneticField->GetFieldValue( Point, Bfield ); + // G4cout << " Evaluating. " << G4endl; + fCountEvaluations++; + // thisNonC-> + fLastLocation= G4ThreeVector( Point[0], Point[1], Point[2] ); + // thisNonC-> + fLastValue= G4ThreeVector( Bfield[0], Bfield[1], Bfield[2] ); + } +} diff --git a/source/geometry/magneticfield/src/G4ChordFinder.cc b/source/geometry/magneticfield/src/G4ChordFinder.cc index d82d9c2ebf..6d89a4fb59 100644 --- a/source/geometry/magneticfield/src/G4ChordFinder.cc +++ b/source/geometry/magneticfield/src/G4ChordFinder.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ChordFinder.cc,v 1.51 2008/10/29 14:17:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ChordFinder.cc,v 1.53 2009/05/18 14:22:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // 25.02.97 - John Apostolakis - Design and implementation @@ -431,34 +431,45 @@ G4ChordFinder::ApproxCurvePointS( const G4FieldTrack& CurveA_PointVelocity, // While advancing towards S utilise 'eps_step' as a measure of the // relative accuracy of each Step. - G4FieldTrack EndPoint( CurveA_PointVelocity); - G4ThreeVector Point_A=CurveA_PointVelocity.GetPosition(); - G4ThreeVector Point_B=CurveB_PointVelocity.GetPosition(); + G4FieldTrack EndPoint(CurveA_PointVelocity); + if(!first){EndPoint= ApproxCurveV;} + + G4ThreeVector Point_A,Point_B; + Point_A=CurveA_PointVelocity.GetPosition(); + Point_B=CurveB_PointVelocity.GetPosition(); + G4double xa,xb,xc,ya,yb,yc; // InverseParabolic. AF Intersects (First Part of Curve) if(first) { - xa=0.; - ya=(PointG-Point_A).mag(); - xb=(Point_A-CurrentF_Point).mag(); - yb=-(PointG-CurrentF_Point).mag(); - xc=(Point_A-Point_B).mag(); - yc=-(CurrentE_Point-Point_B).mag(); + xa=0.; + ya=(PointG-Point_A).mag(); + xb=(Point_A-CurrentF_Point).mag(); + yb=-(PointG-CurrentF_Point).mag(); + xc=(Point_A-Point_B).mag(); + yc=-(CurrentE_Point-Point_B).mag(); } else { - xa=0.; - ya=(Point_A-PointG).mag(); - xb=(Point_B-Point_A).mag(); - yb=-(PointG-Point_B).mag(); - xc=-(Point_A-CurrentF_Point).mag(); - yc=-(Point_A-CurrentE_Point).mag(); - + xa=0.; + ya=(Point_A-CurrentE_Point).mag(); + xb=(Point_A-CurrentF_Point).mag(); + yb=(PointG-CurrentF_Point).mag(); + xc=(Point_A-Point_B).mag(); + yc=-(Point_B-PointG).mag(); + if(xb==0.) + { + EndPoint= + ApproxCurvePointV(CurveA_PointVelocity, CurveB_PointVelocity, + CurrentE_Point, eps_step); + return EndPoint; + } } + const G4double tolerance= 1.e-12; - if(ya<=tolerance||std::abs(yc)<=tolerance) + if(std::abs(ya)<=tolerance||std::abs(yc)<=tolerance) { ; // What to do for the moment: return the same point as at start // then PropagatorInField will take care @@ -474,8 +485,10 @@ G4ChordFinder::ApproxCurvePointS( const G4FieldTrack& CurveA_PointVelocity, } else { + test_step=(test_step-xb); curve=std::abs(EndPoint.GetCurveLength() -CurveB_PointVelocity.GetCurveLength()); + xb=(CurrentF_Point-Point_B).mag(); } if(test_step<=0) { test_step=0.1*xb; } diff --git a/source/geometry/magneticfield/src/G4ClassicalRK4.cc b/source/geometry/magneticfield/src/G4ClassicalRK4.cc index a2f4cbcfc8..6ceebc16da 100644 --- a/source/geometry/magneticfield/src/G4ClassicalRK4.cc +++ b/source/geometry/magneticfield/src/G4ClassicalRK4.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ClassicalRK4.cc,v 1.12 2006/06/29 18:23:37 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ClassicalRK4.cc,v 1.14 2009/03/25 15:29:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // ------------------------------------------------------------------- @@ -36,9 +36,9 @@ // // Constructor sets the number of variables (default = 6) -G4ClassicalRK4::G4ClassicalRK4(G4EquationOfMotion* EqRhs, G4int numberOfVariables) +G4ClassicalRK4:: +G4ClassicalRK4(G4EquationOfMotion* EqRhs, G4int numberOfVariables) : G4MagErrorStepper(EqRhs, numberOfVariables) - // fNumberOfVariables(numberOfVariables) { unsigned int noVariables= std::max(numberOfVariables,8); // For Time .. 7+1 @@ -107,7 +107,7 @@ G4ClassicalRK4::DumbStepper( const G4double yIn[], { yOut[i] = yIn[i]+h6*(dydx[i]+dydxt[i]+2.0*dydxm[i]); //+K1/6+K4/6+(K2+K3)/3 } - // NormaliseTangentVector( yOut ); + if ( nvar == 12 ) { NormalisePolarizationVector ( yOut ); } } // end of DumbStepper .................................................... diff --git a/source/geometry/magneticfield/src/G4EqEMFieldWithEDM.cc b/source/geometry/magneticfield/src/G4EqEMFieldWithEDM.cc new file mode 100644 index 0000000000..e35236efd4 --- /dev/null +++ b/source/geometry/magneticfield/src/G4EqEMFieldWithEDM.cc @@ -0,0 +1,163 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4EqEMFieldWithEDM.cc,v 1.2 2009/11/06 22:31:54 gum Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// +// This is the standard right-hand side for equation of motion. +// +// 19.02.2009 Kevin Lynch, based on G4EqEMFieldWithSpin +// 06.11.2009 Hiromi Iinuma see: +// http://hypernews.slac.stanford.edu/HyperNews/geant4/get/emfields/161.html +// +// ------------------------------------------------------------------- + +#include "G4EqEMFieldWithEDM.hh" +#include "G4ElectroMagneticField.hh" +#include "G4ThreeVector.hh" +#include "globals.hh" + +G4EqEMFieldWithEDM::G4EqEMFieldWithEDM(G4ElectroMagneticField *emField ) + : G4EquationOfMotion( emField ) +{ + anomaly = 0.0011659208; + eta = 0.; +} + +G4EqEMFieldWithEDM::~G4EqEMFieldWithEDM() +{ +} + +void +G4EqEMFieldWithEDM::SetChargeMomentumMass(G4double particleCharge, // e+ units + G4double MomentumXc, + G4double particleMass) +{ + fElectroMagCof = eplus*particleCharge*c_light ; + fMassCof = particleMass*particleMass ; + + omegac = 0.105658387*GeV/particleMass * 2.837374841e-3*(rad/cm/kilogauss); + + ParticleCharge = particleCharge; + + E = std::sqrt(sqr(MomentumXc)+sqr(particleMass)); + beta = MomentumXc/E; + gamma = E/particleMass; + +} + +void +G4EqEMFieldWithEDM::EvaluateRhsGivenB(const G4double y[], + const G4double Field[], + G4double dydx[] ) const +{ + + // Components of y: + // 0-2 dr/ds, + // 3-5 dp/ds - momentum derivatives + // 9-11 dSpin/ds = (1/beta) dSpin/dt - spin derivatives + + // The BMT equation, following J.D.Jackson, Classical + // Electrodynamics, Second Edition, with additions for EDM + // evolution from + // M.Nowakowski, et.al. Eur.J.Phys.26, pp 545-560, (2005) + // or + // Silenko, Phys.Rev.ST Accel.Beams 9:034003, (2006) + + // dS/dt = (e/m) S \cross + // MDM: [ (g/2-1 +1/\gamma) B + // -(g/2-1)\gamma/(\gamma+1) (\beta \cdot B)\beta + // -(g/2-\gamma/(\gamma+1) \beta \cross E + // + // EDM: eta/2( E - gamma/(gamma+1) \beta (\beta \cdot E) + // + \beta \cross B ) ] + // + // where + // S = \vec{s}, where S^2 = 1 + // B = \vec{B} + // \beta = \vec{\beta} = \beta \vec{u} with u^2 = 1 + // E = \vec{E} + + G4double pSquared = y[3]*y[3] + y[4]*y[4] + y[5]*y[5] ; + + G4double Energy = std::sqrt( pSquared + fMassCof ); + G4double cof2 = Energy/c_light ; + + G4double pModuleInverse = 1.0/std::sqrt(pSquared) ; + + G4double inverse_velocity = Energy * pModuleInverse / c_light; + + G4double cof1 = fElectroMagCof*pModuleInverse ; + + dydx[0] = y[3]*pModuleInverse ; + dydx[1] = y[4]*pModuleInverse ; + dydx[2] = y[5]*pModuleInverse ; + + dydx[3] = cof1*(cof2*Field[3] + (y[4]*Field[2] - y[5]*Field[1])) ; + + dydx[4] = cof1*(cof2*Field[4] + (y[5]*Field[0] - y[3]*Field[2])) ; + + dydx[5] = cof1*(cof2*Field[5] + (y[3]*Field[1] - y[4]*Field[0])) ; + + dydx[6] = dydx[8] = 0.;//not used + + // Lab Time of flight + dydx[7] = inverse_velocity; + + G4ThreeVector BField(Field[0],Field[1],Field[2]); + G4ThreeVector EField(Field[3],Field[4],Field[5]); + + EField /= c_light; + + G4ThreeVector u(y[3], y[4], y[5]); + u *= pModuleInverse; + + G4double udb = anomaly*beta*gamma/(1.+gamma) * (BField * u); + G4double ucb = (anomaly+1./gamma)/beta; + G4double uce = anomaly + 1./(gamma+1.); + G4double ude = beta*gamma/(1.+gamma)*(EField*u); + + G4ThreeVector Spin(y[9],y[10],y[11]); + + G4ThreeVector dSpin + = ParticleCharge*omegac*( ucb*(Spin.cross(BField))-udb*(Spin.cross(u)) + // from Jackson + // -uce*Spin.cross(u.cross(EField)) ) + // but this form has one less operation + - uce*(u*(Spin*EField) - EField*(Spin*u)) + +eta/2.*(Spin.cross(EField) - ude*(Spin.cross(u)) + // +Spin.cross(u.cross(Bfield)) + + (u*(Spin*BField) - BField*(Spin*u)) + ) + ); + + dydx[ 9] = dSpin.x(); + dydx[10] = dSpin.y(); + dydx[11] = dSpin.z(); + + return ; +} diff --git a/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc b/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc index 8329d92780..cd15266d7d 100644 --- a/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc +++ b/source/geometry/magneticfield/src/G4EqEMFieldWithSpin.cc @@ -24,17 +24,16 @@ // ******************************************************************** // // -// $Id: G4EqEMFieldWithSpin.cc,v 1.4 2008/11/21 21:17:03 gum Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4EqEMFieldWithSpin.cc,v 1.8 2009/11/06 22:31:35 gum Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // This is the standard right-hand side for equation of motion. // -// The only case another is required is when using a moving reference -// frame ... or extending the class to include additional Forces, -// eg an electric field -// // 30.08.2007 Chris Gong, Peter Gumplinger +// 14.02.2009 Kevin Lynch +// 06.11.2009 Hiromi Iinuma see: +// http://hypernews.slac.stanford.edu/HyperNews/geant4/get/emfields/161.html // // ------------------------------------------------------------------- @@ -44,8 +43,8 @@ #include "globals.hh" G4EqEMFieldWithSpin::G4EqEMFieldWithSpin(G4ElectroMagneticField *emField ) - : G4EquationOfMotion( emField ) -{ + : G4EquationOfMotion( emField ) +{ anomaly = 0.0011659208; } @@ -78,8 +77,21 @@ G4EqEMFieldWithSpin::EvaluateRhsGivenB(const G4double y[], { // Components of y: - // 0-2 dr/ds, - // 3-5 dp/ds - momentum derivatives + // 0-2 dr/ds, + // 3-5 dp/ds - momentum derivatives + // 9-11 dSpin/ds = (1/beta) dSpin/dt - spin derivatives + + // The BMT equation, following J.D.Jackson, Classical + // Electrodynamics, Second Edition, + // dS/dt = (e/mc) S \cross + // [ (g/2-1 +1/\gamma) B + // -(g/2-1)\gamma/(\gamma+1) (\beta \cdot B)\beta + // -(g/2-\gamma/(\gamma+1) \beta \cross E ] + // where + // S = \vec{s}, where S^2 = 1 + // B = \vec{B} + // \beta = \vec{\beta} = \beta \vec{u} with u^2 = 1 + // E = \vec{E} G4double pSquared = y[3]*y[3] + y[4]*y[4] + y[5]*y[5] ; @@ -88,14 +100,10 @@ G4EqEMFieldWithSpin::EvaluateRhsGivenB(const G4double y[], G4double pModuleInverse = 1.0/std::sqrt(pSquared) ; - // G4double inverse_velocity = Energy * c_light * pModuleInverse; G4double inverse_velocity = Energy * pModuleInverse / c_light; G4double cof1 = fElectroMagCof*pModuleInverse ; - // G4double vDotE = y[3]*Field[3] + y[4]*Field[4] + y[5]*Field[5] ; - - dydx[0] = y[3]*pModuleInverse ; dydx[1] = y[4]*pModuleInverse ; dydx[2] = y[5]*pModuleInverse ; @@ -112,20 +120,25 @@ G4EqEMFieldWithSpin::EvaluateRhsGivenB(const G4double y[], dydx[7] = inverse_velocity; G4ThreeVector BField(Field[0],Field[1],Field[2]); + G4ThreeVector EField(Field[3],Field[4],Field[5]); + + EField /= c_light; G4ThreeVector u(y[3], y[4], y[5]); u *= pModuleInverse; G4double udb = anomaly*beta*gamma/(1.+gamma) * (BField * u); G4double ucb = (anomaly+1./gamma)/beta; + G4double uce = anomaly + 1./(gamma+1.); G4ThreeVector Spin(y[9],y[10],y[11]); - if (Spin.mag() > 0.) Spin = Spin.unit(); - - G4ThreeVector dSpin; - - dSpin = ParticleCharge*omegac*(ucb*(Spin.cross(BField))-udb*(Spin.cross(u))); + G4ThreeVector dSpin + = ParticleCharge*omegac*( ucb*(Spin.cross(BField))-udb*(Spin.cross(u)) + // from Jackson + // -uce*Spin.cross(u.cross(EField)) ); + // but this form has one less operation + - uce*(u*(Spin*EField) - EField*(Spin*u)) ); dydx[ 9] = dSpin.x(); dydx[10] = dSpin.y(); diff --git a/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc b/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc index a7d647f279..70cbdb70ce 100644 --- a/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc +++ b/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MagIntegratorDriver.cc,v 1.49 2007/08/17 12:30:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MagIntegratorDriver.cc,v 1.53 2009/11/05 22:31:43 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // @@ -52,7 +52,8 @@ const G4double G4MagInt_Driver::max_stepping_increase = 5.0; const G4double G4MagInt_Driver::max_stepping_decrease = 0.1; -// The (default) maximum number of steps is Base divided by the order of Stepper +// The (default) maximum number of steps is Base +// divided by the order of Stepper // const G4int G4MagInt_Driver::fMaxStepBase = 250; // Was 5000 @@ -60,77 +61,80 @@ const G4int G4MagInt_Driver::fMaxStepBase = 250; // Was 5000 #define G4FLD_STATS 1 #endif +// --------------------------------------------------------- + // Constructor // G4MagInt_Driver::G4MagInt_Driver( G4double hminimum, - G4MagIntegratorStepper *pItsStepper, - G4int numComponents, - G4int statisticsVerbose) + G4MagIntegratorStepper *pItsStepper, + G4int numComponents, + G4int statisticsVerbose) : fSmallestFraction( 1.0e-12 ), fNoIntegrationVariables(numComponents), fMinNoVars(12), fNoVars( std::max( fNoIntegrationVariables, fMinNoVars )), fVerboseLevel(0), - fNoTotalSteps(0), fNoBadSteps(0), fNoSmallSteps(0), fNoInitialSmallSteps(0), - fDyerr_max(0.0), fDyerr_mx2(0.0), + fNoTotalSteps(0), fNoBadSteps(0), fNoSmallSteps(0), + fNoInitialSmallSteps(0), fDyerr_max(0.0), fDyerr_mx2(0.0), fDyerrPos_smTot(0.0), fDyerrPos_lgTot(0.0), fDyerrVel_lgTot(0.0), fSumH_sm(0.0), fSumH_lg(0.0), fStatisticsVerboseLevel(statisticsVerbose) { -// In order to accomodate "Laboratory Time", which is [7], fMinNoVars=8 is required. -// For proper time of flight and spin, fMinNoVars must be 12 + // In order to accomodate "Laboratory Time", which is [7], fMinNoVars=8 + // is required. For proper time of flight and spin, fMinNoVars must be 12 - // fNoVars= std::max( fNoVars, fMinNoVars ); - RenewStepperAndAdjust( pItsStepper ); - fMinimumStep= hminimum; - fMaxNoSteps = fMaxStepBase / pIntStepper->IntegratorOrder(); + RenewStepperAndAdjust( pItsStepper ); + fMinimumStep= hminimum; + fMaxNoSteps = fMaxStepBase / pIntStepper->IntegratorOrder(); #ifdef G4DEBUG_FIELD - fVerboseLevel=2; + fVerboseLevel=2; #endif - if( (fVerboseLevel > 0) || (fStatisticsVerboseLevel > 1) ){ - G4cout << "MagIntDriver version: Accur-Adv: invE_nS, QuickAdv-2sqrt with Statistics " + if( (fVerboseLevel > 0) || (fStatisticsVerboseLevel > 1) ) + { + G4cout << "MagIntDriver version: Accur-Adv: " + << "invE_nS, QuickAdv-2sqrt with Statistics " #ifdef G4FLD_STATS - << " enabled " + << " enabled " #else - << " disabled " + << " disabled " #endif - << G4endl; - } + << G4endl; + } } +// --------------------------------------------------------- + // Destructor // G4MagInt_Driver::~G4MagInt_Driver() { - if( fStatisticsVerboseLevel > 1 ){ - PrintStatisticsReport() ; - } - // Future: for default verbose level, print an understandable summary + if( fStatisticsVerboseLevel > 1 ) + { + PrintStatisticsReport(); + } } - -// To add much printing for debugging purposes, uncomment this: -// #define G4DEBUG_FIELD 1 +// To add much printing for debugging purposes, uncomment the following // and set verbose level to 1 or higher value ! +// #define G4DEBUG_FIELD 1 + +// --------------------------------------------------------- G4bool G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current, - G4double hstep, - G4double eps, - G4double hinitial ) -// const G4double dydx[6], // We could may add this ?? - -// Runge-Kutta driver with adaptive stepsize control. Integrate starting -// values at y_current over hstep x2 with accuracy eps. -// On output ystart is replaced by values at the end of the integration -// interval. -// RightHandSide is the right-hand side of ODE system. -// The source is similar to odeint routine from NRC p.721-722 . - + G4double hstep, + G4double eps, + G4double hinitial ) { - G4int nstp, i, no_warnings=0;; - G4double x, hnext, hdid, h ; + // Runge-Kutta driver with adaptive stepsize control. Integrate starting + // values at y_current over hstep x2 with accuracy eps. + // On output ystart is replaced by values at the end of the integration + // interval. RightHandSide is the right-hand side of ODE system. + // The source is similar to odeint routine from NRC p.721-722 . + + G4int nstp, i, no_warnings=0; + G4double x, hnext, hdid, h; #ifdef G4DEBUG_FIELD static G4int dbg=1; @@ -148,11 +152,12 @@ G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current, G4int noFullIntegr=0, noSmallIntegr = 0 ; static G4int noGoodSteps =0 ; // Bad = chord > curve-len - const int nvar= fNoVars; + const G4int nvar= fNoVars; G4FieldTrack yStartFT(y_current); - // Ensure that hstep > 0 + // Ensure that hstep > 0 + // if( hstep <= 0.0 ) { if(hstep==0.0) @@ -180,303 +185,340 @@ G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current, x1= startCurveLength; x2= x1 + hstep; - if( (hinitial > 0.0) - && (hinitial < hstep) - && (hinitial > perMillion * hstep) ){ + if ( (hinitial > 0.0) && (hinitial < hstep) + && (hinitial > perMillion * hstep) ) + { h = hinitial; - }else{ - // Initial Step size "h" defaults to the full interval + } + else // Initial Step size "h" defaults to the full interval + { h = hstep; } x = x1; - for(i=0;iRightHandSide( y, dydx ); - - fNoTotalSteps++; - // Perform the Integration - // - if( h > fMinimumStep ){ - OneGoodStep(y,dydx,x,h,eps,hdid,hnext) ; - //-------------------------------------- - lastStepSucceeded= (hdid == h); -#ifdef G4DEBUG_FIELD - if(dbg>2) PrintStatus( ySubStepStart, xSubStart, y, x, h, nstp); // Only +#ifdef G4DEBUG_FIELD + for (i=0;i1) OneGoodStep(y,dydx,x,h,2*eps,hdid,hnext) ; - // if(dbg>1) PrintStatus( ystart, x1, y, x, h, -nstp); + // Old method - inline call to Equation of Motion + // pIntStepper->RightHandSide( y, dydx ); + // New method allows to cache field, or state (eg momentum magnitude) + pIntStepper->ComputeRightHandSide( y, dydx ); + fNoTotalSteps++; - yFldTrk.DumpToArray(y); + // Perform the Integration + // + if( h > fMinimumStep ) + { + OneGoodStep(y,dydx,x,h,eps,hdid,hnext) ; + //-------------------------------------- + lastStepSucceeded= (hdid == h); +#ifdef G4DEBUG_FIELD + if (dbg>2) + { + PrintStatus( ySubStepStart, xSubStart, y, x, h, nstp); // Only + } +#endif + } + else + { + G4FieldTrack yFldTrk( G4ThreeVector(0,0,0), + G4ThreeVector(0,0,0), 0., 0., 0., 0. ); + G4double dchord_step, dyerr, dyerr_len; // What to do with these ? + yFldTrk.LoadFromArray(y, fNoIntegrationVariables); + yFldTrk.SetCurveLength( x ); + + QuickAdvance( yFldTrk, dydx, h, dchord_step, dyerr_len ); + //----------------------------------------------------- + + yFldTrk.DumpToArray(y); #ifdef G4FLD_STATS - fNoSmallSteps++; - if( dyerr_len > fDyerr_max) fDyerr_max= dyerr_len; - fDyerrPos_smTot += dyerr_len; - fSumH_sm += h; // Length total for 'small' steps - if(nstp<=1) fNoInitialSmallSteps++; + fNoSmallSteps++; + if ( dyerr_len > fDyerr_max) { fDyerr_max= dyerr_len; } + fDyerrPos_smTot += dyerr_len; + fSumH_sm += h; // Length total for 'small' steps + if (nstp<=1) { fNoInitialSmallSteps++; } #endif #ifdef G4DEBUG_FIELD - if(dbg>1) { - if(fNoSmallSteps<2) PrintStatus( ySubStepStart, x1, y, x, h, -nstp); - G4cout << "Another sub-min step, no " << fNoSmallSteps - << " of " << fNoTotalSteps << " this time " << nstp << G4endl; - PrintStatus( ySubStepStart, x1, y, x, h, nstp); // Only this - G4cout << " dyerr= " << dyerr_len << " relative = " << dyerr_len / h - << " epsilon= " << eps << " hstep= " << hstep - << " h= " << h << " hmin= " << fMinimumStep - << G4endl; + if (dbg>1) + { + if(fNoSmallSteps<2) { PrintStatus(ySubStepStart, x1, y, x, h, -nstp); } + G4cout << "Another sub-min step, no " << fNoSmallSteps + << " of " << fNoTotalSteps << " this time " << nstp << G4endl; + PrintStatus( ySubStepStart, x1, y, x, h, nstp); // Only this + G4cout << " dyerr= " << dyerr_len << " relative = " << dyerr_len / h + << " epsilon= " << eps << " hstep= " << hstep + << " h= " << h << " hmin= " << fMinimumStep << G4endl; + } +#endif + if( h == 0.0 ) + { + G4Exception("G4MagInt_Driver::AccurateAdvance()", + "Integration Step became Zero", + FatalException, "IntegrationStepUnderflow."); + } + dyerr = dyerr_len / h; + hdid= h; + x += hdid; + + // Compute suggested new step + hnext= ComputeNewStepSize( dyerr/eps, h); + + // .. hnext= ComputeNewStepSize_WithinLimits( dyerr/eps, h); + lastStepSucceeded= (dyerr<= eps); + } + + if (lastStepSucceeded) { noFullIntegr++; } + else { noSmallIntegr++; } + + G4ThreeVector EndPos( y[0], y[1], y[2] ); + +#ifdef G4DEBUG_FIELD + if( (dbg>0) && (dbg<=2) && (nstp>nStpPr)) + { + if( nstp==nStpPr ) { G4cout << "***** Many steps ****" << G4endl; } + G4cout << "hdid=" << std::setw(12) << hdid << " " + << "hnext=" << std::setw(12) << hnext << " " << G4endl; + PrintStatus( ystart, x1, y, x, h, (nstp==nStpPr) ? -nstp: nstp); + } +#endif + + // Check the endpoint + G4double endPointDist= (EndPos-StartPos).mag(); + if ( endPointDist >= hdid*(1.+perMillion) ) + { + fNoBadSteps++; + + // Issue a warning only for gross differences - + // we understand how small difference occur. + if ( endPointDist >= hdid*(1.+perThousand) ) + { +#ifdef G4DEBUG_FIELD + if (dbg) + { + WarnEndPointTooFar ( endPointDist, hdid, eps, dbg ); + G4cerr << " Total steps: bad " << fNoBadSteps + << " good " << noGoodSteps << " current h= " << hdid + << G4endl; + PrintStatus( ystart, x1, y, x, hstep, no_warnings?nstp:-nstp); } -#endif - if( h == 0.0 ) { - G4Exception("G4MagInt_Driver::AccurateAdvance()", "Integration Step became Zero", - FatalException, "IntegrationStepUnderflow."); - } - dyerr = dyerr_len / h; - hdid= h; - x += hdid; - // Compute suggested new step - hnext= ComputeNewStepSize( dyerr/eps, h); - // .. hnext= ComputeNewStepSize_WithinLimits( dyerr/eps, h); - lastStepSucceeded= (dyerr<= eps); - } - - if(lastStepSucceeded) noFullIntegr++ ; else noSmallIntegr++ ; - G4ThreeVector EndPos( y[0], y[1], y[2] ); - -#ifdef G4DEBUG_FIELD - if( (dbg>0) && (dbg<=2) && (nstp>nStpPr)) { - if( nstp==nStpPr ) G4cout << "***** Many steps ****" << G4endl; - G4cout << "hdid=" << std::setw(12) << hdid << " " - << "hnext=" << std::setw(12) << hnext << " " << G4endl; - PrintStatus( ystart, x1, y, x, h, (nstp==nStpPr) ? -nstp: nstp); - } #endif - - // Check the endpoint - G4double endPointDist= (EndPos-StartPos).mag(); - if( endPointDist >= hdid*(1.+perMillion) ){ - fNoBadSteps ++; - // Issue a warning only for gross differences - - // we understand how small difference occur. - if( endPointDist >= hdid*(1.+perThousand) ){ -#ifdef G4DEBUG_FIELD - if(dbg){ - WarnEndPointTooFar ( endPointDist, hdid, eps, dbg ); - G4cerr << " Total steps: bad " << fNoBadSteps << " good " << noGoodSteps << " current h= " << hdid << G4endl; - // G4cerr << "Mid:EndPtFar> "; - PrintStatus( ystart, x1, y, x, hstep, no_warnings?nstp:-nstp); - // Potentially add as arguments: - as Initial Force - } -#endif - no_warnings++; - } - } else { // ie (!dbg) - noGoodSteps ++; - } + no_warnings++; + } + } + else + { + noGoodSteps ++; + } // #endif - // Avoid numerous small last steps - if( (h < eps * hstep) || (h < fSmallestFraction * startCurveLength) ) { - // No more integration -- the next step will not happen - lastStep = true; - // fNoLastStep++; - } else { - - // Check the proposed next stepsize - if(std::fabs(hnext) <= Hmin()) + // Avoid numerous small last steps + if( (h < eps * hstep) || (h < fSmallestFraction * startCurveLength) ) + { + // No more integration -- the next step will not happen + lastStep = true; + } + else + { + // Check the proposed next stepsize + if(std::fabs(hnext) <= Hmin()) + { +#ifdef G4DEBUG_FIELD + // If simply a very small interval is being integrated, do not warn + if( (x < x2 * (1-eps) ) && // The last step can be small: OK + (std::fabs(hstep) > Hmin()) ) // and if we are asked, it's OK { -#ifdef G4DEBUG_FIELD - // If simply a very small interval is being integrated, do not warn - if( (x < x2 * (1-eps) ) && // The last step can be small: it's OK - (std::fabs(hstep) > Hmin()) // and if we are asked, it's OK - // && (hnext < hstep * PerThousand ) - ) - { - if(dbg>0){ // G4cerr << "Mid:SmallStep> "; - WarnSmallStepSize( hnext, hstep, h, x-x1, nstp ); - PrintStatus( ystart, x1, y, x, hstep, no_warnings?nstp:-nstp); - } - no_warnings++; - } + if(dbg>0) + { + WarnSmallStepSize( hnext, hstep, h, x-x1, nstp ); + PrintStatus( ystart, x1, y, x, hstep, no_warnings?nstp:-nstp); + } + no_warnings++; + } #endif - // Make sure that the next step is at least Hmin. - h = Hmin(); - }else{ - h = hnext ; - } + // Make sure that the next step is at least Hmin. + h = Hmin(); + } + else + { + h = hnext; + } - // Ensure that the next step does not overshoot - if( x+h > x2 ) { - h = x2 - x ; // When stepsize overshoots, decrease it! - // Must cope with difficult rounding-error issues if hstep << x2 - } - // if( h < smallestFraction * startCurveLength ) - if( h == 0.0 ){ - // Cannot progress - accept this as last step - by default - lastStep = true; -#ifdef G4DEBUG_FIELD - if(dbg){ - G4cout << "Warning: G4MagIntegratorDriver::AccurateAdvance" << G4endl - << " Integration step 'h' became " << h << " due to roundoff " << G4endl - << " Forcing termination of advance." << G4endl; - } + // Ensure that the next step does not overshoot + if ( x+h > x2 ) + { // When stepsize overshoots, decrease it! + h = x2 - x ; // Must cope with difficult rounding-error + } // issues if hstep << x2 + + if ( h == 0.0 ) + { + // Cannot progress - accept this as last step - by default + lastStep = true; +#ifdef G4DEBUG_FIELD + if (dbg) + { + G4cout << "Warning: G4MagIntegratorDriver::AccurateAdvance" + << G4endl + << " Integration step 'h' became " + << h << " due to roundoff " << G4endl + << " Forcing termination of advance." << G4endl; + } #endif - } - } - - }while ( ((nstp++)<=fMaxNoSteps) - && (x < x2) // Have we reached the end ? - // --> a better test might be x-x2 > an_epsilon - && (!lastStep) - ); + } + } + } while ( ((nstp++)<=fMaxNoSteps) && (x < x2) && (!lastStep) ); + // Have we reached the end ? + // --> a better test might be x-x2 > an_epsilon succeeded= (x>=x2); // If it was a "forced" last step - for(i=0;i fMaxNoSteps){ - no_warnings++; - succeeded = false; -#ifdef G4DEBUG_FIELD - if(dbg){ - WarnTooManyStep( x1, x2, x ); // Issue WARNING - PrintStatus( yEnd, x1, y, x, hstep, -nstp); - } + if(nstp > fMaxNoSteps) + { + no_warnings++; + succeeded = false; +#ifdef G4DEBUG_FIELD + if (dbg) + { + WarnTooManyStep( x1, x2, x ); // Issue WARNING + PrintStatus( yEnd, x1, y, x, hstep, -nstp); + } #endif } #ifdef G4DEBUG_FIELD - if( dbg && no_warnings ){ - G4cerr << "G4MagIntegratorDriver exit status: no-steps " << nstp < 10 ){ - G4cerr<< " Warning (G4MagIntegratorDriver::AccurateAdvance): The stepsize for the " - << " next iteration=" << hnext << " is too small " - << "- in Step number " << nstp << "." << G4endl; - G4cerr << " The minimum for the driver is " << Hmin() << G4endl ; - G4cerr << " Requested integr. length was " << hstep << " ." << G4endl ; - G4cerr << " The size of this sub-step was " << h << " ." << G4endl ; - G4cerr << " The integrations has already gone " << xDone << G4endl ; - }else{ - G4cerr<< " G4MagInt_Driver: Too small 'next' step " << hnext - << " step-no " << nstp ; // << G4setw(4) + if( (noWarningsIssued < maxNoWarnings) || fVerboseLevel > 10 ) + { + G4cerr << " Warning (G4MagIntegratorDriver::AccurateAdvance):" << G4endl + << " The stepsize for the next iteration, " << hnext + << ", is too small - in Step number " << nstp << "." << G4endl; + G4cerr << " The minimum for the driver is " << Hmin() << G4endl; + G4cerr << " Requested integr. length was " << hstep << " ." << G4endl; + G4cerr << " The size of this sub-step was " << h << " ." << G4endl; + G4cerr << " The integrations has already gone " << xDone << G4endl; + } + else + { + G4cerr << " G4MagInt_Driver: Too small 'next' step " << hnext + << " step-no " << nstp << G4endl; G4cerr << " this sub-step " << h - << " req_tot_len " << hstep - << " done " << xDone - << " min " << Hmin() - << G4endl ; + << " req_tot_len " << hstep + << " done " << xDone + << " min " << Hmin() + << G4endl; } noWarningsIssued++; } +// --------------------------------------------------------- + void G4MagInt_Driver::WarnTooManyStep( G4double x1start, - G4double x2end, - G4double xCurrent) + G4double x2end, + G4double xCurrent) { - G4cerr << " Warning (G4MagIntegratorDriver): The number of steps " - << "used in the Integration driver (Runge-Kutta) is too many. " - << G4endl ; - G4cerr << "Integration of the interval was not completed - only a " - << (xCurrent-x1start)*100/(x2end-x1start) - <<" % fraction of it was Done." << G4endl; + G4cerr << " Warning (G4MagIntegratorDriver):" << G4endl + << " The number of steps used in the Integration driver" + << " (Runge-Kutta) is too many." << G4endl; + G4cerr << " Integration of the interval was not completed !" << G4endl + << " Only a " << (xCurrent-x1start)*100/(x2end-x1start) + <<" % fraction of it was done." << G4endl; } +// --------------------------------------------------------- + void G4MagInt_Driver::WarnEndPointTooFar (G4double endPointDist, - G4double h , - G4double eps, - G4int dbg) + G4double h , + G4double eps, + G4int dbg) { - static G4double maxRelError= 0.0, maxRelError_last_printed=0.0; - G4bool isNewMax, prNewMax; + static G4double maxRelError=0.0, maxRelError_last_printed=0.0; + G4bool isNewMax, prNewMax; - isNewMax = endPointDist > (1.0 + maxRelError) * h; - prNewMax = endPointDist > (1.0 + 1.05 * maxRelError) * h; - if( isNewMax ) - maxRelError= endPointDist / h - 1.0; - if( prNewMax ) - maxRelError_last_printed = maxRelError; + isNewMax = endPointDist > (1.0 + maxRelError) * h; + prNewMax = endPointDist > (1.0 + 1.05 * maxRelError) * h; + if( isNewMax ) { maxRelError= endPointDist / h - 1.0; } + if( prNewMax ) { maxRelError_last_printed = maxRelError; } - if( dbg - && (h > G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()) - && ( (dbg>1) || prNewMax || (endPointDist >= h*(1.+eps) ) ) - ){ - static G4int noWarnings = 0; - if( (noWarnings ++ < 10) || (dbg>2) ){ - G4cerr << " Warning (G4MagIntegratorDriver): " - << " The integration produced an endpoint which " << G4endl - << " is further from the startpoint than the curve length." << G4endl; + if( dbg && (h > G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()) + && ( (dbg>1) || prNewMax || (endPointDist >= h*(1.+eps) ) ) ) + { + static G4int noWarnings = 0; + if( (noWarnings ++ < 10) || (dbg>2) ) + { + G4cerr << " Warning (G4MagIntegratorDriver): " << G4endl + << " The integration produced an endpoint which " << G4endl + << " is further from the startpoint than the curve length." + << G4endl; - G4cerr << " Distance of endpoints = " << endPointDist - << " curve length = " << h - << " Difference (curveLen-endpDist)= " << (h - endPointDist) - << " relative = " << (h-endPointDist) / h - << " epsilon = " << eps - << G4endl; - }else{ - G4cerr << " Warning:" - << " dist_e= " << endPointDist - << " h_step = " << h - << " Diff (hs-ed)= " << (h - endPointDist) - << " rel = " << (h-endPointDist) / h - << " eps = " << eps - << " (from G4MagInt_Driver)" << G4endl; - } - } + G4cerr << " Distance of endpoints = " << endPointDist + << " curve length = " << h + << " Difference (curveLen-endpDist)= " << (h - endPointDist) + << " relative = " << (h-endPointDist) / h + << " epsilon = " << eps + << G4endl; + } + else + { + G4cerr << " Warning:" + << " dist_e= " << endPointDist + << " h_step = " << h + << " Diff (hs-ed)= " << (h - endPointDist) + << " rel = " << (h-endPointDist) / h + << " eps = " << eps + << " (from G4MagInt_Driver)" << G4endl; + } + } } + // --------------------------------------------------------- void G4MagInt_Driver::OneGoodStep( G4double y[], // InOut - const G4double dydx[], - G4double& x, // InOut - G4double htry, - G4double eps_rel_max, - G4double& hdid, // Out - G4double& hnext ) // Out + const G4double dydx[], + G4double& x, // InOut + G4double htry, + G4double eps_rel_max, + G4double& hdid, // Out + G4double& hnext ) // Out // Driver for one Runge-Kutta Step with monitoring of local truncation error // to ensure accuracy and adjust stepsize. Input are dependent variable @@ -492,225 +534,237 @@ G4MagInt_Driver::OneGoodStep( G4double y[], // InOut // 16.2 Adaptive StepSize Control for Runge-Kutta, p. 719 { - // G4double errpos_rel_sq, errvel_rel_sq - G4double errmax_sq; - // G4double errmax; - G4double h, htemp, xnew ; + G4double errmax_sq; + G4double h, htemp, xnew ; - G4double yerr[G4FieldTrack::ncompSVEC], ytemp[G4FieldTrack::ncompSVEC]; + G4double yerr[G4FieldTrack::ncompSVEC], ytemp[G4FieldTrack::ncompSVEC]; - h = htry ; // Set stepsize to the initial trial value + h = htry ; // Set stepsize to the initial trial value - // G4double inv_epspos_sq = 1.0 / eps * eps; - G4double inv_eps_vel_sq = 1.0 / (eps_rel_max*eps_rel_max); + G4double inv_eps_vel_sq = 1.0 / (eps_rel_max*eps_rel_max); - G4double errpos_sq=0.0; // square of displacement error - G4double errvel_sq=0.0; // square of momentum vector difference + G4double errpos_sq=0.0; // square of displacement error + G4double errvel_sq=0.0; // square of momentum vector difference + G4double errspin_sq=0.0; // square of spin vector difference - G4int iter; + G4int iter; - static G4int tot_no_trials=0; - const G4int max_trials=100; + static G4int tot_no_trials=0; + const G4int max_trials=100; - for (iter=0; iter Stepper(y,dydx,h,ytemp,yerr); - // ******* - G4double eps_pos = eps_rel_max * std::max(h, fMinimumStep); - G4double inv_eps_pos_sq = 1.0 / (eps_pos*eps_pos); + G4ThreeVector Spin(y[9],y[10],y[11]); + G4bool hasSpin= (Spin.mag2() > 0.0); - // Evaluate accuracy - // - errpos_sq = sqr(yerr[0]) + sqr(yerr[1]) + sqr(yerr[2]) ; - // errpos_sq /= eps_pos*eps_pos; // Scale to tolerance - errpos_sq *= inv_eps_pos_sq; // Scale relative to required tolerance + for (iter=0; iter Stepper(y,dydx,h,ytemp,yerr); + // ******* + G4double eps_pos = eps_rel_max * std::max(h, fMinimumStep); + G4double inv_eps_pos_sq = 1.0 / (eps_pos*eps_pos); - // Accuracy for momentum - errvel_sq = (sqr(yerr[3]) + sqr(yerr[4]) + sqr(yerr[5]) ) - / (sqr(y[3]) + sqr(y[4]) + sqr(y[5]) ); - // errvel_sq /= eps_rel_max*eps_rel_max; - errvel_sq *= inv_eps_vel_sq; + // Evaluate accuracy + // + errpos_sq = sqr(yerr[0]) + sqr(yerr[1]) + sqr(yerr[2]) ; + errpos_sq *= inv_eps_pos_sq; // Scale relative to required tolerance - errmax_sq = std::max( errpos_sq, errvel_sq ); // Square of maximum error - // errmax = std::sqrt( errmax_sq ); - if(errmax_sq <= 1.0 ) break ; // Step succeeded. + // Accuracy for momentum + errvel_sq = (sqr(yerr[3]) + sqr(yerr[4]) + sqr(yerr[5]) ) + / (sqr(y[3]) + sqr(y[4]) + sqr(y[5]) ); + errvel_sq *= inv_eps_vel_sq; + errmax_sq = std::max( errpos_sq, errvel_sq ); // Square of maximum error - // Step failed; compute the size of retrial Step. - htemp = GetSafety()*h* std::pow( errmax_sq, 0.5*GetPshrnk() ); + if( hasSpin ) + { + // Accuracy for spin + errspin_sq = ( sqr(yerr[9]) + sqr(yerr[10]) + sqr(yerr[11]) ) + / ( sqr(y[9]) + sqr(y[10]) + sqr(y[11]) ); + errspin_sq *= inv_eps_vel_sq; + } - if(htemp >= 0.1*h) h = htemp ; // Truncation error too large, - else h = 0.1*h ; // reduce stepsize, but no more - // than a factor of 10 - xnew = x + h ; - if(xnew == x) { - G4cerr<<"G4MagIntegratorDriver::OneGoodStep: Stepsize underflow in Stepper "<= 0.1*h) { h = htemp; } // Truncation error too large, + else { h = 0.1*h; } // reduce stepsize, but no more + // than a factor of 10 + xnew = x + h; + if(xnew == x) + { + G4cerr << "G4MagIntegratorDriver::OneGoodStep:" << G4endl + << " Stepsize underflow in Stepper " << G4endl ; + G4cerr << " Step's start x=" << x << " and end x= " << xnew + << " are equal !! " << G4endl + <<" Due to step-size= " << h + << " . Note that input step was " << htry << G4endl; + break; + } + } #ifdef G4FLD_STATS - // Sum of squares of position error // and momentum dir (underestimated) - fSumH_lg += h; - fDyerrPos_lgTot += errpos_sq; // + errvel_last_sq * h * h ; - fDyerrVel_lgTot += errvel_sq * h * h; + // Sum of squares of position error // and momentum dir (underestimated) + fSumH_lg += h; + fDyerrPos_lgTot += errpos_sq; + fDyerrVel_lgTot += errvel_sq * h * h; #endif - // Compute size of next Step - if(errmax_sq > errcon*errcon) - hnext = GetSafety()*h*std::pow(errmax_sq, 0.5*GetPgrow()) ; - else hnext = max_stepping_increase*h ; - // No more than a factor of 5 increase + // Compute size of next Step + if (errmax_sq > errcon*errcon) + { + hnext = GetSafety()*h*std::pow(errmax_sq, 0.5*GetPgrow()); + } + else + { + hnext = max_stepping_increase*h ; // No more than a factor of 5 increase + } + x += (hdid = h); - x += (hdid = h) ; - - int i; - const int nvar= fNoIntegrationVariables; - for(i=0;i Stepper(yarrin, dydx, hstep, yarrout, yerr_vec) ; - // ******* + // Do an Integration Step + pIntStepper-> Stepper(yarrin, dydx, hstep, yarrout, yerr_vec) ; + // ******* - // Estimate curve-chord distance - dchord_step= pIntStepper-> DistChord(); - // ********* + // Estimate curve-chord distance + dchord_step= pIntStepper-> DistChord(); + // ********* - // Put back the values. - y_posvel.LoadFromArray( yarrout, fNoIntegrationVariables ); // yarrout ==> y_posvel - y_posvel.SetCurveLength( s_start + hstep ); + // Put back the values. yarrout ==> y_posvel + y_posvel.LoadFromArray( yarrout, fNoIntegrationVariables ); + y_posvel.SetCurveLength( s_start + hstep ); #ifdef G4DEBUG_FIELD - if(fVerboseLevel>2) { - G4cout << "G4MagIntDrv: Quick Advance" << G4endl; - PrintStatus( yarrin, s_start, yarrout, s_start+hstep, hstep, 1); - } + if(fVerboseLevel>2) + { + G4cout << "G4MagIntDrv: Quick Advance" << G4endl; + PrintStatus( yarrin, s_start, yarrout, s_start+hstep, hstep, 1); + } #endif - // A single measure of the error - // TO-DO : account for energy, spin, ... ? - vel_mag_sq = ( sqr(yarrout[3])+sqr(yarrout[4])+sqr(yarrout[5]) ); - inv_vel_mag_sq = 1.0 / vel_mag_sq; - dyerr_pos_sq = ( sqr(yerr_vec[0])+sqr(yerr_vec[1])+sqr(yerr_vec[2])); - dyerr_mom_sq = ( sqr(yerr_vec[3])+sqr(yerr_vec[4])+sqr(yerr_vec[5])); + // A single measure of the error + // TO-DO : account for energy, spin, ... ? + vel_mag_sq = ( sqr(yarrout[3])+sqr(yarrout[4])+sqr(yarrout[5]) ); + inv_vel_mag_sq = 1.0 / vel_mag_sq; + dyerr_pos_sq = ( sqr(yerr_vec[0])+sqr(yerr_vec[1])+sqr(yerr_vec[2])); + dyerr_mom_sq = ( sqr(yerr_vec[3])+sqr(yerr_vec[4])+sqr(yerr_vec[5])); + dyerr_mom_rel_sq = dyerr_mom_sq * inv_vel_mag_sq; - dyerr_mom_rel_sq = dyerr_mom_sq * inv_vel_mag_sq; - - //// Calculate also the change in the momentum squared also ??? - // G4double veloc_square = y_posvel.GetVelocity().mag2(); - // ... + // Calculate also the change in the momentum squared also ??? + // G4double veloc_square = y_posvel.GetVelocity().mag2(); + // ... #ifdef RETURN_A_NEW_STEP_LENGTH - // The following step cannot be done here because "eps" is not known. - dyerr_len = std::sqrt( dyerr_len_sq ); - dyerr_len_sq /= eps ; + // The following step cannot be done here because "eps" is not known. + dyerr_len = std::sqrt( dyerr_len_sq ); + dyerr_len_sq /= eps ; - // Look at the velocity deviation ? - // sqr(yerr_vec[3])+sqr(yerr_vec[4])+sqr(yerr_vec[5])); + // Look at the velocity deviation ? + // sqr(yerr_vec[3])+sqr(yerr_vec[4])+sqr(yerr_vec[5])); - // Set suggested new step - hstep= ComputeNewStepSize( dyerr_len, hstep); + // Set suggested new step + hstep= ComputeNewStepSize( dyerr_len, hstep); #endif - if( dyerr_pos_sq > ( dyerr_mom_rel_sq * sqr(hstep) ) ) { - dyerr = std::sqrt(dyerr_pos_sq); - }else{ - // Scale it to the current step size - for now - dyerr = std::sqrt(dyerr_mom_rel_sq) * hstep; - } + if( dyerr_pos_sq > ( dyerr_mom_rel_sq * sqr(hstep) ) ) + { + dyerr = std::sqrt(dyerr_pos_sq); + } + else + { + // Scale it to the current step size - for now + dyerr = std::sqrt(dyerr_mom_rel_sq) * hstep; + } - return true; + return true; } +// -------------------------------------------------------------------------- + #ifdef QUICK_ADV_ARRAY_IN_AND_OUT G4bool G4MagInt_Driver::QuickAdvance( - G4double yarrin[], // IN - const G4double dydx[], - G4double hstep, // In - G4double yarrout[], - G4double& dchord_step, - G4double& dyerr ) // in length + G4double yarrin[], // In + const G4double dydx[], + G4double hstep, // In + G4double yarrout[], + G4double& dchord_step, + G4double& dyerr ) // In length { - G4Exception("G4MagInt_Driver::QuickAdvance()", "NotImplemented", - FatalException, "Not yet implemented."); - - dyerr = dchord_step = hstep * yarrin[0] * dydx[0]; - yarrout[0]= yarrin[0]; + G4Exception("G4MagInt_Driver::QuickAdvance()", "NotImplemented", + FatalException, "Not yet implemented."); + dyerr = dchord_step = hstep * yarrin[0] * dydx[0]; + yarrout[0]= yarrin[0]; } #endif // -------------------------------------------------------------------------- + // This method computes new step sizes - but does not limit changes to // within certain factors // - G4double G4MagInt_Driver::ComputeNewStepSize( G4double errMaxNorm, // max error (normalised) - G4double hstepCurrent) // current step size + G4double hstepCurrent) // current step size { G4double hnew; // Compute size of next Step for a failed step - if(errMaxNorm > 1.0 ) { - + if(errMaxNorm > 1.0 ) + { // Step failed; compute the size of retrial Step. hnew = GetSafety()*hstepCurrent*std::pow(errMaxNorm,GetPshrnk()) ; - }else if(errMaxNorm > 0.0 ){ + } else if(errMaxNorm > 0.0 ) { // Compute size of next Step for a successful step hnew = GetSafety()*hstepCurrent*std::pow(errMaxNorm,GetPgrow()) ; - }else { + } else { // if error estimate is zero (possible) or negative (dubious) hnew = max_stepping_increase * hstepCurrent; } @@ -718,53 +772,59 @@ G4MagInt_Driver::ComputeNewStepSize( return hnew; } -// ----------------------------------------------------------------------------- -// This method computes new step sizes limiting changes within certain factors -// -// It shares its logic with AccurateAdvance. -// They are kept separate currently for optimisation. +// --------------------------------------------------------------------------- +// This method computes new step sizes limiting changes within certain factors +// +// It shares its logic with AccurateAdvance. +// They are kept separate currently for optimisation. +// G4double G4MagInt_Driver::ComputeNewStepSize_WithinLimits( G4double errMaxNorm, // max error (normalised) - G4double hstepCurrent) // current step size + G4double hstepCurrent) // current step size { G4double hnew; // Compute size of next Step for a failed step - if(errMaxNorm > 1.0 ) { - + if (errMaxNorm > 1.0 ) + { // Step failed; compute the size of retrial Step. hnew = GetSafety()*hstepCurrent*std::pow(errMaxNorm,GetPshrnk()) ; - if(hnew < max_stepping_decrease*hstepCurrent) - hnew = max_stepping_decrease*hstepCurrent ; + if (hnew < max_stepping_decrease*hstepCurrent) + { + hnew = max_stepping_decrease*hstepCurrent ; // reduce stepsize, but no more // than this factor (value= 1/10) - }else{ - // Compute size of next Step for a successful step - if(errMaxNorm > errcon) hnew = GetSafety()*hstepCurrent*std::pow(errMaxNorm,GetPgrow()) ; - else hnew = max_stepping_increase * hstepCurrent ; - // No more than a factor of 5 increase + } + } + else + { + // Compute size of next Step for a successful step + if (errMaxNorm > errcon) + { hnew = GetSafety()*hstepCurrent*std::pow(errMaxNorm,GetPgrow()); } + else // No more than a factor of 5 increase + { hnew = max_stepping_increase * hstepCurrent; } } - return hnew; } - +// --------------------------------------------------------------------------- void G4MagInt_Driver::PrintStatus( const G4double* StartArr, - G4double xstart, - const G4double* CurrentArr, - G4double xcurrent, - G4double requestStep, - G4int subStepNo) + G4double xstart, + const G4double* CurrentArr, + G4double xcurrent, + G4double requestStep, + G4int subStepNo) // Potentially add as arguments: // - as Initial Force // stepTaken(hdid) - last step taken // nextStep (hnext) - proposal for size { - G4FieldTrack StartFT(G4ThreeVector(0,0,0), G4ThreeVector(0,0,0), 0., 0., 0., 0. ); + G4FieldTrack StartFT(G4ThreeVector(0,0,0), + G4ThreeVector(0,0,0), 0., 0., 0., 0. ); G4FieldTrack CurrentFT (StartFT); StartFT.LoadFromArray( StartArr, fNoIntegrationVariables); @@ -775,13 +835,12 @@ void G4MagInt_Driver::PrintStatus( const G4double* StartArr, PrintStatus(StartFT, CurrentFT, requestStep, subStepNo ); } - +// --------------------------------------------------------------------------- void G4MagInt_Driver::PrintStatus( const G4FieldTrack& StartFT, - const G4FieldTrack& CurrentFT, + const G4FieldTrack& CurrentFT, G4double requestStep, - // G4double safety, G4int subStepNo) { G4int verboseLevel= fVerboseLevel; @@ -789,56 +848,54 @@ void G4MagInt_Driver::PrintStatus( G4int oldPrec= G4cout.precision(noPrecision); // G4cout.setf(ios_base::fixed,ios_base::floatfield); - const G4ThreeVector StartPosition= StartFT.GetPosition(); - const G4ThreeVector StartUnitVelocity= StartFT.GetMomentumDir(); - const G4ThreeVector CurrentPosition= CurrentFT.GetPosition(); - const G4ThreeVector CurrentUnitVelocity= CurrentFT.GetMomentumDir(); + const G4ThreeVector StartPosition= StartFT.GetPosition(); + const G4ThreeVector StartUnitVelocity= StartFT.GetMomentumDir(); + const G4ThreeVector CurrentPosition= CurrentFT.GetPosition(); + const G4ThreeVector CurrentUnitVelocity= CurrentFT.GetMomentumDir(); G4double DotStartCurrentVeloc= StartUnitVelocity.dot(CurrentUnitVelocity); - G4double step_len= CurrentFT.GetCurveLength() - - StartFT.GetCurveLength(); + G4double step_len= CurrentFT.GetCurveLength() - StartFT.GetCurveLength(); G4double subStepSize = step_len; - - // G4cout << " G4MagInt_Driver: Current Position and Direction" << G4endl; if( (subStepNo <= 1) || (verboseLevel > 3) ) { subStepNo = - subStepNo; // To allow printing banner - G4cout << std::setw( 6) << " " - << std::setw( 25) << " G4MagInt_Driver: Current Position and Direction" << " " - << G4endl; + G4cout << std::setw( 6) << " " << std::setw( 25) + << " G4MagInt_Driver: Current Position and Direction" << " " + << G4endl; G4cout << std::setw( 5) << "Step#" << " " - << std::setw( 7) << "s-curve" << " " - << std::setw( 9) << "X(mm)" << " " - << std::setw( 9) << "Y(mm)" << " " - << std::setw( 9) << "Z(mm)" << " " - << std::setw( 8) << " N_x " << " " - << std::setw( 8) << " N_y " << " " - << std::setw( 8) << " N_z " << " " - << std::setw( 8) << " N^2-1 " << " " - << std::setw(10) << " N(0).N " << " " - << std::setw( 7) << "KinEner " << " " - << std::setw(12) << "Track-l" << " " // Add the Sub-step ?? - << std::setw(12) << "Step-len" << " " - << std::setw(12) << "Step-len" << " " - << std::setw( 9) << "ReqStep" << " " - << G4endl; + << std::setw( 7) << "s-curve" << " " + << std::setw( 9) << "X(mm)" << " " + << std::setw( 9) << "Y(mm)" << " " + << std::setw( 9) << "Z(mm)" << " " + << std::setw( 8) << " N_x " << " " + << std::setw( 8) << " N_y " << " " + << std::setw( 8) << " N_z " << " " + << std::setw( 8) << " N^2-1 " << " " + << std::setw(10) << " N(0).N " << " " + << std::setw( 7) << "KinEner " << " " + << std::setw(12) << "Track-l" << " " // Add the Sub-step ?? + << std::setw(12) << "Step-len" << " " + << std::setw(12) << "Step-len" << " " + << std::setw( 9) << "ReqStep" << " " + << G4endl; } - if( (subStepNo <= 0) ){ - PrintStat_Aux( StartFT, requestStep, 0., - 0, 0.0, 1.0); - //************* + if( (subStepNo <= 0) ) + { + PrintStat_Aux( StartFT, requestStep, 0., + 0, 0.0, 1.0); + //************* } if( verboseLevel <= 3 ) { - G4cout.precision(noPrecision); - PrintStat_Aux( CurrentFT, requestStep, step_len, - subStepNo, subStepSize, DotStartCurrentVeloc ); - //************* + G4cout.precision(noPrecision); + PrintStat_Aux( CurrentFT, requestStep, step_len, + subStepNo, subStepSize, DotStartCurrentVeloc ); + //************* } else // if( verboseLevel > 3 ) @@ -850,36 +907,41 @@ void G4MagInt_Driver::PrintStatus( // G4cout << "Step taken was " << step_len // << " out of PhysicalStep= " << requestStep << G4endl; // G4cout << "Final safety is: " << safety << G4endl; - - // G4cout << "Chord length = " << (CurrentPosition-StartPosition).mag() << G4endl; - // G4cout << G4endl; + // G4cout << "Chord length = " << (CurrentPosition-StartPosition).mag() + // << G4endl << G4endl; } G4cout.precision(oldPrec); } +// --------------------------------------------------------------------------- + void G4MagInt_Driver::PrintStat_Aux( const G4FieldTrack& aFieldTrack, G4double requestStep, - G4double step_len, + G4double step_len, G4int subStepNo, - G4double subStepSize, - G4double dotVeloc_StartCurr) + G4double subStepSize, + G4double dotVeloc_StartCurr) { const G4ThreeVector Position= aFieldTrack.GetPosition(); const G4ThreeVector UnitVelocity= aFieldTrack.GetMomentumDir(); if( subStepNo >= 0) + { G4cout << std::setw( 5) << subStepNo << " "; + } else + { G4cout << std::setw( 5) << "Start" << " "; + } G4double curveLen= aFieldTrack.GetCurveLength(); G4cout << std::setw( 7) << curveLen; G4cout << std::setw( 9) << Position.x() << " " - << std::setw( 9) << Position.y() << " " - << std::setw( 9) << Position.z() << " " - << std::setw( 8) << UnitVelocity.x() << " " - << std::setw( 8) << UnitVelocity.y() << " " - << std::setw( 8) << UnitVelocity.z() << " "; + << std::setw( 9) << Position.y() << " " + << std::setw( 9) << Position.z() << " " + << std::setw( 8) << UnitVelocity.x() << " " + << std::setw( 8) << UnitVelocity.y() << " " + << std::setw( 8) << UnitVelocity.z() << " "; G4int oldprec= G4cout.precision(3); G4cout << std::setw( 8) << UnitVelocity.mag2()-1.0 << " "; G4cout.precision(6); @@ -890,27 +952,35 @@ void G4MagInt_Driver::PrintStat_Aux( static G4double oldCurveLength= 0.0; static G4double oldSubStepLength= 0.0; - static int oldSubStepNo= -1; + static G4int oldSubStepNo= -1; G4double subStep_len=0.0; if( curveLen > oldCurveLength ) - subStep_len= curveLen - oldCurveLength; + { + subStep_len= curveLen - oldCurveLength; + } else if (subStepNo == oldSubStepNo) - subStep_len= oldSubStepLength; - // else subStepLen_NotAvail; + { + subStep_len= oldSubStepLength; + } oldCurveLength= curveLen; oldSubStepLength= subStep_len; G4cout << std::setw(12) << subStep_len << " "; G4cout << std::setw(12) << subStepSize << " "; - if( requestStep != -1.0 ) - G4cout << std::setw( 9) << requestStep << " "; + if( requestStep != -1.0 ) + { + G4cout << std::setw( 9) << requestStep << " "; + } else - G4cout << std::setw( 9) << " InitialStep " << " "; - // G4cout << std::setw(12) << safety << " "; + { + G4cout << std::setw( 9) << " InitialStep " << " "; + } G4cout << G4endl; } +// --------------------------------------------------------------------------- + void G4MagInt_Driver::PrintStatisticsReport() { G4int noPrecBig= 6; @@ -918,53 +988,57 @@ void G4MagInt_Driver::PrintStatisticsReport() G4cout << "G4MagInt_Driver Statistics of steps undertaken. " << G4endl; G4cout << "G4MagInt_Driver: Number of Steps: " - << " Total= " << fNoTotalSteps + << " Total= " << fNoTotalSteps << " Bad= " << fNoBadSteps << " Small= " << fNoSmallSteps - << " Non-initial small= " << (fNoSmallSteps-fNoInitialSmallSteps) - << G4endl; + << " Non-initial small= " << (fNoSmallSteps-fNoInitialSmallSteps) + << G4endl; - #ifdef G4FLD_STATS - G4cout << "MID dyerr: " - << " maximum= " << fDyerr_max - // << " 2nd max= " << fDyerr_mx2 - << " Sum small= " << fDyerrPos_smTot - << " std::sqrt(Sum large^2): pos= " << std::sqrt(fDyerrPos_lgTot) - << " vel= " << std::sqrt( fDyerrVel_lgTot ) - << " Total h-distance: small= " << fSumH_sm - << " large= " << fSumH_lg - << G4endl; +#ifdef G4FLD_STATS + G4cout << "MID dyerr: " + << " maximum= " << fDyerr_max + << " Sum small= " << fDyerrPos_smTot + << " std::sqrt(Sum large^2): pos= " << std::sqrt(fDyerrPos_lgTot) + << " vel= " << std::sqrt( fDyerrVel_lgTot ) + << " Total h-distance: small= " << fSumH_sm + << " large= " << fSumH_lg + << G4endl; #if 0 G4int noPrecSmall=4; // Single line precis of statistics ... optional G4cout.precision(noPrecSmall); G4cout << "MIDnums: " << fMinimumStep - << " " << fNoTotalSteps - << " " << fNoSmallSteps + << " " << fNoTotalSteps + << " " << fNoSmallSteps << " " << fNoSmallSteps-fNoInitialSmallSteps - << " " << fNoBadSteps - << " " << fDyerr_max - << " " << fDyerr_mx2 - << " " << fDyerrPos_smTot - << " " << fSumH_sm - << " " << fDyerrPos_lgTot - << " " << fDyerrVel_lgTot - << " " << fSumH_lg - << G4endl; - #endif - #endif + << " " << fNoBadSteps + << " " << fDyerr_max + << " " << fDyerr_mx2 + << " " << fDyerrPos_smTot + << " " << fSumH_sm + << " " << fDyerrPos_lgTot + << " " << fDyerrVel_lgTot + << " " << fSumH_lg + << G4endl; +#endif +#endif G4cout.precision(oldPrec); } +// --------------------------------------------------------------------------- + void G4MagInt_Driver::SetSmallestFraction(G4double newFraction) { - if( (newFraction > 1.e-16) && (newFraction < 1e-8) ) { - fSmallestFraction= newFraction; - }else{ - G4cerr << "Warning: SmallestFraction not changed. " << G4endl - << " Proposed value was " << newFraction << G4endl - << " Value must be between 1.e-8 and 1.e-16" << G4endl; + if( (newFraction > 1.e-16) && (newFraction < 1e-8) ) + { + fSmallestFraction= newFraction; + } + else + { + G4cerr << "Warning: SmallestFraction not changed. " << G4endl + << " Proposed value was " << newFraction << G4endl + << " Value must be between 1.e-8 and 1.e-16" << G4endl; } } diff --git a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc index ddbced6fa3..afa1f7ecfb 100644 --- a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc +++ b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MagIntegratorStepper.cc,v 1.11 2006/06/29 18:24:34 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4MagIntegratorStepper.cc,v 1.12 2009/11/05 18:31:15 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // -------------------------------------------------------------------- @@ -47,3 +47,8 @@ G4MagIntegratorStepper::G4MagIntegratorStepper(G4EquationOfMotion* Equation, G4MagIntegratorStepper::~G4MagIntegratorStepper() { } + +void G4MagIntegratorStepper::ComputeRightHandSide( const G4double y[], G4double dydx[] ) +{ + this->RightHandSide( y, dydx ); +} diff --git a/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc index 69a009290c..ef3dfc009a 100644 --- a/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Mag_SpinEqRhs.cc,v 1.13 2008/11/21 21:18:26 gum Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Mag_SpinEqRhs.cc,v 1.15 2009/03/25 15:29:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // This is the standard right-hand side for equation of motion. // This version of the right-hand side includes the three components @@ -47,7 +47,9 @@ G4Mag_SpinEqRhs::G4Mag_SpinEqRhs( G4MagneticField* MagField ) anomaly = 0.0011659208; } -G4Mag_SpinEqRhs::~G4Mag_SpinEqRhs() {} +G4Mag_SpinEqRhs::~G4Mag_SpinEqRhs() +{ +} void G4Mag_SpinEqRhs::SetChargeMomentumMass(G4double particleCharge, // in e+ units @@ -69,8 +71,8 @@ G4Mag_SpinEqRhs::SetChargeMomentumMass(G4double particleCharge, // in e+ units void G4Mag_SpinEqRhs::EvaluateRhsGivenB( const G4double y[], - const G4double B[3], - G4double dydx[] ) const + const G4double B[3], + G4double dydx[] ) const { G4double momentum_mag_square = sqr(y[3]) + sqr(y[4]) + sqr(y[5]); G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square ); @@ -96,8 +98,6 @@ G4Mag_SpinEqRhs::EvaluateRhsGivenB( const G4double y[], G4ThreeVector Spin(y[9],y[10],y[11]); - if (Spin.mag() > 0.) Spin = Spin.unit(); - G4ThreeVector dSpin; dSpin = ParticleCharge*omegac*(ucb*(Spin.cross(BField))-udb*(Spin.cross(u))); diff --git a/source/geometry/magneticfield/src/G4NystromRK4.cc b/source/geometry/magneticfield/src/G4NystromRK4.cc new file mode 100644 index 0000000000..f3532c81ae --- /dev/null +++ b/source/geometry/magneticfield/src/G4NystromRK4.cc @@ -0,0 +1,209 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4NystromRK4.cc,v 1.6 2009/12/16 17:49:57 gunter Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// History: +// - Created: I.Gavrilenko 15.05.2009 (as G4AtlasRK4) +// - Adaptations: J. Apostolakis May-Nov 2009 +// ------------------------------------------------------------------- + +#include "G4NystromRK4.hh" +#include + +////////////////////////////////////////////////////////////////// +// Constructor - with optional distance ( has default value) +////////////////////////////////////////////////////////////////// + +G4NystromRK4::G4NystromRK4(G4Mag_EqRhs* magEqRhs, G4double distanceConstField) + : G4MagIntegratorStepper(magEqRhs, 6), // number of variables + m_fEq( magEqRhs ), + m_magdistance( distanceConstField ), + m_cof( 0.0 ), + m_mom( 0.0 ), + m_imom( 0.0 ), + m_cachedMom( false ) +{ + m_fldPosition[0] = m_iPoint[1] = m_fPoint[2] = 9.9999999e+99 ; + m_fldPosition[1] = m_iPoint[1] = m_fPoint[2] = 9.9999999e+99 ; + m_fldPosition[2] = m_iPoint[1] = m_fPoint[2] = 9.9999999e+99 ; + m_fldPosition[3] = -9.9999999e+99; + + m_magdistance2 = distanceConstField*distanceConstField; +} + +//////////////////////////////////////////////////////////////// +// Destructor +//////////////////////////////////////////////////////////////// + +G4NystromRK4::~G4NystromRK4() +{ +} + +///////////////////////////////////////////////////////////////////////////////// +// Integration in one step +///////////////////////////////////////////////////////////////////////////////// + +void +G4NystromRK4::Stepper +(const G4double P[],const G4double dPdS[],G4double Step,G4double Po[],G4double Err[]) +{ + G4double R[3] = { P[0], P[1] , P[2]}; + G4double A[3] = {dPdS[0], dPdS[1], dPdS[2]}; + + m_iPoint[0]=R[0]; m_iPoint[1]=R[1]; m_iPoint[2]=R[2]; + + const G4double one_sixth= 1./6.; + G4double S = Step ; + G4double S5 = .5*Step ; + G4double S4 = .25*Step ; + G4double S6 = Step * one_sixth; // Step / 6.; + + + // John A added, in order to emulate effect of call to changed/derived RHS + // m_mom = sqrt(P[3]*P[3]+P[4]*P[4]+P[5]*P[5]); + // m_imom = 1./m_mom; + // m_cof = m_fEq->FCof()*m_imom; + + // Point 1 + // + G4double K1[3] = { m_imom*dPdS[3], m_imom*dPdS[4], m_imom*dPdS[5] }; + + // Point2 + // + G4double p[4] = {R[0]+S5*(A[0]+S4*K1[0]), + R[1]+S5*(A[1]+S4*K1[1]), + R[2]+S5*(A[2]+S4*K1[2]), + P[7] }; + getField(p); + + G4double A2[3] = {A[0]+S5*K1[0],A[1]+S5*K1[1],A[2]+S5*K1[2]}; + G4double K2[3] = {(A2[1]*m_lastField[2]-A2[2]*m_lastField[1])*m_cof, + (A2[2]*m_lastField[0]-A2[0]*m_lastField[2])*m_cof, + (A2[0]*m_lastField[1]-A2[1]*m_lastField[0])*m_cof}; + + m_mPoint[0]=p[0]; m_mPoint[1]=p[1]; m_mPoint[2]=p[2]; + + // Point 3 with the same magnetic field + // + G4double A3[3] = {A[0]+S5*K2[0],A[1]+S5*K2[1],A[2]+S5*K2[2]}; + G4double K3[3] = {(A3[1]*m_lastField[2]-A3[2]*m_lastField[1])*m_cof, + (A3[2]*m_lastField[0]-A3[0]*m_lastField[2])*m_cof, + (A3[0]*m_lastField[1]-A3[1]*m_lastField[0])*m_cof}; + + // Point 4 + // + p[0] = R[0]+S*(A[0]+S5*K3[0]); + p[1] = R[1]+S*(A[1]+S5*K3[1]); + p[2] = R[2]+S*(A[2]+S5*K3[2]); + + getField(p); + + G4double A4[3] = {A[0]+S*K3[0],A[1]+S*K3[1],A[2]+S*K3[2]}; + G4double K4[3] = {(A4[1]*m_lastField[2]-A4[2]*m_lastField[1])*m_cof, + (A4[2]*m_lastField[0]-A4[0]*m_lastField[2])*m_cof, + (A4[0]*m_lastField[1]-A4[1]*m_lastField[0])*m_cof}; + + // New position + // + Po[0] = P[0]+S*(A[0]+S6*(K1[0]+K2[0]+K3[0])); + Po[1] = P[1]+S*(A[1]+S6*(K1[1]+K2[1]+K3[1])); + Po[2] = P[2]+S*(A[2]+S6*(K1[2]+K2[2]+K3[2])); + + m_fPoint[0]=Po[0]; m_fPoint[1]=Po[1]; m_fPoint[2]=Po[2]; + + // New direction + // + Po[3] = A[0]+S6*(K1[0]+K4[0]+2.*(K2[0]+K3[0])); + Po[4] = A[1]+S6*(K1[1]+K4[1]+2.*(K2[1]+K3[1])); + Po[5] = A[2]+S6*(K1[2]+K4[2]+2.*(K2[2]+K3[2])); + + // Errors + // + Err[3] = S*std::fabs(K1[0]-K2[0]-K3[0]+K4[0]); + Err[4] = S*std::fabs(K1[1]-K2[1]-K3[1]+K4[1]); + Err[5] = S*std::fabs(K1[2]-K2[2]-K3[2]+K4[2]); + Err[0] = S*Err[3] ; + Err[1] = S*Err[4] ; + Err[2] = S*Err[5] ; + Err[3]*= m_mom ; + Err[4]*= m_mom ; + Err[5]*= m_mom ; + + // Normalize momentum + // + G4double normF = m_mom/std::sqrt(Po[3]*Po[3]+Po[4]*Po[4]+Po[5]*Po[5]); + Po [3]*=normF; Po[4]*=normF; Po[5]*=normF; + + // Pass Energy, time unchanged -- time is not integrated !! + Po[6]=P[6]; Po[7]=P[7]; +} + + +///////////////////////////////////////////////////////////////////////////////// +// Estimate the maximum distance from the curve to the chord +///////////////////////////////////////////////////////////////////////////////// + +G4double +G4NystromRK4::DistChord() const +{ + G4double ax = m_fPoint[0]-m_iPoint[0]; + G4double ay = m_fPoint[1]-m_iPoint[1]; + G4double az = m_fPoint[2]-m_iPoint[2]; + G4double dx = m_mPoint[0]-m_iPoint[0]; + G4double dy = m_mPoint[1]-m_iPoint[1]; + G4double dz = m_mPoint[2]-m_iPoint[2]; + G4double d2 = (ax*ax+ay*ay+az*az) ; + + if(d2!=0.) { + G4double s = (ax*dx+ay*dy+az*dz)/d2; + dx -= (s*ax) ; + dy -= (s*ay) ; + dz -= (s*az) ; + } + return std::sqrt(dx*dx+dy*dy+dz*dz); +} + +///////////////////////////////////////////////////////////////////////////////// +// Derivatives calculation - caching the momentum value +///////////////////////////////////////////////////////////////////////////////// + +void +G4NystromRK4::ComputeRightHandSide(const G4double P[],G4double dPdS[]) +{ + getField(P); + m_mom = std::sqrt(P[3]*P[3]+P[4]*P[4]+P[5]*P[5]) ; + m_imom = 1./m_mom ; + m_cof = m_fEq->FCof()*m_imom ; + m_cachedMom = true ; // Caching the value + dPdS[0] = P[3]*m_imom ; // dx /ds + dPdS[1] = P[4]*m_imom ; // dy /ds + dPdS[2] = P[5]*m_imom ; // dz /ds + dPdS[3] = m_cof*(P[4]*m_lastField[2]-P[5]*m_lastField[1]) ; // dPx/ds + dPdS[4] = m_cof*(P[5]*m_lastField[0]-P[3]*m_lastField[2]) ; // dPy/ds + dPdS[5] = m_cof*(P[3]*m_lastField[1]-P[4]*m_lastField[0]) ; // dPz/ds +} diff --git a/source/geometry/magneticfield/src/G4SimpleHeum.cc b/source/geometry/magneticfield/src/G4SimpleHeum.cc index eb53951533..44d52850c2 100644 --- a/source/geometry/magneticfield/src/G4SimpleHeum.cc +++ b/source/geometry/magneticfield/src/G4SimpleHeum.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SimpleHeum.cc,v 1.8 2006/06/29 18:24:51 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SimpleHeum.cc,v 1.10 2009/03/25 15:29:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Simple Heum: // x_1 = x_0 + h * @@ -74,14 +74,11 @@ G4SimpleHeum::~G4SimpleHeum() void G4SimpleHeum::DumbStepper( const G4double yIn[], - const G4double dydx[], - G4double h, - G4double yOut[]) + const G4double dydx[], + G4double h, + G4double yOut[]) { - // const G4int nvar = 6 ; - G4int i; - for( i = 0; i < fNumberOfVariables; i++ ) { yTemp[i] = yIn[i] + (1.0/3.0) * h * dydx[i] ; @@ -98,9 +95,8 @@ G4SimpleHeum::DumbStepper( const G4double yIn[], for( i = 0; i < fNumberOfVariables; i++ ) { - yOut[i] = yIn[i] + h * ( 0.25 * dydx[i] + - 0.75 * dydxTemp2[i]); + yOut[i] = yIn[i] + h * (0.25 * dydx[i] + 0.75 * dydxTemp2[i]); } - // NormaliseTangentVector( yOut ); + if ( fNumberOfVariables == 12 ) { NormalisePolarizationVector( yOut ); } } diff --git a/source/geometry/management/History b/source/geometry/management/History index ce3cf5cb66..6b4b6e0bd0 100644 --- a/source/geometry/management/History +++ b/source/geometry/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.131 2008/09/23 13:10:55 gcosmo Exp $ +$Id: History,v 1.138 2009/11/27 16:34:53 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,31 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +November 27, 2009 G.Cosmo geommng-V09-02-05 +- G4Region: added pointer to field-manager and associated accessor/modifier. + +November 6, 2009 G.Cosmo geommng-V09-02-04 +- G4VTouchable: moved inline vitual methods, constructor and destructor to + source, to avoid problem of memory alignment in allocation of derived objects. + +October 30, 2009 G.Cosmo geommng-V09-02-03 +- Clear possible excess capacity in node vectors in G4SmartVoxelHeader + BuildNodes() method. May reduce excess memory allocated in optimisation + in large detector setups, with slight time increase in initialisation for + geometry voxelisation. + +September 24, 2009 G.Cosmo geommng-V09-02-02 +- Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to become + invariant to call sequence. + +May 25, 2009 G.Cosmo geommng-V09-02-01 +- Fixed initialisation of min/max extent in method BuildReplicaVoxels() in + G4SmartVoxelHeader. + +April 16, 2009 G.Cosmo geommng-V09-02-00 +- Adopt 'const' references for strings as arguments/return-values in + G4LogicalSurface. Some minor cleanup... + September 23, 2008 G. Cosmo geommng-V09-01-08 - G4VSolid: explicitely reserve memory for polygon vectors in clipping algorithm to help reducing memory footprint. Courtesy of P.Elmer, CMS. diff --git a/source/geometry/management/include/G4LogicalSurface.hh b/source/geometry/management/include/G4LogicalSurface.hh index a3d3554094..7078b3ce0f 100644 --- a/source/geometry/management/include/G4LogicalSurface.hh +++ b/source/geometry/management/include/G4LogicalSurface.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LogicalSurface.hh,v 1.10 2006/06/29 18:30:50 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LogicalSurface.hh,v 1.11 2009/04/21 15:18:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //////////////////////////////////////////////////////////////////////// // Class G4LogicalSurface @@ -85,27 +85,25 @@ class G4LogicalSurface G4SurfaceProperty* GetSurfaceProperty() const; void SetSurfaceProperty(G4SurfaceProperty* ptrSurfaceProperty); - G4String GetName() const; + const G4String& GetName() const; void SetName(const G4String& name); G4TransitionRadiationSurface* GetTransitionRadiationSurface() const; - void SetTransitionRadiationSurface(G4TransitionRadiationSurface* transRadSurf); + void SetTransitionRadiationSurface(G4TransitionRadiationSurface* tRadSurf); + + public: // without description + + virtual ~G4LogicalSurface(); + + G4int operator==(const G4LogicalSurface &right) const; + G4int operator!=(const G4LogicalSurface &right) const; protected: - // There should be no instances of this class + // There should be no instances of this class - G4LogicalSurface(const G4String& name, - G4SurfaceProperty* surfaceProperty); - // Is the name more meaningful for the properties or the logical - // surface ? - - public: - virtual ~G4LogicalSurface(); - - public: - G4int operator==(const G4LogicalSurface &right) const; - G4int operator!=(const G4LogicalSurface &right) const; + G4LogicalSurface(const G4String& name, G4SurfaceProperty* surfaceProperty); + // Is the name more meaningful for the properties or the logical surface ? private: @@ -116,7 +114,7 @@ class G4LogicalSurface G4String theName; // Surface name - G4SurfaceProperty* theSurfaceProperty; + G4SurfaceProperty* theSurfaceProperty; G4TransitionRadiationSurface* theTransRadSurface; }; diff --git a/source/geometry/management/include/G4LogicalSurface.icc b/source/geometry/management/include/G4LogicalSurface.icc index a71568c339..0016ce5952 100644 --- a/source/geometry/management/include/G4LogicalSurface.icc +++ b/source/geometry/management/include/G4LogicalSurface.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LogicalSurface.icc,v 1.9 2006/06/29 18:30:52 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LogicalSurface.icc,v 1.10 2009/04/21 15:18:15 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //////////////////////////////////////////////////////////////////////// // Surface Class Inline Methods @@ -50,7 +50,7 @@ G4LogicalSurface::SetSurfaceProperty(G4SurfaceProperty* ptrSurfaceProperty) theSurfaceProperty = ptrSurfaceProperty; } -inline G4String +inline const G4String& G4LogicalSurface::GetName() const { return theName; @@ -109,8 +109,7 @@ G4LogicalSurface::operator!=(const G4LogicalSurface &right) const inline G4LogicalSurface::G4LogicalSurface(const G4String& name, G4SurfaceProperty* surfaceProperty) - : theName(name), - theSurfaceProperty(surfaceProperty) + : theName(name), theSurfaceProperty(surfaceProperty) { } diff --git a/source/geometry/management/include/G4Region.hh b/source/geometry/management/include/G4Region.hh index bd458029c2..4f2f021900 100644 --- a/source/geometry/management/include/G4Region.hh +++ b/source/geometry/management/include/G4Region.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Region.hh,v 1.20 2008/07/10 09:46:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Region.hh,v 1.21 2009/11/27 16:34:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4Region // @@ -47,6 +47,7 @@ class G4Material; class G4VUserRegionInformation; class G4MaterialCutsCouple; class G4UserLimits; +class G4FieldManager; class G4FastSimulationManager; class G4VPhysicalVolume; class G4UserSteppingAction; @@ -143,6 +144,13 @@ class G4Region // Set G4FastSimulationManager pointer to the one for the parent region // if it exists. Otherwise set to null. + inline void SetFieldManager(G4FieldManager* fm); + inline G4FieldManager* GetFieldManager() const; + // Set and Get methods for G4FieldManager. + // The region with assigned field-manager sets the field to the + // geometrical area associated with it; priority is anyhow given + // to local fields eventually set to logical volumes. + inline G4VPhysicalVolume* GetWorldPhysical() const; // Get method for the world physical volume which this region // belongs to. A valid pointer will be assigned by G4RunManagerKernel @@ -198,6 +206,7 @@ class G4Region G4VUserRegionInformation* fUserInfo; G4UserLimits* fUserLimits; + G4FieldManager* fFieldManager; G4FastSimulationManager* fFastSimulationManager; diff --git a/source/geometry/management/include/G4Region.icc b/source/geometry/management/include/G4Region.icc index 43f42cdffb..9ee36d4cfe 100644 --- a/source/geometry/management/include/G4Region.icc +++ b/source/geometry/management/include/G4Region.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Region.icc,v 1.15 2007/04/28 01:48:29 asaim Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Region.icc,v 1.16 2009/11/27 16:34:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4Region Inline Implementation file @@ -248,6 +248,26 @@ G4FastSimulationManager* G4Region::GetFastSimulationManager() const return fFastSimulationManager; } +// ******************************************************************** +// GetFieldManager +// ******************************************************************** +// +inline +G4FieldManager* G4Region::GetFieldManager() const +{ + return fFieldManager; +} + +// ******************************************************************** +// SetFieldManager +// ******************************************************************** +// +inline +void G4Region::SetFieldManager(G4FieldManager* fm) +{ + fFieldManager = fm; +} + // ******************************************************************** // GetWorldPhysical // ******************************************************************** diff --git a/source/geometry/management/include/G4VTouchable.icc b/source/geometry/management/include/G4VTouchable.icc index a2c9815612..5c75908f59 100644 --- a/source/geometry/management/include/G4VTouchable.icc +++ b/source/geometry/management/include/G4VTouchable.icc @@ -24,82 +24,16 @@ // ******************************************************************** // // -// $Id: G4VTouchable.icc,v 1.9 2006/06/29 18:33:07 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VTouchable.icc,v 1.10 2009/11/06 10:36:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4VTouchable Inline implementation // // -------------------------------------------------------------------- -inline -G4VTouchable::G4VTouchable() -{ -} - -inline -G4VTouchable::~G4VTouchable() -{ -} - -inline -G4VPhysicalVolume* G4VTouchable::GetVolume(G4int) const -{ - G4Exception("G4VTouchable::GetVolume()", "NotApplicable", - FatalException, "Undefined call to base class."); - return 0; -} - -inline -G4VSolid* G4VTouchable::GetSolid(G4int) const -{ - G4Exception("G4VTouchable::GetSolid()", "NotApplicable", - FatalException, "Undefined call to base class."); - return 0; -} - -inline -G4int G4VTouchable::GetReplicaNumber(G4int) const -{ - G4Exception("G4VTouchable::GetReplicaNumber()", "NotApplicable", - FatalException, "Undefined call to base class."); - return 0; -} - inline G4int G4VTouchable::GetCopyNumber(G4int depth) const { return GetReplicaNumber(depth); } - -inline -G4int G4VTouchable::MoveUpHistory(G4int) -{ - G4Exception("G4VTouchable::MoveUpHistory()", "NotApplicable", - FatalException, "Undefined call to base class."); - return 0; -} - -inline -void G4VTouchable::UpdateYourself(G4VPhysicalVolume*, - const G4NavigationHistory* ) -{ - G4Exception("G4VTouchable::UpdateYourself()", "NotApplicable", - FatalException, "Undefined call to base class."); -} - -inline -G4int G4VTouchable::GetHistoryDepth() const -{ - G4Exception("G4VTouchable::GetHistoryDepth()", "NotApplicable", - FatalException, "Undefined call to base class."); - return 0; -} - -inline -const G4NavigationHistory* G4VTouchable::GetHistory() const -{ - G4Exception("G4VTouchable::GetHistory()", "NotApplicable", - FatalException, "Undefined call to base class."); - return 0; -} diff --git a/source/geometry/management/src/G4LogicalVolume.cc b/source/geometry/management/src/G4LogicalVolume.cc index 81e8672526..b3335d78a1 100644 --- a/source/geometry/management/src/G4LogicalVolume.cc +++ b/source/geometry/management/src/G4LogicalVolume.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LogicalVolume.cc,v 1.33 2008/07/10 09:40:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LogicalVolume.cc,v 1.34 2009/09/24 13:22:57 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4LogicalVolume Implementation @@ -161,17 +161,13 @@ G4LogicalVolume::IsAncestor(const G4VPhysicalVolume* aVolume) const // G4int G4LogicalVolume::TotalVolumeEntities() const { - static G4int vols = 0; - - vols++; + G4int vols = 1; for (G4PhysicalVolumeList::const_iterator itDau = fDaughters.begin(); itDau != fDaughters.end(); itDau++) { G4VPhysicalVolume* physDaughter = (*itDau); - for (G4int i=0; iGetMultiplicity(); i++) - { - physDaughter->GetLogicalVolume()->TotalVolumeEntities(); - } + vols += physDaughter->GetMultiplicity() + *physDaughter->GetLogicalVolume()->TotalVolumeEntities(); } return vols; } diff --git a/source/geometry/management/src/G4Region.cc b/source/geometry/management/src/G4Region.cc index 96e190d842..42d7689ff2 100644 --- a/source/geometry/management/src/G4Region.cc +++ b/source/geometry/management/src/G4Region.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Region.cc,v 1.26 2008/07/15 10:27:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Region.cc,v 1.27 2009/11/27 16:34:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4Region Implementation @@ -47,7 +47,8 @@ // G4Region::G4Region(const G4String& pName) : fName(pName), fRegionMod(true), fCut(0), fUserInfo(0), fUserLimits(0), - fFastSimulationManager(0), fWorldPhys(0), fRegionalSteppingAction(0) + fFieldManager(0), fFastSimulationManager(0), fWorldPhys(0), + fRegionalSteppingAction(0) { G4RegionStore* rStore = G4RegionStore::GetInstance(); if (rStore->GetRegion(pName,false)) @@ -71,7 +72,8 @@ G4Region::G4Region(const G4String& pName) // G4Region::G4Region( __void__& ) : fName(""), fRegionMod(true), fCut(0), fUserInfo(0), fUserLimits(0), - fFastSimulationManager(0), fWorldPhys(0), fRegionalSteppingAction(0) + fFieldManager(0), fFastSimulationManager(0), fWorldPhys(0), + fRegionalSteppingAction(0) { // Register to store // diff --git a/source/geometry/management/src/G4SmartVoxelHeader.cc b/source/geometry/management/src/G4SmartVoxelHeader.cc index 6a472ff468..80336fdc76 100644 --- a/source/geometry/management/src/G4SmartVoxelHeader.cc +++ b/source/geometry/management/src/G4SmartVoxelHeader.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SmartVoxelHeader.cc,v 1.31 2008/01/24 15:46:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4SmartVoxelHeader.cc,v 1.34 2009/10/30 14:05:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4SmartVoxelHeader @@ -365,12 +365,12 @@ void G4SmartVoxelHeader::BuildReplicaVoxels(G4LogicalVolume* pVolume) { // Sanity check on extent // - G4double min, max; + G4double emin = kInfinity, emax = -kInfinity; G4VoxelLimits limits; G4AffineTransform origin; - pVolume->GetSolid()->CalculateExtent(axis, limits, origin, min, max); - if ( (std::fabs((min-fminExtent)/fminExtent) + - std::fabs((max-fmaxExtent)/fmaxExtent)) > 0.05) + pVolume->GetSolid()->CalculateExtent(axis, limits, origin, emin, emax); + if ( (std::fabs((emin-fminExtent)/fminExtent) + + std::fabs((emax-fmaxExtent)/fmaxExtent)) > 0.05) { G4cerr << "ERROR - G4SmartVoxelHeader::BuildReplicaVoxels()" << G4endl @@ -1037,6 +1037,9 @@ G4ProxyVector* G4SmartVoxelHeader::BuildNodes(G4LogicalVolume* pVolume, // for (nNode=0; nNodeShrink(); G4SmartVoxelProxy* pProxyNode = new G4SmartVoxelProxy((*nodeList)[nNode]); if (!pProxyNode) { diff --git a/examples/advanced/hadrontherapy/include/EMElectronPenelope.hh b/source/geometry/management/src/G4VTouchable.cc old mode 100755 new mode 100644 similarity index 51% rename from examples/advanced/hadrontherapy/include/EMElectronPenelope.hh rename to source/geometry/management/src/G4VTouchable.cc index 139a34b037..0835dcdaae --- a/examples/advanced/hadrontherapy/include/EMElectronPenelope.hh +++ b/source/geometry/management/src/G4VTouchable.cc @@ -23,58 +23,70 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyElectronPenelope.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: // -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -// ============================== -// PHYSICS PROCESSES: -// ============================== -// Electromagnetic processes for: -// electrons -// -// -// ============================== -// COMMENTS: -// ============================== -// The considered processes are G4MultipleScattering, G4PenelopeIonisation -// and G4PenelopeBremsstrahlung +// $Id: G4VTouchable.cc,v 1.1 2009/11/06 10:36:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // +// +// class G4VTouchable implementation +// +// -------------------------------------------------------------------- -#ifndef EMELECTRONPENELOPE_HH -#define EMELECTRONPENELOPE_HH 1 +#include "G4VTouchable.hh" -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class EMElectronPenelope : public G4VPhysicsConstructor +G4VTouchable::G4VTouchable() { - public: - EMElectronPenelope(const G4String& name = "Electron-Penelope"); - virtual ~EMElectronPenelope(); - - protected: - void ConstructParticle() {}; - void ConstructProcess(); -}; - -#endif +} +G4VTouchable::~G4VTouchable() +{ +} +G4VPhysicalVolume* G4VTouchable::GetVolume(G4int) const +{ + G4Exception("G4VTouchable::GetVolume()", "NotApplicable", + FatalException, "Undefined call to base class."); + return 0; +} +G4VSolid* G4VTouchable::GetSolid(G4int) const +{ + G4Exception("G4VTouchable::GetSolid()", "NotApplicable", + FatalException, "Undefined call to base class."); + return 0; +} +G4int G4VTouchable::GetReplicaNumber(G4int) const +{ + G4Exception("G4VTouchable::GetReplicaNumber()", "NotApplicable", + FatalException, "Undefined call to base class."); + return 0; +} +G4int G4VTouchable::MoveUpHistory(G4int) +{ + G4Exception("G4VTouchable::MoveUpHistory()", "NotApplicable", + FatalException, "Undefined call to base class."); + return 0; +} +void G4VTouchable::UpdateYourself(G4VPhysicalVolume*, + const G4NavigationHistory* ) +{ + G4Exception("G4VTouchable::UpdateYourself()", "NotApplicable", + FatalException, "Undefined call to base class."); +} +G4int G4VTouchable::GetHistoryDepth() const +{ + G4Exception("G4VTouchable::GetHistoryDepth()", "NotApplicable", + FatalException, "Undefined call to base class."); + return 0; +} +const G4NavigationHistory* G4VTouchable::GetHistory() const +{ + G4Exception("G4VTouchable::GetHistory()", "NotApplicable", + FatalException, "Undefined call to base class."); + return 0; +} diff --git a/source/geometry/navigation/History b/source/geometry/navigation/History index 3ae050f7f1..b1c45135f1 100644 --- a/source/geometry/navigation/History +++ b/source/geometry/navigation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.126 2008/12/11 10:53:12 gcosmo Exp $ +$Id: History,v 1.138 2009/12/11 05:48:53 japost Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,102 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Dec 11th, 2009 - J.Apostolakis (geomnav-V09-02-11) +------------------------------ +- G4PropagatorInField + * Implementation field by Region + - with extra checking of logical volume + +Nov 30th, 2009 - J.Apostolakis (geomnav-V09-02-10) +------------------------------ +- G4VIntersectionLocator + * Fix problem in ReEstimateEndPoint() behaviour for very small steps. + + * Corrected constructor to ensure that it initialises all data members. + * Labelled the methods (in header) to make noticable those that + must changed at every step. + ( attributes: ChordFinder, EpsilonStep, Navigator ) + +Nov 23rd, 2009 - J.Apostolakis +------------------------------ +- Fixed G4PropagatorInField.cc: + * Revise condition for flagging ZeroStep to avoid fake triggering. + Small proposed steps (from Physics) could trigger the previous + simple condition for Tiny/Zero Problem steps. + [ This was first commited on branch geomnav-V09-02-08_branch + and tagged geomnav-V09-02-80 ] + +Nov 12th, 2009 - J.Apostolakis (geomnav-V09-02-09) +------------------------------ +- G4PropagatorInField: cleanup of minor methods: + Added new method RefreshIntersectionLocator to update the state of + Use this method to synchronise with IntersectionLocator. + Deleted long obsolete methods: SetAccuraciesWithDeltaOneStep + SetDeltaIntersection, SetDeltaOneStep + Revised implementation to avoid using the older methods + GetDeltaIntersection GetDeltaOneStep + +Nov 12th, 2009 - J.Apostolakis (geomnav-V09-02-08) +------------------------------ +- Refined G4PropagatorInField.cc: + * Changed parameters for treating consecutive tiny/zero steps: + - the value of default decrease factor to 0.25 (from 0.1), + - the value is not used when the step size falls below a certain threshold.s + This threshold is changed. It is expressed as a multiple of fZeroStepThreshold + instead of kCarTolerance. The reasons are: + * the threshold were meant to refer to the ZeroStepThreshold (it was kCarTolerance) + * the values were now much larger than this ZeroStepThreshold. + - The value given to the decrease factor after the first such thresholds is changed to 0.35 + instead of 0.25, 0.5. + * Improved printing of Diagnostic message. + +Nov 3rd, 2009 - J.Apostolakis (geomnav-V09-02-07) +------------------------------ +- Refined G4PropagatorInField.cc: + * Added new member fZeroStepThreshold, to enable tuning of threshold for Tiny/Zero steps. + * Changed default value from 0.5 * kCarTolerance + to max (100,000 * kCarTolerance, 0.1 * micron ) + * This is first revision to address problem seen at boundary of volumes (Reports of Atlas) . + +June 2nd, 2009 - J.Apostolakis (geomnav-V09-02-06) +------------------------------ +- Fix in G4PropagatorInField::SetNavigator + * Forward new Navigator to IntersectionLocator. + +May 20th, 2009 - P.Arce (geomnav-V09-02-05) +----------------------- +- Added method BuildContainerSolid() taking a solid as argument to + G4PhantomParameterisation. Added protection to GetMaterialIndex() + for zero index. + +May 18th, 2009 - T.Nikitina (geomnav-V09-02-04) +--------------------------- +- Enhanced algorithm for 'FB_intersects' in order to speedup BrentLocator. +- Fix in the usage of the geometrical tolerance in G4VIntersectionLocator + in method AdjustementOfFoundIntersection(). + +May 13th, 2009 - J.Apostolakis (geomnav-V09-02-03) +------------------------------ +- Fix in G4PathFinder: A geometry is at a boundary if its step is within + tolerance of the minimum step for any geometry. + +May 5th, 2009 - T.Nikitina (geomnav-V09-02-02) +-------------------------- +- Fix in G4Navigator::ComputeStep() for the computation of rotation of the + 'LocalExitNormal' in cases when DistanceToOut() returns non-valid normal + for optical photons in rotated solids. Addresses problem report #1059. + +February 26th, 2009 - T.Nikitina (geomnav-V09-02-01) +-------------------------------- +- Fixed problem in G4BrentLocator::EstimateIntersectionPoint() responsible + for rare cases of negative steps. + +January 27th, 2009 - G.Cosmo (geomnav-V09-02-00) +---------------------------- +- Added G4RegularNavigationHelper class, used by G4RegularNavigation for + counting the number of step lengths in each voxel of the regular structure + (by P.Arce). +- Some code cleanup... December 11th, 2008 - T.Nikitina (geomnav-V09-01-10) -------------------------------- diff --git a/source/geometry/navigation/include/G4Navigator.hh b/source/geometry/navigation/include/G4Navigator.hh index a8511c43ce..2f74040323 100644 --- a/source/geometry/navigation/include/G4Navigator.hh +++ b/source/geometry/navigation/include/G4Navigator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Navigator.hh,v 1.27 2008/10/24 14:00:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Navigator.hh,v 1.29 2009/11/30 11:59:52 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4Navigator @@ -37,7 +37,7 @@ // or to find the physical volume containing a given point in the world // reference system. The navigator maintains a transformation history and // other information to optimise the tracking time performance. -// + // History: // - Created. Paul Kent, Jul 95/96 // - Zero step protections J.A. / G.C., Nov 2004 @@ -236,10 +236,11 @@ class G4Navigator inline G4bool ExitedMotherVolume() const; // Verify if the step has exited the mother volume. - inline void CheckMode(G4bool mode); + inline void CheckMode(G4bool mode); // Run navigation in "check-mode", therefore using additional // verifications and more strict correctness conditions. // Is effective only with G4VERBOSE set. + inline G4bool IsCheckModeActive() { return fCheck; } void PrintState() const; // Print the internal state of the Navigator (for debugging). diff --git a/source/geometry/navigation/include/G4PhantomParameterisation.hh b/source/geometry/navigation/include/G4PhantomParameterisation.hh index 329b008e8f..d2cd1daf64 100755 --- a/source/geometry/navigation/include/G4PhantomParameterisation.hh +++ b/source/geometry/navigation/include/G4PhantomParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhantomParameterisation.hh,v 1.4 2008/01/22 15:02:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhantomParameterisation.hh,v 1.5 2009/05/19 18:27:03 arce Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4PhantomParameterisation @@ -112,6 +112,7 @@ class G4PhantomParameterisation : public G4VPVParameterisation const G4VPhysicalVolume*) const {} void BuildContainerSolid( G4VPhysicalVolume *pPhysicalVol ); + void BuildContainerSolid( G4VSolid *pMotherSolid ); // Save as container solid the parent of the voxels. Check that the // voxels fill it completely. diff --git a/source/geometry/navigation/include/G4PropagatorInField.hh b/source/geometry/navigation/include/G4PropagatorInField.hh index 4c97b0362c..de5be8392b 100644 --- a/source/geometry/navigation/include/G4PropagatorInField.hh +++ b/source/geometry/navigation/include/G4PropagatorInField.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PropagatorInField.hh,v 1.17 2008/11/13 14:28:56 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PropagatorInField.hh,v 1.19 2009/11/13 17:34:26 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // Class G4PropagatorInField @@ -162,16 +162,13 @@ class G4PropagatorInField inline G4VIntersectionLocator* GetIntersectionLocator(); inline void SetIntersectionLocator(G4VIntersectionLocator *pLocator ); + // Change or get the object which calculates the exact + // intersection point with the next boundary public: // without description inline G4double GetDeltaIntersection() const; inline G4double GetDeltaOneStep() const; - inline void SetAccuraciesWithDeltaOneStep( G4double deltaOneStep ); - inline void SetDeltaIntersection( G4double deltaIntersection ); - inline void SetDeltaOneStep( G4double deltaOneStep ); - // The above 5 methods are obsolete and will not work, as they have been - // replaced by the same methods in G4FieldManager since Geant4 4.0 ... inline G4FieldManager* GetCurrentFieldManager(); inline void SetNavigatorForPropagating( G4Navigator *SimpleOrMultiNavigator ); @@ -182,6 +179,13 @@ class G4PropagatorInField G4int noAbandon ); inline G4int GetThresholdNoZeroSteps( G4int i ); + inline G4double GetZeroStepThreshold(); + inline void SetZeroStepThreshold( G4double newLength ); + + void RefreshIntersectionLocator(); + // Update the Locator with parameters from this class + // and from current field manager + protected: // with description void PrintStepLengthDiagnostic( G4double currentProposedStepLength, @@ -242,6 +246,8 @@ class G4PropagatorInField G4double kCarTolerance; // Geometrical tolerance defining surface thickness + G4double fZeroStepThreshold; + // Threshold for counting of tiny or 'zero' steps G4VIntersectionLocator *fIntersectionLocator; G4bool fAllocatedLocator; diff --git a/source/geometry/navigation/include/G4PropagatorInField.icc b/source/geometry/navigation/include/G4PropagatorInField.icc index f5fd9b16f2..a3e18e271c 100644 --- a/source/geometry/navigation/include/G4PropagatorInField.icc +++ b/source/geometry/navigation/include/G4PropagatorInField.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PropagatorInField.icc,v 1.13 2008/10/29 14:31:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PropagatorInField.icc,v 1.16 2009/11/13 17:34:26 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // ------------------------------------------------------------------------ @@ -109,6 +109,7 @@ void G4PropagatorInField::SetMaxLoopCount( G4int new_max ) fMax_loop_count = new_max; } +// #if 0 inline G4double G4PropagatorInField::GetDeltaIntersection() const { @@ -120,25 +121,7 @@ G4double G4PropagatorInField::GetDeltaOneStep() const { return fCurrentFieldMgr->GetDeltaOneStep(); } - -inline -void -G4PropagatorInField::SetAccuraciesWithDeltaOneStep( G4double valDeltaOneStep ) -{ - fDetectorFieldMgr->SetAccuraciesWithDeltaOneStep(valDeltaOneStep); -} - -inline -void G4PropagatorInField::SetDeltaOneStep( G4double valDeltaOneStep ) -{ - fDetectorFieldMgr->SetDeltaOneStep(valDeltaOneStep); -} - -inline -void G4PropagatorInField::SetDeltaIntersection( G4double valDeltaIntersection ) -{ - fDetectorFieldMgr->SetDeltaIntersection(valDeltaIntersection); -} +// #endif inline G4int G4PropagatorInField::GetVerboseLevel() const @@ -235,6 +218,12 @@ G4int G4PropagatorInField::GetThresholdNoZeroSteps( G4int i ) return t; } +inline G4double G4PropagatorInField::GetZeroStepThreshold(){ return fZeroStepThreshold; } +inline void G4PropagatorInField::SetZeroStepThreshold( G4double newLength ) +{ + fZeroStepThreshold= newLength; +} + inline void G4PropagatorInField::SetDetectorFieldManager(G4FieldManager* newDetectorFieldManager) { @@ -258,7 +247,12 @@ inline void G4PropagatorInField:: SetNavigatorForPropagating( G4Navigator *SimpleOrMultiNavigator ) { - if(SimpleOrMultiNavigator) { fNavigator= SimpleOrMultiNavigator; } + if(SimpleOrMultiNavigator) { + fNavigator= SimpleOrMultiNavigator; + if( fIntersectionLocator ) { + fIntersectionLocator->SetNavigatorFor( SimpleOrMultiNavigator ); + } + } } inline @@ -294,3 +288,4 @@ G4bool G4PropagatorInField::IntersectChord( G4ThreeVector StartPointA, fPreviousSafety,fPreviousSftOrigin, LinearStepLength,IntersectionPoint); } + diff --git a/source/processes/cuts/src/G4RToEConvForNeutron.cc b/source/geometry/navigation/include/G4RegularNavigationHelper.hh similarity index 69% rename from source/processes/cuts/src/G4RToEConvForNeutron.cc rename to source/geometry/navigation/include/G4RegularNavigationHelper.hh index 971bed4446..39bb8c70a0 100644 --- a/source/processes/cuts/src/G4RToEConvForNeutron.cc +++ b/source/geometry/navigation/include/G4RegularNavigationHelper.hh @@ -24,36 +24,38 @@ // ******************************************************************** // // -// $Id: G4RToEConvForNeutron.cc,v 1.3 2006/06/29 19:30:26 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4RegularNavigationHelper.hh,v 1.1 2009/01/27 09:31:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // +// -------------------------------------------------------------------- +// GEANT 4 class header file // -// -------------------------------------------------------------- -// GEANT 4 class implementation file/ History: -// 5 Oct. 2002, H.Kuirashige : Structure created based on object model -// -------------------------------------------------------------- +// G4RegularNavigationHelper +// +// Class description: +// +// Utility class for navigation on regular structures, providing step +// lengths counting for each regular voxel of the structure. -#include "G4RToEConvForNeutron.hh" -#include "G4ParticleTable.hh" -#include "G4Material.hh" -#include "G4PhysicsLogVector.hh" +// Author: Pedro Arce, November 2008 +// -------------------------------------------------------------------- +#ifndef G4RegularNavigationHelper_HH +#define G4RegularNavigationHelper_HH -#include "G4ios.hh" +#include +#include "globals.hh" + +class G4RegularNavigationHelper +{ + public: + + G4RegularNavigationHelper(); + ~G4RegularNavigationHelper(); + + static void ClearStepLengths(); + static void AddStepLength( G4int copyNo, G4double slen ); + + static std::vector< std::pair > theStepLengths; +}; -G4RToEConvForNeutron::G4RToEConvForNeutron() : G4VRangeToEnergyConverter() -{ - theParticle = G4ParticleTable::GetParticleTable()->FindParticle("neutron"); - if (theParticle ==0) { -#ifdef G4VERBOSE - if (GetVerboseLevel()>0) { - G4cout << " G4RToEConvForNeutron::G4RToEConvForNeutron() "; - G4cout << " Neutron is not defined !!" << G4endl; - } #endif - } -} - -G4RToEConvForNeutron::~G4RToEConvForNeutron() -{ -} - diff --git a/source/geometry/navigation/include/G4VIntersectionLocator.hh b/source/geometry/navigation/include/G4VIntersectionLocator.hh index 2e72f9b04e..53c30ff156 100644 --- a/source/geometry/navigation/include/G4VIntersectionLocator.hh +++ b/source/geometry/navigation/include/G4VIntersectionLocator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VIntersectionLocator.hh,v 1.4 2008/11/14 18:26:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VIntersectionLocator.hh,v 1.6 2009/11/30 11:39:15 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // Class G4VIntersectionLocator @@ -94,25 +94,36 @@ class G4VIntersectionLocator // Intersect the chord from StartPointA to EndPointB and return // whether an intersection occurred. NOTE: changes the Safety! + inline void SetEpsilonStepFor( G4double EpsilonStep ); + inline void SetDeltaIntersectionFor( G4double deltaIntersection ); + inline void SetNavigatorFor( G4Navigator *fNavigator ); + inline void SetChordFinderFor(G4ChordFinder *fCFinder ); + // These parameters must be set at each step, in case they were changed + + // Note: This simple approach ensures that all scenarios are considered. + // [ Future refinement may identify which are invariant during a + // track, run or event ] + + inline void SetVerboseFor(G4int fVerbose); + inline G4int GetVerboseFor(); + // Controling verbosity enables checking of the locating of intersections + public: // without description + // Additional inline Set/Get methods for parameters, dependent objects - // inline Set/Get methods used for IntersctionLocator + inline G4double GetDeltaIntersectionFor(); + inline G4double GetEpsilonStepFor(); + inline G4Navigator* GetNavigatorFor(); + inline G4ChordFinder* GetChordFinderFor(); - inline G4double GetDeltaIntersectionFor(); - inline G4double GetEpsilonStepFor(); - inline G4Navigator* GetNavigatorFor(); - inline G4ChordFinder* GetChordFinderFor(); - inline G4int GetVerboseFor(); + inline void SetSafetyParametersFor(G4bool UseSafety ); - inline void SetEpsilonStepFor( G4double EpsilonStep ); - inline void SetDeltaIntersectionFor( G4double deltaIntersection ); - inline void SetNavigatorFor( G4Navigator *fNavigator ); - inline void SetChordFinderFor(G4ChordFinder *fCFinder ); - inline void SetSafetyParametersFor(G4bool UseSafety ); - inline void SetVerboseFor(G4int fVerbose); - - inline void AddAdjustementOfFoundIntersection(G4bool UseCorrection); + inline void AddAdjustementOfFoundIntersection(G4bool UseCorrection); inline G4bool GetAdjustementOfFoundIntersection(); + // Methods to be made Obsolete - replaced by methods below + inline void AdjustIntersections(G4bool UseCorrection); + inline G4bool AreIntersectionsAdjusted(){ return fUseNormalCorrection; } + // Change adjustment flag ( New Interface ) protected: // with description @@ -143,17 +154,19 @@ class G4VIntersectionLocator protected: - G4double kCarTolerance; - G4int fVerboseLevel; - // For verbose purposes - G4bool fUseNormalCorrection; + G4double kCarTolerance; // Constant + G4int fVerboseLevel; // For debugging + G4bool fUseNormalCorrection; // Configuration parameter + + G4Navigator *fiNavigator; + // Parameters set by G4PropagatorInField ( when ? ) + + G4ChordFinder *fiChordFinder; G4double fiEpsilonStep; G4double fiDeltaIntersection; - G4Navigator *fiNavigator; - G4ChordFinder *fiChordFinder; G4bool fiUseSafety; - // For passing the parameters from G4PropagatorInField + // Parameters set at each physical step by calling method - G4PropagatorInField G4Navigator *fHelpingNavigator; // Helper for location diff --git a/source/geometry/navigation/src/G4BrentLocator.cc b/source/geometry/navigation/src/G4BrentLocator.cc index a092280040..6c314e7ef7 100644 --- a/source/geometry/navigation/src/G4BrentLocator.cc +++ b/source/geometry/navigation/src/G4BrentLocator.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BrentLocator.cc,v 1.5 2008/12/11 10:13:41 tnikitin Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4BrentLocator.cc,v 1.8 2009/05/15 12:55:48 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Class G4BrentLocator implementation // @@ -153,6 +153,10 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( static G4int max_no_seen= -1; static G4int trigger_substepno_print= warn_substeps - 20 ; + // Counter for restarting Bintermed + // + G4int restartB = 0; + //-------------------------------------------------------------------------- // Algorithm for the case if progress in founding intersection is too slow. // Process is defined too slow if after N=param_substeps advances on the @@ -163,7 +167,7 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( // until 'max_depth'. //-------------------------------------------------------------------------- - const G4int param_substeps=100; // Test value for the maximum number + const G4int param_substeps=50; // Test value for the maximum number // of substeps const G4double fraction_done=0.3; @@ -370,11 +374,12 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( // A <- F // E <- H // - CurrentA_PointVelocity = ApproxIntersecPointV; + G4FieldTrack InterMed=ApproxIntersecPointV; ApproxIntersecPointV = GetChordFinderFor()->ApproxCurvePointS( CurrentA_PointVelocity,CurrentB_PointVelocity, - CurrentA_PointVelocity,CurrentE_Point,Point_A,PointH, + InterMed,CurrentE_Point,CurrentF_Point,PointH, false,GetEpsilonStepFor()); + CurrentA_PointVelocity = InterMed; CurrentE_Point = PointH; } else // not Intersects_FB @@ -418,7 +423,14 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( CurrentA_PointVelocity = CurrentB_PointVelocity; // Got to B CurrentB_PointVelocity = CurveEndPointVelocity; SubStart_PointVelocity = CurrentA_PointVelocity; + ApproxIntersecPointV = GetChordFinderFor() + ->ApproxCurvePointV( CurrentA_PointVelocity, + CurrentB_PointVelocity, + CurrentE_Point, + GetEpsilonStepFor()); + restoredFullEndpoint = true; + restartB++; // counter } else { @@ -427,7 +439,13 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( CurrentA_PointVelocity = CurrentB_PointVelocity; // Got to B CurrentB_PointVelocity = *ptrInterMedFT[depth]; SubStart_PointVelocity = CurrentA_PointVelocity; + ApproxIntersecPointV = GetChordFinderFor() + ->ApproxCurvePointV( CurrentA_PointVelocity, + CurrentB_PointVelocity, + CurrentE_Point, + GetEpsilonStepFor()); restoredFullEndpoint = true; + restartB++; // counter } } } // Endif (Intersects_FB) @@ -487,24 +505,29 @@ G4bool G4BrentLocator::EstimateIntersectionPoint( << GetEpsilonStepFor() << G4endl; } G4cerr.precision(20); - G4cerr << " Point A (Curve start) is " << CurveStartPointVelocity + G4cerr << " Point A (Curve start) is " << CurveStartPointVelocity << G4endl; - G4cerr << " Point B (Curve end) is " << CurveEndPointVelocity + G4cerr << " Point B (Curve end) is " << CurveEndPointVelocity << G4endl; - G4cerr << " Point A (Current start) is " << CurrentA_PointVelocity + G4cerr << " Point A (Current start) is " << CurrentA_PointVelocity << G4endl; - G4cerr << " Point B (Current end) is " << CurrentB_PointVelocity + G4cerr << " Point B (Current end) is " << CurrentB_PointVelocity << G4endl; - G4cerr << " Point S (Sub start) is " << SubStart_PointVelocity + G4cerr << " Point S (Sub start) is " << SubStart_PointVelocity << G4endl; - G4cerr << " Point E (Trial Point) is " << CurrentE_Point + G4cerr << " Point E (Trial Point) is " << CurrentE_Point << G4endl; - G4cerr << " Point F (Intersection) is " << ApproxIntersecPointV + G4cerr << " Old Point F(Intersection) is " << CurrentF_Point + << G4endl; + G4cerr << " New Point F(Intersection) is " << ApproxIntersecPointV << G4endl; G4cerr << " LocateIntersection parameters are : Substep no= " << substep_no << G4endl; G4cerr << " Substep depth no= "<< substep_no_p << " Depth= " << depth << G4endl; + G4cerr << " Restarted no= "<< restartB << " Epsilon= " + << GetEpsilonStepFor() <<" DeltaInters= " + << GetDeltaIntersectionFor() << G4endl; G4Exception("G4BrentLocator::EstimateIntersectionPoint()", "FatalError", FatalException, diff --git a/source/geometry/navigation/src/G4Navigator.cc b/source/geometry/navigation/src/G4Navigator.cc index f85ae67243..d27b622e08 100644 --- a/source/geometry/navigation/src/G4Navigator.cc +++ b/source/geometry/navigation/src/G4Navigator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4Navigator.cc,v 1.38 2008/10/24 14:00:03 gcosmo Exp $ +// $Id: G4Navigator.cc,v 1.39 2009/05/08 06:47:32 tnikitin Exp $ // GEANT4 tag $ Name: $ // // class G4Navigator Implementation @@ -1017,7 +1017,7 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, const G4RotationMatrix* mRot = motherPhysical->GetRotation(); if( mRot ) { - fGrandMotherExitNormal *= (*mRot); + fGrandMotherExitNormal *= (*mRot).inverse(); } } } diff --git a/source/geometry/navigation/src/G4PathFinder.cc b/source/geometry/navigation/src/G4PathFinder.cc index 4d578575ce..d04de3b282 100644 --- a/source/geometry/navigation/src/G4PathFinder.cc +++ b/source/geometry/navigation/src/G4PathFinder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4PathFinder.cc,v 1.61 2008/11/13 12:59:26 gcosmo Exp $ +// $Id: G4PathFinder.cc,v 1.62 2009/05/13 23:20:54 japost Exp $ // GEANT4 tag $ Name: $ // // class G4PathFinder Implementation @@ -1051,8 +1051,9 @@ void G4PathFinder::WhichLimited() G4double step= fCurrentStepSize[num]; - limitedStep = ( step == fMinStep ) && ( step != kInfinity); - + limitedStep = ( std::fabs(step - fMinStep) < kCarTolerance ) + && ( step != kInfinity); + fLimitTruth[ num ] = limitedStep; if( limitedStep ) { diff --git a/source/geometry/navigation/src/G4PhantomParameterisation.cc b/source/geometry/navigation/src/G4PhantomParameterisation.cc index ac90744650..2c6013700c 100755 --- a/source/geometry/navigation/src/G4PhantomParameterisation.cc +++ b/source/geometry/navigation/src/G4PhantomParameterisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4PhantomParameterisation.cc,v 1.4 2008/01/22 15:02:36 gcosmo Exp $ +// $Id: G4PhantomParameterisation.cc,v 1.6 2009/05/20 08:27:10 gcosmo Exp $ // GEANT4 tag $ Name:$ // // class G4PhantomParameterisation implementation @@ -76,6 +76,18 @@ BuildContainerSolid( G4VPhysicalVolume *pMotherPhysical ) // CheckVoxelsFillContainer(); } +//------------------------------------------------------------------ +void G4PhantomParameterisation:: +BuildContainerSolid( G4VSolid *pMotherSolid ) +{ + fContainerSolid = pMotherSolid; + fContainerWallX = fNoVoxelX * fVoxelHalfX; + fContainerWallY = fNoVoxelY * fVoxelHalfY; + fContainerWallZ = fNoVoxelZ * fVoxelHalfZ; + + // CheckVoxelsFillContainer(); +} + //------------------------------------------------------------------ void G4PhantomParameterisation:: @@ -133,6 +145,7 @@ GetMaterialIndex( size_t copyNo ) const { CheckCopyNo( copyNo ); + if( !fMaterialIndices ) { return 0; } return *(fMaterialIndices+copyNo); } diff --git a/source/geometry/navigation/src/G4PropagatorInField.cc b/source/geometry/navigation/src/G4PropagatorInField.cc index 4ac939683b..aee508b9eb 100644 --- a/source/geometry/navigation/src/G4PropagatorInField.cc +++ b/source/geometry/navigation/src/G4PropagatorInField.cc @@ -35,6 +35,8 @@ // 14.10.96 John Apostolakis, design and implementation // 17.03.97 John Apostolakis, renaming new set functions being added // +// $Id: G4PropagatorInField.cc,v 1.50 2009/12/10 08:41:54 japost Exp $ +// GEANT4 tag $ Name: $ // --------------------------------------------------------------------------- #include "G4PropagatorInField.hh" @@ -68,6 +70,7 @@ G4PropagatorInField::G4PropagatorInField( G4Navigator *theNavigator, fCharge(0.0), fInitialMomentumModulus(0.0), fMass(0.0), fUseSafetyForOptimisation(true), // (false) is less sensitive to incorrect safety fSetFieldMgr(false), + fZeroStepThreshold( 0.0 ), fpTrajectoryFilter( 0 ) { if(fDetectorFieldMgr) { fEpsilonStep = fDetectorFieldMgr->GetMaximumEpsilonStep();} @@ -82,6 +85,13 @@ G4PropagatorInField::G4PropagatorInField( G4Navigator *theNavigator, fPreviousSftOrigin= G4ThreeVector(0.,0.,0.); fPreviousSafety= 0.0; kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + fZeroStepThreshold= std::max( 1.0e5 * kCarTolerance, 1.0e-1 * micrometer ) ; +#ifdef G4DEBUG_FIELD + G4cout << " PiF: Zero Step Threshold set to " << fZeroStepThreshold / millimeter + << " mm." << G4endl; + G4cout << " PiF: Value of kCarTolerance = " << kCarTolerance / millimeter + << " mm. " << G4endl; +#endif // Definding Intersection Locator and his parameters if(vLocator==0){ @@ -91,10 +101,7 @@ G4PropagatorInField::G4PropagatorInField( G4Navigator *theNavigator, fIntersectionLocator=vLocator; fAllocatedLocator=false; } - fIntersectionLocator->SetEpsilonStepFor(fEpsilonStep); - fIntersectionLocator->SetDeltaIntersectionFor(GetDeltaIntersection()); - fIntersectionLocator->SetChordFinderFor(GetChordFinder()); - fIntersectionLocator->SetSafetyParametersFor( fUseSafetyForOptimisation); + RefreshIntersectionLocator(); // Copy all relevant parameters } G4PropagatorInField::~G4PropagatorInField() @@ -102,6 +109,15 @@ G4PropagatorInField::~G4PropagatorInField() if(fAllocatedLocator)delete fIntersectionLocator; } +// Update the IntersectionLocator with current parameters +void +G4PropagatorInField::RefreshIntersectionLocator() +{ + fIntersectionLocator->SetEpsilonStepFor(fEpsilonStep); + fIntersectionLocator->SetDeltaIntersectionFor(fCurrentFieldMgr->GetDeltaIntersection()); + fIntersectionLocator->SetChordFinderFor(GetChordFinder()); + fIntersectionLocator->SetSafetyParametersFor( fUseSafetyForOptimisation); +} /////////////////////////////////////////////////////////////////////////// // // Compute the next geometric Step @@ -113,7 +129,8 @@ G4PropagatorInField::ComputeStep( G4double& currentSafety, // IN/OUT G4VPhysicalVolume* pPhysVol) { - + const G4String MethodName("G4PropagatorInField::ComputeStep"); + // If CurrentProposedStepLength is too small for finding Chords // then return with no action (for now - TODO: some action) // @@ -151,12 +168,9 @@ G4PropagatorInField::ComputeStep( GetChordFinder()->SetChargeMomentumMass(fCharge, fInitialMomentumModulus, fMass); - // Values for Intersection Locator has to be updated on each call - // because the CurrentFieldManager changes - fIntersectionLocator->SetChordFinderFor(GetChordFinder()); - fIntersectionLocator->SetSafetyParametersFor( fUseSafetyForOptimisation); - fIntersectionLocator->SetEpsilonStepFor(fEpsilonStep); - fIntersectionLocator->SetDeltaIntersectionFor(GetDeltaIntersection()); + // Values for Intersection Locator has to be updated on each call for the + // case that CurrentFieldManager has changed from the one of previous step + RefreshIntersectionLocator(); G4FieldTrack CurrentState(pFieldTrack); G4FieldTrack OriginalState = CurrentState; @@ -176,7 +190,7 @@ G4PropagatorInField::ComputeStep( CurrentProposedStepLength= std::min( trialProposedStep, fLargestAcceptableStep ); } - epsilon = GetDeltaOneStep() / CurrentProposedStepLength; + epsilon = fCurrentFieldMgr->GetDeltaOneStep() / CurrentProposedStepLength; // G4double raw_epsilon= epsilon; G4double epsilonMin= fCurrentFieldMgr->GetMinimumEpsilonStep(); G4double epsilonMax= fCurrentFieldMgr->GetMaximumEpsilonStep();; @@ -199,11 +213,11 @@ G4PropagatorInField::ComputeStep( G4double decreaseFactor = 0.9; // Unused default if( (fNoZeroStep < fSevereActionThreshold_NoZeroSteps) - && (stepTrial > 1000.0*kCarTolerance) ) + && (stepTrial > 100.0*fZeroStepThreshold) ) { - // Ensure quicker convergence + // Attempt quick convergence // - decreaseFactor= 0.1; + decreaseFactor= 0.25; } else { @@ -211,11 +225,11 @@ G4PropagatorInField::ComputeStep( // is either geometrically sharp or between very different materials. // Careful decreases to cope with tolerance are required. // - if( stepTrial > 1000.0*kCarTolerance ) - decreaseFactor = 0.25; // Try slow decreases - else if( stepTrial > 100.0*kCarTolerance ) - decreaseFactor= 0.5; // Try slower decreases - else if( stepTrial > 10.0*kCarTolerance ) + if( stepTrial > 100.0*fZeroStepThreshold ) + decreaseFactor = 0.35; // Try decreasing slower + else if( stepTrial > 100.0*fZeroStepThreshold ) + decreaseFactor= 0.5; // Try yet slower decreases + else if( stepTrial > 10.0*fZeroStepThreshold ) decreaseFactor= 0.75; // Try even slower decreases else decreaseFactor= 0.9; // Try very slow decreases @@ -223,10 +237,15 @@ G4PropagatorInField::ComputeStep( stepTrial *= decreaseFactor; #ifdef G4DEBUG_FIELD + G4cout << MethodName << ": " + << " Decreasing step - " + << " decreaseFactor= " << std::setw(8) << decreaseFactor + << " stepTrial = " << std::setw(18) << stepTrial << " " + << " fZeroStepThreshold = " << fZeroStepThreshold << G4endl; PrintStepLengthDiagnostic(CurrentProposedStepLength, decreaseFactor, stepTrial, pFieldTrack); #endif - if( stepTrial == 0.0 ) + if( stepTrial == 0.0 ) // Change to make it < 0.1 * kCarTolerance ?? { G4cout << " G4PropagatorInField::ComputeStep " << " Particle abandoned due to lack of progress in field." @@ -402,10 +421,17 @@ G4PropagatorInField::ComputeStep( // In order to correct this efficiently, we identify these cases // and only take corrective action when they occur. // - if( TruePathLength < 0.5*kCarTolerance ) + if( ( (TruePathLength < fZeroStepThreshold) + && ( TruePathLength+kCarTolerance < CurrentProposedStepLength ) + ) + || ( TruePathLength < 0.5*kCarTolerance ) + ) + { fNoZeroStep++; - else + } + else{ fNoZeroStep = 0; + } if( fNoZeroStep > fAbandonThreshold_NoZeroSteps ) { fParticleIsLooping = true; @@ -551,13 +577,33 @@ G4PropagatorInField::PrintStepLengthDiagnostic( G4double stepTrial, const G4FieldTrack& ) { +#if 0 G4cout << " PiF: NoZeroStep= " << fNoZeroStep << " CurrentProposedStepLength= " << CurrentProposedStepLength << " Full_curvelen_last=" << fFull_CurveLen_of_LastAttempt << " last proposed step-length= " << fLast_ProposedStepLength - << " decreate factor = " << decreaseFactor + << " decrease factor = " << decreaseFactor << " step trial = " << stepTrial << G4endl; +#endif + int iprec= G4cout.precision(8); + G4cout << " " << std::setw(12) << " PiF: NoZeroStep " + << " " << std::setw(20) << " CurrentProposed len " + << " " << std::setw(18) << " Full_curvelen_last" + << " " << std::setw(18) << " last proposed len " + << " " << std::setw(18) << " decrease factor " + << " " << std::setw(15) << " step trial " + << G4endl; + + G4cout << " " << std::setw(10) << fNoZeroStep << " " + << " " << std::setw(20) << CurrentProposedStepLength + << " " << std::setw(18) << fFull_CurveLen_of_LastAttempt + << " " << std::setw(18) << fLast_ProposedStepLength + << " " << std::setw(18) << decreaseFactor + << " " << std::setw(15) << stepTrial + << G4endl; + G4cout.precision( iprec ); + } // Access the points which have passed through the filter. The @@ -616,10 +662,23 @@ FindAndSetFieldManager( G4VPhysicalVolume* pCurrentPhysicalVolume) currentFieldMgr = fDetectorFieldMgr; if( pCurrentPhysicalVolume) { - G4FieldManager *newFieldMgr = 0; - newFieldMgr= pCurrentPhysicalVolume->GetLogicalVolume()->GetFieldManager(); - if ( newFieldMgr ) - currentFieldMgr = newFieldMgr; + G4FieldManager *pRegionFieldMgr= 0, *localFieldMgr = 0; + G4LogicalVolume* pLogicalVol= pCurrentPhysicalVolume->GetLogicalVolume(); + + if( pLogicalVol ) { + // Value for Region, if any, Overrides + G4Region* pRegion= pLogicalVol->GetRegion(); + if( pRegion ) { + pRegionFieldMgr= pRegion->GetFieldManager(); + if( pRegionFieldMgr ) + currentFieldMgr= pRegionFieldMgr; + } + + // 'Local' Value from logical volume, if any, Overrides + localFieldMgr= pLogicalVol->GetFieldManager(); + if ( localFieldMgr ) + currentFieldMgr = localFieldMgr; + } } fCurrentFieldMgr= currentFieldMgr; diff --git a/source/geometry/navigation/src/G4RegularNavigation.cc b/source/geometry/navigation/src/G4RegularNavigation.cc index 169a391208..c14626b05b 100755 --- a/source/geometry/navigation/src/G4RegularNavigation.cc +++ b/source/geometry/navigation/src/G4RegularNavigation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4RegularNavigation.cc,v 1.7 2007/12/10 16:30:01 gunter Exp $ +// $Id: G4RegularNavigation.cc,v 1.9 2009/01/27 09:31:29 gcosmo Exp $ // GEANT4 tag $ Name:$ // // class G4RegularNavigation implementation @@ -40,6 +40,7 @@ #include "G4NormalNavigation.hh" #include "G4Navigator.hh" #include "G4GeometryTolerance.hh" +#include "G4RegularNavigationHelper.hh" //------------------------------------------------------------------ G4RegularNavigation::G4RegularNavigation() @@ -133,21 +134,24 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials( G4int& blockedReplicaNo, G4VPhysicalVolume* pCurrentPhysical) { + G4RegularNavigationHelper::ClearStepLengths(); + G4PhantomParameterisation *param = (G4PhantomParameterisation*)(pCurrentPhysical->GetParameterisation()); - if( !param->SkipEqualMaterials() ) { + if( !param->SkipEqualMaterials() ) + { return fnormalNav->ComputeStep(localPoint, - localDirection, - currentProposedStepLength, - newSafety, - history, - validExitNormal, - exitNormal, - exiting, - entering, - pBlockedPhysical, - blockedReplicaNo); + localDirection, + currentProposedStepLength, + newSafety, + history, + validExitNormal, + exitNormal, + exiting, + entering, + pBlockedPhysical, + blockedReplicaNo); } @@ -197,6 +201,7 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials( for( ;; ) { newStep = voxelBox->DistanceToOut( localPoint, localDirection ); + if( (bFirstStep) && (newStep < currentProposedStepLength) ) { exiting = true; @@ -213,6 +218,17 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials( { return currentProposedStepLength; } + if(totalNewStep > currentProposedStepLength) + { + G4RegularNavigationHelper:: + AddStepLength(copyNo, newStep-totalNewStep+currentProposedStepLength); + return currentProposedStepLength; + } + else + { + G4RegularNavigationHelper::AddStepLength( copyNo, newStep ); + } + // Move container point until wall of voxel // @@ -228,6 +244,7 @@ G4double G4RegularNavigation::ComputeStepSkippingEqualMaterials( copyNo = param->GetReplicaNo(containerPoint,localDirection); G4ThreeVector voxelTranslation = param->GetTranslation( copyNo ); + // G4cout << " copyNo " << copyNo << " = " << pCurrentPhysical->GetCopyNo() << G4endl; // Move local point until wall of voxel and then put it in the new voxel // local coordinates // diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronLEP.hh b/source/geometry/navigation/src/G4RegularNavigationHelper.cc old mode 100755 new mode 100644 similarity index 68% rename from examples/advanced/hadrontherapy/include/HIProtonNeutronLEP.hh rename to source/geometry/navigation/src/G4RegularNavigationHelper.cc index b910b5a004..02227479da --- a/examples/advanced/hadrontherapy/include/HIProtonNeutronLEP.hh +++ b/source/geometry/navigation/src/G4RegularNavigationHelper.cc @@ -23,42 +23,43 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyProtonLEP.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: // -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- -#ifndef HIPROTONNEUTRONLEP_h -#define HIPROTONNEUTRONLEP_h 1 +// $Id: G4RegularNavigationHelper.cc,v 1.1 2009/01/27 09:31:29 gcosmo Exp $ +// GEANT4 tag $ Name:$ +// +// class G4RegularNavigationHelper implementation +// +// Author: Pedro Arce, November 2008 +// +// -------------------------------------------------------------------- -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" +#include "G4RegularNavigationHelper.hh" -class HIProtonNeutronLEP: public G4VPhysicsConstructor +std::vector< std::pair > + G4RegularNavigationHelper::theStepLengths; + +// -------------------------------------------------------------------- +// +G4RegularNavigationHelper::G4RegularNavigationHelper() { - public: - HIProtonNeutronLEP(const G4String& name = "ProtonNeutron-LEP"); - virtual ~HIProtonNeutronLEP(); - - protected: - void ConstructParticle(){}; - void ConstructProcess(); -}; -#endif - - - - - +} +// -------------------------------------------------------------------- +// +G4RegularNavigationHelper::~G4RegularNavigationHelper() +{ +} +// -------------------------------------------------------------------- +// +void G4RegularNavigationHelper::ClearStepLengths() +{ + theStepLengths.clear(); +} +// -------------------------------------------------------------------- +// +void G4RegularNavigationHelper::AddStepLength( G4int copyNo, G4double slen ) +{ + theStepLengths.push_back( std::pair(copyNo,slen) ); +} diff --git a/source/geometry/navigation/src/G4VIntersectionLocator.cc b/source/geometry/navigation/src/G4VIntersectionLocator.cc index 3582616841..7e7139a68e 100644 --- a/source/geometry/navigation/src/G4VIntersectionLocator.cc +++ b/source/geometry/navigation/src/G4VIntersectionLocator.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VIntersectionLocator.cc,v 1.4 2008/11/14 18:26:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4VIntersectionLocator.cc,v 1.7 2009/11/27 15:21:59 japost Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // Class G4VIntersectionLocator implementation // @@ -42,12 +42,16 @@ // // Constructor // -G4VIntersectionLocator:: G4VIntersectionLocator(G4Navigator *theNavigator) +G4VIntersectionLocator:: G4VIntersectionLocator(G4Navigator *theNavigator): + fUseNormalCorrection(false), + fiNavigator( theNavigator ), + fiChordFinder( 0 ), // Not set - overridden at each step + fiEpsilonStep( -1.0 ), // Out of range - overridden at each step + fiDeltaIntersection( -1.0 ), // Out of range - overridden at each step + fiUseSafety(false) // Default - overridden at each step { kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); - fiNavigator = theNavigator; fVerboseLevel = 0; - fUseNormalCorrection = false; fHelpingNavigator = new G4Navigator(); } @@ -190,12 +194,13 @@ ReEstimateEndpoint( const G4FieldTrack &CurrentStateA, G4double advanceLength= endCurveLen - currentCurveLen ; if (std::abs(advanceLength)AccurateAdvance(newEndPoint, advanceLength, GetEpsilonStepFor()); + } } while( !goodAdvance && (++itrial < no_trials) ); @@ -341,7 +346,7 @@ AdjustmentOfFoundIntersection( const G4ThreeVector &CurrentA_Point, // Intersection between Line and Plane // G4double n_d_m = Normal.dot(MomentumDir); - if ( std::abs(n_d_m)kCarTolerance ) { if ( fVerboseLevel>1 ) { diff --git a/source/geometry/solids/CSG/History b/source/geometry/solids/CSG/History index 735c5d1ef9..6cbd478f53 100644 --- a/source/geometry/solids/CSG/History +++ b/source/geometry/solids/CSG/History @@ -1,4 +1,4 @@ -$Id: History,v 1.109 2008/11/21 09:50:20 gcosmo Exp $ +$Id: History,v 1.119 2009/11/30 10:20:53 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,57 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Nov 30, 2009 V.Grichine geom-csg-V09-02-08 +- G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag. + +Nov 26, 2009 T.Nikitina geom-csg-V09-02-07 +- G4Torus: fix in SolveNumericJT() in order to take in account the difference + in the value of theta for different intervals, [0:pi] or [-pi:0], and for + SPhi in [0:twopi] or [-twopi:0]. Addresses problem report #1086. + +Nov 12, 2009 T.Nikitina geom-csg-V09-02-06 +- G4Cons: fix to DistanceToIn(p,v), added a check on the direction in case + of point on surface. Fixes a problem of stuck tracks observed in CMS, due + to wrong reply from the solid for points on the inner radius surface base + with direction along the imaginary extension of the cone. +- Added test case to internal test testG4Cons2. + +Aug 07, 2009 T.Nikitina geom-csg-V09-02-05 +- G4Sphere: fix for the calculation of the normal in DistanceToOut() + to avoid cases of division by zero in specific configurations. + Addresses problem report #977. + +Jun 30, 2009 T.Nikitina geom-csg-V09-02-04 +- Introduced to DistanceToIn(p,v) splitting of the distance for point very far + from intersection area and big difference between solid dimensions and + distance to it; resolves issue observed on 64 bits problem. Affected solids: + G4Tubs, G4Cons, G4Sphere, G4Orb. Addresses problem report #1022. +- Fixed rare cases of NaN on G4Sphere. + +Jun 09, 2009 G.Cosmo geom-csg-V09-02-03 +- Fixed case of non-initialised start-Phi value in G4Tubs and G4Cons, + problem introduced following modifications in tag "geom-csg-V09-02-00". + +May 14, 2009 T.Nikitina geom-csg-V09-02-02 +- G4Sphere: initialise flags for full sphere in constructor. + +May 14, 2009 T.Nikitina geom-csg-V09-02-01 +- G4Sphere: correction di DistanceToOut(p,v, ...) for phi sections for + rays passing though zero. +- More minor refiniments to G4Sphere following review. + +May 08, 2009 G.Cosmo geom-csg-V09-02-00 +- G4Sphere: implemented speed improvements and corrections from joint + code review of G4Sphere class. Cached computation for half-tolerances + and use of Boolean flag for identifying if full-sphere, shell or section. + Implemented caching of trigonometric values, now directly computed inside + modifiers for Phi and Theta angles as required for parametrised cases. + Rationalised usage of relative radial tolerances. +- G4Tubs, G4Cons: rationalised usage of modifiers for Phi angles and + simplified constructors. +- Added new test case for relatively big spheres in unit tests testG4Orb + and testG4Sphere, based on problem report #1046. + Nov 21, 2008 G.Cosmo geom-csg-V09-01-08 - G4Sphere: defined Get/SetInnerRadius() accessors to be compliant with other CSG solids and allow consistent treatment in persistency code... diff --git a/source/geometry/solids/CSG/include/G4Cons.hh b/source/geometry/solids/CSG/include/G4Cons.hh index cead8c8711..e1f9cdb624 100644 --- a/source/geometry/solids/CSG/include/G4Cons.hh +++ b/source/geometry/solids/CSG/include/G4Cons.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Cons.hh,v 1.21 2008/11/06 11:04:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Cons.hh,v 1.22 2009/03/31 09:56:24 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -79,49 +79,50 @@ class G4Cons : public G4CSGSolid G4double pRmin2, G4double pRmax2, G4double pDz, G4double pSPhi, G4double pDPhi); - - virtual ~G4Cons() ; + // + // Constructs a cone with the given name and dimensions + + ~G4Cons() ; + // + // Destructor // Accessors - inline G4double GetInnerRadiusMinusZ() const; - inline G4double GetOuterRadiusMinusZ() const; - inline G4double GetInnerRadiusPlusZ() const; - inline G4double GetOuterRadiusPlusZ() const; - - inline G4double GetZHalfLength() const; - - inline G4double GetStartPhiAngle () const; - inline G4double GetDeltaPhiAngle () const; + inline G4double GetInnerRadiusMinusZ() const; + inline G4double GetOuterRadiusMinusZ() const; + inline G4double GetInnerRadiusPlusZ() const; + inline G4double GetOuterRadiusPlusZ() const; + inline G4double GetZHalfLength() const; + inline G4double GetStartPhiAngle() const; + inline G4double GetDeltaPhiAngle() const; // Modifiers - inline void SetInnerRadiusMinusZ( G4double Rmin1 ); - inline void SetOuterRadiusMinusZ( G4double Rmax1 ); - inline void SetInnerRadiusPlusZ ( G4double Rmin2 ); - inline void SetOuterRadiusPlusZ ( G4double Rmax2 ); - - inline void SetZHalfLength ( G4double newDz ); - inline void SetStartPhiAngle ( G4double newSPhi); - inline void SetDeltaPhiAngle ( G4double newDPhi); + inline void SetInnerRadiusMinusZ (G4double Rmin1 ); + inline void SetOuterRadiusMinusZ (G4double Rmax1 ); + inline void SetInnerRadiusPlusZ (G4double Rmin2 ); + inline void SetOuterRadiusPlusZ (G4double Rmax2 ); + inline void SetZHalfLength (G4double newDz ); + inline void SetStartPhiAngle (G4double newSPhi, G4bool trig=true); + inline void SetDeltaPhiAngle (G4double newDPhi); // Other methods for solid - inline G4double GetCubicVolume(); - inline G4double GetSurfaceArea(); + inline G4double GetCubicVolume(); + inline G4double GetSurfaceArea(); - void ComputeDimensions(G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep); + void ComputeDimensions( G4VPVParameterisation* p, + const G4int n, + const G4VPhysicalVolume* pRep ); - G4bool CalculateExtent(const EAxis pAxis, - const G4VoxelLimits& pVoxelLimit, - const G4AffineTransform& pTransform, - G4double& pmin, G4double& pmax) const; + G4bool CalculateExtent( const EAxis pAxis, + const G4VoxelLimits& pVoxelLimit, + const G4AffineTransform& pTransform, + G4double& pmin, G4double& pmax ) const; - EInside Inside(const G4ThreeVector& p) const; + EInside Inside( const G4ThreeVector& p ) const; - G4ThreeVector SurfaceNormal(const G4ThreeVector& p) const; + G4ThreeVector SurfaceNormal( const G4ThreeVector& p ) const; G4double DistanceToIn (const G4ThreeVector& p, const G4ThreeVector& v) const; @@ -133,7 +134,7 @@ class G4Cons : public G4CSGSolid G4ThreeVector *n=0) const; G4double DistanceToOut(const G4ThreeVector& p) const; - G4GeometryType GetEntityType() const; + G4GeometryType GetEntityType() const; G4ThreeVector GetPointOnSurface() const; @@ -159,33 +160,25 @@ class G4Cons : public G4CSGSolid inline G4double GetRmax1() const; inline G4double GetRmin2() const; inline G4double GetRmax2() const; - inline G4double GetDz() const; - inline G4double GetSPhi() const; inline G4double GetDPhi() const; - protected: + private: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform) const; - G4double fRmin1, fRmin2, fRmax1, fRmax2, fDz, fSPhi, fDPhi; - G4bool fPhiFullCone; - - // Used by distanceToOut - - enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kPZ,kMZ}; - - // used by normal - - enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNZ}; - - private: - - inline void Initialise(); + inline void Initialize(); + // // Reset relevant values to zero + inline void CheckSPhiAngle(G4double sPhi); + inline void CheckDPhiAngle(G4double dPhi); + inline void CheckPhiAngles(G4double sPhi, G4double dPhi); + // + // Reset relevant flags and angle values + inline void InitializeTrigonometry(); // // Recompute relevant trigonometric values and cache them @@ -197,14 +190,30 @@ class G4Cons : public G4CSGSolid private: + // Used by distanceToOut + // + enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kPZ,kMZ}; + + // used by normal + // + enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNZ}; + G4double kRadTolerance, kAngTolerance; // // Radial and angular tolerances + G4double fRmin1, fRmin2, fRmax1, fRmax2, fDz, fSPhi, fDPhi; + // + // Radial and angular dimensions + G4double sinCPhi, cosCPhi, cosHDPhiOT, cosHDPhiIT, sinSPhi, cosSPhi, sinEPhi, cosEPhi; // // Cached trigonometric values + + G4bool fPhiFullCone; + // + // Flag for identification of section or full cone }; #include "G4Cons.icc" diff --git a/source/geometry/solids/CSG/include/G4Cons.icc b/source/geometry/solids/CSG/include/G4Cons.icc index 87711e4be1..d22d594d7a 100644 --- a/source/geometry/solids/CSG/include/G4Cons.icc +++ b/source/geometry/solids/CSG/include/G4Cons.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Cons.icc,v 1.8 2008/11/06 10:55:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Cons.icc,v 1.11 2009/06/09 16:08:23 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -35,31 +35,6 @@ // Implementation of inline methods of G4Cons // -------------------------------------------------------------------- -inline -void G4Cons::Initialise() -{ - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; -} - -inline -void G4Cons::InitializeTrigonometry() -{ - G4double hDPhi = 0.5*fDPhi; // half delta phi - G4double cPhi = fSPhi + hDPhi; - G4double ePhi = fSPhi + fDPhi; - - sinCPhi = std::sin(cPhi); - cosCPhi = std::cos(cPhi); - cosHDPhiIT = std::cos(hDPhi - 0.5*kAngTolerance); // inner/outer tol half dphi - cosHDPhiOT = std::cos(hDPhi + 0.5*kAngTolerance); - sinSPhi = std::sin(fSPhi); - cosSPhi = std::cos(fSPhi); - sinEPhi = std::sin(ePhi); - cosEPhi = std::cos(ePhi); -} - inline G4double G4Cons::GetInnerRadiusMinusZ() const { @@ -102,69 +77,133 @@ G4double G4Cons::GetDeltaPhiAngle() const return fDPhi; } +inline +void G4Cons::Initialize() +{ + fCubicVolume = 0.; + fSurfaceArea = 0.; + fpPolyhedron = 0; +} + +inline +void G4Cons::InitializeTrigonometry() +{ + G4double hDPhi = 0.5*fDPhi; // half delta phi + G4double cPhi = fSPhi + hDPhi; + G4double ePhi = fSPhi + fDPhi; + + sinCPhi = std::sin(cPhi); + cosCPhi = std::cos(cPhi); + cosHDPhiIT = std::cos(hDPhi - 0.5*kAngTolerance); // inner/outer tol half dphi + cosHDPhiOT = std::cos(hDPhi + 0.5*kAngTolerance); + sinSPhi = std::sin(fSPhi); + cosSPhi = std::cos(fSPhi); + sinEPhi = std::sin(ePhi); + cosEPhi = std::cos(ePhi); +} + +inline void G4Cons::CheckSPhiAngle(G4double sPhi) +{ + // Ensure fSphi in 0-2PI or -2PI-0 range if shape crosses 0 + + if ( sPhi < 0 ) + { + fSPhi = twopi - std::fmod(std::fabs(sPhi),twopi); + } + else + { + fSPhi = std::fmod(sPhi,twopi) ; + } + if ( fSPhi+fDPhi > twopi ) + { + fSPhi -= twopi ; + } +} + +inline void G4Cons::CheckDPhiAngle(G4double dPhi) +{ + fPhiFullCone = true; + if ( dPhi >= twopi-kAngTolerance*0.5 ) + { + fDPhi=twopi; + fSPhi=0; + } + else + { + fPhiFullCone = false; + if ( dPhi > 0 ) + { + fDPhi = dPhi; + } + else + { + G4cerr << "ERROR - G4Cons()::CheckDPhiAngle()" << G4endl + << " Negative or zero delta-Phi (" << dPhi << ") in solid: " + << GetName() << G4endl; + G4Exception("G4Cons::CheckDPhiAngle()", "InvalidSetup", + FatalException, "Invalid dphi."); + } + } +} + +inline void G4Cons::CheckPhiAngles(G4double sPhi, G4double dPhi) +{ + CheckDPhiAngle(dPhi); + if ( (fDPhi= twopi-kAngTolerance*0.5 ) - { - fPhiFullCone = true; - } - else if ( newDPhi > 0 ) - { - fPhiFullCone = false; - } - else - { - G4cerr << "ERROR - G4Cons()::SetDeltaPhiAngle() : " << GetName() << G4endl - << " Negative delta-Phi ! - " << newDPhi << G4endl; - G4Exception("G4Cons::SetDeltaPhiAngle()", "InvalidSetup", - FatalException, "Invalid dphi."); - } - fDPhi= newDPhi; - Initialise(); - InitializeTrigonometry(); + CheckPhiAngles(fSPhi, newDPhi); + Initialize(); } // Old access methods ... diff --git a/source/geometry/solids/CSG/include/G4Sphere.hh b/source/geometry/solids/CSG/include/G4Sphere.hh index 97ea1039a9..3604e4ddfe 100644 --- a/source/geometry/solids/CSG/include/G4Sphere.hh +++ b/source/geometry/solids/CSG/include/G4Sphere.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Sphere.hh,v 1.21 2008/11/21 09:50:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Sphere.hh,v 1.24 2009/03/31 07:51:49 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -35,7 +35,7 @@ // // Class description: // -// A G4Sphere is, in the general case, section of a spherical shell, +// A G4Sphere is, in the general case, a section of a spherical shell, // between specified phi and theta angles // // The phi and theta segments are described by a starting angle, @@ -82,9 +82,14 @@ class G4Sphere : public G4CSGSolid G4double pRmin, G4double pRmax, G4double pSPhi, G4double pDPhi, G4double pSTheta, G4double pDTheta); + // + // Constructs a sphere or sphere shell section + // with the given name and dimensions - virtual ~G4Sphere() ; - + ~G4Sphere(); + // + // Destructor + // Accessors inline G4double GetInnerRadius () const; @@ -98,7 +103,7 @@ class G4Sphere : public G4CSGSolid inline void SetInnerRadius (G4double newRMin); inline void SetOuterRadius (G4double newRmax); - inline void SetStartPhiAngle (G4double newSphi); + inline void SetStartPhiAngle (G4double newSphi, G4bool trig=true); inline void SetDeltaPhiAngle (G4double newDphi); inline void SetStartThetaAngle(G4double newSTheta); inline void SetDeltaThetaAngle(G4double newDTheta); @@ -106,7 +111,7 @@ class G4Sphere : public G4CSGSolid // Methods for solid inline G4double GetCubicVolume(); - inline G4double GetSurfaceArea(); + G4double GetSurfaceArea(); void ComputeDimensions( G4VPVParameterisation* p, const G4int n, @@ -141,6 +146,7 @@ class G4Sphere : public G4CSGSolid std::ostream& StreamInfo(std::ostream& os) const; // Visualisation functions + G4VisExtent GetExtent () const; void DescribeYourselfTo(G4VGraphicsScene& scene) const; G4Polyhedron* CreatePolyhedron() const; @@ -149,6 +155,7 @@ class G4Sphere : public G4CSGSolid public: // without description G4Sphere(__void__&); + // // Fake default constructor for usage restricted to direct object // persistency for clients requiring preallocation of memory for // persistifiable objects. @@ -164,34 +171,67 @@ class G4Sphere : public G4CSGSolid inline G4double GetInsideRadius() const; inline void SetInsideRadius(G4double newRmin); - protected: + private: G4ThreeVectorList* CreateRotatedVertices(const G4AffineTransform& pTransform, G4int& noPolygonVertices) const; - - // Used by distanceToOut - - enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kSTheta,kETheta}; - - // used by normal - - enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta}; + // + // Creates the List of transformed vertices in the format required + // for G4VSolid:: ClipCrossSection and ClipBetweenSections - private: + inline void Initialize(); + // + // Reset relevant values to zero + + inline void CheckThetaAngles(G4double sTheta, G4double dTheta); + inline void CheckSPhiAngle(G4double sPhi); + inline void CheckDPhiAngle(G4double dPhi); + inline void CheckPhiAngles(G4double sPhi, G4double dPhi); + // + // Reset relevant flags and angle values + + inline void InitializePhiTrigonometry(); + inline void InitializeThetaTrigonometry(); + // + // Recompute relevant trigonometric values and cache them G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p) const; + // // Algorithm for SurfaceNormal() following the original // specification for points not on the surface private: - G4double kAngTolerance, kRadTolerance; + // Used by distanceToOut + // + enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kSTheta,kETheta}; + + // used by normal + // + enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta}; - G4double fRmin,fRmax, - fSPhi,fDPhi, - fSTheta,fDTheta; - G4double fEpsilon; + G4double fEpsilon, fRminTolerance, fRmaxTolerance, kAngTolerance; + // + // Radial and angular tolerances + + G4double fRmin, fRmax, fSPhi, fDPhi, fSTheta, fDTheta; + // + // Radial and angular dimensions + + G4double sinCPhi, cosCPhi, cosHDPhiOT, cosHDPhiIT, + sinSPhi, cosSPhi, sinEPhi, cosEPhi, hDPhi, cPhi, ePhi; + // + // Cached trigonometric values for Phi angle + + G4double sinSTheta, cosSTheta, sinETheta, cosETheta, + tanSTheta, tanSTheta2, tanETheta, tanETheta2, eTheta; + // + // Cached trigonometric values for Theta angle + + G4bool fFullPhiSphere, fFullThetaSphere, fFullSphere; + // + // Flags for identification of section, shell or full sphere }; #include "G4Sphere.icc" diff --git a/source/geometry/solids/CSG/include/G4Sphere.icc b/source/geometry/solids/CSG/include/G4Sphere.icc index 9b9177032c..398d1c5b01 100644 --- a/source/geometry/solids/CSG/include/G4Sphere.icc +++ b/source/geometry/solids/CSG/include/G4Sphere.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Sphere.icc,v 1.8 2008/11/21 09:50:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Sphere.icc,v 1.11 2009/05/13 11:23:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -76,67 +76,193 @@ G4double G4Sphere::GetDeltaThetaAngle() const return fDTheta; } +inline +void G4Sphere::Initialize() +{ + fCubicVolume = 0.; + fSurfaceArea = 0.; + fpPolyhedron = 0; +} + +inline +void G4Sphere::InitializePhiTrigonometry() +{ + hDPhi = 0.5*fDPhi; // half delta phi + cPhi = fSPhi + hDPhi; + ePhi = fSPhi + fDPhi; + + sinCPhi = std::sin(cPhi); + cosCPhi = std::cos(cPhi); + cosHDPhiIT = std::cos(hDPhi - 0.5*kAngTolerance); // inner/outer tol half dphi + cosHDPhiOT = std::cos(hDPhi + 0.5*kAngTolerance); + sinSPhi = std::sin(fSPhi); + cosSPhi = std::cos(fSPhi); + sinEPhi = std::sin(ePhi); + cosEPhi = std::cos(ePhi); +} + +inline +void G4Sphere::InitializeThetaTrigonometry() +{ + eTheta = fSTheta + fDTheta; + + sinSTheta = std::sin(fSTheta); + cosSTheta = std::cos(fSTheta); + sinETheta = std::sin(eTheta); + cosETheta = std::cos(eTheta); + + tanSTheta = std::tan(fSTheta); + tanSTheta2 = tanSTheta*tanSTheta; + tanETheta = std::tan(eTheta); + tanETheta2 = tanETheta*tanETheta; +} + +inline +void G4Sphere::CheckThetaAngles(G4double sTheta, G4double dTheta) +{ + if ( (sTheta<0) || (sTheta>pi) ) + { + G4cerr << "ERROR - G4Sphere()::CheckThetaAngles()" << G4endl + << " Invalid starting Theta angle for solid: " << GetName() + << G4endl; + G4Exception("G4Sphere::CheckThetaAngles()", "InvalidSetup", + FatalException, "sTheta outside 0-PI range."); + } + else + { + fSTheta=sTheta; + } + if ( dTheta+sTheta >= pi ) + { + fDTheta=pi-sTheta; + } + else if ( dTheta > 0 ) + { + fDTheta=dTheta; + } + else + { + G4cerr << "ERROR - G4Sphere()::CheckThetaAngles(): " << G4endl + << " Negative delta-Theta (" << dTheta << "), for solid: " + << GetName() << G4endl; + G4Exception("G4Sphere::CheckThetaAngles()", "InvalidSetup", + FatalException, "Invalid dTheta."); + } + if ( fDTheta-fSTheta < pi ) { fFullThetaSphere = false; } + else { fFullThetaSphere = true ; } + fFullSphere = fFullPhiSphere && fFullThetaSphere; + + InitializeThetaTrigonometry(); +} + +inline +void G4Sphere::CheckSPhiAngle(G4double sPhi) +{ + // Ensure fSphi in 0-2PI or -2PI-0 range if shape crosses 0 + + if ( sPhi < 0 ) + { + fSPhi = twopi - std::fmod(std::fabs(sPhi),twopi); + } + else + { + fSPhi = std::fmod(sPhi,twopi) ; + } + if ( fSPhi+fDPhi > twopi ) + { + fSPhi -= twopi ; + } +} + +inline +void G4Sphere::CheckDPhiAngle(G4double dPhi) +{ + fFullPhiSphere = true; + if ( dPhi >= twopi-kAngTolerance*0.5 ) + { + fDPhi=twopi; + fSPhi=0; + } + else + { + fFullPhiSphere = false; + if ( dPhi > 0 ) + { + fDPhi = dPhi; + } + else + { + G4cerr << "ERROR - G4Sphere()::CheckDPhiAngle(): " << GetName() << G4endl + << " Negative delta-Phi ! - " + << dPhi << G4endl; + G4Exception("G4Sphere::CheckDPhiAngle()", "InvalidSetup", + FatalException, "Invalid dphi."); + } + } +} + +inline +void G4Sphere::CheckPhiAngles(G4double sPhi, G4double dPhi) +{ + CheckDPhiAngle(dPhi); + if (!fFullPhiSphere && sPhi) { CheckSPhiAngle(sPhi); } + fFullSphere = fFullPhiSphere && fFullThetaSphere; + + InitializePhiTrigonometry(); +} + inline void G4Sphere::SetInsideRadius(G4double newRmin) { fRmin= newRmin; - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; + Initialize(); } inline void G4Sphere::SetInnerRadius(G4double newRmin) { fRmin= newRmin; - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; + Initialize(); } inline void G4Sphere::SetOuterRadius(G4double newRmax) { fRmax= newRmax; - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; + Initialize(); } inline -void G4Sphere::SetStartPhiAngle(G4double newSphi) +void G4Sphere::SetStartPhiAngle(G4double newSPhi, G4bool compute) { - fSPhi= newSphi; - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; + // Flag 'compute' can be used to explicitely avoid recomputation of + // trigonometry in case SetDeltaPhiAngle() is invoked afterwards + + CheckSPhiAngle(newSPhi); + fFullPhiSphere = false; + if (compute) { InitializePhiTrigonometry(); } + Initialize(); } inline -void G4Sphere::SetDeltaPhiAngle(G4double newDphi) +void G4Sphere::SetDeltaPhiAngle(G4double newDPhi) { - fDPhi= newDphi; - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; + CheckPhiAngles(fSPhi, newDPhi); + Initialize(); } inline void G4Sphere::SetStartThetaAngle(G4double newSTheta) { - fSTheta=newSTheta; - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; + CheckThetaAngles(newSTheta, fDTheta); + Initialize(); } inline void G4Sphere::SetDeltaThetaAngle(G4double newDTheta) { - fDTheta=newDTheta; - fCubicVolume= 0.; - fSurfaceArea= 0.; - fpPolyhedron = 0; + CheckThetaAngles(fSTheta, newDTheta); + Initialize(); } // Old access functions @@ -181,55 +307,7 @@ inline G4double G4Sphere::GetCubicVolume() { if(fCubicVolume != 0.) {;} - else fCubicVolume = fDPhi*(std::cos(fSTheta)-std::cos(fSTheta+fDTheta))* - (fRmax*fRmax*fRmax-fRmin*fRmin*fRmin)/3.; + else { fCubicVolume = fDPhi*(std::cos(fSTheta)-std::cos(fSTheta+fDTheta))* + (fRmax*fRmax*fRmax-fRmin*fRmin*fRmin)/3.; } return fCubicVolume; } - - -inline -G4double G4Sphere::GetSurfaceArea() -{ - if(fSurfaceArea != 0.) {;} - else - { - G4double Rsq=fRmax*fRmax; - G4double rsq=fRmin*fRmin; - - fSurfaceArea = fDPhi*(rsq+Rsq)*(std::cos(fSTheta) - - std::cos(fSTheta+fDTheta)); - if(fDPhi < twopi) - { - fSurfaceArea = fSurfaceArea + fDTheta*(Rsq-rsq); - } - if(fSTheta >0) - { - G4double acos1=std::acos( std::pow(std::sin(fSTheta),2) - *std::cos(fDPhi) - +std::pow(std::cos(fSTheta),2)); - if(fDPhi>pi) - { - fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*(twopi-acos1); - } - else - { - fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*acos1; - } - } - if(fDTheta+fSTheta < pi) - { - G4double acos2=std::acos( std::pow(std::sin(fSTheta+fDTheta),2) - *std::cos(fDPhi) - +std::pow(std::cos(fSTheta+fDTheta),2)); - if(fDPhi>pi) - { - fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*(twopi-acos2); - } - else - { - fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*acos2; - } - } - } - return fSurfaceArea; -} diff --git a/source/geometry/solids/CSG/include/G4Tubs.hh b/source/geometry/solids/CSG/include/G4Tubs.hh index 1ce19464d3..42aa0b8259 100644 --- a/source/geometry/solids/CSG/include/G4Tubs.hh +++ b/source/geometry/solids/CSG/include/G4Tubs.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Tubs.hh,v 1.21 2008/11/06 10:55:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Tubs.hh,v 1.22 2009/03/26 16:25:44 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -85,7 +85,7 @@ class G4Tubs : public G4CSGSolid // // Constructs a tubs with the given name and dimensions - virtual ~G4Tubs(); + ~G4Tubs(); // // Destructor @@ -102,7 +102,7 @@ class G4Tubs : public G4CSGSolid inline void SetInnerRadius (G4double newRMin); inline void SetOuterRadius (G4double newRMax); inline void SetZHalfLength (G4double newDz); - inline void SetStartPhiAngle (G4double newSPhi); + inline void SetStartPhiAngle (G4double newSPhi, G4bool trig=true); inline void SetDeltaPhiAngle (G4double newDPhi); // Methods for solid @@ -158,7 +158,7 @@ class G4Tubs : public G4CSGSolid inline G4double GetSPhi() const; inline G4double GetDPhi() const; - protected: + private: G4ThreeVectorList* CreateRotatedVertices( const G4AffineTransform& pTransform ) const; @@ -166,23 +166,16 @@ class G4Tubs : public G4CSGSolid // Creates the List of transformed vertices in the format required // for G4VSolid:: ClipCrossSection and ClipBetweenSections - G4double fRMin, fRMax, fDz, fSPhi, fDPhi; - G4bool fPhiFullTube; - - // Used by distanceToOut - - enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kPZ,kMZ}; - - // Used by normal - - enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNZ}; - - private: - inline void Initialize(); // // Reset relevant values to zero + inline void CheckSPhiAngle(G4double sPhi); + inline void CheckDPhiAngle(G4double dPhi); + inline void CheckPhiAngles(G4double sPhi, G4double dPhi); + // + // Reset relevant flags and angle values + inline void InitializeTrigonometry(); // // Recompute relevant trigonometric values and cache them @@ -194,14 +187,30 @@ class G4Tubs : public G4CSGSolid private: + // Used by distanceToOut + // + enum ESide {kNull,kRMin,kRMax,kSPhi,kEPhi,kPZ,kMZ}; + + // Used by normal + // + enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNZ}; + G4double kRadTolerance, kAngTolerance; // // Radial and angular tolerances + G4double fRMin, fRMax, fDz, fSPhi, fDPhi; + // + // Radial and angular dimensions + G4double sinCPhi, cosCPhi, cosHDPhiOT, cosHDPhiIT, sinSPhi, cosSPhi, sinEPhi, cosEPhi; // // Cached trigonometric values + + G4bool fPhiFullTube; + // + // Flag for identification of section or full tube }; #include "G4Tubs.icc" diff --git a/source/geometry/solids/CSG/include/G4Tubs.icc b/source/geometry/solids/CSG/include/G4Tubs.icc index 0b9e1b8eef..480dd3734b 100644 --- a/source/geometry/solids/CSG/include/G4Tubs.icc +++ b/source/geometry/solids/CSG/include/G4Tubs.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Tubs.icc,v 1.11 2008/11/06 10:55:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Tubs.icc,v 1.14 2009/06/09 16:08:23 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -90,6 +90,57 @@ void G4Tubs::InitializeTrigonometry() cosEPhi = std::cos(ePhi); } +inline void G4Tubs::CheckSPhiAngle(G4double sPhi) +{ + // Ensure fSphi in 0-2PI or -2PI-0 range if shape crosses 0 + + if ( sPhi < 0 ) + { + fSPhi = twopi - std::fmod(std::fabs(sPhi),twopi); + } + else + { + fSPhi = std::fmod(sPhi,twopi) ; + } + if ( fSPhi+fDPhi > twopi ) + { + fSPhi -= twopi ; + } +} + +inline void G4Tubs::CheckDPhiAngle(G4double dPhi) +{ + fPhiFullTube = true; + if ( dPhi >= twopi-kAngTolerance*0.5 ) + { + fDPhi=twopi; + fSPhi=0; + } + else + { + fPhiFullTube = false; + if ( dPhi > 0 ) + { + fDPhi = dPhi; + } + else + { + G4cerr << "ERROR - G4Tubs()::CheckDPhiAngle()" << G4endl + << " Negative or zero delta-Phi (" << dPhi << ") in solid: " + << GetName() << G4endl; + G4Exception("G4Tubs::CheckDPhiAngle()", "InvalidSetup", + FatalException, "Invalid dphi."); + } + } +} + +inline void G4Tubs::CheckPhiAngles(G4double sPhi, G4double dPhi) +{ + CheckDPhiAngle(dPhi); + if ( (fDPhi= twopi-kAngTolerance*0.5 ) - { - fPhiFullTube = true; - } - else if ( newDPhi > 0 ) - { - fPhiFullTube = false; - } - else - { - G4cerr << "ERROR - G4Tubs()::SetDeltaPhiAngle() : " << GetName() << G4endl - << " Negative delta-Phi ! - " << newDPhi << G4endl; - G4Exception("G4Tubs::SetDeltaPhiAngle()", "InvalidSetup", - FatalException, "Invalid dphi."); - } - fDPhi= newDPhi; + CheckPhiAngles(fSPhi, newDPhi); Initialize(); - InitializeTrigonometry(); } // Older names for access functions diff --git a/source/geometry/solids/CSG/src/G4Cons.cc b/source/geometry/solids/CSG/src/G4Cons.cc index 13bac2b053..85ea75ac04 100644 --- a/source/geometry/solids/CSG/src/G4Cons.cc +++ b/source/geometry/solids/CSG/src/G4Cons.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Cons.cc,v 1.60 2008/11/06 15:26:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Cons.cc,v 1.67 2009/11/12 11:53:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4Cons @@ -34,6 +34,8 @@ // // History: // +// 12.10.09 T.Nikitina: Added to DistanceToIn(p,v) check on the direction in +// case of point on surface // 03.05.05 V.Grichine: SurfaceNormal(p) according to J. Apostolakis proposal // 13.09.96 V.Grichine: Review and final modifications // ~1994 P.Kent: Created, as main part of the geometry prototype @@ -78,13 +80,13 @@ G4Cons::G4Cons( const G4String& pName, G4double pRmin2, G4double pRmax2, G4double pDz, G4double pSPhi, G4double pDPhi) - : G4CSGSolid(pName) + : G4CSGSolid(pName), fSPhi(0), fDPhi(0) { - // Check z-len - kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + // Check z-len + // if ( pDz > 0 ) { fDz = pDz; @@ -99,7 +101,7 @@ G4Cons::G4Cons( const G4String& pName, } // Check radii - + // if ( (pRmin1=0) && (pRmin2>=0) ) { @@ -120,44 +122,9 @@ G4Cons::G4Cons( const G4String& pName, FatalException, "Invalid radii.") ; } - fPhiFullCone = true; - if ( pDPhi >= twopi-kAngTolerance*0.5 ) // Check angles - { - fDPhi=twopi; - fSPhi=0; - } - else - { - fPhiFullCone = false; - if ( pDPhi > 0 ) - { - fDPhi = pDPhi; - } - else - { - G4cerr << "ERROR - G4Cons()::G4Cons(): " << GetName() << G4endl - << " Negative delta-Phi ! - " - << pDPhi << G4endl; - G4Exception("G4Cons::G4Cons()", "InvalidSetup", - FatalException, "Invalid dphi."); - } - - // Ensure fSphi in 0-2PI or -2PI-0 range if shape crosses 0 - - if ( pSPhi < 0 ) - { - fSPhi = twopi - std::fmod(std::fabs(pSPhi),twopi); - } - else - { - fSPhi = std::fmod(pSPhi,twopi) ; - } - if ( fSPhi+fDPhi > twopi ) - { - fSPhi -= twopi ; - } - } - InitializeTrigonometry(); + // Check angles + // + CheckPhiAngles(pSPhi, pDPhi); } /////////////////////////////////////////////////////////////////////// @@ -704,7 +671,7 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, const G4ThreeVector& v ) const { G4double snxt = kInfinity ; // snxt = default return value - + const G4double dRmax = 100*std::min(fRmax1,fRmax2); static const G4double halfCarTolerance=kCarTolerance*0.5; static const G4double halfRadTolerance=kRadTolerance*0.5; @@ -716,12 +683,14 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, G4double tolORMax2,tolIRMax,tolIRMax2 ; G4double tolODz,tolIDz ; - G4double Dist,s,xi,yi,zi,ri=0.,rhoi2,cosPsi ; // Intersection point variables + G4double Dist,s,xi,yi,zi,ri=0.,risec,rhoi2,cosPsi ; // Intersection point vars G4double t1,t2,t3,b,c,d ; // Quadratic solver variables G4double nt1,nt2,nt3 ; G4double Comp ; + G4ThreeVector Normal; + // Cone Precalcs tanRMin = (fRmin2 - fRmin1)*0.5/fDz ; @@ -886,6 +855,11 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, } if ( s > 0 ) // If 'forwards'. Check z intersection { + if ( s>dRmax ) // Avoid rounding errors due to precision issues on + { // 64 bits systems. Split long distances and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } zi = p.z() + s*v.z() ; if (std::fabs(zi) <= tolODz) @@ -916,14 +890,24 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, && (nt2 < 0) && (d >= 0) && (std::fabs(p.z()) <= tolIDz) ) { // Inside cones, delta r -ve, inside z extent + // Point is on the Surface => check Direction using Normal.dot(v) + xi = p.x() ; + yi = p.y() ; + risec = std::sqrt(xi*xi + yi*yi)*secRMax ; + Normal = G4ThreeVector(xi/risec,yi/risec,-tanRMax/secRMax) ; if ( !fPhiFullCone ) { cosPsi = (p.x()*cosCPhi + p.y()*sinCPhi)/std::sqrt(t3) ; - - if (cosPsi >= cosHDPhiIT) { return 0.0; } + if ( cosPsi >= cosHDPhiIT ) + { + if ( Normal.dot(v) <= 0 ) { return 0.0; } + } + } + else + { + if ( Normal.dot(v) <= 0 ) { return 0.0; } } - else { return 0.0; } } } } @@ -971,7 +955,7 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, // => lots of duplicated code if (rMinAv) - { + { nt1 = t1 - (tanRMin*v.z())*(tanRMin*v.z()) ; nt2 = t2 - tanRMin*v.z()*rin ; nt3 = t3 - rin*rin ; @@ -992,6 +976,11 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, if ( s >= 0 ) // > 0 { + if ( s>dRmax ) // Avoid rounding errors due to precision issues on + { // 64 bits systems. Split long distance and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } zi = p.z() + s*v.z() ; if ( std::fabs(zi) <= tolODz ) @@ -1003,9 +992,33 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, ri = rMinAv + zi*tanRMin ; cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; - if (cosPsi >= cosHDPhiIT) { snxt = s; } + if (cosPsi >= cosHDPhiIT) + { + if ( s > halfRadTolerance ) { snxt=s; } + else + { + // Calculate a normal vector in order to check Direction + + risec = std::sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(-xi/risec,-yi/risec,tanRMin/secRMin); + if ( Normal.dot(v) <= 0 ) { snxt = s; } + } + } + } + else + { + if ( s > halfRadTolerance ) { return s; } + else + { + // Calculate a normal vector in order to check Direction + + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + risec = std::sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(-xi/risec,-yi/risec,tanRMin/secRMin) ; + if ( Normal.dot(v) <= 0 ) { return s; } + } } - else { return s; } } } } @@ -1031,15 +1044,44 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, { if ( (s >= 0) && (std::fabs(zi) <= tolODz) ) // s > 0 { + if ( s>dRmax ) // Avoid rounding errors due to precision issues + { // seen on 64 bits systems. Split and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } if ( !fPhiFullCone ) { xi = p.x() + s*v.x() ; yi = p.y() + s*v.y() ; cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; - if (cosPsi >= cosHDPhiOT) { snxt = s; } + if (cosPsi >= cosHDPhiOT) + { + if ( s > halfRadTolerance ) { snxt=s; } + else + { + // Calculate a normal vector in order to check Direction + + risec = std::sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(-xi/risec,-yi/risec,tanRMin/secRMin); + if ( Normal.dot(v) <= 0 ) { snxt = s; } + } + } + } + else + { + if( s > halfRadTolerance ) { return s; } + else + { + // Calculate a normal vector in order to check Direction + + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + risec = std::sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(-xi/risec,-yi/risec,tanRMin/secRMin) ; + if ( Normal.dot(v) <= 0 ) { return s; } + } } - else { return s; } } } else @@ -1050,15 +1092,44 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, if ( (s >= 0) && (ri > 0) && (std::fabs(zi) <= tolODz) ) // s>0 { + if ( s>dRmax ) // Avoid rounding errors due to precision issues + { // seen on 64 bits systems. Split and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } if ( !fPhiFullCone ) { xi = p.x() + s*v.x() ; yi = p.y() + s*v.y() ; cosPsi = (xi*cosCPhi + yi*sinCPhi)/ri ; - if (cosPsi >= cosHDPhiIT) { snxt = s; } + if (cosPsi >= cosHDPhiIT) + { + if ( s > halfRadTolerance ) { snxt=s; } + else + { + // Calculate a normal vector in order to check Direction + + risec = std::sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(-xi/risec,-yi/risec,tanRMin/secRMin); + if ( Normal.dot(v) <= 0 ) { snxt = s; } + } + } + } + else + { + if ( s > halfRadTolerance ) { return s; } + else + { + // Calculate a normal vector in order to check Direction + + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + risec = std::sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(-xi/risec,-yi/risec,tanRMin/secRMin) ; + if ( Normal.dot(v) <= 0 ) { return s; } + } } - else { return s; } } } } @@ -1098,7 +1169,7 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, s = -b - std::sqrt(d) ; zi = p.z() + s*v.z() ; ri = rMinAv + zi*tanRMin ; - + if ( ri > 0 ) // 2nd root { s = -b + std::sqrt(d) ; @@ -1106,6 +1177,11 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, if ( (s >= 0) && (std::fabs(zi) <= tolODz) ) // s>0 { + if ( s>dRmax ) // Avoid rounding errors due to precision issue + { // seen on 64 bits systems. Split and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } if ( !fPhiFullCone ) { xi = p.x() + s*v.x() ; @@ -1135,6 +1211,11 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, if ( (s >= 0) && (std::fabs(zi) <= tolODz) ) // s>0 { + if ( s>dRmax ) // Avoid rounding errors due to precision issues + { // seen on 64 bits systems. Split and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } if ( !fPhiFullCone ) { xi = p.x() + s*v.x(); @@ -1334,7 +1415,7 @@ G4double G4Cons::DistanceToOut( const G4ThreeVector& p, // Vars for intersection within tolerance - ESide sidetol ; + ESide sidetol = kNull ; G4double slentol = kInfinity ; // Vars for phi intersection: @@ -1668,9 +1749,16 @@ G4double G4Cons::DistanceToOut( const G4ThreeVector& p, xi = p.x() + slentol*v.x() ; yi = p.y() + slentol*v.y() ; - risec = std::sqrt(xi*xi + yi*yi)*secRMin ; - Normal = G4ThreeVector(xi/risec,yi/risec,-tanRMin/secRMin) ; - + if( sidetol==kRMax ) + { + risec = std::sqrt(xi*xi + yi*yi)*secRMax ; + Normal = G4ThreeVector(xi/risec,yi/risec,-tanRMax/secRMax) ; + } + else + { + risec = std::sqrt(xi*xi + yi*yi)*secRMin ; + Normal = G4ThreeVector(-xi/risec,-yi/risec,tanRMin/secRMin) ; + } if( Normal.dot(v) > 0 ) { // We will leave the cone immediately diff --git a/source/geometry/solids/CSG/src/G4Orb.cc b/source/geometry/solids/CSG/src/G4Orb.cc index ca79ea7b7d..25ac437973 100644 --- a/source/geometry/solids/CSG/src/G4Orb.cc +++ b/source/geometry/solids/CSG/src/G4Orb.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4Orb.cc,v 1.24 2007/05/18 07:38:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Orb.cc,v 1.30 2009/11/30 10:20:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4Orb // @@ -297,18 +297,20 @@ EInside G4Orb::Inside( const G4ThreeVector& p ) const rad2 = p.x()*p.x()+p.y()*p.y()+p.z()*p.z() ; + G4double rad = std::sqrt(rad2); + // G4double rad = std::sqrt(rad2); // Check radial surface // sets `in' tolRMax = fRmax - fRmaxTolerance*0.5 ; - if ( rad2 <= tolRMax*tolRMax ) in = kInside ; + if ( rad <= tolRMax ) { in = kInside ; } else { tolRMax = fRmax + fRmaxTolerance*0.5 ; - if ( rad2 <= tolRMax*tolRMax ) in = kSurface ; - else in = kOutside ; + if ( rad <= tolRMax ) { in = kSurface ; } + else { in = kOutside ; } } return in; } @@ -359,6 +361,8 @@ G4double G4Orb::DistanceToIn( const G4ThreeVector& p, G4double rad2, pDotV3d, tolORMax2, tolIRMax2 ; G4double c, d2, s = kInfinity ; + const G4double dRmax = 100.*fRmax; + // General Precalcs rad2 = p.x()*p.x() + p.y()*p.y() + p.z()*p.z() ; @@ -383,7 +387,9 @@ G4double G4Orb::DistanceToIn( const G4ThreeVector& p, // // => s=-pDotV3d+-std::sqrt(pDotV3d^2-(rad2-R^2)) - c = rad2 - fRmax*fRmax ; + + G4double rad = std::sqrt(rad2); + c = (rad - fRmax)*(rad + fRmax); if ( c > fRmaxTolerance*fRmax ) { @@ -395,9 +401,15 @@ G4double G4Orb::DistanceToIn( const G4ThreeVector& p, if ( d2 >= 0 ) { s = -pDotV3d - std::sqrt(d2) ; - - if (s >= 0 ) return snxt = s; - + if ( s >= 0 ) + { + if ( s>dRmax ) // Avoid rounding errors due to precision issues seen on + { // 64 bits systems. Split long distances and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } + return snxt = s; + } } else // No intersection with G4Orb { @@ -409,15 +421,22 @@ G4double G4Orb::DistanceToIn( const G4ThreeVector& p, if ( c > -fRmaxTolerance*fRmax ) // on surface { d2 = pDotV3d*pDotV3d - c ; - // if ( pDotV3d >= 0 ) return snxt = kInfinity; - if ( d2 < fRmaxTolerance*fRmax || pDotV3d >= 0 ) return snxt = kInfinity; - else return snxt = 0.; + if ( (d2 < fRmaxTolerance*fRmax) || (pDotV3d >= 0) ) + { + return snxt = kInfinity; + } + else + { + return snxt = 0.; + } } +#ifdef G4CSGDEBUG else // inside ??? { G4Exception("G4Orb::DistanceToIn(p,v)", "Notification", JustWarning, "Point p is inside !?"); } +#endif } return snxt; } @@ -430,9 +449,10 @@ G4double G4Orb::DistanceToIn( const G4ThreeVector& p, G4double G4Orb::DistanceToIn( const G4ThreeVector& p ) const { - G4double safe=0.0, rad = std::sqrt(p.x()*p.x()+p.y()*p.y()+p.z()*p.z()); - safe = rad - fRmax; - if( safe < 0 ) safe = 0. ; + G4double safe = 0.0, + rad = std::sqrt(p.x()*p.x()+p.y()*p.y()+p.z()*p.z()); + safe = rad - fRmax; + if( safe < 0 ) { safe = 0.; } return safe; } @@ -474,12 +494,13 @@ G4double G4Orb::DistanceToOut( const G4ThreeVector& p, // => s=-pDotV3d+-std::sqrt(pDotV3d^2-(rad2-R^2)) const G4double Rmax_plus = fRmax + fRmaxTolerance*0.5; + G4double rad = std::sqrt(rad2); - if( rad2 <= Rmax_plus*Rmax_plus ) + if ( rad <= Rmax_plus ) { - c = rad2-fRmax*fRmax ; + c = (rad - fRmax)*(rad + fRmax); - if ( c < fRmaxTolerance*fRmax) + if ( c < fRmaxTolerance*fRmax ) { // Within tolerant Outer radius // diff --git a/source/geometry/solids/CSG/src/G4Sphere.cc b/source/geometry/solids/CSG/src/G4Sphere.cc index c162b7c835..c8a4b6098b 100644 --- a/source/geometry/solids/CSG/src/G4Sphere.cc +++ b/source/geometry/solids/CSG/src/G4Sphere.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Sphere.cc,v 1.68 2008/07/07 09:35:16 grichine Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Sphere.cc,v 1.84 2009/08/07 15:56:23 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4Sphere // @@ -33,6 +33,8 @@ // // History: // +// 14.09.09 T.Nikitina: fix for phi section in DistanceToOut(p,v,..),as for G4Tubs,G4Cons +// 26.03.09 G.Cosmo : optimisations and uniform use of local radial tolerance // 12.06.08 V.Grichine: fix for theta intersections in DistanceToOut(p,v,...) // 22.07.05 O.Link : Added check for intersection with double cone // 03.05.05 V.Grichine: SurfaceNormal(p) according to J. Apostolakis proposal @@ -40,7 +42,7 @@ // 16.07.04 V.Grichine: bug fixed in DistanceToOut(p,v), Rmin go outside // 02.06.04 V.Grichine: bug fixed in DistanceToIn(p,v), on Rmax,Rmin go inside // 30.10.03 J.Apostolakis: new algorithm in Inside for SPhi-sections -// 29.10.03 J.Apostolakis: fix in Inside for SPhi-0.5*kAngTol < phi < SPhi, SPhi<0 +// 29.10.03 J.Apostolakis: fix in Inside for SPhi-0.5*kAngTol < phi && fDTheta - kAngTolerance // 30.01.02 V.Grichine: bug fixed in Inside(p), && -> || at l.451 // 06.03.00 V.Grichine: modifications in Distance ToOut(p,v,...) @@ -52,8 +54,6 @@ // 28.03.94 P.Kent: old C++ code converted to tolerant geometry // -------------------------------------------------------------------- -#include - #include "G4Sphere.hh" #include "G4VoxelLimits.hh" @@ -91,18 +91,21 @@ G4Sphere::G4Sphere( const G4String& pName, G4double pRmin, G4double pRmax, G4double pSPhi, G4double pDPhi, G4double pSTheta, G4double pDTheta ) - : G4CSGSolid(pName) + : G4CSGSolid(pName), fFullPhiSphere(true), fFullThetaSphere(true) { - fEpsilon = 1.0e-14; + fEpsilon = 2.0e-11; // relative radial tolerance constant - kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); - // Check radii + // Check radii and set radial tolerances - if (pRmin=0) + G4double kRadTolerance = G4GeometryTolerance::GetInstance() + ->GetRadialTolerance(); + if ( (pRmin < pRmax) && (pRmax >= 10*kRadTolerance) && (pRmin >= 0) ) { fRmin=pRmin; fRmax=pRmax; + fRminTolerance = (pRmin) ? std::max( kRadTolerance, fEpsilon*fRmin ) : 0; + fRmaxTolerance = std::max( kRadTolerance, fEpsilon*fRmax ); } else { @@ -115,68 +118,8 @@ G4Sphere::G4Sphere( const G4String& pName, // Check angles - if (pDPhi>=twopi) - { - fDPhi=twopi; - } - else if (pDPhi>0) - { - fDPhi=pDPhi; - } - else - { - G4cerr << "ERROR - G4Sphere()::G4Sphere(): " << GetName() << G4endl - << " Negative Z delta-Phi ! - " - << pDPhi << G4endl; - G4Exception("G4Sphere::G4Sphere()", "InvalidSetup", FatalException, - "Invalid DPhi."); - } - - // Convert fSPhi to 0-2PI - - if (pSPhi<0) - { - fSPhi=twopi-std::fmod(std::fabs(pSPhi),twopi); - } - else - { - fSPhi=std::fmod(pSPhi,twopi); - } - - // Sphere is placed such that fSPhi+fDPhi>twopi ! - // fSPhi could be < 0 !!? - // - if (fSPhi+fDPhi>twopi) fSPhi-=twopi; - - // Check theta angles - - if (pSTheta<0 || pSTheta>pi) - { - G4cerr << "ERROR - G4Sphere()::G4Sphere(): " << GetName() << G4endl; - G4Exception("G4Sphere::G4Sphere()", "InvalidSetup", FatalException, - "stheta outside 0-PI range."); - } - else - { - fSTheta=pSTheta; - } - - if (pDTheta+pSTheta>=pi) - { - fDTheta=pi-pSTheta; - } - else if (pDTheta>0) - { - fDTheta=pDTheta; - } - else - { - G4cerr << "ERROR - G4Sphere()::G4Sphere(): " << GetName() << G4endl - << " Negative delta-Theta ! - " - << pDTheta << G4endl; - G4Exception("G4Sphere::G4Sphere()", "InvalidSetup", FatalException, - "Invalid pDTheta."); - } + CheckPhiAngles(pSPhi, pDPhi); + CheckThetaAngles(pSTheta, pDTheta); } /////////////////////////////////////////////////////////////////////// @@ -218,7 +161,7 @@ G4bool G4Sphere::CalculateExtent( const EAxis pAxis, const G4AffineTransform& pTransform, G4double& pMin, G4double& pMax ) const { - if ( fDPhi==twopi && fDTheta==pi) // !pTransform.IsRotated() && + if ( fFullSphere ) { // Special case handling for solid spheres-shells // (rotation doesn't influence). @@ -309,7 +252,7 @@ G4bool G4Sphere::CalculateExtent( const EAxis pAxis, case kXAxis: yoff1=yoffset-yMin; yoff2=yMax-yoffset; - if (yoff1>=0&&yoff2>=0) + if ((yoff1>=0) && (yoff2>=0)) { // Y limits cross max/min x => no change // @@ -333,7 +276,7 @@ G4bool G4Sphere::CalculateExtent( const EAxis pAxis, case kYAxis: xoff1=xoffset-xMin; xoff2=xMax-xoffset; - if (xoff1>=0&&xoff2>=0) + if ((xoff1>=0) && (xoff2>=0)) { // X limits cross max/min y => no change // @@ -415,7 +358,7 @@ G4bool G4Sphere::CalculateExtent( const EAxis pAxis, ThetaPolygon.clear() ; } - if (pMin!=kInfinity || pMax!=-kInfinity) + if ((pMin!=kInfinity) || (pMax!=-kInfinity)) { existsAfterClip=true; @@ -452,102 +395,93 @@ G4bool G4Sphere::CalculateExtent( const EAxis pAxis, // // Return whether point inside/outside/on surface // Split into radius, phi, theta checks -// Each check modifies `in', or returns as approprate +// Each check modifies 'in', or returns as approprate EInside G4Sphere::Inside( const G4ThreeVector& p ) const { G4double rho,rho2,rad2,tolRMin,tolRMax; G4double pPhi,pTheta; - EInside in=kOutside; + EInside in = kOutside; + static const G4double halfAngTolerance = kAngTolerance*0.5; + const G4double halfRmaxTolerance = fRmaxTolerance*0.5; + const G4double halfRminTolerance = fRminTolerance*0.5; + const G4double Rmax_minus = fRmax - halfRmaxTolerance; + const G4double Rmin_plus = (fRmin > 0) ? fRmin+halfRminTolerance : 0; rho2 = p.x()*p.x() + p.y()*p.y() ; rad2 = rho2 + p.z()*p.z() ; - // if(rad2 >= 1.369e+19) DBG(); - // G4double rad = std::sqrt(rad2); - // Check radial surfaces - // sets `in' + // Check radial surfaces. Sets 'in' - if ( fRmin ) tolRMin = fRmin + kRadTolerance*0.5; - else tolRMin = 0 ; - - tolRMax = fRmax - kRadTolerance*0.5 ; - // const G4double fractionTolerance = 1.0e-12; - const G4double flexRadMaxTolerance = // kRadTolerance; - std::max(kRadTolerance, fEpsilon * fRmax); + tolRMin = Rmin_plus; + tolRMax = Rmax_minus; - const G4double Rmax_minus = fRmax - flexRadMaxTolerance*0.5; - const G4double flexRadMinTolerance = std::max(kRadTolerance, - fEpsilon * fRmin); - const G4double Rmin_plus = (fRmin > 0) ? fRmin + flexRadMinTolerance*0.5 : 0 ; - -if(rad2 <= Rmax_minus*Rmax_minus && rad2 >= Rmin_plus*Rmin_plus) in = kInside ; - -// if ( rad2 <= tolRMax*tolRMax && rad2 >= tolRMin*tolRMin ) in = kInside ; - // if ( rad <= tolRMax && rad >= tolRMin ) in = kInside ; + if ( (rad2 <= Rmax_minus*Rmax_minus) && (rad2 >= Rmin_plus*Rmin_plus) ) + { + in = kInside; + } else { - tolRMax = fRmax + kRadTolerance*0.5 ; - tolRMin = fRmin - kRadTolerance*0.5 ; - - if ( tolRMin < 0.0 ) tolRMin = 0.0 ; - - if ( rad2 <= tolRMax*tolRMax && rad2 >= tolRMin*tolRMin ) in = kSurface ; - // if ( rad <= tolRMax && rad >= tolRMin ) in = kSurface ; - else return in = kOutside ; + tolRMax = fRmax + halfRmaxTolerance; // outside case + tolRMin = std::max(fRmin-halfRminTolerance, 0.); // outside case + if ( (rad2 <= tolRMax*tolRMax) && (rad2 >= tolRMin*tolRMin) ) + { + in = kSurface; + } + else + { + return in = kOutside; + } } // Phi boundaries : Do not check if it has no phi boundary! - // (in != kOutside). It is new J.Apostolakis proposal of 30.10.03 - if ( ( fDPhi < twopi - kAngTolerance ) && - ( (p.x() != 0.0 ) || (p.y() != 0.0) ) ) + if ( !fFullPhiSphere && rho2 ) // [fDPhi < twopi] and [p.x or p.y] { pPhi = std::atan2(p.y(),p.x()) ; - if ( pPhi < fSPhi - kAngTolerance*0.5 ) pPhi += twopi ; - else if ( pPhi > fSPhi + fDPhi + kAngTolerance*0.5 ) pPhi -= twopi; + if ( pPhi < fSPhi - halfAngTolerance ) { pPhi += twopi; } + else if ( pPhi > ePhi + halfAngTolerance ) { pPhi -= twopi; } - if ((pPhi < fSPhi - kAngTolerance*0.5) || - (pPhi > fSPhi + fDPhi + kAngTolerance*0.5) ) return in = kOutside ; + if ( (pPhi < fSPhi - halfAngTolerance) + || (pPhi > ePhi + halfAngTolerance) ) { return in = kOutside; } else if (in == kInside) // else it's kSurface anyway already { - if ( (pPhi < fSPhi + kAngTolerance*0.5) || - (pPhi > fSPhi + fDPhi - kAngTolerance*0.5) ) in = kSurface ; + if ( (pPhi < fSPhi + halfAngTolerance) + || (pPhi > ePhi - halfAngTolerance) ) { in = kSurface; } } } // Theta bondaries - // (in!=kOutside) - if ( (rho2 || p.z()) && fDTheta < pi - kAngTolerance*0.5 ) + if ( (rho2 || p.z()) && (!fFullThetaSphere) ) { rho = std::sqrt(rho2); pTheta = std::atan2(rho,p.z()); if ( in == kInside ) { - if ( (pTheta < fSTheta + kAngTolerance*0.5) - || (pTheta > fSTheta + fDTheta - kAngTolerance*0.5) ) + if ( (pTheta < fSTheta + halfAngTolerance) + || (pTheta > eTheta - halfAngTolerance) ) { - if ( (pTheta >= fSTheta - kAngTolerance*0.5) - && (pTheta <= fSTheta + fDTheta + kAngTolerance*0.5) ) + if ( (pTheta >= fSTheta - halfAngTolerance) + && (pTheta <= eTheta + halfAngTolerance) ) { - in = kSurface ; + in = kSurface; } else { - in = kOutside ; + in = kOutside; } } } else { - if ( (pTheta < fSTheta - kAngTolerance*0.5) - || (pTheta > fSTheta + fDTheta + kAngTolerance*0.5) ) + if ( (pTheta < fSTheta - halfAngTolerance) + || (pTheta > eTheta + halfAngTolerance) ) { - in = kOutside ; + in = kOutside; } } } @@ -567,10 +501,12 @@ G4ThreeVector G4Sphere::SurfaceNormal( const G4ThreeVector& p ) const G4double distRMin = kInfinity; G4double distSPhi = kInfinity, distEPhi = kInfinity; G4double distSTheta = kInfinity, distETheta = kInfinity; - G4double delta = 0.5*kCarTolerance, dAngle = 0.5*kAngTolerance; G4ThreeVector nR, nPs, nPe, nTs, nTe, nZ(0.,0.,1.); G4ThreeVector norm, sumnorm(0.,0.,0.); + static const G4double halfCarTolerance = 0.5*kCarTolerance; + static const G4double halfAngTolerance = 0.5*kAngTolerance; + rho2 = p.x()*p.x()+p.y()*p.y(); rad = std::sqrt(rho2+p.z()*p.z()); rho = std::sqrt(rho2); @@ -578,97 +514,97 @@ G4ThreeVector G4Sphere::SurfaceNormal( const G4ThreeVector& p ) const G4double distRMax = std::fabs(rad-fRmax); if (fRmin) distRMin = std::fabs(rad-fRmin); - if ( rho && (fDPhi < twopi || fDTheta < pi) ) + if ( rho && !fFullSphere ) { pPhi = std::atan2(p.y(),p.x()); - if(pPhi < fSPhi-dAngle) pPhi += twopi; - else if(pPhi > fSPhi+fDPhi+dAngle) pPhi -= twopi; + if (pPhi < fSPhi-halfAngTolerance) { pPhi += twopi; } + else if (pPhi > ePhi+halfAngTolerance) { pPhi -= twopi; } } - if ( fDPhi < twopi ) // && rho ) // old limitation against (0,0,z) + if ( !fFullPhiSphere ) { if ( rho ) { - distSPhi = std::fabs( pPhi - fSPhi ); - distEPhi = std::fabs(pPhi-fSPhi-fDPhi); + distSPhi = std::fabs( pPhi-fSPhi ); + distEPhi = std::fabs( pPhi-ePhi ); } else if( !fRmin ) { distSPhi = 0.; distEPhi = 0.; } - nPs = G4ThreeVector(std::sin(fSPhi),-std::cos(fSPhi),0); - nPe = G4ThreeVector(-std::sin(fSPhi+fDPhi),std::cos(fSPhi+fDPhi),0); + nPs = G4ThreeVector(sinSPhi,-cosSPhi,0); + nPe = G4ThreeVector(-sinEPhi,cosEPhi,0); } - if ( fDTheta < pi ) // && rad ) // old limitation against (0,0,0) + if ( !fFullThetaSphere ) { if ( rho ) { pTheta = std::atan2(rho,p.z()); distSTheta = std::fabs(pTheta-fSTheta); - distETheta = std::fabs(pTheta-fSTheta-fDTheta); + distETheta = std::fabs(pTheta-eTheta); - nTs = G4ThreeVector(-std::cos(fSTheta)*p.x()/rho, // *std::cos(pPhi), - -std::cos(fSTheta)*p.y()/rho, // *std::sin(pPhi), - std::sin(fSTheta) ); + nTs = G4ThreeVector(-cosSTheta*p.x()/rho, + -cosSTheta*p.y()/rho, + sinSTheta ); - nTe = G4ThreeVector( std::cos(fSTheta+fDTheta)*p.x()/rho, // *std::cos(pPhi), - std::cos(fSTheta+fDTheta)*p.y()/rho, // *std::sin(pPhi), - -std::sin(fSTheta+fDTheta) ); + nTe = G4ThreeVector( cosETheta*p.x()/rho, + cosETheta*p.y()/rho, + -sinETheta ); } else if( !fRmin ) { if ( fSTheta ) { distSTheta = 0.; - nTs = G4ThreeVector(0.,0.,-1.); + nTs = G4ThreeVector(0.,0.,-1.); } - if ( fSTheta + fDTheta < pi ) // distETheta = 0.; + if ( eTheta < pi ) { distETheta = 0.; - nTe = G4ThreeVector(0.,0.,1.); + nTe = G4ThreeVector(0.,0.,1.); } } } - if( rad ) nR = G4ThreeVector(p.x()/rad,p.y()/rad,p.z()/rad); + if( rad ) { nR = G4ThreeVector(p.x()/rad,p.y()/rad,p.z()/rad); } - if( distRMax <= delta ) + if( distRMax <= halfCarTolerance ) { noSurfaces ++; sumnorm += nR; } - if( fRmin && distRMin <= delta ) + if( fRmin && (distRMin <= halfCarTolerance) ) { noSurfaces ++; sumnorm -= nR; } - if( fDPhi < twopi ) + if( !fFullPhiSphere ) { - if (distSPhi <= dAngle) + if (distSPhi <= halfAngTolerance) { noSurfaces ++; sumnorm += nPs; } - if (distEPhi <= dAngle) + if (distEPhi <= halfAngTolerance) { noSurfaces ++; sumnorm += nPe; } } - if ( fDTheta < pi ) + if ( !fFullThetaSphere ) { - if (distSTheta <= dAngle && fSTheta > 0.) + if ((distSTheta <= halfAngTolerance) && (fSTheta > 0.)) { noSurfaces ++; - if( rad <= delta && fDPhi >= twopi) sumnorm += nZ; - else sumnorm += nTs; + if ((rad <= halfCarTolerance) && fFullPhiSphere) { sumnorm += nZ; } + else { sumnorm += nTs; } } - if (distETheta <= dAngle && fSTheta+fDTheta < pi) + if ((distETheta <= halfAngTolerance) && (eTheta < pi)) { noSurfaces ++; - if( rad <= delta && fDPhi >= twopi) sumnorm -= nZ; - else sumnorm += nTe; - if(sumnorm.z() == 0.) sumnorm += nZ; + if ((rad <= halfCarTolerance) && fFullPhiSphere) { sumnorm -= nZ; } + else { sumnorm += nTe; } + if(sumnorm.z() == 0.) { sumnorm += nZ; } } } if ( noSurfaces == 0 ) @@ -679,8 +615,8 @@ G4ThreeVector G4Sphere::SurfaceNormal( const G4ThreeVector& p ) const #endif norm = ApproxSurfaceNormal(p); } - else if ( noSurfaces == 1 ) norm = sumnorm; - else norm = sumnorm.unit(); + else if ( noSurfaces == 1 ) { norm = sumnorm; } + else { norm = sumnorm.unit(); } return norm; } @@ -734,9 +670,9 @@ G4ThreeVector G4Sphere::ApproxSurfaceNormal( const G4ThreeVector& p ) const // Protected against (0,0,z) pPhi = std::atan2(p.y(),p.x()); - if (pPhi<0) pPhi += twopi; + if (pPhi<0) { pPhi += twopi; } - if (fDPhihalfRminTolerance) + ? (fRmin-halfRminTolerance)*(fRmin-halfRminTolerance) : 0; + const G4double tolIRMin2 = + (fRmin+halfRminTolerance)*(fRmin+halfRminTolerance); + const G4double tolORMax2 = + (fRmax+halfRmaxTolerance)*(fRmax+halfRmaxTolerance); + const G4double tolIRMax2 = + (fRmax-halfRmaxTolerance)*(fRmax-halfRmaxTolerance); // Intersection point - + // G4double xi, yi, zi, rhoi, rhoi2, radi2, iTheta ; // Phi intersection + // + G4double Comp ; - G4double sinSPhi, cosSPhi, ePhi, sinEPhi, cosEPhi , Comp ; - - // Phi flag and precalcs - - G4bool segPhi ; - G4double hDPhi, hDPhiOT, hDPhiIT, cPhi, sinCPhi=0., cosCPhi=0. ; - G4double cosHDPhiOT=0., cosHDPhiIT=0. ; + // Phi precalcs + // G4double Dist, cosPsi ; - G4bool segTheta ; // Theta flag and precals - G4double tanSTheta, tanETheta ; - G4double tanSTheta2, tanETheta2 ; + // Theta precalcs + // G4double dist2STheta, dist2ETheta ; G4double t1, t2, b, c, d2, d, s = kInfinity ; // General Precalcs - + // rho2 = p.x()*p.x() + p.y()*p.y() ; rad2 = rho2 + p.z()*p.z() ; pTheta = std::atan2(std::sqrt(rho2),p.z()) ; @@ -915,52 +845,12 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, pDotV2d = p.x()*v.x() + p.y()*v.y() ; pDotV3d = pDotV2d + p.z()*v.z() ; - // Radial Precalcs - - if (fRmin > kRadTolerance*0.5) - { - tolORMin2=(fRmin-kRadTolerance*0.5)*(fRmin-kRadTolerance*0.5); - } - else - { - tolORMin2 = 0 ; - } - tolIRMin2 = (fRmin+kRadTolerance*0.5)*(fRmin+kRadTolerance*0.5) ; - tolORMax2 = (fRmax+kRadTolerance*0.5)*(fRmax+kRadTolerance*0.5) ; - tolIRMax2 = (fRmax-kRadTolerance*0.5)*(fRmax-kRadTolerance*0.5) ; - - // Set phi divided flag and precalcs - - if (fDPhi < twopi) - { - segPhi = true ; - hDPhi = 0.5*fDPhi ; // half delta phi - cPhi = fSPhi + hDPhi ; - - hDPhiOT = hDPhi+0.5*kAngTolerance; // Outer Tolerant half delta phi - hDPhiIT = hDPhi-0.5*kAngTolerance; - - sinCPhi = std::sin(cPhi) ; - cosCPhi = std::cos(cPhi) ; - cosHDPhiOT = std::cos(hDPhiOT) ; - cosHDPhiIT = std::cos(hDPhiIT) ; - } - else - { - segPhi = false ; - } - // Theta precalcs - - if (fDTheta < pi ) + // + if (!fFullThetaSphere) { - segTheta = true ; - tolSTheta = fSTheta - kAngTolerance*0.5 ; - tolETheta = fSTheta + fDTheta + kAngTolerance*0.5 ; - } - else - { - segTheta = false ; + tolSTheta = fSTheta - halfAngTolerance ; + tolETheta = eTheta + halfAngTolerance ; } // Outer spherical shell intersection @@ -978,14 +868,11 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // => s=-pDotV3d+-std::sqrt(pDotV3d^2-(rad2-R^2)) c = rad2 - fRmax*fRmax ; - const G4double flexRadMaxTolerance = // kRadTolerance; - std::max(kRadTolerance, fEpsilon * fRmax); - // if (c > kRadTolerance*fRmax) - if (c > flexRadMaxTolerance*fRmax) + if (c > fRmaxTolerance*fRmax) { - // If outside toleranct boundary of outer G4Sphere - // [should be std::sqrt(rad2)-fRmax > kRadTolerance*0.5] + // If outside tolerant boundary of outer G4Sphere + // [should be std::sqrt(rad2)-fRmax > halfRmaxTolerance] d2 = pDotV3d*pDotV3d - c ; @@ -995,17 +882,22 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, if (s >= 0 ) { + if ( s>dRmax ) // Avoid rounding errors due to precision issues seen on + { // 64 bits systems. Split long distances and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } xi = p.x() + s*v.x() ; yi = p.y() + s*v.y() ; rhoi = std::sqrt(xi*xi + yi*yi) ; - if (segPhi && rhoi) // Check phi intersection + if (!fFullPhiSphere && rhoi) // Check phi intersection { cosPsi = (xi*cosCPhi + yi*sinCPhi)/rhoi ; if (cosPsi >= cosHDPhiOT) { - if (segTheta) // Check theta intersection + if (!fFullThetaSphere) // Check theta intersection { zi = p.z() + s*v.z() ; @@ -1026,7 +918,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } else { - if (segTheta) // Check theta intersection + if (!fFullThetaSphere) // Check theta intersection { zi = p.z() + s*v.z() ; @@ -1058,11 +950,10 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, d2 = pDotV3d*pDotV3d - c ; - // if (rad2 > tolIRMin2 && pDotV3d < 0 ) - - if (rad2 > tolIRMax2 && ( d2 >= flexRadMaxTolerance*fRmax && pDotV3d < 0 ) ) + if ( (rad2 > tolIRMax2) + && ( (d2 >= fRmaxTolerance*fRmax) && (pDotV3d < 0) ) ) { - if (segPhi) + if (!fFullPhiSphere) { // Use inner phi tolerant boundary -> if on tolerant // phi boundaries, phi intersect code handles leaving/entering checks @@ -1073,7 +964,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, { // inside radii, delta r -ve, inside phi - if (segTheta) + if ( !fFullThetaSphere ) { if ( (pTheta >= tolSTheta + kAngTolerance) && (pTheta <= tolETheta - kAngTolerance) ) @@ -1089,7 +980,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } else { - if ( segTheta ) + if ( !fFullThetaSphere ) { if ( (pTheta >= tolSTheta + kAngTolerance) && (pTheta <= tolETheta - kAngTolerance) ) @@ -1108,7 +999,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // Inner spherical shell intersection // - Always farthest root, because would have passed through outer // surface first. - // - Tolerant check for if travelling through solid + // - Tolerant check if travelling through solid if (fRmin) { @@ -1118,12 +1009,10 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // Within tolerance inner radius of inner G4Sphere // Check for immediate entry/already inside and travelling outwards - // if (c >- kRadTolerance*0.5 && pDotV3d >= 0 && rad2 < tolIRMin2 ) - - if ( c > -kRadTolerance*0.5 && rad2 < tolIRMin2 && - ( d2 < fRmin*kCarTolerance || pDotV3d >= 0 ) ) + if ( (c > -halfRminTolerance) && (rad2 < tolIRMin2) + && ( (d2 < fRmin*kCarTolerance) || (pDotV3d >= 0) ) ) { - if (segPhi) + if ( !fFullPhiSphere ) { // Use inner phi tolerant boundary -> if on tolerant // phi boundaries, phi intersect code handles leaving/entering checks @@ -1133,7 +1022,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, { // inside radii, delta r -ve, inside phi // - if (segTheta) + if ( !fFullThetaSphere ) { if ( (pTheta >= tolSTheta + kAngTolerance) && (pTheta <= tolETheta - kAngTolerance) ) @@ -1149,7 +1038,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } else { - if (segTheta) + if ( !fFullThetaSphere ) { if ( (pTheta >= tolSTheta + kAngTolerance) && (pTheta <= tolETheta - kAngTolerance) ) @@ -1165,24 +1054,22 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } else // Not special tolerant case { - // d2 = pDotV3d*pDotV3d - c ; - if (d2 >= 0) { s = -pDotV3d + std::sqrt(d2) ; - if ( s >= kRadTolerance*0.5 ) // It was >= 0 ?? + if ( s >= halfRminTolerance ) // It was >= 0 ?? { xi = p.x() + s*v.x() ; yi = p.y() + s*v.y() ; rhoi = std::sqrt(xi*xi+yi*yi) ; - if ( segPhi && rhoi ) // Check phi intersection + if ( !fFullPhiSphere && rhoi ) // Check phi intersection { cosPsi = (xi*cosCPhi + yi*sinCPhi)/rhoi ; if (cosPsi >= cosHDPhiOT) { - if (segTheta) // Check theta intersection + if ( !fFullThetaSphere ) // Check theta intersection { zi = p.z() + s*v.z() ; @@ -1203,7 +1090,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } else { - if (segTheta) // Check theta intersection + if ( !fFullThetaSphere ) // Check theta intersection { zi = p.z() + s*v.z() ; @@ -1213,12 +1100,12 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, iTheta = std::atan2(rhoi,zi) ; if ( (iTheta >= tolSTheta) && (iTheta <= tolETheta) ) { - snxt = s ; + snxt = s; } } else { - snxt=s; + snxt = s; } } } @@ -1235,22 +1122,18 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // intersection check <=0 -> >=0 // -> Should use some form of loop Construct // - if ( segPhi ) + if ( !fFullPhiSphere ) { - // First phi surface (`S'tarting phi) - - sinSPhi = std::sin(fSPhi) ; - cosSPhi = std::cos(fSPhi) ; - + // First phi surface ('S'tarting phi) // Comp = Component in outwards normal dirn // - Comp = v.x()*sinSPhi - v.y()*cosSPhi ; + Comp = v.x()*sinSPhi - v.y()*cosSPhi ; if ( Comp < 0 ) { Dist = p.y()*cosSPhi - p.x()*sinSPhi ; - if (Dist < kCarTolerance*0.5) + if (Dist < halfCarTolerance) { s = Dist/Comp ; @@ -1281,7 +1164,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // rhoi & zi can never both be 0 // (=>intersect at origin =>fRmax=0) // - if ( segTheta ) + if ( !fFullThetaSphere ) { iTheta = std::atan2(std::sqrt(rhoi2),zi) ; if ( (iTheta >= tolSTheta) && (iTheta <= tolETheta) ) @@ -1304,20 +1187,15 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } } - // Second phi surface (`E'nding phi) + // Second phi surface ('E'nding phi) + // Component in outwards normal dirn - ePhi = fSPhi + fDPhi ; - sinEPhi = std::sin(ePhi) ; - cosEPhi = std::cos(ePhi) ; - - // Compnent in outwards normal dirn - - Comp = -( v.x()*sinEPhi-v.y()*cosEPhi ) ; + Comp = -( v.x()*sinEPhi-v.y()*cosEPhi ) ; if (Comp < 0) { Dist = -(p.y()*cosEPhi-p.x()*sinEPhi) ; - if ( Dist < kCarTolerance*0.5 ) + if ( Dist < halfCarTolerance ) { s = Dist/Comp ; @@ -1339,7 +1217,8 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, zi = p.z() ; rhoi2 = rho2 ; radi2 = rad2 ; - } if ( (radi2 <= tolORMax2) + } + if ( (radi2 <= tolORMax2) && (radi2 >= tolORMin2) && ((yi*cosCPhi-xi*sinCPhi) >= 0) ) { @@ -1347,7 +1226,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // rhoi & zi can never both be 0 // (=>intersect at origin =>fRmax=0) // - if ( segTheta ) + if ( !fFullThetaSphere ) { iTheta = std::atan2(std::sqrt(rhoi2),zi) ; if ( (iTheta >= tolSTheta) && (iTheta <= tolETheta) ) @@ -1373,7 +1252,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // Theta segment intersection - if ( segTheta ) + if ( !fFullThetaSphere ) { // Intersection with theta surfaces @@ -1395,11 +1274,6 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, // // => s^2(1-vz^2(1+tan^2(t))+2s(pdotv2d-pzvztan^2(t))+(rho2-pz^2tan^2(t))=0 - tanSTheta = std::tan(fSTheta) ; - tanSTheta2 = tanSTheta*tanSTheta ; - tanETheta = std::tan(fSTheta+fDTheta) ; - tanETheta2 = tanETheta*tanETheta ; - if (fSTheta) { dist2STheta = rho2 - p.z()*p.z()*tanSTheta2 ; @@ -1408,93 +1282,49 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, { dist2STheta = kInfinity ; } - if ( fSTheta + fDTheta < pi ) + if ( eTheta < pi ) { dist2ETheta=rho2-p.z()*p.z()*tanETheta2; } - else + else { dist2ETheta=kInfinity; } - if ( pTheta < tolSTheta) // dist2STheta<-kRadTolerance*0.5 && dist2ETheta>0) + if ( pTheta < tolSTheta ) { // Inside (theta= 0 ) - { - d = std::sqrt(d2) ; - s = -b - d ; // First root - zi = p.z() + s*v.z(); - - if ( s < 0 || zi*(fSTheta - halfpi) > 0 ) - { - s = -b+d; // Second root - } - if (s >= 0 && s < snxt) - { - xi = p.x() + s*v.x(); - yi = p.y() + s*v.y(); - zi = p.z() + s*v.z(); - rhoi2 = xi*xi + yi*yi; - radi2 = rhoi2 + zi*zi; - if ( (radi2 <= tolORMax2) - && (radi2 >= tolORMin2) - && (zi*(fSTheta - halfpi) <= 0) ) - { - if ( segPhi && rhoi2 ) // Check phi intersection - { - cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; - if (cosPsi >= cosHDPhiOT) - { - snxt = s ; - } - } - else - { - snxt = s ; - } - } - } - } - - // Possible intersection with ETheta cone. - // Second >= 0 root should be considered - - if ( fSTheta + fDTheta < pi ) - { - t1 = 1 - v.z()*v.z()*(1 + tanETheta2) ; - t2 = pDotV2d - p.z()*v.z()*tanETheta2 ; - + if (t1) + { b = t2/t1 ; - c = dist2ETheta/t1 ; + c = dist2STheta/t1 ; d2 = b*b - c ; - if (d2 >= 0) + if ( d2 >= 0 ) { d = std::sqrt(d2) ; - s = -b + d ; // Second root + s = -b - d ; // First root + zi = p.z() + s*v.z(); - if (s >= 0 && s < snxt) + if ( (s < 0) || (zi*(fSTheta - halfpi) > 0) ) { - xi = p.x() + s*v.x() ; - yi = p.y() + s*v.y() ; - zi = p.z() + s*v.z() ; - rhoi2 = xi*xi + yi*yi ; - radi2 = rhoi2 + zi*zi ; - + s = -b+d; // Second root + } + if ((s >= 0) && (s < snxt)) + { + xi = p.x() + s*v.x(); + yi = p.y() + s*v.y(); + zi = p.z() + s*v.z(); + rhoi2 = xi*xi + yi*yi; + radi2 = rhoi2 + zi*zi; if ( (radi2 <= tolORMax2) && (radi2 >= tolORMin2) - && (zi*(fSTheta + fDTheta - halfpi) <= 0) ) + && (zi*(fSTheta - halfpi) <= 0) ) { - if (segPhi && rhoi2) // Check phi intersection + if ( !fFullPhiSphere && rhoi2 ) // Check phi intersection { cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; if (cosPsi >= cosHDPhiOT) @@ -1510,54 +1340,104 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } } } + + // Possible intersection with ETheta cone. + // Second >= 0 root should be considered + + if ( eTheta < pi ) + { + t1 = 1 - v.z()*v.z()*(1 + tanETheta2) ; + t2 = pDotV2d - p.z()*v.z()*tanETheta2 ; + if (t1) + { + b = t2/t1 ; + c = dist2ETheta/t1 ; + d2 = b*b - c ; + + if (d2 >= 0) + { + d = std::sqrt(d2) ; + s = -b + d ; // Second root + + if ( (s >= 0) && (s < snxt) ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + zi = p.z() + s*v.z() ; + rhoi2 = xi*xi + yi*yi ; + radi2 = rhoi2 + zi*zi ; + + if ( (radi2 <= tolORMax2) + && (radi2 >= tolORMin2) + && (zi*(eTheta - halfpi) <= 0) ) + { + if (!fFullPhiSphere && rhoi2) // Check phi intersection + { + cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; + if (cosPsi >= cosHDPhiOT) + { + snxt = s ; + } + } + else + { + snxt = s ; + } + } + } + } + } + } } else if ( pTheta > tolETheta ) { // dist2ETheta<-kRadTolerance*0.5 && dist2STheta>0) // Inside (theta > etheta+tol) e-theta cone - // First root of etheta cone, second if first root `imaginary' + // First root of etheta cone, second if first root 'imaginary' t1 = 1 - v.z()*v.z()*(1 + tanETheta2) ; t2 = pDotV2d - p.z()*v.z()*tanETheta2 ; - - b = t2/t1 ; - c = dist2ETheta/t1 ; - d2 = b*b - c ; + if (t1) + { + b = t2/t1 ; + c = dist2ETheta/t1 ; + d2 = b*b - c ; - if (d2 >= 0) - { - d = std::sqrt(d2) ; - s = -b - d ; // First root - zi = p.z() + s*v.z(); - - if (s < 0 || zi*(fSTheta + fDTheta - halfpi) > 0) + if (d2 >= 0) { - s = -b + d ; // second root - } - if (s >= 0 && s < snxt) - { - xi = p.x() + s*v.x() ; - yi = p.y() + s*v.y() ; - zi = p.z() + s*v.z() ; - rhoi2 = xi*xi + yi*yi ; - radi2 = rhoi2 + zi*zi ; + d = std::sqrt(d2) ; + s = -b - d ; // First root + zi = p.z() + s*v.z(); - if ( (radi2 <= tolORMax2) - && (radi2 >= tolORMin2) - && (zi*(fSTheta + fDTheta - halfpi) <= 0) ) + if ( (s < 0) || (zi*(eTheta - halfpi) > 0) ) { - if (segPhi && rhoi2) // Check phi intersection + s = -b + d ; // second root + } + if ( (s >= 0) && (s < snxt) ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + zi = p.z() + s*v.z() ; + rhoi2 = xi*xi + yi*yi ; + radi2 = rhoi2 + zi*zi ; + + if ( (radi2 <= tolORMax2) + && (radi2 >= tolORMin2) + && (zi*(eTheta - halfpi) <= 0) ) { - cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; - if (cosPsi >= cosHDPhiOT) + if (!fFullPhiSphere && rhoi2) // Check phi intersection + { + cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; + if (cosPsi >= cosHDPhiOT) + { + snxt = s ; + } + } + else { snxt = s ; } } - else - { - snxt = s ; - } } } } @@ -1569,7 +1449,78 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, { t1 = 1 - v.z()*v.z()*(1 + tanSTheta2) ; t2 = pDotV2d - p.z()*v.z()*tanSTheta2 ; + if (t1) + { + b = t2/t1 ; + c = dist2STheta/t1 ; + d2 = b*b - c ; + if (d2 >= 0) + { + d = std::sqrt(d2) ; + s = -b + d ; // Second root + + if ( (s >= 0) && (s < snxt) ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + zi = p.z() + s*v.z() ; + rhoi2 = xi*xi + yi*yi ; + radi2 = rhoi2 + zi*zi ; + + if ( (radi2 <= tolORMax2) + && (radi2 >= tolORMin2) + && (zi*(fSTheta - halfpi) <= 0) ) + { + if (!fFullPhiSphere && rhoi2) // Check phi intersection + { + cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; + if (cosPsi >= cosHDPhiOT) + { + snxt = s ; + } + } + else + { + snxt = s ; + } + } + } + } + } + } + } + else if ( (pTheta < tolSTheta + kAngTolerance) + && (fSTheta > halfAngTolerance) ) + { + // In tolerance of stheta + // If entering through solid [r,phi] => 0 to in + // else try 2nd root + + t2 = pDotV2d - p.z()*v.z()*tanSTheta2 ; + if ( (t2>=0 && tolIRMin2halfpi) + || (v.z()<0 && tolIRMin2= cosHDPhiIT) + { + return 0 ; + } + } + else + { + return 0 ; + } + } + + // Not entering immediately/travelling through + + t1 = 1 - v.z()*v.z()*(1 + tanSTheta2) ; + if (t1) + { b = t2/t1 ; c = dist2STheta/t1 ; d2 = b*b - c ; @@ -1577,9 +1528,129 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, if (d2 >= 0) { d = std::sqrt(d2) ; - s = -b + d ; // Second root + s = -b + d ; + if ( (s >= halfCarTolerance) && (s < snxt) && (fSTheta < halfpi) ) + { // ^^^^^^^^^^^^^^^^^^^^^ shouldn't it be >=0 instead ? + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + zi = p.z() + s*v.z() ; + rhoi2 = xi*xi + yi*yi ; + radi2 = rhoi2 + zi*zi ; - if ( (s >= 0) && (s < snxt) ) + if ( (radi2 <= tolORMax2) + && (radi2 >= tolORMin2) + && (zi*(fSTheta - halfpi) <= 0) ) + { + if ( !fFullPhiSphere && rhoi2 ) // Check phi intersection + { + cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; + if ( cosPsi >= cosHDPhiOT ) + { + snxt = s ; + } + } + else + { + snxt = s ; + } + } + } + } + } + } + else if ((pTheta > tolETheta-kAngTolerance) && (eTheta < pi-kAngTolerance)) + { + + // In tolerance of etheta + // If entering through solid [r,phi] => 0 to in + // else try 2nd root + + t2 = pDotV2d - p.z()*v.z()*tanETheta2 ; + + if ( ((t2<0) && (eTheta < halfpi) + && (tolIRMin2 < rad2) && (rad2 < tolIRMax2)) + || ((t2>=0) && (eTheta > halfpi) + && (tolIRMin2 < rad2) && (rad2 < tolIRMax2)) + || ((v.z()>0) && (eTheta == halfpi) + && (tolIRMin2 < rad2) && (rad2 < tolIRMax2)) ) + { + if (!fFullPhiSphere && rho2) // Check phi intersection + { + cosPsi = (p.x()*cosCPhi + p.y()*sinCPhi)/std::sqrt(rho2) ; + if (cosPsi >= cosHDPhiIT) + { + return 0 ; + } + } + else + { + return 0 ; + } + } + + // Not entering immediately/travelling through + + t1 = 1 - v.z()*v.z()*(1 + tanETheta2) ; + if (t1) + { + b = t2/t1 ; + c = dist2ETheta/t1 ; + d2 = b*b - c ; + + if (d2 >= 0) + { + d = std::sqrt(d2) ; + s = -b + d ; + + if ( (s >= halfCarTolerance) + && (s < snxt) && (eTheta > halfpi) ) + { + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + zi = p.z() + s*v.z() ; + rhoi2 = xi*xi + yi*yi ; + radi2 = rhoi2 + zi*zi ; + + if ( (radi2 <= tolORMax2) + && (radi2 >= tolORMin2) + && (zi*(eTheta - halfpi) <= 0) ) + { + if (!fFullPhiSphere && rhoi2) // Check phi intersection + { + cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; + if (cosPsi >= cosHDPhiOT) + { + snxt = s ; + } + } + else + { + snxt = s ; + } + } + } + } + } + } + else + { + // stheta+tol= 0) + { + d = std::sqrt(d2) ; + s = -b + d ; // second root + + if ((s >= 0) && (s < snxt)) { xi = p.x() + s*v.x() ; yi = p.y() + s*v.y() ; @@ -1591,7 +1662,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, && (radi2 >= tolORMin2) && (zi*(fSTheta - halfpi) <= 0) ) { - if (segPhi && rhoi2) // Check phi intersection + if (!fFullPhiSphere && rhoi2) // Check phi intersection { cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; if (cosPsi >= cosHDPhiOT) @@ -1606,223 +1677,44 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, } } } - } - } - else if ( (pTheta kAngTolerance) ) - { - // In tolerance of stheta - // If entering through solid [r,phi] => 0 to in - // else try 2nd root - - t2 = pDotV2d - p.z()*v.z()*tanSTheta2 ; - if ( (t2>=0 && tolIRMin2pi*.5) - || (v.z()<0 && tolIRMin2= cosHDPhiIT) - { - return 0 ; - } - } - else - { - return 0 ; - } - } - - // Not entering immediately/travelling through - - t1 = 1 - v.z()*v.z()*(1 + tanSTheta2) ; - b = t2/t1 ; - c = dist2STheta/t1 ; - d2 = b*b - c ; - - if (d2 >= 0) - { - d = std::sqrt(d2) ; - s = -b + d ; - if ( (s >= kCarTolerance*0.5) && (s < snxt) && (fSTheta < pi*0.5) ) - { - xi = p.x() + s*v.x() ; - yi = p.y() + s*v.y() ; - zi = p.z() + s*v.z() ; - rhoi2 = xi*xi + yi*yi ; - radi2 = rhoi2 + zi*zi ; - - if ( (radi2 <= tolORMax2) - && (radi2 >= tolORMin2) - && (zi*(fSTheta - halfpi) <= 0) ) - { - if ( segPhi && rhoi2 ) // Check phi intersection - { - cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; - if ( cosPsi >= cosHDPhiOT ) - { - snxt = s ; - } - } - else - { - snxt = s ; - } - } - } - } - } - else if ( (pTheta > tolETheta - kAngTolerance) - && ((fSTheta + fDTheta) < pi-kAngTolerance) ) - { - - // In tolerance of etheta - // If entering through solid [r,phi] => 0 to in - // else try 2nd root - - t2 = pDotV2d - p.z()*v.z()*tanETheta2 ; - - if ( - (t2<0 && (fSTheta+fDTheta) =0 && (fSTheta+fDTheta) >pi*0.5 && tolIRMin20 && (fSTheta+fDTheta)==pi*0.5 && tolIRMin2= cosHDPhiIT) - { - return 0 ; - } - } - else - { - return 0 ; - } - } - - // Not entering immediately/travelling through - - t1 = 1 - v.z()*v.z()*(1 + tanETheta2) ; - b = t2/t1 ; - c = dist2ETheta/t1 ; - d2 = b*b - c ; - - if (d2 >= 0) - { - d = std::sqrt(d2) ; - s = -b + d ; - - if ( (s >= kCarTolerance*0.5) - && (s < snxt) && ((fSTheta + fDTheta) > pi*0.5) ) - { - xi = p.x() + s*v.x() ; - yi = p.y() + s*v.y() ; - zi = p.z() + s*v.z() ; - rhoi2 = xi*xi + yi*yi ; - radi2 = rhoi2 + zi*zi ; - - if ( (radi2 <= tolORMax2) - && (radi2 >= tolORMin2) - && (zi*(fSTheta + fDTheta - halfpi) <= 0) ) - { - if (segPhi && rhoi2) // Check phi intersection - { - cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; - if (cosPsi>=cosHDPhiOT) - { - snxt = s ; - } - } - else - { - snxt = s ; - } - } - } - } - } - else - { - // stheta+tol= 0) - { - d = std::sqrt(d2) ; - s = -b + d ; // second root - - if (s >= 0 && s < snxt) - { - xi = p.x() + s*v.x() ; - yi = p.y() + s*v.y() ; - zi = p.z() + s*v.z() ; - rhoi2 = xi*xi + yi*yi ; - radi2 = rhoi2 + zi*zi ; - - if ( (radi2 <= tolORMax2) - && (radi2 >= tolORMin2) - && (zi*(fSTheta - halfpi) <= 0) ) - { - if (segPhi && rhoi2) // Check phi intersection - { - cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; - if (cosPsi >= cosHDPhiOT) - { - snxt = s ; - } - } - else - { - snxt = s ; - } - } - } } t1 = 1 - v.z()*v.z()*(1 + tanETheta2) ; t2 = pDotV2d - p.z()*v.z()*tanETheta2 ; - - b = t2/t1 ; - c = dist2ETheta/t1 ; - d2 = b*b - c ; + if (t1) + { + b = t2/t1 ; + c = dist2ETheta/t1 ; + d2 = b*b - c ; - if (d2 >= 0) - { - d = std::sqrt(d2) ; - s = -b + d; // second root - - if (s >= 0 && s < snxt) + if (d2 >= 0) { - xi = p.x() + s*v.x() ; - yi = p.y() + s*v.y() ; - zi = p.z() + s*v.z() ; - rhoi2 = xi*xi + yi*yi ; - radi2 = rhoi2 + zi*zi ; + d = std::sqrt(d2) ; + s = -b + d; // second root - if ( (radi2 <= tolORMax2) - && (radi2 >= tolORMin2) - && (zi*(fSTheta + fDTheta - halfpi) <= 0) ) + if ((s >= 0) && (s < snxt)) { - if (segPhi && rhoi2) // Check phi intersection + xi = p.x() + s*v.x() ; + yi = p.y() + s*v.y() ; + zi = p.z() + s*v.z() ; + rhoi2 = xi*xi + yi*yi ; + radi2 = rhoi2 + zi*zi ; + + if ( (radi2 <= tolORMax2) + && (radi2 >= tolORMin2) + && (zi*(eTheta - halfpi) <= 0) ) { - cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; - if ( cosPsi >= cosHDPhiOT ) + if (!fFullPhiSphere && rhoi2) // Check phi intersection { - snxt=s; + cosPsi = (xi*cosCPhi + yi*sinCPhi)/std::sqrt(rhoi2) ; + if ( cosPsi >= cosHDPhiOT ) + { + snxt=s; + } + } + else + { + snxt = s ; } - } - else - { - snxt = s ; } } } @@ -1843,11 +1735,11 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p, G4double G4Sphere::DistanceToIn( const G4ThreeVector& p ) const { G4double safe=0.0,safeRMin,safeRMax,safePhi,safeTheta; - G4double rho2,rad,rho; - G4double phiC,cosPhiC,sinPhiC,cosPsi,ePhi; + G4double rho2,rds,rho; + G4double cosPsi; G4double pTheta,dTheta1,dTheta2; rho2=p.x()*p.x()+p.y()*p.y(); - rad=std::sqrt(rho2+p.z()*p.z()); + rds=std::sqrt(rho2+p.z()*p.z()); rho=std::sqrt(rho2); // @@ -1855,8 +1747,8 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p ) const // if (fRmin) { - safeRMin=fRmin-rad; - safeRMax=rad-fRmax; + safeRMin=fRmin-rds; + safeRMax=rds-fRmax; if (safeRMin>safeRMax) { safe=safeRMin; @@ -1868,51 +1760,46 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p ) const } else { - safe=rad-fRmax; + safe=rds-fRmax; } // // Distance to phi extent // - if (fDPhisafe) safe=safePhi; + if (safePhi>safe) { safe=safePhi; } } } // // Distance to Theta extent // - if ((rad!=0.0) && (fDThetadTheta2) { if (dTheta1>=0) // WHY ??????????? { - safeTheta=rad*std::sin(dTheta1); + safeTheta=rds*std::sin(dTheta1); if (safe<=safeTheta) { safe=safeTheta; @@ -1923,7 +1810,7 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p ) const { if (dTheta2>=0) { - safeTheta=rad*std::sin(dTheta2); + safeTheta=rds*std::sin(dTheta2); if (safe<=safeTheta) { safe=safeTheta; @@ -1932,13 +1819,13 @@ G4double G4Sphere::DistanceToIn( const G4ThreeVector& p ) const } } - if (safe<0) safe=0; + if (safe<0) { safe=0; } return safe; } ///////////////////////////////////////////////////////////////////// // -// Calculate distance to surface of shape from `inside', allowing for tolerance +// Calculate distance to surface of shape from 'inside', allowing for tolerance // - Only Calc rmax intersection if no valid rmin intersection G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, @@ -1951,13 +1838,17 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, G4double sphi= kInfinity,stheta= kInfinity; ESide side=kNull,sidephi=kNull,sidetheta=kNull; + static const G4double halfCarTolerance = kCarTolerance*0.5; + static const G4double halfAngTolerance = kAngTolerance*0.5; + const G4double halfRmaxTolerance = fRmaxTolerance*0.5; + const G4double halfRminTolerance = fRminTolerance*0.5; + const G4double Rmax_plus = fRmax + halfRmaxTolerance; + const G4double Rmin_minus = (fRmin) ? fRmin-halfRminTolerance : 0; G4double t1,t2; G4double b,c,d; // Variables for phi intersection: - G4double sinSPhi,cosSPhi,ePhi,sinEPhi,cosEPhi; - G4double cPhi,sinCPhi,cosCPhi; G4double pDistS,compS,pDistE,compE,sphi2,vphi; G4double rho2,rad2,pDotV2d,pDotV3d,pTheta; @@ -1965,58 +1856,29 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, G4double tolSTheta=0.,tolETheta=0.; G4double xi,yi,zi; // Intersection point - // G4double Comp; // Phi intersection - - G4bool segPhi; // Phi flag and precalcs - G4double hDPhi,hDPhiOT,hDPhiIT; - G4double cosHDPhiOT,cosHDPhiIT; - - G4bool segTheta; // Theta flag and precals - G4double tanSTheta=0.,tanETheta=0., rhoSecTheta; - G4double tanSTheta2=0.,tanETheta2=0.; + // Theta precals + // + G4double rhoSecTheta; G4double dist2STheta, dist2ETheta, distTheta; G4double d2,s; // General Precalcs - + // rho2 = p.x()*p.x()+p.y()*p.y(); rad2 = rho2+p.z()*p.z(); - // G4double rad=std::sqrt(rad2); pTheta = std::atan2(std::sqrt(rho2),p.z()); pDotV2d = p.x()*v.x()+p.y()*v.y(); pDotV3d = pDotV2d+p.z()*v.z(); - // Set phi divided flag and precalcs - - if( fDPhi < twopi ) - { - segPhi=true; - hDPhi=0.5*fDPhi; // half delta phi - cPhi=fSPhi+hDPhi;; - hDPhiOT=hDPhi+0.5*kAngTolerance; // Outer Tolerant half delta phi - hDPhiIT=hDPhi-0.5*kAngTolerance; - sinCPhi=std::sin(cPhi); - cosCPhi=std::cos(cPhi); - cosHDPhiOT=std::cos(hDPhiOT); - cosHDPhiIT=std::cos(hDPhiIT); - } - else - { - segPhi=false; - } - // Theta precalcs - if ( fDTheta < pi ) + if ( !fFullThetaSphere ) { - segTheta = true; - tolSTheta = fSTheta - kAngTolerance*0.5; - tolETheta = fSTheta + fDTheta + kAngTolerance*0.5; + tolSTheta = fSTheta - halfAngTolerance; + tolETheta = eTheta + halfAngTolerance; } - else segTheta = false; - // Radial Intersections from G4Sphere::DistanceToIn // @@ -2033,25 +1895,12 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // => rad2 +2s(pDotV3d) +s^2 =R^2 // // => s=-pDotV3d+-std::sqrt(pDotV3d^2-(rad2-R^2)) - // - // const G4double fractionTolerance = 1.0e-12; - const G4double flexRadMaxTolerance = // kRadTolerance; - std::max(kRadTolerance, fEpsilon * fRmax); - - const G4double Rmax_plus = fRmax + flexRadMaxTolerance*0.5; - - const G4double flexRadMinTolerance = std::max(kRadTolerance, - fEpsilon * fRmin); - - const G4double Rmin_minus= (fRmin > 0) ? fRmin-flexRadMinTolerance*0.5 : 0 ; - - if(rad2 <= Rmax_plus*Rmax_plus && rad2 >= Rmin_minus*Rmin_minus) - // if(rad <= Rmax_plus && rad >= Rmin_minus) + if( (rad2 <= Rmax_plus*Rmax_plus) && (rad2 >= Rmin_minus*Rmin_minus) ) { c = rad2 - fRmax*fRmax; - if (c < flexRadMaxTolerance*fRmax) + if (c < fRmaxTolerance*fRmax) { // Within tolerant Outer radius // @@ -2064,9 +1913,9 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, d2 = pDotV3d*pDotV3d - c; - if( (c >- flexRadMaxTolerance*fRmax) // on tolerant surface - && ((pDotV3d >=0) || (d2 < 0)) ) // leaving outside from Rmax - // not re-entering + if( (c >- fRmaxTolerance*fRmax) // on tolerant surface + && ((pDotV3d >=0) || (d2 < 0)) ) // leaving outside from Rmax + // not re-entering { if(calcNorm) { @@ -2091,13 +1940,13 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, c = rad2 - fRmin*fRmin; d2 = pDotV3d*pDotV3d - c; - if ( c >- flexRadMinTolerance*fRmin ) // 2.0 * (0.5*kRadTolerance) * fRmin + if (c >- fRminTolerance*fRmin) // 2.0 * (0.5*kRadTolerance) * fRmin { - if( c < flexRadMinTolerance*fRmin && - d2 >= flexRadMinTolerance*fRmin && pDotV3d < 0 ) // leaving from Rmin + if ( (c < fRminTolerance*fRmin) // leaving from Rmin + && (d2 >= fRminTolerance*fRmin) && (pDotV3d < 0) ) { - if(calcNorm) *validNorm = false ; // Rmin surface is concave - return snxt = 0 ; + if(calcNorm) { *validNorm = false; } // Rmin surface is concave + return snxt = 0 ; } else { @@ -2118,7 +1967,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Theta segment intersection - if (segTheta) + if ( !fFullThetaSphere ) { // Intersection with theta surfaces // @@ -2142,188 +1991,13 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // => s^2(1-vz^2(1+tan^2(t))+2s(pdotv2d-pzvztan^2(t))+(rho2-pz^2tan^2(t))=0 // - /* //////////////////////////////////////////////////////// - - tanSTheta=std::tan(fSTheta); - tanSTheta2=tanSTheta*tanSTheta; - tanETheta=std::tan(fSTheta+fDTheta); - tanETheta2=tanETheta*tanETheta; - - if (fSTheta) - { - dist2STheta=rho2-p.z()*p.z()*tanSTheta2; - } - else - { - dist2STheta = kInfinity; - } - if (fSTheta + fDTheta < pi) - { - dist2ETheta = rho2-p.z()*p.z()*tanETheta2; - } - else - { - dist2ETheta = kInfinity ; - } - if (pTheta > tolSTheta && pTheta < tolETheta) // Inside theta - { - // In tolerance of STheta and possible leaving out to small thetas N- - - if(pTheta < tolSTheta + kAngTolerance && fSTheta > kAngTolerance) - { - t2=pDotV2d-p.z()*v.z()*tanSTheta2 ; // =(VdotN+)*rhoSecSTheta - - if( fSTheta < pi*0.5 && t2 < 0) - { - if(calcNorm) *validNorm = false ; - return snxt = 0 ; - } - else if(fSTheta > pi*0.5 && t2 >= 0) - { - if(calcNorm) - { - rhoSecTheta = std::sqrt(rho2*(1+tanSTheta2)) ; - *validNorm = true ; - *n = G4ThreeVector(-p.x()/rhoSecTheta, // N- - -p.y()/rhoSecTheta, - tanSTheta/std::sqrt(1+tanSTheta2) ) ; - } - return snxt = 0 ; - } - else if( fSTheta == pi*0.5 && v.z() > 0) - { - if(calcNorm) - { - *validNorm = true ; - *n = G4ThreeVector(0,0,1) ; - } - return snxt = 0 ; - } - } - - // In tolerance of ETheta and possible leaving out to larger thetas N+ - - if ( (pTheta > tolETheta - kAngTolerance) - && (( fSTheta + fDTheta) < pi - kAngTolerance) ) - { - t2=pDotV2d-p.z()*v.z()*tanETheta2 ; - if((fSTheta+fDTheta)>pi*0.5 && t2<0) - { - if(calcNorm) *validNorm = false ; - return snxt = 0 ; - } - else if( (fSTheta+fDTheta) < pi*0.5 && t2 >= 0 ) - { - if(calcNorm) - { - rhoSecTheta = std::sqrt(rho2*(1+tanETheta2)) ; - *validNorm = true ; - *n = G4ThreeVector( p.x()/rhoSecTheta, // N+ - p.y()/rhoSecTheta, - -tanETheta/std::sqrt(1+tanETheta2) ) ; - } - return snxt = 0 ; - } - else if( ( fSTheta+fDTheta) == pi*0.5 && v.z() < 0 ) - { - if(calcNorm) - { - *validNorm = true ; - *n = G4ThreeVector(0,0,-1) ; - } - return snxt = 0 ; - } - } - if( fSTheta > 0 ) - { - // First root of fSTheta cone, second if first root -ve - - t1 = 1-v.z()*v.z()*(1+tanSTheta2); - t2 = pDotV2d-p.z()*v.z()*tanSTheta2; - - b = t2/t1; - c = dist2STheta/t1; - d2 = b*b - c ; - - if ( d2 >= 0 ) - { - d = std::sqrt(d2) ; - s = -b - d ; // First root - - if ( s < 0 ) - { - s = -b + d ; // Second root - } - if (s > flexRadMaxTolerance*0.5 ) // && spi*0.5 && zi>0) - { - s = kInfinity ; // wrong cone - } - stheta = s ; - sidetheta = kSTheta ; - } - } - } - - // Possible intersection with ETheta cone - - if (fSTheta + fDTheta < pi) - { - t1 = 1-v.z()*v.z()*(1+tanETheta2); - t2 = pDotV2d-p.z()*v.z()*tanETheta2; - b = t2/t1; - c = dist2ETheta/t1; - d2 = b*b-c ; - - if ( d2 >= 0 ) - { - d = std::sqrt(d2); - s = -b - d ; // First root - - if ( s < 0 ) - { - s=-b+d; // Second root - } - if (s > flexRadMaxTolerance*0.5 && s < stheta ) - { - // check against double cone solution - zi=p.z()+s*v.z(); - if (fSTheta+fDThetapi*0.5 && zi>0) - { - s = kInfinity ; // wrong cone - } - } - if (s < stheta) - { - stheta = s ; - sidetheta = kETheta ; - } - } - } - } - */ //////////////////////////////////////////////////////////// - if(fSTheta) // intersection with first cons { - - tanSTheta = std::tan(fSTheta); - if( std::fabs(tanSTheta) > 5./kAngTolerance ) // kons is plane z=0 { if( v.z() > 0. ) { - if ( std::fabs( p.z() ) <= flexRadMaxTolerance*0.5 ) + if ( std::fabs( p.z() ) <= halfRmaxTolerance ) { if(calcNorm) { @@ -2332,33 +2006,30 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, } return snxt = 0 ; } - // s = -p.z()/v.z(); stheta = -p.z()/v.z(); sidetheta = kSTheta; } } else // kons is not plane { - tanSTheta2 = tanSTheta*tanSTheta; t1 = 1-v.z()*v.z()*(1+tanSTheta2); t2 = pDotV2d-p.z()*v.z()*tanSTheta2; // ~vDotN if p on cons - dist2STheta = rho2-p.z()*p.z()*tanSTheta2; // t3 + dist2STheta = rho2-p.z()*p.z()*tanSTheta2; // t3 - // distTheta = std::sqrt(std::fabs(dist2STheta/(1+tanSTheta2))); distTheta = std::sqrt(rho2)-p.z()*tanSTheta; - if( std::fabs(t1) < 0.5*kAngTolerance ) // 1st order equation, v parallel to kons - { + if( std::fabs(t1) < halfAngTolerance ) // 1st order equation, + { // v parallel to kons if( v.z() > 0. ) { - if(std::fabs(distTheta) < flexRadMaxTolerance*0.5) // p on surface + if(std::fabs(distTheta) < halfRmaxTolerance) // p on surface { - if( fSTheta < halfpi && p.z() > 0. ) + if( (fSTheta < halfpi) && (p.z() > 0.) ) { - if( calcNorm ) *validNorm = false; - return snxt = 0.; + if( calcNorm ) { *validNorm = false; } + return snxt = 0.; } - else if( fSTheta > halfpi && p.z() <= 0) + else if( (fSTheta > halfpi) && (p.z() <= 0) ) { if( calcNorm ) { @@ -2376,37 +2047,35 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, return snxt = 0.; } } - // s = -0.5*dist2STheta/t2; - stheta = -0.5*dist2STheta/t2; sidetheta = kSTheta; } - } - else // 2nd order equation, 1st root of fSTheta cone, 2nd if 1st root -ve + } // 2nd order equation, 1st root of fSTheta cone, + else // 2nd if 1st root -ve { - if( std::fabs(distTheta) < flexRadMaxTolerance*0.5) // && t2 >= 0.) surface + if( std::fabs(distTheta) < halfRmaxTolerance ) { - if( fSTheta > halfpi && t2 >= 0. ) // leave + if( (fSTheta > halfpi) && (t2 >= 0.) ) // leave { if( calcNorm ) { *validNorm = true; if (rho2) { - rhoSecTheta = std::sqrt(rho2*(1+tanSTheta2)); + rhoSecTheta = std::sqrt(rho2*(1+tanSTheta2)); - *n = G4ThreeVector( p.x()/rhoSecTheta, - p.y()/rhoSecTheta, - std::sin(fSTheta) ); + *n = G4ThreeVector( p.x()/rhoSecTheta, + p.y()/rhoSecTheta, + std::sin(fSTheta) ); } - else *n = G4ThreeVector(0.,0.,1.); - } + else { *n = G4ThreeVector(0.,0.,1.); } + } return snxt = 0.; } - else if( fSTheta < halfpi && t2 < 0. && p.z() >=0. ) // leave + else if( (fSTheta < halfpi) && (t2 < 0.) && (p.z() >=0.) ) // leave { - if( calcNorm ) *validNorm = false; - return snxt = 0.; + if( calcNorm ) { *validNorm = false; } + return snxt = 0.; } } b = t2/t1; @@ -2421,13 +2090,12 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, { s = -b - d; // First root - if( (std::fabs(s) < flexRadMaxTolerance*0.5 && t2 < 0.) || - s < 0. || - ( s > 0. && p.z() + s*v.z() > 0.) ) + if ( ((std::fabs(s) < halfRmaxTolerance) && (t2 < 0.)) + || (s < 0.) || ( (s > 0.) && (p.z() + s*v.z() > 0.) ) ) { s = -b + d ; // 2nd root } - if( s > flexRadMaxTolerance*0.5 && p.z() + s*v.z() <= 0.) + if( (s > halfRmaxTolerance) && (p.z() + s*v.z() <= 0.) ) { stheta = s; sidetheta = kSTheta; @@ -2437,13 +2105,12 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, { s = -b - d; // First root - if( (std::fabs(s) < flexRadMaxTolerance*0.5 && t2 >= 0.) || - s < 0. || - ( s > 0. && p.z() + s*v.z() < 0.) ) + if ( ( (std::fabs(s) < halfRmaxTolerance) && (t2 >= 0.) ) + || (s < 0.) || ( (s > 0.) && (p.z() + s*v.z() < 0.) ) ) { s = -b + d ; // 2nd root } - if( s > flexRadMaxTolerance*0.5 && p.z() + s*v.z() >= 0.) + if( (s > halfRmaxTolerance) && (p.z() + s*v.z() >= 0.) ) { stheta = s; sidetheta = kSTheta; @@ -2453,16 +2120,13 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, } } } - if (fSTheta + fDTheta < pi) // intersection with second cons + if (eTheta < pi) // intersection with second cons { - - tanETheta = std::tan(fSTheta+fDTheta); - if( std::fabs(tanETheta) > 5./kAngTolerance ) // kons is plane z=0 { if( v.z() < 0. ) { - if ( std::fabs( p.z() ) <= flexRadMaxTolerance*0.5 ) + if ( std::fabs( p.z() ) <= halfRmaxTolerance ) { if(calcNorm) { @@ -2473,7 +2137,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, } s = -p.z()/v.z(); - if( s < stheta) + if( s < stheta ) { stheta = s; sidetheta = kETheta; @@ -2482,26 +2146,24 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, } else // kons is not plane { - tanETheta2 = tanETheta*tanETheta; t1 = 1-v.z()*v.z()*(1+tanETheta2); t2 = pDotV2d-p.z()*v.z()*tanETheta2; // ~vDotN if p on cons - dist2ETheta = rho2-p.z()*p.z()*tanETheta2; // t3 + dist2ETheta = rho2-p.z()*p.z()*tanETheta2; // t3 - // distTheta = std::sqrt(std::fabs(dist2ETheta/(1+tanETheta2))); distTheta = std::sqrt(rho2)-p.z()*tanETheta; - if( std::fabs(t1) < 0.5*kAngTolerance ) // 1st order equation, v parallel to kons - { + if( std::fabs(t1) < halfAngTolerance ) // 1st order equation, + { // v parallel to kons if( v.z() < 0. ) { - if(std::fabs(distTheta) < flexRadMaxTolerance*0.5) // p on surface + if(std::fabs(distTheta) < halfRmaxTolerance) // p on surface { - if( fSTheta+fDTheta > halfpi && p.z() < 0. ) + if( (eTheta > halfpi) && (p.z() < 0.) ) { - if( calcNorm ) *validNorm = false; - return snxt = 0.; + if( calcNorm ) { *validNorm = false; } + return snxt = 0.; } - else if( fSTheta+fDTheta < halfpi && p.z() >= 0) + else if ( (eTheta < halfpi) && (p.z() >= 0) ) { if( calcNorm ) { @@ -2509,30 +2171,29 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, if (rho2) { rhoSecTheta = std::sqrt(rho2*(1+tanETheta2)); - *n = G4ThreeVector( p.x()/rhoSecTheta, p.y()/rhoSecTheta, - -std::sin(fSTheta+fDTheta) ); + -sinETheta ); } - else *n = G4ThreeVector(0.,0.,-1.); + else { *n = G4ThreeVector(0.,0.,-1.); } } return snxt = 0.; } } s = -0.5*dist2ETheta/t2; - if( s < stheta) + if( s < stheta ) { stheta = s; sidetheta = kETheta; } } - } - else // 2nd order equation, 1st root of fSTheta cone, 2nd if 1st root -ve + } // 2nd order equation, 1st root of fSTheta cone + else // 2nd if 1st root -ve { - if( std::fabs(distTheta) < flexRadMaxTolerance*0.5) // && t2 >= 0.) surface + if ( std::fabs(distTheta) < halfRmaxTolerance ) { - if( fSTheta+fDTheta < halfpi && t2 >= 0. ) // leave + if( (eTheta < halfpi) && (t2 >= 0.) ) // leave { if( calcNorm ) { @@ -2540,19 +2201,19 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, if (rho2) { rhoSecTheta = std::sqrt(rho2*(1+tanETheta2)); - *n = G4ThreeVector( p.x()/rhoSecTheta, p.y()/rhoSecTheta, - -std::sin(fSTheta+fDTheta) ); + -sinETheta ); } else *n = G4ThreeVector(0.,0.,-1.); } return snxt = 0.; } - else if( fSTheta+fDTheta > halfpi && t2 < 0. && p.z() <=0. ) // leave + else if ( (eTheta > halfpi) + && (t2 < 0.) && (p.z() <=0.) ) // leave { - if( calcNorm ) *validNorm = false; - return snxt = 0.; + if( calcNorm ) { *validNorm = false; } + return snxt = 0.; } } b = t2/t1; @@ -2563,16 +2224,16 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, { d = std::sqrt(d2); - if( fSTheta+fDTheta < halfpi ) + if( eTheta < halfpi ) { s = -b - d; // First root - if( (std::fabs(s) < flexRadMaxTolerance*0.5 && t2 < 0.) || - s < 0. ) + if( ((std::fabs(s) < halfRmaxTolerance) && (t2 < 0.)) + || (s < 0.) ) { s = -b + d ; // 2nd root } - if( s > flexRadMaxTolerance*0.5 ) + if( s > halfRmaxTolerance ) { if( s < stheta ) { @@ -2585,13 +2246,12 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, { s = -b - d; // First root - if( (std::fabs(s) < flexRadMaxTolerance*0.5 && t2 >= 0.) || - s < 0. || - ( s > 0. && p.z() + s*v.z() > 0.) ) + if ( ((std::fabs(s) < halfRmaxTolerance) && (t2 >= 0.)) + || (s < 0.) || ( (s > 0.) && (p.z() + s*v.z() > 0.) ) ) { s = -b + d ; // 2nd root } - if( s > flexRadMaxTolerance*0.5 && p.z() + s*v.z() <= 0.) + if( (s > halfRmaxTolerance) && (p.z() + s*v.z() <= 0.) ) { if( s < stheta ) { @@ -2609,18 +2269,9 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Phi Intersection - if ( fDPhi < twopi) + if ( !fFullPhiSphere ) { - sinSPhi=std::sin(fSPhi); - cosSPhi=std::cos(fSPhi); - ePhi=fSPhi+fDPhi; - sinEPhi=std::sin(ePhi); - cosEPhi=std::cos(ePhi); - cPhi=fSPhi+fDPhi*0.5; - sinCPhi=std::sin(cPhi); - cosCPhi=std::cos(cPhi); - - if ( p.x()||p.y() ) // Check if on z axis (rho not needed later) + if ( p.x() || p.y() ) // Check if on z axis (rho not needed later) { // pDist -ve when inside @@ -2633,7 +2284,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, compE = sinEPhi*v.x()-cosEPhi*v.y() ; sidephi = kNull ; - if ( pDistS <= 0 && pDistE <= 0 ) + if ( (pDistS <= 0) && (pDistE <= 0) ) { // Inside both phi *full* planes @@ -2643,20 +2294,29 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, xi = p.x()+sphi*v.x() ; yi = p.y()+sphi*v.y() ; - // Check intersecting with correct half-plane - // (if not -> no intersect) - - if ( ( yi*cosCPhi - xi*sinCPhi ) >= 0 ) + // Check intersection with correct half-plane (if not -> no intersect) + // + if( (std::abs(xi)<=kCarTolerance) && (std::abs(yi)<=kCarTolerance) ) + { + vphi = std::atan2(v.y(),v.x()); + sidephi = kSPhi; + if ( ( (fSPhi-halfAngTolerance) <= vphi) + && ( (ePhi+halfAngTolerance) >= vphi) ) + { + sphi = kInfinity; + } + } + else if ( ( yi*cosCPhi - xi*sinCPhi ) >= 0 ) { sphi=kInfinity; } else { sidephi = kSPhi ; - if ( pDistS > -0.5*kCarTolerance) sphi =0 ; // Leave by sphi + if ( pDistS > -halfCarTolerance) { sphi = 0; } // Leave by sphi } } - else sphi = kInfinity ; + else { sphi = kInfinity; } if ( compE < 0 ) { @@ -2666,12 +2326,26 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, xi = p.x()+sphi2*v.x() ; yi = p.y()+sphi2*v.y() ; - // Check intersecting with correct half-plane - - if ((yi*cosCPhi-xi*sinCPhi)>=0) // Leaving via ending phi + // Check intersection with correct half-plane + // + if ((std::abs(xi)<=kCarTolerance) && (std::abs(yi)<=kCarTolerance)) + { + // Leaving via ending phi + // + vphi = std::atan2(v.y(),v.x()) ; + + if( !((fSPhi-halfAngTolerance <= vphi) + &&(fSPhi+fDPhi+halfAngTolerance >= vphi)) ) + { + sidephi = kEPhi; + if ( pDistE <= -halfCarTolerance ) { sphi = sphi2; } + else { sphi = 0.0; } + } + } + else if ((yi*cosCPhi-xi*sinCPhi)>=0) // Leaving via ending phi { sidephi = kEPhi ; - if ( pDistE <= -0.5*kCarTolerance ) + if ( pDistE <= -halfCarTolerance ) { sphi=sphi2; } @@ -2683,7 +2357,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, } } } - else if ( pDistS >= 0 && pDistE >= 0 ) // Outside both *full* phi planes + else if ((pDistS >= 0) && (pDistE >= 0)) // Outside both *full* phi planes { if ( pDistS <= pDistE ) { @@ -2695,25 +2369,19 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, } if ( fDPhi > pi ) { - if ( compS < 0 && compE < 0 ) sphi = 0 ; - else sphi = kInfinity ; + if ( (compS < 0) && (compE < 0) ) { sphi = 0; } + else { sphi = kInfinity; } } else { // if towards both >=0 then once inside (after error) // will remain inside - if ( compS >= 0 && compE >= 0 ) - { - sphi=kInfinity; - } - else - { - sphi=0; - } + if ( (compS >= 0) && (compE >= 0) ) { sphi = kInfinity; } + else { sphi = 0; } } } - else if ( pDistS > 0 && pDistE < 0 ) + else if ( (pDistS > 0) && (pDistE < 0) ) { // Outside full starting plane, inside full ending plane @@ -2728,14 +2396,24 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection in correct half-plane // (if not -> not leaving phi extent) // - if ( ( yi*cosCPhi - xi*sinCPhi ) <= 0 ) + if( (std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance) ) + { + vphi = std::atan2(v.y(),v.x()); + sidephi = kSPhi; + if ( ( (fSPhi-halfAngTolerance) <= vphi) + && ( (ePhi+halfAngTolerance) >= vphi) ) + { + sphi = kInfinity; + } + } + else if ( ( yi*cosCPhi - xi*sinCPhi ) <= 0 ) { sphi = kInfinity ; } else // Leaving via Ending phi { sidephi = kEPhi ; - if ( pDistE > -0.5*kCarTolerance ) sphi = 0. ; + if ( pDistE > -halfCarTolerance ) { sphi = 0.; } } } else @@ -2756,7 +2434,17 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, // Check intersection in correct half-plane // (if not -> remain in extent) // - if ( ( yi*cosCPhi - xi*sinCPhi) <= 0 ) + if( (std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance) ) + { + vphi = std::atan2(v.y(),v.x()); + sidephi = kSPhi; + if ( ( (fSPhi-halfAngTolerance) <= vphi) + && ( (ePhi+halfAngTolerance) >= vphi) ) + { + sphi = kInfinity; + } + } + else if ( ( yi*cosCPhi - xi*sinCPhi) <= 0 ) { sphi=kInfinity; } @@ -2786,18 +2474,28 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, sphi=pDistS/compS; xi=p.x()+sphi*v.x(); yi=p.y()+sphi*v.y(); - + // Check intersection in correct half-plane // (if not -> not leaving phi extent) // - if ( ( yi*cosCPhi - xi*sinCPhi ) >= 0 ) + if( (std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance) ) + { + vphi = std::atan2(v.y(),v.x()) ; + sidephi = kSPhi; + if ( ( (fSPhi-halfAngTolerance) <= vphi) + && ( (ePhi+halfAngTolerance) >= vphi) ) + { + sphi = kInfinity; + } + } + else if ( ( yi*cosCPhi - xi*sinCPhi ) >= 0 ) { sphi = kInfinity ; } - else // Leaving via Starting phi - { + else // Leaving via Starting phi + { sidephi = kSPhi ; - if ( pDistS > -0.5*kCarTolerance ) sphi = 0 ; + if ( pDistS > -halfCarTolerance ) { sphi = 0; } } } else @@ -2814,11 +2512,21 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, sphi = pDistS/compS ; xi = p.x()+sphi*v.x() ; yi = p.y()+sphi*v.y() ; - + // Check intersection in correct half-plane // (if not -> remain in extent) // - if ( ( yi*cosCPhi - xi*sinCPhi ) >= 0 ) + if((std::abs(xi)<=kCarTolerance) && (std::abs(yi)<=kCarTolerance)) + { + vphi = std::atan2(v.y(),v.x()) ; + sidephi = kSPhi; + if ( ( (fSPhi-halfAngTolerance) <= vphi) + && ( (ePhi+halfAngTolerance) >= vphi) ) + { + sphi = kInfinity; + } + } + else if ( ( yi*cosCPhi - xi*sinCPhi ) >= 0 ) { sphi = kInfinity ; } @@ -2848,9 +2556,9 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, if ( v.x() || v.y() ) { vphi = std::atan2(v.y(),v.x()) ; - if ( fSPhi < vphi && vphi < fSPhi + fDPhi ) + if ((fSPhi-halfAngTolerance < vphi) && (vphi < ePhi+halfAngTolerance)) { - sphi=kInfinity; + sphi = kInfinity; } else { @@ -2858,7 +2566,7 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, sphi = 0 ; } } - else // travel along z - no phi intersaction + else // travel along z - no phi intersection { sphi = kInfinity ; } @@ -2894,19 +2602,19 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, case kSPhi: if ( fDPhi <= pi ) // Normal to Phi- { - *n=G4ThreeVector(std::sin(fSPhi),-std::cos(fSPhi),0); + *n=G4ThreeVector(sinSPhi,-cosSPhi,0); *validNorm=true; } - else *validNorm=false; + else { *validNorm=false; } break ; case kEPhi: if ( fDPhi <= pi ) // Normal to Phi+ { - *n=G4ThreeVector(-std::sin(fSPhi+fDPhi),std::cos(fSPhi+fDPhi),0); + *n=G4ThreeVector(-sinEPhi,cosEPhi,0); *validNorm=true; } - else *validNorm=false; + else { *validNorm=false; } break; case kSTheta: @@ -2919,32 +2627,46 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, { xi = p.x() + snxt*v.x(); yi = p.y() + snxt*v.y(); - rhoSecTheta = std::sqrt((xi*xi+yi*yi)*(1+tanSTheta2)); - *n = G4ThreeVector( xi/rhoSecTheta, // N- - yi/rhoSecTheta, - -tanSTheta/std::sqrt(1+tanSTheta2)); + rho2=xi*xi+yi*yi; + if (rho2) + { + rhoSecTheta = std::sqrt(rho2*(1+tanSTheta2)); + *n = G4ThreeVector( xi/rhoSecTheta, yi/rhoSecTheta, + -tanSTheta/std::sqrt(1+tanSTheta2)); + } + else + { + *n = G4ThreeVector(0.,0.,1.); + } *validNorm=true; } - else *validNorm=false; // Concave STheta cone + else { *validNorm=false; } // Concave STheta cone break; case kETheta: - if( ( fSTheta + fDTheta ) == halfpi ) + if( eTheta == halfpi ) { *n = G4ThreeVector(0.,0.,-1.); *validNorm = true; } - else if ( ( fSTheta + fDTheta ) < halfpi) + else if ( eTheta < halfpi ) { xi=p.x()+snxt*v.x(); yi=p.y()+snxt*v.y(); - rhoSecTheta = std::sqrt((xi*xi+yi*yi)*(1+tanETheta2)); - *n = G4ThreeVector( xi/rhoSecTheta, // N+ - yi/rhoSecTheta, - -tanETheta/std::sqrt(1+tanETheta2) ); + rho2=xi*xi+yi*yi; + if (rho2) + { + rhoSecTheta = std::sqrt(rho2*(1+tanETheta2)); + *n = G4ThreeVector( xi/rhoSecTheta, yi/rhoSecTheta, + -tanETheta/std::sqrt(1+tanETheta2) ); + } + else + { + *n = G4ThreeVector(0.,0.,-1.); + } *validNorm=true; } - else *validNorm=false; // Concave ETheta cone + else { *validNorm=false; } // Concave ETheta cone break; default: @@ -2994,16 +2716,15 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p, ///////////////////////////////////////////////////////////////////////// // -// Calcluate distance (<=actual) to closest surface of shape from inside +// Calculate distance (<=actual) to closest surface of shape from inside G4double G4Sphere::DistanceToOut( const G4ThreeVector& p ) const { G4double safe=0.0,safeRMin,safeRMax,safePhi,safeTheta; - G4double rho2,rad,rho; - G4double phiC,cosPhiC,sinPhiC,ePhi; + G4double rho2,rds,rho; G4double pTheta,dTheta1,dTheta2; rho2=p.x()*p.x()+p.y()*p.y(); - rad=std::sqrt(rho2+p.z()*p.z()); + rds=std::sqrt(rho2+p.z()*p.z()); rho=std::sqrt(rho2); #ifdef G4CSGDEBUG @@ -3026,8 +2747,8 @@ G4double G4Sphere::DistanceToOut( const G4ThreeVector& p ) const // if (fRmin) { - safeRMin=rad-fRmin; - safeRMax=fRmax-rad; + safeRMin=rds-fRmin; + safeRMax=fRmax-rds; if (safeRMinsafeTheta) - { - safe=safeTheta; - } - } - else - { - safeTheta=rad*std::sin(dTheta2); - if (safe>safeTheta) - { - safe=safeTheta; - } - } + dTheta2=eTheta-pTheta; + if (dTheta1safeTheta) { safe=safeTheta; } } - if (safe<0) safe=0; - return safe; + if (safe<0) { safe=0; } + return safe; } ////////////////////////////////////////////////////////////////////////// @@ -3118,7 +2822,7 @@ G4Sphere::CreateRotatedVertices( const G4AffineTransform& pTransform, // Phi cross sections - noPhiCrossSections=G4int (fDPhi/kMeshAngleDefault)+1; + noPhiCrossSections = G4int(fDPhi/kMeshAngleDefault)+1; if (noPhiCrossSections=0.) && (chose=aOne+aTwo) && (chose=aOne+aTwo+aThr) && (chose=aOne+aTwo+aThr+aFou) && (chose0) + { + G4double acos1=std::acos( std::pow(sinSTheta,2) * std::cos(fDPhi) + + std::pow(cosSTheta,2)); + if(fDPhi>pi) + { + fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*(twopi-acos1); + } + else + { + fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*acos1; + } + } + if(eTheta < pi) + { + G4double acos2=std::acos( std::pow(sinETheta,2) * std::cos(fDPhi) + + std::pow(cosETheta,2)); + if(fDPhi>pi) + { + fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*(twopi-acos2); + } + else + { + fSurfaceArea = fSurfaceArea + 0.5*(Rsq-rsq)*acos2; + } + } + } + return fSurfaceArea; +} + ///////////////////////////////////////////////////////////////////////////// // // Methods for visualisation diff --git a/source/geometry/solids/CSG/src/G4Torus.cc b/source/geometry/solids/CSG/src/G4Torus.cc index 8ea041e657..f1697cacb4 100644 --- a/source/geometry/solids/CSG/src/G4Torus.cc +++ b/source/geometry/solids/CSG/src/G4Torus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Torus.cc,v 1.63 2007/10/02 09:34:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Torus.cc,v 1.65 2009/11/26 10:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4Torus @@ -283,9 +283,18 @@ G4double G4Torus::SolveNumericJT( const G4ThreeVector& p, ptmp = p + t*v ; // calculate the position of the proposed intersection G4double theta = std::atan2(ptmp.y(),ptmp.x()); - - if (theta < 0) { theta += twopi; } + if ( fSPhi >= 0 ) + { + if ( theta < - kAngTolerance*0.5 ) { theta += twopi; } + if ( (std::abs(theta) < kAngTolerance*0.5) + && (std::abs(fSPhi + fDPhi - twopi) < kAngTolerance*0.5) ) + { + theta += twopi ; // 0 <= theta < 2pi + } + } + if ((fSPhi <= -pi )&&(theta>kAngTolerance*0.5)) { theta = theta-twopi; } + // We have to verify if this root is inside the region between // fSPhi and fSPhi + fDPhi // diff --git a/source/geometry/solids/CSG/src/G4Tubs.cc b/source/geometry/solids/CSG/src/G4Tubs.cc index 225f779dd6..2799b9b7e4 100644 --- a/source/geometry/solids/CSG/src/G4Tubs.cc +++ b/source/geometry/solids/CSG/src/G4Tubs.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Tubs.cc,v 1.74 2008/11/06 15:26:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Tubs.cc,v 1.79 2009/06/30 10:10:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4Tubs @@ -89,7 +89,7 @@ G4Tubs::G4Tubs( const G4String &pName, G4double pRMin, G4double pRMax, G4double pDz, G4double pSPhi, G4double pDPhi ) - : G4CSGSolid(pName) + : G4CSGSolid(pName), fSPhi(0), fDPhi(0) { kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); @@ -101,9 +101,9 @@ G4Tubs::G4Tubs( const G4String &pName, } else { - G4cerr << "ERROR - G4Tubs()::G4Tubs(): " << GetName() << G4endl - << " Negative Z half-length ! - " - << pDz << G4endl; + G4cerr << "ERROR - G4Tubs()::G4Tubs()" << G4endl + << " Negative Z half-length (" << pDz << ") in solid: " + << GetName() << G4endl; G4Exception("G4Tubs::G4Tubs()", "InvalidSetup", FatalException, "Invalid Z half-length"); } @@ -114,51 +114,17 @@ G4Tubs::G4Tubs( const G4String &pName, } else { - G4cerr << "ERROR - G4Tubs()::G4Tubs(): " << GetName() << G4endl - << " Invalid values for radii !" << G4endl + G4cerr << "ERROR - G4Tubs()::G4Tubs()" << G4endl + << " Invalid values for radii in solid " << GetName() + << G4endl << " pRMin = " << pRMin << ", pRMax = " << pRMax << G4endl; G4Exception("G4Tubs::G4Tubs()", "InvalidSetup", FatalException, "Invalid radii."); } - fPhiFullTube = true; - if ( pDPhi >= twopi-kAngTolerance*0.5 ) // Check angles - { - fDPhi=twopi; - fSPhi=0; - } - else - { - fPhiFullTube = false; - if ( pDPhi > 0 ) - { - fDPhi = pDPhi; - } - else - { - G4cerr << "ERROR - G4Tubs()::G4Tubs(): " << GetName() << G4endl - << " Negative delta-Phi ! - " - << pDPhi << G4endl; - G4Exception("G4Tubs::G4Tubs()", "InvalidSetup", - FatalException, "Invalid dphi."); - } + // Check angles - // Ensure fSphi in 0-2PI or -2PI-0 range if shape crosses 0 - - if ( pSPhi < 0 ) - { - fSPhi = twopi - std::fmod(std::fabs(pSPhi),twopi); - } - else - { - fSPhi = std::fmod(pSPhi,twopi) ; - } - if ( fSPhi+fDPhi > twopi ) - { - fSPhi -= twopi ; - } - } - InitializeTrigonometry(); + CheckPhiAngles(pSPhi, pDPhi); } /////////////////////////////////////////////////////////////////////// @@ -202,23 +168,23 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, G4double& pMax ) const { - if ( !pTransform.IsRotated() && fDPhi == twopi && fRMin == 0 ) + if ( (!pTransform.IsRotated()) && (fDPhi == twopi) && (fRMin == 0) ) { // Special case handling for unrotated solid tubes // Compute x/y/z mins and maxs fro bounding box respecting limits, // with early returns if outside limits. Then switch() on pAxis, // and compute exact x and y limit for x/y case - G4double xoffset, xMin, xMax ; - G4double yoffset, yMin, yMax ; - G4double zoffset, zMin, zMax ; + G4double xoffset, xMin, xMax; + G4double yoffset, yMin, yMax; + G4double zoffset, zMin, zMax; - G4double diff1, diff2, maxDiff, newMin, newMax ; - G4double xoff1, xoff2, yoff1, yoff2, delta ; + G4double diff1, diff2, maxDiff, newMin, newMax; + G4double xoff1, xoff2, yoff1, yoff2, delta; - xoffset = pTransform.NetTranslation().x() ; - xMin = xoffset - fRMax ; - xMax = xoffset + fRMax ; + xoffset = pTransform.NetTranslation().x(); + xMin = xoffset - fRMax; + xMax = xoffset + fRMax; if (pVoxelLimit.IsXLimited()) { @@ -229,57 +195,57 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, } else { - if ( xMin < pVoxelLimit.GetMinXExtent() ) + if (xMin < pVoxelLimit.GetMinXExtent()) { - xMin = pVoxelLimit.GetMinXExtent() ; + xMin = pVoxelLimit.GetMinXExtent(); } - if (xMax > pVoxelLimit.GetMaxXExtent() ) + if (xMax > pVoxelLimit.GetMaxXExtent()) { - xMax = pVoxelLimit.GetMaxXExtent() ; + xMax = pVoxelLimit.GetMaxXExtent(); } } } - yoffset = pTransform.NetTranslation().y() ; - yMin = yoffset - fRMax ; - yMax = yoffset + fRMax ; + yoffset = pTransform.NetTranslation().y(); + yMin = yoffset - fRMax; + yMax = yoffset + fRMax; if ( pVoxelLimit.IsYLimited() ) { if ( (yMin > pVoxelLimit.GetMaxYExtent()) || (yMax < pVoxelLimit.GetMinYExtent()) ) { - return false ; + return false; } else { - if ( yMin < pVoxelLimit.GetMinYExtent() ) + if (yMin < pVoxelLimit.GetMinYExtent()) { - yMin = pVoxelLimit.GetMinYExtent() ; + yMin = pVoxelLimit.GetMinYExtent(); } - if ( yMax > pVoxelLimit.GetMaxYExtent() ) + if (yMax > pVoxelLimit.GetMaxYExtent()) { yMax=pVoxelLimit.GetMaxYExtent(); } } } - zoffset = pTransform.NetTranslation().z() ; - zMin = zoffset - fDz ; - zMax = zoffset + fDz ; + zoffset = pTransform.NetTranslation().z(); + zMin = zoffset - fDz; + zMax = zoffset + fDz; if ( pVoxelLimit.IsZLimited() ) { if ( (zMin > pVoxelLimit.GetMaxZExtent()) || (zMax < pVoxelLimit.GetMinZExtent()) ) { - return false ; + return false; } else { - if ( zMin < pVoxelLimit.GetMinZExtent() ) + if (zMin < pVoxelLimit.GetMinZExtent()) { - zMin = pVoxelLimit.GetMinZExtent() ; + zMin = pVoxelLimit.GetMinZExtent(); } - if ( zMax > pVoxelLimit.GetMaxZExtent() ) + if (zMax > pVoxelLimit.GetMaxZExtent()) { zMax = pVoxelLimit.GetMaxZExtent(); } @@ -289,13 +255,13 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, { case kXAxis : { - yoff1 = yoffset - yMin ; - yoff2 = yMax - yoffset ; + yoff1 = yoffset - yMin; + yoff2 = yMax - yoffset; if ( (yoff1 >= 0) && (yoff2 >= 0) ) // Y limits cross max/min x { // => no change - pMin = xMin ; - pMax = xMax ; + pMin = xMin; + pMax = xMax; } else { @@ -316,13 +282,13 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, } case kYAxis : { - xoff1 = xoffset - xMin ; - xoff2 = xMax - xoffset ; + xoff1 = xoffset - xMin; + xoff2 = xMax - xoffset; if ( (xoff1 >= 0) && (xoff2 >= 0) ) // X limits cross max/min y { // => no change - pMin = yMin ; - pMax = yMax ; + pMin = yMin; + pMax = yMax; } else { @@ -333,52 +299,52 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, diff1 = (delta>0.) ? std::sqrt(delta) : 0.; delta = fRMax*fRMax - xoff2*xoff2; diff2 = (delta>0.) ? std::sqrt(delta) : 0.; - maxDiff = (diff1 > diff2) ? diff1 : diff2 ; - newMin = yoffset - maxDiff ; - newMax = yoffset + maxDiff ; - pMin = (newMin < yMin) ? yMin : newMin ; - pMax =(newMax > yMax) ? yMax : newMax ; + maxDiff = (diff1 > diff2) ? diff1 : diff2; + newMin = yoffset - maxDiff; + newMax = yoffset + maxDiff; + pMin = (newMin < yMin) ? yMin : newMin; + pMax = (newMax > yMax) ? yMax : newMax; } - break ; + break; } case kZAxis: { - pMin = zMin ; - pMax = zMax ; - break ; + pMin = zMin; + pMax = zMax; + break; } default: break; } - pMin -= kCarTolerance ; - pMax += kCarTolerance ; - return true; + pMin -= kCarTolerance; + pMax += kCarTolerance; + return true; } else // Calculate rotated vertex coordinates { - G4int i, noEntries, noBetweenSections4 ; - G4bool existsAfterClip = false ; - G4ThreeVectorList* vertices = CreateRotatedVertices(pTransform) ; - - pMin = +kInfinity ; - pMax = -kInfinity ; + G4int i, noEntries, noBetweenSections4; + G4bool existsAfterClip = false; + G4ThreeVectorList* vertices = CreateRotatedVertices(pTransform); - noEntries = vertices->size() ; - noBetweenSections4 = noEntries - 4 ; + pMin = kInfinity; + pMax = -kInfinity; + + noEntries = vertices->size(); + noBetweenSections4 = noEntries - 4; - for (i = 0 ; i < noEntries ; i += 4 ) + for ( i = 0 ; i < noEntries ; i += 4 ) { - ClipCrossSection(vertices, i, pVoxelLimit, pAxis, pMin, pMax) ; + ClipCrossSection(vertices, i, pVoxelLimit, pAxis, pMin, pMax); } - for (i = 0 ; i < noBetweenSections4 ; i += 4 ) + for ( i = 0 ; i < noBetweenSections4 ; i += 4 ) { - ClipBetweenSections(vertices, i, pVoxelLimit, pAxis, pMin, pMax) ; + ClipBetweenSections(vertices, i, pVoxelLimit, pAxis, pMin, pMax); } - if ((pMin != kInfinity) || (pMax != -kInfinity) ) + if ( (pMin != kInfinity) || (pMax != -kInfinity) ) { - existsAfterClip = true ; - pMin -= kCarTolerance ; // Add 2*tolerance to avoid precision troubles - pMax += kCarTolerance ; + existsAfterClip = true; + pMin -= kCarTolerance; // Add 2*tolerance to avoid precision troubles + pMax += kCarTolerance; } else { @@ -390,13 +356,13 @@ G4bool G4Tubs::CalculateExtent( const EAxis pAxis, G4ThreeVector clipCentre( (pVoxelLimit.GetMinXExtent()+pVoxelLimit.GetMaxXExtent())*0.5, (pVoxelLimit.GetMinYExtent()+pVoxelLimit.GetMaxYExtent())*0.5, - (pVoxelLimit.GetMinZExtent()+pVoxelLimit.GetMaxZExtent())*0.5 ) ; + (pVoxelLimit.GetMinZExtent()+pVoxelLimit.GetMaxZExtent())*0.5 ); if ( Inside(pTransform.Inverse().TransformPoint(clipCentre)) != kOutside ) { - existsAfterClip = true ; - pMin = pVoxelLimit.GetMinExtent(pAxis) ; - pMax = pVoxelLimit.GetMaxExtent(pAxis) ; + existsAfterClip = true; + pMin = pVoxelLimit.GetMinExtent(pAxis); + pMax = pVoxelLimit.GetMaxExtent(pAxis); } } delete vertices; @@ -807,6 +773,7 @@ G4double G4Tubs::DistanceToIn( const G4ThreeVector& p, G4double snxt = kInfinity ; // snxt = default return value G4double tolORMin2, tolIRMax2 ; // 'generous' radii squared G4double tolORMax2, tolIRMin2, tolODz, tolIDz ; + const G4double dRmax = 100.*fRMax; static const G4double halfCarTolerance = 0.5*kCarTolerance; static const G4double halfRadTolerance = 0.5*kRadTolerance; @@ -907,6 +874,11 @@ G4double G4Tubs::DistanceToIn( const G4ThreeVector& p, s = -b - std::sqrt(d) ; if (s >= 0) // If 'forwards' { + if ( s>dRmax ) // Avoid rounding errors due to precision issues on + { // 64 bits systems. Split long distances and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } // Check z intersection // zi = p.z() + s*v.z() ; @@ -1021,6 +993,11 @@ G4double G4Tubs::DistanceToIn( const G4ThreeVector& p, // Check z intersection // if(s < 0.0) { s = 0.0; } + if ( s>dRmax ) // Avoid rounding errors due to precision issues seen + { // 64 bits systems. Split long distances and recompute + G4double fTerm = s-std::fmod(s,dRmax); + s = fTerm + DistanceToIn(p+fTerm*v,v); + } zi = p.z() + s*v.z() ; if (std::fabs(zi) <= tolODz) { diff --git a/source/geometry/solids/specific/History b/source/geometry/solids/specific/History index fbd2c67735..2a16025301 100644 --- a/source/geometry/solids/specific/History +++ b/source/geometry/solids/specific/History @@ -1,4 +1,4 @@ -$Id: History,v 1.150 2008/11/21 09:26:53 gcosmo Exp $ +$Id: History,v 1.160 2009/11/11 12:25:46 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,56 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11-Nov-2009 G.Cosmo (geom-specific-V09-02-08) +- Avoid fake (and redundant) assignment of value to 3-vector in + G4PolyconeSide and G4TwistTubsSide. + +24-Sep-2009 T.Nikitina (geom-specific-V09-02-07) +- G4Ellipsoid: refined fix in DistanceToIn(p,v) for points located on the + curved surface, and correct treatment of geometrical tolerance. + +09-Sep-2009 G.Cosmo (geom-specific-V09-02-06) +- G4Ellipsoid: fixed usage of half-tolerances (radial and Cartesian) in + DistanceToIn(p,v), based on incorrect assumptions introduced in tag + "geom-specific-V09-02-04", responsible for zero steps on configurations + with cut in Z. Addresses problem report #1076. + +04-Aug-2009 T.Nikitina (geom-specific-V09-02-05) +- G4Ellipsoid: + o Fixes in Inside(p) and in DistanceToIn(p,v) for points + located on the curved surface within tolerance. Final fix for issue + reported in problem report #1050 and concerning warnings reported by + grid_test. + o Adopt pre-computed half-tolerance values for optimisation. + +23-Jul-2009 T.Nikitina (geom-specific-V09-02-04) +- G4Ellipsoid: fix to DistanceToIn(p,v) in the calculation of the roots of + the quadratic equation and in DistanceToOut(p,v) in the calculation of the + normal on cut surfaces. Final fix for problem report #1022 and #1050. +- G4PolyconeSide: added protection in method Normal(), addressing problem + report #1073. + +30-Jun-2009 T.Nikitina (geom-specific-V09-02-03) +- G4Ellipsoid: introduced to DistanceToIn(p,v) splitting of the distance for + point very far from intersection area and big difference between solid + dimensions and distance to it; resolves issue observed on 64 bits problem. + Also addressing problem report #1022. + +08-May-2009, G.Cosmo (geom-specific-V09-02-02) +- Corrected typo in base implementation of G4VCSGfaceted::GetSurfaceArea(), + which was erroneously returning cubic volume estimation. + Addresses problem report #1062. + +27-Apr-2009, G.Cosmo (geom-specific-V09-02-01) +- Relaxed error condition in G4TessellatedSolid::Inside(p) to warning, for + excess of max trials and anomalous conditions in distance calculation. + Added more printout information when error condition is detected. + +27-Feb-2009, T.Nikitina (geom-specific-V09-02-00) +- Fix in G4Paraboloid::DistanceToOut(p,v,..) for the computation of normal + to surface; added missing normalisation to unit, following remark in the + Geometry Forum Hypernews posting #953. + 21-Nov-2008, G.Cosmo (geom-specific-V09-01-19) - Added missing accessors to G4EllipticalCone, required for detector persistency. diff --git a/source/geometry/solids/specific/src/G4Ellipsoid.cc b/source/geometry/solids/specific/src/G4Ellipsoid.cc index 8b052633bb..3c9330b988 100644 --- a/source/geometry/solids/specific/src/G4Ellipsoid.cc +++ b/source/geometry/solids/specific/src/G4Ellipsoid.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4Ellipsoid.cc,v 1.14 2007/05/18 07:39:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Ellipsoid.cc,v 1.24 2009/09/24 15:51:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4Ellipsoid // @@ -384,38 +384,38 @@ EInside G4Ellipsoid::Inside(const G4ThreeVector& p) const rad2oi; // outside surface inner tolerance EInside in; + static const G4double halfRadTolerance=kRadTolerance*0.5; + // check this side of z cut first, because that's fast // - if (p.z() < zBottomCut-kRadTolerance/2.0) - { return in=kOutside; } - if (p.z() > zTopCut+kRadTolerance/2.0) - { return in=kOutside; } + if (p.z() < zBottomCut-halfRadTolerance) { return in=kOutside; } + if (p.z() > zTopCut+halfRadTolerance) { return in=kOutside; } - rad2oo= sqr(p.x()/(xSemiAxis+kRadTolerance/2.)) - + sqr(p.y()/(ySemiAxis+kRadTolerance/2.)) - + sqr(p.z()/(zSemiAxis+kRadTolerance/2.)); + rad2oo= sqr(p.x()/(xSemiAxis+halfRadTolerance)) + + sqr(p.y()/(ySemiAxis+halfRadTolerance)) + + sqr(p.z()/(zSemiAxis+halfRadTolerance)); - if (rad2oo > 1.0) - { return in=kOutside; } + if (rad2oo > 1.0) { return in=kOutside; } - rad2oi= sqr(p.x()*(1.0+kRadTolerance/2./xSemiAxis)/xSemiAxis) - + sqr(p.y()*(1.0+kRadTolerance/2./ySemiAxis)/ySemiAxis) - + sqr(p.z()*(1.0+kRadTolerance/2./zSemiAxis)/zSemiAxis); + rad2oi= sqr(p.x()*(1.0+halfRadTolerance/xSemiAxis)/xSemiAxis) + + sqr(p.y()*(1.0+halfRadTolerance/ySemiAxis)/ySemiAxis) + + sqr(p.z()*(1.0+halfRadTolerance/zSemiAxis)/zSemiAxis); // Check radial surfaces // sets `in' (already checked for rad2oo > 1.0) // if (rad2oi < 1.0) { - in = ( (p.z() < zBottomCut+kRadTolerance/2.0) - || (p.z() > zTopCut-kRadTolerance/2.0) ) ? kSurface : kInside; + in = ( (p.z() < zBottomCut+halfRadTolerance) + || (p.z() > zTopCut-halfRadTolerance) ) ? kSurface : kInside; + if ( rad2oi > 1.0-halfRadTolerance ) { in=kSurface; } } else { in = kSurface; } - return in; + } /////////////////////////////////////////////////////////////////////////////// @@ -459,30 +459,36 @@ G4ThreeVector G4Ellipsoid::SurfaceNormal( const G4ThreeVector& p) const G4double G4Ellipsoid::DistanceToIn( const G4ThreeVector& p, const G4ThreeVector& v ) const { - G4double distMin; - + static const G4double halfCarTolerance=kCarTolerance*0.5; + static const G4double halfRadTolerance=kRadTolerance*0.5; + + G4double distMin = std::min(xSemiAxis,ySemiAxis); + const G4double dRmax = 100.*std::min(distMin,zSemiAxis); distMin= kInfinity; // check to see if Z plane is relevant - if (p.z() < zBottomCut) { - if (v.z() <= 0.0) - return distMin; + if (p.z() <= zBottomCut+halfCarTolerance) + { + if (v.z() <= 0.0) { return distMin; } G4double distZ = (zBottomCut - p.z()) / v.z(); - if (distZ > kRadTolerance/2.0 && Inside(p+distZ*v) != kOutside ) - { - // early exit since can't intercept curved surface if we reach here - return distMin= distZ; - } + + if ( (distZ > -halfRadTolerance) && (Inside(p+distZ*v) != kOutside) ) + { + // early exit since can't intercept curved surface if we reach here + if ( std::abs(distZ) < halfRadTolerance ) { distZ=0.; } + return distMin= distZ; + } } - if (p.z() > zTopCut) { - if (v.z() >= 0.0) - return distMin; + if (p.z() >= zTopCut-halfCarTolerance) + { + if (v.z() >= 0.0) { return distMin;} G4double distZ = (zTopCut - p.z()) / v.z(); - if (distZ > kRadTolerance/2.0 && Inside(p+distZ*v) != kOutside ) - { - // early exit since can't intercept curved surface if we reach here - return distMin= distZ; - } + if ( (distZ > -halfRadTolerance) && (Inside(p+distZ*v) != kOutside) ) + { + // early exit since can't intercept curved surface if we reach here + if ( std::abs(distZ) < halfRadTolerance ) { distZ=0.; } + return distMin= distZ; + } } // if fZCut1 <= p.z() <= fZCut2, then must hit curved surface @@ -491,33 +497,53 @@ G4double G4Ellipsoid::DistanceToIn( const G4ThreeVector& p, A= sqr(v.x()/xSemiAxis) + sqr(v.y()/ySemiAxis) + sqr(v.z()/zSemiAxis); C= sqr(p.x()/xSemiAxis) + sqr(p.y()/ySemiAxis) + sqr(p.z()/zSemiAxis) - 1.0; - B= 2.0 * ( p.x()*v.x()/(xSemiAxis*xSemiAxis) + p.y()*v.y()/(ySemiAxis*ySemiAxis) - + p.z()*v.z()/(zSemiAxis*zSemiAxis) ); + B= 2.0 * ( p.x()*v.x()/(xSemiAxis*xSemiAxis) + + p.y()*v.y()/(ySemiAxis*ySemiAxis) + + p.z()*v.z()/(zSemiAxis*zSemiAxis) ); C= B*B - 4.0*A*C; if (C > 0.0) - { - G4double distR= (-B - std::sqrt(C) ) / (2.0*A); - G4double intZ= p.z()+distR*v.z(); - if (distR > kRadTolerance/2.0 - && intZ >= zBottomCut-kRadTolerance/2.0 - && intZ <= zTopCut+kRadTolerance/2.0) - { - distMin = distR; - } - else - { - distR= (-B + std::sqrt(C) ) / (2.0*A); - intZ= p.z()+distR*v.z(); - if (distR > kRadTolerance/2.0 - && intZ >= zBottomCut-kRadTolerance/2.0 - && intZ <= zTopCut+kRadTolerance/2.0) - { - distMin = distR; - } - } + { + G4double distR= (-B - std::sqrt(C)) / (2.0*A); + G4double intZ = p.z()+distR*v.z(); + if ( (distR > halfRadTolerance) + && (intZ >= zBottomCut-halfRadTolerance) + && (intZ <= zTopCut+halfRadTolerance) ) + { + distMin = distR; } - + else if( (distR >- halfRadTolerance) + && (intZ >= zBottomCut-halfRadTolerance) + && (intZ <= zTopCut+halfRadTolerance) ) + { + // p is on the curved surface, DistanceToIn returns 0 or kInfinity: + // DistanceToIn returns 0, if second root is positive (means going inside) + // If second root is negative, DistanceToIn returns kInfinity (outside) + // + distR = (-B + std::sqrt(C) ) / (2.0*A); + if(distR>0.) { distMin=0.; } + } + else + { + distR= (-B + std::sqrt(C)) / (2.0*A); + intZ = p.z()+distR*v.z(); + if ( (distR > halfRadTolerance) + && (intZ >= zBottomCut-halfRadTolerance) + && (intZ <= zTopCut+halfRadTolerance) ) + { + G4ThreeVector norm=SurfaceNormal(p); + if (norm.dot(v)<0.) { distMin = distR; } + } + } + if ( (distMin!=kInfinity) && (distMin>dRmax) ) + { // Avoid rounding errors due to precision issues on + // 64 bits systems. Split long distances and recompute + G4double fTerm = distMin-std::fmod(distMin,dRmax); + distMin = fTerm + DistanceToIn(p+fTerm*v,v); + } + } + + if (std::abs(distMin) 1.0 ? 1. : -1.)); + *n= G4ThreeVector(0.,0.,(v.z() > 0.0 ? 1. : -1.)); break; case kCurvedSurf: { @@ -682,6 +708,7 @@ G4double G4Ellipsoid::DistanceToOut(const G4ThreeVector& p, } } } + return distMin; } @@ -904,11 +931,11 @@ G4ThreeVector G4Ellipsoid::GetPointOnSurface() const max1 = xSemiAxis > ySemiAxis ? xSemiAxis : ySemiAxis; max1 = max1 > zSemiAxis ? max1 : zSemiAxis; - if(max1 == xSemiAxis){max2 = ySemiAxis; max3 = zSemiAxis;} - else if(max1 == ySemiAxis){max2 = xSemiAxis; max3 = zSemiAxis;} - else {max2 = xSemiAxis; max3 = ySemiAxis; } + if (max1 == xSemiAxis) { max2 = ySemiAxis; max3 = zSemiAxis; } + else if (max1 == ySemiAxis) { max2 = xSemiAxis; max3 = zSemiAxis; } + else { max2 = xSemiAxis; max3 = ySemiAxis; } - phi = RandFlat::shoot(0.,2.*pi); + phi = RandFlat::shoot(0.,twopi); theta = RandFlat::shoot(0.,pi); cosphi = std::cos(phi); sinphi = std::sin(phi); diff --git a/source/geometry/solids/specific/src/G4Paraboloid.cc b/source/geometry/solids/specific/src/G4Paraboloid.cc index 52ebcee00e..a898df60d6 100644 --- a/source/geometry/solids/specific/src/G4Paraboloid.cc +++ b/source/geometry/solids/specific/src/G4Paraboloid.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4Paraboloid.cc,v 1.8 2008/07/17 07:33:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Paraboloid.cc,v 1.9 2009/02/27 15:10:46 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4Paraboloid // @@ -865,6 +865,7 @@ G4double G4Paraboloid::DistanceToOut(const G4ThreeVector& p, *validNorm = true; *n = G4ThreeVector(p.x() + intersection * v.x(), p.y() + intersection * v.y(), - k1 / 2); + *n = n->unit(); } return intersection; } diff --git a/source/geometry/solids/specific/src/G4PolyconeSide.cc b/source/geometry/solids/specific/src/G4PolyconeSide.cc index 9ab1ae727b..b8fac9725f 100644 --- a/source/geometry/solids/specific/src/G4PolyconeSide.cc +++ b/source/geometry/solids/specific/src/G4PolyconeSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyconeSide.cc,v 1.19 2008/05/15 11:41:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PolyconeSide.cc,v 1.22 2009/11/11 12:23:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -461,15 +461,15 @@ G4ThreeVector G4PolyconeSide::Normal( const G4ThreeVector &p, { if (p == G4ThreeVector(0.,0.,0.)) { return p; } - G4ThreeVector dFrom; - G4double dOut2; + G4double dFrom, dOut2; dFrom = DistanceAway( p, false, dOut2 ); *bestDistance = std::sqrt( dFrom*dFrom + dOut2 ); G4double rad = p.perp(); - return G4ThreeVector( rNorm*p.x()/rad, rNorm*p.y()/rad, zNorm ); + if (rad!=0.) { return G4ThreeVector(rNorm*p.x()/rad,rNorm*p.y()/rad,zNorm); } + return G4ThreeVector( 0.,0., zNorm ).unit(); } diff --git a/source/geometry/solids/specific/src/G4TessellatedSolid.cc b/source/geometry/solids/specific/src/G4TessellatedSolid.cc index fb38a62ee8..80e0c4e325 100644 --- a/source/geometry/solids/specific/src/G4TessellatedSolid.cc +++ b/source/geometry/solids/specific/src/G4TessellatedSolid.cc @@ -24,8 +24,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TessellatedSolid.cc,v 1.18 2008/03/13 11:58:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TessellatedSolid.cc,v 1.19 2009/04/27 08:06:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -519,6 +519,7 @@ EInside G4TessellatedSolid::Inside (const G4ThreeVector &p) const } while (!nearParallel && ++f!=facets.end()); } while (nearParallel && m!=maxTries); +#ifdef G4VERBOSE if (m == maxTries) { // @@ -527,10 +528,20 @@ EInside G4TessellatedSolid::Inside (const G4ThreeVector &p) const // low (nTries <= 0.5*maxTries) then this would indicate that there is // something wrong with geometry. // + G4cout.precision(16) ; + G4cout << G4endl ; + G4cout << "Solid name = " << GetName() << G4endl; + G4cout << "Geometry Type = " << geometryType << G4endl; + G4cout << "Number of facets = " << facets.size() << G4endl; + G4cout << "Position:" << G4endl << G4endl ; + G4cout << "p.x() = " << p.x()/mm << " mm" << G4endl ; + G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; + G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; G4Exception("G4TessellatedSolid::Inside()", - "UnknownInsideOutside", FatalException, + "UnknownInsideOutside-MaxTries", JustWarning, "Cannot determine whether point is inside or outside volume!"); } +#endif // // // In the next if-then-elseif string the logic is as follows: @@ -549,7 +560,8 @@ EInside G4TessellatedSolid::Inside (const G4ThreeVector &p) const else if (distOut <= distIn - kCarTolerance*0.5) locationprime = kInside; - if (i == 0) location = locationprime; + if (i == 0) { location = locationprime; } +#ifdef G4VERBOSE else if (locationprime != location) { // @@ -557,10 +569,20 @@ EInside G4TessellatedSolid::Inside (const G4ThreeVector &p) const // Different ray directions result in different answer. Seems like the // geometry is not constructed correctly. // + G4cout.precision(16) ; + G4cout << G4endl ; + G4cout << "Solid name = " << GetName() << G4endl; + G4cout << "Geometry Type = " << geometryType << G4endl; + G4cout << "Number of facets = " << facets.size() << G4endl; + G4cout << "Position:" << G4endl << G4endl ; + G4cout << "p.x() = " << p.x()/mm << " mm" << G4endl ; + G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; + G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; G4Exception("G4TessellatedSolid::Inside()", - "UnknownInsideOutside", FatalException, + "UnknownInsideOutside", JustWarning, "Cannot determine whether point is inside or outside volume!"); } +#endif } return location; diff --git a/source/geometry/solids/specific/src/G4TwistTubsSide.cc b/source/geometry/solids/specific/src/G4TwistTubsSide.cc index c49af74928..0955763db3 100644 --- a/source/geometry/solids/specific/src/G4TwistTubsSide.cc +++ b/source/geometry/solids/specific/src/G4TwistTubsSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistTubsSide.cc,v 1.5 2006/06/29 18:49:18 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TwistTubsSide.cc,v 1.6 2009/11/11 12:23:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -410,7 +410,6 @@ G4int G4TwistTubsSide::DistanceToSurface(const G4ThreeVector &gp, G4int maxcount = 10; G4int l; G4double lastdeltaY = deltaY; - G4ThreeVector last = deltaY; for (l=0; l #include "geomdefs.hh" +//#include "G4Allocator.hh" #include "G4AffineTransform.hh" #include "G4VPhysicalVolume.hh" #include "G4NavigationLevel.hh" @@ -140,7 +141,8 @@ class G4NavigationHistory private: - std::vector fNavHistory; + std::vector fNavHistory; + //std::vector > fNavHistory; G4int fStackDepth; // Depth of stack: effectively depth in geometrical tree diff --git a/source/geometry/volumes/include/G4NavigationHistory.icc b/source/geometry/volumes/include/G4NavigationHistory.icc index 578ed11ae7..7e5764c618 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.icc +++ b/source/geometry/volumes/include/G4NavigationHistory.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationHistory.icc,v 1.12 2006/06/29 18:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NavigationHistory.icc,v 1.14 2009/08/04 08:27:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4NavigationHistory Inline implementation @@ -36,7 +36,7 @@ inline G4NavigationHistory& G4NavigationHistory::operator=(const G4NavigationHistory &h) { - if (&h == this) return *this; + if (&h == this) { return *this; } // fNavHistory=h.fNavHistory; // This works, but is very slow. diff --git a/source/geometry/volumes/include/G4NavigationLevel.hh b/source/geometry/volumes/include/G4NavigationLevel.hh index fa906e4637..8e2f7aa594 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.hh +++ b/source/geometry/volumes/include/G4NavigationLevel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationLevel.hh,v 1.16 2006/06/29 18:57:22 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NavigationLevel.hh,v 1.18 2009/08/04 08:27:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // class G4NavigationLevel // diff --git a/source/geometry/volumes/include/G4NavigationLevel.icc b/source/geometry/volumes/include/G4NavigationLevel.icc index 5490064636..3ed6892358 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.icc +++ b/source/geometry/volumes/include/G4NavigationLevel.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationLevel.icc,v 1.20 2006/06/29 18:57:25 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NavigationLevel.icc,v 1.22 2009/08/04 08:27:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // 30.09.97 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/include/G4TouchableHistory.hh b/source/geometry/volumes/include/G4TouchableHistory.hh index 561851c4c4..12f8cd5b62 100644 --- a/source/geometry/volumes/include/G4TouchableHistory.hh +++ b/source/geometry/volumes/include/G4TouchableHistory.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TouchableHistory.hh,v 1.8 2006/06/29 18:57:42 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TouchableHistory.hh,v 1.11 2009/11/06 11:10:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4TouchableHistory @@ -33,7 +33,7 @@ // Class description: // // Object representing a touchable detector element, and its history in the -// geomtrical hierarchy, including its net resultant local->global transform. +// geometrical hierarchy, including its net resultant local->global transform. // History: // - Created. Paul Kent, August 1996 @@ -44,6 +44,7 @@ #include "G4VTouchable.hh" #include "G4NavigationHistory.hh" +#include "G4Allocator.hh" #include "G4LogicalVolume.hh" #include "G4ThreeVector.hh" #include "G4RotationMatrix.hh" @@ -59,7 +60,7 @@ class G4TouchableHistory : public G4VTouchable // 'zero-depth', ie an "unphysical" and not very unusable one. // It is for initialisation only. - virtual ~G4TouchableHistory(); + ~G4TouchableHistory(); inline G4VPhysicalVolume* GetVolume( G4int depth=0 ) const; inline G4VSolid* GetSolid( G4int depth=0 ) const; @@ -71,8 +72,8 @@ class G4TouchableHistory : public G4VTouchable G4int MoveUpHistory( G4int num_levels = 1 ); // Access methods for touchables with history - virtual void UpdateYourself( G4VPhysicalVolume* pPhysVol, - const G4NavigationHistory* history=0 ); + void UpdateYourself( G4VPhysicalVolume* pPhysVol, + const G4NavigationHistory* history=0 ); // Update methods for touchables with history public: // without description @@ -81,6 +82,10 @@ class G4TouchableHistory : public G4VTouchable // Should this method be "deprecated" ? // it is used now in G4Navigator::LocateGlobalPointAndSetup + inline void *operator new(size_t); + inline void operator delete(void *aTH); + // Override "new" and "delete" to use "G4Allocator". + private: inline G4int CalculateHistoryIndex( G4int stackDepth ) const; diff --git a/source/geometry/volumes/include/G4TouchableHistory.icc b/source/geometry/volumes/include/G4TouchableHistory.icc index 5b3d6d90ad..94d6794390 100644 --- a/source/geometry/volumes/include/G4TouchableHistory.icc +++ b/source/geometry/volumes/include/G4TouchableHistory.icc @@ -24,31 +24,18 @@ // ******************************************************************** // // -// $Id: G4TouchableHistory.icc,v 1.10 2006/12/07 14:26:28 japost Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TouchableHistory.icc,v 1.13 2009/11/06 11:10:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4TouchableHistory inline implementation // ---------------------------------------------------------------------- -inline -G4TouchableHistory::G4TouchableHistory() - : frot(G4RotationMatrix()), - ftlate(G4ThreeVector(0.,0.,0.)), - fhistory() -{ - G4VPhysicalVolume* pPhysVol=0; - fhistory.SetFirstEntry(pPhysVol); -} - -inline -G4TouchableHistory::G4TouchableHistory( const G4NavigationHistory &history ) - : fhistory(history) -{ - G4AffineTransform tf(fhistory.GetTopTransform().Inverse()); - ftlate = tf.NetTranslation(); - frot = tf.NetRotation(); -} +#if defined G4GEOM_ALLOC_EXPORT + extern G4DLLEXPORT G4Allocator aTouchableHistoryAllocator; +#else + extern G4DLLIMPORT G4Allocator aTouchableHistoryAllocator; +#endif inline void G4TouchableHistory::UpdateYourself( G4VPhysicalVolume* pPhysVol, @@ -102,8 +89,7 @@ G4int G4TouchableHistory::GetHistoryDepth() const inline G4int G4TouchableHistory::MoveUpHistory( G4int num_levels ) { - G4NavigationHistory* nHistory= &fhistory; - G4int maxLevelsMove = nHistory->GetDepth(); + G4int maxLevelsMove = fhistory.GetDepth(); G4int minLevelsMove = 0; // Cannot redescend today! // Soon it will be possible // by adding a data member here @@ -116,7 +102,7 @@ G4int G4TouchableHistory::MoveUpHistory( G4int num_levels ) { num_levels = minLevelsMove; } - nHistory->BackLevel( num_levels ); + fhistory.BackLevel( num_levels ); return num_levels; } @@ -126,3 +112,19 @@ const G4NavigationHistory* G4TouchableHistory::GetHistory() const { return &fhistory; } + +// There is no provision in case this class is subclassed. +// If it is subclassed, this will fail and may not give errors! +// +inline +void* G4TouchableHistory::operator new(size_t) +{ + return (void *) aTouchableHistoryAllocator.MallocSingle(); +} + +inline +void G4TouchableHistory::operator delete(void *aTH) +{ + aTouchableHistoryAllocator.FreeSingle((G4TouchableHistory *) aTH); +} + diff --git a/source/geometry/volumes/src/G4AssemblyVolume.cc b/source/geometry/volumes/src/G4AssemblyVolume.cc index d7c64ed9b9..fc31058317 100644 --- a/source/geometry/volumes/src/G4AssemblyVolume.cc +++ b/source/geometry/volumes/src/G4AssemblyVolume.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AssemblyVolume.cc,v 1.11 2008/02/03 09:12:50 ivana Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4AssemblyVolume.cc,v 1.12 2009/09/22 13:58:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // Class G4AssemblyVolume - implementation @@ -47,13 +47,26 @@ unsigned int G4AssemblyVolume::fsInstanceCounter = 0; // Default constructor // G4AssemblyVolume::G4AssemblyVolume() -: fAssemblyID( 0 ) + : fAssemblyID( 0 ) { InstanceCountPlus(); SetAssemblyID( GetInstanceCount() ); SetImprintsCount( 0 ); } +// Composing constructor +// +G4AssemblyVolume::G4AssemblyVolume( G4LogicalVolume* volume, + G4ThreeVector& translation, + G4RotationMatrix* rotation ) + : fAssemblyID( 0 ) +{ + InstanceCountPlus(); + SetAssemblyID( GetInstanceCount() ); + SetImprintsCount( 0 ); + AddPlacedVolume(volume, translation, rotation); +} + // Destructor // G4AssemblyVolume::~G4AssemblyVolume() diff --git a/source/geometry/volumes/src/G4NavigationHistory.cc b/source/geometry/volumes/src/G4NavigationHistory.cc index 0e62d8b7c4..ef6081138b 100644 --- a/source/geometry/volumes/src/G4NavigationHistory.cc +++ b/source/geometry/volumes/src/G4NavigationHistory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationHistory.cc,v 1.10 2006/06/29 18:58:02 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NavigationHistory.cc,v 1.11 2009/08/03 16:27:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // G4NavigationHistory Implementation @@ -50,7 +50,6 @@ G4NavigationHistory::G4NavigationHistory(const G4NavigationHistory &h) G4NavigationHistory::~G4NavigationHistory() { - Reset(); // To delete all but one current entries! } std::ostream& diff --git a/source/geometry/volumes/src/G4NavigationLevel.cc b/source/geometry/volumes/src/G4NavigationLevel.cc index 6a840ca778..3049382d65 100644 --- a/source/geometry/volumes/src/G4NavigationLevel.cc +++ b/source/geometry/volumes/src/G4NavigationLevel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NavigationLevel.cc,v 1.4 2006/06/29 18:58:04 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4NavigationLevel.cc,v 1.5 2009/08/03 16:13:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // 30.09.97 J.Apostolakis Initial version. // @@ -69,8 +69,7 @@ G4NavigationLevel::G4NavigationLevel(const G4NavigationLevel& right) G4NavigationLevel::~G4NavigationLevel() { - if( fLevelRep->RemoveAReference() ) - delete fLevelRep; + if( fLevelRep->RemoveAReference() ) { delete fLevelRep; } } G4NavigationLevel& G4NavigationLevel::operator=(const G4NavigationLevel &right) @@ -78,8 +77,7 @@ G4NavigationLevel& G4NavigationLevel::operator=(const G4NavigationLevel &right) if ( &right != this ) { right.fLevelRep->AddAReference(); - if( fLevelRep->RemoveAReference() ) - delete fLevelRep; + if( fLevelRep->RemoveAReference() ) { delete fLevelRep; } fLevelRep = right.fLevelRep; } return *this; diff --git a/source/geometry/volumes/src/G4PVParameterised.cc b/source/geometry/volumes/src/G4PVParameterised.cc index cb2e317758..94afc98554 100644 --- a/source/geometry/volumes/src/G4PVParameterised.cc +++ b/source/geometry/volumes/src/G4PVParameterised.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PVParameterised.cc,v 1.10 2007/04/11 07:56:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PVParameterised.cc,v 1.11 2009/09/21 10:27:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4PVParameterised @@ -225,7 +225,7 @@ G4PVParameterised::CheckOverlaps(G4int res, G4double tol, G4bool verbose) { // Transform each point according to daughter's frame // - G4ThreeVector md = Td.Invert().TransformPoint(*pos); + G4ThreeVector md = Td.Inverse().TransformPoint(*pos); if (solidB->Inside(md)==kInside) { diff --git a/source/geometry/volumes/src/G4TouchableHistory.cc b/source/geometry/volumes/src/G4TouchableHistory.cc index 769582ad37..769d2dee61 100644 --- a/source/geometry/volumes/src/G4TouchableHistory.cc +++ b/source/geometry/volumes/src/G4TouchableHistory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TouchableHistory.cc,v 1.12 2006/06/29 18:58:20 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4TouchableHistory.cc,v 1.15 2009/11/06 11:10:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // class G4TouchableHistory Implementation @@ -34,6 +34,25 @@ #include "G4TouchableHistory.hh" +G4Allocator aTouchableHistoryAllocator; + +G4TouchableHistory::G4TouchableHistory() + : frot(G4RotationMatrix()), + ftlate(G4ThreeVector(0.,0.,0.)), + fhistory() +{ + G4VPhysicalVolume* pPhysVol=0; + fhistory.SetFirstEntry(pPhysVol); +} + +G4TouchableHistory::G4TouchableHistory( const G4NavigationHistory &history ) + : fhistory(history) +{ + G4AffineTransform tf(fhistory.GetTopTransform().Inverse()); + ftlate = tf.NetTranslation(); + frot = tf.NetRotation(); +} + G4TouchableHistory::~G4TouchableHistory() { } diff --git a/source/global/History b/source/global/History index 8ea498b5c4..8efee17e08 100644 --- a/source/global/History +++ b/source/global/History @@ -1,4 +1,4 @@ -$Id: History,v 1.216 2008/12/08 14:17:15 gcosmo Exp $ +$Id: History,v 1.234 2009/12/07 09:24:27 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,65 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Dec 7, 2009 V.Ivanchenko (global-V09-02-12) +- G4PhysicsVector: (L.Pandola) fixed initialisation of lastEnergy to -DBL_MAX + allowing to have negative scale of energy + +Nov 24, 2009 G.Cosmo (global-V09-02-11) +- Changed date for release 9.3. + +Nov 17, 2009 V.Ivanchenko (global-V09-02-10) +- G4PhysicsVector: fixed Value() method for the case when energy is + around 'edgeMax'; adding extra protection. + +Nov 04, 2009 V.Ivanchenko (global-V09-02-09) +- G4PhysicsVector: cleaned up initialisation of cached values; + simplified Value() method, now not looking into previous bin; + added method ScaleVector() needed for ICRU'73 data. + +Oct 29, 2009 G.Cosmo (global-V09-02-08) +- Cleared warning for unused argument in G4Allocator internal method. + +Aug 07, 2009 G.Cosmo (global-V09-02-07) +- Some improvements to G4String and G4SubString implementation of operators + and comparison stub functions, to reduce generation of temporaries. +- Removed obsolete static hash(s) method. + +Jul 03, 2009 V.Ivanchenko (global-V09-02-06) +- New class G4Pow, a singleton for fast computation of log() and pow() for + integer and double arguments in the interval [1-256]. +- G4PhysicsVector: + o Added ComputeSecDerivative() and SplinePossible() methods as a + computation of Spline coefficients for small number of bins. + o Removed old obsolete hidden bin approach. + o Use std::vector for second derivatives instead of C arrays. + +May 26, 2009 A.Bagulya (global-V09-02-05) +- G4PhysicsVector: do not change flag "useSpline" during initialisation + to address bug in N02 reported by valgrind + +May 26, 2009 A.Bagulya (global-V09-02-04) +- G4PhysicsVector: set limits of number of bins for spline: 4 for the case + of first derivatives defined; 5 for the case when "Not-a-Knot" algorithm + is used. + +May 15, 2009 P.Arce (global-V09-02-03) +- Added G4ErrorStage enum to G4ErrorPropagatorData class. + +May 13, 2009 A.Bagulya (global-V09-02-02) +- G4PhysicsVector: added method ComputeSecondDerivatives() for the case when + user provides first derivative at endpoits; use "Not-a-Knot" algorithm for + the computation of second derivatives in default method + FillSecondDerivatives(). +- Changed date for release 9.3-beta. + +Mar 16, 2009 G.Cosmo (global-V09-02-01) +- Changed date for release 9.2.p01. + +Jan 27, 2009 G.Cosmo (global-V09-02-00) +- Correction in management/GNUmakefile to CPPFLAGS, adding G4RF_DEBUG in + case enabled. + Dec 08, 2008 G.Cosmo (global-V09-01-18) - Added new constructor G4String(const char*, str_size). diff --git a/source/global/management/GNUmakefile b/source/global/management/GNUmakefile index 3e9d0a03ec..be22fbbb0c 100644 --- a/source/global/management/GNUmakefile +++ b/source/global/management/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.5 2004/06/11 14:18:58 gcosmo Exp $ +# $Id: GNUmakefile,v 1.6 2009/01/27 08:45:28 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for global management. Gabriele Cosmo, 26/9/96. # -------------------------------------------------------------- @@ -12,5 +12,8 @@ endif include $(G4INSTALL)/config/architecture.gmk CPPFLAGS += -DG4IOS_EXPORT +ifdef G4RF_DEBUG + CPPFLAGS += -DG4RF_DEBUG +endif include $(G4INSTALL)/config/common.gmk diff --git a/source/global/management/include/G4Allocator.hh b/source/global/management/include/G4Allocator.hh index 0895553f2f..e1894fec19 100644 --- a/source/global/management/include/G4Allocator.hh +++ b/source/global/management/include/G4Allocator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Allocator.hh,v 1.18 2006/06/29 19:01:16 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4Allocator.hh,v 1.19 2009/10/29 16:01:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // ------------------------------------------------------------ @@ -98,7 +98,7 @@ class G4Allocator const_pointer address(const_reference r) const { return &r; } // Returns the address of values - pointer allocate(size_type n, void* hint = 0) + pointer allocate(size_type n, void* = 0) { // Allocates space for n elements of type Type, but does not initialise // diff --git a/source/global/management/include/G4ErrorPropagatorData.hh b/source/global/management/include/G4ErrorPropagatorData.hh index d3b9a956d9..690b71c1b4 100644 --- a/source/global/management/include/G4ErrorPropagatorData.hh +++ b/source/global/management/include/G4ErrorPropagatorData.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ErrorPropagatorData.hh,v 1.3 2007/06/08 10:33:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ErrorPropagatorData.hh,v 1.5 2009/05/19 13:31:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -37,7 +37,6 @@ // Utility class to provide access to mode, state, target // and manager verbosity for the error propagation classes. -// History: // - Created. P.Arce, 2004. // -------------------------------------------------------------------- @@ -55,6 +54,10 @@ enum G4ErrorState { G4ErrorState_PreInit = 1, G4ErrorState_Propagating, G4ErrorState_TargetCloserThanBoundary, G4ErrorState_StoppedAtTarget }; + +enum G4ErrorStage { G4ErrorStage_Inflation = 1, + G4ErrorStage_Deflation }; + class G4ErrorTarget; class G4ErrorPropagatorData @@ -72,6 +75,9 @@ public: // with description G4ErrorState GetState() const; void SetState( G4ErrorState sta ); + G4ErrorStage GetStage() const; + void SetStage( G4ErrorStage sta ); + const G4ErrorTarget* GetTarget( G4bool mustExist = 0) const; void SetTarget( const G4ErrorTarget* target ); @@ -93,6 +99,8 @@ private: G4ErrorState theState; + G4ErrorStage theStage; + G4ErrorTarget* theTarget; static G4int theVerbosity; diff --git a/source/global/management/include/G4ErrorPropagatorData.icc b/source/global/management/include/G4ErrorPropagatorData.icc index 1708b955b2..f6b0c841a6 100644 --- a/source/global/management/include/G4ErrorPropagatorData.icc +++ b/source/global/management/include/G4ErrorPropagatorData.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ErrorPropagatorData.icc,v 1.4 2007/06/08 10:33:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ErrorPropagatorData.icc,v 1.5 2009/05/14 13:46:40 arce Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // Class G4ErrorPropagatorData inline implementation @@ -57,6 +57,18 @@ G4ErrorState G4ErrorPropagatorData::GetState() const return theState; } +inline +void G4ErrorPropagatorData::SetStage( G4ErrorStage sta ) +{ + theStage = sta; +} + +inline +G4ErrorStage G4ErrorPropagatorData::GetStage() const +{ + return theStage; +} + inline const G4ErrorTarget* G4ErrorPropagatorData::GetTarget( G4bool mustExist ) const { diff --git a/source/global/management/include/G4LPhysicsFreeVector.icc b/source/global/management/include/G4LPhysicsFreeVector.icc index b23df860df..1f1629f9a7 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.icc +++ b/source/global/management/include/G4LPhysicsFreeVector.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LPhysicsFreeVector.icc,v 1.13 2008/09/22 08:26:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LPhysicsFreeVector.icc,v 1.14 2009/06/25 10:05:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // ------------------------------------------------------------------ @@ -51,7 +51,7 @@ void G4LPhysicsFreeVector::PutValues(size_t binNumber, dataVector[binNumber] = dataValue; if(binNumber == 0) { edgeMin = binValue; } - else if( numberOfBin - 1 == binNumber) + else if( numberOfNodes - 1 == binNumber) { edgeMax = binValue; } } @@ -83,8 +83,8 @@ inline size_t G4LPhysicsFreeVector::FindBinLocation(G4double theEnergy) const { G4int n1 = 0; - G4int n2 = numberOfBin/2; - G4int n3 = numberOfBin - 1; + G4int n2 = numberOfNodes/2; + G4int n3 = numberOfNodes - 1; while (n1 != n3 - 1) { if (theEnergy > binVector[n2]) diff --git a/source/global/management/include/G4PhysicsFreeVector.hh b/source/global/management/include/G4PhysicsFreeVector.hh index 9f86d10aeb..b1ce4b9823 100644 --- a/source/global/management/include/G4PhysicsFreeVector.hh +++ b/source/global/management/include/G4PhysicsFreeVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsFreeVector.hh,v 1.12 2008/09/22 14:49:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsFreeVector.hh,v 1.13 2009/06/25 10:05:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //-------------------------------------------------------------------- @@ -107,7 +107,7 @@ size_t G4PhysicsFreeVector::FindBinLocation(G4double theEnergy) const // be invoked. (See R.B.Murray, "C++ Strategies and Tactics", Chap.6.6) size_t lowerBound = 0; - size_t upperBound = numberOfBin-1; + size_t upperBound = numberOfNodes-2; while (lowerBound <= upperBound) { diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.hh b/source/global/management/include/G4PhysicsOrderedFreeVector.hh index 99ae1dfbcb..2edd6abdb5 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.hh +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsOrderedFreeVector.hh,v 1.11 2008/09/22 14:49:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsOrderedFreeVector.hh,v 1.12 2009/06/25 10:05:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Definition @@ -85,7 +85,7 @@ class G4PhysicsOrderedFreeVector : public G4PhysicsVector // Methods //////////// - void InsertValues(G4double energy, G4double value); + void InsertValues(G4double energy, G4double value); G4double GetLowEdgeEnergy(size_t binNumber) const; diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.icc b/source/global/management/include/G4PhysicsOrderedFreeVector.icc index a0696ebf99..0bea151611 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.icc +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsOrderedFreeVector.icc,v 1.8 2006/06/29 19:02:31 gunter Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsOrderedFreeVector.icc,v 1.9 2009/06/25 10:05:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Inline Functions Definitions @@ -72,7 +72,7 @@ G4double G4PhysicsOrderedFreeVector::GetMinLowEdgeEnergy() inline void G4PhysicsOrderedFreeVector::DumpValues() { - for (size_t i = 0; i < numberOfBin; i++) + for (size_t i = 0; i < numberOfNodes; i++) { G4cout << binVector[i] << "\t" << dataVector[i] << G4endl; } @@ -82,8 +82,8 @@ inline size_t G4PhysicsOrderedFreeVector::FindBinLocation(G4double theEnergy) const { G4int n1 = 0; - G4int n2 = numberOfBin/2; - G4int n3 = numberOfBin - 1; + G4int n2 = numberOfNodes/2; + G4int n3 = numberOfNodes - 1; while (n1 != n3 - 1) { if (theEnergy > binVector[n2]) diff --git a/source/global/management/include/G4PhysicsVector.hh b/source/global/management/include/G4PhysicsVector.hh index 26f6e84bed..aa1ef7a151 100644 --- a/source/global/management/include/G4PhysicsVector.hh +++ b/source/global/management/include/G4PhysicsVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsVector.hh,v 1.18 2008/09/22 08:26:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsVector.hh,v 1.25 2009/11/04 11:32:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //--------------------------------------------------------------- @@ -50,6 +50,8 @@ // 11 Nov. 2000, H.Kurashige : Use STL vector for dataVector and binVector // 09 Mar. 2001, H.Kurashige : Added G4PhysicsVectorType & Store/Retrieve() // 02 Apr. 2008, A.Bagulya : Added SplineInterpolation() and SetSpline() +// 11 May 2009, V.Ivanchenko : Added ComputeSecondDerivatives +// 19 Jun. 2009, V.Ivanchenko : Removed hidden bin // //--------------------------------------------------------------- @@ -83,46 +85,80 @@ class G4PhysicsVector virtual ~G4PhysicsVector(); // destructor - inline G4double GetValue(G4double theEnergy, G4bool& isOutRange); + inline G4double Value(G4double theEnergy); // Get the cross-section/energy-loss value corresponding to the // given energy. An appropriate interpolation is used to calculate // the value. - // [Note] isOutRange is not used anymore. This argument is kept - // for the compatibility reason. + + inline G4double GetValue(G4double theEnergy, G4bool& isOutRange); + // Obolete method to get value, isOutRange is not used anymore. + // This method is kept for the compatibility reason. G4int operator==(const G4PhysicsVector &right) const ; G4int operator!=(const G4PhysicsVector &right) const ; + inline G4double operator[](const size_t binNumber) const ; // Returns simply the value in the bin specified by 'binNumber' - // of the dataVector. The boundary check will be Done. If you - // don't want this check, use the operator (). + // of the dataVector. The boundary check will not be done. + inline G4double operator()(const size_t binNumber) const ; // Returns simply the value in the bin specified by 'binNumber' - // of the dataVector. The boundary check will not be Done. If - // you want this check, use the operator []. + // of the dataVector. The boundary check will not be Done. - inline void PutValue(size_t binNumber, G4double theValue); + inline void PutValue(size_t index, G4double theValue); // Put 'theValue' into the bin specified by 'binNumber'. - // Take note that the 'binNumber' starts from '0'. - // To fill the vector, you have beforehand to Construct a vector + // Take note that the 'index' starts from '0'. + // To fill the vector, you have beforehand to construct a vector // by the constructor with Emin, Emax, Nbin. 'theValue' should - // be the crosssection/energyloss value corresponding to the low - // edge energy of the bin specified by 'binNumber'. You can get - // the low edge energy value of a bin by GetLowEdgeEnergy(). + // be the crosssection/energyloss value corresponding to the + // energy of the index. You can get this energy by the next method + // or by the old method GetLowEdgeEnergy(). + + void ScaleVector(G4double factorE, G4double factorV); + // Scale all values of the vector and second derivatives + // by factorV, energies by vectorE. This method may be applied + // for example after Retrieve a vector from an external file to + // convert values into Geant4 units + + inline G4double Energy(size_t index) const; + // Returns simply the value in the energy specified by 'index' + // of the energy vector. The boundary check will not be done. + // Use this function when you fill physis vector by PutValue(). + virtual G4double GetLowEdgeEnergy(size_t binNumber) const; + // Obsolete method // Get the energy value at the low edge of the specified bin. // Take note that the 'binNumber' starts from '0'. - // This value is defined when a physics vector is constructed - // by a constructor of a derived class. Use this function - // when you fill physis vector by PutValue(). + // This value should be defined before the call. + // The boundary check will not be done. + inline size_t GetVectorLength() const; // Get the toal length (bin number) of the vector. + + void FillSecondDerivatives(); + // Initialise second derivatives for spline keeping + // 3d derivative continues - default algorithm + + void ComputeSecDerivatives(); + // Initialise second derivatives for spline using algorithm + // which garantee only 1st derivative continues + // Warning: this method should be called when the vector + // is already filled + + void ComputeSecondDerivatives(G4double firstPointDerivative, + G4double endPointDerivative); + // Initialise second derivatives for spline using + // user defined 1st derivatives at edge points + // Warning: this method should be called when the vector + // is already filled + inline G4bool IsFilledVectorExist() const; // Is non-empty physics vector already exist? inline void PutComment(const G4String& theComment); // Put a comment to the G4PhysicsVector. This may help to check // whether your are accessing to the one you want. + inline const G4String& GetComment() const; // Retrieve the comment of the G4PhysicsVector. @@ -153,19 +189,23 @@ class G4PhysicsVector G4PhysicsVectorType type; // The type of PhysicsVector (enumerator) - G4double edgeMin; // Lower edge value of the lowest bin - G4double edgeMax; // Lower edge value of the highest bin - size_t numberOfBin; + G4double edgeMin; // Energy of first point + G4double edgeMax; // Energy of the last point + + size_t numberOfNodes; G4double lastEnergy; // Cache the last input value G4double lastValue; // Cache the last output value size_t lastBin; // Cache the last bin location G4PVDataVector dataVector; // Vector to keep the crossection/energyloss - G4PVDataVector binVector; // Vector to keep the low edge value of bin + G4PVDataVector binVector; // Vector to keep energy + G4PVDataVector secDerivative; // Vector to keep second derivatives private: + G4bool SplinePossible(); + inline G4double LinearInterpolation(); // Linear interpolation function inline G4double SplineInterpolation(); @@ -173,11 +213,6 @@ class G4PhysicsVector inline void Interpolation(); - void FillSecondDerivatives(); - // Initialise second derivatives for spline - - G4double* secDerivative; - G4String comment; G4bool useSpline; }; diff --git a/source/global/management/include/G4PhysicsVector.icc b/source/global/management/include/G4PhysicsVector.icc index baac44da9a..cc92120ed8 100644 --- a/source/global/management/include/G4PhysicsVector.icc +++ b/source/global/management/include/G4PhysicsVector.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsVector.icc,v 1.17 2008/09/22 08:26:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4PhysicsVector.icc,v 1.23 2009/11/18 11:42:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //--------------------------------------------------------------- @@ -58,10 +58,18 @@ inline //--------------------------------------------------------------- +inline + G4double G4PhysicsVector::Energy(const size_t binNumber) const +{ + return binVector[binNumber]; +} + +//--------------------------------------------------------------- + inline size_t G4PhysicsVector::GetVectorLength() const { - return numberOfBin; + return numberOfNodes; } //--------------------------------------------------------------- @@ -93,21 +101,23 @@ inline // the following interpolation is valid even the current locBin= // numberOfBin-1. - if( !secDerivative ) { FillSecondDerivatives(); } + if(0 == secDerivative.size() ) { FillSecondDerivatives(); } // check bin value - G4double delta = binVector[lastBin+1] - binVector[lastBin]; + G4double x1 = binVector[lastBin]; + G4double x2 = binVector[lastBin+1]; + G4double delta = x2 - x1; - G4double a = (binVector[lastBin+1] - lastEnergy)/delta; - G4double b = (lastEnergy - binVector[lastBin])/delta; + G4double a = (x2 - lastEnergy)/delta; + G4double b = (lastEnergy - x1)/delta; // Final evaluation of cubic spline polynomial for return G4double y1 = dataVector[lastBin]; G4double y2 = dataVector[lastBin+1]; G4double res = a*y1 + b*y2 + - ((a*a*a - a)*secDerivative[lastBin] + - (b*b*b - b)*secDerivative[lastBin+1])*delta*delta/6.0 ; + ( (a*a*a - a)*secDerivative[lastBin] + + (b*b*b - b)*secDerivative[lastBin+1] )*delta*delta/6.0; return res; } @@ -116,6 +126,14 @@ inline inline G4double G4PhysicsVector::GetValue(G4double theEnergy, G4bool&) +{ + return Value(theEnergy); +} + +//--------------------------------------------------------------- + +inline + G4double G4PhysicsVector::Value(G4double theEnergy) { // Use cache for speed up - check if the value 'theEnergy' is same as the // last call. If it is same, then use the last bin location. Also the @@ -133,18 +151,14 @@ inline lastEnergy = edgeMin; lastValue = dataVector[0]; - } else if(theEnergy < lastEnergy && theEnergy >= binVector[lastBin-1]) { - lastBin--; - lastEnergy = theEnergy; - Interpolation(); - } else if( theEnergy >= edgeMax ){ - lastBin = numberOfBin-1; + lastBin = numberOfNodes-2; lastEnergy = edgeMax; - lastValue = dataVector[lastBin]; + lastValue = dataVector[numberOfNodes-1]; } else { lastBin = FindBinLocation(theEnergy); + if(lastBin >= numberOfNodes-1) {lastBin = numberOfNodes-2;} lastEnergy = theEnergy; Interpolation(); } @@ -166,11 +180,6 @@ inline void G4PhysicsVector::PutValue(size_t binNumber, G4double theValue) { dataVector[binNumber] = theValue; - - // Fill the bin which is hidden to user with theValue. This is to - // handle correctly when Energy=theEmax in getValue. - - if(binNumber==numberOfBin-1) { dataVector[binNumber+1] = theValue; } } //--------------------------------------------------------------- @@ -180,7 +189,7 @@ inline { G4bool status=false; - if(numberOfBin > 0) { status=true; } + if(numberOfNodes > 0) { status=true; } return status; } diff --git a/source/global/management/include/G4Pow.hh b/source/global/management/include/G4Pow.hh new file mode 100644 index 0000000000..9dcdab728d --- /dev/null +++ b/source/global/management/include/G4Pow.hh @@ -0,0 +1,190 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4Pow.hh,v 1.2 2009/07/03 11:35:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ +// +// +// ------------------------------------------------------------------- +// +// Class G4Pow +// +// Class description: +// +// Utility singleton class for the fast computation of log and pow +// functions + +// Author: Vladimir Ivanchenko +// +// Creation date: 23.05.2009 +// ------------------------------------------------------------------- + +#ifndef G4Pow_h +#define G4Pow_h 1 + +#include "globals.hh" +#include "G4DataVector.hh" + +class G4Pow +{ + + public: + + static G4Pow* GetInstance(); + + // Fast computation of Z^1/3 + // + inline G4double Z13(G4int Z); + inline G4double A13(G4double A); + + // Fast computation of Z^2/3 + // + inline G4double Z23(G4int Z); + inline G4double A23(G4double A); + + // Fast computation of log(Z) + // + inline G4double logZ(G4int Z); + inline G4double logA(G4double A); + + // Fast computation of log10(Z) + // + inline G4double log10Z(G4int Z); + inline G4double log10A(G4double A); + + // Fast computation of pow(Z,X) + // + inline G4double powZ(G4int Z, G4double y); + inline G4double powA(G4double A, G4double y); + + // Fast factorial + // + inline G4double factorial(G4int Z); + + private: + + G4Pow(); + ~G4Pow(); + + private: + + static G4Pow* fInstance; + + G4double onethird; + + G4DataVector pz13; + G4DataVector lz; + G4DataVector fact; +}; + +// ------------------------------------------------------------------- + +inline G4double G4Pow::Z13(G4int Z) +{ + return pz13[Z]; +} + +inline G4double G4Pow::A13(G4double A) +{ + const G4int maxZ = 256; + + G4double res; + G4int i = G4int(A + 0.5); + if((i >= 1) && (i < maxZ)) + { + G4double x = (1.0 - A/G4double(i))*onethird; + res = pz13[i]*(1.0 + x - x*x*(1.0 - 1.66666666*x)); + } + else + { + res = std::pow(A, onethird); + } + return res; +} + +inline G4double G4Pow::Z23(G4int Z) +{ + G4double x = Z13(Z); + return x*x; +} + +inline G4double G4Pow::A23(G4double A) +{ + G4double x = A13(A); + return x*x; +} + +inline G4double G4Pow::logZ(G4int Z) +{ + return lz[Z]; +} + +inline G4double G4Pow::logA(G4double A) +{ + const G4int maxZ = 256; + + G4double res; + G4int i = G4int(A + 0.5); + if((i >= 1) && (i < maxZ)) + { + G4double x = 1.0 - A/G4double(i); + res = lz[i] + x*(1.0 - 0.5*x + onethird*x*x); + } + else + { + res = std::log(A); + } + return res; +} + +inline G4double G4Pow::log10Z(G4int Z) +{ + return lz[Z]/lz[10]; +} + +inline G4double G4Pow::log10A(G4double A) +{ + return logA(A)/lz[10]; +} + +inline G4double G4Pow::powZ(G4int Z, G4double y) +{ + return std::exp(y*lz[Z]); +} + +inline G4double G4Pow::powA(G4double A, G4double y) +{ + return std::exp(y*logA(A)); +} + +inline G4double G4Pow::factorial(G4int Z) +{ + return fact[Z]; +} + +// ------------------------------------------------------------------- + +#endif + diff --git a/source/global/management/include/G4String.hh b/source/global/management/include/G4String.hh index 0b1461b84c..74034bd27d 100644 --- a/source/global/management/include/G4String.hh +++ b/source/global/management/include/G4String.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4String.hh,v 1.10 2008/12/08 14:16:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4String.hh,v 1.15 2009/08/10 10:18:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //--------------------------------------------------------------- @@ -77,9 +77,9 @@ public: inline G4int operator!() const; - inline G4bool operator==(G4String) const; + inline G4bool operator==(const G4String&) const; inline G4bool operator==(const char*) const; - inline G4bool operator!=(G4String) const; + inline G4bool operator!=(const G4String&) const; inline G4bool operator!=(const char*) const; inline str_size length() const; @@ -137,7 +137,6 @@ public: inline G4bool operator!=(const G4String&) const; inline G4bool operator!=(const char*) const; - //inline G4String operator () (unsigned int, unsigned int); inline operator const char*() const; inline G4SubString operator()(str_size, str_size); @@ -159,7 +158,7 @@ public: inline G4int first(char) const; inline G4int last(char) const; - inline G4bool contains(std::string) const; + inline G4bool contains(const std::string&) const; inline G4bool contains(char) const; // stripType = 0 beginning @@ -183,11 +182,6 @@ public: inline unsigned int hash( caseCompare cmp = exact ) const; inline unsigned int stlhash() const; - - // useful for supplying hash functions to template hash collection ctors - // - static inline unsigned int hash(const G4String&); - }; #include "G4String.icc" diff --git a/source/global/management/include/G4String.icc b/source/global/management/include/G4String.icc index 6e3e60770b..01310e7e14 100644 --- a/source/global/management/include/G4String.icc +++ b/source/global/management/include/G4String.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4String.icc,v 1.11 2008/12/08 14:16:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4String.icc,v 1.19 2009/08/10 10:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // //--------------------------------------------------------------- @@ -90,27 +90,27 @@ char G4SubString::operator[](str_size i) const G4int G4SubString::operator!() const { - return extent==0 ? 1 : 0; + return (extent==0) ? 1 : 0; } -G4bool G4SubString::operator==(G4String s) const +G4bool G4SubString::operator==(const G4String& s) const { - return mystring->substr(mystart,extent) == s ? true:false; + return (mystring->find(s,mystart,extent) != std::string::npos); } G4bool G4SubString::operator==(const char* s) const { - return mystring->substr(mystart,extent) == std::string(s) ? true:false; + return (mystring->find(s,mystart,extent) != std::string::npos); } -G4bool G4SubString::operator!=(G4String s) const +G4bool G4SubString::operator!=(const G4String& s) const { - return mystring->substr(mystart,extent) != std::string(s) ? true:false; + return (mystring->find(s,mystart,extent) == std::string::npos); } G4bool G4SubString::operator!=(const char* s) const { - return mystring->substr(mystart,extent) != std::string(s) ? true:false; + return (mystring->find(s,mystart,extent) == std::string::npos); } str_size G4SubString::length() const @@ -125,7 +125,7 @@ str_size G4SubString::start() const G4bool G4SubString::isNull() const { - return extent==0 ? true : false; + return (extent==0); } // ************************************************************** @@ -218,30 +218,22 @@ G4String& G4String::operator+=(const char &c) G4bool G4String::operator==(const G4String &s) const { - const std_string *a=this; - const std_string *b=&s; - return *a==*b; + return (std_string::compare(s) == 0); } G4bool G4String::operator==(const char* s) const { - const std_string *a=this; - const std_string b=s; - return *a==b; + return (std_string::compare(s) == 0); } G4bool G4String::operator!=(const G4String &s) const { - const std_string *a=this; - const std_string *b=&s; - return *a!=*b; + return !(*this == s); } G4bool G4String::operator!=(const char* s) const { - const std_string *a=this; - const std_string b=s; - return *a!=b; + return !(*this == s); } G4String::operator const char*() const @@ -267,18 +259,14 @@ G4int G4String::strcasecompare(const char* s1, const char* s2) const G4int G4String::compareTo(const char* s, caseCompare mode) { - if(mode==exact) - { return strcmp(c_str(),s); } - else - { return strcasecompare(c_str(),s); } + return (mode==exact) ? strcmp(c_str(),s) + : strcasecompare(c_str(),s); } G4int G4String::compareTo(const G4String& s, caseCompare mode) { - if(mode==exact) - { return strcmp(c_str(),s.c_str()); } - else - { return strcasecompare(c_str(),s.c_str()); } + return (mode==exact) ? strcmp(c_str(),s.c_str()) + : strcasecompare(c_str(),s.c_str()); } G4String& G4String::prepend (const char* str) @@ -297,12 +285,14 @@ std::istream& G4String::readLine (std::istream& s, G4bool skipWhite) { char tmp[1024]; - if ( skipWhite ) { + if ( skipWhite ) + { s >> std::ws; s.getline(tmp,1024); *this=tmp; } - else { + else + { s.getline(tmp,1024); *this=tmp; } @@ -324,8 +314,7 @@ G4String& G4String::replace(str_size pos, str_size n, const char* s) G4String& G4String::remove(str_size n) { - if(n patch number #ifndef G4VERSION_NUMBER -#define G4VERSION_NUMBER 920 +#define G4VERSION_NUMBER 930 #endif #ifndef G4VERSION_TAG -#define G4VERSION_TAG "$Name: geant4-09-02 $" +#define G4VERSION_TAG "$Name: geant4-09-03 $" #endif // as variables #include "G4String.hh" -static const G4String G4Version = "$Name: geant4-09-02 $"; -static const G4String G4Date = "(19-December-2008)"; +static const G4String G4Version = "$Name: geant4-09-03 $"; +static const G4String G4Date = "(18-December-2009)"; #endif diff --git a/source/global/management/src/G4ErrorPropagatorData.cc b/source/global/management/src/G4ErrorPropagatorData.cc index 260458fd6c..44c1855a7b 100644 --- a/source/global/management/src/G4ErrorPropagatorData.cc +++ b/source/global/management/src/G4ErrorPropagatorData.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ErrorPropagatorData.cc,v 1.3 2007/06/05 13:04:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4ErrorPropagatorData.cc,v 1.5 2009/05/19 13:31:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -42,8 +42,14 @@ G4int G4ErrorPropagatorData::theVerbosity = 0; //------------------------------------------------------------------- -G4ErrorPropagatorData::G4ErrorPropagatorData(){} -G4ErrorPropagatorData::~G4ErrorPropagatorData(){} +G4ErrorPropagatorData::~G4ErrorPropagatorData() +{ +} + +G4ErrorPropagatorData::G4ErrorPropagatorData() +{ + theStage = G4ErrorStage_Inflation; +} G4ErrorPropagatorData* G4ErrorPropagatorData::GetErrorPropagatorData() { diff --git a/source/global/management/src/G4LPhysicsFreeVector.cc b/source/global/management/src/G4LPhysicsFreeVector.cc index 225033b9af..d68e30e80c 100644 --- a/source/global/management/src/G4LPhysicsFreeVector.cc +++ b/source/global/management/src/G4LPhysicsFreeVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LPhysicsFreeVector.cc,v 1.22 2008/09/22 08:26:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-09-02 $ +// $Id: G4LPhysicsFreeVector.cc,v 1.23 2009/06/25 10:05:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-03 $ // // // -------------------------------------------------------------------- @@ -34,11 +34,13 @@ // This is a free vector for Low Energy Physics cross section data // // F.W. Jones, TRIUMF, 04-JUN-96 +// +// Modified: +// 19 Jun. 2009, V.Ivanchenko : removed hidden bin // // -------------------------------------------------------------------- #include "G4LPhysicsFreeVector.hh" - #include "G4ios.hh" // -------------------------------------------------------------------- @@ -60,10 +62,10 @@ G4LPhysicsFreeVector::G4LPhysicsFreeVector(size_t nbin, edgeMin = binmin; edgeMax = binmax; - numberOfBin = nbin; - binVector.reserve(nbin+1); - dataVector.reserve(nbin+1); - for (size_t i=0; i<=numberOfBin; i++) + numberOfNodes = nbin; + binVector.reserve(numberOfNodes); + dataVector.reserve(numberOfNodes); + for (size_t i=0; i